zengyicheng 2 年之前
父節點
當前提交
c32fc39980
共有 100 個文件被更改,包括 0 次插入41344 次删除
  1. 二進制
      src/assets/data/tu1.png
  2. 二進制
      src/assets/data/tu2.png
  3. 二進制
      src/assets/data/tu3.png
  4. 二進制
      src/assets/data/tu4.png
  5. 二進制
      src/assets/icon/firstToolList/evaluation.png
  6. 二進制
      src/assets/icon/firstToolList/mindMapping.png
  7. 二進制
      src/assets/icon/firstToolList/myMessage.png
  8. 二進制
      src/assets/icon/firstToolList/project.png
  9. 二進制
      src/assets/icon/firstToolList/study.png
  10. 二進制
      src/assets/icon/fourthToolList/AIprogram.png
  11. 二進制
      src/assets/icon/fourthToolList/AIprogram2.png
  12. 二進制
      src/assets/icon/fourthToolList/Pythonprogram.png
  13. 二進制
      src/assets/icon/fourthToolList/program.png
  14. 二進制
      src/assets/icon/pdf/nextPage.png
  15. 二進制
      src/assets/icon/pdf/nextSteps.png
  16. 二進制
      src/assets/icon/pdf/pdfBg.png
  17. 二進制
      src/assets/icon/pdf/pdfImg.png
  18. 二進制
      src/assets/icon/pdf/pdfName.png
  19. 二進制
      src/assets/icon/pdf/pdfReturn.png
  20. 二進制
      src/assets/icon/pdf/pdfTm.png
  21. 二進制
      src/assets/icon/pdf/pdfTool.png
  22. 二進制
      src/assets/icon/pdf/rUpload.png
  23. 二進制
      src/assets/icon/pdf/upLoad.png
  24. 二進制
      src/assets/icon/pj/ech.png
  25. 二進制
      src/assets/icon/pj/score.png
  26. 二進制
      src/assets/icon/secondToolList/24game.png
  27. 二進制
      src/assets/icon/secondToolList/GeoGebra.png
  28. 二進制
      src/assets/icon/secondToolList/doc.png
  29. 二進制
      src/assets/icon/secondToolList/eval.png
  30. 二進制
      src/assets/icon/secondToolList/library.png
  31. 二進制
      src/assets/icon/secondToolList/mindMapping.png
  32. 二進制
      src/assets/icon/secondToolList/mindNetwork.png
  33. 二進制
      src/assets/icon/secondToolList/mohe.png
  34. 二進制
      src/assets/icon/secondToolList/networkPanel.png
  35. 二進制
      src/assets/icon/secondToolList/note.png
  36. 二進制
      src/assets/icon/secondToolList/translation.png
  37. 二進制
      src/assets/icon/secondToolList/whiteBoard.png
  38. 二進制
      src/assets/icon/thirdToolList/answer.png
  39. 二進制
      src/assets/icon/thirdToolList/ask.png
  40. 二進制
      src/assets/icon/thirdToolList/choose.png
  41. 二進制
      src/assets/icon/thirdToolList/code.png
  42. 二進制
      src/assets/icon/thirdToolList/courseDesign.png
  43. 二進制
      src/assets/icon/thirdToolList/eval.png
  44. 二進制
      src/assets/icon/thirdToolList/evalua.png
  45. 二進制
      src/assets/icon/thirdToolList/han.png
  46. 二進制
      src/assets/icon/thirdToolList/hanClass.png
  47. 二進制
      src/assets/icon/thirdToolList/mp3.png
  48. 二進制
      src/assets/icon/thirdToolList/project.png
  49. 二進制
      src/assets/icon/thirdToolList/score.png
  50. 二進制
      src/assets/icon/thirdToolList/select.png
  51. 二進制
      src/assets/icon/thirdToolList/time.png
  52. 二進制
      src/assets/icon/thirdToolList/trainPlatform.png
  53. 二進制
      src/assets/icon/thirdToolList/translation.png
  54. 二進制
      src/assets/icon/thirdToolList/work.png
  55. 二進制
      src/assets/icon/word/classRoomIcon.png
  56. 二進制
      src/assets/icon/word/gridIcon.png
  57. 二進制
      src/assets/icon/word/noImg.png
  58. 二進制
      src/assets/icon/word/noRoom.png
  59. 二進制
      src/assets/icon/word/notice.png
  60. 二進制
      src/assets/icon/word/roomImg.png
  61. 二進制
      src/assets/icon/word/topBg.png
  62. 二進制
      src/assets/report/left_coin.png
  63. 二進制
      src/assets/report/left_coinGM.png
  64. 二進制
      src/assets/report/right_coin.png
  65. 二進制
      src/assets/report/right_coinGM.png
  66. 0 647
      src/components/pages/CaseDesign.vue
  67. 0 682
      src/components/pages/CaseDesignGM.vue
  68. 0 1632
      src/components/pages/Grid.vue
  69. 0 431
      src/components/pages/GridList.vue
  70. 0 1187
      src/components/pages/Ttype.vue
  71. 0 8185
      src/components/pages/addCourse.vue
  72. 0 8325
      src/components/pages/addCourseGM.vue
  73. 0 492
      src/components/pages/addPPt.vue
  74. 0 741
      src/components/pages/ask.vue
  75. 0 314
      src/components/pages/askList.vue
  76. 0 232
      src/components/pages/audioDemo.vue
  77. 0 585
      src/components/pages/banner.vue
  78. 0 351
      src/components/pages/class.vue
  79. 0 374
      src/components/pages/classGM.vue
  80. 0 595
      src/components/pages/classRoom.vue
  81. 0 1079
      src/components/pages/course.vue
  82. 0 446
      src/components/pages/courseDetail.vue
  83. 0 1116
      src/components/pages/courseGM.vue
  84. 0 485
      src/components/pages/data.vue
  85. 0 529
      src/components/pages/dataGM.vue
  86. 0 74
      src/components/pages/demo.vue
  87. 0 51
      src/components/pages/demoPdf.vue
  88. 0 47
      src/components/pages/demoPdf2.vue
  89. 0 449
      src/components/pages/evaluation copy.vue
  90. 0 976
      src/components/pages/evaluation.vue
  91. 0 576
      src/components/pages/library.vue
  92. 0 587
      src/components/pages/libraryGM.vue
  93. 0 1667
      src/components/pages/liveRoom(湖心亭看雪).vue
  94. 0 2541
      src/components/pages/liveRoom.vue
  95. 0 2541
      src/components/pages/liveRoomKQ.vue
  96. 0 283
      src/components/pages/note.vue
  97. 0 356
      src/components/pages/notice.vue
  98. 0 1128
      src/components/pages/student.vue
  99. 0 1165
      src/components/pages/studentGM.vue
  100. 0 475
      src/components/pages/studyLibrary.vue

二進制
src/assets/data/tu1.png


二進制
src/assets/data/tu2.png


二進制
src/assets/data/tu3.png


二進制
src/assets/data/tu4.png


二進制
src/assets/icon/firstToolList/evaluation.png


二進制
src/assets/icon/firstToolList/mindMapping.png


二進制
src/assets/icon/firstToolList/myMessage.png


二進制
src/assets/icon/firstToolList/project.png


二進制
src/assets/icon/firstToolList/study.png


二進制
src/assets/icon/fourthToolList/AIprogram.png


二進制
src/assets/icon/fourthToolList/AIprogram2.png


二進制
src/assets/icon/fourthToolList/Pythonprogram.png


二進制
src/assets/icon/fourthToolList/program.png


二進制
src/assets/icon/pdf/nextPage.png


二進制
src/assets/icon/pdf/nextSteps.png


二進制
src/assets/icon/pdf/pdfBg.png


二進制
src/assets/icon/pdf/pdfImg.png


二進制
src/assets/icon/pdf/pdfName.png


二進制
src/assets/icon/pdf/pdfReturn.png


二進制
src/assets/icon/pdf/pdfTm.png


二進制
src/assets/icon/pdf/pdfTool.png


二進制
src/assets/icon/pdf/rUpload.png


二進制
src/assets/icon/pdf/upLoad.png


二進制
src/assets/icon/pj/ech.png


二進制
src/assets/icon/pj/score.png


二進制
src/assets/icon/secondToolList/24game.png


二進制
src/assets/icon/secondToolList/GeoGebra.png


二進制
src/assets/icon/secondToolList/doc.png


二進制
src/assets/icon/secondToolList/eval.png


二進制
src/assets/icon/secondToolList/library.png


二進制
src/assets/icon/secondToolList/mindMapping.png


二進制
src/assets/icon/secondToolList/mindNetwork.png


二進制
src/assets/icon/secondToolList/mohe.png


二進制
src/assets/icon/secondToolList/networkPanel.png


二進制
src/assets/icon/secondToolList/note.png


二進制
src/assets/icon/secondToolList/translation.png


二進制
src/assets/icon/secondToolList/whiteBoard.png


二進制
src/assets/icon/thirdToolList/answer.png


二進制
src/assets/icon/thirdToolList/ask.png


二進制
src/assets/icon/thirdToolList/choose.png


二進制
src/assets/icon/thirdToolList/code.png


二進制
src/assets/icon/thirdToolList/courseDesign.png


二進制
src/assets/icon/thirdToolList/eval.png


二進制
src/assets/icon/thirdToolList/evalua.png


二進制
src/assets/icon/thirdToolList/han.png


二進制
src/assets/icon/thirdToolList/hanClass.png


二進制
src/assets/icon/thirdToolList/mp3.png


二進制
src/assets/icon/thirdToolList/project.png


二進制
src/assets/icon/thirdToolList/score.png


二進制
src/assets/icon/thirdToolList/select.png


二進制
src/assets/icon/thirdToolList/time.png


二進制
src/assets/icon/thirdToolList/trainPlatform.png


二進制
src/assets/icon/thirdToolList/translation.png


二進制
src/assets/icon/thirdToolList/work.png


二進制
src/assets/icon/word/classRoomIcon.png


二進制
src/assets/icon/word/gridIcon.png


二進制
src/assets/icon/word/noImg.png


二進制
src/assets/icon/word/noRoom.png


二進制
src/assets/icon/word/notice.png


二進制
src/assets/icon/word/roomImg.png


二進制
src/assets/icon/word/topBg.png


二進制
src/assets/report/left_coin.png


二進制
src/assets/report/left_coinGM.png


二進制
src/assets/report/right_coin.png


二進制
src/assets/report/right_coinGM.png


+ 0 - 647
src/components/pages/CaseDesign.vue

@@ -1,647 +0,0 @@
-<template>
-  <div class="cd_body">
-    <div
-      class="pb_content_body"
-      style="
-        background: #fff;
-        padding: 0px 25px;
-        box-sizing: border-box;
-        border-radius: 5px;
-        width: 95%;
-      "
-    >
-      <div class="pb_head">
-        <span>项目数据看板</span>
-      </div>
-      <div class="student_head">
-        <div class="head_left">
-          <span>筛选:</span>
-          <el-select v-model="choose" @change="getData">
-            <el-option label="默认排序" value=""> </el-option>
-            <el-option label="学校名称" value="school"> </el-option>
-            <el-option label="任务数量" value="task"> </el-option>
-            <el-option label="评价" value="eval"> </el-option>
-            <el-option label="工具" value="tool"> </el-option>
-            <el-option label="字数" value="font"> </el-option>
-          </el-select>
-          <el-input
-            v-model="search"
-            class="student_input"
-            placeholder="请输入教师名称或学校名称"
-            @input="getData"
-          ></el-input>
-        </div>
-      </div>
-    </div>
-    <div class="cd_table">
-      <el-table
-        ref="table"
-        :data="tableData"
-        border
-        :fit="true"
-        v-loading="isLoading"
-        style="width: 100%"
-        :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
-        :row-class-name="tableRowClassName"
-        class="table"
-      >
-        <el-table-column label="课程" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div style="max-height: 180px; overflow: auto">
-              <div
-                v-for="(item, index) in scope.row.course"
-                :key="index"
-                class="cd_course"
-                @click="jump(item.courseId)"
-              >
-                <el-tooltip :content="item.title">
-                  <span>{{ item.title }}</span>
-                </el-tooltip>
-              </div>
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="学校"
-          prop="school"
-          min-width="15"
-          align="center"
-        >
-        </el-table-column>
-        <el-table-column
-          label="负责人"
-          prop="username"
-          min-width="15"
-          align="center"
-        >
-        </el-table-column>
-        <el-table-column label="更新时间" prop="time" min-width="15" align="center">
-          </el-table-column>
-        <el-table-column label="总计" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div class="cd_d_span">
-              <div>
-                <div>
-                  <span>{{ scope.row.jdz.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jdz.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jdz.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jdz.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column label="阶段1" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div v-if="scope.row.jd1">
-              <div class="cd_d_span">
-                <div>
-                  <span>{{ scope.row.jd1.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd1.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd1.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd1.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-            <div v-else>—</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="阶段2" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div v-if="scope.row.jd2">
-              <div class="cd_d_span">
-                <div>
-                  <span>{{ scope.row.jd2.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd2.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd2.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd2.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-            <div v-else>—</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="阶段3" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div v-if="scope.row.jd3">
-              <div class="cd_d_span">
-                <div>
-                  <span>{{ scope.row.jd3.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd3.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd3.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd3.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-            <div v-else>—</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="阶段4" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div v-if="scope.row.jd4">
-              <div class="cd_d_span">
-                <div>
-                  <span>{{ scope.row.jd4.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd4.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd4.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd4.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-            <div v-else>—</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="阶段5" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div v-if="scope.row.jd5">
-              <div class="cd_d_span">
-                <div>
-                  <span>{{ scope.row.jd5.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd5.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd5.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd5.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-            <div v-else>—</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="阶段6" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div v-if="scope.row.jd6">
-              <div class="cd_d_span">
-                <div>
-                  <span>{{ scope.row.jd6.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd6.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd6.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd6.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-            <div v-else>—</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="操作" min-width="15">
-          <template slot-scope="scope">
-            <!-- <div
-              @click="getAll(scope.row)"
-            >
-              查看全部
-            </div> -->
-            <el-button type="primary" size="small" @click="getAll(scope.row)"
-              >查看详情</el-button
-            >
-          </template>
-        </el-table-column>
-      </el-table>
-    </div>
-    <el-dialog
-      title="查看"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="620px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div v-if="dataArray.length">
-        <div class="cd_d_box">
-          <span>教师:</span><span>{{ data.username }}</span>
-        </div>
-        <div class="cd_d_box">
-          <span>学校:</span><span>{{ data.school }}</span>
-        </div>
-        <div class="cd_d_jd">
-          <div
-            v-for="(item, index) in dataArray"
-            :key="index"
-            class="cd_d_jd_box"
-          >
-            <div class="cd_d_jd_name">{{ "阶段" + (index + 1) }}</div>
-            <div class="cd_d_jd_content cd_d_span">
-              <div>
-                <span>{{ data[item].taskC }}</span
-                ><span>任务</span>
-              </div>
-              <div>
-                <span>{{ data[item].toolC }}</span
-                ><span>工具</span>
-              </div>
-              <div>
-                <span>{{ data[item].evalC }}</span
-                ><span>评价</span>
-              </div>
-              <div>
-                <span>{{ data[item].fontC }}</span
-                ><span>字</span>
-              </div>
-            </div>
-          </div>
-          <div class="cd_d_jd_box">
-            <div class="cd_d_jd_name">总计</div>
-            <div class="cd_d_jd_content cd_d_span" style="background: #d4d4d4">
-              <div>
-                <span>{{ data["jdz"].taskC }}</span
-                ><span>任务</span>
-              </div>
-              <div>
-                <span>{{ data["jdz"].toolC }}</span
-                ><span>工具</span>
-              </div>
-              <div>
-                <span>{{ data["jdz"].evalC }}</span
-                ><span>评价</span>
-              </div>
-              <div>
-                <span>{{ data["jdz"].fontC }}</span
-                ><span>字</span>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">关闭</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      tableData: [],
-      isLoading: false,
-      org: this.$route.query.org,
-      timer: null,
-      dialogVisible: false,
-      data: {},
-      dataArray: [],
-      choose: "",
-      search: "",
-    };
-  },
-  methods: {
-    jump(cid) {
-      window.parent.postMessage({ cid: cid, screenType: "3" }, "*");
-    },
-    handleClose(done) {
-      done();
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    getData() {
-      let params = {
-        org: this.org,
-        // this.org
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectCase", params)
-        .then((res) => {
-          this.isLoading = false;
-          let _res = res.data[0];
-          let _res2 = res.data[1];
-          for (var i = 0; i < _res.length; i++) {
-            let taskC = 0;
-            let toolC = 0;
-            let evalC = 0;
-            let fontC = 0;
-            let course = [];
-            for (var j = 0; j < _res2.length; j++) {
-              if (_res[i].userid == _res2[j].userid) {
-                course.push({
-                  title: _res2[j].title,
-                  courseId: _res2[j].courseId,
-                });
-                var _chapter = JSON.parse(_res2[j].chapters);
-                for (var k = 0; k < _chapter.length; k++) {
-                  let taskC2 = 0;
-                  let toolC2 = 0;
-                  let evalC2 = 0;
-                  let fontC2 = 0;
-                  fontC2 += _chapter[k].dyName.length;
-                  taskC2 = _chapter[k].chapterInfo[0].taskJson.length;
-                  let _tasks = _chapter[k].chapterInfo[0].taskJson;
-                  for (var task = 0; task < _tasks.length; task++) {
-                    if (_tasks[task].eList) {
-                      evalC2 += _tasks[task].eList.length;
-                    }
-                    if (_tasks[task].toolChoose[0].tool.length > 0) {
-                      toolC2 += _tasks[task].toolChoose.length;
-                    }
-                    fontC2 += _tasks[task].task.length;
-                    fontC2 += _tasks[task].taskDetail
-                      .replace(/<[^<>]+>/g, "")
-                      .replace(/&nbsp;/gi, "").length;
-                    let _tools = _tasks[task].toolChoose;
-                    for (var tool = 0; tool < _tools.length; tool++) {
-                      fontC2 += _tools[tool].toolDetail.length;
-                    }
-                  }
-                  if (_res[i]["jd" + (k + 1)]) {
-                    _res[i]["jd" + (k + 1)].taskC += taskC2;
-                    _res[i]["jd" + (k + 1)].toolC += toolC2;
-                    _res[i]["jd" + (k + 1)].evalC += evalC2;
-                    _res[i]["jd" + (k + 1)].fontC += fontC2;
-                  } else {
-                    _res[i]["jd" + (k + 1)] = {};
-                    _res[i]["jd" + (k + 1)].taskC = taskC2;
-                    _res[i]["jd" + (k + 1)].toolC = toolC2;
-                    _res[i]["jd" + (k + 1)].evalC = evalC2;
-                    _res[i]["jd" + (k + 1)].fontC = fontC2;
-                  }
-                  taskC += taskC2;
-                  toolC += toolC2;
-                  evalC += evalC2;
-                  fontC += fontC2;
-                }
-              }
-              _res[i]["jdz"] = {};
-              _res[i]["jdz"].taskC = taskC;
-              _res[i]["jdz"].toolC = toolC;
-              _res[i]["jdz"].evalC = evalC;
-              _res[i]["jdz"].fontC = fontC;
-              _res[i].course = course;
-            }
-          }
-          if (this.search) {
-            _res = _res.filter((a) => {
-              return (
-                a.school.indexOf(this.search) != -1 ||
-                a.username.indexOf(this.search) != -1
-              );
-            });
-          }
-          if (this.choose == "school") {
-            let array = _res.sort(function (a, b) {
-              return a.school.localeCompare(b.school);
-            });
-            this.tableData = array;
-          } else if (this.choose == "task") {
-            let array = _res.sort(function (a, b) {
-              //   return a.jdz.taskC - b.jdz.taskC;
-              return b.jdz.taskC - a.jdz.taskC;
-            });
-            this.tableData = array;
-          } else if (this.choose == "font") {
-            let array = _res.sort(function (a, b) {
-              //   return a.jdz.fontC - b.jdz.fontC;
-              return b.jdz.fontC - a.jdz.fontC;
-            });
-            this.tableData = array;
-          } else if (this.choose == "eval") {
-            let array = _res.sort(function (a, b) {
-              //   return a.jdz.fontC - b.jdz.fontC;
-              return b.jdz.evalC - a.jdz.evalC;
-            });
-            this.tableData = array;
-          } else if (this.choose == "tool") {
-            let array = _res.sort(function (a, b) {
-              //   return a.jdz.fontC - b.jdz.fontC;
-              return b.jdz.toolC - a.jdz.toolC;
-            });
-            this.tableData = array;
-          } else {
-            this.tableData = _res;
-          }
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    getAll(res) {
-      this.data = res;
-      let a = Object.keys(res);
-      a = a.filter((el) => {
-        return el.indexOf("jd") != -1 && el != "jdz";
-      });
-      this.dataArray = a;
-      this.dialogVisible = true;
-    },
-  },
-  beforeDestroy() {
-    clearInterval(this.timer);
-    this.timer = null;
-  },
-  mounted() {
-    this.isLoading = true;
-    this.getData();
-    this.timer = setInterval(() => {
-      this.getData();
-    }, 5000);
-  },
-};
-</script>
-
-<style scoped>
-.student_input {
-  width: 190px;
-  font-size: 13px;
-  padding: 0 10px;
-}
-.cd_body {
-  height: 100%;
-  width: 100%;
-}
-.pb_head {
-  margin: 0 !important;
-  width: 100% !important;
-}
-.student_head {
-  margin-top: 10px;
-  padding-bottom: 10px;
-  display: flex;
-  justify-content: space-between;
-}
-.head_left {
-  display: flex;
-  align-items: center;
-}
-.cd_title span {
-  font-size: 25px;
-  font-weight: 700;
-}
-.cd_table {
-  width: 95%;
-  margin: 0 auto;
-  padding: 0 0 10px;
-}
-
-.el-table >>> .even_row {
-  background-color: #f1f1f1 !important;
-}
-.dialog_diy >>> .el-dialog {
-  background: #fafafa;
-}
-.dialog_diy >>> .el-dialog__header {
-  background: #3d67bc !important;
-  padding: 15px 20px;
-}
-.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;
-}
-
-.cd_d_box {
-  font-size: 16px;
-}
-.cd_d_box + .cd_d_box {
-  margin-top: 10px;
-}
-
-.cd_d_jd {
-  display: flex;
-  flex-wrap: wrap;
-  margin-top: 10px;
-}
-.cd_d_jd_box {
-  width: 100px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  /* background: #eee; */
-  border-radius: 5px;
-  margin: 10px 15px 0 0;
-}
-.cd_d_jd_box {
-}
-.cd_d_jd_content {
-  width: 100px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  background: #eee;
-  border-radius: 5px;
-  padding: 5px 0;
-}
-.cd_d_jd_content div + div {
-  margin-top: 5px;
-}
-
-.cd_d_jd_content div span + span {
-  margin-left: 5px;
-}
-.cd_d_jd_name {
-  margin-bottom: 5px;
-  color: #184ebd;
-}
-.cd_d_span div:nth-child(1) span:nth-child(1) {
-  color: #3887fe;
-}
-.cd_d_span div:nth-child(2) span:nth-child(1) {
-  color: #fe3987;
-}
-.cd_d_span div:nth-child(3) span:nth-child(1) {
-  color: #10bb6e;
-}
-
-.cd_d_span div:nth-child(4) span:nth-child(1) {
-  color: #3887fe;
-}
-.cd_d_span div span:nth-child(1) {
-  margin-right: 5px;
-}
-
-.cd_course {
-  cursor: pointer;
-  width: 100%;
-  display: flex;
-}
-.cd_course span {
-  width: 100%;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.table >>> .cell{
-  padding: 0px 3px !important;
-}
-/* .table >>> .el-table .cell, .table >>> .el-table--border td:first-child .cell, .table >>> .el-table--border th:first-child .cell{
-  padding: 0 3px;
-} */
-</style>

+ 0 - 682
src/components/pages/CaseDesignGM.vue

@@ -1,682 +0,0 @@
-<template>
-  <div class="cd_body" style="overflow: auto">
-    <div
-      class="pb_content_body"
-      style="
-        background: #fff;
-        padding: 0px 25px;
-        box-sizing: border-box;
-        width: 95%;
-        margin: 10px auto 0;
-      "
-    >
-      <div class="pb_head">
-        <img
-          src="../../assets/case.png"
-          style="margin-right: 10px; width: 45px;"
-          alt=""
-        />
-        <span>项目数据看板</span>
-      </div>
-      <div class="student_head">
-        <div class="head_left">
-          <span>筛选:</span>
-          <el-select v-model="choose" @change="getData">
-            <el-option label="默认排序" value=""> </el-option>
-            <el-option label="学校名称" value="school"> </el-option>
-            <el-option label="任务数量" value="task"> </el-option>
-            <el-option label="评价" value="eval"> </el-option>
-            <el-option label="工具" value="tool"> </el-option>
-            <el-option label="字数" value="font"> </el-option>
-          </el-select>
-          <el-input
-            v-model="search"
-            class="student_input"
-            placeholder="请输入教师名称或学校名称"
-            @input="getData"
-          ></el-input>
-        </div>
-      </div>
-    </div>
-    <div class="cd_table">
-      <el-table
-        ref="table"
-        :data="tableData"
-        border
-        :fit="true"
-        v-loading="isLoading"
-        style="width: 100%"
-        :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
-        :row-class-name="tableRowClassName"
-        class="table"
-      >
-        <el-table-column label="课程" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div style="max-height: 180px; overflow: auto">
-              <div
-                v-for="(item, index) in scope.row.course"
-                :key="index"
-                class="cd_course"
-                @click="jump(item.courseId)"
-              >
-                <el-tooltip :content="item.title">
-                  <span>{{ item.title }}</span>
-                </el-tooltip>
-              </div>
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="学校"
-          prop="school"
-          min-width="15"
-          align="center"
-        >
-        </el-table-column>
-        <el-table-column
-          label="负责人"
-          prop="username"
-          min-width="15"
-          align="center"
-        >
-        </el-table-column>
-        <el-table-column
-          label="更新时间"
-          prop="time"
-          min-width="15"
-          align="center"
-        >
-        </el-table-column>
-        <el-table-column label="总计" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div class="cd_d_span">
-              <div>
-                <div>
-                  <span>{{ scope.row.jdz.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jdz.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jdz.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jdz.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column label="阶段1" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div v-if="scope.row.jd1">
-              <div class="cd_d_span">
-                <div>
-                  <span>{{ scope.row.jd1.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd1.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd1.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd1.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-            <div v-else>—</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="阶段2" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div v-if="scope.row.jd2">
-              <div class="cd_d_span">
-                <div>
-                  <span>{{ scope.row.jd2.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd2.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd2.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd2.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-            <div v-else>—</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="阶段3" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div v-if="scope.row.jd3">
-              <div class="cd_d_span">
-                <div>
-                  <span>{{ scope.row.jd3.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd3.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd3.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd3.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-            <div v-else>—</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="阶段4" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div v-if="scope.row.jd4">
-              <div class="cd_d_span">
-                <div>
-                  <span>{{ scope.row.jd4.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd4.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd4.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd4.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-            <div v-else>—</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="阶段5" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div v-if="scope.row.jd5">
-              <div class="cd_d_span">
-                <div>
-                  <span>{{ scope.row.jd5.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd5.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd5.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd5.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-            <div v-else>—</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="阶段6" min-width="15" align="center">
-          <template slot-scope="scope">
-            <div v-if="scope.row.jd6">
-              <div class="cd_d_span">
-                <div>
-                  <span>{{ scope.row.jd6.taskC }}</span
-                  ><span>任务</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd6.toolC }}</span
-                  ><span>工具</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd6.evalC }}</span
-                  ><span>评价</span>
-                </div>
-                <div>
-                  <span>{{ scope.row.jd6.fontC }}</span
-                  ><span>字</span>
-                </div>
-              </div>
-            </div>
-            <div v-else>—</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="操作" min-width="15">
-          <template slot-scope="scope">
-            <!-- <div
-              @click="getAll(scope.row)"
-            >
-              查看全部
-            </div> -->
-            <el-button
-              type="primary"
-              size="small"
-              style="background: rgb(147, 125, 223); border: none"
-              @click="getAll(scope.row)"
-              >查看详情</el-button
-            >
-          </template>
-        </el-table-column>
-      </el-table>
-    </div>
-    <el-dialog
-      title="查看"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="620px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div v-if="dataArray.length">
-        <div class="cd_d_jd2">
-          <div class="cd_d_box">
-            <span>教师:</span><span>{{ data.username }}</span>
-          </div>
-          <div class="cd_d_box">
-            <span>学校:</span><span>{{ data.school }}</span>
-          </div>
-        </div>
-        <div class="cd_d_jd">
-          <div
-            v-for="(item, index) in dataArray"
-            :key="index"
-            class="cd_d_jd_box"
-          >
-            <div class="cd_d_jd_name">{{ "阶段" + (index + 1) }}</div>
-            <div class="cd_d_jd_content cd_d_span">
-              <div>
-                <span>{{ data[item].taskC }}</span
-                ><span>任务</span>
-              </div>
-              <div>
-                <span>{{ data[item].toolC }}</span
-                ><span>工具</span>
-              </div>
-              <div>
-                <span>{{ data[item].evalC }}</span
-                ><span>评价</span>
-              </div>
-              <div>
-                <span>{{ data[item].fontC }}</span
-                ><span>字</span>
-              </div>
-            </div>
-          </div>
-          <div class="cd_d_jd_box">
-            <div class="cd_d_jd_name">总计</div>
-            <div class="cd_d_jd_content cd_d_span" style="background: #d4d4d4">
-              <div>
-                <span>{{ data["jdz"].taskC }}</span
-                ><span>任务</span>
-              </div>
-              <div>
-                <span>{{ data["jdz"].toolC }}</span
-                ><span>工具</span>
-              </div>
-              <div>
-                <span>{{ data["jdz"].evalC }}</span
-                ><span>评价</span>
-              </div>
-              <div>
-                <span>{{ data["jdz"].fontC }}</span
-                ><span>字</span>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false" class="cancelbtnGM"
-          >关闭</el-button
-        >
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      tableData: [],
-      isLoading: false,
-      org: this.$route.query.org,
-      timer: null,
-      dialogVisible: false,
-      data: {},
-      dataArray: [],
-      choose: "",
-      search: "",
-    };
-  },
-  methods: {
-    jump(cid) {
-      window.parent.postMessage({ cid: cid, screenType: "3gm" }, "*");
-    },
-    handleClose(done) {
-      done();
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    getData() {
-      let params = {
-        org: this.org,
-        // this.org
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectCase", params)
-        .then((res) => {
-          this.isLoading = false;
-          let _res = res.data[0];
-          let _res2 = res.data[1];
-          for (var i = 0; i < _res.length; i++) {
-            let taskC = 0;
-            let toolC = 0;
-            let evalC = 0;
-            let fontC = 0;
-            let course = [];
-            for (var j = 0; j < _res2.length; j++) {
-              if (_res[i].userid == _res2[j].userid) {
-                course.push({
-                  title: _res2[j].title,
-                  courseId: _res2[j].courseId,
-                });
-                var _chapter = JSON.parse(_res2[j].chapters);
-                for (var k = 0; k < _chapter.length; k++) {
-                  let taskC2 = 0;
-                  let toolC2 = 0;
-                  let evalC2 = 0;
-                  let fontC2 = 0;
-                  fontC2 += _chapter[k].dyName.length;
-                  taskC2 = _chapter[k].chapterInfo[0].taskJson.length;
-                  let _tasks = _chapter[k].chapterInfo[0].taskJson;
-                  for (var task = 0; task < _tasks.length; task++) {
-                    if (_tasks[task].eList) {
-                      evalC2 += _tasks[task].eList.length;
-                    }
-                    if (_tasks[task].toolChoose[0].tool.length > 0) {
-                      toolC2 += _tasks[task].toolChoose.length;
-                    }
-                    fontC2 += _tasks[task].task.length;
-                    fontC2 += _tasks[task].taskDetail
-                      .replace(/<[^<>]+>/g, "")
-                      .replace(/&nbsp;/gi, "").length;
-                    let _tools = _tasks[task].toolChoose;
-                    for (var tool = 0; tool < _tools.length; tool++) {
-                      fontC2 += _tools[tool].toolDetail.length;
-                    }
-                  }
-                  if (_res[i]["jd" + (k + 1)]) {
-                    _res[i]["jd" + (k + 1)].taskC += taskC2;
-                    _res[i]["jd" + (k + 1)].toolC += toolC2;
-                    _res[i]["jd" + (k + 1)].evalC += evalC2;
-                    _res[i]["jd" + (k + 1)].fontC += fontC2;
-                  } else {
-                    _res[i]["jd" + (k + 1)] = {};
-                    _res[i]["jd" + (k + 1)].taskC = taskC2;
-                    _res[i]["jd" + (k + 1)].toolC = toolC2;
-                    _res[i]["jd" + (k + 1)].evalC = evalC2;
-                    _res[i]["jd" + (k + 1)].fontC = fontC2;
-                  }
-                  taskC += taskC2;
-                  toolC += toolC2;
-                  evalC += evalC2;
-                  fontC += fontC2;
-                }
-              }
-              _res[i]["jdz"] = {};
-              _res[i]["jdz"].taskC = taskC;
-              _res[i]["jdz"].toolC = toolC;
-              _res[i]["jdz"].evalC = evalC;
-              _res[i]["jdz"].fontC = fontC;
-              _res[i].course = course;
-            }
-          }
-          if (this.search) {
-            _res = _res.filter((a) => {
-              return (
-                a.school.indexOf(this.search) != -1 ||
-                a.username.indexOf(this.search) != -1
-              );
-            });
-          }
-          if (this.choose == "school") {
-            let array = _res.sort(function (a, b) {
-              return a.school.localeCompare(b.school);
-            });
-            this.tableData = array;
-          } else if (this.choose == "task") {
-            let array = _res.sort(function (a, b) {
-              //   return a.jdz.taskC - b.jdz.taskC;
-              return b.jdz.taskC - a.jdz.taskC;
-            });
-            this.tableData = array;
-          } else if (this.choose == "font") {
-            let array = _res.sort(function (a, b) {
-              //   return a.jdz.fontC - b.jdz.fontC;
-              return b.jdz.fontC - a.jdz.fontC;
-            });
-            this.tableData = array;
-          } else if (this.choose == "eval") {
-            let array = _res.sort(function (a, b) {
-              //   return a.jdz.fontC - b.jdz.fontC;
-              return b.jdz.evalC - a.jdz.evalC;
-            });
-            this.tableData = array;
-          } else if (this.choose == "tool") {
-            let array = _res.sort(function (a, b) {
-              //   return a.jdz.fontC - b.jdz.fontC;
-              return b.jdz.toolC - a.jdz.toolC;
-            });
-            this.tableData = array;
-          } else {
-            this.tableData = _res;
-          }
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    getAll(res) {
-      this.data = res;
-      let a = Object.keys(res);
-      a = a.filter((el) => {
-        return el.indexOf("jd") != -1 && el != "jdz";
-      });
-      this.dataArray = a;
-      this.dialogVisible = true;
-    },
-  },
-  beforeDestroy() {
-    clearInterval(this.timer);
-    this.timer = null;
-  },
-  mounted() {
-    this.isLoading = true;
-    this.getData();
-    this.timer = setInterval(() => {
-      this.getData();
-    }, 5000);
-  },
-};
-</script>
-
-<style scoped>
-.student_input {
-  width: 190px;
-  font-size: 13px;
-  padding: 0 10px;
-}
-.cd_body {
-  height: 100%;
-  width: 100%;
-}
-.pb_head {
-  margin: 0 !important;
-  width: 100% !important;
-  display: flex;
-  align-items: center;
-}
-.student_head {
-  margin-top: 10px;
-  padding-bottom: 10px;
-  display: flex;
-  justify-content: space-between;
-}
-.head_left {
-  display: flex;
-  align-items: center;
-}
-.cd_title span {
-  font-size: 25px;
-  font-weight: 700;
-}
-.cd_table {
-  width: 95%;
-  margin: 0 auto;
-  padding: 0 0 10px;
-}
-
-.el-table >>> .even_row {
-  background-color: #f1f1f1 !important;
-}
-.dialog_diy >>> .el-dialog {
-  background: #fafafa;
-}
-.dialog_diy >>> .el-dialog__header {
-  background: #454545 !important;
-  padding: 15px 20px;
-}
-.dialog_diy >>> .el-dialog__body,
-.dialog_diy >>> .el-dialog__footer {
-  background: rgb(184, 181, 202);
-}
-.dialog_diy >>> .el-dialog__body {
-  padding: 30px 10px;
-}
-.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;
-}
-
-.cd_d_box {
-  font-size: 16px;
-}
-.cd_d_box + .cd_d_box {
-  margin-top: 10px;
-}
-
-.cd_d_jd {
-  display: flex;
-  flex-wrap: wrap;
-  margin-top: 10px;
-  background: #fff;
-  padding: 10px 15px 25px;
-  box-sizing: border-box;
-}
-.cd_d_jd2 {
-  background: #fff;
-  padding: 10px 15px;
-  box-sizing: border-box;
-}
-.cd_d_jd_box {
-  width: 100px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  /* background: #eee; */
-  border-radius: 5px;
-  margin: 10px 14px 0 0;
-}
-.cd_d_jd_box {
-}
-.cd_d_jd_content {
-  width: 100px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  background: #eee;
-  border-radius: 5px;
-  padding: 5px 0;
-}
-.cd_d_jd_content div + div {
-  margin-top: 5px;
-}
-
-.cd_d_jd_content div span + span {
-  margin-left: 5px;
-}
-.cd_d_jd_name {
-  margin-bottom: 5px;
-  color: #222;
-}
-.cd_d_span div:nth-child(1) span:nth-child(1) {
-  color: rgb(147, 125, 223);
-}
-.cd_d_span div:nth-child(2) span:nth-child(1) {
-  color: #fe3987;
-}
-.cd_d_span div:nth-child(3) span:nth-child(1) {
-  color: #10bb6e;
-}
-
-.cd_d_span div:nth-child(4) span:nth-child(1) {
-  color: rgb(147, 125, 223);
-}
-.cd_d_span div span:nth-child(1) {
-  margin-right: 5px;
-}
-
-.cd_course {
-  cursor: pointer;
-  width: 100%;
-  display: flex;
-}
-.cd_course span {
-  width: 100%;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.table >>> .cell {
-  padding: 0px 3px !important;
-}
-/* .table >>> .el-table .cell, .table >>> .el-table--border td:first-child .cell, .table >>> .el-table--border th:first-child .cell{
-  padding: 0 3px;
-} */
-</style>

+ 0 - 1632
src/components/pages/Grid.vue

@@ -1,1632 +0,0 @@
-<template>
-  <div class="pb_content g_body">
-    <div>
-      <el-image
-        class="coin coin1"
-        :src="require('../../assets/grid/coin1.png')"
-        fit="cover"
-      ></el-image>
-      <el-image
-        class="coin coin2"
-        :src="require('../../assets/grid/coin2.png')"
-        fit="cover"
-      ></el-image>
-      <el-image
-        class="coin coin3"
-        :src="require('../../assets/grid/coin3.png')"
-        fit="cover"
-      ></el-image>
-      <el-image
-        class="coin coin4"
-        :src="require('../../assets/grid/coin4.png')"
-        fit="cover"
-      ></el-image>
-    </div>
-    <div class="grid_member">
-      <!-- <div class="member_imgbox">
-        <el-image
-          v-for="item in 4"
-          :key="item"
-          class="member_img"
-          :src="require('../../assets/grid/portal.png')"
-          fit="cover"
-        ></el-image>
-      </div>-->
-      <el-button type="text" @click="dialogVisible2 = true">邀请成员</el-button>
-      <!-- <el-button type="text">成员</el-button> -->
-      <el-button type="text" v-if="RoomInfo.userid == userid" @click="dismiss"
-        >解散房间</el-button
-      >
-    </div>
-    <draggable
-      element="div"
-      v-model="data"
-      class="g_body"
-      @change="handleDraggableFormItemChange"
-      @end="dragEnd"
-      :move="checkMove"
-    >
-      <div
-        v-for="(item, index) in data"
-        :key="index"
-        class="g_box"
-        @mouseover="pIndex = index"
-        @mouseleave="pIndex = ''"
-        @dragstart="handleDragStart($event, index)"
-        @dragover.prevent="handleDragOver($event, index)"
-        @dragenter="handleDragEnter($event, index)"
-        @dragend="handleDragEnd($event, index)"
-      >
-        <div
-          :class="{
-            'left-popover': index < 3,
-            'right-popover': index == 3,
-            'top-popover': index > 3,
-            visibleO: pIndex === index && item && (item.video || item.photo),
-          }"
-        >
-          <div class="pChild" @click="check(index)">
-            <el-image
-              :src="require('../../assets/grid/upload.png')"
-              fit="cover"
-            ></el-image>
-            <span>修改</span>
-          </div>
-          <div class="pChild" @click="deleteGrid(index)">
-            <el-image
-              :src="require('../../assets/grid/deleteT.png')"
-              fit="cover"
-            ></el-image>
-            <span>删除</span>
-          </div>
-          <div class="pChild" @click="check(index, 2)">
-            <el-image
-              :src="require('../../assets/grid/edit.png')"
-              fit="cover"
-            ></el-image>
-            <span>添加备注</span>
-          </div>
-        </div>
-        <div class="rrrrbox" v-if="item && item.remarks && !item.photo && !item.video" @click="check(index, 3)">
-          <div class="Rbox" v-for="(x, y) in item.remarks" :key="y">
-            <div v-if="x.remarks != ''" style="display: flex">
-              <el-image
-                class="Rportal"
-                :src="require('../../assets/grid/portal.png')"
-                fit="cover"
-              ></el-image>
-              <div class="RContent">
-                <div>{{ x.username }}</div>
-                <div>{{ x.remarks }}</div>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div
-          v-else-if="item && item.remarks"
-          :class="{
-            'remark-right-popover': index > 11 && index != 15,
-            'remark-left-popover': index == 15,
-            'remark-bottom-popover': index < 12,
-            visibleO: pIndex === index && item && item.remarks,
-          }"
-        >
-          <div class="Rbox" v-for="(x, y) in item.remarks" :key="y">
-            <div v-if="x.remarks != ''" style="display: flex">
-              <el-image
-                class="Rportal"
-                :src="require('../../assets/grid/portal.png')"
-                fit="cover"
-              ></el-image>
-              <div class="RContent">
-                <div>{{ x.username }}</div>
-                <div>{{ x.remarks }}</div>
-              </div>
-            </div>
-            <div v-else-if="x.remarks == '' && y == 0">
-              {{ x.username }}暂无备注
-            </div>
-          </div>
-        </div>
-        <el-image
-          v-if="item && item.photo"
-          v-viewer
-          class="photo_img"
-          :src="item.photo"
-          fit="cover"
-        ></el-image>
-        <video-player
-          v-else-if="item && item.video"
-          class="video-player vjs-custom-skin"
-          ref="videoPlayer"
-          :playsinline="true"
-          :options="item.video"
-          style="width: 85%"
-        ></video-player>
-        <el-image
-          v-else
-          class="add_img"
-          :src="require('../../assets/grid/add.png')"
-          fit="cover"
-          @click="check(index, 3)"
-        ></el-image>
-      </div>
-    </draggable>
-    <el-dialog
-      title="上传文件"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="800px"
-      :before-close="handleClose"
-      class="look_notice"
-    >
-      <div slot="title" class="header-title">
-        <div class="title_add_student">上传文件</div>
-      </div>
-      <div>
-        <div class="upload_box" v-show="!file.userid || file.userid == userid">
-          <el-image
-            class="list_img"
-            :src="require('../../assets/grid/list.png')"
-            fit="cover"
-          ></el-image>
-          <div class="upload_content">
-            <div
-              @click="addEvent($event)"
-              @mouseover="file.photo ? (deleteVisible1 = true) : ''"
-              @mouseleave="file.photo ? (deleteVisible1 = false) : ''"
-            >
-              <el-image
-                class="delete_img"
-                :src="require('../../assets/grid/delete.png')"
-                fit="cover"
-                v-if="deleteVisible1"
-                @click.stop="deleteFile(1)"
-              ></el-image>
-              <el-image
-                class="upload_img"
-                :src="
-                  file.photo
-                    ? file.photo
-                    : require('../../assets/grid/image.png')
-                "
-                fit="cover"
-              ></el-image>
-              <input
-                type="file"
-                accept="image/*"
-                capture="camera"
-                style="display: none"
-                ref="pathClear1"
-                @change="beforeUpload($event, 1)"
-              />
-            </div>
-            <div
-              style="margin-left: 20px"
-              @click="addEvent($event)"
-              @mouseover="file.video ? (deleteVisible2 = true) : ''"
-              @mouseleave="file.video ? (deleteVisible2 = false) : ''"
-            >
-              <el-image
-                class="delete_img"
-                :src="require('../../assets/grid/delete.png')"
-                fit="cover"
-                v-if="deleteVisible2"
-                @click.stop="deleteFile(2)"
-              ></el-image>
-              <el-image
-                class="upload_img"
-                :src="
-                  file.video
-                    ? require('../../assets/grid/videoH.png')
-                    : require('../../assets/grid/video.png')
-                "
-                fit="cover"
-              ></el-image>
-              <input
-                type="file"
-                accept="video/mp4, video/quicktime, video/x-msvideo"
-                capture="camera"
-                style="display: none"
-                ref="pathClear2"
-                @change="beforeUpload($event, 2)"
-              />
-            </div>
-          </div>
-        </div>
-        <div class="textarea_box">
-          <div class="textarea_title">添加描述</div>
-          <el-input
-            type="textarea"
-            v-model="remarks"
-            placeholder="请输入描述..."
-            class="textarea_content"
-            :rows="5"
-            resize="none"
-          ></el-input>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button class="close" @click="addGrid()" type="primary"
-          >确定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="邀请成员"
-      :visible.sync="dialogVisible2"
-      :append-to-body="true"
-      width="400px"
-      :before-close="handleClose"
-      class="look_notice invite_dialog"
-    >
-      <div slot="title" class="header-title">
-        <div class="title_add_student">邀请成员</div>
-      </div>
-      <div>
-        <div class="invite_box">
-          <div class="invite_title" ref="inviteT">
-            {{ userinfo ? this.userinfo.name : "用户" }}邀请您参加思维网格
-          </div>
-          <div class="line"></div>
-          <div class="invite_link">
-            <div ref="invite1">复制链接加入房间:</div>
-            <div ref="invite2" style="color:#3E8DE6;">https://cloud.cocorobo.cn/</div>
-          </div>
-          <div class="invite_num" ref="invite3">
-            房间号:
-            <span style="color:#3E8DE6;">{{ goNum }}</span>
-          </div>
-          <div class="invite_num" ref="invite4">
-            复制房间号信息,打开思维网格输入即可加入。
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button
-          class="close tag-read"
-          @click="copy"
-          type="primary"
-          :data-clipboard-text="copyText"
-          >一键复制信息</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="创建/加入房间"
-      :visible.sync="dialogVisible3"
-      :append-to-body="true"
-      width="400px"
-      :before-close="handleClose2"
-      class="look_notice invite_dialog room_dialog"
-    >
-      <div slot="title" class="header-title">
-        <div class="title_add_student">创建/加入房间</div>
-      </div>
-      <div class="addRoom_box">
-        <div>
-          <el-input
-            v-model="goNum"
-            placeholder="请输入要加入的房间号"
-          ></el-input>
-          <div class="room_b">
-            备注:输入房间号点击加入房间或点击创建房间直接创建房间
-          </div>
-          <div class="room_btn">
-            <el-button class="roomBtn" type="primary" @click="goRoom(goNum)"
-              >加入房间</el-button
-            >
-            <el-button class="roomBtn" type="primary" @click="checkNum"
-              >创建房间</el-button
-            >
-          </div>
-        </div>
-      </div>
-    </el-dialog>
-    <div v-if="proVisible" class="mask">
-      <div class="progressBox">
-        <div class="lbox">
-          <img :src="require('../../assets/loading.gif')" />上传中,请稍后
-        </div>
-        <el-progress
-          :text-inside="true"
-          :stroke-width="20"
-          :percentage="progress"
-          style="width: 80%"
-        ></el-progress>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import Clipboard from "clipboard";
-import draggable from "vuedraggable";
-export default {
-  components: {
-    //调用组件
-    draggable,
-  },
-  data() {
-    return {
-      timer: null,
-      userinfo: [],
-      RoomInfo: [],
-      copyText: "",
-      userid: this.$route.query.userid,
-      data: [],
-      dialogVisible: false,
-      dialogVisible2: false,
-      dialogVisible3: true,
-      deleteVisible1: false,
-      deleteVisible2: false,
-      dialogImgVisible: false,
-      dialogImageUrl: "",
-      remarks: "",
-      goNum: this.$route.query.goNum ? this.$route.query.goNum : "",
-      numNum: "",
-      file: {},
-      gIndex: "",
-      pIndex: "",
-      proVisible: false,
-      progress: 0,
-      playerOptions: {
-        playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
-        autoplay: false, //如果true,浏览器准备好时开始回放。
-        muted: false, // 默认情况下将会消除任何音频。
-        loop: false, // 导致视频一结束就重新开始。
-        preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
-        language: "zh-CN",
-        aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
-        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
-        sources: [
-          {
-            type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目   || "video/ogg"|| "video/webm"
-            src: "", //url地址require("../../assets/media/aaa.mp4")
-          },
-        ],
-        // poster: require("../../assets/tu31.png"), //你的封面地址
-        // poster: dataRes.imgUrl, //你的封面地址
-        notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
-        controlBar: {
-          timeDivider: true, //当前时间和持续时间的分隔符
-          durationDisplay: true, //显示持续时间
-          remainingTimeDisplay: false, //是否显示剩余时间功能
-          fullscreenToggle: true, //全屏按钮
-        },
-      },
-      playerO: {},
-      dragging: null,
-      draggingE: null,
-    };
-  },
-  methods: {
-    handleDragStart(e, items) {
-      this.dragging = items; //开始拖动时,暂时保存当前拖动的数据。
-      if (!this.data[items]) {
-        return;
-      }
-    },
-    handleDragEnd(e, items) {
-      if (!this.data[this.dragging]) {
-        return;
-      }
-      e.dataTransfer.effectAllowed = "move"; //为需要移动的元素设置dragstart事件
-      if (this.draggingE == this.dragging) return;
-      var newItems = [...JSON.parse(JSON.stringify(this.data))]; //拷贝一份数据进行交换操作。
-
-      var src = newItems[this.dragging]; //获取数组下标
-      var dst = newItems[this.draggingE];
-      // newItems[this.dragging] = dst;
-      // newItems[this.draggingE] = src;
-      // // newItems2.splice(dst, 0, ...newItems.splice(src, 1)); //交换位置
-      // this.data = newItems;
-      this.data[this.dragging] = dst;
-      this.data[this.draggingE] = src;
-      let mindinfo = this.mindInfo2(
-        this.dragging,
-        "move",
-        dst,
-        "us.mindNetwork",
-        this.userinfo ? this.userinfo.userid : this.userid,
-        this.RoomInfo.id,
-        this.draggingE,
-        src
-      );
-      this.updateSocket(mindinfo);
-      this.updateRoomData();
-      this.dragging = null; //拖动结束后,清除数据
-      this.draggingE = null;
-    },
-    handleDragOver(e) {
-      e.dataTransfer.dropEffect = "move"; //在dragenter中针对放置目标来设置!
-    },
-    handleDragEnter(e, items) {
-      this.draggingE = items;
-      e.dataTransfer.effectAllowed = "move"; //为需要移动的元素设置dragstart事件
-      // if (items == this.dragging) return;
-      // var newItems = [...JSON.parse(JSON.stringify(this.data))]; //拷贝一份数据进行交换操作。
-      // var src = this.dragging; //获取数组下标
-      // var dst = items;
-      // newItems.splice(dst, 0, ...newItems.splice(src, 1)); //交换位置
-      // this.data = newItems;
-      // this.updateRoomData();
-    },
-    handleDraggableFormItemChange(val) {
-      // console.log(val);
-      // console.log(this.data[val.moved.newIndex]);
-      // console.log(this.data[val.moved.oldIndex]);
-    },
-    dragEnd(val) {
-      // if (this.data[val.newIndex].userid != this.userinfo.userid) {
-      //   this.$message.error("不是您上传的作品不能拖动哦");
-      //   return;
-      // }
-      // this.updateRoomData();
-    },
-    checkMove(evt) {
-      // console.log(evt);
-      // if (evt.draggedContext.element.userid != this.userinfo.userid) {
-      //   return false;
-      // } else {
-      //   return true;
-      // }
-      return false;
-    },
-    copy() {
-      this.copyText =
-        this.$refs.inviteT.innerHTML +
-        "\n" +
-        this.$refs.invite1.innerHTML +
-        "\n" +
-        this.$refs.invite2.innerHTML +
-        "\n" +
-        this.$refs.invite3.innerText +
-        "\n" +
-        this.$refs.invite4.innerHTML;
-      var clipboard = new Clipboard(".tag-read");
-      clipboard.on("success", (e) => {
-        this.$message.success("复制成功");
-        console.log("复制成功");
-        clipboard.destroy(); // 释放内存
-      });
-      clipboard.on("error", (e) => {
-        console.log("不支持复制,该浏览器不支持自动复制");
-        clipboard.destroy(); // 释放内存
-      });
-    },
-    handleClose(done) {
-      this.restart();
-      done();
-    },
-    handleClose2(done) {
-      // done();
-    },
-    restart() {
-      this.file = {};
-      this.gIndex = "";
-      this.remarks = "";
-      if (this.$refs.pathClear1) {
-        this.$refs.pathClear1.value = "";
-        this.$refs.pathClear2.value = "";
-      }
-    },
-    deleteGrid(index) {
-      if (this.data[index].userid != this.userid) {
-        this.$message.error("你不是上传人无权限删除");
-        return;
-      }
-      this.$confirm("确定删除吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          this.data[index] = "";
-          let mindinfo = this.mindInfo(
-            index,
-            "delete",
-            this.data[index],
-            "us.mindNetwork",
-            this.userinfo ? this.userinfo.userid : this.userid,
-            this.RoomInfo.id,
-            ""
-          );
-          this.updateSocket(mindinfo);
-          this.updateRoomData();
-          this.$forceUpdate();
-        })
-        .catch(() => {});
-    },
-    updateRoomData() {
-      let params = [
-        {
-          data: JSON.stringify(this.data),
-          idL: this.RoomInfo.id,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updateRoomData", params)
-        .then((res) => {})
-        .catch((err) => {});
-    },
-    check(index, type) {
-      this.gIndex = index;
-      if (this.data[index].userid != this.userid && type != 2 && type != 3) {
-        this.$message.error("你不是上传人无权限修改");
-        return;
-      }
-      if (this.data[index] && this.data[index].userid == this.userid) {
-        if (this.data[index].userid != this.userid) {
-          this.$message.error("你不是上传人无权限修改");
-          return;
-        }
-        this.file = {
-          photo: this.data[index].photo,
-          userid: this.data[index].userid,
-          video:
-            this.data[index].video &&
-            this.data[index].video.sources &&
-            this.data[index].video.sources[0].src,
-        };
-        this.remarks = this.data[index].remarks[0].remarks;
-      } else if (this.data[index] && type == 2) {
-        this.file = {
-          userid: this.data[index].userid,
-        };
-        for (var i = 0; i < this.data[index].remarks.length; i++) {
-          if (this.data[index].remarks[i].userid == this.userid) {
-            this.remarks = this.data[index].remarks[i].remarks;
-            break;
-          }
-        }
-        this.remarks = this.remarks ? this.remarks : "";
-      }
-      this.dialogVisible = true;
-    },
-    addEvent(e) {
-      var el = e.currentTarget;
-      el.getElementsByTagName("input")[0].click();
-    },
-    deleteFile(type) {
-      if (type == 1) {
-        this.file.photo = "";
-        this.deleteVisible1 = false;
-        this.$refs.pathClear1.value = "";
-      } else {
-        this.file.video = "";
-        this.deleteVisible2 = false;
-        this.$refs.pathClear2.value = "";
-      }
-      this.$forceUpdate();
-    },
-    addGrid() {
-      if (!this.file.userid || this.file.userid == this.userid) {
-        if (!this.file.video && !this.file.photo && this.remarks == "") {
-          this.$message.error("至少上传一个视频、一张图片或者备注");
-          return;
-        }
-        if (!this.data[this.gIndex]) {
-          this.data[this.gIndex] = {};
-        }
-        if (this.file.photo) {
-          this.data[this.gIndex].photo = this.file.photo;
-        } else if (this.file.video) {
-          // this.playerOptions.sources[0].src = ""
-          var video = JSON.parse(JSON.stringify(this.playerOptions));
-          video.sources[0].src = this.file.video;
-          this.data[this.gIndex].video = video;
-        }
-        if (this.data[this.gIndex].remarks) {
-          this.data[this.gIndex].remarks[0] = {
-            remarks: this.remarks,
-            userid: this.userinfo ? this.userinfo.userid : this.userid,
-            username: this.userinfo ? this.userinfo.name : "用户",
-          };
-        } else {
-          this.data[this.gIndex].remarks = [
-            {
-              remarks: this.remarks,
-              userid: this.userinfo ? this.userinfo.userid : this.userid,
-              username: this.userinfo ? this.userinfo.name : "用户",
-            },
-          ];
-        }
-        this.data[this.gIndex].userid = this.userinfo
-          ? this.userinfo.userid
-          : this.userid;
-      } else {
-        if (!this.remarks) {
-          this.$message.error("备注不能为空");
-          return;
-        }
-        var a = 0;
-        for (var i = 0; i < this.data[this.gIndex].remarks.length; i++) {
-          if (this.data[this.gIndex].remarks[i].userid == this.userid) {
-            a++;
-            this.data[this.gIndex].remarks[i] = {
-              remarks: this.remarks,
-              userid: this.userinfo ? this.userinfo.userid : this.userid,
-              username: this.userinfo ? this.userinfo.name : "用户",
-            };
-            break;
-          }
-        }
-        if (a < 1) {
-          this.data[this.gIndex].remarks.push({
-            remarks: this.remarks,
-            userid: this.userinfo ? this.userinfo.userid : this.userid,
-            username: this.userinfo ? this.userinfo.name : "用户",
-          });
-        }
-      }
-
-      let mindinfo = this.mindInfo(
-        this.gIndex,
-        "update",
-        this.data[this.gIndex],
-        "us.mindNetwork",
-        this.userinfo ? this.userinfo.userid : this.userid,
-        this.RoomInfo.id,
-        ""
-      );
-      this.updateSocket(mindinfo);
-      this.updateRoomData();
-      this.dialogVisible = false;
-      this.$forceUpdate();
-      this.restart();
-    },
-    beforeUpload(event, type) {
-      // debugger;
-      if (this.file.photo && type != 1) {
-        this.$message.error("只能上传一个视频或者一张图片");
-        this.$refs.pathClear2.value = "";
-        return;
-      } else if (this.file.video && type != 2) {
-        this.$message.error("只能上传一个视频或者一张图片");
-        this.$refs.pathClear1.value = "";
-        return;
-      }
-      var file = event.target.files[0];
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-      if (type == 1) {
-        var mediaFormatList = ["png", "jpg", "jpeg"];
-        if (
-          mediaFormatList.indexOf(
-            file.name
-              .split(".")
-              [file.name.split(".").length - 1].toLocaleLowerCase()
-          ) == "-1"
-        ) {
-          _this.$message.error("请上传jpg或者png的图片格式文件");
-          return;
-        }
-      } else {
-        var mediaFormatList = ["mp4"];
-        if (
-          mediaFormatList.indexOf(
-            file.name
-              .split(".")
-              [file.name.split(".").length - 1].toLocaleLowerCase()
-          ) == "-1"
-        ) {
-          _this.$message.error("请上传mp4视频格式文件");
-          return;
-        }
-      }
-      _this.progress = 0;
-      _this.proVisible = true;
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length-1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-            _this.progress = parseInt((evt.loaded * 80) / evt.total);
-          })
-          .send(function (err, data) {
-            _this.progress = 100;
-            setTimeout(() => {
-              _this.proVisible = false;
-            }, 1000);
-            if (err) {
-              _this.$message.error("上传失败");
-            } else {
-              if (type == 1) {
-                _this.file.photo = data.Location;
-              } else {
-                _this.file.video = data.Location;
-              }
-              _this.$forceUpdate();
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    getUser() {
-      let params = { uid: this.userid };
-      this.ajax
-        .get(this.$store.state.api + "getUser", params)
-        .then((res) => {
-          this.userinfo = res.data[0][0];
-          if(this.goNum != ""){
-            this.goRoom(this.goNum);
-          }else{
-            this.checkNum();
-          }
-          console.log(res.data[0][0]);
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    MathRand() {
-      var Num = "";
-      for (var i = 0; i < 6; i++) {
-        Num += Math.floor(Math.random() * 10);
-      }
-      return Num;
-    },
-    checkNum() {
-      this.numNum = this.MathRand();
-      this.goNum = this.numNum;
-      let params = {
-        num: this.numNum,
-      };
-      this.ajax
-        .get(this.$store.state.api + "checkRoomNum", params)
-        .then((res) => {
-          console.log(res.data[0].length);
-          if (res.data[0].length) {
-            this.checkNum();
-          } else {
-            this.addRoom();
-          }
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    addRoom() {
-      let params = [
-        {
-          uid: this.userid,
-          n: this.numNum,
-          d: JSON.stringify(this.data),
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "insertRoom", params)
-        .then((res) => {
-          this.$message.success("创建成功");
-          this.getRoom(res.data[0][0].fid);
-        })
-        .catch((err) => {
-          this.$message.error("创建失败");
-          console.error(err);
-        });
-    },
-    getRoom(fid) {
-      let params = {
-        fid: fid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "getRoom", params)
-        .then((res) => {
-          if (res.data[0].length) {
-            // this.RoomInfo = res.data[0][0];
-            this.data = JSON.parse(res.data[0][0].data);
-            this.dialogVisible3 = false;
-            // this.dialogVisible2 = true;//邀请弹窗
-            // this.getMindNetwork(res.data[0][0].id, this.userinfo.userid);
-            // this.data.splice(0,1)
-            // this.updateRoomData()
-            // this.timer = setInterval(() => {
-            //   this.selectRoom2(uid);
-            // }, 5000);
-          } else {
-            // this.$message.error("此房间不存在或已被解散");
-          }
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectRoom(uid) {
-      let params = {
-        uid: uid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectRoom", params)
-        .then((res) => {
-          if (res.data[0].length) {
-            // this.RoomInfo = res.data[0][0];
-            // this.data = JSON.parse(res.data[0][0].data);
-            // this.dialogVisible3 = false;
-            // this.dialogVisible2 = true;
-            this.getMindNetwork(res.data[0][0].id, this.userinfo.userid);
-            // this.data.splice(0,1)
-            // this.updateRoomData()
-            // this.timer = setInterval(() => {
-            //   this.selectRoom2(uid);
-            // }, 5000);
-          } else {
-            // this.$message.error("此房间不存在或已被解散");
-          }
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    goRoom(uid) {
-      let params = {
-        uid: uid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectRoom", params)
-        .then((res) => {
-          if (res.data[0].length) {
-            this.$message.success("加入成功");
-            // this.RoomInfo = res.data[0][0];
-            this.data = JSON.parse(res.data[0][0].data);
-            this.dialogVisible3 = false;
-
-            // this.dialogVisible2 = true;//邀请弹窗
-
-            // this.getMindNetwork(res.data[0][0].id, this.userinfo.userid);
-
-            // this.timer = setInterval(() => {
-            //   this.selectRoom2(uid);
-            // }, 5000);
-          } else {
-            this.$message.error("此房间不存在或已被解散");
-          }
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectRoom2(uid) {
-      let params = {
-        uid: uid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectRoom", params)
-        .then((res) => {
-          this.RoomInfo = res.data[0][0];
-          this.data = JSON.parse(res.data[0][0].data);
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    dismiss() {
-      this.$confirm("确定解散房间吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          let params = [
-            {
-              id: this.RoomInfo.id,
-            },
-          ];
-          this.ajax
-            .post(this.$store.state.api + "dismiss", params)
-            .then((res) => {
-              this.$message.success("解散成功");
-              this.$router.go(0);
-            })
-            .catch((err) => {
-              console.error(err);
-            });
-        })
-        .catch(() => {});
-    },
-    /*
-     * mind 消息类
-     * 参数一 : 第几个网格
-     * 参数二 :  type 操作类型
-     * 参数三 : content 行内容
-     * 参数四 : next 下一行
-     */
-    //      messageInfo: {
-    //   sendId: userid,
-    //   moveIndex1: id, //第几个网格
-    //   moveIndex2: moveIndex, //移动到的网格
-    //   type: type, //类型
-    //   data: content, //内容
-    //   docId: roomid, //文档id
-    //   // pageId: US.pageId, //当前页面id
-    // },
-    mindInfo(id, type, content, navid, userid, roomid, moveIndex) {
-      var _data = {
-        "us.mindNetwork": [
-          {
-            sendId: userid, //发送人id
-            receiveId: roomid, //文件id
-            type: navid, //消息类型
-            messageInfo: {
-              id: id, //操作ID
-              type: type, //类型
-              content: content, //内容
-              docId: roomid, //文档id
-              pageId: top.US.pageId, //当前页面id
-            },
-          },
-        ],
-      };
-      return _data;
-    },
-    mindInfo2(id, type, content, navid, userid, roomid, moveIndex, moveData) {
-      var _data = {
-        "us.mindNetwork": [
-          {
-            sendId: userid, //发送人id
-            receiveId: roomid, //文件id
-            type: navid, //消息类型
-            messageInfo: {
-              id: id, //操作ID
-              type: type, //类型
-              content: content, //内容
-              docId: roomid, //文档id
-              pageId: top.US.pageId, //当前页面id
-            },
-          },
-          {
-            sendId: userid, //发送人id
-            receiveId: roomid, //文件id
-            type: navid, //消息类型
-            messageInfo: {
-              id: moveIndex, //操作ID
-              type: type, //类型
-              content: moveData, //内容
-              docId: roomid, //文档id
-              pageId: top.US.pageId, //当前页面id
-            },
-          },
-        ],
-      };
-      return _data;
-    },
-    updateSocket(mindinfo) {
-      let params = [
-        {
-          type: "send",
-          mindinfo: encodeURIComponent(
-            encodeURIComponent(JSON.stringify(mindinfo))
-          ),
-          post: 1,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.socket, params)
-        .then((res) => {
-          console.log(res);
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    getMindNetwork(id, uid) {
-      let params = [
-        {
-          type: "getMindNetwork",
-          docid: id,
-          pageid: window.parent.US.pageId,
-          userid: uid,
-          post: "1",
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.socket, params)
-        .then((res) => {
-          if (res.data[0].length) {
-            this.RoomInfo = res.data[0][0];
-            try {
-              this.data = JSON.parse(res.data[0][0].data);
-            } catch (error) {
-              this.data = res.data[0][0].data;
-            }
-            this.dialogVisible3 = false;
-            // this.dialogVisible2 = true;//邀请弹窗
-          }
-          console.log(res);
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-  },
-  beforeDestroy() {
-    // clearInterval(this.timer);
-    window.removeEventListener("message");
-  },
-  created() {
-    document.domain = "cocorobo.cn";
-    // window.parent.postMessage({ cid: cid, type: "U.MD.O.P.pollingAsyn" }, "*");
-    for (var i = 0; i < 16; i++) {
-      this.data.push("");
-    }
-    this.getUser();
-    let _this = this;
-    window.addEventListener("message", function (e) {
-      // 监听 message 事件
-      if (
-        e.data.type &&
-        e.data.type == "mindNetwork_update" &&
-        e.data.info.docId == _this.RoomInfo.id &&
-        !(e.data.sendId == _this.userinfo.userid)
-      ) {
-        _this.data[e.data.info.id] = e.data.info.content;
-      } else if (
-        e.data.type &&
-        e.data.type == "mindNetwork_delete" &&
-        e.data.info.docId == _this.RoomInfo.id &&
-        !(e.data.sendId == _this.userinfo.userid)
-      ) {
-        _this.data[e.data.info.id] = "";
-      } else if (
-        e.data.type &&
-        e.data.type == "mindNetwork_move" &&
-        e.data.info.docId == _this.RoomInfo.id &&
-        !(e.data.sendId == _this.userinfo.userid)
-      ) {
-        _this.data[e.data.info.id] = e.data.info.content;
-        // var newItems = [...JSON.parse(JSON.stringify(_this.data))]; //拷贝一份数据进行交换操作。
-        // _this.data[e.data.info.id] = newItems[e.data.info.moveIndex2];
-        // _this.data[e.data.info.moveIndex2] = newItems[e.data.info.moveIndex1];
-      }
-      _this.$forceUpdate();
-    });
-  },
-};
-</script>
-
-<style scoped>
-.g_body {
-  width: 100%;
-  height: 100%;
-  background: #fff;
-  border-radius: 5px;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  flex-wrap: wrap;
-  position: relative;
-  min-height: 750px;
-}
-.coin {
-  position: absolute;
-  width: 50px;
-  z-index: 1;
-  user-select: none;
-}
-.coin1 {
-  top: 10px;
-  left: 20px;
-}
-.coin2 {
-  top: 10px;
-  right: 20px;
-}
-.coin3 {
-  bottom: 10px;
-  left: 20px;
-}
-.coin4 {
-  bottom: 10px;
-  right: 20px;
-}
-.g_box {
-  background: rgb(227 228 232);
-  width: calc(100% / 4 - 15px);
-  height: calc(100% / 4 - 15px);
-  margin: 5px;
-  border-radius: 5px;
-  cursor: pointer;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  /* overflow: hidden; */
-  position: relative;
-  user-select: none;
-}
-.photo_img {
-  width: 100%;
-  height: 100%;
-  border-radius: 5px;
-}
-.g_box .add_img {
-  width: 100px;
-  display: none;
-}
-.g_box:hover .add_img {
-  display: block;
-}
-.look_notice >>> .el-dialog__header {
-  padding: 10px 20px;
-  text-align: center;
-  background: #32455b;
-}
-.look_notice >>> .el-dialog__title {
-  font-size: 14px !important;
-  color: #fff !important;
-}
-.look_notice >>> .el-dialog__headerbtn {
-  font-size: 20px !important;
-  top: 10px;
-}
-.look_notice >>> .el-form-item__label {
-  margin-left: 65px;
-}
-.look_notice >>> .el-form-item {
-  display: flex;
-}
-.look_notice >>> .el-form-item__content {
-  margin: 0 !important;
-}
-.look_notice >>> .el-dialog__footer {
-  text-align: center !important;
-}
-.look_notice >>> .el-dialog {
-  min-width: 450px;
-  background: #f3f3f3;
-}
-.notice_content {
-  width: 100%;
-  word-wrap: break-word;
-  word-break: break-all;
-  overflow: hidden;
-  font-size: 18px;
-  line-height: 35px;
-  text-indent: 35px;
-  min-width: 385px;
-}
-.roomBtn {
-  background: rgb(112 183 79);
-  /* padding: 0 !important; */
-  border: none;
-}
-.close {
-  width: 150px;
-  height: 40px;
-  border-radius: 30px;
-  line-height: 30px;
-  font-size: 14px;
-  background: rgb(112 183 79);
-  padding: 0 !important;
-  border: none;
-}
-.header-title {
-  display: flex;
-}
-.logoImg {
-  width: 30px;
-}
-.logoImg > img {
-  width: 100%;
-  height: 100%;
-}
-.title_add_student {
-  /* margin: 0 auto; */
-  color: #fff;
-}
-
-.grid_member {
-  position: absolute;
-  background: #fff;
-  right: 70px;
-  top: 18px;
-  /* min-width: 320px; */
-  height: 50px;
-  border-radius: 5px;
-  padding: 0 10px;
-  display: flex;
-  align-items: center;
-  z-index: 1;
-  user-select: none;
-}
-
-.member_imgbox {
-  display: flex;
-  align-items: center;
-  margin: 0 10px;
-  width: 185px;
-}
-.member_img {
-  height: 40px;
-  width: 40px;
-  border-radius: 50px;
-  overflow: hidden;
-  display: block;
-  background: aliceblue;
-}
-.member_img + .member_img {
-  margin-left: 8px;
-}
-
-.upload_box {
-  border-radius: 5px;
-  background: #fff;
-  position: relative;
-}
-
-.upload_box .list_img {
-  position: absolute;
-  top: 10px;
-  left: 10px;
-}
-
-.upload_box .upload_content {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  padding: 50px 0 20px;
-}
-.upload_box .upload_content div {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  cursor: pointer;
-  position: relative;
-}
-.delete_img {
-  position: absolute !important;
-  width: 25px;
-  transform: translate(50%, -50%);
-  top: 0;
-  z-index: 1;
-  right: 0;
-}
-.upload_img {
-  width: 306px;
-  height: 206px;
-}
-.textarea_box {
-  background: #fff;
-  margin-top: 20px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  padding: 20px 0;
-}
-
-.textarea_title {
-  width: 95%;
-  margin: 0 auto;
-  font-size: 16px;
-}
-
-.textarea_content {
-  width: 95%;
-  margin: 10px auto 0;
-  border-radius: 10px;
-}
-
-.textarea_content >>> .el-textarea__inner {
-  background: rgb(243, 243, 243);
-  border: none;
-}
-
-.invite_dialog >>> .el-dialog__body {
-  padding: 15px 20px;
-}
-.room_dialog >>> .el-dialog {
-  margin-top: 50vh !important;
-  transform: translateY(-50%);
-  min-width: unset;
-}
-.invite_box {
-  font-size: 16px;
-  background: #fff;
-  border-radius: 5px;
-  padding: 30px 0 150px;
-}
-
-.invite_title {
-  width: 90%;
-  margin: 0 auto 20px;
-}
-
-.line {
-  width: 95%;
-  border-top: 1px solid rgb(230, 230, 230);
-  margin: 0 auto;
-}
-
-.invite_link {
-  width: 90%;
-  margin: 20px auto 30px;
-}
-.invite_link div + div {
-  margin-top: 15px;
-}
-
-.invite_num {
-  width: 90%;
-  margin: 0 auto 50px;
-}
-.invite_num span {
-  color: rgb(112 183 79);
-  font-size: 28px;
-}
-.addRoom_box {
-  background: #fff;
-  padding: 30px 20px;
-  border-radius: 5px;
-}
-.room_b {
-  margin: 5px 0 30px;
-  /* width:300px; */
-}
-.room_btn {
-  display: flex;
-  justify-content: space-around;
-}
-
-.mask {
-  background-color: rgba(0, 0, 0, 0);
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  z-index: 20000;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.progressBox {
-  width: 500px;
-  height: 180px;
-  background: #fff;
-  border-radius: 10px;
-  box-shadow: 0 0 6px 1px #bfbfbf;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  flex-direction: column;
-}
-.progressBox .lbox {
-  height: 100px;
-  font-size: 19px;
-  display: flex;
-  align-items: center;
-}
-
-.progressBox .lbox img {
-  width: 40px;
-  margin-right: 20px;
-}
-
-.progressBox >>> .el-progress-bar__outer {
-  background-color: #d1dfff !important;
-}
-
-.top-popover {
-  position: absolute;
-  top: -50px;
-  left: 0;
-  background: #fff;
-  display: flex;
-  height: 45px;
-  align-items: center;
-  padding: 0px 10px 0 20px;
-  border-radius: 5px;
-  box-shadow: 0 1px 3px 1px rgb(202, 202, 202);
-  z-index: 10;
-  transition: 0.5s all;
-  opacity: 0;
-  visibility: hidden;
-}
-
-.top-popover .pChild {
-  display: flex;
-  align-items: center;
-}
-.top-popover .pChild + .pChild {
-  margin-left: 10px;
-}
-
-.left-popover {
-  position: absolute;
-  top: 0px;
-  right: -65px;
-  background: #fff;
-  display: flex;
-  width: 45px;
-  align-items: center;
-  padding: 10px 5px 20px;
-  border-radius: 5px;
-  box-shadow: 0 1px 3px 1px rgb(202, 202, 202);
-  z-index: 10;
-  flex-direction: column;
-  justify-content: center;
-  transition: 0.5s all;
-  opacity: 0;
-  visibility: hidden;
-}
-.left-popover .pChild {
-  display: flex;
-  align-items: center;
-  flex-direction: column;
-}
-.left-popover .pChild span {
-  display: flex;
-  align-items: center;
-  flex-direction: column;
-  text-align: center;
-}
-.left-popover .pChild + .pChild {
-  margin-top: 10px;
-}
-
-.right-popover {
-  position: absolute;
-  top: 0px;
-  left: -65px;
-  background: #fff;
-  display: flex;
-  width: 45px;
-  align-items: center;
-  padding: 10px 5px 20px;
-  border-radius: 5px;
-  box-shadow: 0 1px 3px 1px rgb(202, 202, 202);
-  z-index: 10;
-  flex-direction: column;
-  justify-content: center;
-  transition: 0.5s all;
-  opacity: 0;
-  visibility: hidden;
-}
-.right-popover .pChild {
-  display: flex;
-  align-items: center;
-  flex-direction: column;
-}
-.right-popover .pChild span {
-  display: flex;
-  align-items: center;
-  flex-direction: column;
-  text-align: center;
-}
-.right-popover .pChild + .pChild {
-  margin-top: 10px;
-}
-
-.visibleO {
-  opacity: 1 !important;
-  visibility: visible !important;
-}
-
-.remark-bottom-popover {
-  position: absolute;
-  bottom: 0px;
-  left: 0;
-  background: #fff;
-  max-height: 150px;
-  width: 100%;
-  padding: 10px 20px;
-  border-radius: 5px;
-  box-shadow: 0 1px 3px 1px rgb(202, 202, 202);
-  z-index: 10;
-  transition: 0.5s all;
-  box-sizing: border-box;
-  transform: translateY(calc(100% + 5px));
-  overflow: auto;
-  opacity: 0;
-  visibility: hidden;
-}
-
-.Rbox {
-  display: flex;
-  word-break: break-all;
-}
-
-.Rbox + .Rbox {
-  border-top: 1px solid rgb(233, 233, 233);
-  margin-top: 10px;
-  padding-top: 10px;
-}
-
-.Rportal {
-  height: 45px;
-  min-width: 45px;
-  border-radius: 50px;
-  overflow: hidden;
-  display: block;
-  background: aliceblue;
-  user-select: none;
-}
-
-.RContent {
-  margin-left: 10px;
-}
-
-.RContent div:nth-child(1) {
-  user-select: none;
-  color: rgb(80, 80, 80);
-  margin-bottom: 5px;
-  font-size: 14px;
-}
-.RContent div:nth-child(2) {
-  font-family: "微软雅黑";
-  font-size: 15px;
-}
-
-.remark-right-popover {
-  position: absolute;
-  top: 0;
-  right: 0;
-  background: #fff;
-  max-height: 100%;
-  width: 300px;
-  padding: 10px 20px;
-  border-radius: 5px;
-  box-shadow: 0 1px 3px 1px rgb(202, 202, 202);
-  z-index: 10;
-  transition: 0.5s all;
-  box-sizing: border-box;
-  transform: translateX(calc(100% + 5px));
-  overflow: auto;
-  opacity: 0;
-  visibility: hidden;
-}
-
-.remark-left-popover {
-  position: absolute;
-  top: 0;
-  left: 0;
-  background: #fff;
-  max-height: 100%;
-  width: 300px;
-  padding: 10px 20px;
-  border-radius: 5px;
-  box-shadow: 0 1px 3px 1px rgb(202, 202, 202);
-  z-index: 10;
-  transition: 0.5s all;
-  box-sizing: border-box;
-  transform: translateX(calc(-100% - 5px));
-  overflow: auto;
-  opacity: 0;
-  visibility: hidden;
-}
-
-.rrrrbox {
-  width: 95%;
-  height: 95%;
-  background: #fff;
-  padding: 10px 20px;
-  box-sizing: border-box;
-  border-radius: 5px;
-  position: absolute;
-  z-index: 9;
-  overflow: auto;
-}
-</style>

+ 0 - 431
src/components/pages/GridList.vue

@@ -1,431 +0,0 @@
-<template>
-  <div class="pb_content g_body">
-    <div class="topBg">
-      <div class="wordIcon">
-        <div class="docImg">
-          <img src="../../assets/icon/word/gridIcon.png" alt="" />
-        </div>
-        <div>思维网格</div>
-      </div>
-      <div class="searchRoom">
-        <div class="firstTop">
-          <input
-            type="text"
-            placeholder="输入房间名称/号码...."
-            v-model="roomS"
-          />
-          <div @click="getRoomList">确定</div>
-        </div>
-        <div class="lastTop">
-          <div class="notice">
-            <img src="../../assets/icon/word/notice.png" alt="" />
-          </div>
-          <div>若找不到房间,输入房间号或名称进行搜索哦!</div>
-        </div>
-      </div>
-      <div class="addOrCreateRoom">
-        <div @click="dialogVisible = true">加入房间</div>
-        <div
-          v-if="tType == '1'"
-          @click="
-            goTo(
-              '/Grid?userid=' +
-                userid +
-                '&oid=' +
-                oid +
-                '&cid=' +
-                cid +
-                '&tType=' +
-                tType
-            )
-          "
-        >
-          创建房间
-        </div>
-      </div>
-    </div>
-    <div class="roomBox">
-      <div class="roomDiv" v-for="(r, rIndex) in roomList" :key="rIndex">
-        <div class="roomImg">
-          <img src="../../assets/icon/word/noImg.png" alt="" />
-        </div>
-        <div class="roomName">
-          <div>{{ r.name ? r.name : "暂无房间名称" }}</div>
-          <div>房间号 {{ r.num }}</div>
-        </div>
-        <div class="enterRoom" @click="enterRoom(r.num)">进入房间</div>
-      </div>
-      <div v-if="roomList.length == 0" class="noRoom">
-        <img src="../../assets/icon/word/noRoom.png" alt="" />
-      </div>
-    </div>
-
-    <el-dialog
-      title="加入房间"
-      class="addOrCreateRoom"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-    >
-      <div slot="title" class="header-title">
-        <div class="title_add_student">加入房间</div>
-      </div>
-      <div class="addRoom_box">
-        <div class="inputBox">
-          <el-input
-            v-model="goNum"
-            placeholder="请输入要加入的房间号"
-          ></el-input>
-          <div class="room_b">
-            备注:输入房间号点击加入房间或点击创建房间直接创建房间
-          </div>
-          <div class="room_btn">
-            <el-button
-              class="roomBtn"
-              type="primary"
-              @click="
-                goTo(
-                  '/Grid?userid=' +
-                    userid +
-                    '&oid=' +
-                    oid +
-                    '&cid=' +
-                    cid +
-                    '&tType=' +
-                    tType +
-                    '&goNum=' +
-                    goNum
-                )
-              "
-              >加入房间</el-button
-            >
-            <!-- <el-button class="roomBtn" type="primary" @click="goRoom(goNum)"
-              >加入房间</el-button
-            >
-            <el-button class="roomBtn" type="primary" @click="checkNum"
-              >创建房间</el-button
-            > -->
-          </div>
-        </div>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import Clipboard from "clipboard";
-import draggable from "vuedraggable";
-export default {
-  components: {
-    //调用组件
-    draggable,
-  },
-  data() {
-    return {
-      dialogVisible: false,
-      goNum: "",
-      roomList: [],
-      copyText: "",
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-      cid: this.$route.query.cid,
-      tType: this.$route.query.tType,
-      roomS: "",
-    };
-  },
-  methods: {
-    goTo(path) {
-      this.$router.push(path);
-    },
-    copy() {
-      this.copyText =
-        this.$refs.inviteT.innerHTML +
-        "\n" +
-        this.$refs.invite1.innerHTML +
-        "\n" +
-        this.$refs.invite2.innerHTML +
-        "\n" +
-        this.$refs.invite3.innerText +
-        "\n" +
-        this.$refs.invite4.innerHTML;
-      var clipboard = new Clipboard(".tag-read");
-      clipboard.on("success", (e) => {
-        this.$message.success("复制成功");
-        console.log("复制成功");
-        clipboard.destroy(); // 释放内存
-      });
-      clipboard.on("error", (e) => {
-        console.log("不支持复制,该浏览器不支持自动复制");
-        clipboard.destroy(); // 释放内存
-      });
-    },
-    handleClose(done) {
-      done();
-    },
-    getRoomList() {
-      let params = {
-        uid: this.userid,
-        oid: this.oid,
-        cid: this.cid,
-        cu: "",
-        cn: this.roomS,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectRoomList", params)
-        .then((res) => {
-          this.roomList = res.data[0];
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    enterRoom(num) {
-      this.goNum = num;
-      this.goTo(
-        "/Grid?userid=" +
-          this.userid +
-          "&oid=" +
-          this.oid +
-          "&cid=" +
-          this.cid +
-          "&tType=" +
-          this.tType +
-          "&goNum=" +
-          this.goNum
-      );
-    },
-  },
-
-  created() {
-    this.getRoomList();
-  },
-};
-</script>
-
-<style scoped>
-.g_body {
-  width: 100%;
-  height: 100%;
-  margin: 0 !important;
-  background: #e6eaf0;
-}
-
-.topBg {
-  background: url("../../assets/icon/word/topBg.png");
-  width: 100%;
-  object-fit: cover;
-  height: 220px;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: center;
-  justify-content: space-between;
-  background-size: 100% 100%;
-}
-
-.wordIcon {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: center;
-  margin: 0 0 100px 45px;
-}
-
-.docImg {
-  width: 40px;
-  height: 40px;
-}
-
-.docImg > img,
-.notice > img,
-.roomImg > img,
-.noRoom > img {
-  width: 100%;
-  height: 100%;
-}
-
-.notice {
-  width: 20px;
-  height: 20px;
-}
-
-.wordIcon > div:nth-child(2) {
-  font-size: 20px;
-  color: #fff;
-  margin-left: 10px;
-}
-
-.addOrCreateRoom {
-  margin: 0 45px 100px 0;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: center;
-}
-
-.addOrCreateRoom > div {
-  width: 90px;
-  background: #199cfe;
-  height: 30px;
-  color: #fff;
-  border-radius: 5px;
-  text-align: center;
-  line-height: 30px;
-  font-size: 12px;
-  cursor: pointer;
-}
-
-.addOrCreateRoom > div:nth-child(2) {
-  margin-left: 20px;
-}
-
-.searchRoom {
-  margin-top: 100px;
-}
-
-.firstTop {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: center;
-}
-
-.firstTop > input {
-  width: 350px;
-  height: 40px;
-  outline: none;
-  border: none;
-  border-radius: 5px;
-  text-indent: 10px;
-}
-
-.firstTop > div {
-  width: 65px;
-  background: #5e5e5e;
-  color: #fff;
-  height: 40px;
-  text-align: center;
-  line-height: 40px;
-  border-radius: 5px;
-  margin-left: 15px;
-  cursor: pointer;
-}
-
-.lastTop {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: center;
-  margin-top: 10px;
-  color: #fff;
-}
-
-.roomBox {
-  width: 98%;
-  margin: 20px 0 0 20px;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  justify-content: flex-start;
-  align-items: center;
-}
-
-.roomDiv {
-  border-radius: 5px;
-  background: #fff;
-  width: 250px;
-  position: relative;
-  height: 260px;
-  margin: 0 30px 30px 0;
-}
-
-.roomNumer {
-  position: absolute;
-  right: 8px;
-  color: #bababa;
-  top: 2px;
-}
-
-.roomImg {
-  width: 250px;
-  margin: 0 auto;
-}
-
-.roomName {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: flex-start;
-  padding: 15px 10px;
-}
-
-.roomName > div:nth-child(1) {
-  font-size: 15px;
-}
-
-.roomName > div:nth-child(2) {
-  color: #bdbdbd;
-  padding-top: 5px;
-  font-size: 12px;
-}
-
-.enterRoom {
-  background: #3e86ff;
-  width: 80%;
-  text-align: center;
-  margin: 0 auto;
-  height: 35px;
-  line-height: 35px;
-  color: #fff;
-  border-radius: 3px;
-  cursor: pointer;
-}
-
-body::-webkit-scrollbar {
-  /*滚动条整体样式*/
-  width: 6px;
-  /*高宽分别对应横竖滚动条的尺寸*/
-  height: 6px;
-}
-.addOrCreateRoom >>> .el-dialog {
-  height: 200px;
-}
-.addOrCreateRoom >>> .el-dialog__header {
-  background: #32455b;
-  color: #fff;
-  height: 40px;
-  line-height: 40px;
-  padding: 0 0 0 20px;
-}
-.addOrCreateRoom >>> .el-dialog__headerbtn {
-  top: 13px !important;
-}
-.addOrCreateRoom >>> .el-dialog__body {
-  background: #f3f3f3;
-  height: 100%;
-}
-.addRoom_box {
-  background: #fff;
-  width: 100%;
-  height: 100%;
-  position: relative;
-}
-.inputBox {
-  padding: 30px 0 0 20px;
-}
-.inputBox >>> .el-input {
-  width: 95% !important;
-}
-.room_b {
-  margin: 10px 0;
-}
-.room_btn {
-  position: absolute;
-  bottom: 35px;
-  left: 39%;
-}
-.noRoom {
-  margin: 10% auto 0;
-}
-</style>

+ 0 - 1187
src/components/pages/Ttype.vue

@@ -1,1187 +0,0 @@
-<template>
-  <div
-    class="pb_content"
-    style="
-      background: unset;
-      overflow: auto;
-      padding: 20px;
-      margin: 0;
-      box-sizing: border-box;
-    "
-  >
-    <div
-      style="
-        position: absolute;
-        width: 95%;
-        top: 0;
-        height: 100%;
-        overflow: auto;
-        left: 50%;
-        transform: translateX(-50%);
-      "
-    >
-      <div
-        class="pb_content_body"
-        style="
-          background: #fff;
-          padding: 0px 25px;
-          box-sizing: border-box;
-          border-radius: 5px;
-        "
-      >
-        <div class="pb_head">
-          <span>分组管理</span>
-          <!-- <span>备注:教师可以根据课程、班级条件筛选学生并查看该学生信息</span> -->
-        </div>
-        <div class="student_head">
-          <div class="student_search">
-            <el-button
-              size="small"
-              type="primary"
-              @click="dialogVisible = true"
-              v-if="step == 0"
-              >添加学校</el-button
-            >
-            <div v-if="step == 1" class="student_search1">
-              <el-breadcrumb
-                separator-class="el-icon-arrow-right"
-                style="margin-top: 15px"
-              >
-                <el-breadcrumb-item>
-                  <span @click="step = 0" style="cursor: pointer"
-                    >学校列表</span
-                  ></el-breadcrumb-item
-                >
-                <el-breadcrumb-item>
-                  <span style="color: rgb(15, 126, 255)">分类列表</span>
-                </el-breadcrumb-item>
-              </el-breadcrumb>
-              <div>
-                <el-button
-                  size="small"
-                  type="primary"
-                  @click="dialogVisible6 = true"
-                  >添加图片</el-button
-                >
-                <el-button
-                  size="small"
-                  type="primary"
-                  @click="dialogVisible2 = true"
-                  >添加分类</el-button
-                >
-              </div>
-            </div>
-            <div v-if="step == 2" class="student_search1">
-              <el-breadcrumb
-                separator-class="el-icon-arrow-right"
-                style="margin-top: 15px"
-              >
-                <el-breadcrumb-item>
-                  <span @click="step = 0" style="cursor: pointer"
-                    >学校列表</span
-                  ></el-breadcrumb-item
-                >
-                <el-breadcrumb-item>
-                  <span @click="step = 1" style="cursor: pointer"
-                    >分类列表</span
-                  >
-                </el-breadcrumb-item>
-                <el-breadcrumb-item>
-                  <span style="color: rgb(15, 126, 255)">子分类列表</span>
-                </el-breadcrumb-item>
-              </el-breadcrumb>
-              <el-button
-                size="small"
-                type="primary"
-                @click="dialogVisible4 = true"
-                >添加子分类</el-button
-              >
-            </div>
-          </div>
-        </div>
-        <el-table
-          ref="table"
-          :data="tableData"
-          stripe
-          border
-          :header-cell-style="{ background: '#f1f1f1', 'text-align': 'center' }"
-          :cell-style="{ 'text-align': 'center' }"
-          style="width: 100%"
-          :height="tableHeight"
-          v-loading="isLoading"
-          v-if="step == 0"
-        >
-          <el-table-column prop="name" label="学校名称" min-width="70">
-          </el-table-column>
-          <el-table-column prop="date" label="操作" min-width="30">
-            <template slot-scope="scope">
-              <div class="pb_buttonBox">
-                <el-button
-                  size="mini"
-                  type="primary"
-                  @click="selectType(scope.row.id)"
-                >
-                  查看分类
-                </el-button>
-                <el-button
-                  size="mini"
-                  type="primary"
-                  @click="updateS(scope.row.id, scope.row.name)"
-                  >修改</el-button
-                >
-                <el-button
-                  size="mini"
-                  type="primary"
-                  @click="deleteSchool(scope.row.id)"
-                  >删除</el-button
-                >
-              </div>
-            </template>
-          </el-table-column>
-        </el-table>
-        <el-table
-          ref="table"
-          :data="tableData1"
-          stripe
-          border
-          :header-cell-style="{ background: '#f1f1f1', 'text-align': 'center' }"
-          :cell-style="{ 'text-align': 'center' }"
-          style="width: 100%"
-          :height="tableHeight"
-          v-loading="isLoading"
-          v-if="step == 1"
-        >
-          <el-table-column prop="name" label="分类名称" min-width="70">
-          </el-table-column>
-          <el-table-column prop="date" label="操作" min-width="30">
-            <template slot-scope="scope">
-              <div class="pb_buttonBox">
-                <el-button
-                  size="mini"
-                  type="primary"
-                  @click="selectSType(scope.row.id)"
-                >
-                  查看子分类
-                </el-button>
-                <el-button
-                  size="mini"
-                  type="primary"
-                  @click="updateP(scope.row.id, scope.row.name)"
-                  >修改</el-button
-                >
-                <el-button
-                  size="mini"
-                  type="primary"
-                  @click="deletePtype(scope.row.id)"
-                  >删除</el-button
-                >
-              </div>
-            </template>
-          </el-table-column>
-        </el-table>
-        <el-table
-          ref="table"
-          :data="tableData2"
-          stripe
-          border
-          :header-cell-style="{ background: '#f1f1f1', 'text-align': 'center' }"
-          :cell-style="{ 'text-align': 'center' }"
-          style="width: 100%"
-          :height="tableHeight"
-          v-loading="isLoading"
-          v-if="step == 2"
-        >
-          <el-table-column prop="name" label="子分类名称" min-width="70">
-          </el-table-column>
-          <el-table-column prop="date" label="操作" min-width="30">
-            <template slot-scope="scope">
-              <div class="pb_buttonBox">
-                <!-- <el-button size="mini" type="primary" @click="selectType">
-                  查看子分类
-                </el-button> -->
-                <el-button
-                  size="mini"
-                  type="primary"
-                  @click="updateSPType(scope.row.id, scope.row.name)"
-                  >修改</el-button
-                >
-                <el-button
-                  size="mini"
-                  type="primary"
-                  @click="deleteStype(scope.row.id)"
-                  >删除</el-button
-                >
-              </div>
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <div class="student_page" v-if="step == 0">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total"
-          v-if="page"
-          @current-change="handleCurrentChange"
-        ></el-pagination>
-      </div>
-      <div class="student_page" v-if="step == 1">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total1"
-          v-if="page1"
-          @current-change="handleCurrentChange1"
-        ></el-pagination>
-      </div>
-      <div class="student_page" v-if="step == 2">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total2"
-          v-if="page2"
-          @current-change="handleCurrentChange2"
-        ></el-pagination>
-      </div>
-    </div>
-    <el-dialog
-      title="添加学校"
-      :visible.sync="dialogVisible"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-      center
-    >
-      <div class="addBox">
-        <span class="tian1">学校名称</span>
-        <el-input
-          v-model="schoolName"
-          style="width: 250px; margin: 15px 0px"
-          placeholder="请输入学校名称"
-        ></el-input>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="addSchool">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="修改学校"
-      :visible.sync="dialogVisible1"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-      center
-    >
-      <div class="addBox">
-        <span class="tian1">学校名称</span>
-        <el-input
-          v-model="schoolName"
-          style="width: 250px; margin: 15px 0px"
-          placeholder="请输入学校名称"
-        ></el-input>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible1 = false">取 消</el-button>
-        <el-button type="primary" @click="updateSchool">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加分类"
-      :visible.sync="dialogVisible2"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-      center
-    >
-      <div class="addBox">
-        <span class="tian1">分类名称</span>
-        <el-input
-          v-model="typeName"
-          style="width: 250px; margin: 15px 0px"
-          placeholder="请输入分类名称"
-        ></el-input>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible2 = false">取 消</el-button>
-        <el-button type="primary" @click="addType">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="修改分类"
-      :visible.sync="dialogVisible3"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-      center
-    >
-      <div class="addBox">
-        <span class="tian1">分类名称</span>
-        <el-input
-          v-model="typeName"
-          style="width: 250px; margin: 15px 0px"
-          placeholder="请输入分类名称"
-        ></el-input>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible3 = false">取 消</el-button>
-        <el-button type="primary" @click="updatePtype">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加子分类"
-      :visible.sync="dialogVisible4"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-      center
-    >
-      <div class="addBox">
-        <span class="tian1">子分类名称</span>
-        <el-input
-          v-model="sTypeName"
-          style="width: 250px; margin: 15px 0px"
-          placeholder="请输入子分类名称"
-        ></el-input>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible4 = false">取 消</el-button>
-        <el-button type="primary" @click="addStype">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="修改子分类"
-      :visible.sync="dialogVisible5"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-      center
-    >
-      <div class="addBox">
-        <span class="tian1">子分类名称</span>
-        <el-input
-          v-model="sTypeName"
-          style="width: 250px; margin: 15px 0px"
-          placeholder="请输入子分类名称"
-        ></el-input>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible5 = false">取 消</el-button>
-        <el-button type="primary" @click="updateStype">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加图片"
-      :visible.sync="dialogVisible6"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-      center
-    >
-      <div>
-        <div class="dialogBox">
-          <span>添加图片</span>
-
-          <el-upload
-            :class="{ disUoloadSty: noneBtnImg }"
-            action="#"
-            list-type="picture-card"
-            :on-preview="handlePictureCardPreview"
-            :on-remove="handleRemove"
-            v-loading="uploadLoading"
-            :http-request="beforeUpload"
-            ref="upload"
-            :show-file-list="true"
-            :limit="1"
-            accept="image/*"
-          >
-            <i class="el-icon-plus"></i>
-          </el-upload>
-        </div>
-        <div class="dialogBox" style="color: #bebebe; margin: 10px 0 0 0">
-          注:适宜上传banner尺寸为1218×300
-        </div>
-        <div class="dialogBox" style="margin: 10px 0 0 0">
-          <span>Banner课程链接</span>
-          <span style="max-width: 160px">{{ bannerCourse.title }}</span>
-          <el-button type="primary" size="medium" @click="addBannerUrlPop"
-            >选择课程</el-button
-          >
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible6 = false">取 消</el-button>
-        <el-button type="primary" @click="addBanner">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog :visible.sync="imgVisible">
-      <img width="100%" :src="dialogImageUrl" alt="" />
-    </el-dialog>
-    <el-dialog
-      title="添加链接"
-      :visible.sync="dialogVisible7"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-      style="text-align: center"
-      center
-    >
-      <div>
-        <el-card class="box-card">
-          <div slot="header" class="cardHead">
-            <el-input
-              v-model="searchClassName"
-              placeholder="请输入需要添加的课程"
-              @keypress.native.enter="Search"
-            ></el-input>
-            <el-button type="text" style="margin: 0 0 0 20px" @click="Search"
-              >搜索</el-button
-            >
-          </div>
-          <div class="cardList">
-            <div v-for="item in courseList" :key="item.courseId">
-              <el-popover placement="top-start" trigger="hover">
-                <p style="max-width: 380px">课程名称: {{ item.title }}</p>
-                <p style="max-width: 380px">简介: {{ item.brief }}</p>
-                <el-radio
-                  :label="item"
-                  slot="reference"
-                  v-model="checkBannerCourse"
-                  ><span>课程名称:</span
-                  ><span>{{ item.title }}</span></el-radio
-                >
-              </el-popover>
-            </div>
-            <!-- </el-checkbox-group> -->
-            <div v-if="courseList.length == 0">暂无数据</div>
-          </div>
-        </el-card>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible7 = false">取 消</el-button>
-        <el-button type="primary" @click="setBannerUrl">确 定</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      tableHeight: "500px",
-      isLoading: false,
-      formLabelWidth: "100px",
-      tableData: [],
-      tableData1: [],
-      tableData2: [],
-      fileList: [],
-      schoolName: "",
-      typeName: "",
-      bannerCourse: "",
-      sTypeName: "",
-      searchClassName: "",
-      checkBannerCourse: "",
-      noneBtnImg: false,
-      isBanner: false,
-      page: 1,
-      total: 0,
-      page1: 1,
-      total1: 0,
-      page2: 1,
-      total2: 0,
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-      dialogVisible: false,
-      dialogVisible1: false,
-      dialogVisible2: false,
-      dialogVisible3: false,
-      dialogVisible4: false,
-      updateOid: "",
-      dialogVisible5: false,
-      dialogVisible6: false,
-      dialogVisible7: false,
-      step: 0,
-      pid: "",
-      imgVisible: false,
-      dialogImageUrl: "",
-      uploadLoading: false,
-      checkList: [],
-      courseList: [],
-    };
-  },
-  mounted() {
-    this.$nextTick(function () {
-      this.tableHeight =
-        window.innerHeight - this.$refs.table.$el.offsetTop - 200;
-      if (this.tableHeight <= 530) {
-        this.tableHeight = 530;
-      }
-      // 监听窗口大小变化
-      let self = this;
-      window.onresize = function () {
-        self.tableHeight =
-          window.innerHeight - self.$refs.table.$el.offsetTop - 200;
-        if (self.tableHeight <= 530) {
-          self.tableHeight = 530;
-        }
-      };
-    });
-  },
-  methods: {
-    goTo(path) {
-      this.$router.push(path);
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    handleClose(done) {
-      done();
-    },
-    imgChange(file, fileList) {
-      var _tmp = this.fileList;
-      this.noneBtnImg = _tmp.length >= 1;
-    },
-    handleRemove(file) {
-      var _tmp = this.fileList;
-      for (var i = 0, len = _tmp.length; i < len; i++) {
-        if (_tmp[i].uid == file.uid) {
-          _tmp.splice(i, 1);
-          break;
-        }
-        this.fileList = _tmp;
-      }
-      this.noneBtnImg = _tmp.length >= 1;
-    },
-    handlePictureCardPreview(file) {
-      this.dialogImageUrl = this.fileList[0].url;
-      this.imgVisible = true;
-    },
-    handleCurrentChange(val) {
-      this.page = val;
-      this.selectSchool();
-    },
-    handleCurrentChange1(val) {
-      this.page1 = val;
-      this.selectType();
-    },
-    handleCurrentChange2(val) {
-      this.page2 = val;
-      this.selectSType();
-    },
-    beforeUpload(data) {
-      this.$refs.upload.uploadFiles;
-      this.uploadLoading = true;
-      var file = data.file;
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-          })
-          .send(function (err, data) {
-            _this.uploadLoading = false;
-            if (err) {
-              var a = _this.$refs.upload.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              //上传成功处理
-              _this.fileList.push({
-                name: file.name,
-                url: data.Location,
-                uid: file.uid,
-              });
-              console.log(data.Location);
-              _this.imgChange();
-            }
-          });
-      }
-    },
-    addBanner() {
-      if (this.isBanner == true) {
-        this.$confirm(
-          "您已经添加过Banner了,如果您再提交将覆盖上次提交的Banner!",
-          "提示",
-          {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning",
-          }
-        )
-          .then(() => {
-            var list = this.fileList;
-            if (list.length == 0) {
-              this.$message.error("请上传需要添加的banner");
-              return;
-            }
-            if (this.time()) {
-              let params = [
-                {
-                  p: list[0].url,
-                  url: "",
-                  uid: this.userid,
-                  oid: this.updateOid,
-                },
-              ];
-              this.ajax
-                .post(this.$store.state.api + "addBanner", params)
-                .then((res) => {
-                  this.$message({
-                    message: "添加成功",
-                    type: "success",
-                  });
-                  this.dialogVisible6 = false;
-                  this.init();
-                })
-                .catch((err) => {
-                  this.$message.error("添加失败");
-                  console.error(err);
-                });
-            }
-          })
-          .catch(() => {});
-      } else {
-        var list = this.fileList;
-        if (list.length == 0) {
-          this.$message.error("请上传需要添加的banner");
-          return;
-        }
-        if (this.time()) {
-          let params = [
-            {
-              p: list[0].url,
-              url: "",
-              uid: this.userid,
-              oid: this.updateOid,
-            },
-          ];
-          this.ajax
-            .post(this.$store.state.api + "addBanner", params)
-            .then((res) => {
-              this.$message({
-                message: "添加成功",
-                type: "success",
-              });
-              this.dialogVisible6 = false;
-              this.init();
-            })
-            .catch((err) => {
-              this.$message.error("添加失败");
-              console.error(err);
-            });
-        }
-      }
-    },
-    setBannerUrl() {
-      if (this.checkBannerCourse == "") {
-        this.$message.error("请选择作为banner链接的课程");
-        return;
-      }
-      this.bannerCourse = this.checkBannerCourse;
-      this.dialogVisible7 = false;
-    },
-    selectSchool() {
-      this.isLoading = true;
-      let params = {
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectSchoolName", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.tableData = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    addSchool() {
-      let params = [
-        {
-          n: this.schoolName,
-          cuid: this.userid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "addSchoolAdmin", params)
-        .then((res) => {
-          this.$message({
-            message: "添加成功",
-            type: "success",
-          });
-          this.dialogVisible = false;
-          this.schoolName = "";
-          this.selectSchool();
-        })
-        .catch((err) => {
-          this.$message.error("添加失败");
-          console.error(err);
-        });
-    },
-    updateS(id, name) {
-      this.dialogVisible1 = true;
-      this.schoolName = name;
-      this.updateId = id;
-    },
-    updateP(id, name) {
-      this.dialogVisible3 = true;
-      this.typeName = name;
-      this.updateId = id;
-    },
-    updateSPType(id, name) {
-      this.dialogVisible5 = true;
-      this.sTypeName = name;
-      this.updateId = id;
-    },
-    updateSchool() {
-      let params = {
-        oid: this.updateId,
-        n: this.schoolName,
-      };
-      this.ajax
-        .get(this.$store.state.api + "updateSN", params)
-        .then((res) => {
-          this.$message({
-            message: "修改成功",
-            type: "success",
-          });
-          this.dialogVisible1 = false;
-          this.updateId = "";
-          this.schoolName = "";
-          this.selectSchool();
-        })
-        .catch((err) => {
-          this.$message.error("修改失败");
-          console.error(err);
-        });
-    },
-    deleteSchool(id) {
-      let params = [
-        {
-          id: id,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "deleteSchoolAdmin", params)
-        .then((res) => {
-          this.$message({
-            message: "删除成功",
-            type: "success",
-          });
-          this.updateId = "";
-          this.schoolName = "";
-          this.selectSchool();
-        })
-        .catch((err) => {
-          this.$message.error("删除成功");
-          console.error(err);
-        });
-    },
-    selectType(id) {
-      this.tableData1 = [];
-      this.tableData2 = [];
-      this.step = 1;
-      this.updateOid = id;
-      let params = {
-        page: this.page1,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectPtype", params)
-        .then((res) => {
-          this.total1 = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.tableData1 = res.data[0];
-          this.selectBanner();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectBanner() {
-      let params = {
-        oid: this.updateOid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectBannerByOid", params)
-        .then((res) => {
-          if (res.data[0].length > 0) {
-            this.isBanner = true;
-          } else {
-            this.isBanner = false;
-          }
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectSType(pid) {
-      this.step = 2;
-      if (pid != undefined) {
-        this.pid = pid;
-      }
-      let params = {
-        pid: pid != undefined ? pid : this.pid,
-        oid: this.updateOid,
-        page: this.page2,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectStype", params)
-        .then((res) => {
-          this.total2 = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.tableData2 = res.data[0];
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    addType() {
-      let params = {
-        n: this.typeName,
-        uid: this.userid,
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "addPtype", params)
-        .then((res) => {
-          this.$message({
-            message: "添加成功",
-            type: "success",
-          });
-          this.dialogVisible2 = false;
-          this.typeName = "";
-          this.selectType();
-        })
-        .catch((err) => {
-          this.$message.error("添加失败");
-          console.error(err);
-        });
-    },
-    updatePtype() {
-      let params = {
-        n: this.typeName,
-        tid: this.updateId,
-      };
-      this.ajax
-        .get(this.$store.state.api + "updatePtype", params)
-        .then((res) => {
-          this.$message({
-            message: "修改成功",
-            type: "success",
-          });
-          this.dialogVisible3 = false;
-          this.updateId = "";
-          this.typeName = "";
-          this.selectType();
-        })
-        .catch((err) => {
-          this.$message.error("修改失败");
-          console.error(err);
-        });
-    },
-    deletePtype(id) {
-      let params = {
-        tid: id,
-      };
-      this.ajax
-        .get(this.$store.state.api + "deletePtype", params)
-        .then((res) => {
-          this.$message({
-            message: "删除成功",
-            type: "success",
-          });
-          this.updateId = "";
-          this.typeName = "";
-          this.selectType();
-        })
-        .catch((err) => {
-          this.$message.error("删除失败");
-          console.error(err);
-        });
-    },
-    addStype() {
-      let params = {
-        n: this.sTypeName,
-        pid: this.pid,
-        uid: this.userid,
-        oid: this.updateOid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "addStype", params)
-        .then((res) => {
-          this.$message({
-            message: "添加成功",
-            type: "success",
-          });
-          this.dialogVisible4 = false;
-          this.sTypeName = "";
-          this.selectSType();
-        })
-        .catch((err) => {
-          this.$message.error("添加成功");
-          console.error(err);
-        });
-    },
-    updateStype() {
-      let params = {
-        n: this.sTypeName,
-        tid: this.updateId,
-      };
-      this.ajax
-        .get(this.$store.state.api + "updatePtype", params)
-        .then((res) => {
-          this.$message({
-            message: "修改成功",
-            type: "success",
-          });
-          this.dialogVisible5 = false;
-          this.updateId = "";
-          this.sTypeName = "";
-          this.selectSType();
-        })
-        .catch((err) => {
-          this.$message.error("修改失败");
-          console.error(err);
-        });
-    },
-    //打开添加弹窗
-    addBannerUrlPop() {
-      this.dialogVisible7 = true;
-      this.searchClassName = "";
-      this.Search();
-    },
-    init() {
-      this.searchClassName = "";
-      this.checkList = [];
-      this.courseList = [];
-      this.fileList = [];
-      this.$refs.upload ? (this.$refs.upload.uploadFiles.length = 0) : "";
-      this.noneBtnImg = false;
-      this.dialogImageUrl = "";
-      this.bannerCourse = "";
-      this.checkBannerCourse = "";
-    },
-    Search() {
-      this.checkList = [];
-      let params = { t: this.searchClassName, oid: this.updateOid };
-      this.ajax
-        .get(this.$store.state.api + "getSearchCourseByoid", params)
-        .then((res) => {
-          this.courseList = res.data[0];
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    deleteStype(id) {
-      let params = {
-        tid: id,
-      };
-      this.ajax
-        .get(this.$store.state.api + "deletePtype", params)
-        .then((res) => {
-          this.$message({
-            message: "删除成功",
-            type: "success",
-          });
-          this.updateId = "";
-          this.sTypeName = "";
-          this.selectSType();
-        })
-        .catch((err) => {
-          this.$message.error("删除失败");
-          console.error(err);
-        });
-    },
-  },
-  created() {
-    this.page = 1;
-    this.selectSchool();
-  },
-};
-</script>
-
-<style scoped>
-.pb_head > span:nth-child(2) {
-  font-size: 16px;
-  margin-left: 80px;
-  color: #ab582f;
-}
-.addBox {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.tian1 {
-  /* font-size: 16px; */
-  margin-right: 10px;
-}
-.pb_head {
-  margin: 0 !important;
-  width: 100% !important;
-}
-.student_page {
-  margin: 10px 0 0 45px;
-}
-.disUoloadSty >>> .el-upload--picture-card {
-  display: none; /* 上传按钮隐藏 */
-}
-.dialogBox {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.dialogBox span {
-  margin: 0 20px;
-}
-.student_head {
-  margin-top: 10px;
-  padding-bottom: 15px;
-  display: flex;
-  justify-content: space-between;
-}
-.student_search,
-.student_search1 {
-  display: flex;
-  width: 100%;
-  position: relative;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: center;
-  justify-content: flex-end;
-}
-
-.student_search1 {
-  justify-content: space-between;
-}
-
-.student_table >>> .el-table--border td {
-  border-right: 0px !important;
-}
-
-.student_table >>> .el-table,
-.student_table >>> .el-table__body-wrapper {
-  height: auto !important;
-}
-
-.el-table >>> .even_row {
-  background-color: #f1f1f1 !important;
-}
-
-.dialog_diy >>> .el-dialog__header {
-  padding: 9px 20px 10px;
-  background: #32455b !important;
-}
-.dialog_diy >>> .el-dialog__title {
-  color: #fff;
-  font-size: 15px;
-}
-.dialog_diy >>> .el-dialog__headerbtn {
-  top: 14px;
-}
-.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;
-}
-.r_diy >>> .el-dialog__footer {
-  padding: 0;
-}
-.a_addBox {
-  height: 570px;
-  overflow: auto;
-}
-
-.workdates {
-  height: 100%;
-  position: absolute;
-  top: 0;
-  background: #fff;
-  overflow: auto;
-  z-index: 1;
-  width: 95%;
-  left: 50%;
-  transform: translateX(-50%);
-  padding: 20px;
-  box-sizing: border-box;
-}
-.cancelbox {
-  position: absolute;
-  z-index: 2;
-  left: 50%;
-  width: 95%;
-  transform: translateX(-50%);
-  display: flex;
-  justify-content: flex-end;
-  padding: 0 90px 0px 0px;
-  box-sizing: border-box;
-}
-.cardList {
-  font-size: 14px;
-  height: 360px;
-  overflow: auto;
-}
-.cardList div {
-  margin-bottom: 18px;
-}
-.cardList div:last-child {
-  margin-bottom: 0;
-}
-.cardHead {
-  display: flex;
-}
-</style>

+ 0 - 8185
src/components/pages/addCourse.vue

@@ -1,8185 +0,0 @@
-<template>
-  <div class="pb_content">
-    <div class="pb_content_body" style="position: relative; margin: 0">
-      <div class="right">
-        <div class="stepBg">
-          <div v-if="steps == 1" class="first" @click="navSteps(1)">
-            <div>
-              <img src="../../assets/icon/first.png" alt />
-            </div>
-            <div>填写基本信息</div>
-          </div>
-          <div v-else class="firstNo" @click="navSteps(1)">
-            <div>
-              <img src="../../assets/icon/firstNo.png" alt />
-            </div>
-            <div>填写基本信息</div>
-          </div>
-          <div v-show="cidType === 0" class="secondNo">
-            <div v-if="steps == 2" class="newSteps second" @click="navSteps(2)">
-              <div style="margin: 5px 10px 0 0; width: 2rem">
-                <img src="../../assets/icon/second.png" alt />
-              </div>
-              <div>选择项目框架</div>
-            </div>
-            <div v-else class="newSteps secondNo" @click="navSteps(2)">
-              <div>
-                <img src="../../assets/icon/secondNo.png" alt />
-              </div>
-              <div>选择项目框架</div>
-            </div>
-          </div>
-
-          <div v-if="steps == 3" class="third" @click="navSteps(3)">
-            <div>
-              <img src="../../assets/icon/third.png" alt />
-            </div>
-            <div>上传项目内容</div>
-          </div>
-          <div v-else class="thirdNo" @click="navSteps(3)">
-            <div>
-              <img src="../../assets/icon/thirdNo.png" alt />
-            </div>
-            <div>上传项目内容</div>
-          </div>
-          <div v-if="steps == 4" class="four">
-            <div>
-              <img src="../../assets/icon/four.png" alt />
-            </div>
-            <div>上传完成</div>
-          </div>
-          <div v-else class="fourNo">
-            <div>
-              <img src="../../assets/icon/fourNo.png" alt />
-            </div>
-            <div>上传完成</div>
-          </div>
-        </div>
-        <!-- <div style="display: flex; margin-top: 20px; position: relative"> -->
-        <div style="width: 100%; height: 100%; overflow: auto" ref="stepBox">
-          <div class="courseTop">
-            <div class="stepsNav">
-              <h3 class="info_title" v-if="steps == 1">项目内容填写</h3>
-              <h3 class="info_title" v-if="steps == 2">请选择项目框架</h3>
-              <h3 class="info_title" v-if="steps == 3">项目内容填写</h3>
-              <h3 class="info_title" v-if="steps == 4">上传项目</h3>
-              <el-breadcrumb
-                separator-class="el-icon-arrow-right"
-                style="margin-top: 15px"
-              >
-                <el-breadcrumb-item
-                  :to="{
-                    path:
-                      '/course?userid=' +
-                      userid +
-                      '&oid=' +
-                      oid +
-                      '&org=' +
-                      org,
-                  }"
-                  >项目管理</el-breadcrumb-item
-                >
-                <el-breadcrumb-item>
-                  <span style="color: rgb(15, 126, 255)">添加项目</span>
-                </el-breadcrumb-item>
-              </el-breadcrumb>
-            </div>
-            <div
-              v-if="steps == 1 || steps == 2 || steps == 3"
-              class="stepsWord"
-            >
-              {{
-                steps == 1
-                  ? "第一步"
-                  : steps == 2
-                  ? "第二步"
-                  : steps == 3
-                  ? "第三步"
-                  : ""
-              }}
-            </div>
-          </div>
-          <div class="rightBox" v-if="this.steps == 1">
-            <div
-              class="updateMask"
-              :style="{ height: rightBoxHeight + 'px' }"
-              v-if="cid && userid != courseUserid"
-            ></div>
-            <div class="whiteBg">
-              <div
-                class="right_title"
-                :class="{ updateTips: cid && userid != courseUserid }"
-              >
-                项目基本信息
-              </div>
-              <div class="basic_box">
-                <div class="big_box">
-                  <div class="left_first">
-                    <div>
-                      <div>
-                        <div class="bInfo_title" style="margin-bottom: 15px">
-                          <!-- <span style="color: red">*</span>  -->
-                          项目名称
-                        </div>
-                        <div style="display: flex; margin-right: 20px">
-                          <img
-                            src="../../assets/icon/projectName.png"
-                            alt
-                            style="margin-right: 8px"
-                          />
-                          <input
-                            type="text"
-                            placeholder="请输入项目名称"
-                            class="binfo_input"
-                            v-model="courseName"
-                          />
-                        </div>
-                      </div>
-                      <div class="both">
-                        <div class="choose">
-                          <div
-                            class="all_choose"
-                            v-for="(item, index) in CourseType[0]"
-                            :key="index"
-                          >
-                            <span>{{ item.name }}</span>
-                            <el-checkbox-group v-model="courseTypeId">
-                              <el-checkbox
-                                v-for="item1 in CourseTypeJson[item.id]"
-                                :key="item1.id"
-                                :label="item1.id"
-                                >{{ item1.name }}</el-checkbox
-                              >
-                            </el-checkbox-group>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                  </div>
-                </div>
-              </div>
-            </div>
-            <div class="whiteBg" style="border-radius: 0">
-              <div class="right_first">
-                <div class="right_title">上传封面与成员</div>
-
-                <div
-                  style="
-                    padding: 0 0 50px 20px;
-                    display: flex;
-                    align-items: baseline;
-                    justify-content: flex-start;
-                    margin: 0 auto;
-                  "
-                >
-                  <div>
-                    <div class="bInfo_title" style="margin-top: 0 !important">
-                      项目封面
-                    </div>
-                    <div
-                      class="uploadFm"
-                      @click="choosePicVisible = true"
-                      v-if="cover.length == 0"
-                    >
-                      <img src="../../assets/icon/addPoster.png" alt="" />
-                    </div>
-                    <el-upload
-                      :class="{ disUoloadSty: noneBtnImg }"
-                      class="upCss"
-                      action="#"
-                      list-type="picture"
-                      v-loading="uploadLoading1"
-                      :http-request="beforeUpload1"
-                      ref="upload1"
-                      :on-preview="handlePictureCardPreview"
-                      :on-remove="handle_remove1"
-                      :show-file-list="true"
-                      :file-list="cover"
-                      accept="image/*"
-                      :limit="1"
-                      :on-exceed="onExceed"
-                      v-else
-                    >
-                      <i class="el-icon-plus"></i>
-                    </el-upload>
-                  </div>
-                  <div
-                    style="
-                      display: flex;
-                      flex-flow: row nowrap;
-                      flex-direction: row;
-                      flex-wrap: wrap;
-                      align-items: baseline;
-                      margin: 0 30px;
-                    "
-                  >
-                    <!-- <div style="margin: 0 80px">
-                      <div class="bInfo_title">
-                        选择项目成员
-                      </div>
-                      <div
-                        class="addPeople"
-                        @click="addPP"
-                        v-if="this.checkboxList.length == 0"
-                      >添加成员</div>
-                      <div class="addPeople" @click="addPP" v-else>已添加,点击查看</div>
-                    </div>-->
-                    <div style="margin: 0 30px 0 0">
-                      <div class="bInfo_title">添加权限</div>
-                      <div class="addPeople" @click="dialogVisibleClass = true">
-                        添加权限
-                      </div>
-                    </div>
-                    <div
-                      style="flex: 0.5 1 0%; margin: 0"
-                      v-if="courseUserid != '' ? courseUserid == userid : true"
-                    >
-                      <div class="bInfo_title">协同编辑</div>
-                      <div
-                        class="addPeople"
-                        @click="dialogVisibleMember = true"
-                        style="background: #6b92c9"
-                      >
-                        添加协同成员
-                      </div>
-                    </div>
-                  </div>
-                </div>
-              </div>
-            </div>
-            <div class="whiteBg" style="border-radius: 0; margin-top: 15px">
-              <div class="right_title">项目简要描述</div>
-              <div style="width: 95%; margin: 15px auto">
-                <div style="width: 55%">
-                  <textarea
-                    rows="8"
-                    class="binfo_input"
-                    cols
-                    v-model="courseText"
-                  ></textarea>
-                </div>
-              </div>
-              <!-- <div style="width: 95%; margin: 15px auto">
-                <el-switch
-                  v-model="isTeacherSee"
-                  active-text="允许给其他老师查看"
-                  style="padding-bottom: 30px"
-                ></el-switch>
-              </div>-->
-              <div style="width: 95%; margin: 15px auto">
-                <el-switch
-                  v-model="isTeacherSee"
-                  active-text="是否公开此项目"
-                  style="padding-bottom: 30px"
-                ></el-switch>
-              </div>
-            </div>
-            <div
-              class="whiteBg"
-              style="border-radius: 0; margin-top: 15px; padding-bottom: 20px"
-            >
-              <div class="right_title">目标管理</div>
-              <div style="margin: 15px auto; padding: 0 0 0 20px">
-                <div
-                  style="
-                    width: 100%%;
-                    display: flex;
-                    flex-direction: row;
-                    flex-wrap: nowrap;
-                    align-content: center;
-                    align-items: center;
-                    justify-content: space-between;
-                  "
-                >
-                  <div
-                    style="
-                      display: flex;
-                      flex-flow: row nowrap;
-                      align-items: flex-start;
-                      width: 100%;
-                      flex-direction: column;
-                      flex-wrap: nowrap;
-                      position: relative;
-                    "
-                  >
-                    <!-- <div style="margin-right: 15px; min-width: 120px">
-                      请选择评价指标
-                    </div>
-                    <div>
-                      <el-select
-                        v-model="evalua"
-                        placeholder="请选择体系"
-                        @change="checkEva"
-                      >
-                        <el-option
-                          v-for="(e, eIndex) in evaJuri"
-                          :key="eIndex"
-                          :label="e.title"
-                          :value="e.id"
-                        ></el-option>
-                      </el-select>
-                    </div> -->
-                    <!-- <div
-                      @click="openT"
-                      class="addPeople"
-                      style="
-                        background: #6b92c9;
-                        margin: 0 0 0 15px;
-                        position: absolute;
-                        right: 23%;
-                      "
-                    >
-                      前往设置目标管理
-                    </div> -->
-                    <div class="e_box">
-                      <div
-                        class="e_card"
-                        v-for="(item, index) in evaJuri"
-                        :key="index"
-                      >
-                        <div class="e_card_picture">
-                          <img src="../../assets/e_picture.png" />
-                        </div>
-                        <div class="e_card_name">
-                          <span>{{ item.title }}</span>
-                        </div>
-                        <!-- <div class="e_card_time">
-                          <span>{{ item.time }}</span>
-                        </div> -->
-                        <div class="e_card_btn">
-                          <span @click="checkEva(item.id)">导入</span>
-                          <!-- <span @click="openT">前往设置</span> -->
-                        </div>
-                      </div>
-                      <div class="addEva" @click="openT">
-                        <img src="../../assets/icon/addEva.png" alt="" />
-                      </div>
-                      <div
-                        v-if="evaJuri.length === 0"
-                        style="margin: 0 auto; color: #6e6e6e"
-                      >
-                        暂无数据
-                      </div>
-                    </div>
-                  </div>
-                </div>
-                <div
-                  v-if="evalua"
-                  style="
-                    border: 1px solid #e5e5e5;
-                    width: 95%;
-                    margin-top: 30px;
-                    box-shadow: 3px 1px 15px 3px #e0e0e0;
-                  "
-                >
-                  <div class="e_add_top">
-                    <div class="e_add_title">
-                      <span>当前使用目标管理</span>
-                      <span>{{ eTitle }}</span>
-                      <img
-                        src="../../assets/line.png"
-                        class="cru_line"
-                        style="
-                          width: 125px;
-                          height: 20px;
-                          bottom: -10px;
-                          left: 155px;
-                        "
-                      />
-                      <!-- <el-input
-                        v-model="eTitle"
-                        placeholder="请输入名称"
-                        @change="setMindData"
-                      ></el-input>-->
-                    </div>
-                  </div>
-                  <div class="e_add_content">
-                    <div class="e_add_list_pbox">
-                      <div class="e_add_list_pbox_title">
-                        <span class="type_title">切换模式</span>
-                        <div class="type_content">
-                          <span
-                            :class="{ active: typeMode == 1 }"
-                            @click="OtherMb(1)"
-                            >目标树</span
-                          >
-                          <span
-                            :class="{ active: typeMode == 2 }"
-                            @click="OtherMb(2)"
-                            >目标罗盘</span
-                          >
-                          <span
-                            :class="{ active: typeMode == 3 }"
-                            @click="OtherMb(3)"
-                            >目标看板</span
-                          >
-                        </div>
-                      </div>
-                      <div class="e_add_list_pbox_content">
-                        <Mind
-                          :showBar="false"
-                          :mindData="data"
-                          v-show="typeMode == 1"
-                        ></Mind>
-                        <Sunburst
-                          :Josn="eJson"
-                          :num="eJSONNum"
-                          style="width: 100%"
-                          v-if="typeMode == 2"
-                        ></Sunburst>
-                        <SeeBoard
-                          :Josn="eJson"
-                          :num="eJSONNum"
-                          :ename="eTitle"
-                          style="width: 100%"
-                          v-if="typeMode == 3"
-                        ></SeeBoard>
-                      </div>
-                    </div>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-          <div class="rightBox" v-if="this.steps == 2">
-            <div
-              class="basic_box"
-              style="padding: 20px 30px 0px !important; box-sizing: border-box"
-            >
-              <!-- <div
-                style="
-                  color: #b8b8b8;
-                  background: #fff;
-                  width: 26%;
-                  height: 40px;
-                  border-radius: 15px;
-                  padding-left: 20px;
-                  line-height: 40px;
-                  font-size: 17px;
-                  box-shadow: 0px 1px 2px 2px #e0e0e0;
-                "
-              >-->
-              <div
-                class="right_title"
-                style="border: none; margin: 0; padding: 0"
-              >
-                请选择合适的项目模板
-              </div>
-              <div class="wordbox">
-                <div
-                  class="wordTeacher"
-                  v-for="(aa, indexF) in templateArray"
-                  :key="indexF"
-                  @click="checkTemplate(aa)"
-                >
-                  <div class="wordPic">
-                    <img src="../../assets/icon/wordMub.png" alt />
-                  </div>
-
-                  <div
-                    style="
-                      margin-top: 10px;
-                      line-height: 19px;
-                      overflow: hidden;
-                      text-overflow: ellipsis;
-                      white-space: nowrap;
-                      padding: 0 20px;
-                    "
-                  >
-                    {{ aa.title }}
-                  </div>
-                </div>
-                <div class="wordTeacher" @click="checkTemplate2()">
-                  <div class="wordPic">
-                    <img src="../../assets/icon/wordMub.png" alt />
-                  </div>
-
-                  <div
-                    style="
-                      margin-top: 10px;
-                      line-height: 19px;
-                      overflow: hidden;
-                      text-overflow: ellipsis;
-                      white-space: nowrap;
-                      padding: 0 20px;
-                    "
-                  >
-                    新建项目
-                  </div>
-                </div>
-                <div class="wordTeacher" @click="checkTemplate1()">
-                  <div class="wordPic">
-                    <img src="../../assets/icon/wordMub.png" alt />
-                  </div>
-
-                  <div
-                    style="
-                      margin-top: 10px;
-                      line-height: 19px;
-                      overflow: hidden;
-                      text-overflow: ellipsis;
-                      white-space: nowrap;
-                      padding: 0 20px;
-                    "
-                  >
-                    我的项目
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-          <div class="rightBox" v-if="this.steps == 3" ref="rightboxR">
-            <div class="basic_box">
-              <div
-                style="
-                  display: flex;
-                  flex-direction: row;
-                  align-items: center;
-                  position: sticky;
-                  top: 0;
-                  background: #fff;
-                  z-index: 99;
-                  width: 100%;
-                  padding: 0 20px 0 20px;
-                  box-sizing: border-box;
-                "
-              >
-                <div class="cru_selectBox">
-                  <div
-                    v-for="(item, index) in unitJson"
-                    :key="index"
-                    class="cru_select"
-                    :class="unitIndex == index ? 'cru_selected' : ''"
-                    @click="unitSet(index)"
-                  >
-                    第{{ index + 1 }}阶段
-                  </div>
-                  <img
-                    src="../../assets/line.png"
-                    class="cru_line"
-                    :style="{
-                      left: offsetLetfPx + 'px',
-                    }"
-                  />
-                </div>
-                <div class="addStageImg" @click="addunit()">
-                  <img src="../../assets/icon/add.png" alt />
-                </div>
-              </div>
-
-              <div
-                style="margin: 0 0 40px 0; padding: 0 20px 0 20px"
-                v-for="(item, index) in unitJson[unitIndex].chapterInfo"
-                :key="index"
-              >
-                <div>
-                  <div class="chapter_contentbox">
-                    <div>第{{ unitIndex + 1 }}阶段</div>
-                    <div>
-                      <input
-                        type="text"
-                        placeholder="阶段标题"
-                        class="binfo_input"
-                        v-model="unitJson[unitIndex].dyName"
-                      />
-                    </div>
-                    <div
-                      v-if="unitJson.length > 1"
-                      @click="deleteUnit(unitIndex)"
-                    ></div>
-                  </div>
-                </div>
-                <div
-                  style="
-                    margin: 50px 0px 10px;
-                    font-size: 1.5em;
-                    font-weight: 700;
-                    color: #0f7eff;
-                  "
-                >
-                  添加任务
-                </div>
-                <div
-                  class="taskBorder"
-                  v-for="(itemTask, itemTaskIndex) in item.taskJson"
-                  :key="itemTaskIndex"
-                >
-                  <div>
-                    <div>
-                      <div style="font-size: 22px; color: #8e8e8e">
-                        任务{{ itemTaskIndex + 1 }}
-                      </div>
-                      <div
-                        class="chapter_contentbox"
-                        style="
-                          flex-direction: row;
-                          justify-content: flex-start;
-                          align-items: center;
-                        "
-                      >
-                        <div
-                          style="
-                            border-left: 6px solid #5699e8;
-                            height: 20px;
-                            padding-left: 10px;
-                            line-height: 22px;
-                          "
-                        >
-                          任务名称
-                        </div>
-                        <div>
-                          <input
-                            type="text"
-                            placeholder="输入任务名称"
-                            class="binfo_input"
-                            style="border-radius: 4px"
-                            v-model="
-                              unitJson[unitIndex].chapterInfo[0].taskJson[
-                                itemTaskIndex
-                              ].task
-                            "
-                          />
-                        </div>
-                        <div
-                          class="remove"
-                          v-if="item.taskJson.length > 1"
-                          @click="deleteTask(itemTaskIndex)"
-                          style="position: absolute; right: 55px"
-                        ></div>
-                      </div>
-                      <div
-                        style="
-                          display: flex;
-                          margin: 0 0 20px 0;
-                          flex-direction: row;
-                          justify-content: flex-start;
-                          align-items: center;
-                          width: 70.5% !important;
-                          padding-top: 30px;
-                        "
-                      >
-                        <div class="lineTitle">任务描述</div>
-                        <div class="line"></div>
-                      </div>
-                      <div>
-                        <editor-bar
-                          style="width: 90% !important; margin: 0"
-                          placeholder="请输入任务描述"
-                          v-model="
-                            unitJson[unitIndex].chapterInfo[0].taskJson[
-                              itemTaskIndex
-                            ].taskDetail
-                          "
-                          @change="change"
-                        ></editor-bar>
-                        <!-- <textarea
-                          rows="6"
-                          class="binfo_input"
-                          placeholder="请输入任务描述"
-                          cols
-                          style="width: 70.5% !important; height: 120px"
-                          v-model="
-                            unitJson[unitIndex].chapterInfo[0].taskJson[
-                              itemTaskIndex
-                            ].taskDetail
-                          "
-                        ></textarea>-->
-                      </div>
-                    </div>
-                  </div>
-                  <div
-                    class="basic_box"
-                    style="
-                      margin: 0;
-                      min-height: 0;
-                      width: 90% !important;
-                      paddint-top: 10px !important;
-                    "
-                  >
-                    <div
-                      style="
-                        display: flex;
-                        margin: 0 0 20px 0;
-                        flex-direction: row;
-                        justify-content: flex-start;
-                        align-items: center;
-                      "
-                    >
-                      <div class="lineTitle">学习内容</div>
-                      <div class="line"></div>
-                    </div>
-                    <div>
-                      <div
-                        class="add_chapters_box"
-                        v-if="
-                          itemTask.chapterData &&
-                          itemTask.chapterData.length == 0
-                        "
-                        style="height: 185px"
-                      ></div>
-                      <div
-                        v-else
-                        class="add_chapters_box"
-                        style="display: flex; flex-direction: column"
-                      >
-                        <div
-                          class="chapter_upload"
-                          v-for="(item1, index1) in itemTask.chapterData"
-                          :key="item1.id"
-                          @click="
-                            getChapterData(
-                              $event,
-                              unitIndex,
-                              index,
-                              index1,
-                              item1.type
-                            )
-                          "
-                        >
-                          <div
-                            class="chapter_upload_t"
-                            style="width: 100%"
-                          ></div>
-                          <div
-                            class="chapter_upload_o"
-                            style="
-                              position: relative;
-                              display: flex;
-                              align-items: center;
-                            "
-                          >
-                            <div
-                              class="chapter_upload_l"
-                              style="padding: 1px 0 0 10px"
-                            >
-                              <div
-                                v-if="item1.type == 2"
-                                class="chapter_upload_l_i1"
-                              ></div>
-                              <div
-                                v-if="
-                                  item1.type == 3 ||
-                                  item1.type == 6 ||
-                                  item1.type == 7
-                                "
-                                class="chapter_upload_l_i5"
-                                style="margin-left: 1px"
-                              ></div>
-                              <div
-                                v-if="item1.type == 8"
-                                class="chapter_upload_l_i8"
-                                style="margin-left: 1px"
-                              ></div>
-                            </div>
-                            <div
-                              class="chapter_upload_ic"
-                              style="
-                                cursor: pointer;
-                                position: absolute;
-                                width: 45px;
-                                right: 0;
-                                top: 0;
-                              "
-                            >
-                              <div class="chapter_upload_ic_l"></div>
-                              <div
-                                class="chapter_upload_ic_r"
-                                style="position: absolute"
-                                @click.stop="
-                                  deleteChapterData(
-                                    $event,
-                                    unitIndex,
-                                    index,
-                                    index1,
-                                    itemTaskIndex
-                                  )
-                                "
-                              >
-                                <div></div>
-                              </div>
-                            </div>
-                            <div class="chapter_upload_n">
-                              <input
-                                v-if="
-                                  item1.type == 2 ||
-                                  item1.type == 3 ||
-                                  item1.type == 7
-                                "
-                                :placeholder="item1.name"
-                                @change="
-                                  updataVideoT(
-                                    $event,
-                                    unitIndex,
-                                    chapterIndex,
-                                    index1
-                                  )
-                                "
-                                style="
-                                  border: none;
-                                  outline: none;
-                                  width: 80%;
-                                  minwidth: 215px;
-                                  z-index: 99;
-                                  font-size: 14px;
-                                  white-space: nowrap;
-                                  overflow: hidden;
-                                  text-overflow: ellipsis;
-                                "
-                              />
-                              <input
-                                :placeholder="item1.name"
-                                v-if="item1.type == 6"
-                                style="
-                                  border: none;
-                                  outline: none;
-                                  width: 80%;
-                                  white-space: nowrap;
-                                  overflow: hidden;
-                                  text-overflow: ellipsis;
-                                "
-                                readonly="true"
-                                @click="selectAttText(itemTaskIndex, index1)"
-                              />
-                              <input
-                                :placeholder="item1.name"
-                                v-if="item1.type == 8"
-                                style="
-                                  border: none;
-                                  outline: none;
-                                  width: 80%;
-                                  white-space: nowrap;
-                                  overflow: hidden;
-                                  text-overflow: ellipsis;
-                                "
-                                readonly="true"
-                                @click="selectLine(itemTaskIndex, index1)"
-                              />
-                              <div
-                                class="chapter_upload_ud"
-                                style="z-index: 99"
-                              >
-                                <div
-                                  class="chapter_upload_up"
-                                  @click="
-                                    upCd($event, unitIndex, index, index1)
-                                  "
-                                ></div>
-                                <div
-                                  class="chapter_upload_down"
-                                  @click="
-                                    downCd($event, unitIndex, index, index1)
-                                  "
-                                ></div>
-                              </div>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                    <div class="add_info_box">
-                      <button class="info_btn" @click="addImg($event)">
-                        添加教学视频
-                        <input
-                          type="file"
-                          accept="video/mp4, video/quicktime, video/x-msvideo"
-                          style="display: none"
-                          capture="camera"
-                          v-if="inputShow"
-                          @change="
-                            beforeUpload2($event, unitIndex, 2, itemTaskIndex)
-                          "
-                        />
-                      </button>
-                      <button class="info_btn" @click="addImg($event)">
-                        添加教学附件
-                        <input
-                          type="file"
-                          accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document"
-                          style="display: none"
-                          v-if="inputShow"
-                          @change="
-                            beforeUpload2($event, unitIndex, 3, itemTaskIndex)
-                          "
-                        />
-                      </button>
-                      <button
-                        class="info_btn"
-                        @click="addAttText(itemTaskIndex)"
-                      >
-                        添加图文
-                      </button>
-                      <button class="info_btn" @click="openLine(itemTaskIndex)">
-                        添加链接
-                      </button>
-                    </div>
-                    <div
-                      v-if="
-                        unitJson[unitIndex].chapterInfo[0].taskJson[
-                          itemTaskIndex
-                        ].proVisible
-                      "
-                      class="mask"
-                    >
-                      <div class="progressBox">
-                        <div class="lbox">
-                          <img src="../../assets/loading.gif" />上传中,请稍后
-                        </div>
-                        <el-progress
-                          :text-inside="true"
-                          :stroke-width="20"
-                          :percentage="
-                            unitJson[unitIndex].chapterInfo[0].taskJson[
-                              itemTaskIndex
-                            ].progress
-                              ? unitJson[unitIndex].chapterInfo[0].taskJson[
-                                  itemTaskIndex
-                                ].progress
-                              : 0
-                          "
-                          style="width: 80%"
-                        ></el-progress>
-                      </div>
-                    </div>
-                  </div>
-                  <div
-                    style="
-                      flex-direction: row;
-                      justify-content: flex-start;
-                      align-items: center;
-                      padding: 0 0 0 30px;
-                      paddint-top: 10px !important;
-                    "
-                  >
-                    <div
-                      style="
-                        display: flex;
-                        flex-direction: row;
-                        align-items: center;
-                        margin-bottom: 20px;
-                      "
-                    >
-                      <div class="lineTitle">练习内容</div>
-                      <div class="line" style="width: 90%"></div>
-                    </div>
-                  </div>
-                  <div class="toolChoose" style="padding: 0 0 0 30px">
-                    <div class="tools">
-                      <div
-                        class="leftTools"
-                        style="
-                          width: 95%;
-                          padding: 0 0 15px 0;
-                          border-bottom: 1px solid #efefef;
-                          margin-bottom: 15px;
-                        "
-                        v-for="(itemTool, toolIndex) in itemTask.toolChoose"
-                        :key="toolIndex"
-                      >
-                        <div>
-                          <textarea
-                            rows="3"
-                            type="text"
-                            placeholder="添加工具描述"
-                            class="binfo_input"
-                            style="margin: 0 0 20px 0; width: 71.5% !important"
-                            v-model="itemTool.toolDetail"
-                          ></textarea>
-                        </div>
-                        <div
-                          style="
-                            display: flex;
-                            flex-direction: row;
-                            align-items: baseline;
-                            flex-wrap: nowrap;
-                            justify-content: flex-start;
-                            position: relative;
-                          "
-                        >
-                          <div style="margin-right: 20px; font-weight: bold">
-                            工具 {{ toolIndex + 1 }} :
-                          </div>
-                          <div class="chooseWho">
-                            <div
-                              :class="
-                                itemTool.toolType == 0 ? 'isChooseActive' : ''
-                              "
-                              @click="(itemTool.toolType = 0), $forceUpdate()"
-                            >
-                              互动类
-                            </div>
-                            <div
-                              :class="
-                                itemTool.toolType == 1 ? 'isChooseActive' : ''
-                              "
-                              @click="(itemTool.toolType = 1), $forceUpdate()"
-                            >
-                              思维类
-                            </div>
-                            <div
-                              :class="
-                                itemTool.toolType == 2 ? 'isChooseActive' : ''
-                              "
-                              @click="(itemTool.toolType = 2), $forceUpdate()"
-                            >
-                              评价类
-                            </div>
-                            <div
-                              :class="
-                                itemTool.toolType == 3 ? 'isChooseActive' : ''
-                              "
-                              @click="(itemTool.toolType = 3), $forceUpdate()"
-                            >
-                              编程类
-                            </div>
-                            <div
-                              :class="
-                                itemTool.toolType == 5 ? 'isChooseActive' : ''
-                              "
-                              @click="(itemTool.toolType = 5), $forceUpdate()"
-                            >
-                              学科类
-                            </div>
-                            <div
-                              :class="
-                                itemTool.toolType == 4 ? 'isChooseActive' : ''
-                              "
-                              @click="(itemTool.toolType = 4), $forceUpdate()"
-                            >
-                              其他
-                            </div>
-                          </div>
-                          <div
-                            class="remove"
-                            @click="deleteTool(itemTaskIndex, toolIndex)"
-                            v-if="itemTask.toolChoose.length > 1"
-                            style="position: absolute; right: 55px"
-                          ></div>
-                        </div>
-
-                        <div style="min-height: 163px">
-                          <div class="toolSort" v-if="itemTool.toolType == 0">
-                            <!-- <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(8, itemTaskIndex, toolIndex)"
-                              >
-                                <img src="../../assets/icon/secondToolList/library.png" alt />
-                                <div style="margin: 5px 0">素材库</div>
-                              </div>
-                              <div class="check" @click="addTools(8, itemTaskIndex, toolIndex)">
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(8) == -1"
-                                />
-                                <img src="../../assets/icon/checkedIs.png" alt v-else />
-                              </div>
-                            </div>-->
-                            <!-- <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(17, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/library.png"
-                                  alt
-                               />
-                                <div style="margin: 5px 0">学习资料</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(17, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(17) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div> -->
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(10, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/time.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">倒计时</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(10, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(10) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                          </div>
-                          <div class="toolSort" v-if="itemTool.toolType == 1">
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(7, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/mindNetwork.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">思维网格</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(7, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(7) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(1, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/whiteBoard.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">电子白板</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(1, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(1) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(2, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/note.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">便签</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(2, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(2) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(6, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/doc.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">协同文档</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(6, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(6) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(3, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/mindMapping.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">思维导图</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(3, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(3) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                          </div>
-                          <div class="toolSort" v-if="itemTool.toolType == 2">
-                            <!-- <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(5, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/score.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">量规评分</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(5, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(5) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>-->
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="openTools(itemTaskIndex, 4, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/ask.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">问卷调查</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(4, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(4) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="openTools(itemTaskIndex, 45, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/choose.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">选择题</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(45, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(45) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="openTools(itemTaskIndex, 15, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/answer.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">问答工具</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(15, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(15) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(16, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/work.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">作业提交</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(16, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(16) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="openTools(itemTaskIndex, 40, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/eval.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">学生互评</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(40, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(40) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="openTools(itemTaskIndex, 41, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/select.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">选择填空</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(41, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(41) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <!-- <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="openTools(itemTaskIndex, 42, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/mp3.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">上传音频</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(42, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(42) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div> -->
-                          </div>
-                          <div class="toolSort" v-if="itemTool.toolType == 3">
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(18, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/trainPlatform.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">训练平台</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(18, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(18) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(21, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/fourthToolList/program.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">编程平台</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(21, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(21) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(22, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/fourthToolList/AIprogram2.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">AI体验</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(22, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(22) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(23, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/fourthToolList/Pythonprogram.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">Python</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(23, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(23) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(24, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/fourthToolList/AIprogram.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">AI平台</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(24, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(24) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(32, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/code.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">源码编辑</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(32, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(32) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                          </div>
-                          <div class="toolSort" v-if="itemTool.toolType == 5">
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(28, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/translation.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">翻译</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(28, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(28) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(37, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/mohe.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">魔盒识字</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(37, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(37) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(38, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/24game.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">24点</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(38, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(38) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(31, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/networkPanel.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">数学画板</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(31, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(31) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(39, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/GeoGebra.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">GeoGebra</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(39, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(39) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                          </div>
-                          <div class="toolSort" v-if="itemTool.toolType == 4">
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(26, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/courseDesign.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">项目设计</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(26, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(26) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(25, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/evalua.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">目标管理</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(25, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(25) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(44, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/hanClass.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">汉字宫</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(44, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(44) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                      <div
-                        class="addToolFun"
-                        @click="addToolFun(itemTaskIndex)"
-                      >
-                        <div class="addToolImg">
-                          <img src="../../assets/icon/add.png" alt />
-                        </div>
-                        <div>添加工具</div>
-                      </div>
-                    </div>
-                  </div>
-                  <div class="elist_css">
-                    <div class="elist_title">
-                      <div
-                        style="
-                          display: flex;
-                          flex-direction: row;
-                          align-items: center;
-                          margin-bottom: 20px;
-                        "
-                      >
-                        <div class="lineTitle">评价设置</div>
-                        <div class="line" style="width: 90%"></div>
-                      </div>
-                    </div>
-                    <div class="mbCss">
-                      <div class="pjCss">
-                        <div
-                          v-if="itemTask.eList && itemTask.eList.length"
-                          class="elist_input"
-                        >
-                          <div
-                            v-for="(eItem, eIndex) in itemTask.eList"
-                            :key="eIndex"
-                            class="elist_input_box"
-                          >
-                            <span>评价名称:</span>
-                            <input
-                              type="input"
-                              v-model="itemTask.eList[eIndex].value"
-                              placeholder="填写评价名称"
-                            />
-                            <span>评星等级:</span>
-                            <el-rate
-                              v-model="itemTask.eList[eIndex].score"
-                              @change="setEListStar()"
-                              disabled
-                            ></el-rate>
-                            <div
-                              class="remove"
-                              @click="
-                                deletEList(unitIndex, itemTaskIndex, eIndex)
-                              "
-                            ></div>
-                            <div class="elist_inptu_text">
-                              <span>评价描述:</span>
-                              <input
-                                type="input"
-                                v-model="itemTask.eList[eIndex].detail"
-                                placeholder="填写评价描述"
-                              />
-                            </div>
-                            <div class="elist_inptu_text" v-if="evalua">
-                              <span>目标:</span>
-                              <!-- <input type="input" v-model="itemTask.eList[eIndex].target" placeholder="填写评价描述" /> -->
-                              <el-select
-                                v-model="itemTask.eList[eIndex].target"
-                                placeholder="请选择目标"
-                                @change="forceUpdate()"
-                              >
-                                <el-option
-                                  v-for="(e, eIndex) in targetArray"
-                                  :key="eIndex"
-                                  :label="e.name"
-                                  :value="e.name"
-                                >
-                                </el-option>
-                              </el-select>
-                            </div>
-                          </div>
-                        </div>
-                        <div
-                          class="addToolFun"
-                          @click="addEList(unitIndex, itemTaskIndex)"
-                          style="margin: 35px 35px 0 0"
-                        >
-                          <div class="addToolImg">
-                            <img src="../../assets/icon/add.png" alt />
-                          </div>
-                          <div>添加</div>
-                        </div>
-                      </div>
-                      <div
-                        v-if="evalua"
-                        style="
-                          border: 1px solid #e5e5e5;
-                          width: 55%;
-                          margin-top: 20px;
-                          box-shadow: 3px 1px 15px 3px #e0e0e0;
-                        "
-                        class="evaCss"
-                      >
-                        <div class="e_add_top">
-                          <div class="e_add_title">
-                            <span>当前使用目标管理</span>
-                            <span>{{ eTitle }}</span>
-                            <img
-                              src="../../assets/line.png"
-                              class="cru_line"
-                              style="
-                                width: 125px;
-                                height: 20px;
-                                bottom: -10px;
-                                left: 155px;
-                              "
-                            />
-                            <!-- <el-input
-                        v-model="eTitle"
-                        placeholder="请输入名称"
-                        @change="setMindData"
-                            ></el-input>-->
-                          </div>
-                        </div>
-                        <div class="e_add_content" style="width: 100%">
-                          <div class="e_add_list_pbox" style="width: 100%">
-                            <div class="e_add_list_pbox_title">
-                              <span class="type_title">切换模式</span>
-                              <div class="type_content">
-                                <span
-                                  :class="{ active: typeMode == 1 }"
-                                  @click="OtherMb(1)"
-                                  >目标树</span
-                                >
-                                <span
-                                  :class="{ active: typeMode == 2 }"
-                                  @click="OtherMb(2)"
-                                  >目标罗盘</span
-                                >
-                                <span
-                                  :class="{ active: typeMode == 3 }"
-                                  @click="OtherMb(3)"
-                                  >目标看板</span
-                                >
-                              </div>
-                            </div>
-                            <div class="e_add_list_pbox_content">
-                              <Mind
-                                :showBar="false"
-                                :mindData="data"
-                                style="width: 100%"
-                                :jsmindId="
-                                  unitIndex + '-' + itemTaskIndex + 'mind'
-                                "
-                                v-if="typeMode == 1"
-                              ></Mind>
-                              <Sunburst
-                                :Josn="eJson"
-                                :num="eJSONNum"
-                                style="width: 100%"
-                                v-if="typeMode == 2"
-                              >
-                              </Sunburst>
-                              <SeeBoard
-                                :Josn="eJson"
-                                :num="eJSONNum"
-                                :ename="eTitle"
-                                style="width: 100%"
-                                v-if="typeMode == 3"
-                              ></SeeBoard>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                  </div>
-                  <div class="funBlock" style="padding: 0">
-                    <div class="fold">
-                      <div @click="fold(itemTaskIndex, $event, 1)">折叠</div>
-                      <div class="arrow">
-                        <img src="../../assets/icon/fold.png" alt />
-                      </div>
-                    </div>
-                    <div class="fold">
-                      <div @click="fold(itemTaskIndex, $event, 0)">展开</div>
-                      <div class="arrow">
-                        <img src="../../assets/icon/expand.png" alt />
-                      </div>
-                    </div>
-                  </div>
-                </div>
-                <div class="addTaskBorder" @click="addTaskBorder">
-                  <div>
-                    <img src="../../assets/icon/addHw.png" alt />
-                    <span>添加任务</span>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-          <div
-            style="
-              width: calc(100% - 20px);
-              background: rgb(255, 255, 255);
-              border-radius: 10px;
-            "
-            v-if="this.steps == 4"
-          >
-            <div class="basic_box_success">
-              <div class="right_img">
-                <img src="../../assets/icon/right.png" alt />
-              </div>
-              <div style="font-weight: bold">成功</div>
-              <!-- <div>您的项目编号</div>
-              <div class="number">{{ number }}</div>-->
-              <!-- <div class="success_button">
-                <div class="look_course" @click="isNoFinsh">
-                  邀请老师协同编辑
-                </div>
-                <div class="attend_others" @click="goCourse">预览项目</div>
-              </div> -->
-            </div>
-          </div>
-          <div class="info_btnBox">
-            <button
-              class="info_btn"
-              v-if="steps == 1"
-              @click="
-                goTo('/course?userid=' + userid + '&oid=' + oid + '&org=' + org)
-              "
-            >
-              返回项目
-            </button>
-            <button
-              class="info_btn"
-              v-if="steps > 1 && steps != 5"
-              @click="lastSteps"
-            >
-              {{ steps == 4 ? "返回首页" : "上一步" }}
-            </button>
-            <button class="info_btn" v-if="steps < 4" @click="nextSteps">
-              {{ steps == 3 ? "确认上传" : "下一步" }}
-            </button>
-          </div>
-        </div>
-      </div>
-    </div>
-    <el-dialog
-      title="提示"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="25%"
-      :before-close="handleClose"
-      class="dialog_diy2 customWidth"
-    >
-      <div>请复制该链接邀请协同编辑</div>
-      <div>http://www.boomyon.com/index-zhang.com</div>
-      <span slot="footer" class="dialog-footer">
-        <el-button type="primary">复制链接分享</el-button>
-        <el-button @click="dialogVisible = false">取消</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      :title="updateBoolean2 ? '查看文档' : '添加文档'"
-      :visible.sync="dialogVisible1"
-      :append-to-body="true"
-      width="25%"
-      :before-close="handleClose"
-      class="dialog_diy2 customWidth"
-    >
-      <el-form>
-        <el-form-item label="文档标题">
-          <el-input
-            v-model="tTitle"
-            auto-complete="off"
-            placeholder="请输入文档标题名..."
-          ></el-input>
-        </el-form-item>
-        <div>文档简介</div>
-        <editor-bar v-model="tdetail" @change="change"></editor-bar>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible1 = false">取 消</el-button>
-        <el-button type="primary" @click="addWord" v-if="!updateBoolean2"
-          >添加</el-button
-        >
-        <el-button type="primary" @click="upWord" v-else>修 改</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加文档"
-      :visible.sync="dialogVisible2"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <el-form>
-        <el-form-item label="文档标题">
-          <el-input
-            v-model="templateC.title"
-            auto-complete="off"
-            placeholder="请输入文档标题名..."
-          ></el-input>
-        </el-form-item>
-        <div>文档内容</div>
-        <editor-bar v-model="cTemplate" @change="change"></editor-bar>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="clearChoose">取 消</el-button>
-        <el-button type="primary" @click="wordNext()">确定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加富文本"
-      :visible.sync="dialogVisible6"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <el-form>
-        <el-form-item label="文本标题">
-          <el-input
-            v-model="AttText.title"
-            auto-complete="off"
-            @input="change2"
-            placeholder="请输入文本标题..."
-          ></el-input>
-        </el-form-item>
-        <div>富文本内容</div>
-        <editor-bar v-model="AttText.text" @change="change"></editor-bar>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="clearAttText">取 消</el-button>
-        <el-button type="primary" @click="isAddOrUpdateAttText">确定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加链接"
-      :visible.sync="dialogVisible7"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy lineCss"
-    >
-      <el-form>
-        <el-form-item label="链接" :label-width="formLabelWidth">
-          <span>
-            <el-input
-              placeholder="请输入链接"
-              clearable
-              v-model="line"
-              class="add_input"
-            ></el-input>
-          </span>
-        </el-form-item>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="clearLine">取 消</el-button>
-        <el-button type="primary" @click="isAddOrUpdateLine">确定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加项目成员"
-      :visible.sync="dialogVisible3"
-      :append-to-body="true"
-      width="25%"
-      height="80%"
-      :before-close="handleClose"
-      class="addNewPP customWidth"
-    >
-      <div class="people">
-        <div class="people_top">
-          <div class="people_nav">选择成员</div>
-          <div class="people_top_right">
-            <div class="people_search">
-              <el-input
-                placeholder="搜索成员"
-                v-model="searchPeople"
-              ></el-input>
-              <div class="search_img" @click="searchStudent">
-                <img src="../../assets/icon/search.png" alt />
-              </div>
-            </div>
-          </div>
-        </div>
-        <el-checkbox-group v-model="checkboxList" class="people_name">
-          <el-checkbox
-            v-for="item in studentJuri"
-            :key="item.userid"
-            :label="item.userid"
-            >{{ item.name ? item.name : "暂无学生可选" }}</el-checkbox
-          >
-        </el-checkbox-group>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible3 = false">取 消</el-button>
-        <el-button type="primary" @click="isAddPP">确定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加权限"
-      :visible.sync="dialogVisibleClass"
-      :append-to-body="true"
-      width="400px"
-      height="80%"
-      :before-close="handleClose"
-      class="addNewPP"
-    >
-      <div class="people" style="height: 300px">
-        <div class="people_top">
-          <div class="people_nav">选择班级</div>
-        </div>
-        <el-checkbox-group v-model="checkboxList2" class="people_name">
-          <div v-for="(item, index) in grade" :key="item.id">
-            <el-checkbox :label="item.id">
-              {{ item.name ? item.name : "暂无班级可选" }}
-            </el-checkbox>
-            <div>
-              <span>{{ index }}</span>
-            </div>
-          </div>
-        </el-checkbox-group>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleClass = false">取 消</el-button>
-        <el-button type="primary" @click="isAddClass">确定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加协同成员"
-      :visible.sync="dialogVisibleMember"
-      :append-to-body="true"
-      width="25%"
-      height="80%"
-      :before-close="handleClose"
-      class="addNewPP customWidth"
-    >
-      <div class="people">
-        <div class="people_top">
-          <div class="people_nav">选择成员</div>
-          <div class="people_top_right">
-            <div class="people_search">
-              <el-input
-                placeholder="搜索成员"
-                v-model="searchTN"
-                @keyup.enter.native="getTeacher"
-              ></el-input>
-              <div class="search_img" @click="getTeacher">
-                <img src="../../assets/icon/search.png" alt />
-              </div>
-            </div>
-          </div>
-        </div>
-        <el-checkbox-group
-          v-model="checkboxList3"
-          class="people_name"
-          v-if="teacherJuri.length"
-        >
-          <el-checkbox
-            v-for="item in teacherJuri"
-            :key="item.userid"
-            :label="item.userid"
-          >
-            {{ (item.name ? item.name : "暂无姓名") + " " + item.username }}
-          </el-checkbox>
-        </el-checkbox-group>
-        <div style="text-align: center; margin-top: 10px" v-else>暂无数据</div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleMember = false">取 消</el-button>
-        <el-button type="primary" @click="isAddPPTeacher">确定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="创建问卷"
-      :visible.sync="dialogVisible5"
-      :append-to-body="true"
-      width="800px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div
-          class="a_add_title"
-          style="
-            display: flex;
-            flex-direction: row;
-            align-items: center;
-            justify-content: center;
-          "
-        >
-          <div style="margin-right: 20px; font-size: 20px">标题:</div>
-          <el-input
-            v-model="askJson.askTitle"
-            placeholder="请输入标题"
-            style="width: 400px"
-          ></el-input>
-        </div>
-        <div class="a_addBox">
-          <div style="font-size: 16px; color: #c7c7c7">请输入题目内容</div>
-          <div
-            class="a_add_box"
-            v-for="(item1, index1) in askJson.askCount"
-            :key="index1"
-          >
-            <div class="a_add_head">
-              <div>
-                {{ index1 + 1 + "、" }}
-                <el-input
-                  class="a_add_head_input"
-                  v-model="askJson.askJson[index1].askstitle"
-                  placeholder="请输入题目..."
-                >
-                </el-input>
-              </div>
-              <div class="a_add_head_div">
-                <el-button type="primary" size="small" @click="addAskList()"
-                  >添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  size="small"
-                  @click="deleteAskList(index1)"
-                  v-if="askJson.askCount != 1"
-                  >删除</el-button
-                >
-              </div>
-            </div>
-            <div class="a_add_body">
-              <div class="a_add_input">
-                <el-input
-                  v-for="(item2, checkIndex) in askJson.askJson[index1].askItem"
-                  :key="checkIndex"
-                  v-model="askJson.askJson[index1].checkList[checkIndex]"
-                  placeholder="请输入选项..."
-                  style="width: 150px; margin: 10px 10px 0 0"
-                ></el-input>
-              </div>
-              <div class="a_add_body_div">
-                <el-button
-                  style="margin: 10px 0px 0 0"
-                  type="primary"
-                  size="small"
-                  @click="addcheckList(askJson.askJson[index1])"
-                  >添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  size="small"
-                  style="margin: 10px 0 0 0"
-                  @click="deletecheckList(askJson.askJson[index1])"
-                  v-if="askJson.askJson[index1].askItem != 1"
-                  >删除
-                </el-button>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible5 = false">取 消</el-button>
-        <el-button type="primary" @click="addAsk">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="创建选择题"
-      :visible.sync="dialogVisibleChoice"
-      :append-to-body="true"
-      width="800px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div
-          class="a_add_title"
-          style="
-            display: flex;
-            flex-direction: row;
-            align-items: center;
-            justify-content: center;
-          "
-        >
-          <div style="margin-right: 20px; font-size: 20px">标题:</div>
-          <el-input
-            v-model="testJson.testTitle"
-            placeholder="请输入标题"
-            style="width: 400px"
-          ></el-input>
-        </div>
-        <div class="a_addBox">
-          <div style="font-size: 16px; color: #c7c7c7">请输入题目内容</div>
-          <div
-            class="a_add_box"
-            v-for="(item1, index1) in testJson.testCount"
-            :key="index1"
-          >
-            <div class="a_add_checkType">
-              <span
-                :class="{ active: testJson.testJson[index1].type == '1' }"
-                @click="checkTestType('1', testJson.testJson[index1])"
-                >单选题</span
-              >
-              <span
-                :class="{ active: testJson.testJson[index1].type == '2' }"
-                @click="checkTestType('2', testJson.testJson[index1])"
-                >多选题</span
-              >
-            </div>
-            <div class="a_add_head">
-              <div>
-                {{ index1 + 1 + "、" }}
-                <el-input
-                  class="a_add_head_input"
-                  v-model="testJson.testJson[index1].teststitle"
-                  placeholder="请输入题目..."
-                >
-                </el-input>
-              </div>
-              <div class="a_add_head_div">
-                <el-button type="primary" size="small" @click="addTestList()"
-                  >添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  size="small"
-                  @click="deleteTestList(index1)"
-                  v-if="testJson.testCount != 1"
-                  >删除</el-button
-                >
-              </div>
-            </div>
-            <div class="a_add_body">
-              <div class="a_add_input a_add_input_choice">
-                <el-radio-group
-                  v-model="testJson.testJson[index1].answer"
-                  v-if="testJson.testJson[index1].type == 1"
-                >
-                  <el-radio
-                    v-for="(item2, checkIndex) in testJson.testJson[index1]
-                      .testItem"
-                    :key="checkIndex"
-                    :label="checkIndex"
-                  >
-                    <el-input
-                      v-model="testJson.testJson[index1].checkList[checkIndex]"
-                      placeholder="请输入选项..."
-                      style="width: 300px; margin-right: 10px"
-                    ></el-input>
-                  </el-radio>
-                </el-radio-group>
-                <el-checkbox-group
-                  v-model="testJson.testJson[index1].answer"
-                  v-if="testJson.testJson[index1].type == '2'"
-                >
-                  <el-checkbox
-                    v-for="(item2, checkIndex) in testJson.testJson[index1]
-                      .testItem"
-                    :key="checkIndex"
-                    :label="checkIndex"
-                  >
-                    <el-input
-                      v-model="testJson.testJson[index1].checkList[checkIndex]"
-                      placeholder="请输入选项..."
-                      style="width: 300px; margin-right: 10px"
-                    ></el-input>
-                  </el-checkbox>
-                </el-checkbox-group>
-              </div>
-              <div class="a_add_body_div">
-                <el-button
-                  type="primary"
-                  size="small"
-                  @click="addTcheckList(testJson.testJson[index1])"
-                  >添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  size="small"
-                  @click="deleteTcheckList(testJson.testJson[index1])"
-                  v-if="testJson.testJson[index1].testItem != 1"
-                  >删除
-                </el-button>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleChoice = false">取 消</el-button>
-        <el-button type="primary" @click="addTest">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加工具"
-      :visible.sync="dialogVisible4"
-      :append-to-body="true"
-      width="600px"
-      :before-close="handleClose"
-      class="dialog_diy addToolsDia"
-    >
-      <div class="toolChoose" style="padding: 0 0 0 30px">
-        <div class="tools">
-          <div
-            class="leftTools"
-            style="
-              width: 95%;
-              padding: 0 0 15px 0;
-              border-bottom: 1px solid #efefef;
-              margin-bottom: 15px;
-            "
-            v-for="(itemTools, itemToolsIndex) in chapTools"
-            :key="itemToolsIndex"
-          >
-            <div
-              style="
-                display: flex;
-                flex-direction: row;
-                align-items: baseline;
-                flex-wrap: nowrap;
-                justify-content: flex-start;
-                position: relative;
-              "
-            >
-              <div class="chooseWho">
-                <div
-                  :class="chapToolsType == 0 ? 'isChooseActive' : ''"
-                  @click="chapToolsType = 0"
-                >
-                  互动类
-                </div>
-                <div
-                  :class="chapToolsType == 1 ? 'isChooseActive' : ''"
-                  @click="chapToolsType = 1"
-                >
-                  思维类
-                </div>
-                <div
-                  :class="chapToolsType == 2 ? 'isChooseActive' : ''"
-                  @click="chapToolsType = 2"
-                >
-                  评价类
-                </div>
-                <div
-                  :class="chapToolsType == 2 ? 'isChooseActive' : ''"
-                  @click="chapToolsType = 2"
-                >
-                  其他
-                </div>
-              </div>
-            </div>
-
-            <div style="min-height: 163px">
-              <div class="toolSort" v-if="chapToolsType == 0">
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(8)">
-                    <img
-                      src="../../assets/icon/secondToolList/library.png"
-                      alt
-                    />
-                    <div style="margin: 5px 0">素材库</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(8)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(8) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-              </div>
-              <div class="toolSort" v-if="chapToolsType == 1">
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(7)">
-                    <img
-                      src="../../assets/icon/secondToolList/mindNetwork.png"
-                      alt
-                    />
-                    <div style="margin: 5px 0">思维网格</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(7)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(7) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(1)">
-                    <img
-                      src="../../assets/icon/secondToolList/whiteBoard.png"
-                      alt
-                    />
-                    <div style="margin: 5px 0">电子白板</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(1)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(1) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(2)">
-                    <img src="../../assets/icon/secondToolList/note.png" alt />
-                    <div style="margin: 5px 0">便签</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(2)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(2) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(6)">
-                    <img src="../../assets/icon/secondToolList/doc.png" alt />
-                    <div style="margin: 5px 0">协同文档</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(6)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(6) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(3)">
-                    <img
-                      src="../../assets/icon/secondToolList/mindMapping.png"
-                      alt
-                    />
-                    <div style="margin: 5px 0">思维导图</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(3)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(3) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(31)">
-                    <img
-                      src="../../assets/icon/secondToolList/networkPanel.png"
-                      alt
-                    />
-                    <div style="margin: 5px 0">数学画板</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(31)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(31) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-              </div>
-              <div class="toolSort" v-if="chapToolsType == 2">
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(5)">
-                    <img src="../../assets/icon/thirdToolList/score.png" alt />
-                    <div style="margin: 5px 0">量规评分</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(5)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(5) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-                <div class="tool">
-                  <div
-                    class="whiteBIcon"
-                    @click="openTools(chapCount, 4, null)"
-                  >
-                    <img src="../../assets/icon/thirdToolList/ask.png" alt />
-                    <div style="margin: 5px 0">问卷调查</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(4)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(4) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-              </div>
-            </div>
-            <div>
-              <input
-                type="text"
-                placeholder="添加工具描述"
-                class="binfo_input"
-                style="margin: 20px 0; width: 71.5% !important"
-                v-model="itemTools.toolDetail"
-              />
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible4 = false">取 消</el-button>
-        <el-button type="primary" @click="addChaptersDataTools">确定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加问答"
-      :visible.sync="dialogVisible8"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div
-          class="a_add_title"
-          style="
-            display: flex;
-            flex-direction: column;
-            align-items: flex-start;
-            justify-content: center;
-          "
-        >
-          <div style="margin-bottom: 20px; font-size: 20px">问题:</div>
-          <el-input
-            v-model="answerQ"
-            placeholder="请输入您要问的问题"
-          ></el-input>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible8 = false">取 消</el-button>
-        <el-button type="primary" @click="addAnswer">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加问题"
-      :visible.sync="dialogVisibleMp3"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div
-          class="a_add_title"
-          style="
-            display: flex;
-            flex-direction: column;
-            align-items: flex-start;
-            justify-content: center;
-          "
-        >
-          <div style="margin-bottom: 20px; font-size: 20px">问题:</div>
-          <el-input
-            v-model="answerQ"
-            placeholder="请输入您想要回答的问题"
-          ></el-input>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleMp3 = false">取 消</el-button>
-        <el-button type="primary" @click="addMp3Answer">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="上传图片"
-      :visible.sync="choosePicVisible"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="fileCss" style="padding-top: 20px">
-          <div>
-            <button class="info_btn" @click="addImg($event)">
-              选择本地文件
-              <input
-                type="file"
-                accept="image/*"
-                style="display: none"
-                @change="beforeUpload1"
-              />
-            </button>
-          </div>
-          <div>
-            <el-button
-              @click="getAllBanner"
-              v-if="isSysPic == false && cover.length == 0"
-              >选择系统文件</el-button
-            >
-            <div class="isSysPic" v-if="isSysPic == true && cover.length > 0">
-              <img :src="cover[0].url" alt="" />
-              <div class="deletePic" @click="deleteSysPic">
-                <img src="../../assets/icon/delete.png" alt="" />
-              </div>
-            </div>
-          </div>
-        </div>
-        <div class="fileCss">
-          <div>选择本地文件</div>
-          <div>选择系统文件</div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="choosePicVisible = false">取 消</el-button>
-        <el-button type="primary" @click="choosePicVisible = false"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="选择系统文件"
-      :visible.sync="sysPicVisible"
-      :append-to-body="true"
-      width="700px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div class="cru_selectBox" style="margin: 0">
-        <div
-          @click="getChoosePic(1)"
-          class="cru_select"
-          :class="chooseType == 1 ? 'cru_selected' : ''"
-        >
-          绘画
-        </div>
-        <div
-          @click="getChoosePic(2)"
-          class="cru_select"
-          :class="chooseType == 2 ? 'cru_selected' : ''"
-        >
-          科技
-        </div>
-        <div
-          @click="getChoosePic(3)"
-          class="cru_select"
-          :class="chooseType == 3 ? 'cru_selected' : ''"
-        >
-          人文
-        </div>
-        <div
-          @click="getChoosePic(4)"
-          class="cru_select"
-          :class="chooseType == 4 ? 'cru_selected' : ''"
-        >
-          艺术
-        </div>
-      </div>
-      <div class="sysPicBox">
-        <div v-for="(sys, sysIndex) in sysPic" :key="sysIndex" class="sysPic">
-          <img :src="sys.poster" alt="" @click="chooseSysPic(sys.poster)" />
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="sysPicVisible = false">取 消</el-button>
-        <el-button type="primary">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="选择填空"
-      :visible.sync="dialogVisibleSelect"
-      :append-to-body="true"
-      width="800px"
-      :before-close="handleClose"
-      class="dialog_diy dialog_diy3"
-    >
-      <div v-if="selectJson">
-        <div class="select_box1" v-if="selectSteps == 1">
-          <div class="select_box1_img">
-            <div class="select_box1_title">
-              <span>上传题目图片</span
-              ><span>提示:请将题目以图片的方式上传</span>
-            </div>
-            <div class="select_box1_add_img">
-              <div
-                class="uploadFm"
-                @click="addImg($event)"
-                v-if="!selectJson.url"
-              >
-                <input
-                  type="file"
-                  accept="image/*"
-                  style="display: none"
-                  @change="beforeUploadSelect"
-                />
-                <img src="../../assets/icon/addPoster.png" alt="" />
-              </div>
-              <div class="isSysPic" v-else>
-                <img :src="selectJson.url" alt="" />
-                <div class="deletePic" @click="deleteSelectPic">
-                  <img src="../../assets/icon/delete.png" alt="" />
-                </div>
-              </div>
-            </div>
-          </div>
-          <div class="select_box1_select">
-            <div class="select_box1_title">
-              <span>添加选项</span><span>提示:请输入题目选项</span>
-            </div>
-            <div class="select_box1_select_box">
-              <el-input
-                v-for="(item2, checkIndex) in selectJson.select"
-                :key="checkIndex"
-                v-model="selectJson.select[checkIndex]"
-                placeholder="请输入选项..."
-                style="width: 150px; margin: 10px 10px 0 0"
-              ></el-input>
-              <div class="select_box1_select_box_add">
-                <el-button
-                  style="margin: 10px 0px 0 0"
-                  type="primary"
-                  size="small"
-                  @click="addSelectList(selectJson)"
-                >
-                  添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  size="small"
-                  style="margin: 10px 0 0 0"
-                  @click="deleteSelectList(selectJson)"
-                  v-if="selectJson.select && selectJson.select.length > 0"
-                  >删除</el-button
-                >
-              </div>
-            </div>
-          </div>
-        </div>
-        <div v-if="selectSteps == 2">
-          <div class="select_box2">
-            <div class="select_box2_title">设置答案</div>
-            <div class="select_box2_box">
-              <div class="select_box2_img">
-                <img :src="selectJson.url" alt="" />
-              </div>
-              <div class="select_box2_answer">
-                <div class="select_answer_title">根据题目选择对应答案</div>
-                <div
-                  class="select_box2_answer_box"
-                  v-for="(item2, checkIndex) in selectJson.select"
-                  :key="checkIndex"
-                >
-                  <span>{{ checkIndex + 1 }}、</span>
-                  <el-select
-                    v-model="selectJson.answer[checkIndex]"
-                    placeholder="请选择正确答案"
-                  >
-                    <el-option
-                      v-for="(e, eIndex) in selectJson.select"
-                      :key="eIndex"
-                      :label="e"
-                      :value="eIndex"
-                    >
-                    </el-option>
-                  </el-select>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button
-          type="primary"
-          @click="nextSelectSteps()"
-          v-if="selectSteps == 1"
-          >下一步</el-button
-        >
-        <el-button @click="selectSteps--" v-if="selectSteps == 2"
-          >上一步</el-button
-        >
-        <el-button
-          type="primary"
-          @click="addSelectAnswer"
-          v-if="selectSteps == 2"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加评价"
-      :visible.sync="dialogVisibleRate"
-      :append-to-body="true"
-      width="650px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div style="background: #fff; padding: 15px; box-sizing: border-box">
-        <div style="font-size: 18px; color: #a9a9a9">请输入学生评价指标:</div>
-        <div class="pjCss" style="width: 100%">
-          <div
-            v-if="rateJson.length"
-            class="elist_input"
-            style="height: 360px; overflow: auto"
-          >
-            <div
-              v-for="(eItem, eIndex) in rateJson"
-              :key="eIndex"
-              class="elist_input_box"
-            >
-              <span style="min-width: 100px; text-align: right"
-                >学生评价指标:</span
-              >
-              <input
-                type="input"
-                v-model="eItem.value"
-                placeholder="填写评价名称"
-              />
-              <div class="remove" @click="deletRateList(eIndex)"></div>
-              <div style="width: 100%; display: flex">
-                <span style="min-width: 100px; text-align: right"
-                  >评星等级:</span
-                >
-                <el-rate v-model="eItem.score" disabled></el-rate>
-              </div>
-              <div class="elist_inptu_text" style="align-items: flex-start">
-                <span style="min-width: 100px; text-align: right">描述:</span>
-                <textarea
-                  class="rate_textarea"
-                  :rows="3"
-                  v-model="eItem.detail"
-                  placeholder="填写评价描述"
-                ></textarea>
-              </div>
-            </div>
-          </div>
-          <div class="addToolFun" @click="addRateList()">
-            <div class="addToolImg">
-              <img src="../../assets/icon/add.png" alt />
-            </div>
-            <div>添加</div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleRate = false">取 消</el-button>
-        <el-button type="primary" @click="addRateAnswer">确 定</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import "../../common/aws-sdk-2.235.1.min.js";
-import $ from "jquery";
-import EditorBar from "../../components/tools/wangEnduit";
-import Mind from "../tools/jsmind2";
-import Sunburst from "../tools/sunburst";
-import SeeBoard from "../tools/seeBoard";
-export default {
-  components: { EditorBar, Mind, Sunburst, SeeBoard },
-  data() {
-    return {
-      checkAll: false,
-      chooseType: 1,
-      checkedCities: [],
-      isIndeterminate: true,
-      isSysPic: false,
-      steps: 1,
-      nbOrder: 0,
-      courseId: "",
-      chapToolsType: 0,
-      chapTools: [
-        {
-          tools: [],
-          toolDetail: "",
-        },
-      ],
-      line: "",
-      sysPic: [],
-      lineCount: 0,
-      lineType: 0,
-      chapCount: 0,
-      courseName: "",
-      isTeacherSee: true,
-      courseText: "",
-      formLabelWidth: "100px",
-      choosePicVisible: false,
-      sysPicVisible: false,
-      uploadLoading1: false,
-      noneBtnImg: false,
-      updateBoolean2: false,
-      unitIndex: 0,
-      taskCount: 0,
-      dialogVisible: false,
-      dialogVisible1: false,
-      dialogVisible2: false,
-      dialogVisible3: false,
-      dialogVisible4: false,
-      dialogVisible5: false,
-      dialogVisible6: false,
-      dialogVisible7: false,
-      dialogVisible8: false,
-      dialogVisible9: false,
-      dialogVisibleClass: false,
-      dialogVisibleMember: false,
-      dialogVisibleMp3: false,
-      dialogVisibleSelect: false,
-      dialogVisibleRate: false,
-      dialogVisibleChoice: false,
-      publicTool: 0,
-      searchPeople: "",
-      searchTN: "",
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-      org: this.$route.query.org,
-      cid: this.$route.query.cid != undefined ? this.$route.query.cid : "",
-      cover: [], //项目封面
-      myWord: [],
-      evaJuri: [],
-      evalua: "",
-      targetArray: [],
-      eTitle: "",
-      eJson: {},
-      fid: "", //一级
-      sid: "", //二级
-      tid: "", //二级
-      typeMode: 1,
-      eJSONNum: 0,
-      data: {
-        meta: {
-          name: "example",
-          author: "dd@163.com",
-          version: "0.2",
-        },
-        format: "node_array",
-        data: [{ id: "root", isroot: true, topic: "" }],
-      },
-      askJson: {
-        askCount: 1,
-        askTitle: "",
-        askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-      },
-      testJson: {},
-      selectJson: {},
-      rateJson: [],
-      unitJson2: [],
-      unitJson: [
-        {
-          dyName: "", //单元标题
-          chapterInfo: [
-            {
-              isread: false,
-              chapterid: this.guid(),
-              title: "",
-              courseName: "",
-              taskJson: [
-                {
-                  task: "",
-                  taskDetail: "",
-                  chapterData: [],
-                  toolText: "",
-                  toolChoose: [
-                    {
-                      tool: [],
-                      toolDetail: "",
-                      toolType: 0,
-                      askCount: 1,
-                      askTitle: "",
-                      askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-                    },
-                  ],
-                  isShowTools: false,
-                  askCount: 1,
-                  isFold: 0,
-                  askTitle: "",
-                  askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-                  checkJson: [{ checkCount: [], checkPerent: [] }],
-                  homeworkList: [],
-                },
-              ],
-              itemCount: 1,
-              fileList1: [],
-              video: [],
-              testData: [],
-              pData: [],
-              templateArray: [],
-            },
-          ],
-        },
-      ],
-      studentJuri: [],
-      teacherJuri: [],
-      checkboxList: [],
-      checkboxList2: [],
-      checkboxList3: [],
-      number: "",
-      tTitle: "",
-      tdetail: "",
-      templateC: {},
-      AttText: {},
-      AttTextType: 0,
-      AttTextIndex: 0,
-      cTemplate: "",
-      CourseType: [],
-      CourseTypeJson: {},
-      courseTypeId: [],
-      courseTypeSon: [],
-      clearArray: [],
-      loading: false,
-      toolType: 0,
-      inputShow: true,
-      toolIndex: 0,
-      cidType: 0,
-      answerQ: "",
-      grade: [],
-      courseUserid: "",
-      timer: null,
-      checkId: "",
-      isDelete: 1,
-      addindex: 0,
-      selectSteps: 1,
-    };
-  },
-  computed: {
-    rightBoxHeight: function () {
-      return $(".rightBox")[0] ? $(".rightBox")[0].scrollHeight : 100;
-    },
-    offsetLetfPx: function () {
-      //addnum可以直接在模板语法里面用,相当于data内的值
-      return (
-        $(".cru_select")[this.unitIndex] &&
-        $(".cru_select")[this.unitIndex].offsetLeft
-      );
-    },
-  },
-  watch: {
-    unitIndex(newValue, oldValue) {
-      if (this.isDelete == 2) {
-        this.isDelete = 1;
-        return;
-      }
-      if (this.cid != "") {
-        let _unitIndex = oldValue;
-        if (
-          JSON.stringify(this.unitJson2[_unitIndex]) ==
-          JSON.stringify(this.unitJson[_unitIndex])
-        ) {
-          this.$refs.rightboxR.scrollTop = 0;
-          return;
-        }
-        let cPan = 1;
-        for (
-          var j = 0;
-          j < this.unitJson[_unitIndex].chapterInfo[0].taskJson.length;
-          j++
-        ) {
-          if (
-            this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].toolChoose
-              .length > 1
-          ) {
-            for (
-              var z = 0;
-              z <
-              this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].toolChoose
-                .length;
-              z++
-            ) {
-              if (
-                !this.unitJson[_unitIndex].chapterInfo[0].taskJson[j]
-                  .toolChoose[z].tool.length
-              ) {
-                this.$message.error("请把工具添加完整");
-                cPan = 2;
-                break;
-              }
-            }
-          }
-          if (this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].eList) {
-            this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].eList =
-              this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].eList.filter(
-                (ele) => {
-                  return ele.value != "";
-                }
-              );
-          }
-        }
-        if (cPan == 2) {
-          this.unitIndex = oldValue;
-          return;
-        }
-        for (var i = 0; i < this.unitJson.length; i++) {
-          if (this.addindex != i) {
-            delete this.unitJson[i].isUpdate;
-          }
-        }
-        this.$refs.rightboxR.scrollTop = 0;
-        this.addindex = -1;
-        let params = [
-          {
-            cid: this.cid,
-            chapters: JSON.stringify(this.unitJson),
-            uid: this.userid,
-            unitIndex: _unitIndex,
-          },
-        ];
-        this.ajax
-          .post(this.$store.state.api + "updateWorkNew4", params)
-          .then((res) => {
-            // this.$message({
-            //   message: "修改成功",
-            //   type: "success",
-            // });
-            // this.courseId = this.cid;
-          })
-          .catch((err) => {
-            this.$message.error("网络不佳");
-            console.error(err);
-          });
-      }
-    },
-  },
-  methods: {
-    handleCheckAllChange(val) {
-      this.checkedCities = val ? cityOptions : [];
-      this.isIndeterminate = false;
-    },
-    handleCheckedCitiesChange(value) {
-      let checkedCount = value.length;
-      this.checkAll = checkedCount === this.cities.length;
-      this.isIndeterminate =
-        checkedCount > 0 && checkedCount < this.cities.length;
-    },
-    addHw(e) {
-      var el = e.currentTarget;
-      el.getElementsByTagName("input")[0].click();
-    },
-    change(val) {
-      console.log(val);
-    },
-    change2(val) {
-      console.log(val);
-      this.$forceUpdate();
-    },
-    handleClose(done) {
-      done();
-    },
-
-    imgChange1(file, fileList, type, itemTaskIndex) {
-      if (type == 1) {
-        var _tmp = this.cover;
-      } else if (
-        type == 2 ||
-        type == 3 ||
-        type == 6 ||
-        type == 7 ||
-        type == 8
-      ) {
-        var _tmp =
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .chapterData;
-      } else if (type == 4) {
-        var _tmp = this.unitJson[this.unitIndex].chapterInfo[0].fileList1;
-      } else {
-        var _tmp =
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .homeworkList;
-      }
-      this.noneBtnImg = _tmp.length >= 1;
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    guid() {
-      var _num,
-        i,
-        _guid = "";
-      for (i = 0; i < 32; i++) {
-        _guid += Math.floor(Math.random() * 16).toString(16); //随机0  - 16 的数字 转变为16进制的字符串
-        _num = Math.floor((i - 7) / 4); //计算 (i-7)除4
-        if (_num > -1 && _num < 4 && i == 7 + 4 * _num) {
-          //会使guid中间加 "-"   形式为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-          _guid += "-";
-        }
-      }
-      return _guid;
-    },
-    lastSteps() {
-      if (this.steps == 4) {
-        this.goTo(
-          "/course?userid=" +
-            this.userid +
-            "&oid=" +
-            this.oid +
-            "&org=" +
-            this.org
-        );
-      } else {
-        if (this.cidType == 0) {
-          this.steps--;
-          if (this.steps == 1) {
-            setTimeout(() => {
-              this.checkEva(this.checkId);
-            }, 0);
-          }
-        } else {
-          if (this.steps == 3) {
-            this.steps = 1;
-            setTimeout(() => {
-              this.checkEva(this.checkId);
-            }, 0);
-          }
-        }
-      }
-    },
-    navSteps(s) {
-      if (this.courseName == "") {
-        this.$message.error("请将信息填写完整");
-        return;
-      }
-      if (this.cidType == 0) {
-        if (this.steps == 1) {
-          if (this.cid == "" || this.cid == undefined) {
-            this.addWork();
-          } else {
-            if (this.userid != this.courseUserid) {
-              // this.updateWork2();
-            } else {
-              this.updateWork();
-            }
-          }
-        }
-        if (s == 1) {
-          this.steps = 1;
-          setTimeout(() => {
-            this.checkEva(this.checkId);
-          }, 0);
-        }
-        if (s == 2) {
-          this.steps = 2;
-        }
-        if (s == 3) {
-          this.cTemplate = this.templateC.content;
-          this.dialogVisible2 = false;
-          this.steps = 3;
-          setTimeout(() => {
-            this.checkEva(this.checkId);
-          }, 1000);
-        }
-      } else {
-        if (this.steps == 1) {
-          if (this.cid == "" || this.cid == undefined) {
-            this.addWork();
-          } else {
-            if (this.userid != this.courseUserid) {
-              // this.updateWork2();
-            } else {
-              this.updateWork();
-            }
-          }
-        }
-        if (s == 1) {
-          this.steps = 1;
-          setTimeout(() => {
-            this.checkEva(this.checkId);
-          }, 0);
-        }
-        if (s == 3) {
-          this.cTemplate = this.templateC.content;
-          this.dialogVisible2 = false;
-          this.steps = 3;
-          setTimeout(() => {
-            this.checkEva(this.checkId);
-          }, 1000);
-        }
-      }
-      this.$refs.stepBox.scrollTop = 0;
-    },
-    nextSteps() {
-      if (this.cidType == 1) {
-        if (this.steps == 1) {
-          if (this.courseName != "") {
-            this.steps = 3;
-            setTimeout(() => {
-              this.checkEva(this.checkId);
-            }, 1000);
-            if (this.cid == "" || this.cid == undefined) {
-              this.addWork();
-            } else {
-              if (this.userid != this.courseUserid) {
-                // this.updateWork2();
-              } else {
-                this.updateWork();
-              }
-            }
-          } else {
-            this.$message.error("请将信息填写完整");
-            return;
-          }
-        } else if (this.steps == 3) {
-          if (this.cid == "" || this.cid == undefined) {
-            if (this.courseName == "") {
-              this.$message.error("请将信息填写完整");
-              return;
-            } else {
-              this.addWork();
-              this.steps++;
-            }
-          } else {
-            if (this.courseName == "") {
-              this.$message.error("请将信息填写完整");
-              return;
-            } else {
-              if (this.userid != this.courseUserid) {
-                this.updateWork2();
-              } else {
-                this.updateWork();
-              }
-              this.steps++;
-            }
-          }
-        }
-      } else {
-        if (this.steps == 1) {
-          if (this.courseName != "") {
-            if (this.cid == "" || this.cid == undefined) {
-              this.addWork();
-            } else {
-              if (this.userid != this.courseUserid) {
-                // this.updateWork2();
-              } else {
-                this.updateWork();
-              }
-            }
-            this.steps++;
-          } else {
-            this.$message.error("请将信息填写完整");
-            return;
-          }
-        } else if (this.steps == 2) {
-          if (this.templateC.id != "" || this.templateC.id != undefined) {
-            this.cTemplate = this.templateC.content;
-          }
-          this.dialogVisible2 = false;
-          this.steps++;
-          setTimeout(() => {
-            this.checkEva(this.checkId);
-          }, 1000);
-        } else if (this.steps == 3) {
-          if (this.cid == "" || this.cid == undefined) {
-            if (this.courseName == "") {
-              this.$message.error("请将信息填写完整");
-              return;
-            } else {
-              this.addWork();
-              this.steps++;
-            }
-          } else {
-            if (this.courseName == "") {
-              this.$message.error("请将信息填写完整");
-              return;
-            } else {
-              if (this.userid != this.courseUserid) {
-                this.updateWork2();
-              } else {
-                this.updateWork();
-              }
-              this.steps++;
-            }
-          }
-        }
-      }
-      this.$refs.stepBox.scrollTop = 0;
-    },
-    unitSet(i) {
-      this.unitIndex = i;
-      // this.$refs.rightboxR.scrollTop = 0;
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    deleteUnit(i) {
-      var _this = this;
-      if (_this.time()) {
-        _this
-          .$confirm("确定删除此单元吗?", "提示", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning",
-          })
-          .then(() => {
-            _this.isDelete = 2;
-            // _this.unitIndex = _this.unitIndex - 1;
-            _this.deleteWork(_this.unitJson[i].chapterInfo[0].chapterid);
-            // _this.$message.success("删除成功");
-          })
-          .catch(() => {
-            return;
-          });
-      }
-    },
-    deleteWork(chapid) {
-      let params = [
-        {
-          cid: this.cid,
-          chapters: JSON.stringify(this.unitJson),
-          uid: this.userid,
-          chapid: chapid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "deleteWork", params)
-        .then((res) => {
-          this.$message({
-            message: "删除成功",
-            type: "success",
-          });
-          this.unitJson.splice(this.unitIndex, 1);
-          this.unitIndex = this.unitIndex - 1;
-        })
-        .catch((err) => {
-          this.$message.error("网络不佳");
-          console.error(err);
-        });
-    },
-    deleteTool(itemTaskIndex, i) {
-      var _this = this;
-      if (_this.time()) {
-        _this
-          .$confirm("确定删除此工具吗?", "提示", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning",
-          })
-          .then(() => {
-            _this.unitJson[_this.unitIndex].chapterInfo[0].taskJson[
-              itemTaskIndex
-            ].toolChoose.splice(i, 1);
-            _this.$message.success("删除成功");
-          })
-          .catch(() => {
-            return;
-          });
-      }
-    },
-    openT() {
-      window.parent.postMessage({ tools: "25" }, "*");
-    },
-    deleteTask(i) {
-      var _this = this;
-      if (_this.time()) {
-        _this
-          .$confirm("确定删除此任务吗?", "提示", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning",
-          })
-          .then(() => {
-            _this.unitJson[_this.unitIndex].chapterInfo[0].taskJson.splice(
-              i,
-              1
-            );
-            _this.$message.success("删除成功");
-          })
-          .catch(() => {
-            return;
-          });
-      }
-    },
-    handlePictureCardPreview(file) {
-      this.dialogImageUrl = file.url;
-    },
-    clean(i, c) {
-      this.unitJson[this.unitIndex].chapterInfo[i].fileList1.splice(c, 1);
-    },
-    handle_remove1(file, fileList, type) {
-      var _tmp = this.cover;
-      for (var i = 0, len = _tmp.length; i < len; i++) {
-        if (_tmp[i].uid == file.uid) {
-          _tmp.splice(i, 1);
-          break;
-        }
-        this.cover = _tmp;
-      }
-      this.noneBtnImg = _tmp.length >= 1;
-      this.isSysPic = false;
-    },
-    addImg(e) {
-      var el = e.currentTarget;
-      el.getElementsByTagName("input")[0].click();
-    },
-    addChaptersTools(i) {
-      this.chapTools = [
-        {
-          tools: [],
-          toolDetail: "",
-        },
-      ];
-      this.chapCount = i;
-      this.dialogVisible4 = true;
-    },
-    isNoFinsh() {
-      this.$message.warning("功能正在开发中");
-    },
-    addAttText(i) {
-      this.AttText = {
-        title: "",
-        text: "",
-      };
-      this.taskCount = i;
-      this.AttTextType = 0;
-      this.$forceUpdate();
-      this.dialogVisible6 = true;
-    },
-    openLine(i) {
-      this.line = "";
-      this.lineCount = i;
-      this.lineType = 0;
-      this.$forceUpdate();
-      this.dialogVisible7 = true;
-    },
-    beforeUpload1(event, type) {
-      const loading = this.openLoading();
-      var file = event.target.files[0];
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length - 1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-          })
-          .send(function (err, data) {
-            loading.close();
-            if (err) {
-              var a = _this.$refs.upload1.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              _this.cover.push({
-                name: file.name,
-                url: data.Location,
-                uid: file.uid,
-              });
-              _this.imgChange1(null, null, 1, null);
-              _this.choosePicVisible = false;
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    beforeUploadSelect(event, type) {
-      const loading = this.openLoading();
-      var file = event.target.files[0];
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length - 1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-          })
-          .send(function (err, data) {
-            loading.close();
-            if (err) {
-              _this.$message.error("上传失败");
-            } else {
-              _this.selectJson.url = data.Location;
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    chooseSysPic(p) {
-      this.cover.push({
-        name: "系统图片.png",
-        url: p,
-      });
-      this.imgChange1(null, null, 1, null);
-      this.isSysPic = true;
-      this.sysPicVisible = false;
-    },
-    beforeUpload(data) {
-      this.$refs.upload1.uploadFiles;
-      this.uploadLoading1 = true;
-      var file = data.file;
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length - 1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-          })
-          .send(function (err, data) {
-            _this.uploadLoading1 = false;
-            if (err) {
-              var a = _this.$refs.upload1.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              //上传成功处理
-              _this.unitJson[_this.unitIndex].chapterInfo[0].fileList1.push({
-                name: file.name,
-                url: data.Location,
-                uid: file.uid,
-              });
-              _this.imgChange();
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    onExceed() {
-      this.$message.error("项目封面仅支持上传一张,请删除后再进行上传");
-    },
-    beforeUpload2(event, unitIndex, type, itemTaskIndex) {
-      // const loading = this.openLoading();
-      var file = event.target.files[0];
-      this.inputShow = false;
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-      if (type == 3) {
-        var b = [
-          "DOC",
-          "DOCX",
-          "DOCM",
-          "DOTM",
-          "DOTX",
-          "PPTX",
-          "PPSX",
-          "PPT",
-          "PPS",
-          "PPTM",
-          "POTM",
-          "PPAM",
-          "POTX",
-          "PPSM",
-        ];
-        if (
-          b.indexOf(
-            file.name
-              .split(".")
-              [file.name.split(".").length - 1].toLocaleUpperCase()
-          ) != -1
-        ) {
-          if (file.size / 1024 / 1024 > 10) {
-            this.$message.error("上传文件大于10兆,请重新选择文件!");
-            var a = _this.$refs.upload1.uploadFiles;
-            a.splice(a.length - 1, a.length);
-            // loading.close();
-            return;
-          }
-        } else if (
-          file.name
-            .split(".")
-            [file.name.split(".").length - 1].toLocaleUpperCase() != "PDF"
-        ) {
-          if (file.size / 1024 / 1024 > 5) {
-            this.$message.error("添加成上传文件大于5兆,请重新选择文件!");
-            var a = _this.$refs.upload1.uploadFiles;
-            a.splice(a.length - 1, a.length);
-            // loading.close();
-            return;
-          }
-        }
-      }
-
-      _this.unitJson[unitIndex].chapterInfo[0].taskJson[
-        itemTaskIndex
-      ].progress = 0;
-      _this.unitJson[unitIndex].chapterInfo[0].taskJson[
-        itemTaskIndex
-      ].proVisible = true;
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length - 1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-            _this.unitJson[unitIndex].chapterInfo[0].taskJson[
-              itemTaskIndex
-            ].progress = parseInt((evt.loaded * 80) / evt.total);
-          })
-          .send(function (err, data) {
-            // loading.close();
-            _this.unitJson[unitIndex].chapterInfo[0].taskJson[
-              itemTaskIndex
-            ].progress = 100;
-            setTimeout(() => {
-              _this.unitJson[unitIndex].chapterInfo[0].taskJson[
-                itemTaskIndex
-              ].proVisible = false;
-              _this.$forceUpdate();
-            }, 1000);
-            _this.inputShow = true;
-            if (err) {
-              var a = _this.$refs.upload1.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              if (type == 2 || type == 3) {
-                _this.unitJson[unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].chapterData.push({
-                  name: file.name,
-                  url: data.Location,
-                  uid: file.uid,
-                  type: type,
-                });
-                _this.imgChange1(null, null, type, itemTaskIndex);
-              } else if (type == 4) {
-                _this.unitJson[_this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].fileList1.push({
-                  name: file.name,
-                  url: data.Location,
-                  uid: file.uid,
-                });
-                _this.imgChange1(null, null, type, itemTaskIndex);
-              } else if (type == 5) {
-                _this.unitJson[_this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].homeworkList.push({
-                  name: file.name,
-                  url: data.Location,
-                  uid: file.uid,
-                });
-                _this.imgChange1(null, null, type, itemTaskIndex);
-              }
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    addunit() {
-      this.unitJson.push({
-        dyName: "", //单元标题
-        isUpdate: 1,
-        chapterInfo: [
-          {
-            isread: false,
-            chapterid: this.guid(),
-            title: "",
-            courseName: "",
-            taskJson: [
-              {
-                task: "",
-                taskDetail: "",
-                chapterData: [],
-                toolText: "",
-                toolChoose: [
-                  {
-                    tool: [],
-                    toolDetail: "",
-                    toolType: 0,
-                    askCount: 1,
-                    askTitle: "",
-                    askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-                  },
-                ],
-                isShowTools: false,
-                askCount: 1,
-                isFold: 0,
-                askTitle: "",
-                askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-                checkJson: [{ checkCount: [], checkPerent: [] }],
-                homeworkList: [],
-              },
-            ],
-            itemCount: 1,
-            fileList1: [],
-            video: [],
-            testData: [],
-            pData: [],
-            templateArray: [],
-          },
-        ],
-      });
-      this.addindex = this.unitJson.length - 1;
-      setTimeout(() => {
-        this.unitIndex = this.unitJson.length - 1;
-        this.unitSet(this.unitIndex);
-      }, 0);
-    },
-    addToolFun(itemTaskIndex) {
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        itemTaskIndex
-      ].toolChoose.push({
-        tool: [],
-        toolDetail: "",
-        toolType: 0,
-        askCount: 1,
-        askTitle: "",
-        askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-      });
-    },
-    addTaskBorder() {
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson.push({
-        task: "",
-        taskDetail: "",
-        chapterData: [],
-        toolText: "",
-        toolChoose: [
-          {
-            tool: [],
-            toolDetail: "",
-            toolType: 0,
-            askCount: 1,
-            askTitle: "",
-            askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-          },
-        ],
-        isShowTools: false,
-        askCount: 1,
-        isFold: 0,
-        askTitle: "",
-        askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-        checkJson: [{ checkCount: [], checkPerent: [] }],
-        homeworkList: [],
-      });
-    },
-    add(e, i) {
-      var el = e.currentTarget;
-      el.getElementsByTagName("input")[0].click();
-    },
-    fold(i, e, type) {
-      var a = e.path[3];
-      var b = e.path[2];
-      if (type == 1) {
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isFold = 1;
-        a.className += " smallTaskBorder";
-        b.className += " funBlockTop";
-      } else {
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isFold = 0;
-        a.className = "taskBorder";
-        b.className = "funBlock";
-      }
-      console.log(e);
-    },
-    deleteHomeworkBox(unitIndex, index, i) {
-      this.unitJson[unitIndex].chapterInfo[index].taskJson[
-        this.taskCount
-      ].homeworkList.splice(i, 1);
-    },
-    getStudent() {
-      let params = {
-        oid: this.oid,
-        cu: "",
-        cn: this.searchPeople,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectStudentAdd", params)
-        .then((res) => {
-          this.studentJuri = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    getTeacher() {
-      let params = {
-        oid: this.oid,
-        cu: "",
-        cn: this.searchTN,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectTeacherAdd", params)
-        .then((res) => {
-          let teacherJuri = res.data[0];
-          for (var i = 0; i < teacherJuri.length; i++) {
-            if (teacherJuri[i].userid == this.userid) {
-              teacherJuri.splice(i, 1);
-              break;
-            }
-          }
-          this.teacherJuri = teacherJuri;
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    searchStudent() {
-      this.getStudent();
-    },
-    //获取班级列表
-    getClass() {
-      let params = {
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectClassBySchool", params)
-        .then((res) => {
-          this.grade = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    getChapterData(e, i, j, ic, type) {
-      e.stopPropagation();
-      this.updataC = true;
-      this.icc = ic;
-      if ((type == 2 || type == 3) && e.target.tagName !== "INPUT") {
-        console.log("还不能下载图片喔");
-      }
-    },
-    deleteChapterData(e, i, j, ic, taskI) {
-      e.stopPropagation();
-      this.unitJson[i].chapterInfo[j].taskJson[taskI].chapterData.splice(ic, 1);
-    },
-    updataVideoT(e, i, j, ic) {
-      e.stopPropagation();
-      this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-        ic
-      ].name = e.target.value;
-    },
-    upCd(e, i, j, ic) {
-      e.stopPropagation();
-      if (ic == 0) {
-        return;
-      }
-      var a =
-        this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-          ic - 1
-        ];
-      this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-        ic - 1
-      ] =
-        this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-          ic
-        ];
-      this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[ic] =
-        a;
-    },
-    downCd(e, i, j, ic) {
-      e.stopPropagation();
-      if (ic == this.unitJson[i].chapterInfo[j].chapterData.length - 1) {
-        return;
-      }
-      var a =
-        this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-          ic + 1
-        ];
-      this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-        ic + 1
-      ] =
-        this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-          ic
-        ];
-      this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[ic] =
-        a;
-    },
-    addWork() {
-      let cPan = 1;
-      for (var i = 0; i < this.unitJson.length; i++) {
-        for (
-          var j = 0;
-          j < this.unitJson[i].chapterInfo[0].taskJson.length;
-          j++
-        ) {
-          if (
-            this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose.length > 1
-          ) {
-            for (
-              var z = 0;
-              z < this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose.length;
-              z++
-            ) {
-              if (
-                !this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[z].tool
-                  .length
-              ) {
-                this.$message.error("请把工具添加完整");
-                cPan = 2;
-                break;
-              }
-            }
-          }
-          if (this.unitJson[i].chapterInfo[0].taskJson[j].eList) {
-            this.unitJson[i].chapterInfo[0].taskJson[j].eList = this.unitJson[
-              i
-            ].chapterInfo[0].taskJson[j].eList.filter((ele) => {
-              return ele.value != "";
-            });
-          }
-        }
-      }
-
-      if (cPan == 2) {
-        this.steps--;
-        return;
-      }
-      for (var i = 0; i < this.unitJson.length; i++) {
-        delete this.unitJson[i].isUpdate;
-      }
-      let params = [
-        {
-          uid: this.userid,
-          title: this.courseName.replace(/%/g, "%25"),
-          brief: this.courseText.replace(/%/g, "%25"),
-          cover:
-            this.cover.length > 0
-              ? JSON.stringify(this.cover)
-              : JSON.stringify([
-                  {
-                    name: "noBanner.jpg",
-                    url: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/noBanner1656409780264.jpg",
-                    uid: 1656409780264,
-                    status: "success",
-                  },
-                ]),
-          evaId: this.evalua,
-          astudent:
-            this.checkboxList2.length > 0 ? this.checkboxList2.join(",") : "",
-          see: this.isTeacherSee == true ? 1 : 0,
-          chapters: JSON.stringify(this.unitJson).replaceAll(/%/g, "%25"),
-          template: this.cTemplate != "undefined" ? this.cTemplate : "",
-          courseType: JSON.stringify(this.courseTypeId),
-          ateacher:
-            this.checkboxList3.length > 0 ? this.checkboxList3.join(",") : "",
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "addWorkNew2", params)
-        .then((res) => {
-          console.log(this.steps);
-          if (this.steps != 1 && this.steps != 2 && this.steps != 3) {
-            this.$message({
-              message: "新增成功",
-              type: "success",
-            });
-          }
-          this.number = res.data.ordernumber;
-          this.courseId = res.data.courseId;
-          this.cid = res.data.courseId;
-          this.courseUserid = this.userid;
-          this.islogin = true;
-        })
-        .catch((err) => {
-          this.$message.error("网络不佳");
-          console.error(err);
-        });
-    },
-    goCourse() {
-      window.parent.postMessage({ cid: this.courseId, type: "1" }, "*");
-    },
-    updateWork2() {
-      let _unitIndex = this.unitIndex;
-      let cPan = 1;
-      for (
-        var j = 0;
-        j < this.unitJson[_unitIndex].chapterInfo[0].taskJson.length;
-        j++
-      ) {
-        if (
-          this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].toolChoose
-            .length > 1
-        ) {
-          for (
-            var z = 0;
-            z <
-            this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].toolChoose
-              .length;
-            z++
-          ) {
-            if (
-              !this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].toolChoose[
-                z
-              ].tool.length
-            ) {
-              this.$message.error("请把工具添加完整");
-              cPan = 2;
-              break;
-            }
-          }
-        }
-        if (this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].eList) {
-          this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].eList =
-            this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].eList.filter(
-              (ele) => {
-                return ele.value != "";
-              }
-            );
-        }
-      }
-      if (cPan == 2) {
-        this.steps--;
-        return;
-      }
-      let params = [
-        {
-          cid: this.cid,
-          chapters: JSON.stringify(this.unitJson),
-          uid: this.userid,
-          unitIndex: _unitIndex,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updateWorkNew4", params)
-        .then((res) => {
-          this.$message({
-            message: "修改成功",
-            type: "success",
-          });
-          this.courseId = this.cid;
-        })
-        .catch((err) => {
-          this.$message.error("网络不佳");
-          console.error(err);
-        });
-    },
-    updateWork() {
-      let cPan = 1;
-      for (var i = 0; i < this.unitJson.length; i++) {
-        for (
-          var j = 0;
-          j < this.unitJson[i].chapterInfo[0].taskJson.length;
-          j++
-        ) {
-          if (
-            this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose.length > 1
-          ) {
-            for (
-              var z = 0;
-              z < this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose.length;
-              z++
-            ) {
-              if (
-                !this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[z].tool
-                  .length
-              ) {
-                this.$message.error("请把工具添加完整");
-                cPan = 2;
-                break;
-              }
-            }
-          }
-          if (this.unitJson[i].chapterInfo[0].taskJson[j].eList) {
-            this.unitJson[i].chapterInfo[0].taskJson[j].eList = this.unitJson[
-              i
-            ].chapterInfo[0].taskJson[j].eList.filter((ele) => {
-              return ele.value != "";
-            });
-          }
-        }
-      }
-      if (cPan == 2) {
-        this.steps--;
-        return;
-      }
-      for (var i = 0; i < this.unitJson.length; i++) {
-        delete this.unitJson[i].isUpdate;
-      }
-      let params = [
-        {
-          cid: this.cid,
-          title: this.courseName.replace(/%/g, "%25"),
-          brief: this.courseText.replace(/%/g, "%25"),
-          cover:
-            this.cover.length > 0
-              ? JSON.stringify(this.cover)
-              : JSON.stringify([
-                  {
-                    name: "noBanner.jpg",
-                    url: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/noBanner1656409780264.jpg",
-                    uid: 1656409780264,
-                    status: "success",
-                  },
-                ]),
-          evaId: this.evalua,
-          astudent:
-            this.checkboxList2.length > 0 ? this.checkboxList2.join(",") : "",
-          see: this.isTeacherSee == true ? 1 : 0,
-          chapters: JSON.stringify(this.unitJson).replaceAll(/%/g, "%25"),
-          template: this.myWord != "undefined" ? this.myWord : [],
-          uid: this.userid,
-          courseType: JSON.stringify(this.courseTypeId),
-          ateacher:
-            this.checkboxList3.length > 0 ? this.checkboxList3.join(",") : "",
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updateWorkNew2", params)
-        .then((res) => {
-          if (this.steps != 1 && this.steps != 2 && this.steps != 3) {
-            if (this.cidType == 1) {
-              this.$message({
-                message: "修改成功",
-                type: "success",
-              });
-            } else {
-              this.$message({
-                message: "新增成功",
-                type: "success",
-              });
-            }
-          }
-          this.number = this.nbOrder;
-          this.courseId = this.cid;
-        })
-        .catch((err) => {
-          this.$message.error("网络不佳");
-          console.error(err);
-        });
-    },
-    guid() {
-      var _num,
-        i,
-        _guid = "";
-      for (i = 0; i < 32; i++) {
-        _guid += Math.floor(Math.random() * 16).toString(16); //随机0  - 16 的数字 转变为16进制的字符串
-        _num = Math.floor((i - 7) / 4); //计算 (i-7)除4
-        if (_num > -1 && _num < 4 && i == 7 + 4 * _num) {
-          //会使guid中间加 "-"   形式为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-          _guid += "-";
-        }
-      }
-      return _guid;
-    },
-    insertWord() {
-      this.dialogVisible1 = true;
-      this.updateBoolean2 = false;
-      this.tTitle = "";
-      this.tdetail = "";
-    },
-    addWord() {
-      this.unitJson[this.unitIndex].chapterInfo[0].fileList1.push({
-        name: this.tTitle,
-        content: this.tdetail,
-        uid: this.guid(),
-      });
-      this.dialogVisible1 = false;
-    },
-    upWord() {},
-    selectWord(uid, i, c) {
-      this.dialogVisible1 = true;
-      this.updateBoolean2 = true;
-      if (
-        uid == this.unitJson[this.unitIndex].chapterInfo[i].fileList1[c].uid
-      ) {
-        this.tTitle =
-          this.unitJson[this.unitIndex].chapterInfo[i].fileList1[c].name;
-        this.tdetail =
-          this.unitJson[this.unitIndex].chapterInfo[i].fileList1[c].content;
-      }
-    },
-    isAddPP() {
-      if (this.checkboxList.length > 0) {
-        this.$message({
-          message: "添加成功",
-          type: "success",
-        });
-        this.dialogVisible3 = false;
-      } else {
-        this.$message({
-          message: "请添加项目成员",
-          type: "error",
-        });
-      }
-    },
-    isAddClass() {
-      this.dialogVisibleClass = false;
-    },
-    isAddPPTeacher() {
-      this.dialogVisibleMember = false;
-    },
-    getTemplate() {
-      this.ajax
-        .get(this.$store.state.api + "getCourseTemplateT", "")
-        .then((res) => {
-          this.templateArray = res.data[0];
-        })
-        .catch((err) => {});
-    },
-    clearChoose() {
-      this.clearArray.splice(this.templateC.id, 1);
-      this.dialogVisible2 = false;
-    },
-    clearAttText() {
-      this.AttText = {
-        title: "",
-        text: "",
-      };
-      this.dialogVisible6 = false;
-    },
-    clearLine() {
-      this.line = "";
-      this.dialogVisible7 = false;
-    },
-    checkTemplate(res) {
-      let _this = this;
-      _this
-        .$confirm("确定选择此模板吗?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        })
-        .then(() => {
-          _this.unitJson = JSON.parse(res.chapters);
-          _this.steps++;
-          setTimeout(() => {
-            this.checkEva(this.checkId);
-          }, 1000);
-        })
-        .catch(() => {
-          return;
-        });
-    },
-    checkTemplate1(w) {
-      this.steps++;
-    },
-    checkTemplate2() {
-      let _this = this;
-      _this
-        .$confirm("确定选择空模板吗?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        })
-        .then(() => {
-          _this.unitJson = [
-            {
-              dyName: "", //单元标题
-              chapterInfo: [
-                {
-                  isread: false,
-                  chapterid: this.guid(),
-                  title: "",
-                  courseName: "",
-                  taskJson: [
-                    {
-                      task: "",
-                      taskDetail: "",
-                      chapterData: [],
-                      toolText: "",
-                      toolChoose: [
-                        {
-                          tool: [],
-                          toolDetail: "",
-                          toolType: 0,
-                          askCount: 1,
-                          askTitle: "",
-                          askJson: [
-                            { askstitle: "", askItem: 1, checkList: [] },
-                          ],
-                        },
-                      ],
-                      isShowTools: false,
-                      askCount: 1,
-                      isFold: 0,
-                      askTitle: "",
-                      askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-                      checkJson: [{ checkCount: [], checkPerent: [] }],
-                      homeworkList: [],
-                    },
-                  ],
-                  itemCount: 1,
-                  fileList1: [],
-                  video: [],
-                  testData: [],
-                  pData: [],
-                  templateArray: [],
-                },
-              ],
-            },
-          ];
-          this.steps++;
-        })
-        .catch(() => {
-          return;
-        });
-    },
-    wordNext() {
-      this.dialogVisible2 = false;
-    },
-    isAddOrUpdateAttText() {
-      if (this.AttTextType == 0) {
-        this.addAttTextMessage();
-      } else {
-        this.updateAttText();
-      }
-    },
-    isAddOrUpdateLine() {
-      if (this.lineType == 0) {
-        this.addLine();
-      } else {
-        this.updateLine();
-      }
-    },
-    addAttTextMessage() {
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].chapterData.push({
-        name: this.AttText.title,
-        url: this.AttText.text,
-        type: 6,
-      });
-      this.imgChange1(null, null, 6, this.taskCount);
-      this.dialogVisible6 = false;
-    },
-    selectAttText(itemTaskIndex, i) {
-      this.AttText.title =
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].chapterData[i].name;
-      this.AttText.text =
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].chapterData[i].url;
-      this.taskCount = itemTaskIndex;
-      this.AttTextIndex = i;
-      this.AttTextType = 1;
-      this.dialogVisible6 = true;
-    },
-    updateAttText() {
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].chapterData[this.AttTextIndex].name = this.AttText.title;
-
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].chapterData[this.AttTextIndex].url = this.AttText.text;
-      this.dialogVisible6 = false;
-    },
-    addLine() {
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.lineCount
-      ].chapterData.push({
-        name: "链接",
-        url: this.line,
-        type: 8,
-      });
-      this.imgChange1(null, null, 8, this.lineCount);
-      this.dialogVisible7 = false;
-    },
-    selectLine(itemTaskIndex, i) {
-      this.line =
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].chapterData[i].url;
-      this.taskCount = itemTaskIndex;
-      this.lineCount = i;
-      this.lineType = 1;
-      this.dialogVisible7 = true;
-    },
-    updateLine() {
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].chapterData[this.lineCount].url = this.line;
-      this.dialogVisible7 = false;
-    },
-    addPP() {
-      this.dialogVisible3 = true;
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    openTools(itemTaskIndex, i, toolIndex) {
-      this.toolIndex = toolIndex;
-      this.taskCount = itemTaskIndex;
-      if (i == 4) {
-        if (toolIndex == null) {
-          var a =
-            this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-              .chapterData;
-          for (var i = 0; i < a.length; i++) {
-            if (a[i].url == 4 && a[i].askJson.askTitle != "") {
-              this.askJson =
-                this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].chapterData[i].askJson;
-            }
-          }
-        } else {
-          this.askJson = JSON.parse(
-            JSON.stringify(
-              this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                itemTaskIndex
-              ].toolChoose[toolIndex]
-            )
-          );
-        }
-        this.dialogVisible5 = true;
-      } else if (i == 45) {
-        if (
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].testJson
-        ) {
-          this.testJson = JSON.parse(
-            JSON.stringify(
-              this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                itemTaskIndex
-              ].toolChoose[toolIndex].testJson
-            )
-          );
-        } else {
-          var testJson = {
-            testCount: 1,
-            testTitle: "",
-            testJson: [
-              {
-                teststitle: "",
-                testItem: 1,
-                checkList: [],
-                answer: [],
-                type: "1",
-              },
-            ],
-          };
-          this.testJson = testJson;
-        }
-
-        this.dialogVisibleChoice = true;
-      } else if (i == 15) {
-        this.answerQ = this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].toolChoose[toolIndex].answerQ
-          ? JSON.parse(
-              JSON.stringify(
-                this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].toolChoose[toolIndex].answerQ
-              )
-            )
-          : "";
-        this.dialogVisible8 = true;
-      } else if (i == 40) {
-        this.rateJson = this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].toolChoose[toolIndex].rateJson
-          ? JSON.parse(
-              JSON.stringify(
-                this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].toolChoose[toolIndex].rateJson
-              )
-            )
-          : [{ detail: "", score: 5, value: "" }]; //{detail:"",score:5,value:""}
-        this.selectSteps = 1;
-        this.dialogVisibleRate = true;
-      } else if (i == 42) {
-        this.answerQ = this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].toolChoose[toolIndex].answerQ
-          ? JSON.parse(
-              JSON.stringify(
-                this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].toolChoose[toolIndex].answerQ
-              )
-            )
-          : "";
-        this.dialogVisibleMp3 = true;
-      } else if (i == 41) {
-        this.selectJson = this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].toolChoose[toolIndex].selectJson
-          ? JSON.parse(
-              JSON.stringify(
-                this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].toolChoose[toolIndex].selectJson
-              )
-            )
-          : { url: "", select: [], answer: [] };
-        this.selectSteps = 1;
-        this.dialogVisibleSelect = true;
-      }
-    },
-    chapAddTools(i) {
-      if (this.chapTools[0].tools.length == 0) {
-        this.chapTools[0].tools.push(i);
-      } else {
-        if (this.chapTools[0].tools.indexOf(i) != -1) {
-          this.chapTools[0].tools.splice(this.chapTools[0].tools.indexOf(i), 1);
-        } else {
-          this.chapTools[0].tools.push(i);
-        }
-      }
-      this.$forceUpdate();
-    },
-    addChaptersDataTools() {
-      if (this.chapTools[0].tools.indexOf(4) != -1) {
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          this.chapCount
-        ].chapterData.push({
-          name: this.chapTools[0].toolDetail,
-          url: this.chapTools[0].tools,
-          type: 7,
-          askJson: this.askJson,
-        });
-      } else {
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          this.chapCount
-        ].chapterData.push({
-          name: this.chapTools[0].toolDetail,
-          url: this.chapTools[0].tools,
-          type: 7,
-        });
-      }
-      this.imgChange1(null, null, 7, this.chapCount);
-      this.dialogVisible4 = false;
-    },
-    addTools(i, itemTaskIndex, toolIndex) {
-      // if (
-      //   this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-      //     .toolChoose[toolIndex].tool.length == 0
-      // ) {
-      //   this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-      //     itemTaskIndex
-      //   ].toolChoose[toolIndex].tool.push(i);
-      // } else {
-      //   if (
-      //     this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-      //       itemTaskIndex
-      //     ].toolChoose[toolIndex].tool.indexOf(i) != -1
-      //   ) {
-      //     this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-      //       itemTaskIndex
-      //     ].toolChoose[toolIndex].tool.splice(
-      //       this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-      //         itemTaskIndex
-      //       ].toolChoose[toolIndex].tool.indexOf(i),
-      //       1
-      //     );
-      //   } else {
-      //     this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-      //       itemTaskIndex
-      //     ].toolChoose[toolIndex].tool.push(i);
-      //   }
-      //   console.log(
-      //     this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-      //       .toolChoose[toolIndex].tool
-      //   );
-      // }
-      if (i == 4) {
-        if (
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].askJson.askTitle == "" ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].askJson[0].askstitle == "" ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].askJson[0].checkList < 2
-        ) {
-          this.openTools(itemTaskIndex, 4, toolIndex);
-          // this.$message({
-          //   message: "请填写完整问卷内容",
-          //   type: "error",
-          // });
-          return;
-        }
-      }
-      if (i == 45) {
-        if (
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].testJson ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].testJson.testTitle == "" ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].testJson.testJson[0].teststitle == "" ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].testJson.testJson[0].checkList < 2
-        ) {
-          this.openTools(itemTaskIndex, 45, toolIndex);
-          // this.$message({
-          //   message: "请填写完整问卷内容",
-          //   type: "error",
-          // });
-          return;
-        }
-      }
-      if (i == 15) {
-        if (
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].answerQ ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].answerQ == ""
-        ) {
-          this.openTools(itemTaskIndex, 15, toolIndex);
-          // this.$message({
-          //   message: "请填写问答内容",
-          //   type: "error",
-          // });
-          return;
-        }
-      }
-      if (i == 40) {
-        if (
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].rateJson ||
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].rateJson.length
-        ) {
-          this.openTools(itemTaskIndex, 40, toolIndex);
-          return;
-        }
-      }
-      if (i == 41) {
-        if (
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].selectJson ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].selectJson.url == "" ||
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].selectJson.select.length ||
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].selectJson.answer.length
-        ) {
-          this.openTools(itemTaskIndex, 41, toolIndex);
-          return;
-        }
-      }
-      if (i == 42) {
-        if (
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].answerQ ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].answerQ == ""
-        ) {
-          this.openTools(itemTaskIndex, 42, toolIndex);
-          return;
-        }
-      }
-      if (
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-          .toolChoose[toolIndex].tool.length > 0
-      ) {
-        if (
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-            itemTaskIndex
-          ].toolChoose[toolIndex].tool.indexOf(i) != -1
-        ) {
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-            itemTaskIndex
-          ].toolChoose[toolIndex].tool.splice(
-            this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-              itemTaskIndex
-            ].toolChoose[toolIndex].tool.indexOf(i),
-            1
-          );
-        } else {
-          // this.$message({
-          //   message: "每个工具只能添加一个",
-          //   type: "error",
-          // });
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-            itemTaskIndex
-          ].toolChoose[toolIndex].tool = [];
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-            itemTaskIndex
-          ].toolChoose[toolIndex].tool.push(i);
-        }
-      } else {
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].toolChoose[toolIndex].tool.push(i);
-      }
-
-      this.$forceUpdate();
-    },
-    addAskList() {
-      this.askJson.askJson.push({
-        askstitle: "",
-        askItem: 1,
-        checkList: [],
-      });
-      this.askJson.askCount++;
-    },
-    addTestList() {
-      this.testJson.testJson.push({
-        teststitle: "",
-        testItem: 1,
-        checkList: [],
-        answer: [],
-        type: "1",
-      });
-      this.testJson.testCount++;
-    },
-    deleteAskList(index) {
-      this.askJson.askJson.splice(index, 1);
-      this.askJson.askCount--;
-    },
-    deleteTestList(index) {
-      this.testJson.testJson.splice(index, 1);
-      this.testJson.testCount--;
-    },
-    addcheckList(json) {
-      json.checkList.length++;
-      json.askItem++;
-    },
-    deletecheckList(json) {
-      json.checkList.length--;
-      json.askItem--;
-    },
-    addTcheckList(json) {
-      json.checkList.length++;
-      json.testItem++;
-    },
-    deleteTcheckList(json) {
-      json.checkList.length--;
-      json.testItem--;
-    },
-    checkTestType(type, json) {
-      json.type = type;
-      json.answer = [];
-    },
-    addSelectList(json) {
-      json.select.push("");
-      json.answer.push("");
-    },
-    deleteSelectList(json) {
-      // json.select.length--;
-      // json.answer.length--;
-      json.select.splice(json.select.length - 1, 1);
-      json.answer.splice(json.answer.length - 1, 1);
-    },
-    addAsk() {
-      if (this.askJson.askTitle === "") {
-        this.$message.error("标题不能为空!");
-        return;
-      }
-      var aj = this.askJson.askJson;
-      var b = 1;
-      for (var i = 0; i < aj.length; i++) {
-        if (aj[i].askstitle === "") {
-          var a = 1;
-          for (let index = 0; index < aj[i].askItem; index++) {
-            const element = aj[i].checkList[index]
-              ? aj[i].checkList[index]
-              : "";
-            if (element != "") {
-              b++;
-              this.$message.error("填写了选项,题目不能为空!");
-              return;
-            } else {
-              a++;
-            }
-          }
-          if (b == 1) {
-            this.$message.error("至少填写一个问题");
-            return;
-          }
-        } else if (aj[i].askstitle != "") {
-          for (let index = 0; index < aj[i].askItem; index++) {
-            const element = aj[i].checkList[index]
-              ? aj[i].checkList[index]
-              : "";
-            var index = 0;
-            for (var z = 0; z < aj[i].checkList.length; z++) {
-              var checkC = aj[i].checkList[z] ? aj[i].checkList[z] : "";
-              if (checkC != "") {
-                index++;
-              } else {
-                this.$message.error("选项不能为空!");
-                return;
-              }
-            }
-            b++;
-            if (index < 2) {
-              this.$message.error("填写了的题目,选项至少要有两项!");
-              return;
-            }
-          }
-        }
-      }
-      this.askJson.askJson = this.askJson.askJson.filter((el) => {
-        var elc = el.checkList.filter((element) => {
-          return element != "";
-        });
-        return el.askstitle != "" && elc.length != 0;
-      });
-      if (!this.dialogVisible4) {
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          this.taskCount
-        ].toolChoose[this.toolIndex] = this.askJson;
-      }
-
-      this.dialogVisible5 = false;
-    },
-    addTest() {
-      if (this.testJson.testTitle === "") {
-        this.$message.error("标题不能为空!");
-        return;
-      }
-      var aj = this.testJson.testJson;
-      var b = 1;
-      for (var i = 0; i < aj.length; i++) {
-        if (aj[i].teststitle === "") {
-          var a = 1;
-          for (let index = 0; index < aj[i].testItem; index++) {
-            const element = aj[i].checkList[index]
-              ? aj[i].checkList[index]
-              : "";
-            if (element != "") {
-              b++;
-              this.$message.error("填写了选项,题目不能为空!");
-              return;
-            } else {
-              a++;
-            }
-          }
-          if (b == 1) {
-            this.$message.error("至少填写一个问题");
-            return;
-          }
-        } else if (aj[i].teststitle != "") {
-          for (let index = 0; index < aj[i].testItem; index++) {
-            const element = aj[i].checkList[index]
-              ? aj[i].checkList[index]
-              : "";
-            var index = 0;
-            for (var z = 0; z < aj[i].checkList.length; z++) {
-              var checkC = aj[i].checkList[z] ? aj[i].checkList[z] : "";
-              if (checkC != "") {
-                index++;
-              } else {
-                this.$message.error("选项不能为空!");
-                return;
-              }
-            }
-            b++;
-            if (index < 2) {
-              this.$message.error("填写了的题目,选项至少要有两项!");
-              return;
-            }
-            if (
-              (aj[i].type == "2" && !aj[i].answer.length) ||
-              (aj[i].type == "1" && aj[i].answer !== 0 && !aj[i].answer)
-            ) {
-              this.$message.error("有题目未选择答案请选择答案");
-              return;
-            }
-          }
-        }
-      }
-      this.testJson.testJson = this.testJson.testJson.filter((el) => {
-        var elc = el.checkList.filter((element) => {
-          return element != "";
-        });
-        return el.teststitle != "" && elc.length != 0;
-      });
-
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].toolChoose[this.toolIndex].testJson = this.testJson;
-
-      this.dialogVisibleChoice = false;
-    },
-    addAnswer() {
-      if (this.answerQ == "") {
-        this.$message.error("请输入您想要问的问题");
-        return;
-      }
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].toolChoose[this.toolIndex].answerQ = this.answerQ;
-      this.dialogVisible8 = false;
-    },
-    addMp3Answer() {
-      if (this.answerQ == "") {
-        this.$message.error("请输入您想要回答的问题");
-        return;
-      }
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].toolChoose[this.toolIndex].answerQ = this.answerQ;
-      this.dialogVisibleMp3 = false;
-    },
-    addRateAnswer() {
-      var a = 1;
-      for (var i = 0; i < this.rateJson.length; i++) {
-        if (this.rateJson[i].value == "") {
-          a = 2;
-          break;
-        }
-      }
-      if (a == 2) {
-        this.$message.error("请把评价信息填写完整");
-        return;
-      }
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].toolChoose[this.toolIndex].rateJson = this.rateJson;
-      this.dialogVisibleRate = false;
-    },
-    addSelectAnswer() {
-      if (this.selectJson.url == "") {
-        this.$message.error("请上传题目");
-        return;
-      }
-      if (!this.selectJson.select.length) {
-        this.$message.error("请添加选项");
-        return;
-      }
-      if (!this.selectJson.answer.length) {
-        this.$message.error("请设置答案");
-        return;
-      }
-      var a = 1;
-      for (var i = 0; i < this.selectJson.answer.length; i++) {
-        if (!this.selectJson.answer[i] && this.selectJson.answer[i] !== 0) {
-          a = 2;
-        }
-      }
-      if (a == 2) {
-        this.$message.error("请设置答案");
-        return;
-      }
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].toolChoose[this.toolIndex].selectJson = this.selectJson;
-      this.dialogVisibleSelect = false;
-    },
-    nextSelectSteps() {
-      if (this.selectJson.url == "") {
-        this.$message.error("请上传题目");
-        return;
-      }
-      if (!this.selectJson.select.length) {
-        this.$message.error("请添加选项");
-        return;
-      }
-      var a = 1;
-      for (var i = 0; i < this.selectJson.select.length; i++) {
-        if (!this.selectJson.select[i]) {
-          a = 2;
-        }
-      }
-      if (a == 2) {
-        this.$message.error("添加的选项不能为空");
-        return;
-      }
-      this.selectSteps++;
-    },
-    selectCourseDetail() {
-      if (this.cid == "" || this.cid == undefined) {
-        console.log("这是新增项目");
-      } else {
-        this.cidType = 1;
-        let params = {
-          cid: this.cid,
-        };
-        this.ajax
-          .get(this.$store.state.api + "select_course_detail", params)
-          .then((res) => {
-            this.loading = true;
-            this.unitJson = JSON.parse(res.data[0][0].chapters);
-            for (var j in this.unitJson) {
-              for (var i in this.unitJson[j].chapterInfo) {
-                this.unitJson[j].chapterInfo[i].taskJson[
-                  this.taskCount
-                ].toolChoose = this.unitJson[j].chapterInfo[i].taskJson[
-                  this.taskCount
-                ].toolChoose
-                  ? this.unitJson[j].chapterInfo[i].taskJson[this.taskCount]
-                      .toolChoose
-                  : [];
-                for (var k in this.unitJson[j].chapterInfo[i].taskJson) {
-                  let _chapterData = [];
-                  for (var c in this.unitJson[j].chapterInfo[i].taskJson[k]
-                    .chapterData) {
-                    if (
-                      this.unitJson[j].chapterInfo[i].taskJson[k].chapterData[c]
-                    ) {
-                      _chapterData.push(
-                        this.unitJson[j].chapterInfo[i].taskJson[k].chapterData[
-                          c
-                        ]
-                      );
-                    }
-                  }
-                  this.unitJson[j].chapterInfo[i].taskJson[k].chapterData =
-                    _chapterData;
-                }
-              }
-            }
-            this.courseName = res.data[0][0].title;
-            this.courseText = res.data[0][0].brief;
-            this.evalua = res.data[0][0].evaId;
-            this.cover = JSON.parse(res.data[0][0].cover);
-            this.noneBtnImg = this.cover.length >= 1;
-            // this.checkboxList =
-            //   res.data[0][0].course_student.length > 0
-            //     ? JSON.parse(res.data[0][0].course_student)
-            //     : [];
-            this.checkboxList2 = res.data[0][0].juri
-              ? res.data[0][0].juri.split(",")
-              : [];
-            this.checkboxList3 = res.data[0][0].course_teacher
-              ? res.data[0][0].course_teacher.split(",")
-              : [];
-            // this.isTeacherSee =
-            //   res.data[0][0].is_teacher_look == 0 ? true : false;
-            this.isTeacherSee = res.data[0][0].open == 1 ? true : false;
-            this.myWord = res.data[0][0].template;
-            this.templateC.id = "123";
-            this.courseUserid = res.data[0][0].userid;
-            this.nbOrder = res.data[0][0].ordernumber;
-            for (var i = 0; i < res.data[1].length; i++) {
-              this.courseTypeId.push(res.data[1][i].typeid);
-            }
-            console.log(this.courseTypeId);
-            // if (this.timer) clearInterval(this.timer);
-            if (this.timer) clearTimeout(this.timer);
-            this.timer = null;
-            // this.timer = setInterval(() => {
-
-            this.seleteCourseUpdate();
-
-            // }, 5000);
-            this.$forceUpdate();
-            setTimeout(() => {
-              this.checkEva(this.evalua);
-            }, 0);
-          })
-          .catch((err) => {
-            console.error(err);
-          });
-      }
-    },
-    seleteCourseUpdate() {
-      let params = {
-        cid: this.cid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "select_course_detail", params)
-        .then((res) => {
-          // console.log(this.unitJson);
-          let unitJson = JSON.parse(res.data[0][0].chapters);
-          this.unitJson2 = JSON.parse(res.data[0][0].chapters);
-          let _unitJson2 = JSON.parse(JSON.stringify(this.unitJson));
-          let _unitJson = [];
-          let _chapAarry = [];
-          let _unitIndex = JSON.parse(JSON.stringify(this.unitIndex));
-          let _unitIndex2 = JSON.parse(JSON.stringify(this.unitIndex));
-          let index = 1;
-          let chapindex;
-          if (_unitJson2.length > unitJson.length) {
-            for (let c = 0; c < _unitJson2.length; c++) {
-              _chapAarry.push(_unitJson2[c].chapterInfo[0].chapterid);
-            }
-            for (let j = 0; j < unitJson.length; j++) {
-              let count = 0;
-              for (let k = 0; k < _unitJson2.length; k++) {
-                if (
-                  unitJson[j].chapterInfo[0].chapterid ==
-                  _unitJson2[k].chapterInfo[0].chapterid
-                ) {
-                  count++;
-                  _chapAarry.splice(
-                    _chapAarry.indexOf(_unitJson2[k].chapterInfo[0].chapterid),
-                    1
-                  );
-                  _unitJson.push(unitJson[j]);
-                  break;
-                }
-              }
-              // if(count === 0){
-              //   this.$message.error("您所修改的阶段已经被其他老师删除了");
-              // }
-            }
-            for (let k = 0; k < _unitJson2.length; k++) {
-              if (_unitJson2[k].isUpdate == 1) {
-                _chapAarry.splice(
-                  _chapAarry.indexOf(_unitJson2[k].chapterInfo[0].chapterid),
-                  1
-                );
-                _unitJson.push(_unitJson2[k]);
-              }
-            }
-            console.log(_chapAarry);
-            for (let d = 0; d < _unitJson2.length; d++) {
-              if (
-                _chapAarry.indexOf(_unitJson2[d].chapterInfo[0].chapterid) != -1
-              ) {
-                if (_unitIndex == d) {
-                  index = 2;
-                }
-                chapindex = d;
-                // this.$message.error("您所修改的阶段已经被其他老师删除了");
-              }
-            }
-          } else {
-            _unitJson = JSON.parse(JSON.stringify(_unitJson2));
-          }
-
-          for (let i = 0; i < unitJson.length; i++) {
-            if (
-              (i < _unitJson.length - 1 || i == _unitJson.length - 1) &&
-              _unitJson[i].chapterInfo[0].chapterid !=
-                unitJson[i].chapterInfo[0].chapterid
-            ) {
-              if (i == _unitJson.length - 1) {
-                // this.unitIndex++
-                _unitIndex2++;
-              }
-              _unitJson.splice(i, 0, unitJson[i]);
-            } else if (i > _unitJson.length - 1) {
-              _unitJson.push(unitJson[i]);
-            } else if (
-              _unitJson[i].chapterInfo[0].chapterid ==
-              unitJson[i].chapterInfo[0].chapterid
-            ) {
-              _unitJson[i] = unitJson[i];
-            }
-            // if (i == _unitIndex) {
-            //   continue;
-            // } else
-          }
-
-          if (_chapAarry.length && index != 2) {
-            if (chapindex < _unitIndex) {
-              this.isDelete = 2;
-              // this.unitIndex--;
-              _unitIndex2--;
-            } else if (
-              _unitJson2[_unitIndex].chapterInfo[0].chapterid !=
-              _unitJson[_unitIndex].chapterInfo[0].chapterid
-            ) {
-              this.isDelete = 2;
-              for (let n = 0; n < _unitJson.length; n++) {
-                if (
-                  _unitJson2[_unitIndex].chapterInfo[0].chapterid ==
-                  _unitJson[n].chapterInfo[0].chapterid
-                ) {
-                  // this.unitIndex = n;
-                  _unitIndex2 = n;
-                  _unitJson[n] = _unitJson2[_unitIndex];
-                  break;
-                }
-              }
-            }
-          } else if (index != 2) {
-            // _unitJson[this.unitIndex] = _unitJson2[_unitIndex];
-            _unitJson[_unitIndex2] = _unitJson2[_unitIndex];
-          }
-          if (index == 1) {
-            this.unitJson = _unitJson;
-            this.$forceUpdate();
-            setTimeout(() => {
-              if (this.unitIndex != _unitIndex2) {
-                this.isDelete = 2;
-                this.unitIndex = _unitIndex2;
-              }
-            }, 0);
-            this.timer = setTimeout(() => {
-              this.seleteCourseUpdate();
-            }, 1000);
-          } else if (index == 2) {
-            let _this = this;
-            _this
-              .$confirm(
-                "您所修改的阶段已经被其他老师删除了,需要恢复嘛?",
-                "提示",
-                {
-                  confirmButtonText: "需要",
-                  cancelButtonText: "取消",
-                  type: "warning",
-                }
-              )
-              .then(() => {
-                if (_this.time()) {
-                  _this.restoreWork(
-                    _chapAarry[0],
-                    _unitJson,
-                    chapindex,
-                    _unitJson2,
-                    _unitIndex2
-                  );
-                }
-              })
-              .catch(() => {
-                _this.unitJson = _unitJson;
-                _this.$forceUpdate();
-                setTimeout(() => {
-                  if (this.unitIndex != _unitIndex2) {
-                    this.isDelete = 2;
-                    this.unitIndex = _unitIndex2;
-                  }
-                }, 0);
-                _this.timer = setTimeout(() => {
-                  _this.seleteCourseUpdate();
-                }, 1000);
-              });
-          }
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    restoreWork(chapid, unitJson, chapindex, unitJson2, unitIndex2) {
-      let params = [
-        {
-          cid: this.cid,
-          chapters: JSON.stringify(this.unitJson),
-          uid: this.userid,
-          chapid: chapid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "restoreWork", params)
-        .then((res) => {
-          this.$message({
-            message: "恢复成功",
-            type: "success",
-          });
-          unitJson.splice(chapindex, 0, unitJson2[chapindex]);
-          this.unitJson = unitJson;
-          this.$forceUpdate();
-          setTimeout(() => {
-            if (this.unitIndex != unitIndex2) {
-              this.isDelete = 2;
-              this.unitIndex = unitIndex2;
-            }
-          }, 0);
-          this.timer = setTimeout(() => {
-            this.seleteCourseUpdate();
-          }, 1000);
-        })
-        .catch((err) => {
-          this.$message.error("网络不佳");
-          console.error(err);
-        });
-    },
-    getTypeName() {
-      console.log(this.courseTypeId);
-      this.$forceUpdate();
-    },
-    selectType() {
-      this.ajax
-        .get(this.$store.state.api + "selectType")
-        .then((res) => {
-          this.CourseType = res.data;
-          for (var i = 0; i < res.data[0].length; i++) {
-            if (!this.cid) {
-              this.courseTypeId[res.data[0][i].id] = "";
-            }
-            if (this.oid == "69893dca-1d47-11ed-8c78-005056b86db5") {
-              if (res.data[0][i].name == "栏目") {
-                this.CourseType[0][i].name = "主题";
-              }
-            }
-            for (var j = 0; j < res.data[1].length; j++) {
-              if (res.data[0][i].id == res.data[1][j].pid) {
-                if (!this.CourseTypeJson[res.data[0][i].id]) {
-                  this.CourseTypeJson[res.data[0][i].id] = [];
-                }
-                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
-              }
-            }
-          }
-          this.selectTypeByOid();
-          this.selectTypeByOrg();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectTypeByOid() {
-      let params = {
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectTypeByOid", params)
-        .then((res) => {
-          for (var i = 0; i < res.data[0].length; i++) {
-            for (var j = 0; j < res.data[1].length; j++) {
-              if (res.data[0][i].id == res.data[1][j].pid) {
-                if (!this.CourseTypeJson[res.data[0][i].id]) {
-                  this.CourseTypeJson[res.data[0][i].id] = [];
-                }
-                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
-              }
-            }
-          }
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectTypeByOrg() {
-      let params = {
-        oid: this.org,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectTypeByOrg", params)
-        .then((res) => {
-          for (var i = 0; i < res.data[0].length; i++) {
-            for (var j = 0; j < res.data[1].length; j++) {
-              if (res.data[0][i].id == res.data[1][j].pid) {
-                if (!this.CourseTypeJson[res.data[0][i].id]) {
-                  this.CourseTypeJson[res.data[0][i].id] = [];
-                }
-                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
-              }
-            }
-          }
-          this.$forceUpdate();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    OtherMb(type) {
-      this.typeMode = type;
-      setTimeout(() => {
-        this.checkEva(this.checkId);
-      }, 0);
-    },
-    checkEva(id) {
-      this.selectEva();
-      this.evalua = id;
-      this.checkId = id;
-      if (this.evalua != "") {
-        for (var i = 0; i < this.evaJuri.length; i++) {
-          if (this.evalua == this.evaJuri[i].id) {
-            this.eTitle = this.evaJuri[i].title;
-            this.eJson = JSON.parse(this.evaJuri[i].content);
-          }
-        }
-        this.data.data = [];
-        this.$forceUpdate();
-        setTimeout(() => {
-          this.setMindData();
-        }, 500);
-      }
-    },
-    selectEva() {
-      let params = {
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectAllEvaluation", params)
-        .then((res) => {
-          this.evaJuri = res.data[0];
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    setMindData() {
-      let targetArray = [];
-      this.data.data = [];
-      this.data.data.push({ id: "root", isroot: true, topic: this.eTitle });
-      let _eJson = Object.keys(this.eJson);
-      let _e = this.eJson;
-      for (let i = 0; i < _eJson.length; i++) {
-        let element = _e[_eJson[i]];
-        this.data.data.push({
-          id: element.id,
-          parentid: "root",
-          topic: element.name,
-        });
-        targetArray.push({
-          id: element.id,
-          parentid: "root",
-          name: element.name,
-        });
-        let _eJsonc = Object.keys(element.child);
-        let _e2 = element.child;
-        for (let j = 0; j < _eJsonc.length; j++) {
-          let _ec = _e2[_eJsonc[j]];
-          this.data.data.push({
-            id: _ec.id,
-            parentid: element.id,
-            topic: _ec.name,
-          });
-          targetArray.push({
-            id: _ec.id,
-            parentid: element.id,
-            name: _ec.name,
-          });
-          let _eJsonz = Object.keys(_ec.child);
-          let _e3 = _ec.child;
-          for (let z = 0; z < _eJsonz.length; z++) {
-            let _ez = _e3[_eJsonz[z]];
-            this.data.data.push({
-              id: _ez.id,
-              parentid: _ec.id,
-              topic: _ez.name,
-            });
-            targetArray.push({
-              id: _ez.id,
-              parentid: _ec.id,
-              name: _ez.name,
-            });
-          }
-        }
-      }
-      this.targetArray = targetArray;
-      this.$forceUpdate();
-    },
-    /*添加评价 */
-    addEList(index, tIndex) {
-      this.unitJson[index].chapterInfo[0].taskJson[tIndex].eList
-        ? this.unitJson[index].chapterInfo[0].taskJson[tIndex].eList.push({
-            value: "",
-            detail: "",
-            score: 5,
-          })
-        : (this.unitJson[index].chapterInfo[0].taskJson[tIndex].eList = [
-            { value: "", detail: "", score: 5 },
-          ]);
-      this.$forceUpdate();
-    },
-    forceUpdate() {
-      this.$forceUpdate();
-    },
-    deletEList(index, tIndex, eIndex) {
-      this.unitJson[index].chapterInfo[0].taskJson[tIndex].eList.splice(
-        eIndex,
-        1
-      );
-      this.$forceUpdate();
-    },
-    getChoosePic(t) {
-      this.chooseType = t;
-      this.getAllBanner();
-    },
-    getAllBanner() {
-      this.sysPicVisible = true;
-      let params = {
-        t: this.chooseType,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectAllBanner", params)
-        .then((res) => {
-          this.sysPic = res.data[0];
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    deleteSysPic() {
-      this.cover = [];
-      this.isSysPic = false;
-    },
-    deleteSelectPic() {
-      this.selectJson.url = "";
-    },
-    setEListStar() {
-      this.$forceUpdate();
-    },
-    deletRateList(i) {
-      this.rateJson.splice(i, 1);
-    },
-    addRateList() {
-      this.rateJson.push({ detail: "", score: 5, value: "" });
-    },
-  },
-  beforeDestroy() {
-    clearTimeout(this.timer);
-    this.timer = null;
-  },
-  beforeRouteLeave(to, from, next) {
-    clearTimeout(this.timer);
-    this.timer = null;
-    next();
-  },
-  created() {
-    this.getStudent();
-    this.getTeacher();
-    this.getClass();
-    this.getTemplate();
-    this.selectType();
-    this.selectEva();
-    this.loading = false;
-    setTimeout(() => {
-      this.selectCourseDetail();
-      this.selectEva();
-    }, 500);
-  },
-};
-</script>
-
-<style scoped>
-@media screen and (max-width: 1280px) {
-  .mbCss {
-    flex-direction: column !important;
-  }
-
-  .pjCss {
-    width: 100% !important;
-  }
-
-  .evaCss {
-    width: 100% !important;
-  }
-}
-
-.dialog_diy >>> .el-dialog__header {
-  background: #3c3c3c !important;
-  padding: 15px 20px;
-}
-
-.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;
-}
-
-.dialog_diy3 >>> .el-dialog__body,
-.dialog_diy3 >>> .el-dialog__footer {
-  background: #eee !important;
-}
-
-.dialog_diy3 >>> .el-dialog__body {
-  padding: 20px 20px;
-}
-
-.left {
-  border-right: 1px solid rgb(60, 94, 143);
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  min-height: 600px;
-  width: 385px;
-  height: 80%;
-}
-
-.tips {
-  color: rgb(128, 128, 128);
-  font-size: 12px;
-  width: 270px;
-  margin: 40px;
-}
-
-.pb_content {
-  height: 100% !important;
-  /* margin: 0 20px 0 20px; */
-}
-
-.pb_content_body {
-  width: 100% !important;
-  height: 100%;
-}
-
-.info_solid {
-  width: 270px;
-  height: 30px;
-  border-left: 1px solid #bdbdbd;
-  margin: 10px 0px 10px 30px;
-}
-
-.info_steps {
-  width: 270px;
-  font-size: 0.875rem;
-  display: flex;
-  align-items: center;
-}
-
-.info_steps span:nth-child(1) {
-  width: 30px;
-  height: 30px;
-  background: rgba(0, 0, 0, 0.38);
-  display: block;
-  color: #fff;
-  border-radius: 40px;
-  text-align: center;
-  line-height: 30px;
-}
-
-.steps_active {
-  background: #3d67bc !important;
-}
-
-.info_steps span:nth-child(2) {
-  margin-left: 5px;
-}
-
-.right {
-  height: 100%;
-  width: 100%;
-  display: flex;
-  overflow: hidden;
-}
-
-.basic_box {
-  margin: 0 auto;
-  position: relative;
-  padding: 0 20px 0 20px;
-}
-
-.basic_box_success {
-  width: 100%;
-  min-height: 455px;
-  padding: 50px 0;
-  position: relative;
-  text-align: center;
-  border-bottom: 1px solid #bfbfbf;
-  box-sizing: border-box;
-  display: flex;
-  align-items: center;
-  flex-direction: column;
-  justify-content: center;
-}
-
-.info_title {
-  font-size: 1.5em;
-  margin-right: 25px;
-  /* margin: 20px 30px 20px 30px; */
-}
-
-.bInfo_title {
-  text-align: left;
-  margin: 10px 0;
-}
-
-.small_title {
-  font-size: 14px;
-  line-height: 40px;
-}
-
-.chapter_beizhu {
-  font-size: 12px;
-  font-weight: bold;
-  float: right;
-  color: rgb(128, 128, 128);
-  margin-top: 5px;
-}
-
-.chapter_uploadBox1 {
-  text-align: left;
-  background-color: rgb(242, 242, 242);
-  width: 100%;
-  height: 67px;
-  padding: 0px 15px;
-  border-radius: 8px;
-  overflow: hidden;
-  font-size: 16px;
-  box-sizing: border-box;
-  position: relative;
-}
-
-.chapter_add {
-  width: 100%;
-  height: 32px;
-  margin-top: 15px;
-  cursor: pointer;
-}
-
-.chapter_add_l {
-  margin-left: 5px;
-  width: 30px;
-  height: 30px;
-  float: left;
-  border: 1px solid #aaa;
-  color: #aaa;
-  border-radius: 50%;
-  font-size: 25px;
-  text-align: center;
-}
-
-.chapter_add_r {
-  font-size: 18px;
-  height: 40px;
-  line-height: 30px;
-  text-indent: 10px;
-  color: #aaa;
-}
-
-.chapter_add_r span {
-  font-size: 12px;
-  color: rgb(204, 204, 204);
-}
-
-.chapter_add_input {
-  display: none;
-}
-
-.line {
-  width: 85%;
-  margin: 0 auto;
-  border-top: 1px solid #e5e5e5;
-  margin-top: 20px;
-}
-
-.info_btnBox {
-  width: 100%;
-  display: flex;
-  justify-content: space-evenly;
-  margin: 10px 0 10px 0;
-}
-
-.info_btn,
-.teacherWord {
-  color: #fff;
-  background-color: #0f7eff;
-  padding: 8px 24px;
-  font-size: 0.9375rem;
-  box-shadow: 0px 1px 3px 0px rgb(0 0 0 / 20%), 0px 2px 2px 0px rgb(0 0 0 / 14%),
-    0px 3px 1px -2px rgb(0 0 0 / 12%);
-  min-width: 64px;
-  font-weight: 500;
-  border-radius: 4px;
-  box-sizing: border-box;
-  border: none;
-  cursor: pointer;
-}
-
-.teacherWord {
-  width: 105px !important;
-  text-align: center !important;
-  line-height: 36px !important;
-  padding: 0 !important;
-  font-size: 14px !important;
-  margin: 10px 0 !important;
-}
-
-.wordTeacher {
-  display: flex;
-  flex-direction: column;
-  width: 20%;
-  text-align: center;
-  font-size: 14px;
-  margin: 30px 30px 0 10px;
-  background: #fff;
-  position: relative;
-  border-radius: 5px;
-  padding: 25px 0px;
-}
-
-.wordPic {
-  margin: 0 auto;
-  width: 60px;
-  height: 60px;
-  cursor: pointer;
-}
-
-.deleteWord {
-  width: 22px;
-  height: 22px;
-  position: absolute;
-  right: 20px;
-  top: -10px;
-  cursor: pointer;
-}
-
-.wordPic > img,
-.deleteWord > img,
-.addToolImg > img {
-  width: 100%;
-  height: 100%;
-}
-
-.info_btn:hover {
-  background-color: #4f7cd5 !important;
-}
-
-.cru_selectBox {
-  display: flex;
-  margin: 24px 0 10px;
-  flex-wrap: nowrap;
-  white-space: nowrap;
-  overflow: auto;
-  position: relative;
-  height: 47px;
-}
-
-.cru_selectBox::-webkit-scrollbar {
-  /*滚动条整体样式*/
-  width: 6px;
-  /*高宽分别对应横竖滚动条的尺寸*/
-  height: 6px;
-}
-
-/*定义滚动条轨道 内阴影+圆角*/
-.cru_selectBox::-webkit-scrollbar-track {
-  border-radius: 10px;
-  background-color: #eee;
-}
-
-/*定义滑块 内阴影+圆角*/
-.cru_selectBox::-webkit-scrollbar-thumb {
-  border-radius: 10px;
-  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
-  background-color: rgba(0, 0, 0, 0.1);
-}
-
-.cru_line {
-  position: absolute;
-  bottom: 0px;
-  transition: all 0.5s;
-  left: 0px;
-  width: 125px;
-  margin-left: -25px;
-}
-
-.cru_select {
-  font-size: 21px;
-  margin-right: 37px;
-  margin-left: 5px;
-  cursor: pointer;
-  color: #a6a6a6;
-}
-
-.cru_selected {
-  color: #0b7fc2 !important;
-}
-
-.chapter_contentbox {
-  display: flex;
-  align-items: center;
-  margin-top: 15px;
-}
-
-.chapter_contentbox div:nth-child(1) {
-  /* width: 150px; */
-  margin: 0px;
-  /* font-size: 2em; */
-  color: black;
-  display: block;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  /* font-weight: 600; */
-  margin-right: 20px;
-  font-size: 18px;
-}
-
-.chapter_contentbox div:nth-child(2) {
-  width: 380px;
-}
-
-.chapter_contentbox div:nth-child(3),
-.remove {
-  background-image: url(../../assets/remove.png);
-  cursor: pointer;
-  opacity: 0.5;
-  width: 40px;
-  height: 50px;
-  background-repeat: no-repeat;
-  background-position: 5px 10px;
-}
-
-.binfo_input {
-  font: inherit;
-  color: currentColor;
-  width: 100%;
-  margin: 0;
-  /* padding: 15px 14px; */
-  padding: 8px 14px;
-  display: block;
-  min-width: 0;
-  outline: none;
-  box-sizing: content-box;
-  background: none;
-  border: 1px solid rgba(0, 0, 0, 0.23);
-  border-radius: 4px;
-  box-sizing: border-box;
-  background: #fff;
-  font-size: 18px;
-}
-
-.binfo_input:focus-visible {
-  border: 1px solid rgba(61, 103, 188);
-}
-
-.time {
-  display: flex;
-  margin: 35px 0 80px 0;
-}
-
-.chapter_btnbox {
-  width: 160px;
-  border-radius: 5px;
-  border: 2px dashed gray;
-  display: flex;
-  padding: 8px 50px;
-  align-items: center;
-  justify-content: center;
-  margin: 30px auto 0;
-  cursor: pointer;
-}
-
-.icon_add {
-  position: relative;
-  width: 24px;
-  padding-top: 20px;
-  border-radius: 100%;
-  border-width: 2px;
-  border-style: solid;
-  border-color: gray;
-}
-
-.icon_add i:nth-child(1) {
-  position: absolute;
-  left: 50%;
-  top: 50%;
-  height: 60%;
-  transform: translate(-50%, -50%);
-  border-width: 1px;
-  border-style: solid;
-  border-color: inherit;
-}
-
-.icon_add i:nth-child(2) {
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  width: 60%;
-  transform: translate(-50%, -50%);
-  border-width: 1px;
-  border-style: solid;
-  border-color: inherit;
-}
-
-.chapter_btn_w {
-  font-size: 0.9375rem;
-  font-weight: bold;
-  color: gray;
-  margin-left: 20px;
-}
-
-.disUoloadSty >>> .el-icon-plus {
-  display: none !important;
-  /* 上传按钮隐藏 */
-}
-
-.imgLeft {
-  margin: 15px 0;
-}
-
-.add_info_box {
-  margin: 20px 0;
-}
-
-.add_info_box button {
-  margin: 0 10px 10px 0;
-}
-
-.add_chapters_box {
-  text-align: left;
-  background-color: rgb(232 234 237);
-  width: 100%;
-  padding: 0px 15px;
-  border-radius: 15px;
-  font-size: 16px;
-  box-sizing: border-box;
-  position: relative;
-  padding: 0 10px 5px 10px;
-  height: 185px;
-  overflow-y: auto;
-  overflow-x: hidden;
-}
-
-.homework_box {
-  display: flex;
-  align-items: flex-start;
-  flex-wrap: wrap;
-  margin: 15px 0 0 0;
-  flex-direction: column;
-  align-content: flex-start;
-}
-
-.course_homework {
-  display: flex;
-  justify-content: center;
-  flex-direction: row;
-  align-items: center;
-  margin: 0 10px 0 0;
-}
-
-.course_homework >>> .el-input__inner {
-  width: 140px;
-  margin-left: 15px;
-}
-
-.chapter_upload_move {
-  position: relative;
-  background-color: #fff;
-  position: absolute;
-  width: 100%;
-  top: 0px;
-  left: 0px;
-  border: 1px solid #eee;
-  border-radius: 5px;
-  transition: width 2s;
-  -moz-transition: width 2s;
-  -webkit-transition: width 2s;
-  -o-transition: width 2s;
-}
-
-.chapter_upload_l_i {
-  background-image: url("../../assets/icon.png");
-  background-position: 3px -165px;
-  width: 30px;
-  height: 30px;
-  margin: 10px auto 0 auto;
-}
-
-.left_first {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-}
-
-.right_first {
-  width: 100%;
-  height: 100%;
-  margin-top: 15px;
-}
-
-.right_title {
-  height: 30px;
-  padding: 15px 0 15px 20px;
-  border-bottom: 1px solid #f2f2f2;
-  font-size: 1.5em;
-  font-weight: bold;
-  color: #0f7eff;
-  margin: 0 auto;
-}
-
-.people {
-  border: 1px solid rgb(229 229 229);
-  height: 495px;
-  border-radius: 5px;
-  width: 100%;
-  overflow: auto;
-}
-
-.people_top {
-  display: flex;
-  width: 100%;
-  justify-content: space-between;
-  align-items: center;
-}
-
-.people_nav,
-.people_top_right {
-  padding: 20px 0 0 20px;
-}
-
-.people_search {
-  display: flex;
-  position: relative;
-}
-
-.people_search >>> .el-input__inner {
-  height: 25px;
-  width: 95%;
-}
-
-.search_img {
-  width: 20px;
-  height: 20px;
-  position: absolute;
-  right: 15px;
-  top: 3px;
-}
-
-.search_img > img {
-  width: 100%;
-  height: 100%;
-}
-
-.people_name {
-  display: flex;
-  justify-content: flex-start;
-  padding: 20px 0 0 25px;
-  flex-direction: column;
-  flex-wrap: wrap;
-}
-
-.people_name >>> .el-checkbox {
-  width: 100%;
-  display: flex;
-  align-items: center;
-  margin-bottom: 10px;
-}
-
-.people_name >>> .el-checkbox__label {
-  text-overflow: ellipsis;
-  overflow: hidden;
-  width: 100%;
-}
-
-.right_img {
-  width: 150px;
-  height: 150px;
-  margin: 0 auto;
-}
-
-.right_img > img {
-  width: 100%;
-  height: 100%;
-}
-
-.number {
-  margin-top: 20px;
-  color: #4aa6ff;
-  text-decoration: underline;
-}
-
-.success_button {
-  display: flex;
-  text-align: center;
-  margin: 5% 0 auto;
-  flex-direction: row;
-  justify-content: center;
-}
-
-.look_course {
-  margin-right: 40px;
-  background: #3d67bc;
-  width: 200px;
-  height: 35px;
-  line-height: 35px;
-  color: #fff;
-  text-align: center;
-  font-size: 14px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-
-.attend_others {
-  width: 250px;
-  background: #4fb13c;
-  height: 35px;
-  line-height: 35px;
-  color: #fff;
-  text-align: center;
-  font-size: 14px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-
-.dialog_diy2 >>> .el-dialog__body {
-  text-align: center;
-}
-
-.write_togother {
-  position: absolute;
-  right: 45px;
-  display: flex;
-  top: 5%;
-}
-
-.write_people {
-  font-size: 14px;
-  line-height: 50px;
-  padding-right: 10px;
-}
-
-.end_write {
-  background: #3d67bc;
-  color: #fff;
-  width: 100px;
-  height: 35px;
-  line-height: 35px;
-  text-align: center;
-  font-size: 14px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-
-.chapter_upload {
-  height: 50px;
-  margin-top: 12px;
-  position: relative;
-  display: flex;
-  align-items: center;
-  width: 100%;
-  min-height: 50px;
-}
-
-.chapter_upload_t {
-  background-color: #fff;
-  position: absolute;
-  height: 100%;
-  top: 0px;
-  left: 0px;
-  border-radius: 40px;
-  box-sizing: border-box;
-  box-shadow: 0 0 3px 3px #dfdfdf;
-}
-
-.chapter_upload_o {
-  width: 100%;
-  height: 100%;
-  position: relative;
-  z-index: 1;
-}
-
-.chapter_upload_ic {
-  height: 30px;
-  float: right;
-}
-
-.chapter_upload_ic_l {
-  width: 50px;
-  height: 50px;
-  float: left;
-}
-
-.chapter_upload_ic_l div {
-  width: 30px;
-  height: 35px;
-  background: url("../../assets/icon/icon.png");
-}
-
-.chapter_upload_ic_r {
-  width: 50px;
-  height: 50px;
-  float: left;
-  margin-left: 0px;
-  display: flex;
-  align-items: center;
-}
-
-.chapter_upload_ic_r div {
-  width: 25px;
-  height: 25px;
-  background-image: url("../../assets/delete.png");
-  background-size: 100% 100%;
-}
-
-.chapter_upload_n {
-  display: flex;
-  text-indent: 10px;
-  text-decoration: none;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  overflow: hidden;
-  width: 55%;
-  margin-left: 10px;
-  cursor: pointer;
-  margin-top: 2px;
-}
-
-.chapter_upload_l_i1 {
-  background-image: url("../../assets/icon/video.png");
-  width: 28px;
-  height: 28px;
-  background-size: 100% 100%;
-}
-
-.chapter_upload_l_i5 {
-  background-image: url("../../assets/icon/word.png");
-  width: 24px;
-  height: 24px;
-  background-size: 100% 100%;
-}
-
-.chapter_upload_l_i8 {
-  background-image: url("../../assets/icon/line.png");
-  width: 24px;
-  height: 24px;
-  background-size: 100% 100%;
-}
-
-.chapter_upload_ud {
-  display: flex;
-  flex-direction: column;
-  margin-left: 5px;
-  justify-content: center;
-}
-
-.chapter_upload_up {
-  background-image: url("../../assets/icon/up.png");
-  width: 17px;
-  height: 15px;
-  background-size: 100% 100%;
-  cursor: pointer;
-}
-
-.chapter_upload_down {
-  background-image: url("../../assets/icon/down.png");
-  width: 17px;
-  height: 15px;
-  margin: 2px auto 0 auto;
-  background-size: 100% 100%;
-  cursor: pointer;
-}
-
-.addWordStyle {
-  display: flex;
-  flex-direction: row;
-  justify-content: flex-start;
-  overflow-x: auto;
-  white-space: nowrap;
-  flex-wrap: wrap;
-}
-
-/* table 样式 */
-.cont >>> table {
-  border-top: 1px solid #ccc;
-  border-left: 1px solid #ccc;
-}
-
-.cont >>> table td,
-.cont >>> table th {
-  border-bottom: 1px solid #ccc;
-  border-right: 1px solid #ccc;
-  padding: 3px 5px;
-}
-
-.cont >>> table th {
-  border-bottom: 2px solid #ccc;
-  text-align: center;
-}
-
-/* blockquote 样式 */
-.cont >>> blockquote {
-  display: block;
-  border-left: 8px solid #d0e5f2;
-  padding: 5px 10px;
-  margin: 10px 0;
-  line-height: 1.4;
-  font-size: 100%;
-  background-color: #f1f1f1;
-}
-
-/* code 样式 */
-.cont >>> code {
-  display: inline-block;
-  *display: inline;
-  *zoom: 1;
-  background-color: #f1f1f1;
-  border-radius: 3px;
-  padding: 3px 5px;
-  margin: 0 3px;
-}
-
-.cont >>> pre code {
-  display: block;
-}
-
-/* ul ol 样式 */
-.cont >>> ul,
-ol {
-  margin: 10px 0 10px 20px;
-}
-
-.wordbox {
-  display: flex;
-  flex-wrap: wrap;
-  cursor: pointer;
-  width: 100%;
-}
-
-.checkword {
-  width: 22px;
-  height: 22px;
-  margin: 10px auto 0;
-  cursor: pointer;
-}
-
-.checkword img {
-  width: 100%;
-}
-
-.stepBg {
-  margin: 0 25px 0 0;
-  /* width: 17%; */
-  min-width: 300px;
-  width: 300px;
-  /* border-radius: 10px; */
-  display: flex;
-  flex-direction: column;
-  justify-content: flex-start;
-  align-items: center;
-  flex-wrap: nowrap;
-  background: #fff;
-  min-height: 700px;
-  height: 100%;
-  /* top: 18%; */
-}
-
-.stepBg > div {
-  height: 80px;
-  width: 85%;
-  cursor: pointer;
-  margin: 10px 0;
-  border-radius: 10px;
-}
-
-.first,
-.second,
-.third,
-.four {
-  background: #4a83d0;
-  height: 90px;
-  color: #fff;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  justify-content: center;
-}
-
-.first > div:nth-child(1),
-.second > div:nth-child(1),
-.third > div:nth-child(1),
-.four > div:nth-child(1) {
-  margin: 5px 10px 0 0;
-  width: 2rem;
-}
-
-.firstNo,
-.secondNo,
-.thirdNo,
-.fourNo {
-  background: #e7e7e7;
-  color: #adadad;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  justify-content: center;
-}
-
-.firstNo > div:nth-child(1),
-.secondNo > div:nth-child(1),
-.thirdNo > div:nth-child(1),
-.fourNo > div:nth-child(1) {
-  margin: 5px 10px 0 0;
-  width: 2rem;
-}
-
-.uploadWidth >>> .el-upload {
-  width: 60px;
-  height: 60px;
-  position: relative;
-}
-
-.addPeople {
-  background: #fa6060;
-  width: 150px;
-  height: 40px;
-  color: #fff;
-  border-radius: 5px;
-  text-align: center;
-  line-height: 40px;
-  font-size: 14px;
-  cursor: pointer;
-  margin-top: 20px;
-}
-
-.kcImg {
-  width: 60px;
-  margin-left: 10px;
-}
-
-.zyImg {
-  width: 55px;
-  margin: 0 10px;
-}
-
-.deleteZy {
-  width: 20px;
-  position: absolute;
-  top: 5px;
-  right: 5px;
-  cursor: pointer;
-}
-
-.kcImg > img,
-.zyImg > img,
-.deleteZy > img {
-  width: 100%;
-  height: 100%;
-}
-
-.zyBox {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  background: #67d37d;
-  color: #fff;
-  width: 210px;
-  margin: 20px 20px 0 0;
-  border-radius: 10px;
-  height: 70px;
-  position: relative;
-}
-
-.upCss {
-  display: flex;
-  flex-direction: row;
-  justify-content: flex-start;
-}
-
-.upCss >>> .el-icon-plus {
-  position: none !important;
-  width: 200px;
-  height: 100px;
-  display: flex;
-  flex-wrap: nowrap;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-  border: 1px dashed #ccc;
-  min-width: 78px;
-  min-height: 100px;
-  z-index: 999;
-}
-
-.upCss >>> .el-upload-list__item-name {
-  width: 100px;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.addStageImg {
-  min-width: 25px;
-  min-height: 25px;
-  width: 25px;
-  height: 25px;
-  cursor: pointer;
-}
-
-.addHW {
-  width: 28px;
-  height: 28px;
-  cursor: pointer;
-}
-
-.addStageImg > img,
-.addHW > img {
-  width: 100%;
-  height: 100%;
-}
-
-.addNewPP >>> .el-dialog__body {
-  padding: 5px 20px;
-}
-
-.isHeight {
-  height: 680px;
-}
-
-.toolChoose {
-  display: flex;
-  /* width: 100%; */
-  flex-direction: row;
-  flex-wrap: wrap;
-}
-
-.tool {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  width: fit-content;
-  margin: 10px 0 10px 0;
-  align-items: center;
-}
-
-.tool + .tool {
-  margin-right: 45px;
-}
-
-.whiteBIcon {
-  width: 80px;
-  cursor: pointer;
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: center;
-}
-
-.whiteBIcon > img,
-.check > img,
-.toolIcon > img,
-.arrow > img {
-  width: 100%;
-  height: 100%;
-}
-
-.whiteBIcon > img {
-  box-shadow: 0px 4px 8px 0px rgb(44 133 255 / 14%);
-  border-radius: 15px;
-}
-
-.check {
-  width: 20px;
-  height: 20px;
-  cursor: pointer;
-  margin: 10px 0;
-}
-
-.customWidth >>> .el-dialog {
-  min-width: 500px !important;
-}
-
-.a_addBox {
-  margin: 10px 0;
-  background: #fff;
-  padding: 15px;
-  max-height: 600px;
-  overflow: auto;
-}
-
-.a_add_box {
-  border-bottom: 2px solid #eee;
-  padding-bottom: 10px;
-}
-
-.a_add_head {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  margin: 10px 0;
-  font-size: 18px;
-}
-
-.a_add_checkType {
-  margin-top: 10px;
-  display: flex;
-  font-size: 16px;
-}
-.a_add_checkType span {
-  box-sizing: border-box;
-  padding: 0 0 5px 0;
-  cursor: pointer;
-}
-.a_add_checkType span + span {
-  margin-left: 10px;
-}
-.a_add_checkType .active {
-  border-bottom: 2px solid #409eff;
-  color: #409eff;
-}
-.a_add_head .a_add_head_input {
-  width: 300px;
-}
-
-.a_add_head .a_add_head_div {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-}
-
-.a_add_body {
-  display: flex;
-  /* align-items: center; */
-  align-items: flex-end;
-}
-
-.a_add_input {
-  display: flex;
-  align-items: center;
-  flex-wrap: wrap;
-}
-
-.a_add_input_choice {
-  flex-direction: column;
-  margin-right: 10px;
-}
-
-.a_add_input_choice >>> .el-radio {
-  display: flex;
-  align-items: center;
-  flex-direction: row-reverse;
-  margin: 10px 0 0 0;
-}
-
-.a_add_input_choice >>> .el-checkbox {
-  display: flex;
-  align-items: center;
-  flex-direction: row-reverse;
-  margin: 10px 0 0 0;
-}
-
-.width100 {
-  width: 100%;
-}
-
-.a_add_input .a_add_persent {
-  width: 100%;
-}
-
-.a_add_persent_div {
-  width: 100%;
-  display: flex;
-  align-items: center;
-}
-
-.a_add_persent_div span {
-  margin: 5px 0;
-}
-
-.a_add_persent_div span:nth-child(1) {
-  width: 30%;
-}
-
-.a_add_persent_div span:nth-child(2) {
-  width: 7%;
-}
-
-.a_add_persent_div span:nth-child(3) {
-  width: 40%;
-}
-
-.a_add_body_div {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  /* flex-direction: column; */
-}
-
-.all_choose {
-  display: flex;
-  flex-direction: row;
-  align-items: flex-start;
-  width: 100%;
-}
-
-.all_choose > span {
-  width: 100px;
-  display: block;
-  letter-spacing: 14px;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.all_choose >>> .el-checkbox-group {
-  display: flex;
-  flex-direction: row;
-  width: 100%;
-  flex-wrap: wrap;
-  align-content: center;
-  justify-content: flex-start;
-  align-items: center;
-  margin-top: 3px;
-}
-
-.all_choose > .el-checkbox-group >>> .el-checkbox {
-  margin-bottom: 10px;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-}
-
-.all_choose > .el-checkbox-group > .el-checkbox >>> .el-checkbox__label {
-  min-width: 80px;
-  overflow: hidden;
-  width: 80px;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.all_choose > .el-checkbox-group > .el-checkbox >>> .el-checkbox__label:hover {
-  width: auto;
-}
-
-.choose > div:nth-child(3) > span {
-  letter-spacing: 0 !important;
-}
-
-.choose {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  height: 100%;
-  justify-content: space-evenly;
-  align-items: flex-start;
-}
-
-.both {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  width: 100%;
-  align-items: center;
-  justify-content: flex-start;
-  margin: 30px 0;
-}
-
-.notice >>> .el-dialog {
-  width: 500px !important;
-  text-align: center;
-}
-
-.notice >>> .el-button {
-  margin-top: 20px;
-}
-
-.whiteBg {
-  background: #fff;
-  border-radius: 10px;
-}
-
-.chooseWho {
-  display: flex;
-  width: 380px;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  padding-bottom: 10px;
-}
-
-.chooseWho > div {
-  cursor: pointer;
-  padding-bottom: 10px;
-  font-weight: bold;
-}
-
-.isChooseActive {
-  color: #3e88f4;
-  border-bottom: 2px solid #2f80f3;
-}
-
-.toolSort {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  justify-content: flex-start;
-  align-items: flex-start;
-}
-
-.toolSort > div {
-  margin-right: 45px;
-}
-
-.tools {
-  width: 100%;
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: flex-start;
-}
-
-.leftTools,
-.rightTools {
-  width: 50%;
-}
-
-.rightTools {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  justify-content: space-around;
-}
-
-.firstToolList {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: center;
-}
-
-.iconList {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  justify-content: flex-start;
-  align-items: center;
-  margin: 20px 0 5px 0;
-  width: 240px;
-  min-width: 240px;
-}
-
-.iconTool {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: center;
-  justify-content: flex-start;
-  margin: 15px 10px;
-}
-
-.toolIcon {
-  width: 50px;
-}
-
-.taskBorder {
-  border: 1px solid #e1e1e1;
-  border-radius: 10px;
-  margin-top: 20px;
-  min-height: 1160px;
-  position: relative;
-  background: #fbfbfb;
-}
-
-.smallTaskBorder {
-  height: 170px;
-  min-height: 170px !important;
-  overflow: hidden;
-}
-
-.taskBorder > div {
-  padding: 30px 0 10px 30px;
-}
-
-.addTaskBorder {
-  border: 2px solid #e1e1e1;
-  border-radius: 10px;
-  margin-top: 25px;
-  cursor: pointer;
-}
-
-.addTaskBorder > div {
-  margin: 0 auto;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.addTaskBorder > div > img {
-  width: 100px;
-}
-
-.addTaskBorder > div > span {
-  font-size: 23px;
-  color: #dbdbdb;
-}
-
-.funBlock {
-  display: flex;
-  padding: 15px 0;
-  flex-direction: row;
-  justify-content: flex-end;
-  align-items: center;
-  position: absolute;
-  right: 15px;
-  bottom: 35px;
-}
-
-.fold {
-  display: flex;
-  margin: 0 10px;
-  flex-direction: row;
-  align-items: center;
-  cursor: pointer;
-}
-
-.arrow {
-  width: 15px;
-  height: 15px;
-  margin-left: 10px;
-}
-
-.addToolFun {
-  display: flex;
-  width: 150px;
-  flex-direction: row;
-  align-items: center;
-  justify-content: center;
-  border: 1px dashed;
-  border-radius: 5px;
-  height: 50px;
-  margin: 35px auto 0;
-  cursor: pointer;
-}
-
-.addToolImg {
-  width: 30px;
-  height: 30px;
-  margin-right: 20px;
-}
-
-.addToolsDia >>> .el-dialog__body {
-  padding: 20px;
-}
-
-.addToolsDia >>> .el-dialog__body > .toolChoose {
-  padding: 0;
-}
-
-.addToolsDia >>> .el-dialog__body > .toolChoose > .leftTools {
-  padding: 0;
-  border-bottom: none;
-  margin-bottom: 0;
-}
-
-.addToolsDia >>> .el-dialog__body > .toolChoose > .leftTools > .chooseWho {
-  width: 100%;
-}
-
-.lineCss >>> .el-form-item__label {
-  width: auto !important;
-}
-
-.lineCss >>> .el-form-item__content {
-  margin-left: 50px !important;
-}
-
-.newSteps {
-  display: flex;
-  width: 100% !important;
-  height: 80px;
-  cursor: pointer;
-  margin: 10px 0;
-  border-radius: 10px;
-  flex-direction: row;
-  align-content: center;
-  justify-content: center;
-  align-items: center;
-  margin: 0 !important;
-}
-
-/* 评价样式 */
-.elist_css {
-  padding-bottom: 60px !important;
-}
-
-.elist_title {
-  margin-bottom: 10px;
-}
-
-.elist_input {
-}
-
-.elist_input_box {
-  display: flex;
-  align-items: center;
-  flex-wrap: wrap;
-}
-
-.elist_input_box + .elist_input_box {
-  margin-top: 30px;
-}
-
-.elist_input .elist_input_box input {
-  font: inherit;
-  color: currentColor;
-  /* width: 200px; */
-  max-width: 200px;
-  padding: 8px 14px;
-  display: block;
-  min-width: 0;
-  outline: none;
-  border: 1px solid rgba(0, 0, 0, 0.23);
-  border-radius: 4px;
-  box-sizing: border-box;
-  background: #fff;
-  margin: 0 20px 0 0;
-}
-
-.elist_input .elist_input_box span {
-  height: 36px;
-  line-height: 36px;
-  color: rgb(82, 82, 82);
-  min-width: 80px;
-}
-
-.elist_input .elist_input_box .remove {
-  height: 20px;
-  width: 20px;
-  background-size: 100% 100%;
-  background-position: unset;
-  margin-left: 5px;
-}
-
-.elist_input_box >>> .el-rate {
-  display: flex;
-  height: 36px;
-  align-items: center;
-}
-
-.elist_input_box .elist_inptu_text {
-  width: 100%;
-  display: flex;
-  align-items: center;
-  margin-top: 10px;
-}
-
-.elist_input_box .elist_inptu_text input {
-  /* width: 500px; */
-  width: 100%;
-  max-width: unset;
-}
-
-.elist_input_box >>> .el-rate__icon {
-  font-size: 24px;
-}
-
-.elist_btn {
-  margin-top: 10px;
-}
-
-.lineTitle {
-  margin-top: 15px;
-  width: 110px;
-}
-
-.courseTop {
-  display: flex;
-  flex-direction: row;
-  justify-content: flex-start;
-  align-items: center;
-  /* width: 100%; */
-  width: calc(100% - 20px);
-  /* background: rgb(255, 255, 255); */
-  /* border-radius: 10px; */
-  padding: 20px 0;
-}
-
-.stepsNav {
-  display: flex;
-  flex-direction: row;
-  justify-content: flex-start;
-  align-items: center;
-}
-
-.stepsWord {
-  font-size: 18px;
-  color: #fff;
-  font-weight: bold;
-  margin-left: auto;
-  background: rgb(15, 126, 255);
-  border-radius: 5px;
-  padding: 3px 25px;
-  box-sizing: border-box;
-}
-
-.rightBox {
-  width: calc(100% - 20px);
-  background: rgb(255, 255, 255);
-  border-radius: 10px;
-  overflow: auto;
-  height: calc(100% - 130px);
-  position: relative;
-}
-
-.e_add_top {
-  display: flex;
-  justify-content: space-between;
-  padding: 20px 20px 0 20px;
-  border-radius: 3px;
-  background: #fff;
-}
-
-.e_add_title2 {
-  display: flex;
-  align-items: center;
-}
-
-.e_add_title2 span {
-  width: 40px;
-}
-
-.e_add_title {
-  display: flex;
-  align-items: center;
-  color: #b8b8b8;
-  font-size: 18px;
-  position: relative;
-  height: 40px;
-}
-
-.e_add_title span {
-  margin-right: 10px;
-}
-
-.e_add_title .el_input {
-  width: 300px;
-}
-
-.e_add_title >>> .el-input__inner {
-  width: 400px;
-}
-
-.e_add_btn {
-}
-
-.e_add_content {
-  display: flex;
-  width: 100%;
-}
-
-.e_add_list {
-  background: #fff;
-  height: 500px;
-  width: 210px;
-  position: relative;
-  margin: 15px 5px 0 0;
-  flex-shrink: 0;
-  display: flex;
-  flex-direction: column;
-}
-
-.e_add_list_title {
-  font-size: 20px;
-  width: 100%;
-  box-sizing: border-box;
-  padding: 15px 40px;
-  text-align: center;
-  border-bottom: 1px solid #eaeaea;
-  position: relative;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  height: 57px;
-  background: #f6f6f6;
-}
-
-.e_add_list_title span {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-}
-
-.e_add_list_title img {
-  position: absolute;
-  right: 15px;
-  width: 25px;
-  cursor: pointer;
-  top: 50%;
-  transform: translateY(-50%);
-}
-
-.e_add_list_body {
-  height: calc(100% - 187px);
-  overflow: auto;
-}
-
-.e_add_list_child {
-  width: 100%;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  position: relative;
-  box-sizing: border-box;
-  padding: 15px 40px;
-  text-align: center;
-}
-
-.e_add_list_child span {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  cursor: pointer;
-}
-
-.e_add_list_child img {
-  position: absolute;
-  right: 10px;
-  width: 21px;
-  cursor: pointer;
-  top: 50%;
-  transform: translateY(-50%);
-}
-
-.e_add_list_child + .e_add_list_child {
-  border-top: 1px solid #eaeaea;
-}
-
-.e_add_list_child .active {
-  color: #409eff;
-}
-
-.e_add_list_btn {
-  position: absolute;
-  bottom: 0;
-  height: 50px;
-  background: rgb(120, 120, 254);
-  width: 100%;
-  color: #fff;
-  font-size: 16px;
-  text-align: center;
-  line-height: 50px;
-  cursor: pointer;
-}
-
-.e_add_list_detail {
-  position: absolute;
-  bottom: 0;
-  height: 130px;
-  background: rgb(120, 120, 254);
-  width: 100%;
-  color: #fff;
-  font-size: 16px;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.e_add_list_detail textarea {
-  height: 90%;
-  width: 95%;
-  border: none;
-  resize: none;
-  outline: none;
-  padding: 5px;
-  box-sizing: border-box;
-}
-
-.e_add_list_pbox {
-  width: 100%;
-}
-
-.e_add_list_pbox_title {
-  height: 50px;
-  background: #fff;
-  display: flex;
-  align-items: center;
-  width: 100%;
-  box-sizing: border-box;
-  padding: 0 20px;
-  flex-direction: row;
-  flex-wrap: wrap;
-}
-
-.type_title {
-  font-size: 18px;
-  font-weight: 700;
-}
-
-.type_content {
-  font-size: 16px;
-  margin-left: 30px;
-}
-
-.type_content span + span {
-  margin-left: 20px;
-}
-
-.type_content span {
-  cursor: pointer;
-  padding-bottom: 5px;
-  box-sizing: border-box;
-}
-
-.type_content .active {
-  color: #409eff;
-  border-bottom: 2px solid #409eff;
-}
-
-.e_add_list_pbox_content {
-  height: calc(100% - 50px);
-  display: flex;
-  align-items: center;
-  width: 100%;
-  background: #fff;
-}
-
-.mbCss {
-  width: 100%;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-content: center;
-  align-items: flex-start;
-  justify-content: flex-start;
-}
-
-.pjCss {
-  /* width: 42%; */
-  width: calc(100% - 55%);
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: flex-start;
-  margin-top: 1.5%;
-}
-
-.e_box {
-  display: flex;
-  flex-wrap: wrap;
-  max-height: 500px;
-  align-items: flex-start;
-  overflow: auto;
-}
-
-.e_card {
-  border: 1px solid #ccc;
-  background: #fff;
-  margin-right: 20px;
-  width: 270px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  border-radius: 5px;
-  margin-top: 10px;
-  text-align: center;
-}
-
-.e_card_picture {
-  margin: 10px 0;
-}
-
-.e_card_picture > img {
-  width: 50px;
-}
-
-.e_card_name {
-  width: 100%;
-  padding: 0 10px;
-  box-sizing: border-box;
-  margin-bottom: 10px;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.e_card_time {
-  width: 100%;
-  padding: 0 10px;
-  box-sizing: border-box;
-  font-size: 15px;
-  color: #c3c3c3;
-  margin-bottom: 10px;
-}
-
-.e_card_btn {
-  height: 40px;
-  display: flex;
-  align-items: center;
-  width: 100%;
-  background: rgb(244, 244, 244);
-}
-
-.e_card_btn:hover {
-  background: rgb(221 221 221);
-}
-
-.e_card_btn span {
-  flex: 1 1 auto;
-  text-align: center;
-  cursor: pointer;
-}
-
-.addEva {
-  border: 1px solid #ccc;
-  background: #fff;
-  margin-right: 20px;
-  width: 270px;
-  height: 149px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  border-radius: 5px;
-  margin-top: 10px;
-  text-align: center;
-  cursor: pointer;
-  justify-content: center;
-}
-
-.addEva > img {
-  width: 50px;
-  object-fit: cover;
-}
-
-.uploadFm {
-  border: 1px dashed #ccc;
-  width: 202px;
-  height: 102px;
-  position: relative;
-  cursor: pointer;
-}
-
-.uploadFm > img {
-  position: absolute;
-  top: 25px;
-  left: 35%;
-  width: 50px;
-}
-
-.fileCss {
-  width: 100%;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  justify-content: space-around;
-  align-items: center;
-  padding-top: 15px;
-}
-
-.sysPicBox {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-content: flex-start;
-  height: 435px;
-  overflow: auto;
-}
-
-.sysPic {
-  width: 200px;
-  height: 115px;
-  margin: 0 20px 20px 0;
-  cursor: pointer;
-}
-
-.sysPic > img,
-.isSysPic > img,
-.deletePic > img {
-  width: 100%;
-  height: 100%;
-  object-fit: cover;
-}
-
-.isSysPic {
-  width: 200px;
-  height: 115px;
-  position: relative;
-}
-
-.deletePic {
-  width: 20px;
-  height: 20px;
-  position: absolute;
-  top: 0;
-  right: 0;
-  cursor: pointer;
-}
-
-.select_box1 {
-}
-
-.select_box1_img {
-  background: #fff;
-  border-radius: 5px;
-  padding: 15px;
-  box-sizing: border-box;
-  margin-bottom: 20px;
-}
-
-.select_box1_title {
-  padding: 0 0 15px 0;
-  border-bottom: 1px solid #eee;
-  margin-bottom: 15px;
-}
-
-.select_box1_title span:nth-child(1) {
-  font-size: 16px;
-  margin-right: 20px;
-  color: #000;
-}
-
-.select_box1_title span:nth-child(2) {
-  font-size: 14px;
-  color: rgb(112, 112, 112);
-}
-
-.select_box1_add_img {
-}
-
-.select_box1_select {
-  background: #fff;
-  border-radius: 5px;
-  padding: 15px;
-  box-sizing: border-box;
-}
-
-.select_box2 {
-}
-
-.select_box2_title {
-  background: #fff;
-  border-radius: 5px;
-  padding: 5px 10px;
-  box-sizing: border-box;
-  margin-bottom: 10px;
-}
-
-.select_box2_box {
-  display: flex;
-  height: 500px;
-}
-
-.select_box2_img {
-  width: calc(100% - 310px);
-  height: 100%;
-  overflow: auto;
-  background: #fff;
-  border-radius: 5px;
-}
-
-.select_box2_img img {
-  width: 100%;
-}
-
-.select_box2_answer {
-  background: #fff;
-  margin-left: 10px;
-  border-radius: 5px;
-  width: 300px;
-  overflow: auto;
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  padding-top: 10px;
-  box-sizing: border-box;
-}
-
-.select_box2_answer_box {
-  margin: 0 0 10px 0;
-  width: 85%;
-}
-
-.rate_textarea {
-  font: inherit;
-  color: currentColor;
-  width: 100%;
-  padding: 8px 14px;
-  display: block;
-  min-width: 0;
-  outline: none;
-  border: 1px solid rgba(0, 0, 0, 0.23);
-  border-radius: 4px;
-  box-sizing: border-box;
-  background: #fff;
-  margin: 0 20px 0 0;
-  resize: none;
-}
-
-.select_answer_title {
-  text-align: left;
-  width: 85%;
-  margin-bottom: 10px;
-  font-size: 18px;
-  color: #8e8e8e;
-}
-
-.mask {
-  background-color: rgb(0 0 0 / 30%);
-  /* position: fixed; */
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  z-index: 90;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.progressBox {
-  width: 300px;
-  height: 150px;
-  background: #fff;
-  border-radius: 10px;
-  box-shadow: 0 0 6px 1px #bfbfbf;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  flex-direction: column;
-}
-
-.progressBox .lbox {
-  height: 100px;
-  font-size: 16px;
-  display: flex;
-  align-items: center;
-}
-
-.progressBox .lbox img {
-  width: 40px;
-  margin-right: 20px;
-}
-
-.progressBox >>> .el-progress-bar__outer {
-  background-color: #d1dfff !important;
-}
-
-.progressBox .lbox {
-  height: 100px;
-  font-size: 19px;
-  display: flex;
-  align-items: center;
-}
-
-.progressBox .lbox img {
-  width: 40px;
-  margin-right: 20px;
-}
-
-.updateTips::after {
-  content: "协同编辑课程暂不支持修改基本信息,只支持修改阶段内容。";
-  font-size: 14px;
-  margin-left: 20px;
-  font-weight: 400;
-  color: #ff3a3a;
-}
-
-.updateMask {
-  width: 100%;
-  z-index: 3;
-  top: 0;
-  position: absolute;
-}
-</style>

+ 0 - 8325
src/components/pages/addCourseGM.vue

@@ -1,8325 +0,0 @@
-<template>
-  <div class="pb_content">
-    <div class="pb_content_body" style="position: relative; margin: 0">
-      <div class="right">
-        <!-- <div style="display: flex; margin-top: 20px; position: relative"> -->
-        <div style="width: 100%; height: 100%; overflow: auto" ref="stepBox">
-          <div class="courseTop">
-            <div class="stepsNav">
-              <h3 class="info_title" v-if="steps == 1">项目内容填写</h3>
-              <h3 class="info_title" v-if="steps == 2">请选择项目框架</h3>
-              <h3 class="info_title" v-if="steps == 3">项目内容填写</h3>
-              <h3 class="info_title" v-if="steps == 4">上传项目</h3>
-              <el-breadcrumb
-                separator-class="el-icon-arrow-right"
-                style="margin-top: 15px"
-              >
-                <el-breadcrumb-item
-                  :to="{
-                    path:
-                      '/courseGM?userid=' +
-                      userid +
-                      '&oid=' +
-                      oid +
-                      '&org=' +
-                      org,
-                  }"
-                  >项目管理</el-breadcrumb-item
-                >
-                <el-breadcrumb-item>
-                  <span style="color: #5c549f">添加项目</span>
-                </el-breadcrumb-item>
-              </el-breadcrumb>
-            </div>
-            <div
-              v-if="steps == 1 || steps == 2 || steps == 3"
-              class="stepsWord"
-            >
-              {{
-                steps == 1
-                  ? "第一步"
-                  : steps == 2
-                  ? "第二步"
-                  : steps == 3
-                  ? "第三步"
-                  : ""
-              }}
-            </div>
-          </div>
-          <div class="stepBg">
-            <div v-if="steps == 1" class="first" @click="navSteps(1)">
-              <div>
-                <img src="../../assets/icon/first.png" alt />
-              </div>
-              <div>填写基本信息</div>
-            </div>
-            <div v-else class="firstNo" @click="navSteps(1)">
-              <div>
-                <img src="../../assets/icon/firstNo.png" alt />
-              </div>
-              <div>填写基本信息</div>
-            </div>
-            <div v-show="cidType === 0" class="secondNo">
-              <div
-                v-if="steps == 2"
-                class="newSteps second"
-                @click="navSteps(2)"
-              >
-                <div style="margin: 5px 10px 0 0; width: 2rem">
-                  <img src="../../assets/icon/second.png" alt />
-                </div>
-                <div>选择项目框架</div>
-              </div>
-              <div v-else class="newSteps secondNo" @click="navSteps(2)">
-                <div>
-                  <img src="../../assets/icon/secondNo.png" alt />
-                </div>
-                <div>选择项目框架</div>
-              </div>
-            </div>
-
-            <div v-if="steps == 3" class="third" @click="navSteps(3)">
-              <div>
-                <img src="../../assets/icon/third.png" alt />
-              </div>
-              <div>上传项目内容</div>
-            </div>
-            <div v-else class="thirdNo" @click="navSteps(3)">
-              <div>
-                <img src="../../assets/icon/thirdNo.png" alt />
-              </div>
-              <div>上传项目内容</div>
-            </div>
-            <div v-if="steps == 4" class="four">
-              <div>
-                <img src="../../assets/icon/four.png" alt />
-              </div>
-              <div>上传完成</div>
-            </div>
-            <div v-else class="fourNo">
-              <div>
-                <img src="../../assets/icon/fourNo.png" alt />
-              </div>
-              <div>上传完成</div>
-            </div>
-          </div>
-          <div class="rightBox" v-if="this.steps == 1">
-            <!-- $(".rightBox").scrollHeight -->
-            <div
-              class="updateMask"
-              :style="{ height: rightBoxHeight + 'px' }"
-              v-if="cid && userid != courseUserid"
-            ></div>
-            <div class="whiteBg">
-              <div
-                class="right_title"
-                :class="{ updateTips: cid && userid != courseUserid }"
-              >
-                项目基本信息
-              </div>
-              <div class="basic_box">
-                <div class="big_box">
-                  <div class="left_first">
-                    <div>
-                      <div>
-                        <div class="bInfo_title" style="margin-bottom: 15px">
-                          <!-- <span style="color: red">*</span>  -->
-                          项目名称
-                        </div>
-                        <div style="display: flex; margin-right: 20px">
-                          <img
-                            src="../../assets/icon/projectNameGM.png"
-                            alt
-                            style="margin-right: 8px"
-                          />
-                          <input
-                            type="text"
-                            placeholder="请输入项目名称"
-                            class="binfo_input"
-                            v-model="courseName"
-                          />
-                        </div>
-                      </div>
-                      <div class="both">
-                        <div class="choose">
-                          <div
-                            class="all_choose all_choose2"
-                            v-for="(item, index) in CourseType[0]"
-                            :key="index"
-                          >
-                            <span>{{ item.name }}</span>
-                            <el-checkbox-group v-model="courseTypeId">
-                              <el-checkbox
-                                v-for="item1 in CourseTypeJson[item.id]"
-                                :key="item1.id"
-                                :label="item1.id"
-                                >{{ item1.name }}</el-checkbox
-                              >
-                            </el-checkbox-group>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                  </div>
-                </div>
-              </div>
-            </div>
-            <div class="whiteBg" style="border-radius: 0">
-              <div class="right_first">
-                <div class="right_title">上传封面与成员</div>
-
-                <div
-                  style="
-                    padding: 0 0 50px 20px;
-                    display: flex;
-                    align-items: baseline;
-                    justify-content: flex-start;
-                    margin: 0 auto;
-                  "
-                >
-                  <div>
-                    <div class="bInfo_title" style="margin-top: 0 !important">
-                      项目封面
-                    </div>
-                    <div
-                      class="uploadFm"
-                      @click="choosePicVisible = true"
-                      v-if="cover.length == 0"
-                    >
-                      <img src="../../assets/icon/addPoster.png" alt="" />
-                    </div>
-                    <el-upload
-                      :class="{ disUoloadSty: noneBtnImg }"
-                      class="upCss"
-                      action="#"
-                      list-type="picture"
-                      v-loading="uploadLoading1"
-                      :http-request="beforeUpload1"
-                      ref="upload1"
-                      :on-preview="handlePictureCardPreview"
-                      :on-remove="handle_remove1"
-                      :show-file-list="true"
-                      :file-list="cover"
-                      accept="image/*"
-                      :limit="1"
-                      :on-exceed="onExceed"
-                      v-else
-                    >
-                      <i class="el-icon-plus"></i>
-                    </el-upload>
-                  </div>
-                  <div
-                    style="
-                      display: flex;
-                      flex-flow: row nowrap;
-                      flex-direction: row;
-                      flex-wrap: wrap;
-                      align-items: baseline;
-                      margin: 0 30px;
-                    "
-                  >
-                    <!-- <div style="margin: 0 80px">
-                      <div class="bInfo_title">
-                        选择项目成员
-                      </div>
-                      <div
-                        class="addPeople"
-                        @click="addPP"
-                        v-if="this.checkboxList.length == 0"
-                      >添加成员</div>
-                      <div class="addPeople" @click="addPP" v-else>已添加,点击查看</div>
-                    </div>-->
-                    <div style="margin: 0 30px 0 0">
-                      <div class="bInfo_title">添加权限</div>
-                      <div class="addPeople" @click="dialogVisibleClass = true">
-                        添加权限
-                      </div>
-                    </div>
-                    <div
-                      style="flex: 0.5 1 0%; margin: 0"
-                      v-if="courseUserid != '' ? courseUserid == userid : true"
-                    >
-                      <div class="bInfo_title">协同编辑</div>
-                      <div
-                        class="addPeople"
-                        @click="dialogVisibleMember = true"
-                      >
-                        添加协同成员
-                      </div>
-                    </div>
-                  </div>
-                </div>
-              </div>
-            </div>
-            <div class="whiteBg" style="border-radius: 0; margin-top: 15px">
-              <div class="right_title">项目简要描述</div>
-              <div style="width: 95%; margin: 15px auto">
-                <div style="width: 55%">
-                  <textarea
-                    rows="8"
-                    class="binfo_input"
-                    cols
-                    v-model="courseText"
-                  ></textarea>
-                </div>
-              </div>
-              <!-- <div style="width: 95%; margin: 15px auto">
-                <el-switch
-                  v-model="isTeacherSee"
-                  active-text="允许给其他老师查看"
-                  style="padding-bottom: 30px"
-                ></el-switch>
-              </div>-->
-              <div style="width: 95%; margin: 15px auto">
-                <el-switch
-                  active-color="#5c549f"
-                  v-model="isTeacherSee"
-                  active-text="是否公开此项目"
-                  style="padding-bottom: 30px"
-                  class="s_switch"
-                ></el-switch>
-              </div>
-            </div>
-            <div
-              class="whiteBg"
-              style="border-radius: 0; margin-top: 15px; padding-bottom: 20px"
-            >
-              <div class="right_title">目标管理</div>
-              <div style="margin: 15px auto; padding: 0 0 0 20px">
-                <div
-                  style="
-                    width: 100%%;
-                    display: flex;
-                    flex-direction: row;
-                    flex-wrap: nowrap;
-                    align-content: center;
-                    align-items: center;
-                    justify-content: space-between;
-                  "
-                >
-                  <div
-                    style="
-                      display: flex;
-                      flex-flow: row nowrap;
-                      align-items: flex-start;
-                      width: 100%;
-                      flex-direction: column;
-                      flex-wrap: nowrap;
-                      position: relative;
-                    "
-                  >
-                    <!-- <div style="margin-right: 15px; min-width: 120px">
-                      请选择评价指标
-                    </div>
-                    <div>
-                      <el-select
-                        v-model="evalua"
-                        placeholder="请选择体系"
-                        @change="checkEva"
-                      >
-                        <el-option
-                          v-for="(e, eIndex) in evaJuri"
-                          :key="eIndex"
-                          :label="e.title"
-                          :value="e.id"
-                        ></el-option>
-                      </el-select>
-                    </div> -->
-                    <!-- <div
-                      @click="openT"
-                      class="addPeople"
-                      style="
-                        background: #6b92c9;
-                        margin: 0 0 0 15px;
-                        position: absolute;
-                        right: 23%;
-                      "
-                    >
-                      前往设置目标管理
-                    </div> -->
-                    <div class="e_box">
-                      <div
-                        class="e_card"
-                        v-for="(item, index) in evaJuri"
-                        :key="index"
-                      >
-                        <div class="e_card_picture">
-                          <img src="../../assets/e_picture.png" />
-                        </div>
-                        <div class="e_card_name">
-                          <span>{{ item.title }}</span>
-                        </div>
-                        <!-- <div class="e_card_time">
-                          <span>{{ item.time }}</span>
-                        </div> -->
-                        <div class="e_card_btn">
-                          <span @click="checkEva(item.id)">导入</span>
-                          <!-- <span @click="openT">前往设置</span> -->
-                        </div>
-                      </div>
-                      <div class="addEva" @click="openT">
-                        <img src="../../assets/icon/addEva.png" alt="" />
-                      </div>
-                      <div
-                        v-if="evaJuri.length === 0"
-                        style="margin: 0 auto; color: #6e6e6e"
-                      >
-                        暂无数据
-                      </div>
-                    </div>
-                  </div>
-                </div>
-                <div
-                  v-if="evalua"
-                  style="
-                    border: 1px solid #e5e5e5;
-                    width: 95%;
-                    margin-top: 30px;
-                    box-shadow: 3px 1px 15px 3px #e0e0e0;
-                  "
-                >
-                  <div class="e_add_top">
-                    <div class="e_add_title">
-                      <span>当前使用目标管理</span>
-                      <span>{{ eTitle }}</span>
-                      <img
-                        src="../../assets/lineGM.png"
-                        class="cru_line"
-                        style="
-                          width: 110px;
-                          height: 20px;
-                          bottom: -10px;
-                          left: 155px;
-                        "
-                      />
-                      <!-- <el-input
-                        v-model="eTitle"
-                        placeholder="请输入名称"
-                        @change="setMindData"
-                      ></el-input>-->
-                    </div>
-                  </div>
-                  <div class="e_add_content">
-                    <div class="e_add_list_pbox">
-                      <div class="e_add_list_pbox_title">
-                        <span class="type_title">切换模式</span>
-                        <div class="type_content">
-                          <span
-                            :class="{ active: typeMode == 1 }"
-                            @click="OtherMb(1)"
-                            >目标树</span
-                          >
-                          <span
-                            :class="{ active: typeMode == 2 }"
-                            @click="OtherMb(2)"
-                            >目标罗盘</span
-                          >
-                          <span
-                            :class="{ active: typeMode == 3 }"
-                            @click="OtherMb(3)"
-                            >目标看板</span
-                          >
-                        </div>
-                      </div>
-                      <div class="e_add_list_pbox_content">
-                        <Mind
-                          :showBar="false"
-                          :mindData="data"
-                          v-show="typeMode == 1"
-                        ></Mind>
-                        <Sunburst
-                          :Josn="eJson"
-                          :num="eJSONNum"
-                          style="width: 100%"
-                          v-if="typeMode == 2"
-                        ></Sunburst>
-                        <SeeBoard
-                          :Josn="eJson"
-                          :num="eJSONNum"
-                          :ename="eTitle"
-                          style="width: 100%"
-                          v-if="typeMode == 3"
-                        ></SeeBoard>
-                      </div>
-                    </div>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-          <div class="rightBox" v-if="this.steps == 2">
-            <div
-              class="basic_box"
-              style="padding: 20px 30px 0px !important; box-sizing: border-box"
-            >
-              <!-- <div
-                style="
-                  color: #b8b8b8;
-                  background: #fff;
-                  width: 26%;
-                  height: 40px;
-                  border-radius: 15px;
-                  padding-left: 20px;
-                  line-height: 40px;
-                  font-size: 17px;
-                  box-shadow: 0px 1px 2px 2px #e0e0e0;
-                "
-              >-->
-              <div
-                class="right_title"
-                style="border: none; margin: 0; padding: 0"
-              >
-                请选择合适的项目模板
-              </div>
-              <div class="wordbox">
-                <div
-                  class="wordTeacher"
-                  v-for="(aa, indexF) in templateArray"
-                  :key="indexF"
-                  @click="checkTemplate(aa)"
-                >
-                  <div class="wordPic">
-                    <img src="../../assets/icon/wordMub.png" alt />
-                  </div>
-
-                  <div
-                    style="
-                      margin-top: 10px;
-                      line-height: 19px;
-                      overflow: hidden;
-                      text-overflow: ellipsis;
-                      white-space: nowrap;
-                      padding: 0 20px;
-                    "
-                  >
-                    {{ aa.title }}
-                  </div>
-                </div>
-                <div class="wordTeacher" @click="checkTemplate2()">
-                  <div class="wordPic">
-                    <img src="../../assets/icon/wordMub.png" alt />
-                  </div>
-
-                  <div
-                    style="
-                      margin-top: 10px;
-                      line-height: 19px;
-                      overflow: hidden;
-                      text-overflow: ellipsis;
-                      white-space: nowrap;
-                      padding: 0 20px;
-                    "
-                  >
-                    新建项目
-                  </div>
-                </div>
-                <div class="wordTeacher" @click="checkTemplate1()">
-                  <div class="wordPic">
-                    <img src="../../assets/icon/wordMub.png" alt />
-                  </div>
-
-                  <div
-                    style="
-                      margin-top: 10px;
-                      line-height: 19px;
-                      overflow: hidden;
-                      text-overflow: ellipsis;
-                      white-space: nowrap;
-                      padding: 0 20px;
-                    "
-                  >
-                    我的项目
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-          <div class="rightBox" v-if="this.steps == 3" ref="rightboxR">
-            <div class="basic_box">
-              <div
-                style="
-                  display: flex;
-                  flex-direction: row;
-                  align-items: center;
-                  position: sticky;
-                  top: 0;
-                  background: #fff;
-                  z-index: 99;
-                  width: 100%;
-                  padding: 0 20px 0 20px;
-                  box-sizing: border-box;
-                "
-              >
-                <div class="cru_selectBox">
-                  <div
-                    v-for="(item, index) in unitJson"
-                    :key="index"
-                    class="cru_select"
-                    :class="unitIndex == index ? 'cru_selected' : ''"
-                    @click="unitSet(index)"
-                  >
-                    第{{ index + 1 }}阶段
-                  </div>
-                  <img
-                    src="../../assets/lineGM.png"
-                    class="cru_line"
-                    :style="{
-                      left: offsetLetfPx + 'px',
-                    }"
-                  />
-                </div>
-                <div class="addStageImg" @click="addunit()">
-                  <img src="../../assets/icon/add.png" alt />
-                </div>
-              </div>
-
-              <div
-                style="margin: 0 0 40px 0; padding: 0 20px 0 20px"
-                v-for="(item, index) in unitJson[unitIndex].chapterInfo"
-                :key="index"
-              >
-                <div>
-                  <div class="chapter_contentbox">
-                    <div>第{{ unitIndex + 1 }}阶段</div>
-                    <div>
-                      <input
-                        type="text"
-                        placeholder="阶段标题"
-                        class="binfo_input"
-                        v-model="unitJson[unitIndex].dyName"
-                      />
-                    </div>
-                    <div
-                      v-if="unitJson.length > 1"
-                      @click="deleteUnit(unitIndex)"
-                    ></div>
-                  </div>
-                </div>
-                <div
-                  style="
-                    margin: 50px 0px 10px;
-                    font-size: 1.5em;
-                    font-weight: 700;
-                    color: #5c549f;
-                  "
-                >
-                  添加任务
-                </div>
-                <div
-                  class="taskBorder"
-                  v-for="(itemTask, itemTaskIndex) in item.taskJson"
-                  :key="itemTaskIndex"
-                >
-                  <div>
-                    <div>
-                      <div style="font-size: 22px; color: #8e8e8e">
-                        任务{{ itemTaskIndex + 1 }}
-                      </div>
-                      <div
-                        class="chapter_contentbox"
-                        style="
-                          flex-direction: row;
-                          justify-content: flex-start;
-                          align-items: center;
-                        "
-                      >
-                        <div
-                          style="
-                            border-left: 6px solid #5c549f;
-                            height: 20px;
-                            padding-left: 10px;
-                            line-height: 22px;
-                          "
-                        >
-                          任务名称
-                        </div>
-                        <div>
-                          <input
-                            type="text"
-                            placeholder="输入任务名称"
-                            class="binfo_input"
-                            style="border-radius: 4px"
-                            v-model="
-                              unitJson[unitIndex].chapterInfo[0].taskJson[
-                                itemTaskIndex
-                              ].task
-                            "
-                          />
-                        </div>
-                        <div
-                          class="remove"
-                          v-if="item.taskJson.length > 1"
-                          @click="deleteTask(itemTaskIndex)"
-                          style="position: absolute; right: 55px"
-                        ></div>
-                      </div>
-                      <div
-                        style="
-                          display: flex;
-                          margin: 0 0 20px 0;
-                          flex-direction: row;
-                          justify-content: flex-start;
-                          align-items: center;
-                          width: 70.5% !important;
-                          padding-top: 30px;
-                        "
-                      >
-                        <div class="lineTitle">任务描述</div>
-                        <div class="line"></div>
-                      </div>
-                      <div>
-                        <editor-bar
-                          style="width: 90% !important; margin: 0"
-                          placeholder="请输入任务描述"
-                          v-model="
-                            unitJson[unitIndex].chapterInfo[0].taskJson[
-                              itemTaskIndex
-                            ].taskDetail
-                          "
-                          @change="change"
-                        ></editor-bar>
-                        <!-- <textarea
-                          rows="6"
-                          class="binfo_input"
-                          placeholder="请输入任务描述"
-                          cols
-                          style="width: 70.5% !important; height: 120px"
-                          v-model="
-                            unitJson[unitIndex].chapterInfo[0].taskJson[
-                              itemTaskIndex
-                            ].taskDetail
-                          "
-                        ></textarea>-->
-                      </div>
-                    </div>
-                  </div>
-                  <div
-                    class="basic_box"
-                    style="
-                      margin: 0;
-                      min-height: 0;
-                      width: 90% !important;
-                      paddint-top: 10px !important;
-                    "
-                  >
-                    <div
-                      style="
-                        display: flex;
-                        margin: 0 0 20px 0;
-                        flex-direction: row;
-                        justify-content: flex-start;
-                        align-items: center;
-                      "
-                    >
-                      <div class="lineTitle">学习内容</div>
-                      <div class="line"></div>
-                    </div>
-                    <div>
-                      <div
-                        class="add_chapters_box"
-                        v-if="
-                          itemTask.chapterData &&
-                          itemTask.chapterData.length == 0
-                        "
-                        style="height: 185px"
-                      ></div>
-                      <div
-                        v-else
-                        class="add_chapters_box"
-                        style="display: flex; flex-direction: column"
-                      >
-                        <div
-                          class="chapter_upload"
-                          v-for="(item1, index1) in itemTask.chapterData"
-                          :key="item1.id"
-                          @click="
-                            getChapterData(
-                              $event,
-                              unitIndex,
-                              index,
-                              index1,
-                              item1.type
-                            )
-                          "
-                        >
-                          <div
-                            class="chapter_upload_t"
-                            style="width: 100%"
-                          ></div>
-                          <div
-                            class="chapter_upload_o"
-                            style="
-                              position: relative;
-                              display: flex;
-                              align-items: center;
-                            "
-                          >
-                            <div
-                              class="chapter_upload_l"
-                              style="padding: 1px 0 0 10px"
-                            >
-                              <div
-                                v-if="item1.type == 2"
-                                class="chapter_upload_l_i1"
-                              ></div>
-                              <div
-                                v-if="
-                                  item1.type == 3 ||
-                                  item1.type == 6 ||
-                                  item1.type == 7
-                                "
-                                class="chapter_upload_l_i5"
-                                style="margin-left: 1px"
-                              ></div>
-                              <div
-                                v-if="item1.type == 8"
-                                class="chapter_upload_l_i8"
-                                style="margin-left: 1px"
-                              ></div>
-                            </div>
-                            <div
-                              class="chapter_upload_ic"
-                              style="
-                                cursor: pointer;
-                                position: absolute;
-                                width: 45px;
-                                right: 0;
-                                top: 0;
-                              "
-                            >
-                              <div class="chapter_upload_ic_l"></div>
-                              <div
-                                class="chapter_upload_ic_r"
-                                style="position: absolute"
-                                @click.stop="
-                                  deleteChapterData(
-                                    $event,
-                                    unitIndex,
-                                    index,
-                                    index1,
-                                    itemTaskIndex
-                                  )
-                                "
-                              >
-                                <div></div>
-                              </div>
-                            </div>
-                            <div class="chapter_upload_n">
-                              <input
-                                v-if="
-                                  item1.type == 2 ||
-                                  item1.type == 3 ||
-                                  item1.type == 7
-                                "
-                                :placeholder="item1.name"
-                                @change="
-                                  updataVideoT(
-                                    $event,
-                                    unitIndex,
-                                    chapterIndex,
-                                    index1
-                                  )
-                                "
-                                style="
-                                  border: none;
-                                  outline: none;
-                                  width: 80%;
-                                  minwidth: 215px;
-                                  z-index: 99;
-                                  font-size: 14px;
-                                  white-space: nowrap;
-                                  overflow: hidden;
-                                  text-overflow: ellipsis;
-                                "
-                              />
-                              <input
-                                :placeholder="item1.name"
-                                v-if="item1.type == 6"
-                                style="
-                                  border: none;
-                                  outline: none;
-                                  width: 80%;
-                                  white-space: nowrap;
-                                  overflow: hidden;
-                                  text-overflow: ellipsis;
-                                "
-                                readonly="true"
-                                @click="selectAttText(itemTaskIndex, index1)"
-                              />
-                              <input
-                                :placeholder="item1.name"
-                                v-if="item1.type == 8"
-                                style="
-                                  border: none;
-                                  outline: none;
-                                  width: 80%;
-                                  white-space: nowrap;
-                                  overflow: hidden;
-                                  text-overflow: ellipsis;
-                                "
-                                readonly="true"
-                                @click="selectLine(itemTaskIndex, index1)"
-                              />
-                              <div
-                                class="chapter_upload_ud"
-                                style="z-index: 99"
-                              >
-                                <div
-                                  class="chapter_upload_up"
-                                  @click="
-                                    upCd($event, unitIndex, index, index1)
-                                  "
-                                ></div>
-                                <div
-                                  class="chapter_upload_down"
-                                  @click="
-                                    downCd($event, unitIndex, index, index1)
-                                  "
-                                ></div>
-                              </div>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                    <div class="add_info_box">
-                      <button class="info_btn" @click="addImg($event)">
-                        添加教学视频
-                        <input
-                          type="file"
-                          accept="video/mp4, video/quicktime, video/x-msvideo"
-                          style="display: none"
-                          capture="camera"
-                          v-if="inputShow"
-                          @change="
-                            beforeUpload2($event, unitIndex, 2, itemTaskIndex)
-                          "
-                        />
-                      </button>
-                      <button class="info_btn" @click="addImg($event)">
-                        添加教学附件
-                        <input
-                          type="file"
-                          accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document"
-                          style="display: none"
-                          v-if="inputShow"
-                          @change="
-                            beforeUpload2($event, unitIndex, 3, itemTaskIndex)
-                          "
-                        />
-                      </button>
-                      <button
-                        class="info_btn"
-                        @click="addAttText(itemTaskIndex)"
-                      >
-                        添加图文
-                      </button>
-                      <button class="info_btn" @click="openLine(itemTaskIndex)">
-                        添加链接
-                      </button>
-                    </div>
-                    <div
-                      v-if="
-                        unitJson[unitIndex].chapterInfo[0].taskJson[
-                          itemTaskIndex
-                        ].proVisible
-                      "
-                      class="mask"
-                    >
-                      <div class="progressBox">
-                        <div class="lbox">
-                          <img src="../../assets/loading.gif" />上传中,请稍后
-                        </div>
-                        <el-progress
-                          :text-inside="true"
-                          :stroke-width="20"
-                          :percentage="
-                            unitJson[unitIndex].chapterInfo[0].taskJson[
-                              itemTaskIndex
-                            ].progress
-                              ? unitJson[unitIndex].chapterInfo[0].taskJson[
-                                  itemTaskIndex
-                                ].progress
-                              : 0
-                          "
-                          style="width: 80%"
-                        ></el-progress>
-                      </div>
-                    </div>
-                  </div>
-                  <div
-                    style="
-                      flex-direction: row;
-                      justify-content: flex-start;
-                      align-items: center;
-                      padding: 0 0 0 30px;
-                      paddint-top: 10px !important;
-                    "
-                  >
-                    <div
-                      style="
-                        display: flex;
-                        flex-direction: row;
-                        align-items: center;
-                        margin-bottom: 20px;
-                      "
-                    >
-                      <div class="lineTitle">练习内容</div>
-                      <div class="line" style="width: 90%"></div>
-                    </div>
-                  </div>
-                  <div class="toolChoose" style="padding: 0 0 0 30px">
-                    <div class="tools">
-                      <div
-                        class="leftTools"
-                        style="
-                          width: 95%;
-                          padding: 0 0 15px 0;
-                          border-bottom: 1px solid #efefef;
-                          margin-bottom: 15px;
-                        "
-                        v-for="(itemTool, toolIndex) in itemTask.toolChoose"
-                        :key="toolIndex"
-                      >
-                        <div>
-                          <textarea
-                            rows="3"
-                            type="text"
-                            placeholder="添加工具描述"
-                            class="binfo_input"
-                            style="margin: 0 0 20px 0; width: 71.5% !important"
-                            v-model="itemTool.toolDetail"
-                          ></textarea>
-                        </div>
-                        <div
-                          style="
-                            display: flex;
-                            flex-direction: row;
-                            align-items: baseline;
-                            flex-wrap: nowrap;
-                            justify-content: flex-start;
-                            position: relative;
-                          "
-                        >
-                          <div style="margin-right: 20px; font-weight: bold">
-                            工具 {{ toolIndex + 1 }} :
-                          </div>
-                          <div class="chooseWho">
-                            <div
-                              :class="
-                                itemTool.toolType == 0 ? 'isChooseActive' : ''
-                              "
-                              @click="(itemTool.toolType = 0), $forceUpdate()"
-                            >
-                              互动类
-                            </div>
-                            <div
-                              :class="
-                                itemTool.toolType == 1 ? 'isChooseActive' : ''
-                              "
-                              @click="(itemTool.toolType = 1), $forceUpdate()"
-                            >
-                              思维类
-                            </div>
-                            <div
-                              :class="
-                                itemTool.toolType == 2 ? 'isChooseActive' : ''
-                              "
-                              @click="(itemTool.toolType = 2), $forceUpdate()"
-                            >
-                              评价类
-                            </div>
-                            <div
-                              :class="
-                                itemTool.toolType == 3 ? 'isChooseActive' : ''
-                              "
-                              @click="(itemTool.toolType = 3), $forceUpdate()"
-                            >
-                              编程类
-                            </div>
-                            <div
-                              :class="
-                                itemTool.toolType == 5 ? 'isChooseActive' : ''
-                              "
-                              @click="(itemTool.toolType = 5), $forceUpdate()"
-                            >
-                              学科类
-                            </div>
-                            <div
-                              :class="
-                                itemTool.toolType == 4 ? 'isChooseActive' : ''
-                              "
-                              @click="(itemTool.toolType = 4), $forceUpdate()"
-                            >
-                              其他
-                            </div>
-                          </div>
-                          <div
-                            class="remove"
-                            @click="deleteTool(itemTaskIndex, toolIndex)"
-                            v-if="itemTask.toolChoose.length > 1"
-                            style="position: absolute; right: 55px"
-                          ></div>
-                        </div>
-
-                        <div style="min-height: 163px">
-                          <div class="toolSort" v-if="itemTool.toolType == 0">
-                            <!-- <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(8, itemTaskIndex, toolIndex)"
-                              >
-                                <img src="../../assets/icon/secondToolList/library.png" alt />
-                                <div style="margin: 5px 0">素材库</div>
-                              </div>
-                              <div class="check" @click="addTools(8, itemTaskIndex, toolIndex)">
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(8) == -1"
-                                />
-                                <img src="../../assets/icon/checkedIs.png" alt v-else />
-                              </div>
-                            </div>-->
-                            <!-- <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(17, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/library.png"
-                                  alt
-                               />
-                                <div style="margin: 5px 0">学习资料</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(17, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(17) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div> -->
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(10, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/time.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">倒计时</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(10, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(10) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                          </div>
-                          <div class="toolSort" v-if="itemTool.toolType == 1">
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(7, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/mindNetwork.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">思维网格</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(7, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(7) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(1, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/whiteBoard.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">电子白板</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(1, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(1) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(2, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/note.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">便签</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(2, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(2) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(6, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/doc.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">协同文档</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(6, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(6) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(3, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/mindMapping.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">思维导图</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(3, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(3) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                          </div>
-                          <div class="toolSort" v-if="itemTool.toolType == 2">
-                            <!-- <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(5, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/score.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">量规评分</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(5, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(5) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>-->
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="openTools(itemTaskIndex, 4, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/ask.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">问卷调查</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(4, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(4) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="openTools(itemTaskIndex, 45, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/choose.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">选择题</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(45, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(45) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="openTools(itemTaskIndex, 15, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/answer.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">问答工具</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(15, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(15) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(16, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/work.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">作业提交</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(16, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(16) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="openTools(itemTaskIndex, 40, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/eval.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">学生互评</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(40, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(40) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="openTools(itemTaskIndex, 41, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/select.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">选择填空</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(41, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(41) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <!-- <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="openTools(itemTaskIndex, 42, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/mp3.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">上传音频</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(42, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(42) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div> -->
-                          </div>
-                          <div class="toolSort" v-if="itemTool.toolType == 3">
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(18, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/trainPlatform.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">训练平台</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(18, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(18) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(21, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/fourthToolList/program.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">编程平台</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(21, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(21) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(22, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/fourthToolList/AIprogram2.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">AI体验</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(22, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(22) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(23, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/fourthToolList/Pythonprogram.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">Python</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(23, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(23) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(24, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/fourthToolList/AIprogram.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">AI平台</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(24, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(24) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(32, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/code.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">源码编辑</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(32, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(32) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                          </div>
-                          <div class="toolSort" v-if="itemTool.toolType == 5">
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(28, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/translation.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">翻译</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(28, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(28) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(37, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/mohe.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">魔盒识字</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(37, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(37) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(38, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/24game.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">24点</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(38, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(38) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(31, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/networkPanel.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">数学画板</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(31, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(31) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(39, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/secondToolList/GeoGebra.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">GeoGebra</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(39, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(39) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                          </div>
-                          <div class="toolSort" v-if="itemTool.toolType == 4">
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(26, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/courseDesign.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">项目设计</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(26, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(26) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(25, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/evalua.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">目标管理</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(25, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(25) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                            <div class="tool">
-                              <div
-                                class="whiteBIcon"
-                                @click="addTools(44, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/thirdToolList/hanClass.png"
-                                  alt
-                                />
-                                <div style="margin: 5px 0">汉字宫</div>
-                              </div>
-                              <div
-                                class="check"
-                                @click="addTools(44, itemTaskIndex, toolIndex)"
-                              >
-                                <img
-                                  src="../../assets/icon/checkNo.png"
-                                  alt
-                                  v-if="itemTool.tool.indexOf(44) == -1"
-                                />
-                                <img
-                                  src="../../assets/icon/checkedIs.png"
-                                  alt
-                                  v-else
-                                />
-                              </div>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                      <div
-                        class="addToolFun"
-                        @click="addToolFun(itemTaskIndex)"
-                      >
-                        <div class="addToolImg">
-                          <img src="../../assets/icon/add.png" alt />
-                        </div>
-                        <div>添加工具</div>
-                      </div>
-                    </div>
-                  </div>
-                  <div class="elist_css">
-                    <div class="elist_title">
-                      <div
-                        style="
-                          display: flex;
-                          flex-direction: row;
-                          align-items: center;
-                          margin-bottom: 20px;
-                        "
-                      >
-                        <div class="lineTitle">评价设置</div>
-                        <div class="line" style="width: 90%"></div>
-                      </div>
-                    </div>
-                    <div class="mbCss">
-                      <div class="pjCss">
-                        <div
-                          v-if="itemTask.eList && itemTask.eList.length"
-                          class="elist_input"
-                        >
-                          <div
-                            v-for="(eItem, eIndex) in itemTask.eList"
-                            :key="eIndex"
-                            class="elist_input_box"
-                          >
-                            <span>评价名称:</span>
-                            <input
-                              type="input"
-                              v-model="itemTask.eList[eIndex].value"
-                              placeholder="填写评价名称"
-                            />
-                            <span>评星等级:</span>
-                            <el-rate
-                              v-model="itemTask.eList[eIndex].score"
-                              @change="setEListStar()"
-                              disabled
-                            ></el-rate>
-                            <div
-                              class="remove"
-                              @click="
-                                deletEList(unitIndex, itemTaskIndex, eIndex)
-                              "
-                            ></div>
-                            <div class="elist_inptu_text">
-                              <span>评价描述:</span>
-                              <input
-                                type="input"
-                                v-model="itemTask.eList[eIndex].detail"
-                                placeholder="填写评价描述"
-                              />
-                            </div>
-                            <div class="elist_inptu_text" v-if="evalua">
-                              <span>目标:</span>
-                              <!-- <input type="input" v-model="itemTask.eList[eIndex].target" placeholder="填写评价描述" /> -->
-                              <el-select
-                                v-model="itemTask.eList[eIndex].target"
-                                placeholder="请选择目标"
-                                @change="forceUpdate()"
-                              >
-                                <el-option
-                                  v-for="(e, eIndex) in targetArray"
-                                  :key="eIndex"
-                                  :label="e.name"
-                                  :value="e.name"
-                                >
-                                </el-option>
-                              </el-select>
-                            </div>
-                          </div>
-                        </div>
-                        <div
-                          class="addToolFun"
-                          @click="addEList(unitIndex, itemTaskIndex)"
-                          style="margin: 35px 35px 0 0"
-                        >
-                          <div class="addToolImg">
-                            <img src="../../assets/icon/add.png" alt />
-                          </div>
-                          <div>添加</div>
-                        </div>
-                      </div>
-                      <div
-                        v-if="evalua"
-                        style="
-                          border: 1px solid #e5e5e5;
-                          width: 55%;
-                          margin-top: 20px;
-                          box-shadow: 3px 1px 15px 3px #e0e0e0;
-                        "
-                        class="evaCss"
-                      >
-                        <div class="e_add_top">
-                          <div class="e_add_title">
-                            <span>当前使用目标管理</span>
-                            <span>{{ eTitle }}</span>
-                            <img
-                              src="../../assets/lineGM.png"
-                              class="cru_line"
-                              style="
-                                width: 125px;
-                                height: 20px;
-                                bottom: -10px;
-                                left: 155px;
-                              "
-                            />
-                            <!-- <el-input
-                        v-model="eTitle"
-                        placeholder="请输入名称"
-                        @change="setMindData"
-                            ></el-input>-->
-                          </div>
-                        </div>
-                        <div class="e_add_content" style="width: 100%">
-                          <div class="e_add_list_pbox" style="width: 100%">
-                            <div class="e_add_list_pbox_title">
-                              <span class="type_title">切换模式</span>
-                              <div class="type_content">
-                                <span
-                                  :class="{ active: typeMode == 1 }"
-                                  @click="OtherMb(1)"
-                                  >目标树</span
-                                >
-                                <span
-                                  :class="{ active: typeMode == 2 }"
-                                  @click="OtherMb(2)"
-                                  >目标罗盘</span
-                                >
-                                <span
-                                  :class="{ active: typeMode == 3 }"
-                                  @click="OtherMb(3)"
-                                  >目标看板</span
-                                >
-                              </div>
-                            </div>
-                            <div class="e_add_list_pbox_content">
-                              <Mind
-                                :showBar="false"
-                                :mindData="data"
-                                style="width: 100%"
-                                :jsmindId="
-                                  unitIndex + '-' + itemTaskIndex + 'mind'
-                                "
-                                v-if="typeMode == 1"
-                              ></Mind>
-                              <Sunburst
-                                :Josn="eJson"
-                                :num="eJSONNum"
-                                style="width: 100%"
-                                v-if="typeMode == 2"
-                              >
-                              </Sunburst>
-                              <SeeBoard
-                                :Josn="eJson"
-                                :num="eJSONNum"
-                                :ename="eTitle"
-                                style="width: 100%"
-                                v-if="typeMode == 3"
-                              ></SeeBoard>
-                            </div>
-                          </div>
-                        </div>
-                      </div>
-                    </div>
-                  </div>
-                  <div class="funBlock" style="padding: 0">
-                    <div class="fold">
-                      <div @click="fold(itemTaskIndex, $event, 1)">折叠</div>
-                      <div class="arrow">
-                        <img src="../../assets/icon/fold.png" alt />
-                      </div>
-                    </div>
-                    <div class="fold">
-                      <div @click="fold(itemTaskIndex, $event, 0)">展开</div>
-                      <div class="arrow">
-                        <img src="../../assets/icon/expand.png" alt />
-                      </div>
-                    </div>
-                  </div>
-                </div>
-                <div class="addTaskBorder" @click="addTaskBorder">
-                  <div>
-                    <img src="../../assets/icon/addHw.png" alt />
-                    <span>添加任务</span>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-          <div class="rightBox" v-if="this.steps == 4">
-            <div class="basic_box_success">
-              <div class="right_img">
-                <img src="../../assets/icon/right.png" alt />
-              </div>
-              <div style="font-weight: bold">成功</div>
-              <!-- <div>您的项目编号</div>
-              <div class="number">{{ number }}</div>-->
-              <!-- <div class="success_button">
-                <div class="look_course" @click="isNoFinsh">
-                  邀请老师协同编辑
-                </div>
-                <div class="attend_others" @click="goCourse">预览项目</div>
-              </div> -->
-            </div>
-          </div>
-          <div class="info_btnBox">
-            <button
-              class="info_btn"
-              v-if="steps == 1"
-              @click="
-                goTo('/course?userid=' + userid + '&oid=' + oid + '&org=' + org)
-              "
-            >
-              返回项目
-            </button>
-            <button
-              class="info_btn"
-              v-if="steps > 1 && steps != 5"
-              @click="lastSteps"
-            >
-              {{ steps == 4 ? "返回首页" : "上一步" }}
-            </button>
-            <button class="info_btn" v-if="steps < 4" @click="nextSteps">
-              {{ steps == 3 ? "确认上传" : "下一步" }}
-            </button>
-          </div>
-        </div>
-      </div>
-    </div>
-    <el-dialog
-      title="提示"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="25%"
-      :before-close="handleClose"
-      class="dialog_diy2 customWidth"
-    >
-      <div>请复制该链接邀请协同编辑</div>
-      <div>http://www.boomyon.com/index-zhang.com</div>
-      <span slot="footer" class="dialog-footer">
-        <el-button type="primary">复制链接分享</el-button>
-        <el-button @click="dialogVisible = false">取消</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      :title="updateBoolean2 ? '查看文档' : '添加文档'"
-      :visible.sync="dialogVisible1"
-      :append-to-body="true"
-      width="25%"
-      :before-close="handleClose"
-      class="dialog_diy2 customWidth"
-    >
-      <el-form>
-        <el-form-item label="文档标题">
-          <el-input
-            v-model="tTitle"
-            auto-complete="off"
-            placeholder="请输入文档标题名..."
-          ></el-input>
-        </el-form-item>
-        <div>文档简介</div>
-        <editor-bar v-model="tdetail" @change="change"></editor-bar>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible1 = false" class="cancel_button"
-          >取 消</el-button
-        >
-        <el-button
-          type="primary"
-          @click="addWord"
-          v-if="!updateBoolean2"
-          class="confirm_button"
-          >添加</el-button
-        >
-        <el-button type="primary" @click="upWord" class="confirm_button" v-else
-          >修 改</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加文档"
-      :visible.sync="dialogVisible2"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <el-form>
-        <el-form-item label="文档标题">
-          <el-input
-            v-model="templateC.title"
-            auto-complete="off"
-            placeholder="请输入文档标题名..."
-          ></el-input>
-        </el-form-item>
-        <div>文档内容</div>
-        <editor-bar v-model="cTemplate" @change="change"></editor-bar>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="clearChoose" class="cancel_button">取 消</el-button>
-        <el-button type="primary" @click="wordNext()" class="confirm_button"
-          >确定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加富文本"
-      :visible.sync="dialogVisible6"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <el-form>
-        <el-form-item label="文本标题">
-          <el-input
-            v-model="AttText.title"
-            auto-complete="off"
-            @input="change2"
-            placeholder="请输入文本标题..."
-          ></el-input>
-        </el-form-item>
-        <div>富文本内容</div>
-        <editor-bar v-model="AttText.text" @change="change"></editor-bar>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="clearAttText" class="cancel_button">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="isAddOrUpdateAttText"
-          class="confirm_button"
-          >确定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加链接"
-      :visible.sync="dialogVisible7"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy lineCss"
-    >
-      <el-form>
-        <el-form-item label="链接" :label-width="formLabelWidth">
-          <span>
-            <el-input
-              placeholder="请输入链接"
-              clearable
-              v-model="line"
-              class="add_input"
-            ></el-input>
-          </span>
-        </el-form-item>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="clearLine" class="cancel_button">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="isAddOrUpdateLine"
-          class="confirm_button"
-          >确定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加项目成员"
-      :visible.sync="dialogVisible3"
-      :append-to-body="true"
-      width="25%"
-      height="80%"
-      :before-close="handleClose"
-      class="addNewPP customWidth"
-    >
-      <div class="people">
-        <div class="people_top">
-          <div class="people_nav">选择成员</div>
-          <div class="people_top_right">
-            <div class="people_search">
-              <el-input
-                placeholder="搜索成员"
-                v-model="searchPeople"
-              ></el-input>
-              <div class="search_img" @click="searchStudent">
-                <img src="../../assets/icon/search.png" alt />
-              </div>
-            </div>
-          </div>
-        </div>
-        <el-checkbox-group
-          v-model="checkboxList"
-          class="people_name all_choose2"
-        >
-          <el-checkbox
-            v-for="item in studentJuri"
-            :key="item.userid"
-            :label="item.userid"
-            >{{ item.name ? item.name : "暂无学生可选" }}</el-checkbox
-          >
-        </el-checkbox-group>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible3 = false" class="cancel_button"
-          >取 消</el-button
-        >
-        <el-button type="primary" @click="isAddPP" class="confirm_button"
-          >确定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加权限"
-      :visible.sync="dialogVisibleClass"
-      :append-to-body="true"
-      width="400px"
-      height="80%"
-      :before-close="handleClose"
-      class="addNewPP"
-    >
-      <div class="people" style="height: 300px">
-        <div class="people_top">
-          <div class="people_nav">选择班级</div>
-        </div>
-        <el-checkbox-group
-          v-model="checkboxList2"
-          class="people_name all_choose2"
-        >
-          <div v-for="(item, index) in grade" :key="item.id">
-            <el-checkbox :label="item.id">
-              {{ item.name ? item.name : "暂无班级可选" }}
-            </el-checkbox>
-            <div>
-              <span>{{ index }}</span>
-            </div>
-          </div>
-        </el-checkbox-group>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleClass = false" class="cancel_button"
-          >取 消</el-button
-        >
-        <el-button type="primary" @click="isAddClass" class="confirm_button"
-          >确定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加协同成员"
-      :visible.sync="dialogVisibleMember"
-      :append-to-body="true"
-      width="25%"
-      height="80%"
-      :before-close="handleClose"
-      class="addNewPP customWidth"
-    >
-      <div class="people">
-        <div class="people_top">
-          <div class="people_nav">选择成员</div>
-          <div class="people_top_right">
-            <div class="people_search">
-              <el-input
-                placeholder="搜索成员"
-                v-model="searchTN"
-                @keyup.enter.native="getTeacher"
-              ></el-input>
-              <div class="search_img" @click="getTeacher">
-                <img src="../../assets/icon/search.png" alt />
-              </div>
-            </div>
-          </div>
-        </div>
-        <el-checkbox-group
-          v-model="checkboxList3"
-          class="people_name all_choose2"
-          v-if="teacherJuri.length"
-        >
-          <el-checkbox
-            v-for="item in teacherJuri"
-            :key="item.userid"
-            :label="item.userid"
-          >
-            {{ (item.name ? item.name : "暂无姓名") + " " + item.username }}
-          </el-checkbox>
-        </el-checkbox-group>
-        <div style="text-align: center; margin-top: 10px" v-else>暂无数据</div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleMember = false" class="cancel_button"
-          >取 消</el-button
-        >
-        <el-button type="primary" @click="isAddPPTeacher" class="confirm_button"
-          >确定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="创建问卷"
-      :visible.sync="dialogVisible5"
-      :append-to-body="true"
-      width="800px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div
-          class="a_add_title"
-          style="
-            display: flex;
-            flex-direction: row;
-            align-items: center;
-            justify-content: center;
-          "
-        >
-          <div style="margin-right: 20px; font-size: 20px">标题:</div>
-          <el-input
-            v-model="askJson.askTitle"
-            placeholder="请输入标题"
-            style="width: 400px"
-          ></el-input>
-        </div>
-        <div class="a_addBox">
-          <div style="font-size: 16px; color: #c7c7c7">请输入题目内容</div>
-          <div
-            class="a_add_box"
-            v-for="(item1, index1) in askJson.askCount"
-            :key="index1"
-          >
-            <div class="a_add_head">
-              <div>
-                {{ index1 + 1 + "、" }}
-                <el-input
-                  class="a_add_head_input"
-                  v-model="askJson.askJson[index1].askstitle"
-                  placeholder="请输入题目..."
-                >
-                </el-input>
-              </div>
-              <div class="a_add_head_div">
-                <el-button
-                  type="primary"
-                  size="small"
-                  @click="addAskList()"
-                  class="confirm_button"
-                  >添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  size="small"
-                  @click="deleteAskList(index1)"
-                  v-if="askJson.askCount != 1"
-                  class="confirm_button"
-                  >删除</el-button
-                >
-              </div>
-            </div>
-            <div class="a_add_body">
-              <div class="a_add_input">
-                <el-input
-                  v-for="(item2, checkIndex) in askJson.askJson[index1].askItem"
-                  :key="checkIndex"
-                  v-model="askJson.askJson[index1].checkList[checkIndex]"
-                  placeholder="请输入选项..."
-                  style="width: 150px; margin: 10px 10px 0 0"
-                ></el-input>
-              </div>
-              <div class="a_add_body_div">
-                <el-button
-                  style="margin: 10px 0px 0 0"
-                  type="primary"
-                  size="small"
-                  @click="addcheckList(askJson.askJson[index1])"
-                  class="confirm_button"
-                  >添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  size="small"
-                  style="margin: 10px 0 0 0"
-                  @click="deletecheckList(askJson.askJson[index1])"
-                  v-if="askJson.askJson[index1].askItem != 1"
-                  class="confirm_button"
-                  >删除
-                </el-button>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible5 = false" class="cancel_button"
-          >取 消</el-button
-        >
-        <el-button type="primary" @click="addAsk" class="confirm_button"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="创建选择题"
-      :visible.sync="dialogVisibleChoice"
-      :append-to-body="true"
-      width="800px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div
-          class="a_add_title"
-          style="
-            display: flex;
-            flex-direction: row;
-            align-items: center;
-            justify-content: center;
-          "
-        >
-          <div style="margin-right: 20px; font-size: 20px">标题:</div>
-          <el-input
-            v-model="testJson.testTitle"
-            placeholder="请输入标题"
-            style="width: 400px"
-          ></el-input>
-        </div>
-        <div class="a_addBox">
-          <div style="font-size: 16px; color: #c7c7c7">请输入题目内容</div>
-          <div
-            class="a_add_box"
-            v-for="(item1, index1) in testJson.testCount"
-            :key="index1"
-          >
-            <div class="a_add_checkType">
-              <span
-                :class="{ active: testJson.testJson[index1].type == '1' }"
-                @click="checkTestType('1', testJson.testJson[index1])"
-                >单选题</span
-              >
-              <span
-                :class="{ active: testJson.testJson[index1].type == '2' }"
-                @click="checkTestType('2', testJson.testJson[index1])"
-                >多选题</span
-              >
-            </div>
-            <div class="a_add_head">
-              <div>
-                {{ index1 + 1 + "、" }}
-                <el-input
-                  class="a_add_head_input"
-                  v-model="testJson.testJson[index1].teststitle"
-                  placeholder="请输入题目..."
-                >
-                </el-input>
-              </div>
-              <div class="a_add_head_div">
-                <el-button
-                  type="primary"
-                  size="small"
-                  @click="addTestList()"
-                  class="confirm_button"
-                  >添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  size="small"
-                  @click="deleteTestList(index1)"
-                  v-if="testJson.testCount != 1"
-                  class="confirm_button"
-                  >删除</el-button
-                >
-              </div>
-            </div>
-            <div class="a_add_body">
-              <div class="a_add_input a_add_input_choice">
-                <el-radio-group
-                  v-model="testJson.testJson[index1].answer"
-                  v-if="testJson.testJson[index1].type == 1"
-                >
-                  <el-radio
-                    v-for="(item2, checkIndex) in testJson.testJson[index1]
-                      .testItem"
-                    :key="checkIndex"
-                    :label="checkIndex"
-                  >
-                    <el-input
-                      v-model="testJson.testJson[index1].checkList[checkIndex]"
-                      placeholder="请输入选项..."
-                      style="width: 300px; margin-right: 10px"
-                    ></el-input>
-                  </el-radio>
-                </el-radio-group>
-                <el-checkbox-group
-                  class="all_choose2"
-                  v-model="testJson.testJson[index1].answer"
-                  v-if="testJson.testJson[index1].type == '2'"
-                >
-                  <el-checkbox
-                    v-for="(item2, checkIndex) in testJson.testJson[index1]
-                      .testItem"
-                    :key="checkIndex"
-                    :label="checkIndex"
-                  >
-                    <el-input
-                      v-model="testJson.testJson[index1].checkList[checkIndex]"
-                      placeholder="请输入选项..."
-                      style="width: 300px; margin-right: 10px"
-                    ></el-input>
-                  </el-checkbox>
-                </el-checkbox-group>
-              </div>
-              <div class="a_add_body_div">
-                <el-button
-                  type="primary"
-                  size="small"
-                  @click="addTcheckList(testJson.testJson[index1])"
-                  class="confirm_button"
-                  >添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  size="small"
-                  @click="deleteTcheckList(testJson.testJson[index1])"
-                  v-if="testJson.testJson[index1].testItem != 1"
-                  class="confirm_button"
-                  >删除
-                </el-button>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleChoice = false" class="cancel_button"
-          >取 消</el-button
-        >
-        <el-button type="primary" @click="addTest" class="confirm_button"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加工具"
-      :visible.sync="dialogVisible4"
-      :append-to-body="true"
-      width="600px"
-      :before-close="handleClose"
-      class="dialog_diy addToolsDia"
-    >
-      <div class="toolChoose" style="padding: 0 0 0 30px">
-        <div class="tools">
-          <div
-            class="leftTools"
-            style="
-              width: 95%;
-              padding: 0 0 15px 0;
-              border-bottom: 1px solid #efefef;
-              margin-bottom: 15px;
-            "
-            v-for="(itemTools, itemToolsIndex) in chapTools"
-            :key="itemToolsIndex"
-          >
-            <div
-              style="
-                display: flex;
-                flex-direction: row;
-                align-items: baseline;
-                flex-wrap: nowrap;
-                justify-content: flex-start;
-                position: relative;
-              "
-            >
-              <div class="chooseWho">
-                <div
-                  :class="chapToolsType == 0 ? 'isChooseActive' : ''"
-                  @click="chapToolsType = 0"
-                >
-                  互动类
-                </div>
-                <div
-                  :class="chapToolsType == 1 ? 'isChooseActive' : ''"
-                  @click="chapToolsType = 1"
-                >
-                  思维类
-                </div>
-                <div
-                  :class="chapToolsType == 2 ? 'isChooseActive' : ''"
-                  @click="chapToolsType = 2"
-                >
-                  评价类
-                </div>
-                <div
-                  :class="chapToolsType == 2 ? 'isChooseActive' : ''"
-                  @click="chapToolsType = 2"
-                >
-                  其他
-                </div>
-              </div>
-            </div>
-
-            <div style="min-height: 163px">
-              <div class="toolSort" v-if="chapToolsType == 0">
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(8)">
-                    <img
-                      src="../../assets/icon/secondToolList/library.png"
-                      alt
-                    />
-                    <div style="margin: 5px 0">素材库</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(8)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(8) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-              </div>
-              <div class="toolSort" v-if="chapToolsType == 1">
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(7)">
-                    <img
-                      src="../../assets/icon/secondToolList/mindNetwork.png"
-                      alt
-                    />
-                    <div style="margin: 5px 0">思维网格</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(7)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(7) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(1)">
-                    <img
-                      src="../../assets/icon/secondToolList/whiteBoard.png"
-                      alt
-                    />
-                    <div style="margin: 5px 0">电子白板</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(1)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(1) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(2)">
-                    <img src="../../assets/icon/secondToolList/note.png" alt />
-                    <div style="margin: 5px 0">便签</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(2)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(2) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(6)">
-                    <img src="../../assets/icon/secondToolList/doc.png" alt />
-                    <div style="margin: 5px 0">协同文档</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(6)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(6) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(3)">
-                    <img
-                      src="../../assets/icon/secondToolList/mindMapping.png"
-                      alt
-                    />
-                    <div style="margin: 5px 0">思维导图</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(3)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(3) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(31)">
-                    <img
-                      src="../../assets/icon/secondToolList/networkPanel.png"
-                      alt
-                    />
-                    <div style="margin: 5px 0">数学画板</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(31)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(31) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-              </div>
-              <div class="toolSort" v-if="chapToolsType == 2">
-                <div class="tool">
-                  <div class="whiteBIcon" @click="chapAddTools(5)">
-                    <img src="../../assets/icon/thirdToolList/score.png" alt />
-                    <div style="margin: 5px 0">量规评分</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(5)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(5) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-                <div class="tool">
-                  <div
-                    class="whiteBIcon"
-                    @click="openTools(chapCount, 4, null)"
-                  >
-                    <img src="../../assets/icon/thirdToolList/ask.png" alt />
-                    <div style="margin: 5px 0">问卷调查</div>
-                  </div>
-                  <div class="check" @click="chapAddTools(4)">
-                    <img
-                      src="../../assets/icon/checkNo.png"
-                      alt
-                      v-if="itemTools.tools.indexOf(4) == -1"
-                    />
-                    <img src="../../assets/icon/checkedIs.png" alt v-else />
-                  </div>
-                </div>
-              </div>
-            </div>
-            <div>
-              <input
-                type="text"
-                placeholder="添加工具描述"
-                class="binfo_input"
-                style="margin: 20px 0; width: 71.5% !important"
-                v-model="itemTools.toolDetail"
-              />
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible4 = false" class="cancel_button"
-          >取 消</el-button
-        >
-        <el-button
-          type="primary"
-          @click="addChaptersDataTools"
-          class="confirm_button"
-          >确定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加问答"
-      :visible.sync="dialogVisible8"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div
-          class="a_add_title"
-          style="
-            display: flex;
-            flex-direction: column;
-            align-items: flex-start;
-            justify-content: center;
-          "
-        >
-          <div style="margin-bottom: 20px; font-size: 20px">问题:</div>
-          <el-input
-            v-model="answerQ"
-            placeholder="请输入您要问的问题"
-          ></el-input>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible8 = false" class="cancel_button"
-          >取 消</el-button
-        >
-        <el-button type="primary" @click="addAnswer" class="confirm_button"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加问题"
-      :visible.sync="dialogVisibleMp3"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div
-          class="a_add_title"
-          style="
-            display: flex;
-            flex-direction: column;
-            align-items: flex-start;
-            justify-content: center;
-          "
-        >
-          <div style="margin-bottom: 20px; font-size: 20px">问题:</div>
-          <el-input
-            v-model="answerQ"
-            placeholder="请输入您想要回答的问题"
-          ></el-input>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleMp3 = false" class="cancel_button"
-          >取 消</el-button
-        >
-        <el-button type="primary" @click="addMp3Answer" class="confirm_button"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="上传图片"
-      :visible.sync="choosePicVisible"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="fileCss" style="padding-top: 20px">
-          <div>
-            <button class="info_btn" @click="addImg($event)">
-              选择本地文件
-              <input
-                type="file"
-                accept="image/*"
-                style="display: none"
-                @change="beforeUpload1"
-              />
-            </button>
-          </div>
-          <div>
-            <el-button
-              @click="getAllBanner"
-              v-if="isSysPic == false && cover.length == 0"
-              >选择系统文件</el-button
-            >
-            <div class="isSysPic" v-if="isSysPic == true && cover.length > 0">
-              <img :src="cover[0].url" alt="" />
-              <div class="deletePic" @click="deleteSysPic">
-                <img src="../../assets/icon/delete.png" alt="" />
-              </div>
-            </div>
-          </div>
-        </div>
-        <div class="fileCss">
-          <div>选择本地文件</div>
-          <div>选择系统文件</div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="choosePicVisible = false" class="cancel_button"
-          >取 消</el-button
-        >
-        <el-button type="primary" @click="choosePicVisible = false"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="选择系统文件"
-      :visible.sync="sysPicVisible"
-      :append-to-body="true"
-      width="700px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div class="cru_selectBox" style="margin: 0">
-        <div
-          @click="getChoosePic(1)"
-          class="cru_select"
-          :class="chooseType == 1 ? 'cru_selected' : ''"
-        >
-          绘画
-        </div>
-        <div
-          @click="getChoosePic(2)"
-          class="cru_select"
-          :class="chooseType == 2 ? 'cru_selected' : ''"
-        >
-          科技
-        </div>
-        <div
-          @click="getChoosePic(3)"
-          class="cru_select"
-          :class="chooseType == 3 ? 'cru_selected' : ''"
-        >
-          人文
-        </div>
-        <div
-          @click="getChoosePic(4)"
-          class="cru_select"
-          :class="chooseType == 4 ? 'cru_selected' : ''"
-        >
-          艺术
-        </div>
-      </div>
-      <div class="sysPicBox">
-        <div v-for="(sys, sysIndex) in sysPic" :key="sysIndex" class="sysPic">
-          <img :src="sys.poster" alt="" @click="chooseSysPic(sys.poster)" />
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="sysPicVisible = false" class="cancel_button"
-          >取 消</el-button
-        >
-        <el-button type="primary" class="confirm_button">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="选择填空"
-      :visible.sync="dialogVisibleSelect"
-      :append-to-body="true"
-      width="800px"
-      :before-close="handleClose"
-      class="dialog_diy dialog_diy3"
-    >
-      <div v-if="selectJson">
-        <div class="select_box1" v-if="selectSteps == 1">
-          <div class="select_box1_img">
-            <div class="select_box1_title">
-              <span>上传题目图片</span
-              ><span>提示:请将题目以图片的方式上传</span>
-            </div>
-            <div class="select_box1_add_img">
-              <div
-                class="uploadFm"
-                @click="addImg($event)"
-                v-if="!selectJson.url"
-              >
-                <input
-                  type="file"
-                  accept="image/*"
-                  style="display: none"
-                  @change="beforeUploadSelect"
-                />
-                <img src="../../assets/icon/addPoster.png" alt="" />
-              </div>
-              <div class="isSysPic" v-else>
-                <img :src="selectJson.url" alt="" />
-                <div class="deletePic" @click="deleteSelectPic">
-                  <img src="../../assets/icon/delete.png" alt="" />
-                </div>
-              </div>
-            </div>
-          </div>
-          <div class="select_box1_select">
-            <div class="select_box1_title">
-              <span>添加选项</span><span>提示:请输入题目选项</span>
-            </div>
-            <div class="select_box1_select_box">
-              <el-input
-                v-for="(item2, checkIndex) in selectJson.select"
-                :key="checkIndex"
-                v-model="selectJson.select[checkIndex]"
-                placeholder="请输入选项..."
-                style="width: 150px; margin: 10px 10px 0 0"
-              ></el-input>
-              <div class="select_box1_select_box_add">
-                <el-button
-                  style="margin: 10px 0px 0 0"
-                  type="primary"
-                  size="small"
-                  @click="addSelectList(selectJson)"
-                  class="confirm_button"
-                >
-                  添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  size="small"
-                  style="margin: 10px 0 0 0"
-                  @click="deleteSelectList(selectJson)"
-                  v-if="selectJson.select && selectJson.select.length > 0"
-                  class="confirm_button"
-                  >删除</el-button
-                >
-              </div>
-            </div>
-          </div>
-        </div>
-        <div v-if="selectSteps == 2">
-          <div class="select_box2">
-            <div class="select_box2_title">设置答案</div>
-            <div class="select_box2_box">
-              <div class="select_box2_img">
-                <img :src="selectJson.url" alt="" />
-              </div>
-              <div class="select_box2_answer">
-                <div class="select_answer_title">根据题目选择对应答案</div>
-                <div
-                  class="select_box2_answer_box"
-                  v-for="(item2, checkIndex) in selectJson.select"
-                  :key="checkIndex"
-                >
-                  <span>{{ checkIndex + 1 }}、</span>
-                  <el-select
-                    v-model="selectJson.answer[checkIndex]"
-                    placeholder="请选择正确答案"
-                  >
-                    <el-option
-                      v-for="(e, eIndex) in selectJson.select"
-                      :key="eIndex"
-                      :label="e"
-                      :value="eIndex"
-                    >
-                    </el-option>
-                  </el-select>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button
-          type="primary"
-          @click="nextSelectSteps()"
-          v-if="selectSteps == 1"
-          class="confirm_button"
-          >下一步</el-button
-        >
-        <el-button @click="selectSteps--" v-if="selectSteps == 2"
-          >上一步</el-button
-        >
-        <el-button
-          type="primary"
-          @click="addSelectAnswer"
-          v-if="selectSteps == 2"
-          class="confirm_button"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加评价"
-      :visible.sync="dialogVisibleRate"
-      :append-to-body="true"
-      width="650px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div style="background: #fff; padding: 15px; box-sizing: border-box">
-        <div style="font-size: 18px; color: #a9a9a9">请输入学生评价指标:</div>
-        <div class="pjCss" style="width: 100%">
-          <div
-            v-if="rateJson.length"
-            class="elist_input"
-            style="height: 360px; overflow: auto"
-          >
-            <div
-              v-for="(eItem, eIndex) in rateJson"
-              :key="eIndex"
-              class="elist_input_box"
-            >
-              <span style="min-width: 100px; text-align: right"
-                >学生评价指标:</span
-              >
-              <input
-                type="input"
-                v-model="eItem.value"
-                placeholder="填写评价名称"
-              />
-              <div class="remove" @click="deletRateList(eIndex)"></div>
-              <div style="width: 100%; display: flex">
-                <span style="min-width: 100px; text-align: right"
-                  >评星等级:</span
-                >
-                <el-rate v-model="eItem.score" disabled></el-rate>
-              </div>
-              <div class="elist_inptu_text" style="align-items: flex-start">
-                <span style="min-width: 100px; text-align: right">描述:</span>
-                <textarea
-                  class="rate_textarea"
-                  :rows="3"
-                  v-model="eItem.detail"
-                  placeholder="填写评价描述"
-                ></textarea>
-              </div>
-            </div>
-          </div>
-          <div class="addToolFun" @click="addRateList()">
-            <div class="addToolImg">
-              <img src="../../assets/icon/add.png" alt />
-            </div>
-            <div>添加</div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleRate = false" class="cancel_button"
-          >取 消</el-button
-        >
-        <el-button type="primary" @click="addRateAnswer" class="confirm_button"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import "../../common/aws-sdk-2.235.1.min.js";
-import $ from "jquery";
-import EditorBar from "../../components/tools/wangEnduit";
-import Mind from "../tools/jsmind2";
-import Sunburst from "../tools/sunburst";
-import SeeBoard from "../tools/seeBoard";
-export default {
-  components: { EditorBar, Mind, Sunburst, SeeBoard },
-  data() {
-    return {
-      checkAll: false,
-      chooseType: 1,
-      checkedCities: [],
-      isIndeterminate: true,
-      isSysPic: false,
-      steps: 1,
-      nbOrder: 0,
-      courseId: "",
-      chapToolsType: 0,
-      chapTools: [
-        {
-          tools: [],
-          toolDetail: "",
-        },
-      ],
-      line: "",
-      sysPic: [],
-      lineCount: 0,
-      lineType: 0,
-      chapCount: 0,
-      courseName: "",
-      isTeacherSee: true,
-      courseText: "",
-      formLabelWidth: "100px",
-      choosePicVisible: false,
-      sysPicVisible: false,
-      uploadLoading1: false,
-      noneBtnImg: false,
-      updateBoolean2: false,
-      unitIndex: 0,
-      taskCount: 0,
-      dialogVisible: false,
-      dialogVisible1: false,
-      dialogVisible2: false,
-      dialogVisible3: false,
-      dialogVisible4: false,
-      dialogVisible5: false,
-      dialogVisible6: false,
-      dialogVisible7: false,
-      dialogVisible8: false,
-      dialogVisible9: false,
-      dialogVisibleClass: false,
-      dialogVisibleMember: false,
-      dialogVisibleMp3: false,
-      dialogVisibleSelect: false,
-      dialogVisibleRate: false,
-      dialogVisibleChoice: false,
-      publicTool: 0,
-      searchPeople: "",
-      searchTN: "",
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-      org: this.$route.query.org,
-      cid: this.$route.query.cid != undefined ? this.$route.query.cid : "",
-      cover: [], //项目封面
-      myWord: [],
-      evaJuri: [],
-      evalua: "",
-      targetArray: [],
-      eTitle: "",
-      eJson: {},
-      fid: "", //一级
-      sid: "", //二级
-      tid: "", //二级
-      typeMode: 1,
-      eJSONNum: 0,
-      data: {
-        meta: {
-          name: "example",
-          author: "dd@163.com",
-          version: "0.2",
-        },
-        format: "node_array",
-        data: [{ id: "root", isroot: true, topic: "" }],
-      },
-      askJson: {
-        askCount: 1,
-        askTitle: "",
-        askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-      },
-      testJson: {},
-      selectJson: {},
-      rateJson: [],
-      unitJson2: [],
-      unitJson: [
-        {
-          dyName: "", //单元标题
-          chapterInfo: [
-            {
-              isread: false,
-              chapterid: this.guid(),
-              title: "",
-              courseName: "",
-              taskJson: [
-                {
-                  task: "",
-                  taskDetail: "",
-                  chapterData: [],
-                  toolText: "",
-                  toolChoose: [
-                    {
-                      tool: [],
-                      toolDetail: "",
-                      toolType: 0,
-                      askCount: 1,
-                      askTitle: "",
-                      askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-                    },
-                  ],
-                  isShowTools: false,
-                  askCount: 1,
-                  isFold: 0,
-                  askTitle: "",
-                  askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-                  checkJson: [{ checkCount: [], checkPerent: [] }],
-                  homeworkList: [],
-                },
-              ],
-              itemCount: 1,
-              fileList1: [],
-              video: [],
-              testData: [],
-              pData: [],
-              templateArray: [],
-            },
-          ],
-        },
-      ],
-      studentJuri: [],
-      teacherJuri: [],
-      checkboxList: [],
-      checkboxList2: [],
-      checkboxList3: [],
-      number: "",
-      tTitle: "",
-      tdetail: "",
-      templateC: {},
-      AttText: {},
-      AttTextType: 0,
-      AttTextIndex: 0,
-      cTemplate: "",
-      CourseType: [],
-      CourseTypeJson: {},
-      courseTypeId: [],
-      courseTypeSon: [],
-      clearArray: [],
-      loading: false,
-      toolType: 0,
-      inputShow: true,
-      toolIndex: 0,
-      cidType: 0,
-      answerQ: "",
-      grade: [],
-      courseUserid: "",
-      timer: null,
-      checkId: "",
-      isDelete: 1,
-      addindex: 0,
-      selectSteps: 1,
-    };
-  },
-  computed: {
-    rightBoxHeight: function () {
-      return $(".rightBox")[0] ? $(".rightBox")[0].scrollHeight : 100;
-    },
-    offsetLetfPx: function () {
-      //addnum可以直接在模板语法里面用,相当于data内的值
-      return (
-        $(".cru_select")[this.unitIndex] &&
-        $(".cru_select")[this.unitIndex].offsetLeft
-      );
-    },
-  },
-  watch: {
-    unitIndex(newValue, oldValue) {
-      if (this.isDelete == 2) {
-        this.isDelete = 1;
-        return;
-      }
-      if (this.cid != "") {
-        let _unitIndex = oldValue;
-        if (
-          JSON.stringify(this.unitJson2[_unitIndex]) ==
-          JSON.stringify(this.unitJson[_unitIndex])
-        ) {
-          this.$refs.rightboxR.scrollTop = 0;
-          return;
-        }
-        let cPan = 1;
-        for (
-          var j = 0;
-          j < this.unitJson[_unitIndex].chapterInfo[0].taskJson.length;
-          j++
-        ) {
-          if (
-            this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].toolChoose
-              .length > 1
-          ) {
-            for (
-              var z = 0;
-              z <
-              this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].toolChoose
-                .length;
-              z++
-            ) {
-              if (
-                !this.unitJson[_unitIndex].chapterInfo[0].taskJson[j]
-                  .toolChoose[z].tool.length
-              ) {
-                this.$message.error("请把工具添加完整");
-                cPan = 2;
-                break;
-              }
-            }
-          }
-          if (this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].eList) {
-            this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].eList =
-              this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].eList.filter(
-                (ele) => {
-                  return ele.value != "";
-                }
-              );
-          }
-        }
-        if (cPan == 2) {
-          this.unitIndex = oldValue;
-          return;
-        }
-        for (var i = 0; i < this.unitJson.length; i++) {
-          if (this.addindex != i) {
-            delete this.unitJson[i].isUpdate;
-          }
-        }
-        this.$refs.rightboxR.scrollTop = 0;
-        this.addindex = -1;
-        let params = [
-          {
-            cid: this.cid,
-            chapters: JSON.stringify(this.unitJson),
-            uid: this.userid,
-            unitIndex: _unitIndex,
-          },
-        ];
-        this.ajax
-          .post(this.$store.state.api + "updateWorkNew4", params)
-          .then((res) => {
-            // this.$message({
-            //   message: "修改成功",
-            //   type: "success",
-            // });
-            // this.courseId = this.cid;
-          })
-          .catch((err) => {
-            this.$message.error("网络不佳");
-            console.error(err);
-          });
-      }
-    },
-  },
-  methods: {
-    handleCheckAllChange(val) {
-      this.checkedCities = val ? cityOptions : [];
-      this.isIndeterminate = false;
-    },
-    handleCheckedCitiesChange(value) {
-      let checkedCount = value.length;
-      this.checkAll = checkedCount === this.cities.length;
-      this.isIndeterminate =
-        checkedCount > 0 && checkedCount < this.cities.length;
-    },
-    addHw(e) {
-      var el = e.currentTarget;
-      el.getElementsByTagName("input")[0].click();
-    },
-    change(val) {
-      console.log(val);
-    },
-    change2(val) {
-      console.log(val);
-      this.$forceUpdate();
-    },
-    handleClose(done) {
-      done();
-    },
-
-    imgChange1(file, fileList, type, itemTaskIndex) {
-      if (type == 1) {
-        var _tmp = this.cover;
-      } else if (
-        type == 2 ||
-        type == 3 ||
-        type == 6 ||
-        type == 7 ||
-        type == 8
-      ) {
-        var _tmp =
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .chapterData;
-      } else if (type == 4) {
-        var _tmp = this.unitJson[this.unitIndex].chapterInfo[0].fileList1;
-      } else {
-        var _tmp =
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .homeworkList;
-      }
-      this.noneBtnImg = _tmp.length >= 1;
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    guid() {
-      var _num,
-        i,
-        _guid = "";
-      for (i = 0; i < 32; i++) {
-        _guid += Math.floor(Math.random() * 16).toString(16); //随机0  - 16 的数字 转变为16进制的字符串
-        _num = Math.floor((i - 7) / 4); //计算 (i-7)除4
-        if (_num > -1 && _num < 4 && i == 7 + 4 * _num) {
-          //会使guid中间加 "-"   形式为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-          _guid += "-";
-        }
-      }
-      return _guid;
-    },
-    lastSteps() {
-      if (this.steps == 4) {
-        this.goTo(
-          "/course?userid=" +
-            this.userid +
-            "&oid=" +
-            this.oid +
-            "&org=" +
-            this.org
-        );
-      } else {
-        if (this.cidType == 0) {
-          this.steps--;
-          if (this.steps == 1) {
-            setTimeout(() => {
-              this.checkEva(this.checkId);
-            }, 0);
-          }
-        } else {
-          if (this.steps == 3) {
-            this.steps = 1;
-            setTimeout(() => {
-              this.checkEva(this.checkId);
-            }, 0);
-          }
-        }
-      }
-    },
-    navSteps(s) {
-      if (this.courseName == "") {
-        this.$message.error("请将信息填写完整");
-        return;
-      }
-      if (this.cidType == 0) {
-        if (this.steps == 1) {
-          if (this.cid == "" || this.cid == undefined) {
-            this.addWork();
-          } else {
-            if (this.userid != this.courseUserid) {
-              // this.updateWork2();
-            } else {
-              this.updateWork();
-            }
-          }
-        }
-        if (s == 1) {
-          this.steps = 1;
-          setTimeout(() => {
-            this.checkEva(this.checkId);
-          }, 0);
-        }
-        if (s == 2) {
-          this.steps = 2;
-        }
-        if (s == 3) {
-          this.cTemplate = this.templateC.content;
-          this.dialogVisible2 = false;
-          this.steps = 3;
-          setTimeout(() => {
-            this.checkEva(this.checkId);
-          }, 1000);
-        }
-      } else {
-        if (this.steps == 1) {
-          if (this.cid == "" || this.cid == undefined) {
-            this.addWork();
-          } else {
-            if (this.userid != this.courseUserid) {
-              // this.updateWork2();
-            } else {
-              this.updateWork();
-            }
-          }
-        }
-        if (s == 1) {
-          this.steps = 1;
-          setTimeout(() => {
-            this.checkEva(this.checkId);
-          }, 0);
-        }
-        if (s == 3) {
-          this.cTemplate = this.templateC.content;
-          this.dialogVisible2 = false;
-          this.steps = 3;
-          setTimeout(() => {
-            this.checkEva(this.checkId);
-          }, 1000);
-        }
-      }
-      this.$refs.stepBox.scrollTop = 0;
-    },
-    nextSteps() {
-      if (this.cidType == 1) {
-        if (this.steps == 1) {
-          if (this.courseName != "") {
-            this.steps = 3;
-            setTimeout(() => {
-              this.checkEva(this.checkId);
-            }, 1000);
-            if (this.cid == "" || this.cid == undefined) {
-              this.addWork();
-            } else {
-              if (this.userid != this.courseUserid) {
-                // this.updateWork2();
-              } else {
-                this.updateWork();
-              }
-            }
-          } else {
-            this.$message.error("请将信息填写完整");
-            return;
-          }
-        } else if (this.steps == 3) {
-          if (this.cid == "" || this.cid == undefined) {
-            if (this.courseName == "") {
-              this.$message.error("请将信息填写完整");
-              return;
-            } else {
-              this.addWork();
-              this.steps++;
-            }
-          } else {
-            if (this.courseName == "") {
-              this.$message.error("请将信息填写完整");
-              return;
-            } else {
-              if (this.userid != this.courseUserid) {
-                this.updateWork2();
-              } else {
-                this.updateWork();
-              }
-              this.steps++;
-            }
-          }
-        }
-      } else {
-        if (this.steps == 1) {
-          if (this.courseName != "") {
-            if (this.cid == "" || this.cid == undefined) {
-              this.addWork();
-            } else {
-              if (this.userid != this.courseUserid) {
-                // this.updateWork2();
-              } else {
-                this.updateWork();
-              }
-            }
-            this.steps++;
-          } else {
-            this.$message.error("请将信息填写完整");
-            return;
-          }
-        } else if (this.steps == 2) {
-          if (this.templateC.id != "" || this.templateC.id != undefined) {
-            this.cTemplate = this.templateC.content;
-          }
-          this.dialogVisible2 = false;
-          this.steps++;
-          setTimeout(() => {
-            this.checkEva(this.checkId);
-          }, 1000);
-        } else if (this.steps == 3) {
-          if (this.cid == "" || this.cid == undefined) {
-            if (this.courseName == "") {
-              this.$message.error("请将信息填写完整");
-              return;
-            } else {
-              this.addWork();
-              this.steps++;
-            }
-          } else {
-            if (this.courseName == "") {
-              this.$message.error("请将信息填写完整");
-              return;
-            } else {
-              if (this.userid != this.courseUserid) {
-                this.updateWork2();
-              } else {
-                this.updateWork();
-              }
-              this.steps++;
-            }
-          }
-        }
-      }
-      this.$refs.stepBox.scrollTop = 0;
-    },
-    unitSet(i) {
-      this.unitIndex = i;
-      // this.$refs.rightboxR.scrollTop = 0;
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    deleteUnit(i) {
-      var _this = this;
-      if (_this.time()) {
-        _this
-          .$confirm("确定删除此单元吗?", "提示", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning",
-          })
-          .then(() => {
-            _this.isDelete = 2;
-            // _this.unitIndex = _this.unitIndex - 1;
-            _this.deleteWork(_this.unitJson[i].chapterInfo[0].chapterid);
-            // _this.$message.success("删除成功");
-          })
-          .catch(() => {
-            return;
-          });
-      }
-    },
-    deleteWork(chapid) {
-      let params = [
-        {
-          cid: this.cid,
-          chapters: JSON.stringify(this.unitJson),
-          uid: this.userid,
-          chapid: chapid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "deleteWork", params)
-        .then((res) => {
-          this.$message({
-            message: "删除成功",
-            type: "success",
-          });
-          this.unitJson.splice(this.unitIndex, 1);
-          this.unitIndex = this.unitIndex - 1;
-        })
-        .catch((err) => {
-          this.$message.error("网络不佳");
-          console.error(err);
-        });
-    },
-    deleteTool(itemTaskIndex, i) {
-      var _this = this;
-      if (_this.time()) {
-        _this
-          .$confirm("确定删除此工具吗?", "提示", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning",
-          })
-          .then(() => {
-            _this.unitJson[_this.unitIndex].chapterInfo[0].taskJson[
-              itemTaskIndex
-            ].toolChoose.splice(i, 1);
-            _this.$message.success("删除成功");
-          })
-          .catch(() => {
-            return;
-          });
-      }
-    },
-    openT() {
-      window.parent.postMessage({ tools: "25" }, "*");
-    },
-    deleteTask(i) {
-      var _this = this;
-      if (_this.time()) {
-        _this
-          .$confirm("确定删除此任务吗?", "提示", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning",
-          })
-          .then(() => {
-            _this.unitJson[_this.unitIndex].chapterInfo[0].taskJson.splice(
-              i,
-              1
-            );
-            _this.$message.success("删除成功");
-          })
-          .catch(() => {
-            return;
-          });
-      }
-    },
-    handlePictureCardPreview(file) {
-      this.dialogImageUrl = file.url;
-    },
-    clean(i, c) {
-      this.unitJson[this.unitIndex].chapterInfo[i].fileList1.splice(c, 1);
-    },
-    handle_remove1(file, fileList, type) {
-      var _tmp = this.cover;
-      for (var i = 0, len = _tmp.length; i < len; i++) {
-        if (_tmp[i].uid == file.uid) {
-          _tmp.splice(i, 1);
-          break;
-        }
-        this.cover = _tmp;
-      }
-      this.noneBtnImg = _tmp.length >= 1;
-      this.isSysPic = false;
-    },
-    addImg(e) {
-      var el = e.currentTarget;
-      el.getElementsByTagName("input")[0].click();
-    },
-    addChaptersTools(i) {
-      this.chapTools = [
-        {
-          tools: [],
-          toolDetail: "",
-        },
-      ];
-      this.chapCount = i;
-      this.dialogVisible4 = true;
-    },
-    isNoFinsh() {
-      this.$message.warning("功能正在开发中");
-    },
-    addAttText(i) {
-      this.AttText = {
-        title: "",
-        text: "",
-      };
-      this.taskCount = i;
-      this.AttTextType = 0;
-      this.$forceUpdate();
-      this.dialogVisible6 = true;
-    },
-    openLine(i) {
-      this.line = "";
-      this.lineCount = i;
-      this.lineType = 0;
-      this.$forceUpdate();
-      this.dialogVisible7 = true;
-    },
-    beforeUpload1(event, type) {
-      const loading = this.openLoading();
-      var file = event.target.files[0];
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length - 1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-          })
-          .send(function (err, data) {
-            loading.close();
-            if (err) {
-              var a = _this.$refs.upload1.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              _this.cover.push({
-                name: file.name,
-                url: data.Location,
-                uid: file.uid,
-              });
-              _this.imgChange1(null, null, 1, null);
-              _this.choosePicVisible = false;
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    beforeUploadSelect(event, type) {
-      const loading = this.openLoading();
-      var file = event.target.files[0];
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length - 1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-          })
-          .send(function (err, data) {
-            loading.close();
-            if (err) {
-              _this.$message.error("上传失败");
-            } else {
-              _this.selectJson.url = data.Location;
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    chooseSysPic(p) {
-      this.cover.push({
-        name: "系统图片.png",
-        url: p,
-      });
-      this.imgChange1(null, null, 1, null);
-      this.isSysPic = true;
-      this.sysPicVisible = false;
-    },
-    beforeUpload(data) {
-      this.$refs.upload1.uploadFiles;
-      this.uploadLoading1 = true;
-      var file = data.file;
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length - 1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-          })
-          .send(function (err, data) {
-            _this.uploadLoading1 = false;
-            if (err) {
-              var a = _this.$refs.upload1.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              //上传成功处理
-              _this.unitJson[_this.unitIndex].chapterInfo[0].fileList1.push({
-                name: file.name,
-                url: data.Location,
-                uid: file.uid,
-              });
-              _this.imgChange();
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    onExceed() {
-      this.$message.error("项目封面仅支持上传一张,请删除后再进行上传");
-    },
-    beforeUpload2(event, unitIndex, type, itemTaskIndex) {
-      // const loading = this.openLoading();
-      var file = event.target.files[0];
-      this.inputShow = false;
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-      if (type == 3) {
-        var b = [
-          "DOC",
-          "DOCX",
-          "DOCM",
-          "DOTM",
-          "DOTX",
-          "PPTX",
-          "PPSX",
-          "PPT",
-          "PPS",
-          "PPTM",
-          "POTM",
-          "PPAM",
-          "POTX",
-          "PPSM",
-        ];
-        if (
-          b.indexOf(
-            file.name
-              .split(".")
-              [file.name.split(".").length - 1].toLocaleUpperCase()
-          ) != -1
-        ) {
-          if (file.size / 1024 / 1024 > 10) {
-            this.$message.error("上传文件大于10兆,请重新选择文件!");
-            var a = _this.$refs.upload1.uploadFiles;
-            a.splice(a.length - 1, a.length);
-            // loading.close();
-            return;
-          }
-        } else if (
-          file.name
-            .split(".")
-            [file.name.split(".").length - 1].toLocaleUpperCase() != "PDF"
-        ) {
-          if (file.size / 1024 / 1024 > 5) {
-            this.$message.error("添加成上传文件大于5兆,请重新选择文件!");
-            var a = _this.$refs.upload1.uploadFiles;
-            a.splice(a.length - 1, a.length);
-            // loading.close();
-            return;
-          }
-        }
-      }
-
-      _this.unitJson[unitIndex].chapterInfo[0].taskJson[
-        itemTaskIndex
-      ].progress = 0;
-      _this.unitJson[unitIndex].chapterInfo[0].taskJson[
-        itemTaskIndex
-      ].proVisible = true;
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length - 1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-            _this.unitJson[unitIndex].chapterInfo[0].taskJson[
-              itemTaskIndex
-            ].progress = parseInt((evt.loaded * 80) / evt.total);
-          })
-          .send(function (err, data) {
-            // loading.close();
-            _this.unitJson[unitIndex].chapterInfo[0].taskJson[
-              itemTaskIndex
-            ].progress = 100;
-            setTimeout(() => {
-              _this.unitJson[unitIndex].chapterInfo[0].taskJson[
-                itemTaskIndex
-              ].proVisible = false;
-              _this.$forceUpdate();
-            }, 1000);
-            _this.inputShow = true;
-            if (err) {
-              var a = _this.$refs.upload1.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              if (type == 2 || type == 3) {
-                _this.unitJson[unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].chapterData.push({
-                  name: file.name,
-                  url: data.Location,
-                  uid: file.uid,
-                  type: type,
-                });
-                _this.imgChange1(null, null, type, itemTaskIndex);
-              } else if (type == 4) {
-                _this.unitJson[_this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].fileList1.push({
-                  name: file.name,
-                  url: data.Location,
-                  uid: file.uid,
-                });
-                _this.imgChange1(null, null, type, itemTaskIndex);
-              } else if (type == 5) {
-                _this.unitJson[_this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].homeworkList.push({
-                  name: file.name,
-                  url: data.Location,
-                  uid: file.uid,
-                });
-                _this.imgChange1(null, null, type, itemTaskIndex);
-              }
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    addunit() {
-      this.unitJson.push({
-        dyName: "", //单元标题
-        isUpdate: 1,
-        chapterInfo: [
-          {
-            isread: false,
-            chapterid: this.guid(),
-            title: "",
-            courseName: "",
-            taskJson: [
-              {
-                task: "",
-                taskDetail: "",
-                chapterData: [],
-                toolText: "",
-                toolChoose: [
-                  {
-                    tool: [],
-                    toolDetail: "",
-                    toolType: 0,
-                    askCount: 1,
-                    askTitle: "",
-                    askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-                  },
-                ],
-                isShowTools: false,
-                askCount: 1,
-                isFold: 0,
-                askTitle: "",
-                askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-                checkJson: [{ checkCount: [], checkPerent: [] }],
-                homeworkList: [],
-              },
-            ],
-            itemCount: 1,
-            fileList1: [],
-            video: [],
-            testData: [],
-            pData: [],
-            templateArray: [],
-          },
-        ],
-      });
-      this.addindex = this.unitJson.length - 1;
-      setTimeout(() => {
-        this.unitIndex = this.unitJson.length - 1;
-        this.unitSet(this.unitIndex);
-      }, 0);
-    },
-    addToolFun(itemTaskIndex) {
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        itemTaskIndex
-      ].toolChoose.push({
-        tool: [],
-        toolDetail: "",
-        toolType: 0,
-        askCount: 1,
-        askTitle: "",
-        askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-      });
-    },
-    addTaskBorder() {
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson.push({
-        task: "",
-        taskDetail: "",
-        chapterData: [],
-        toolText: "",
-        toolChoose: [
-          {
-            tool: [],
-            toolDetail: "",
-            toolType: 0,
-            askCount: 1,
-            askTitle: "",
-            askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-          },
-        ],
-        isShowTools: false,
-        askCount: 1,
-        isFold: 0,
-        askTitle: "",
-        askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-        checkJson: [{ checkCount: [], checkPerent: [] }],
-        homeworkList: [],
-      });
-      setTimeout(() => {
-        this.checkEva(this.checkId);
-      }, 0);
-    },
-    add(e, i) {
-      var el = e.currentTarget;
-      el.getElementsByTagName("input")[0].click();
-    },
-    fold(i, e, type) {
-      var a = e.path[3];
-      var b = e.path[2];
-      if (type == 1) {
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isFold = 1;
-        a.className += " smallTaskBorder";
-        b.className += " funBlockTop";
-      } else {
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isFold = 0;
-        a.className = "taskBorder";
-        b.className = "funBlock";
-      }
-      console.log(e);
-    },
-    deleteHomeworkBox(unitIndex, index, i) {
-      this.unitJson[unitIndex].chapterInfo[index].taskJson[
-        this.taskCount
-      ].homeworkList.splice(i, 1);
-    },
-    getStudent() {
-      let params = {
-        oid: this.oid,
-        cu: "",
-        cn: this.searchPeople,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectStudentAdd", params)
-        .then((res) => {
-          this.studentJuri = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    getTeacher() {
-      let params = {
-        oid: this.oid,
-        cu: "",
-        cn: this.searchTN,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectTeacherAdd", params)
-        .then((res) => {
-          let teacherJuri = res.data[0];
-          for (var i = 0; i < teacherJuri.length; i++) {
-            if (teacherJuri[i].userid == this.userid) {
-              teacherJuri.splice(i, 1);
-              break;
-            }
-          }
-          this.teacherJuri = teacherJuri;
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    searchStudent() {
-      this.getStudent();
-    },
-    //获取班级列表
-    getClass() {
-      let params = {
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectClassBySchool", params)
-        .then((res) => {
-          this.grade = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    getChapterData(e, i, j, ic, type) {
-      e.stopPropagation();
-      this.updataC = true;
-      this.icc = ic;
-      if ((type == 2 || type == 3) && e.target.tagName !== "INPUT") {
-        console.log("还不能下载图片喔");
-      }
-    },
-    deleteChapterData(e, i, j, ic, taskI) {
-      e.stopPropagation();
-      this.unitJson[i].chapterInfo[j].taskJson[taskI].chapterData.splice(ic, 1);
-    },
-    updataVideoT(e, i, j, ic) {
-      e.stopPropagation();
-      this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-        ic
-      ].name = e.target.value;
-    },
-    upCd(e, i, j, ic) {
-      e.stopPropagation();
-      if (ic == 0) {
-        return;
-      }
-      var a =
-        this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-          ic - 1
-        ];
-      this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-        ic - 1
-      ] =
-        this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-          ic
-        ];
-      this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[ic] =
-        a;
-    },
-    downCd(e, i, j, ic) {
-      e.stopPropagation();
-      if (ic == this.unitJson[i].chapterInfo[j].chapterData.length - 1) {
-        return;
-      }
-      var a =
-        this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-          ic + 1
-        ];
-      this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-        ic + 1
-      ] =
-        this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[
-          ic
-        ];
-      this.unitJson[i].chapterInfo[j].taskJson[this.taskCount].chapterData[ic] =
-        a;
-    },
-    addWork() {
-      let cPan = 1;
-      for (var i = 0; i < this.unitJson.length; i++) {
-        for (
-          var j = 0;
-          j < this.unitJson[i].chapterInfo[0].taskJson.length;
-          j++
-        ) {
-          if (
-            this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose.length > 1
-          ) {
-            for (
-              var z = 0;
-              z < this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose.length;
-              z++
-            ) {
-              if (
-                !this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[z].tool
-                  .length
-              ) {
-                this.$message.error("请把工具添加完整");
-                cPan = 2;
-                break;
-              }
-            }
-          }
-          if (this.unitJson[i].chapterInfo[0].taskJson[j].eList) {
-            this.unitJson[i].chapterInfo[0].taskJson[j].eList = this.unitJson[
-              i
-            ].chapterInfo[0].taskJson[j].eList.filter((ele) => {
-              return ele.value != "";
-            });
-          }
-        }
-      }
-
-      if (cPan == 2) {
-        this.steps--;
-        return;
-      }
-      for (var i = 0; i < this.unitJson.length; i++) {
-        delete this.unitJson[i].isUpdate;
-      }
-      let params = [
-        {
-          uid: this.userid,
-          title: this.courseName.replace(/%/g, "%25"),
-          brief: this.courseText.replace(/%/g, "%25"),
-          cover:
-            this.cover.length > 0
-              ? JSON.stringify(this.cover)
-              : JSON.stringify([
-                  {
-                    name: "noBanner.jpg",
-                    url: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/noBanner1656409780264.jpg",
-                    uid: 1656409780264,
-                    status: "success",
-                  },
-                ]),
-          evaId: this.evalua,
-          astudent:
-            this.checkboxList2.length > 0 ? this.checkboxList2.join(",") : "",
-          see: this.isTeacherSee == true ? 1 : 0,
-          chapters: JSON.stringify(this.unitJson).replaceAll(/%/g, "%25"),
-          template: this.cTemplate != "undefined" ? this.cTemplate : "",
-          courseType: JSON.stringify(this.courseTypeId),
-          ateacher:
-            this.checkboxList3.length > 0 ? this.checkboxList3.join(",") : "",
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "addWorkNew2", params)
-        .then((res) => {
-          console.log(this.steps);
-          if (this.steps != 1 && this.steps != 2 && this.steps != 3) {
-            this.$message({
-              message: "新增成功",
-              type: "success",
-            });
-          }
-          this.number = res.data.ordernumber;
-          this.courseId = res.data.courseId;
-          this.cid = res.data.courseId;
-          this.courseUserid = this.userid;
-          this.islogin = true;
-        })
-        .catch((err) => {
-          this.$message.error("网络不佳");
-          console.error(err);
-        });
-    },
-    goCourse() {
-      window.parent.postMessage({ cid: this.courseId, type: "1" }, "*");
-    },
-    updateWork2() {
-      let _unitIndex = this.unitIndex;
-      let cPan = 1;
-      for (
-        var j = 0;
-        j < this.unitJson[_unitIndex].chapterInfo[0].taskJson.length;
-        j++
-      ) {
-        if (
-          this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].toolChoose
-            .length > 1
-        ) {
-          for (
-            var z = 0;
-            z <
-            this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].toolChoose
-              .length;
-            z++
-          ) {
-            if (
-              !this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].toolChoose[
-                z
-              ].tool.length
-            ) {
-              this.$message.error("请把工具添加完整");
-              cPan = 2;
-              break;
-            }
-          }
-        }
-        if (this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].eList) {
-          this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].eList =
-            this.unitJson[_unitIndex].chapterInfo[0].taskJson[j].eList.filter(
-              (ele) => {
-                return ele.value != "";
-              }
-            );
-        }
-      }
-      if (cPan == 2) {
-        this.steps--;
-        return;
-      }
-      let params = [
-        {
-          cid: this.cid,
-          chapters: JSON.stringify(this.unitJson),
-          uid: this.userid,
-          unitIndex: _unitIndex,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updateWorkNew4", params)
-        .then((res) => {
-          this.$message({
-            message: "修改成功",
-            type: "success",
-          });
-          this.courseId = this.cid;
-        })
-        .catch((err) => {
-          this.$message.error("网络不佳");
-          console.error(err);
-        });
-    },
-    updateWork() {
-      let cPan = 1;
-      for (var i = 0; i < this.unitJson.length; i++) {
-        for (
-          var j = 0;
-          j < this.unitJson[i].chapterInfo[0].taskJson.length;
-          j++
-        ) {
-          if (
-            this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose.length > 1
-          ) {
-            for (
-              var z = 0;
-              z < this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose.length;
-              z++
-            ) {
-              if (
-                !this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[z].tool
-                  .length
-              ) {
-                this.$message.error("请把工具添加完整");
-                cPan = 2;
-                break;
-              }
-            }
-          }
-          if (this.unitJson[i].chapterInfo[0].taskJson[j].eList) {
-            this.unitJson[i].chapterInfo[0].taskJson[j].eList = this.unitJson[
-              i
-            ].chapterInfo[0].taskJson[j].eList.filter((ele) => {
-              return ele.value != "";
-            });
-          }
-        }
-      }
-      if (cPan == 2) {
-        this.steps--;
-        return;
-      }
-      for (var i = 0; i < this.unitJson.length; i++) {
-        delete this.unitJson[i].isUpdate;
-      }
-      let params = [
-        {
-          cid: this.cid,
-          title: this.courseName.replace(/%/g, "%25"),
-          brief: this.courseText.replace(/%/g, "%25"),
-          cover:
-            this.cover.length > 0
-              ? JSON.stringify(this.cover)
-              : JSON.stringify([
-                  {
-                    name: "noBanner.jpg",
-                    url: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/noBanner1656409780264.jpg",
-                    uid: 1656409780264,
-                    status: "success",
-                  },
-                ]),
-          evaId: this.evalua,
-          astudent:
-            this.checkboxList2.length > 0 ? this.checkboxList2.join(",") : "",
-          see: this.isTeacherSee == true ? 1 : 0,
-          chapters: JSON.stringify(this.unitJson).replaceAll(/%/g, "%25"),
-          template: this.myWord != "undefined" ? this.myWord : [],
-          uid: this.userid,
-          courseType: JSON.stringify(this.courseTypeId),
-          ateacher:
-            this.checkboxList3.length > 0 ? this.checkboxList3.join(",") : "",
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updateWorkNew2", params)
-        .then((res) => {
-          if (this.steps != 1 && this.steps != 2 && this.steps != 3) {
-            if (this.cidType == 1) {
-              this.$message({
-                message: "修改成功",
-                type: "success",
-              });
-            } else {
-              this.$message({
-                message: "新增成功",
-                type: "success",
-              });
-            }
-          }
-          this.number = this.nbOrder;
-          this.courseId = this.cid;
-        })
-        .catch((err) => {
-          this.$message.error("网络不佳");
-          console.error(err);
-        });
-    },
-    guid() {
-      var _num,
-        i,
-        _guid = "";
-      for (i = 0; i < 32; i++) {
-        _guid += Math.floor(Math.random() * 16).toString(16); //随机0  - 16 的数字 转变为16进制的字符串
-        _num = Math.floor((i - 7) / 4); //计算 (i-7)除4
-        if (_num > -1 && _num < 4 && i == 7 + 4 * _num) {
-          //会使guid中间加 "-"   形式为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-          _guid += "-";
-        }
-      }
-      return _guid;
-    },
-    insertWord() {
-      this.dialogVisible1 = true;
-      this.updateBoolean2 = false;
-      this.tTitle = "";
-      this.tdetail = "";
-    },
-    addWord() {
-      this.unitJson[this.unitIndex].chapterInfo[0].fileList1.push({
-        name: this.tTitle,
-        content: this.tdetail,
-        uid: this.guid(),
-      });
-      this.dialogVisible1 = false;
-    },
-    upWord() {},
-    selectWord(uid, i, c) {
-      this.dialogVisible1 = true;
-      this.updateBoolean2 = true;
-      if (
-        uid == this.unitJson[this.unitIndex].chapterInfo[i].fileList1[c].uid
-      ) {
-        this.tTitle =
-          this.unitJson[this.unitIndex].chapterInfo[i].fileList1[c].name;
-        this.tdetail =
-          this.unitJson[this.unitIndex].chapterInfo[i].fileList1[c].content;
-      }
-    },
-    isAddPP() {
-      if (this.checkboxList.length > 0) {
-        this.$message({
-          message: "添加成功",
-          type: "success",
-        });
-        this.dialogVisible3 = false;
-      } else {
-        this.$message({
-          message: "请添加项目成员",
-          type: "error",
-        });
-      }
-    },
-    isAddClass() {
-      this.dialogVisibleClass = false;
-    },
-    isAddPPTeacher() {
-      this.dialogVisibleMember = false;
-    },
-    getTemplate() {
-      this.ajax
-        .get(this.$store.state.api + "getCourseTemplateT", "")
-        .then((res) => {
-          this.templateArray = res.data[0];
-        })
-        .catch((err) => {});
-    },
-    clearChoose() {
-      this.clearArray.splice(this.templateC.id, 1);
-      this.dialogVisible2 = false;
-    },
-    clearAttText() {
-      this.AttText = {
-        title: "",
-        text: "",
-      };
-      this.dialogVisible6 = false;
-    },
-    clearLine() {
-      this.line = "";
-      this.dialogVisible7 = false;
-    },
-    checkTemplate(res) {
-      let _this = this;
-      _this
-        .$confirm("确定选择此模板吗?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        })
-        .then(() => {
-          _this.unitJson = JSON.parse(res.chapters);
-          _this.steps++;
-          setTimeout(() => {
-            this.checkEva(this.checkId);
-          }, 1000);
-        })
-        .catch(() => {
-          return;
-        });
-    },
-    checkTemplate1(w) {
-      this.steps++;
-    },
-    checkTemplate2() {
-      let _this = this;
-      _this
-        .$confirm("确定选择空模板吗?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        })
-        .then(() => {
-          _this.unitJson = [
-            {
-              dyName: "", //单元标题
-              chapterInfo: [
-                {
-                  isread: false,
-                  chapterid: this.guid(),
-                  title: "",
-                  courseName: "",
-                  taskJson: [
-                    {
-                      task: "",
-                      taskDetail: "",
-                      chapterData: [],
-                      toolText: "",
-                      toolChoose: [
-                        {
-                          tool: [],
-                          toolDetail: "",
-                          toolType: 0,
-                          askCount: 1,
-                          askTitle: "",
-                          askJson: [
-                            { askstitle: "", askItem: 1, checkList: [] },
-                          ],
-                        },
-                      ],
-                      isShowTools: false,
-                      askCount: 1,
-                      isFold: 0,
-                      askTitle: "",
-                      askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-                      checkJson: [{ checkCount: [], checkPerent: [] }],
-                      homeworkList: [],
-                    },
-                  ],
-                  itemCount: 1,
-                  fileList1: [],
-                  video: [],
-                  testData: [],
-                  pData: [],
-                  templateArray: [],
-                },
-              ],
-            },
-          ];
-          this.steps++;
-        })
-        .catch(() => {
-          return;
-        });
-    },
-    wordNext() {
-      this.dialogVisible2 = false;
-    },
-    isAddOrUpdateAttText() {
-      if (this.AttTextType == 0) {
-        this.addAttTextMessage();
-      } else {
-        this.updateAttText();
-      }
-    },
-    isAddOrUpdateLine() {
-      if (this.lineType == 0) {
-        this.addLine();
-      } else {
-        this.updateLine();
-      }
-    },
-    addAttTextMessage() {
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].chapterData.push({
-        name: this.AttText.title,
-        url: this.AttText.text,
-        type: 6,
-      });
-      this.imgChange1(null, null, 6, this.taskCount);
-      this.dialogVisible6 = false;
-    },
-    selectAttText(itemTaskIndex, i) {
-      this.AttText.title =
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].chapterData[i].name;
-      this.AttText.text =
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].chapterData[i].url;
-      this.taskCount = itemTaskIndex;
-      this.AttTextIndex = i;
-      this.AttTextType = 1;
-      this.dialogVisible6 = true;
-    },
-    updateAttText() {
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].chapterData[this.AttTextIndex].name = this.AttText.title;
-
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].chapterData[this.AttTextIndex].url = this.AttText.text;
-      this.dialogVisible6 = false;
-    },
-    addLine() {
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.lineCount
-      ].chapterData.push({
-        name: "链接",
-        url: this.line,
-        type: 8,
-      });
-      this.imgChange1(null, null, 8, this.lineCount);
-      this.dialogVisible7 = false;
-    },
-    selectLine(itemTaskIndex, i) {
-      this.line =
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].chapterData[i].url;
-      this.taskCount = itemTaskIndex;
-      this.lineCount = i;
-      this.lineType = 1;
-      this.dialogVisible7 = true;
-    },
-    updateLine() {
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].chapterData[this.lineCount].url = this.line;
-      this.dialogVisible7 = false;
-    },
-    addPP() {
-      this.dialogVisible3 = true;
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    openTools(itemTaskIndex, i, toolIndex) {
-      this.toolIndex = toolIndex;
-      this.taskCount = itemTaskIndex;
-      if (i == 4) {
-        if (toolIndex == null) {
-          var a =
-            this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-              .chapterData;
-          for (var i = 0; i < a.length; i++) {
-            if (a[i].url == 4 && a[i].askJson.askTitle != "") {
-              this.askJson =
-                this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].chapterData[i].askJson;
-            }
-          }
-        } else {
-          this.askJson = JSON.parse(
-            JSON.stringify(
-              this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                itemTaskIndex
-              ].toolChoose[toolIndex]
-            )
-          );
-        }
-        this.dialogVisible5 = true;
-      } else if (i == 45) {
-        if (
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].testJson
-        ) {
-          this.testJson = JSON.parse(
-            JSON.stringify(
-              this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                itemTaskIndex
-              ].toolChoose[toolIndex].testJson
-            )
-          );
-        } else {
-          var testJson = {
-            testCount: 1,
-            testTitle: "",
-            testJson: [
-              {
-                teststitle: "",
-                testItem: 1,
-                checkList: [],
-                answer: [],
-                type: "1",
-              },
-            ],
-          };
-          this.testJson = testJson;
-        }
-
-        this.dialogVisibleChoice = true;
-      } else if (i == 15) {
-        this.answerQ = this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].toolChoose[toolIndex].answerQ
-          ? JSON.parse(
-              JSON.stringify(
-                this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].toolChoose[toolIndex].answerQ
-              )
-            )
-          : "";
-        this.dialogVisible8 = true;
-      } else if (i == 40) {
-        this.rateJson = this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].toolChoose[toolIndex].rateJson
-          ? JSON.parse(
-              JSON.stringify(
-                this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].toolChoose[toolIndex].rateJson
-              )
-            )
-          : [{ detail: "", score: 5, value: "" }]; //{detail:"",score:5,value:""}
-        this.selectSteps = 1;
-        this.dialogVisibleRate = true;
-      } else if (i == 42) {
-        this.answerQ = this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].toolChoose[toolIndex].answerQ
-          ? JSON.parse(
-              JSON.stringify(
-                this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].toolChoose[toolIndex].answerQ
-              )
-            )
-          : "";
-        this.dialogVisibleMp3 = true;
-      } else if (i == 41) {
-        this.selectJson = this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].toolChoose[toolIndex].selectJson
-          ? JSON.parse(
-              JSON.stringify(
-                this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-                  itemTaskIndex
-                ].toolChoose[toolIndex].selectJson
-              )
-            )
-          : { url: "", select: [], answer: [] };
-        this.selectSteps = 1;
-        this.dialogVisibleSelect = true;
-      }
-    },
-    chapAddTools(i) {
-      if (this.chapTools[0].tools.length == 0) {
-        this.chapTools[0].tools.push(i);
-      } else {
-        if (this.chapTools[0].tools.indexOf(i) != -1) {
-          this.chapTools[0].tools.splice(this.chapTools[0].tools.indexOf(i), 1);
-        } else {
-          this.chapTools[0].tools.push(i);
-        }
-      }
-      this.$forceUpdate();
-    },
-    addChaptersDataTools() {
-      if (this.chapTools[0].tools.indexOf(4) != -1) {
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          this.chapCount
-        ].chapterData.push({
-          name: this.chapTools[0].toolDetail,
-          url: this.chapTools[0].tools,
-          type: 7,
-          askJson: this.askJson,
-        });
-      } else {
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          this.chapCount
-        ].chapterData.push({
-          name: this.chapTools[0].toolDetail,
-          url: this.chapTools[0].tools,
-          type: 7,
-        });
-      }
-      this.imgChange1(null, null, 7, this.chapCount);
-      this.dialogVisible4 = false;
-    },
-    addTools(i, itemTaskIndex, toolIndex) {
-      // if (
-      //   this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-      //     .toolChoose[toolIndex].tool.length == 0
-      // ) {
-      //   this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-      //     itemTaskIndex
-      //   ].toolChoose[toolIndex].tool.push(i);
-      // } else {
-      //   if (
-      //     this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-      //       itemTaskIndex
-      //     ].toolChoose[toolIndex].tool.indexOf(i) != -1
-      //   ) {
-      //     this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-      //       itemTaskIndex
-      //     ].toolChoose[toolIndex].tool.splice(
-      //       this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-      //         itemTaskIndex
-      //       ].toolChoose[toolIndex].tool.indexOf(i),
-      //       1
-      //     );
-      //   } else {
-      //     this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-      //       itemTaskIndex
-      //     ].toolChoose[toolIndex].tool.push(i);
-      //   }
-      //   console.log(
-      //     this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-      //       .toolChoose[toolIndex].tool
-      //   );
-      // }
-      if (i == 4) {
-        if (
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].askJson.askTitle == "" ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].askJson[0].askstitle == "" ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].askJson[0].checkList < 2
-        ) {
-          this.openTools(itemTaskIndex, 4, toolIndex);
-          // this.$message({
-          //   message: "请填写完整问卷内容",
-          //   type: "error",
-          // });
-          return;
-        }
-      }
-      if (i == 45) {
-        if (
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].testJson ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].testJson.testTitle == "" ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].testJson.testJson[0].teststitle == "" ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].testJson.testJson[0].checkList < 2
-        ) {
-          this.openTools(itemTaskIndex, 45, toolIndex);
-          // this.$message({
-          //   message: "请填写完整问卷内容",
-          //   type: "error",
-          // });
-          return;
-        }
-      }
-      if (i == 15) {
-        if (
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].answerQ ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].answerQ == ""
-        ) {
-          this.openTools(itemTaskIndex, 15, toolIndex);
-          // this.$message({
-          //   message: "请填写问答内容",
-          //   type: "error",
-          // });
-          return;
-        }
-      }
-      if (i == 40) {
-        if (
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].rateJson ||
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].rateJson.length
-        ) {
-          this.openTools(itemTaskIndex, 40, toolIndex);
-          return;
-        }
-      }
-      if (i == 41) {
-        if (
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].selectJson ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].selectJson.url == "" ||
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].selectJson.select.length ||
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].selectJson.answer.length
-        ) {
-          this.openTools(itemTaskIndex, 41, toolIndex);
-          return;
-        }
-      }
-      if (i == 42) {
-        if (
-          !this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].answerQ ||
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-            .toolChoose[toolIndex].answerQ == ""
-        ) {
-          this.openTools(itemTaskIndex, 42, toolIndex);
-          return;
-        }
-      }
-      if (
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[itemTaskIndex]
-          .toolChoose[toolIndex].tool.length > 0
-      ) {
-        if (
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-            itemTaskIndex
-          ].toolChoose[toolIndex].tool.indexOf(i) != -1
-        ) {
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-            itemTaskIndex
-          ].toolChoose[toolIndex].tool.splice(
-            this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-              itemTaskIndex
-            ].toolChoose[toolIndex].tool.indexOf(i),
-            1
-          );
-        } else {
-          // this.$message({
-          //   message: "每个工具只能添加一个",
-          //   type: "error",
-          // });
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-            itemTaskIndex
-          ].toolChoose[toolIndex].tool = [];
-          this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-            itemTaskIndex
-          ].toolChoose[toolIndex].tool.push(i);
-        }
-      } else {
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          itemTaskIndex
-        ].toolChoose[toolIndex].tool.push(i);
-      }
-
-      this.$forceUpdate();
-    },
-    addAskList() {
-      this.askJson.askJson.push({
-        askstitle: "",
-        askItem: 1,
-        checkList: [],
-      });
-      this.askJson.askCount++;
-    },
-    addTestList() {
-      this.testJson.testJson.push({
-        teststitle: "",
-        testItem: 1,
-        checkList: [],
-        answer: [],
-        type: "1",
-      });
-      this.testJson.testCount++;
-    },
-    deleteAskList(index) {
-      this.askJson.askJson.splice(index, 1);
-      this.askJson.askCount--;
-    },
-    deleteTestList(index) {
-      this.testJson.testJson.splice(index, 1);
-      this.testJson.testCount--;
-    },
-    addcheckList(json) {
-      json.checkList.length++;
-      json.askItem++;
-    },
-    deletecheckList(json) {
-      json.checkList.length--;
-      json.askItem--;
-    },
-    addTcheckList(json) {
-      json.checkList.length++;
-      json.testItem++;
-    },
-    deleteTcheckList(json) {
-      json.checkList.length--;
-      json.testItem--;
-    },
-    checkTestType(type, json) {
-      json.type = type;
-      json.answer = [];
-    },
-    addSelectList(json) {
-      json.select.push("");
-      json.answer.push("");
-    },
-    deleteSelectList(json) {
-      // json.select.length--;
-      // json.answer.length--;
-      json.select.splice(json.select.length - 1, 1);
-      json.answer.splice(json.answer.length - 1, 1);
-    },
-    addAsk() {
-      if (this.askJson.askTitle === "") {
-        this.$message.error("标题不能为空!");
-        return;
-      }
-      var aj = this.askJson.askJson;
-      var b = 1;
-      for (var i = 0; i < aj.length; i++) {
-        if (aj[i].askstitle === "") {
-          var a = 1;
-          for (let index = 0; index < aj[i].askItem; index++) {
-            const element = aj[i].checkList[index]
-              ? aj[i].checkList[index]
-              : "";
-            if (element != "") {
-              b++;
-              this.$message.error("填写了选项,题目不能为空!");
-              return;
-            } else {
-              a++;
-            }
-          }
-          if (b == 1) {
-            this.$message.error("至少填写一个问题");
-            return;
-          }
-        } else if (aj[i].askstitle != "") {
-          for (let index = 0; index < aj[i].askItem; index++) {
-            const element = aj[i].checkList[index]
-              ? aj[i].checkList[index]
-              : "";
-            var index = 0;
-            for (var z = 0; z < aj[i].checkList.length; z++) {
-              var checkC = aj[i].checkList[z] ? aj[i].checkList[z] : "";
-              if (checkC != "") {
-                index++;
-              } else {
-                this.$message.error("选项不能为空!");
-                return;
-              }
-            }
-            b++;
-            if (index < 2) {
-              this.$message.error("填写了的题目,选项至少要有两项!");
-              return;
-            }
-          }
-        }
-      }
-      this.askJson.askJson = this.askJson.askJson.filter((el) => {
-        var elc = el.checkList.filter((element) => {
-          return element != "";
-        });
-        return el.askstitle != "" && elc.length != 0;
-      });
-      if (!this.dialogVisible4) {
-        this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-          this.taskCount
-        ].toolChoose[this.toolIndex] = this.askJson;
-      }
-
-      this.dialogVisible5 = false;
-    },
-    addTest() {
-      if (this.testJson.testTitle === "") {
-        this.$message.error("标题不能为空!");
-        return;
-      }
-      var aj = this.testJson.testJson;
-      var b = 1;
-      for (var i = 0; i < aj.length; i++) {
-        if (aj[i].teststitle === "") {
-          var a = 1;
-          for (let index = 0; index < aj[i].testItem; index++) {
-            const element = aj[i].checkList[index]
-              ? aj[i].checkList[index]
-              : "";
-            if (element != "") {
-              b++;
-              this.$message.error("填写了选项,题目不能为空!");
-              return;
-            } else {
-              a++;
-            }
-          }
-          if (b == 1) {
-            this.$message.error("至少填写一个问题");
-            return;
-          }
-        } else if (aj[i].teststitle != "") {
-          for (let index = 0; index < aj[i].testItem; index++) {
-            const element = aj[i].checkList[index]
-              ? aj[i].checkList[index]
-              : "";
-            var index = 0;
-            for (var z = 0; z < aj[i].checkList.length; z++) {
-              var checkC = aj[i].checkList[z] ? aj[i].checkList[z] : "";
-              if (checkC != "") {
-                index++;
-              } else {
-                this.$message.error("选项不能为空!");
-                return;
-              }
-            }
-            b++;
-            if (index < 2) {
-              this.$message.error("填写了的题目,选项至少要有两项!");
-              return;
-            }
-            if (
-              (aj[i].type == "2" && !aj[i].answer.length) ||
-              (aj[i].type == "1" && aj[i].answer !== 0 && !aj[i].answer)
-            ) {
-              this.$message.error("有题目未选择答案请选择答案");
-              return;
-            }
-          }
-        }
-      }
-      this.testJson.testJson = this.testJson.testJson.filter((el) => {
-        var elc = el.checkList.filter((element) => {
-          return element != "";
-        });
-        return el.teststitle != "" && elc.length != 0;
-      });
-
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].toolChoose[this.toolIndex].testJson = this.testJson;
-
-      this.dialogVisibleChoice = false;
-    },
-    addAnswer() {
-      if (this.answerQ == "") {
-        this.$message.error("请输入您想要问的问题");
-        return;
-      }
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].toolChoose[this.toolIndex].answerQ = this.answerQ;
-      this.dialogVisible8 = false;
-    },
-    addMp3Answer() {
-      if (this.answerQ == "") {
-        this.$message.error("请输入您想要回答的问题");
-        return;
-      }
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].toolChoose[this.toolIndex].answerQ = this.answerQ;
-      this.dialogVisibleMp3 = false;
-    },
-    addRateAnswer() {
-      var a = 1;
-      for (var i = 0; i < this.rateJson.length; i++) {
-        if (this.rateJson[i].value == "") {
-          a = 2;
-          break;
-        }
-      }
-      if (a == 2) {
-        this.$message.error("请把评价信息填写完整");
-        return;
-      }
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].toolChoose[this.toolIndex].rateJson = this.rateJson;
-      this.dialogVisibleRate = false;
-    },
-    addSelectAnswer() {
-      if (this.selectJson.url == "") {
-        this.$message.error("请上传题目");
-        return;
-      }
-      if (!this.selectJson.select.length) {
-        this.$message.error("请添加选项");
-        return;
-      }
-      if (!this.selectJson.answer.length) {
-        this.$message.error("请设置答案");
-        return;
-      }
-      var a = 1;
-      for (var i = 0; i < this.selectJson.answer.length; i++) {
-        if (!this.selectJson.answer[i] && this.selectJson.answer[i] !== 0) {
-          a = 2;
-        }
-      }
-      if (a == 2) {
-        this.$message.error("请设置答案");
-        return;
-      }
-      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[
-        this.taskCount
-      ].toolChoose[this.toolIndex].selectJson = this.selectJson;
-      this.dialogVisibleSelect = false;
-    },
-    nextSelectSteps() {
-      if (this.selectJson.url == "") {
-        this.$message.error("请上传题目");
-        return;
-      }
-      if (!this.selectJson.select.length) {
-        this.$message.error("请添加选项");
-        return;
-      }
-      var a = 1;
-      for (var i = 0; i < this.selectJson.select.length; i++) {
-        if (!this.selectJson.select[i]) {
-          a = 2;
-        }
-      }
-      if (a == 2) {
-        this.$message.error("添加的选项不能为空");
-        return;
-      }
-      this.selectSteps++;
-    },
-    selectCourseDetail() {
-      if (this.cid == "" || this.cid == undefined) {
-        console.log("这是新增项目");
-      } else {
-        this.cidType = 1;
-        let params = {
-          cid: this.cid,
-        };
-        this.ajax
-          .get(this.$store.state.api + "select_course_detail", params)
-          .then((res) => {
-            this.loading = true;
-            this.unitJson = JSON.parse(res.data[0][0].chapters);
-            for (var j in this.unitJson) {
-              for (var i in this.unitJson[j].chapterInfo) {
-                this.unitJson[j].chapterInfo[i].taskJson[
-                  this.taskCount
-                ].toolChoose = this.unitJson[j].chapterInfo[i].taskJson[
-                  this.taskCount
-                ].toolChoose
-                  ? this.unitJson[j].chapterInfo[i].taskJson[this.taskCount]
-                      .toolChoose
-                  : [];
-                for (var k in this.unitJson[j].chapterInfo[i].taskJson) {
-                  let _chapterData = [];
-                  for (var c in this.unitJson[j].chapterInfo[i].taskJson[k]
-                    .chapterData) {
-                    if (
-                      this.unitJson[j].chapterInfo[i].taskJson[k].chapterData[c]
-                    ) {
-                      _chapterData.push(
-                        this.unitJson[j].chapterInfo[i].taskJson[k].chapterData[
-                          c
-                        ]
-                      );
-                    }
-                  }
-                  this.unitJson[j].chapterInfo[i].taskJson[k].chapterData =
-                    _chapterData;
-                }
-              }
-            }
-            this.courseName = res.data[0][0].title;
-            this.courseText = res.data[0][0].brief;
-            this.evalua = res.data[0][0].evaId;
-            this.cover = JSON.parse(res.data[0][0].cover);
-            this.noneBtnImg = this.cover.length >= 1;
-            // this.checkboxList =
-            //   res.data[0][0].course_student.length > 0
-            //     ? JSON.parse(res.data[0][0].course_student)
-            //     : [];
-            this.checkboxList2 = res.data[0][0].juri
-              ? res.data[0][0].juri.split(",")
-              : [];
-            this.checkboxList3 = res.data[0][0].course_teacher
-              ? res.data[0][0].course_teacher.split(",")
-              : [];
-            // this.isTeacherSee =
-            //   res.data[0][0].is_teacher_look == 0 ? true : false;
-            this.isTeacherSee = res.data[0][0].open == 1 ? true : false;
-            this.myWord = res.data[0][0].template;
-            this.templateC.id = "123";
-            this.courseUserid = res.data[0][0].userid;
-            this.nbOrder = res.data[0][0].ordernumber;
-            for (var i = 0; i < res.data[1].length; i++) {
-              this.courseTypeId.push(res.data[1][i].typeid);
-            }
-            console.log(this.courseTypeId);
-            // if (this.timer) clearInterval(this.timer);
-            if (this.timer) clearTimeout(this.timer);
-            this.timer = null;
-            // this.timer = setInterval(() => {
-
-            this.seleteCourseUpdate();
-
-            // }, 5000);
-            this.$forceUpdate();
-            setTimeout(() => {
-              this.checkEva(this.evalua);
-            }, 0);
-          })
-          .catch((err) => {
-            console.error(err);
-          });
-      }
-    },
-    seleteCourseUpdate() {
-      let params = {
-        cid: this.cid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "select_course_detail", params)
-        .then((res) => {
-          // console.log(this.unitJson);
-          let unitJson = JSON.parse(res.data[0][0].chapters);
-          this.unitJson2 = JSON.parse(res.data[0][0].chapters);
-          let _unitJson2 = JSON.parse(JSON.stringify(this.unitJson));
-          let _unitJson = [];
-          let _chapAarry = [];
-          let _unitIndex = JSON.parse(JSON.stringify(this.unitIndex));
-          let _unitIndex2 = JSON.parse(JSON.stringify(this.unitIndex));
-          let index = 1;
-          let chapindex;
-          if (_unitJson2.length > unitJson.length) {
-            for (let c = 0; c < _unitJson2.length; c++) {
-              _chapAarry.push(_unitJson2[c].chapterInfo[0].chapterid);
-            }
-            for (let j = 0; j < unitJson.length; j++) {
-              let count = 0;
-              for (let k = 0; k < _unitJson2.length; k++) {
-                if (
-                  unitJson[j].chapterInfo[0].chapterid ==
-                  _unitJson2[k].chapterInfo[0].chapterid
-                ) {
-                  count++;
-                  _chapAarry.splice(
-                    _chapAarry.indexOf(_unitJson2[k].chapterInfo[0].chapterid),
-                    1
-                  );
-                  _unitJson.push(unitJson[j]);
-                  break;
-                }
-              }
-              // if(count === 0){
-              //   this.$message.error("您所修改的阶段已经被其他老师删除了");
-              // }
-            }
-            for (let k = 0; k < _unitJson2.length; k++) {
-              if (_unitJson2[k].isUpdate == 1) {
-                _chapAarry.splice(
-                  _chapAarry.indexOf(_unitJson2[k].chapterInfo[0].chapterid),
-                  1
-                );
-                _unitJson.push(_unitJson2[k]);
-              }
-            }
-            console.log(_chapAarry);
-            for (let d = 0; d < _unitJson2.length; d++) {
-              if (
-                _chapAarry.indexOf(_unitJson2[d].chapterInfo[0].chapterid) != -1
-              ) {
-                if (_unitIndex == d) {
-                  index = 2;
-                }
-                chapindex = d;
-                // this.$message.error("您所修改的阶段已经被其他老师删除了");
-              }
-            }
-          } else {
-            _unitJson = JSON.parse(JSON.stringify(_unitJson2));
-          }
-
-          for (let i = 0; i < unitJson.length; i++) {
-            if (
-              (i < _unitJson.length - 1 || i == _unitJson.length - 1) &&
-              _unitJson[i].chapterInfo[0].chapterid !=
-                unitJson[i].chapterInfo[0].chapterid
-            ) {
-              if (i == _unitJson.length - 1) {
-                // this.unitIndex++
-                _unitIndex2++;
-              }
-              _unitJson.splice(i, 0, unitJson[i]);
-            } else if (i > _unitJson.length - 1) {
-              _unitJson.push(unitJson[i]);
-            } else if (
-              _unitJson[i].chapterInfo[0].chapterid ==
-              unitJson[i].chapterInfo[0].chapterid
-            ) {
-              _unitJson[i] = unitJson[i];
-            }
-            // if (i == _unitIndex) {
-            //   continue;
-            // } else
-          }
-
-          if (_chapAarry.length && index != 2) {
-            if (chapindex < _unitIndex) {
-              this.isDelete = 2;
-              // this.unitIndex--;
-              _unitIndex2--;
-            } else if (
-              _unitJson2[_unitIndex].chapterInfo[0].chapterid !=
-              _unitJson[_unitIndex].chapterInfo[0].chapterid
-            ) {
-              this.isDelete = 2;
-              for (let n = 0; n < _unitJson.length; n++) {
-                if (
-                  _unitJson2[_unitIndex].chapterInfo[0].chapterid ==
-                  _unitJson[n].chapterInfo[0].chapterid
-                ) {
-                  // this.unitIndex = n;
-                  _unitIndex2 = n;
-                  _unitJson[n] = _unitJson2[_unitIndex];
-                  break;
-                }
-              }
-            }
-          } else if (index != 2) {
-            // _unitJson[this.unitIndex] = _unitJson2[_unitIndex];
-            _unitJson[_unitIndex2] = _unitJson2[_unitIndex];
-          }
-          if (index == 1) {
-            this.unitJson = _unitJson;
-            this.$forceUpdate();
-            setTimeout(() => {
-              if (this.unitIndex != _unitIndex2) {
-                this.isDelete = 2;
-                this.unitIndex = _unitIndex2;
-              }
-            }, 0);
-            this.timer = setTimeout(() => {
-              this.seleteCourseUpdate();
-            }, 1000);
-          } else if (index == 2) {
-            let _this = this;
-            _this
-              .$confirm(
-                "您所修改的阶段已经被其他老师删除了,需要恢复嘛?",
-                "提示",
-                {
-                  confirmButtonText: "需要",
-                  cancelButtonText: "取消",
-                  type: "warning",
-                }
-              )
-              .then(() => {
-                if (_this.time()) {
-                  _this.restoreWork(
-                    _chapAarry[0],
-                    _unitJson,
-                    chapindex,
-                    _unitJson2,
-                    _unitIndex2
-                  );
-                }
-              })
-              .catch(() => {
-                _this.unitJson = _unitJson;
-                _this.$forceUpdate();
-                setTimeout(() => {
-                  if (this.unitIndex != _unitIndex2) {
-                    this.isDelete = 2;
-                    this.unitIndex = _unitIndex2;
-                  }
-                }, 0);
-                _this.timer = setTimeout(() => {
-                  _this.seleteCourseUpdate();
-                }, 1000);
-              });
-          }
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    restoreWork(chapid, unitJson, chapindex, unitJson2, unitIndex2) {
-      let params = [
-        {
-          cid: this.cid,
-          chapters: JSON.stringify(this.unitJson),
-          uid: this.userid,
-          chapid: chapid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "restoreWork", params)
-        .then((res) => {
-          this.$message({
-            message: "恢复成功",
-            type: "success",
-          });
-          unitJson.splice(chapindex, 0, unitJson2[chapindex]);
-          this.unitJson = unitJson;
-          this.$forceUpdate();
-          setTimeout(() => {
-            if (this.unitIndex != unitIndex2) {
-              this.isDelete = 2;
-              this.unitIndex = unitIndex2;
-            }
-          }, 0);
-          this.timer = setTimeout(() => {
-            this.seleteCourseUpdate();
-          }, 1000);
-        })
-        .catch((err) => {
-          this.$message.error("网络不佳");
-          console.error(err);
-        });
-    },
-    getTypeName() {
-      console.log(this.courseTypeId);
-      this.$forceUpdate();
-    },
-    selectType() {
-      this.ajax
-        .get(this.$store.state.api + "selectType")
-        .then((res) => {
-          this.CourseType = res.data;
-          for (var i = 0; i < res.data[0].length; i++) {
-            if (!this.cid) {
-              this.courseTypeId[res.data[0][i].id] = "";
-            }
-            if (this.oid == "69893dca-1d47-11ed-8c78-005056b86db5") {
-              if (res.data[0][i].name == "栏目") {
-                this.CourseType[0][i].name = "主题";
-              }
-            }
-            for (var j = 0; j < res.data[1].length; j++) {
-              if (res.data[0][i].id == res.data[1][j].pid) {
-                if (!this.CourseTypeJson[res.data[0][i].id]) {
-                  this.CourseTypeJson[res.data[0][i].id] = [];
-                }
-                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
-              }
-            }
-          }
-          this.selectTypeByOid();
-          this.selectTypeByOrg();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectTypeByOid() {
-      let params = {
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectTypeByOid", params)
-        .then((res) => {
-          for (var i = 0; i < res.data[0].length; i++) {
-            for (var j = 0; j < res.data[1].length; j++) {
-              if (res.data[0][i].id == res.data[1][j].pid) {
-                if (!this.CourseTypeJson[res.data[0][i].id]) {
-                  this.CourseTypeJson[res.data[0][i].id] = [];
-                }
-                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
-              }
-            }
-          }
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectTypeByOrg() {
-      let params = {
-        oid: this.org,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectTypeByOrg", params)
-        .then((res) => {
-          for (var i = 0; i < res.data[0].length; i++) {
-            for (var j = 0; j < res.data[1].length; j++) {
-              if (res.data[0][i].id == res.data[1][j].pid) {
-                if (!this.CourseTypeJson[res.data[0][i].id]) {
-                  this.CourseTypeJson[res.data[0][i].id] = [];
-                }
-                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
-              }
-            }
-          }
-          this.$forceUpdate();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    OtherMb(type) {
-      this.typeMode = type;
-      setTimeout(() => {
-        this.checkEva(this.checkId);
-      }, 0);
-    },
-    checkEva(id) {
-      this.selectEva();
-      this.evalua = id;
-      this.checkId = id;
-      if (this.evalua != "") {
-        for (var i = 0; i < this.evaJuri.length; i++) {
-          if (this.evalua == this.evaJuri[i].id) {
-            this.eTitle = this.evaJuri[i].title;
-            this.eJson = JSON.parse(this.evaJuri[i].content);
-          }
-        }
-        this.data.data = [];
-        this.$forceUpdate();
-        setTimeout(() => {
-          this.setMindData();
-        }, 500);
-      }
-    },
-    selectEva() {
-      let params = {
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectAllEvaluation", params)
-        .then((res) => {
-          this.evaJuri = res.data[0];
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    setMindData() {
-      let targetArray = [];
-      this.data.data = [];
-      this.data.data.push({ id: "root", isroot: true, topic: this.eTitle });
-      let _eJson = Object.keys(this.eJson);
-      let _e = this.eJson;
-      for (let i = 0; i < _eJson.length; i++) {
-        let element = _e[_eJson[i]];
-        this.data.data.push({
-          id: element.id,
-          parentid: "root",
-          topic: element.name,
-        });
-        targetArray.push({
-          id: element.id,
-          parentid: "root",
-          name: element.name,
-        });
-        let _eJsonc = Object.keys(element.child);
-        let _e2 = element.child;
-        for (let j = 0; j < _eJsonc.length; j++) {
-          let _ec = _e2[_eJsonc[j]];
-          this.data.data.push({
-            id: _ec.id,
-            parentid: element.id,
-            topic: _ec.name,
-          });
-          targetArray.push({
-            id: _ec.id,
-            parentid: element.id,
-            name: _ec.name,
-          });
-          let _eJsonz = Object.keys(_ec.child);
-          let _e3 = _ec.child;
-          for (let z = 0; z < _eJsonz.length; z++) {
-            let _ez = _e3[_eJsonz[z]];
-            this.data.data.push({
-              id: _ez.id,
-              parentid: _ec.id,
-              topic: _ez.name,
-            });
-            targetArray.push({
-              id: _ez.id,
-              parentid: _ec.id,
-              name: _ez.name,
-            });
-          }
-        }
-      }
-      this.targetArray = targetArray;
-      this.$forceUpdate();
-    },
-    /*添加评价 */
-    addEList(index, tIndex) {
-      this.unitJson[index].chapterInfo[0].taskJson[tIndex].eList
-        ? this.unitJson[index].chapterInfo[0].taskJson[tIndex].eList.push({
-            value: "",
-            detail: "",
-            score: 5,
-          })
-        : (this.unitJson[index].chapterInfo[0].taskJson[tIndex].eList = [
-            { value: "", detail: "", score: 5 },
-          ]);
-      this.$forceUpdate();
-    },
-    forceUpdate() {
-      this.$forceUpdate();
-    },
-    deletEList(index, tIndex, eIndex) {
-      this.unitJson[index].chapterInfo[0].taskJson[tIndex].eList.splice(
-        eIndex,
-        1
-      );
-      this.$forceUpdate();
-    },
-    getChoosePic(t) {
-      this.chooseType = t;
-      this.getAllBanner();
-    },
-    getAllBanner() {
-      this.sysPicVisible = true;
-      let params = {
-        t: this.chooseType,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectAllBanner", params)
-        .then((res) => {
-          this.sysPic = res.data[0];
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    deleteSysPic() {
-      this.cover = [];
-      this.isSysPic = false;
-    },
-    deleteSelectPic() {
-      this.selectJson.url = "";
-    },
-    setEListStar() {
-      this.$forceUpdate();
-    },
-    deletRateList(i) {
-      this.rateJson.splice(i, 1);
-    },
-    addRateList() {
-      this.rateJson.push({ detail: "", score: 5, value: "" });
-    },
-  },
-  beforeDestroy() {
-    clearTimeout(this.timer);
-    this.timer = null;
-  },
-  beforeRouteLeave(to, from, next) {
-    clearTimeout(this.timer);
-    this.timer = null;
-    next();
-  },
-  created() {
-    this.getStudent();
-    this.getTeacher();
-    this.getClass();
-    this.getTemplate();
-    this.selectType();
-    this.selectEva();
-    this.loading = false;
-    setTimeout(() => {
-      this.selectCourseDetail();
-      this.selectEva();
-    }, 500);
-  },
-};
-</script>
-
-<style scoped>
-@media screen and (max-width: 1280px) {
-  .mbCss {
-    flex-direction: column !important;
-  }
-
-  .pjCss {
-    width: 100% !important;
-  }
-
-  .evaCss {
-    width: 100% !important;
-  }
-}
-
-.dialog_diy >>> .el-dialog__header {
-  background: #3c3c3c !important;
-  padding: 15px 20px;
-}
-
-.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;
-}
-
-.dialog_diy3 >>> .el-dialog__body,
-.dialog_diy3 >>> .el-dialog__footer {
-  background: #eee !important;
-}
-
-.dialog_diy3 >>> .el-dialog__body {
-  padding: 20px 20px;
-}
-
-.left {
-  border-right: 1px solid rgb(60, 94, 143);
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  min-height: 600px;
-  width: 385px;
-  height: 80%;
-}
-
-.tips {
-  color: rgb(128, 128, 128);
-  font-size: 12px;
-  width: 270px;
-  margin: 40px;
-}
-
-.pb_content {
-  height: 100% !important;
-  /* margin: 0 20px 0 20px; */
-}
-
-.pb_content_body {
-  width: 100% !important;
-  height: 100%;
-}
-
-.info_solid {
-  width: 270px;
-  height: 30px;
-  border-left: 1px solid #bdbdbd;
-  margin: 10px 0px 10px 30px;
-}
-
-.info_steps {
-  width: 270px;
-  font-size: 0.875rem;
-  display: flex;
-  align-items: center;
-}
-
-.info_steps span:nth-child(1) {
-  width: 30px;
-  height: 30px;
-  background: rgba(0, 0, 0, 0.38);
-  display: block;
-  color: #fff;
-  border-radius: 40px;
-  text-align: center;
-  line-height: 30px;
-}
-
-.steps_active {
-  background: #3d67bc !important;
-}
-
-.info_steps span:nth-child(2) {
-  margin-left: 5px;
-}
-
-.right {
-  height: 100%;
-  width: 100%;
-  display: flex;
-  overflow: hidden;
-}
-
-.basic_box {
-  margin: 0 auto;
-  position: relative;
-  padding: 0 20px 0 20px;
-}
-
-.basic_box_success {
-  width: 100%;
-  min-height: 455px;
-  padding: 50px 0;
-  position: relative;
-  text-align: center;
-  /* border-bottom: 1px solid #bfbfbf; */
-  box-sizing: border-box;
-  display: flex;
-  align-items: center;
-  flex-direction: column;
-  justify-content: center;
-}
-
-.info_title {
-  font-size: 1.5em;
-  margin-right: 25px;
-  /* margin: 20px 30px 20px 30px; */
-}
-
-.bInfo_title {
-  text-align: left;
-  margin: 10px 0;
-}
-
-.small_title {
-  font-size: 14px;
-  line-height: 40px;
-}
-
-.chapter_beizhu {
-  font-size: 12px;
-  font-weight: bold;
-  float: right;
-  color: rgb(128, 128, 128);
-  margin-top: 5px;
-}
-
-.chapter_uploadBox1 {
-  text-align: left;
-  background-color: rgb(242, 242, 242);
-  width: 100%;
-  height: 67px;
-  padding: 0px 15px;
-  border-radius: 8px;
-  overflow: hidden;
-  font-size: 16px;
-  box-sizing: border-box;
-  position: relative;
-}
-
-.chapter_add {
-  width: 100%;
-  height: 32px;
-  margin-top: 15px;
-  cursor: pointer;
-}
-
-.chapter_add_l {
-  margin-left: 5px;
-  width: 30px;
-  height: 30px;
-  float: left;
-  border: 1px solid #aaa;
-  color: #aaa;
-  border-radius: 50%;
-  font-size: 25px;
-  text-align: center;
-}
-
-.chapter_add_r {
-  font-size: 18px;
-  height: 40px;
-  line-height: 30px;
-  text-indent: 10px;
-  color: #aaa;
-}
-
-.chapter_add_r span {
-  font-size: 12px;
-  color: rgb(204, 204, 204);
-}
-
-.chapter_add_input {
-  display: none;
-}
-
-.line {
-  width: 85%;
-  margin: 0 auto;
-  border-top: 1px solid #e5e5e5;
-  margin-top: 20px;
-}
-
-.info_btnBox {
-  width: 100%;
-  display: flex;
-  justify-content: space-evenly;
-  margin: 10px 0 10px 0;
-}
-
-.info_btn,
-.teacherWord {
-  color: #fff;
-  background-color: #8681b7 !important;
-  padding: 8px 24px;
-  font-size: 0.9375rem;
-  box-shadow: 0px 1px 3px 0px rgb(0 0 0 / 20%), 0px 2px 2px 0px rgb(0 0 0 / 14%),
-    0px 3px 1px -2px rgb(0 0 0 / 12%);
-  min-width: 64px;
-  font-weight: 500;
-  border-radius: 4px;
-  box-sizing: border-box;
-  border: none;
-  cursor: pointer;
-}
-
-.teacherWord {
-  width: 105px !important;
-  text-align: center !important;
-  line-height: 36px !important;
-  padding: 0 !important;
-  font-size: 14px !important;
-  margin: 10px 0 !important;
-}
-
-.wordTeacher {
-  display: flex;
-  flex-direction: column;
-  width: 20%;
-  text-align: center;
-  font-size: 14px;
-  margin: 30px 30px 0 10px;
-  background: #fff;
-  position: relative;
-  border-radius: 5px;
-  padding: 25px 0px;
-}
-
-.wordPic {
-  margin: 0 auto;
-  width: 60px;
-  height: 60px;
-  cursor: pointer;
-}
-
-.deleteWord {
-  width: 22px;
-  height: 22px;
-  position: absolute;
-  right: 20px;
-  top: -10px;
-  cursor: pointer;
-}
-
-.wordPic > img,
-.deleteWord > img,
-.addToolImg > img {
-  width: 100%;
-  height: 100%;
-}
-
-.info_btn:hover {
-  background-color: #8681b7 !important;
-}
-
-.cru_selectBox {
-  display: flex;
-  margin: 24px 0 10px;
-  flex-wrap: nowrap;
-  white-space: nowrap;
-  overflow: auto;
-  position: relative;
-  height: 47px;
-}
-
-.cru_selectBox::-webkit-scrollbar {
-  /*滚动条整体样式*/
-  width: 6px;
-  /*高宽分别对应横竖滚动条的尺寸*/
-  height: 6px;
-}
-
-/*定义滚动条轨道 内阴影+圆角*/
-.cru_selectBox::-webkit-scrollbar-track {
-  border-radius: 10px;
-  background-color: #eee;
-}
-
-/*定义滑块 内阴影+圆角*/
-.cru_selectBox::-webkit-scrollbar-thumb {
-  border-radius: 10px;
-  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
-  background-color: rgba(0, 0, 0, 0.1);
-}
-
-.cru_line {
-  position: absolute;
-  bottom: 0px;
-  transition: all 0.5s;
-  left: 0px;
-  width: 110px;
-  margin-left: -25px;
-}
-
-.cru_select {
-  font-size: 21px;
-  margin-right: 37px;
-  margin-left: 5px;
-  cursor: pointer;
-  color: #a6a6a6;
-}
-
-.cru_selected {
-  color: #5c549f !important;
-}
-
-.chapter_contentbox {
-  display: flex;
-  align-items: center;
-  margin-top: 15px;
-}
-
-.chapter_contentbox div:nth-child(1) {
-  /* width: 150px; */
-  margin: 0px;
-  /* font-size: 2em; */
-  color: black;
-  display: block;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  /* font-weight: 600; */
-  margin-right: 20px;
-  font-size: 18px;
-}
-
-.chapter_contentbox div:nth-child(2) {
-  width: 380px;
-}
-
-.chapter_contentbox div:nth-child(3),
-.remove {
-  background-image: url(../../assets/remove.png);
-  cursor: pointer;
-  opacity: 0.5;
-  width: 40px;
-  height: 50px;
-  background-repeat: no-repeat;
-  background-position: 5px 10px;
-}
-
-.binfo_input {
-  font: inherit;
-  color: currentColor;
-  width: 100%;
-  margin: 0;
-  /* padding: 15px 14px; */
-  padding: 8px 14px;
-  display: block;
-  min-width: 0;
-  outline: none;
-  box-sizing: content-box;
-  background: none;
-  border: 1px solid rgba(0, 0, 0, 0.23);
-  border-radius: 4px;
-  box-sizing: border-box;
-  background: #fff;
-  font-size: 18px;
-}
-
-.binfo_input:focus-visible {
-  border: 1px solid rgba(61, 103, 188);
-}
-
-.time {
-  display: flex;
-  margin: 35px 0 80px 0;
-}
-
-.chapter_btnbox {
-  width: 160px;
-  border-radius: 5px;
-  border: 2px dashed gray;
-  display: flex;
-  padding: 8px 50px;
-  align-items: center;
-  justify-content: center;
-  margin: 30px auto 0;
-  cursor: pointer;
-}
-
-.icon_add {
-  position: relative;
-  width: 24px;
-  padding-top: 20px;
-  border-radius: 100%;
-  border-width: 2px;
-  border-style: solid;
-  border-color: gray;
-}
-
-.icon_add i:nth-child(1) {
-  position: absolute;
-  left: 50%;
-  top: 50%;
-  height: 60%;
-  transform: translate(-50%, -50%);
-  border-width: 1px;
-  border-style: solid;
-  border-color: inherit;
-}
-
-.icon_add i:nth-child(2) {
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  width: 60%;
-  transform: translate(-50%, -50%);
-  border-width: 1px;
-  border-style: solid;
-  border-color: inherit;
-}
-
-.chapter_btn_w {
-  font-size: 0.9375rem;
-  font-weight: bold;
-  color: gray;
-  margin-left: 20px;
-}
-
-.disUoloadSty >>> .el-icon-plus {
-  display: none !important;
-  /* 上传按钮隐藏 */
-}
-
-.imgLeft {
-  margin: 15px 0;
-}
-
-.add_info_box {
-  margin: 20px 0;
-}
-
-.add_info_box button {
-  margin: 0 10px 10px 0;
-}
-
-.add_chapters_box {
-  text-align: left;
-  background-color: rgb(232 234 237);
-  width: 100%;
-  padding: 0px 15px;
-  border-radius: 15px;
-  font-size: 16px;
-  box-sizing: border-box;
-  position: relative;
-  padding: 0 10px 5px 10px;
-  height: 185px;
-  overflow-y: auto;
-  overflow-x: hidden;
-}
-
-.homework_box {
-  display: flex;
-  align-items: flex-start;
-  flex-wrap: wrap;
-  margin: 15px 0 0 0;
-  flex-direction: column;
-  align-content: flex-start;
-}
-
-.course_homework {
-  display: flex;
-  justify-content: center;
-  flex-direction: row;
-  align-items: center;
-  margin: 0 10px 0 0;
-}
-
-.course_homework >>> .el-input__inner {
-  width: 140px;
-  margin-left: 15px;
-}
-
-.chapter_upload_move {
-  position: relative;
-  background-color: #fff;
-  position: absolute;
-  width: 100%;
-  top: 0px;
-  left: 0px;
-  border: 1px solid #eee;
-  border-radius: 5px;
-  transition: width 2s;
-  -moz-transition: width 2s;
-  -webkit-transition: width 2s;
-  -o-transition: width 2s;
-}
-
-.chapter_upload_l_i {
-  background-image: url("../../assets/icon.png");
-  background-position: 3px -165px;
-  width: 30px;
-  height: 30px;
-  margin: 10px auto 0 auto;
-}
-
-.left_first {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-}
-
-.right_first {
-  width: 100%;
-  height: 100%;
-  margin-top: 15px;
-}
-
-.right_title {
-  height: 30px;
-  padding: 15px 0 15px 20px;
-  border-bottom: 1px solid #f2f2f2;
-  font-size: 1.5em;
-  font-weight: bold;
-  color: #5c549f;
-  margin: 0 auto;
-}
-
-.people {
-  border: 1px solid rgb(229 229 229);
-  height: 495px;
-  border-radius: 5px;
-  width: 100%;
-  overflow: auto;
-}
-
-.people_top {
-  display: flex;
-  width: 100%;
-  justify-content: space-between;
-  align-items: center;
-}
-
-.people_nav,
-.people_top_right {
-  padding: 20px 0 0 20px;
-}
-
-.people_search {
-  display: flex;
-  position: relative;
-}
-
-.people_search >>> .el-input__inner {
-  height: 25px;
-  width: 95%;
-}
-
-.search_img {
-  width: 20px;
-  height: 20px;
-  position: absolute;
-  right: 15px;
-  top: 3px;
-}
-
-.search_img > img {
-  width: 100%;
-  height: 100%;
-}
-
-.people_name {
-  display: flex;
-  justify-content: flex-start;
-  padding: 20px 0 0 25px;
-  flex-direction: column;
-  flex-wrap: wrap;
-}
-
-.people_name >>> .el-checkbox {
-  width: 100%;
-  display: flex;
-  align-items: center;
-  margin-bottom: 10px;
-}
-
-.people_name >>> .el-checkbox__label {
-  text-overflow: ellipsis;
-  overflow: hidden;
-  width: 100%;
-}
-
-.right_img {
-  width: 150px;
-  height: 150px;
-  margin: 0 auto;
-}
-
-.right_img > img {
-  width: 100%;
-  height: 100%;
-}
-
-.number {
-  margin-top: 20px;
-  color: #4aa6ff;
-  text-decoration: underline;
-}
-
-.success_button {
-  display: flex;
-  text-align: center;
-  margin: 5% 0 auto;
-  flex-direction: row;
-  justify-content: center;
-}
-
-.look_course {
-  margin-right: 40px;
-  background: #3d67bc;
-  width: 200px;
-  height: 35px;
-  line-height: 35px;
-  color: #fff;
-  text-align: center;
-  font-size: 14px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-
-.attend_others {
-  width: 250px;
-  background: #4fb13c;
-  height: 35px;
-  line-height: 35px;
-  color: #fff;
-  text-align: center;
-  font-size: 14px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-
-.dialog_diy2 >>> .el-dialog__body {
-  text-align: center;
-}
-
-.write_togother {
-  position: absolute;
-  right: 45px;
-  display: flex;
-  top: 5%;
-}
-
-.write_people {
-  font-size: 14px;
-  line-height: 50px;
-  padding-right: 10px;
-}
-
-.end_write {
-  background: #3d67bc;
-  color: #fff;
-  width: 100px;
-  height: 35px;
-  line-height: 35px;
-  text-align: center;
-  font-size: 14px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-
-.chapter_upload {
-  height: 50px;
-  margin-top: 12px;
-  position: relative;
-  display: flex;
-  align-items: center;
-  width: 100%;
-  min-height: 50px;
-}
-
-.chapter_upload_t {
-  background-color: #fff;
-  position: absolute;
-  height: 100%;
-  top: 0px;
-  left: 0px;
-  border-radius: 40px;
-  box-sizing: border-box;
-  box-shadow: 0 0 3px 3px #dfdfdf;
-}
-
-.chapter_upload_o {
-  width: 100%;
-  height: 100%;
-  position: relative;
-  z-index: 1;
-}
-
-.chapter_upload_ic {
-  height: 30px;
-  float: right;
-}
-
-.chapter_upload_ic_l {
-  width: 50px;
-  height: 50px;
-  float: left;
-}
-
-.chapter_upload_ic_l div {
-  width: 30px;
-  height: 35px;
-  background: url("../../assets/icon/icon.png");
-}
-
-.chapter_upload_ic_r {
-  width: 50px;
-  height: 50px;
-  float: left;
-  margin-left: 0px;
-  display: flex;
-  align-items: center;
-}
-
-.chapter_upload_ic_r div {
-  width: 25px;
-  height: 25px;
-  background-image: url("../../assets/delete.png");
-  background-size: 100% 100%;
-}
-
-.chapter_upload_n {
-  display: flex;
-  text-indent: 10px;
-  text-decoration: none;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  overflow: hidden;
-  width: 55%;
-  margin-left: 10px;
-  cursor: pointer;
-  margin-top: 2px;
-}
-
-.chapter_upload_l_i1 {
-  background-image: url("../../assets/icon/video.png");
-  width: 28px;
-  height: 28px;
-  background-size: 100% 100%;
-}
-
-.chapter_upload_l_i5 {
-  background-image: url("../../assets/icon/word.png");
-  width: 24px;
-  height: 24px;
-  background-size: 100% 100%;
-}
-
-.chapter_upload_l_i8 {
-  background-image: url("../../assets/icon/line.png");
-  width: 24px;
-  height: 24px;
-  background-size: 100% 100%;
-}
-
-.chapter_upload_ud {
-  display: flex;
-  flex-direction: column;
-  margin-left: 5px;
-  justify-content: center;
-}
-
-.chapter_upload_up {
-  background-image: url("../../assets/icon/up.png");
-  width: 17px;
-  height: 15px;
-  background-size: 100% 100%;
-  cursor: pointer;
-}
-
-.chapter_upload_down {
-  background-image: url("../../assets/icon/down.png");
-  width: 17px;
-  height: 15px;
-  margin: 2px auto 0 auto;
-  background-size: 100% 100%;
-  cursor: pointer;
-}
-
-.addWordStyle {
-  display: flex;
-  flex-direction: row;
-  justify-content: flex-start;
-  overflow-x: auto;
-  white-space: nowrap;
-  flex-wrap: wrap;
-}
-
-/* table 样式 */
-.cont >>> table {
-  border-top: 1px solid #ccc;
-  border-left: 1px solid #ccc;
-}
-
-.cont >>> table td,
-.cont >>> table th {
-  border-bottom: 1px solid #ccc;
-  border-right: 1px solid #ccc;
-  padding: 3px 5px;
-}
-
-.cont >>> table th {
-  border-bottom: 2px solid #ccc;
-  text-align: center;
-}
-
-/* blockquote 样式 */
-.cont >>> blockquote {
-  display: block;
-  border-left: 8px solid #d0e5f2;
-  padding: 5px 10px;
-  margin: 10px 0;
-  line-height: 1.4;
-  font-size: 100%;
-  background-color: #f1f1f1;
-}
-
-/* code 样式 */
-.cont >>> code {
-  display: inline-block;
-  *display: inline;
-  *zoom: 1;
-  background-color: #f1f1f1;
-  border-radius: 3px;
-  padding: 3px 5px;
-  margin: 0 3px;
-}
-
-.cont >>> pre code {
-  display: block;
-}
-
-/* ul ol 样式 */
-.cont >>> ul,
-ol {
-  margin: 10px 0 10px 20px;
-}
-
-.wordbox {
-  display: flex;
-  flex-wrap: wrap;
-  cursor: pointer;
-  width: 100%;
-}
-
-.checkword {
-  width: 22px;
-  height: 22px;
-  margin: 10px auto 0;
-  cursor: pointer;
-}
-
-.checkword img {
-  width: 100%;
-}
-
-.stepBg {
-  width: calc(100% - 50px);
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  flex-wrap: nowrap;
-  background: #fff;
-  height: 100px;
-  margin: 0 auto 20px;
-  border-radius: 10px;
-}
-
-.stepBg > div {
-  height: 80px;
-  width: calc(100% / 4 - 90px);
-  min-width: 100px;
-  max-width: 240px;
-  cursor: pointer;
-  margin: 10px 10px;
-  border-radius: 10px;
-}
-
-.first,
-.second,
-.third,
-.four {
-  background: #5c549f;
-  height: 90px;
-  color: #fff;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  justify-content: center;
-}
-
-.first > div:nth-child(1),
-.second > div:nth-child(1),
-.third > div:nth-child(1),
-.four > div:nth-child(1) {
-  margin: 5px 10px 0 0;
-  width: 2rem;
-}
-
-.firstNo,
-.secondNo,
-.thirdNo,
-.fourNo {
-  background: #e7e7e7;
-  color: #adadad;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  justify-content: center;
-}
-
-.firstNo > div:nth-child(1),
-.secondNo > div:nth-child(1),
-.thirdNo > div:nth-child(1),
-.fourNo > div:nth-child(1) {
-  margin: 5px 10px 0 0;
-  width: 2rem;
-}
-
-.uploadWidth >>> .el-upload {
-  width: 60px;
-  height: 60px;
-  position: relative;
-}
-
-.addPeople {
-  background: #5491e4;
-  width: 150px;
-  height: 40px;
-  color: #fff;
-  border-radius: 5px;
-  text-align: center;
-  line-height: 40px;
-  font-size: 14px;
-  cursor: pointer;
-  margin-top: 20px;
-}
-
-.kcImg {
-  width: 60px;
-  margin-left: 10px;
-}
-
-.zyImg {
-  width: 55px;
-  margin: 0 10px;
-}
-
-.deleteZy {
-  width: 20px;
-  position: absolute;
-  top: 5px;
-  right: 5px;
-  cursor: pointer;
-}
-
-.kcImg > img,
-.zyImg > img,
-.deleteZy > img {
-  width: 100%;
-  height: 100%;
-}
-
-.zyBox {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  background: #67d37d;
-  color: #fff;
-  width: 210px;
-  margin: 20px 20px 0 0;
-  border-radius: 10px;
-  height: 70px;
-  position: relative;
-}
-
-.upCss {
-  display: flex;
-  flex-direction: row;
-  justify-content: flex-start;
-}
-
-.upCss >>> .el-icon-plus {
-  position: none !important;
-  width: 200px;
-  height: 100px;
-  display: flex;
-  flex-wrap: nowrap;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-  border: 1px dashed #ccc;
-  min-width: 78px;
-  min-height: 100px;
-  z-index: 999;
-}
-
-.upCss >>> .el-upload-list__item-name {
-  width: 100px;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.addStageImg {
-  min-width: 25px;
-  min-height: 25px;
-  width: 25px;
-  height: 25px;
-  cursor: pointer;
-}
-
-.addHW {
-  width: 28px;
-  height: 28px;
-  cursor: pointer;
-}
-
-.addStageImg > img,
-.addHW > img {
-  width: 100%;
-  height: 100%;
-}
-
-.addNewPP >>> .el-dialog__body {
-  padding: 5px 20px;
-}
-
-.isHeight {
-  height: 680px;
-}
-
-.toolChoose {
-  display: flex;
-  /* width: 100%; */
-  flex-direction: row;
-  flex-wrap: wrap;
-}
-
-.tool {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  width: fit-content;
-  margin: 10px 0 10px 0;
-  align-items: center;
-}
-
-.tool + .tool {
-  margin-right: 45px;
-}
-
-.whiteBIcon {
-  width: 80px;
-  cursor: pointer;
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: center;
-}
-
-.whiteBIcon > img,
-.check > img,
-.toolIcon > img,
-.arrow > img {
-  width: 100%;
-  height: 100%;
-}
-
-.whiteBIcon > img {
-  box-shadow: 0px 4px 8px 0px rgb(44 133 255 / 14%);
-  border-radius: 15px;
-}
-
-.check {
-  width: 20px;
-  height: 20px;
-  cursor: pointer;
-  margin: 10px 0;
-}
-
-.customWidth >>> .el-dialog {
-  min-width: 500px !important;
-}
-
-.a_addBox {
-  margin: 10px 0;
-  background: #fff;
-  padding: 15px;
-  max-height: 600px;
-  overflow: auto;
-}
-
-.a_add_box {
-  border-bottom: 2px solid #eee;
-  padding-bottom: 10px;
-}
-
-.a_add_head {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  margin: 10px 0;
-  font-size: 18px;
-}
-
-.a_add_checkType {
-  margin-top: 10px;
-  display: flex;
-  font-size: 16px;
-}
-.a_add_checkType span {
-  box-sizing: border-box;
-  padding: 0 0 5px 0;
-  cursor: pointer;
-}
-.a_add_checkType span + span {
-  margin-left: 10px;
-}
-.a_add_checkType .active {
-  border-bottom: 2px solid #5c549f;
-  color: #5c549f;
-}
-.a_add_head .a_add_head_input {
-  width: 300px;
-}
-
-.a_add_head .a_add_head_div {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-}
-
-.a_add_body {
-  display: flex;
-  /* align-items: center; */
-  align-items: flex-end;
-}
-
-.a_add_input {
-  display: flex;
-  align-items: center;
-  flex-wrap: wrap;
-}
-
-.a_add_input_choice {
-  flex-direction: column;
-  margin-right: 10px;
-}
-
-.a_add_input_choice >>> .el-radio {
-  display: flex;
-  align-items: center;
-  flex-direction: row-reverse;
-  margin: 10px 0 0 0;
-}
-
-.a_add_input_choice >>> .el-checkbox {
-  display: flex;
-  align-items: center;
-  flex-direction: row-reverse;
-  margin: 10px 0 0 0;
-}
-
-.width100 {
-  width: 100%;
-}
-
-.a_add_input .a_add_persent {
-  width: 100%;
-}
-
-.a_add_persent_div {
-  width: 100%;
-  display: flex;
-  align-items: center;
-}
-
-.a_add_persent_div span {
-  margin: 5px 0;
-}
-
-.a_add_persent_div span:nth-child(1) {
-  width: 30%;
-}
-
-.a_add_persent_div span:nth-child(2) {
-  width: 7%;
-}
-
-.a_add_persent_div span:nth-child(3) {
-  width: 40%;
-}
-
-.a_add_body_div {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  /* flex-direction: column; */
-}
-
-.all_choose {
-  display: flex;
-  flex-direction: row;
-  align-items: flex-start;
-  width: 100%;
-}
-
-.all_choose > span {
-  width: 100px;
-  display: block;
-  letter-spacing: 14px;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.all_choose >>> .el-checkbox-group {
-  display: flex;
-  flex-direction: row;
-  width: 100%;
-  flex-wrap: wrap;
-  align-content: center;
-  justify-content: flex-start;
-  align-items: center;
-  margin-top: 3px;
-}
-
-.all_choose > .el-checkbox-group >>> .el-checkbox {
-  margin-bottom: 10px;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-}
-
-.all_choose2
-  > .el-checkbox-group
-  >>> .el-checkbox__input.is-checked
-  .el-checkbox__inner,
-.all_choose2
-  > .el-checkbox-group
-  >>> .el-checkbox__input.is-indeterminate
-  .el-checkbox__inner1 {
-  background: #5c549f;
-  border-color: #5c549f;
-}
-
-.all_choose2
-  > .el-checkbox-group
-  >>> .el-checkbox__input.is-checked
-  + .el-checkbox__label {
-  color: #5c549f;
-}
-
-.all_choose2 > .el-checkbox-group >>> .el-checkbox__inner:hover {
-  border-color: #5c549f;
-}
-
-.all_choose2
-  > .el-checkbox-group
-  >>> .el-checkbox__input.is-focus
-  .el-checkbox__inner {
-  border-color: #5c549f;
-}
-
-.all_choose > .el-checkbox-group > .el-checkbox >>> .el-checkbox__label {
-  min-width: 80px;
-  overflow: hidden;
-  width: 80px;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.all_choose > .el-checkbox-group > .el-checkbox >>> .el-checkbox__label:hover {
-  width: auto;
-}
-
-.choose > div:nth-child(3) > span {
-  letter-spacing: 0 !important;
-}
-
-.choose {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  height: 100%;
-  justify-content: space-evenly;
-  align-items: flex-start;
-}
-
-.both {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  width: 100%;
-  align-items: center;
-  justify-content: flex-start;
-  margin: 30px 0;
-}
-
-.notice >>> .el-dialog {
-  width: 500px !important;
-  text-align: center;
-}
-
-.notice >>> .el-button {
-  margin-top: 20px;
-}
-
-.whiteBg {
-  background: #fff;
-  border-radius: 10px;
-}
-
-.chooseWho {
-  display: flex;
-  width: 380px;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  padding-bottom: 10px;
-}
-
-.chooseWho > div {
-  cursor: pointer;
-  padding-bottom: 10px;
-  font-weight: bold;
-}
-
-.isChooseActive {
-  color: #5c549f;
-  border-bottom: 2px solid #5c549f;
-}
-
-.toolSort {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  justify-content: flex-start;
-  align-items: flex-start;
-}
-
-.toolSort > div {
-  margin-right: 45px;
-}
-
-.tools {
-  width: 100%;
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: flex-start;
-}
-
-.leftTools,
-.rightTools {
-  width: 50%;
-}
-
-.rightTools {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  justify-content: space-around;
-}
-
-.firstToolList {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: center;
-}
-
-.iconList {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  justify-content: flex-start;
-  align-items: center;
-  margin: 20px 0 5px 0;
-  width: 240px;
-  min-width: 240px;
-}
-
-.iconTool {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: center;
-  justify-content: flex-start;
-  margin: 15px 10px;
-}
-
-.toolIcon {
-  width: 50px;
-}
-
-.taskBorder {
-  border: 1px solid #e1e1e1;
-  border-radius: 10px;
-  margin-top: 20px;
-  min-height: 1160px;
-  position: relative;
-  background: #fbfbfb;
-}
-
-.smallTaskBorder {
-  height: 170px;
-  min-height: 170px !important;
-  overflow: hidden;
-}
-
-.taskBorder > div {
-  padding: 30px 0 10px 30px;
-}
-
-.addTaskBorder {
-  border: 2px solid #e1e1e1;
-  border-radius: 10px;
-  margin-top: 25px;
-  cursor: pointer;
-}
-
-.addTaskBorder > div {
-  margin: 0 auto;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.addTaskBorder > div > img {
-  width: 100px;
-}
-
-.addTaskBorder > div > span {
-  font-size: 23px;
-  color: #dbdbdb;
-}
-
-.funBlock {
-  display: flex;
-  padding: 15px 0;
-  flex-direction: row;
-  justify-content: flex-end;
-  align-items: center;
-  position: absolute;
-  right: 15px;
-  bottom: 35px;
-}
-
-.fold {
-  display: flex;
-  margin: 0 10px;
-  flex-direction: row;
-  align-items: center;
-  cursor: pointer;
-}
-
-.arrow {
-  width: 15px;
-  height: 15px;
-  margin-left: 10px;
-}
-
-.addToolFun {
-  display: flex;
-  width: 150px;
-  flex-direction: row;
-  align-items: center;
-  justify-content: center;
-  border: 1px dashed;
-  border-radius: 5px;
-  height: 50px;
-  margin: 35px auto 0;
-  cursor: pointer;
-}
-
-.addToolImg {
-  width: 30px;
-  height: 30px;
-  margin-right: 20px;
-}
-
-.addToolsDia >>> .el-dialog__body {
-  padding: 20px;
-}
-
-.addToolsDia >>> .el-dialog__body > .toolChoose {
-  padding: 0;
-}
-
-.addToolsDia >>> .el-dialog__body > .toolChoose > .leftTools {
-  padding: 0;
-  border-bottom: none;
-  margin-bottom: 0;
-}
-
-.addToolsDia >>> .el-dialog__body > .toolChoose > .leftTools > .chooseWho {
-  width: 100%;
-}
-
-.lineCss >>> .el-form-item__label {
-  width: auto !important;
-}
-
-.lineCss >>> .el-form-item__content {
-  margin-left: 50px !important;
-}
-
-.newSteps {
-  display: flex;
-  width: 100% !important;
-  height: 80px;
-  cursor: pointer;
-  margin: 10px 0;
-  border-radius: 10px;
-  flex-direction: row;
-  align-content: center;
-  justify-content: center;
-  align-items: center;
-  margin: 0 !important;
-}
-
-/* 评价样式 */
-.elist_css {
-  padding-bottom: 60px !important;
-}
-
-.elist_title {
-  margin-bottom: 10px;
-}
-
-.elist_input {
-}
-
-.elist_input_box {
-  display: flex;
-  align-items: center;
-  flex-wrap: wrap;
-}
-
-.elist_input_box + .elist_input_box {
-  margin-top: 30px;
-}
-
-.elist_input .elist_input_box input {
-  font: inherit;
-  color: currentColor;
-  /* width: 200px; */
-  max-width: 200px;
-  padding: 8px 14px;
-  display: block;
-  min-width: 0;
-  outline: none;
-  border: 1px solid rgba(0, 0, 0, 0.23);
-  border-radius: 4px;
-  box-sizing: border-box;
-  background: #fff;
-  margin: 0 20px 0 0;
-}
-
-.elist_input .elist_input_box span {
-  height: 36px;
-  line-height: 36px;
-  color: rgb(82, 82, 82);
-  min-width: 80px;
-}
-
-.elist_input .elist_input_box .remove {
-  height: 20px;
-  width: 20px;
-  background-size: 100% 100%;
-  background-position: unset;
-  margin-left: 5px;
-}
-
-.elist_input_box >>> .el-rate {
-  display: flex;
-  height: 36px;
-  align-items: center;
-}
-
-.elist_input_box .elist_inptu_text {
-  width: 100%;
-  display: flex;
-  align-items: center;
-  margin-top: 10px;
-}
-
-.elist_input_box .elist_inptu_text input {
-  /* width: 500px; */
-  width: 100%;
-  max-width: unset;
-}
-
-.elist_input_box >>> .el-rate__icon {
-  font-size: 24px;
-}
-
-.elist_btn {
-  margin-top: 10px;
-}
-
-.lineTitle {
-  margin-top: 15px;
-  width: 110px;
-}
-
-.courseTop {
-  display: flex;
-  flex-direction: row;
-  justify-content: flex-start;
-  align-items: center;
-  /* width: 100%; */
-  width: calc(100% - 50px);
-  /* background: rgb(255, 255, 255); */
-  /* border-radius: 10px; */
-  padding: 20px 0;
-  margin: 0 auto;
-}
-
-.stepsNav {
-  display: flex;
-  flex-direction: row;
-  justify-content: flex-start;
-  align-items: center;
-}
-
-.stepsWord {
-  font-size: 18px;
-  color: #fff;
-  font-weight: bold;
-  margin-left: auto;
-  background: rgb(159, 151, 211);
-  border-radius: 5px;
-  padding: 3px 25px;
-  box-sizing: border-box;
-}
-
-.rightBox {
-  width: calc(100% - 50px);
-  background: rgb(255, 255, 255);
-  border-radius: 10px;
-  overflow: auto;
-  height: calc(100% - 255px);
-  margin: 0 auto;
-  position: relative;
-}
-
-.e_add_top {
-  display: flex;
-  justify-content: space-between;
-  padding: 20px 20px 0 20px;
-  border-radius: 3px;
-  background: #fff;
-}
-
-.e_add_title2 {
-  display: flex;
-  align-items: center;
-}
-
-.e_add_title2 span {
-  width: 40px;
-}
-
-.e_add_title {
-  display: flex;
-  align-items: center;
-  color: #b8b8b8;
-  font-size: 18px;
-  position: relative;
-  height: 40px;
-}
-
-.e_add_title span {
-  margin-right: 10px;
-}
-
-.e_add_title .el_input {
-  width: 300px;
-}
-
-.e_add_title >>> .el-input__inner {
-  width: 400px;
-}
-
-.e_add_btn {
-}
-
-.e_add_content {
-  display: flex;
-  width: 100%;
-}
-
-.e_add_list {
-  background: #fff;
-  height: 500px;
-  width: 210px;
-  position: relative;
-  margin: 15px 5px 0 0;
-  flex-shrink: 0;
-  display: flex;
-  flex-direction: column;
-}
-
-.e_add_list_title {
-  font-size: 20px;
-  width: 100%;
-  box-sizing: border-box;
-  padding: 15px 40px;
-  text-align: center;
-  border-bottom: 1px solid #eaeaea;
-  position: relative;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  height: 57px;
-  background: #f6f6f6;
-}
-
-.e_add_list_title span {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-}
-
-.e_add_list_title img {
-  position: absolute;
-  right: 15px;
-  width: 25px;
-  cursor: pointer;
-  top: 50%;
-  transform: translateY(-50%);
-}
-
-.e_add_list_body {
-  height: calc(100% - 187px);
-  overflow: auto;
-}
-
-.e_add_list_child {
-  width: 100%;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  position: relative;
-  box-sizing: border-box;
-  padding: 15px 40px;
-  text-align: center;
-}
-
-.e_add_list_child span {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  cursor: pointer;
-}
-
-.e_add_list_child img {
-  position: absolute;
-  right: 10px;
-  width: 21px;
-  cursor: pointer;
-  top: 50%;
-  transform: translateY(-50%);
-}
-
-.e_add_list_child + .e_add_list_child {
-  border-top: 1px solid #eaeaea;
-}
-
-.e_add_list_child .active {
-  color: #409eff;
-}
-
-.e_add_list_btn {
-  position: absolute;
-  bottom: 0;
-  height: 50px;
-  background: rgb(120, 120, 254);
-  width: 100%;
-  color: #fff;
-  font-size: 16px;
-  text-align: center;
-  line-height: 50px;
-  cursor: pointer;
-}
-
-.e_add_list_detail {
-  position: absolute;
-  bottom: 0;
-  height: 130px;
-  background: rgb(120, 120, 254);
-  width: 100%;
-  color: #fff;
-  font-size: 16px;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.e_add_list_detail textarea {
-  height: 90%;
-  width: 95%;
-  border: none;
-  resize: none;
-  outline: none;
-  padding: 5px;
-  box-sizing: border-box;
-}
-
-.e_add_list_pbox {
-  width: 100%;
-}
-
-.e_add_list_pbox_title {
-  height: 50px;
-  background: #fff;
-  display: flex;
-  align-items: center;
-  width: 100%;
-  box-sizing: border-box;
-  padding: 0 20px;
-  flex-direction: row;
-  flex-wrap: wrap;
-}
-
-.type_title {
-  font-size: 18px;
-  font-weight: 700;
-}
-
-.type_content {
-  font-size: 16px;
-  margin-left: 30px;
-}
-
-.type_content span + span {
-  margin-left: 20px;
-}
-
-.type_content span {
-  cursor: pointer;
-  padding-bottom: 5px;
-  box-sizing: border-box;
-}
-
-.type_content .active {
-  color: #5c549f;
-  border-bottom: 2px solid #5c549f;
-}
-
-.e_add_list_pbox_content {
-  height: calc(100% - 20px);
-  display: flex;
-  align-items: center;
-  width: 100%;
-  background: #fff;
-}
-
-.mbCss {
-  width: 100%;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-content: center;
-  align-items: flex-start;
-  justify-content: flex-start;
-}
-
-.pjCss {
-  /* width: 42%; */
-  width: calc(100% - 55%);
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: flex-start;
-  margin-top: 1.5%;
-}
-
-.e_box {
-  display: flex;
-  flex-wrap: wrap;
-  max-height: 500px;
-  align-items: flex-start;
-  overflow: auto;
-}
-
-.e_card {
-  border: 1px solid #ccc;
-  background: #fff;
-  margin-right: 20px;
-  width: 270px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  border-radius: 5px;
-  margin-top: 10px;
-  text-align: center;
-}
-
-.e_card_picture {
-  margin: 10px 0;
-}
-
-.e_card_picture > img {
-  width: 50px;
-}
-
-.e_card_name {
-  width: 100%;
-  padding: 0 10px;
-  box-sizing: border-box;
-  margin-bottom: 10px;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.e_card_time {
-  width: 100%;
-  padding: 0 10px;
-  box-sizing: border-box;
-  font-size: 15px;
-  color: #c3c3c3;
-  margin-bottom: 10px;
-}
-
-.e_card_btn {
-  height: 40px;
-  display: flex;
-  align-items: center;
-  width: 100%;
-  background: rgb(244, 244, 244);
-}
-
-.e_card_btn:hover {
-  background: rgb(221 221 221);
-}
-
-.e_card_btn span {
-  flex: 1 1 auto;
-  text-align: center;
-  cursor: pointer;
-}
-
-.addEva {
-  border: 1px solid #ccc;
-  background: #fff;
-  margin-right: 20px;
-  width: 270px;
-  height: 149px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  border-radius: 5px;
-  margin-top: 10px;
-  text-align: center;
-  cursor: pointer;
-  justify-content: center;
-}
-
-.addEva > img {
-  width: 50px;
-  object-fit: cover;
-}
-
-.uploadFm {
-  border: 1px dashed #ccc;
-  width: 202px;
-  height: 102px;
-  position: relative;
-  cursor: pointer;
-}
-
-.uploadFm > img {
-  position: absolute;
-  top: 25px;
-  left: 35%;
-  width: 50px;
-}
-
-.fileCss {
-  width: 100%;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  justify-content: space-around;
-  align-items: center;
-  padding-top: 15px;
-}
-
-.sysPicBox {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-content: flex-start;
-  height: 435px;
-  overflow: auto;
-}
-
-.sysPic {
-  width: 200px;
-  height: 115px;
-  margin: 0 20px 20px 0;
-  cursor: pointer;
-}
-
-.sysPic > img,
-.isSysPic > img,
-.deletePic > img {
-  width: 100%;
-  height: 100%;
-  object-fit: cover;
-}
-
-.isSysPic {
-  width: 200px;
-  height: 115px;
-  position: relative;
-}
-
-.deletePic {
-  width: 20px;
-  height: 20px;
-  position: absolute;
-  top: 0;
-  right: 0;
-  cursor: pointer;
-}
-
-.select_box1 {
-}
-
-.select_box1_img {
-  background: #fff;
-  border-radius: 5px;
-  padding: 15px;
-  box-sizing: border-box;
-  margin-bottom: 20px;
-}
-
-.select_box1_title {
-  padding: 0 0 15px 0;
-  border-bottom: 1px solid #eee;
-  margin-bottom: 15px;
-}
-
-.select_box1_title span:nth-child(1) {
-  font-size: 16px;
-  margin-right: 20px;
-  color: #000;
-}
-
-.select_box1_title span:nth-child(2) {
-  font-size: 14px;
-  color: rgb(112, 112, 112);
-}
-
-.select_box1_add_img {
-}
-
-.select_box1_select {
-  background: #fff;
-  border-radius: 5px;
-  padding: 15px;
-  box-sizing: border-box;
-}
-
-.select_box2 {
-}
-
-.select_box2_title {
-  background: #fff;
-  border-radius: 5px;
-  padding: 5px 10px;
-  box-sizing: border-box;
-  margin-bottom: 10px;
-}
-
-.select_box2_box {
-  display: flex;
-  height: 500px;
-}
-
-.select_box2_img {
-  width: calc(100% - 310px);
-  height: 100%;
-  overflow: auto;
-  background: #fff;
-  border-radius: 5px;
-}
-
-.select_box2_img img {
-  width: 100%;
-}
-
-.select_box2_answer {
-  background: #fff;
-  margin-left: 10px;
-  border-radius: 5px;
-  width: 300px;
-  overflow: auto;
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  padding-top: 10px;
-  box-sizing: border-box;
-}
-
-.select_box2_answer_box {
-  margin: 0 0 10px 0;
-  width: 85%;
-}
-
-.rate_textarea {
-  font: inherit;
-  color: currentColor;
-  width: 100%;
-  padding: 8px 14px;
-  display: block;
-  min-width: 0;
-  outline: none;
-  border: 1px solid rgba(0, 0, 0, 0.23);
-  border-radius: 4px;
-  box-sizing: border-box;
-  background: #fff;
-  margin: 0 20px 0 0;
-  resize: none;
-}
-
-.select_answer_title {
-  text-align: left;
-  width: 85%;
-  margin-bottom: 10px;
-  font-size: 18px;
-  color: #8e8e8e;
-}
-
-.mask {
-  background-color: rgb(0 0 0 / 30%);
-  /* position: fixed; */
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  z-index: 90;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.progressBox {
-  width: 300px;
-  height: 150px;
-  background: #fff;
-  border-radius: 10px;
-  box-shadow: 0 0 6px 1px #bfbfbf;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  flex-direction: column;
-}
-
-.progressBox .lbox {
-  height: 100px;
-  font-size: 16px;
-  display: flex;
-  align-items: center;
-}
-
-.progressBox .lbox img {
-  width: 40px;
-  margin-right: 20px;
-}
-
-.progressBox >>> .el-progress-bar__outer {
-  background-color: #d1dfff !important;
-}
-
-.progressBox .lbox {
-  height: 100px;
-  font-size: 19px;
-  display: flex;
-  align-items: center;
-}
-
-.progressBox .lbox img {
-  width: 40px;
-  margin-right: 20px;
-}
-
-.s_switch >>> .el-switch__label.is-active {
-  color: #5c549f;
-}
-
-.cancel_button >>> .el-button:focus,
-.cancel_button >>> .el-button:hover {
-  color: rgb(92, 84, 159);
-  border-color: #5c549f;
-  background-color: #dbd7ff;
-}
-
-.confirm_button {
-  background: #5c549f;
-  border-color: #5c549f;
-}
-
-.stepsNav >>> .el-breadcrumb__inner a:hover,
-.stepsNav >>> .el-breadcrumb__inner.is-link:hover {
-  color: #5c549f;
-}
-
-.updateTips::after {
-  content: "协同编辑课程暂不支持修改基本信息,只支持修改阶段内容。";
-  font-size: 14px;
-  margin-left: 20px;
-  font-weight: 400;
-  color: #ff3a3a;
-}
-
-.updateMask {
-  width: 100%;
-  z-index: 3;
-  top: 0;
-  position: absolute;
-}
-</style>

+ 0 - 492
src/components/pages/addPPt.vue

@@ -1,492 +0,0 @@
-<template>
-  <div class="pb_content" style="background: #e6eaf0; margin: 0">
-    <div class="bread">
-      <el-breadcrumb
-        separator-class="el-icon-arrow-right"
-        style="margin-top: 15px"
-      >
-        <el-breadcrumb-item
-          :to="{ path: '/classRoom?userid=' + userid + '&oid=' + oid }"
-          >课堂备课</el-breadcrumb-item
-        >
-        <el-breadcrumb-item>创建课堂</el-breadcrumb-item>
-      </el-breadcrumb>
-    </div>
-    <div class="pb_content_body" style="height: 100%">
-      <div class="pptBody">
-        <div class="pptLeft">
-          <div>课堂备课</div>
-        </div>
-        <div class="pptRight">
-          <div v-if="steps == 0">
-            <div style="background: #fff">
-              <div class="pptName">课堂名称</div>
-              <div class="pptInput">
-                <span style="color: red; margin-right: 10px">*</span>
-                <el-input
-                  type="text"
-                  placeholder="请输入名称"
-                  v-model="upPPT[0].pName"
-                  maxlength="50"
-                  show-word-limit
-                >
-                </el-input>
-              </div>
-            </div>
-            <div style="background: #fff; margin-top: 10px">
-              <div class="pptName">上传课堂封面</div>
-              <div class="pptInput" @click="addImg($event)">
-                <span style="color: red; margin-right: 10px">*</span>
-                <div class="uploadImg" v-if="upPPT[0].pImg.length == 0">
-                  <div class="upImg">
-                    <img src="../../assets/icon/upImg.png" alt="" />
-                  </div>
-                  <div style="color: #bfc3c7">支持jpg/png格式</div>
-                  <input
-                    type="file"
-                    accept="image/png,image/jpg"
-                    capture="camera"
-                    style="display: none"
-                    @change="beforeUpload1($event, 1)"
-                  />
-                </div>
-                <div v-else>
-                  <div class="isUpImg">
-                    <img :src="upPPT[0].pImg[0].url" alt="" />
-                  </div>
-                  <div
-                    style="
-                      width: 300px;
-                      white-space: nowrap;
-                      overflow: hidden;
-                      text-overflow: ellipsis;
-                      margin: 10px 0;
-                      text-align: center;
-                    "
-                  >
-                    {{ upPPT[0].pImg[0].name }}
-                  </div>
-                </div>
-              </div>
-            </div>
-            <div style="background: #fff; margin-top: 10px">
-              <div class="pptName">上传备课PPT</div>
-              <div class="pptInput" @click="addImg($event)">
-                <span style="color: red; margin-right: 10px">*</span>
-                <div
-                  class="uploadImg"
-                  style="width: 320px; height: 200px"
-                  v-if="upPPT[0].pPPt.length == 0"
-                >
-                  <div class="upImg">
-                    <img src="../../assets/icon/upPpt.png" alt="" />
-                  </div>
-                  <div style="color: #bfc3c7">上传文件</div>
-                  <input
-                    type="file"
-                    accept="application/.ppt, .pptx"
-                    style="display: none"
-                    @change="beforeUpload1($event, 2)"
-                  />
-                </div>
-                <div v-else>
-                  <div class="isUpImg"><img :src="mr" alt="" /></div>
-                  <div
-                    style="
-                      width: 300px;
-                      white-space: nowrap;
-                      overflow: hidden;
-                      text-overflow: ellipsis;
-                      margin: 10px 0;
-                      text-align: center;
-                    "
-                  >
-                    {{ upPPT[0].pPPt[0].name }}
-                  </div>
-                </div>
-              </div>
-            </div>
-            <div class="rightButton" @click="steps = 1">下一步</div>
-          </div>
-          <div v-if="steps == 1">
-            <div style="background: #fff; margin-top: 10px">
-              <div class="pptName">上传备课PPT</div>
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
-    <div v-if="proVisible" class="mask">
-      <div class="progressBox">
-        <div class="lbox">
-          <img src="../../assets/loading.gif" />上传中,请稍后
-        </div>
-        <el-progress
-          :text-inside="true"
-          :stroke-width="20"
-          :percentage="progress"
-          style="width: 80%"
-        ></el-progress>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      dataVisible: false,
-      isLoading: false,
-      formLabelWidth: "100px",
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-      total: 0,
-      tableData: [],
-      upPPT: [
-        {
-          pName: "",
-          pImg: [],
-          pPPt: [],
-        },
-      ],
-      now: "",
-      mr: require("../../assets/icon/pptImg.png"),
-      noneBtnImg: false,
-      proVisible: false,
-      progress: 0,
-      steps: 0,
-    };
-  },
-  methods: {
-    change(val) {
-      console.log(val);
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    jump(cid) {
-      window.parent.postMessage({ cid: cid, type: "1" }, "*");
-    },
-    init() {},
-    handleClose(done) {
-      done();
-    },
-    handleRemove(file, fileList) {
-      console.log(file, fileList);
-    },
-    onExceed() {
-      this.$message.error("课程海报仅支持上传一张,请删除后再进行上传");
-    },
-    //uuid生成
-    guid() {
-      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
-        /[xy]/g,
-        function (c) {
-          var r = (Math.random() * 16) | 0,
-            v = c == "x" ? r : (r & 0x3) | 0x8;
-          return v.toString(16);
-        }
-      );
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    addImg(e) {
-      var el = e.currentTarget;
-      el.getElementsByTagName("input")[0].click();
-    },
-    imgChange(file, fileList, type) {
-      if (type == 1) {
-        var _tmp = this.upPPT[0].pImg;
-      } else if (type == 2) {
-        var _tmp = this.upPPT[0].pPPt;
-      }
-      this.noneBtnImg = _tmp.length >= 1;
-    },
-    beforeUpload1(event, type) {
-      var file = event.target.files[0];
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-      _this.progress = 0;
-      _this.proVisible = true;
-
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-            _this.progress = parseInt((evt.loaded * 80) / evt.total);
-          })
-          .send(function (err, data) {
-            _this.progress = 100;
-            setTimeout(() => {
-              _this.proVisible = false;
-            }, 1000);
-            if (err) {
-              var a = _this.$refs.upload1.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              if (type == 1) {
-                _this.upPPT[0].pImg.push({
-                  name: file.name,
-                  url: data.Location,
-                  uid: file.uid,
-                });
-                _this.imgChange(null, null, type);
-              } else {
-                _this.upPPT[0].pPPt.push({
-                  name: file.name,
-                  url: data.Location,
-                  uid: file.uid,
-                });
-                _this.imgChange(null, null, type);
-              }
-
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    checkData() {
-      this.dataVisible = true;
-    },
-  },
-  created() {},
-};
-</script>
-
-<style scoped>
-.upImg > img,
-.isUpImg > img {
-  width: 100%;
-  height: 100%;
-}
-.xls_button {
-  font-size: 14px;
-  cursor: pointer;
-  text-decoration: underline;
-  color: rgb(34, 104, 188);
-}
-.student_search {
-  display: flex;
-  align-items: center;
-  width: calc(100% / 3);
-}
-.student_search span {
-  margin: 0 10px 0 0;
-  width: 65px;
-}
-.el_cards >>> .el-card__body {
-  height: 100%;
-}
-.student_input >>> .el-input__inner {
-  height: 40px;
-  width: 190px;
-  font-size: 13px;
-  padding: 0 10px;
-}
-.dialog_diy >>> .el-dialog__header {
-  padding: 9px 20px 10px;
-  background: #32455b !important;
-}
-.dialog_diy >>> .el-dialog__title {
-  color: #fff;
-  font-size: 15px;
-}
-.dialog_diy >>> .el-dialog__headerbtn {
-  top: 14px;
-}
-.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: #f3f3f3;
-}
-.bread {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  justify-content: flex-end;
-  align-items: center;
-}
-.pptBody {
-  display: flex;
-  width: 100%;
-  height: 100%;
-  flex-direction: row;
-  align-items: flex-start;
-  flex-wrap: nowrap;
-  align-content: flex-start;
-}
-.pptLeft {
-  background: #fff;
-  width: 20%;
-  height: 55px;
-  border-radius: 5px;
-  line-height: 55px;
-  display: flex;
-  align-items: center;
-}
-.pptLeft > div {
-  border-left: 5px solid #418ae4;
-  height: 35px;
-  line-height: 35px;
-  padding-left: 20px;
-}
-.pptRight {
-  width: 80%;
-  margin-left: 25px;
-  background: #e6e9f0;
-  position: relative;
-  min-height: 100%;
-}
-.pptName {
-  height: 40px;
-  padding: 15px 0 0 20px;
-  border-bottom: 1px solid #f9f9f9;
-}
-.pptInput {
-  display: flex;
-  margin-top: 15px;
-  padding: 10px 0 20px 25px;
-  flex-direction: row;
-  align-items: center;
-}
-.pptInput >>> .el-input {
-  width: 80%;
-}
-
-.pptInput >>> .el-input__inner,
-.pptInput >>> .el-input__count-inner {
-  background: #f4f4f4 !important;
-}
-.uploadImg {
-  background: #f2f2f2;
-  width: 300px;
-  height: 150px;
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: center;
-  justify-content: center;
-  cursor: pointer;
-}
-.upImg {
-  width: 60px;
-}
-.mask {
-  background-color: rgba(0, 0, 0, 0);
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  z-index: 20000;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.progressBox {
-  width: 500px;
-  height: 180px;
-  background: #fff;
-  border-radius: 10px;
-  box-shadow: 0 0 6px 1px #bfbfbf;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  flex-direction: column;
-}
-.progressBox .lbox {
-  height: 100px;
-  font-size: 19px;
-  display: flex;
-  align-items: center;
-}
-
-.progressBox .lbox img {
-  width: 40px;
-  margin-right: 20px;
-}
-
-.progressBox >>> .el-progress-bar__outer {
-  background-color: #d1dfff !important;
-}
-.progressBox .lbox {
-  height: 100px;
-  font-size: 19px;
-  display: flex;
-  align-items: center;
-}
-
-.progressBox .lbox img {
-  width: 40px;
-  margin-right: 20px;
-}
-.isUpImg {
-  width: 300px;
-  height: 150px;
-}
-.rightButton {
-  background: #30adff;
-  width: 160px;
-  height: 40px;
-  text-align: center;
-  line-height: 40px;
-  color: #fff;
-  border-radius: 5px;
-  font-size: 12px;
-  position: absolute;
-  right: 0;
-  bottom: 17%;
-  cursor: pointer;
-}
-</style>

+ 0 - 741
src/components/pages/ask.vue

@@ -1,741 +0,0 @@
-<template>
-  <div
-    class="pb_content"
-    style="
-      margin: 20px;
-      width: 98%;
-      height: 95%;
-      min-height: 750px;
-      border-radius: 5px;
-      min-width: 960px;
-      background: unset;
-      padding-top: 20px;
-    "
-  >
-    <div
-      class="pb_content_body"
-      style="
-        background: #fff;
-        padding: 0px 25px;
-        box-sizing: border-box;
-        border-radius: 5px;
-      "
-    >
-      <div class="pb_head">
-        <span>问卷调查</span>
-        <div class="askButton">
-          <el-button type="primary" @click="createPop">创建问卷调查</el-button>
-          <el-button
-            type="primary"
-            @click="goTo('/ask/askList?userid=' + userid)"
-            >查看已提交问卷</el-button
-          >
-        </div>
-      </div>
-    </div>
-    <div class="pb_content_body">
-      <div class="student_table">
-        <el-table
-          ref="table"
-          :data="tableData"
-          border
-          :height="tableHeight"
-          :fit="true"
-          v-loading="isLoading"
-          style="width: 100%"
-          :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
-          :row-class-name="tableRowClassName"
-        >
-          <el-table-column
-            prop="title"
-            label="问卷调查标题"
-            min-width="45"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="name"
-            label="创建者"
-            min-width="15"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="time"
-            label="创建时间"
-            min-width="15"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column label="操作" min-width="30">
-            <template slot-scope="scope">
-              <el-button @click="getPop(scope.row)" type="text" size="small"
-                >查看</el-button
-              >
-              <el-button @click="staticsPop(scope.row)" type="text" size="small"
-                >数据统计</el-button
-              >
-              <el-button @click="deleteAsk(scope.row.id)" type="text" size="small"
-                >删除问卷</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <div class="student_page">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total"
-          @current-change="handleCurrentChange"
-        >
-        </el-pagination>
-      </div>
-    </div>
-    <el-dialog
-      title="创建问卷调查"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="800px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div
-          class="a_add_title"
-          style="
-            display: flex;
-            flex-direction: row;
-            align-items: center;
-            justify-content: center;
-          "
-        >
-          <div style="margin-right: 20px; font-size: 20px">问卷标题:</div>
-          <el-input
-            v-model="askTitle"
-            placeholder="请输入问卷标题"
-            style="width: 400px"
-          ></el-input>
-        </div>
-        <div class="a_addBox">
-          <div style="font-size: 16px; color: #c7c7c7">请输入问卷内容</div>
-          <div
-            class="a_add_box"
-            v-for="(item, index) in itemCount"
-            :key="index"
-          >
-            <div class="a_add_head">
-              <div>
-                {{ index + 1 + "、" }}
-                <el-input
-                  class="a_add_head_input"
-                  v-model="askJson[index].askstitle"
-                  placeholder="请输入问卷题目..."
-                ></el-input>
-              </div>
-              <div class="a_add_head_div">
-                <el-button type="primary" size="small" @click="addAskList()"
-                  >添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  size="small"
-                  @click="deleteAskList()"
-                  v-if="index != 0"
-                  >删除</el-button
-                >
-              </div>
-            </div>
-            <div class="a_add_body">
-              <div class="a_add_input">
-                <el-input
-                  v-for="(item, checkIndex) in askJson[index].askItem"
-                  :key="checkIndex"
-                  v-model="askJson[index].checkList[checkIndex]"
-                  placeholder="请输入选项..."
-                  style="width: 150px; margin: 10px 10px 0 0"
-                ></el-input>
-              </div>
-              <div class="a_add_body_div">
-                <el-button
-                  style="margin: 10px 0px 0 0"
-                  type="primary"
-                  size="small"
-                  @click="addcheckList(askJson[index])"
-                  >添加</el-button
-                >
-                <el-button
-                  type="primary"
-                  size="small"
-                  style="margin: 10px 0 0 0"
-                  @click="deletecheckList(askJson[index])"
-                  v-if="askJson[index].askItem != 1"
-                  >删除</el-button
-                >
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="addAsk">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="查看"
-      :visible.sync="dialogVisible1"
-      :append-to-body="true"
-      width="750px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="a_add_title">
-          <!-- <el-input
-            v-model="askTitle"
-            placeholder="请输入问卷标题"
-            style="width: 400px"
-          ></el-input> -->
-          <h1>{{ askTitle }}</h1>
-        </div>
-        <div class="a_addBox">
-          <div
-            class="a_add_box"
-            v-for="(item, index) in itemCount"
-            :key="index"
-          >
-            <div class="a_add_head">
-              <div>
-                <!-- {{ index + 1 + "、" }}
-                <el-input
-                  class="a_add_head_input"
-                  v-model="askJson[index].askstitle"
-                  placeholder="请输入问卷题目..."
-                ></el-input> -->
-                <span>{{ index + 1 + "、" + askJson[index].askstitle }}</span>
-              </div>
-            </div>
-            <div class="a_add_body">
-              <div class="a_add_input">
-                <el-radio-group>
-                  <el-radio
-                    :label="item"
-                    v-for="(item, checkIndex) in askJson[index].askItem"
-                    style="width: 150px; margin: 10px 10px 0 0"
-                    :key="checkIndex"
-                    disabled
-                    >{{ askJson[index].checkList[checkIndex] }}</el-radio
-                  >
-                </el-radio-group>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible1 = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="数据统计"
-      :visible.sync="dialogVisible2"
-      :append-to-body="true"
-      width="750px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="a_add_title">
-          <h1>{{ askTitle }}</h1>
-        </div>
-        <div class="a_addBox">
-          <div
-            class="a_add_box"
-            v-for="(item, index) in itemCount"
-            :key="index"
-          >
-            <div class="a_add_head">
-              <div>
-                <span>{{ index + 1 + "、" + askJson[index].askstitle }}</span>
-              </div>
-            </div>
-            <div class="a_add_body">
-              <div class="a_add_input width100">
-                <div
-                  class="a_add_persent a_add_persent_div a_add_persent_title"
-                >
-                  <span>选项</span><span>小计</span><span>比列</span>
-                </div>
-                <div class="a_add_persent">
-                  <div
-                    class="a_add_persent_div"
-                    v-for="(item, checkIndex) in askJson[index].askItem"
-                    :key="checkIndex"
-                  >
-                    <span>{{ askJson[index].checkList[checkIndex] }}</span>
-                    <span>{{
-                      checkJson[index].checkCount[checkIndex]
-                        ? checkJson[index].checkCount[checkIndex]
-                        : 0
-                    }}</span>
-                    <span>
-                      <el-progress
-                        :percentage="
-                          checkJson[index].checkPerent[checkIndex]
-                            ? checkJson[index].checkPerent[checkIndex]
-                            : 0
-                        "
-                        :show-text="false"
-                      ></el-progress>
-                    </span>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible2 = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      tableData: [],
-      userid: this.$route.query.userid,
-      tableHeight: 500,
-      isLoading: false,
-      page: 1,
-      total: 0,
-      dialogVisible: false,
-      itemCount: 1,
-      askTitle: "",
-      askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-      dialogVisible1: false,
-      dialogVisible2: false,
-      checkJson: [{ checkCount: [], checkPerent: [] }],
-    };
-  },
-  methods: {
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    addAskList() {
-      this.checkJson.push({ checkCount: [], checkPerent: [] });
-      this.askJson.push({ askstitle: "", askItem: 1, checkList: [] });
-      this.itemCount++;
-    },
-    addcheckList(json) {
-      json.checkList.length++;
-      json.askItem++;
-    },
-    deleteAskList() {
-      this.askJson.splice(-1);
-      this.itemCount--;
-    },
-    deletecheckList(json) {
-      json.checkList.length--;
-      json.askItem--;
-    },
-    handleClose(done) {
-      done();
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    handleCurrentChange(val) {
-      this.page = val;
-      this.getAsk();
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    changeHeight() {
-      this.tableHeight =
-        window.innerHeight - this.$refs.table.$el.offsetTop - 200;
-      if (this.tableHeight <= 530) {
-        this.tableHeight = 530;
-      }
-      // 监听窗口大小变化
-      let self = this;
-      window.onresize = function () {
-        self.tableHeight =
-          window.innerHeight - self.$refs.table.$el.offsetTop - 200;
-        if (self.tableHeight <= 530) {
-          self.tableHeight = 530;
-        }
-      };
-      // this.$refs.table.$el.offsetTop:表格距离浏览器的高度 //200表示你想要调整的表格距离底部的高度(你可以自己随意调整),因为我们一般都有放分页组件的,所以需要给它留一个高度
-    },
-    init() {
-      this.askTitle = "";
-      this.itemCount = 1;
-      this.askJson = [{ askstitle: "", askItem: 1, checkList: [] }];
-    },
-    createPop() {
-      this.dialogVisible = true;
-      this.askTitle = "";
-      this.itemCount = 1;
-      this.askJson = [{ askstitle: "", askItem: 1, checkList: [] }];
-    },
-    addAsk() {
-      if (this.askTitle === "") {
-        this.$message.error("问卷调查标题不能为空!");
-        return;
-      }
-      var aj = this.askJson;
-      var b = 1;
-      for (var i = 0; i < aj.length; i++) {
-        if (aj[i].askstitle === "") {
-          var a = 1;
-          for (let index = 0; index < aj[i].askItem; index++) {
-            const element = aj[i].checkList[index]
-              ? aj[i].checkList[index]
-              : "";
-            if (element != "") {
-              b++;
-              this.$message.error("填写了问卷调查选项,问卷调查题目不能为空!");
-              return;
-            } else {
-              a++;
-            }
-          }
-          if (b == 1) {
-            this.$message.error("至少填写一个问题");
-            return;
-          }
-          // if (a > 1) {
-          //   aj.splice(i, 1);
-          // }
-        } else if (aj[i].askstitle != "") {
-          for (let index = 0; index < aj[i].askItem; index++) {
-            const element = aj[i].checkList[index]
-              ? aj[i].checkList[index]
-              : "";
-            var index = 0;
-            for (var z = 0; z < aj[i].checkList.length; z++) {
-              var checkC = aj[i].checkList[z] ? aj[i].checkList[z] : "";
-              if (checkC != "") {
-                index++;
-              } else {
-                this.$message.error("问卷调查选项不能为空!");
-                return;
-              }
-            }
-            b++;
-            if (index < 2) {
-              this.$message.error(
-                "填写了问卷调查的题目,问卷调查选项至少要有两项!"
-              );
-              return;
-            }
-            // if (element == "") {
-            //   this.$message.error(
-            //     "填写了问卷调查的题目,问卷调查选项不能为空!"
-            //   );
-            //   return;
-            // }
-          }
-        }
-      }
-      this.askJson = this.askJson.filter((el) => {
-        var elc = el.checkList.filter((element) => {
-          return element != "";
-        });
-        return el.askstitle != "" && elc.length != 0;
-      });
-      let params = [
-        {
-          t: this.askTitle,
-          c: JSON.stringify(this.askJson),
-          cuser: this.userid,
-        },
-      ];
-      if (this.time()) {
-        this.ajax
-          .post(this.$store.state.api + "addAsk", params)
-          .then((res) => {
-            this.$message({
-              message: "添加成功",
-              type: "success",
-            });
-            this.init();
-            this.dialogVisible = false;
-            this.getAsk();
-          })
-          .catch((err) => {
-            this.dialogVisible = false;
-            this.$message.error("添加失败");
-            console.error(err);
-          });
-      }
-    },
-    //获取
-    getAsk() {
-      this.isLoading = true;
-      let params = {
-        uid: this.userid,
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "getAsk", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.tableData = res.data[0];
-        })
-        .catch((err) => {
-          this.dialogVisible = false;
-          console.error(err);
-        });
-    },
-    getPop(res) {
-      this.askTitle = res.title;
-      this.askJson = JSON.parse(res.content);
-      this.itemCount = this.askJson.length;
-      for (var i = 0; i < this.askJson.length; i++) {
-        this.checkJson.push({ checkCount: [], checkPerent: [] });
-        for (var j = 0; j < this.askJson[i].askItem; j++) {
-          this.checkJson[i].checkPerent.push(0);
-          this.checkJson[i].checkCount.push(0);
-        }
-      }
-      this.dialogVisible1 = true;
-    },
-    staticsPop(res) {
-      this.askTitle = res.title;
-      this.askJson = JSON.parse(res.content);
-      this.itemCount = this.askJson.length;
-      let params = {
-        aid: res.id,
-      };
-      this.ajax
-        .get(this.$store.state.api + "getAskListByAskid", params)
-        .then((res) => {
-          this.checkJson = [];
-          if (res.data[0].length == 0) {
-            for (var i = 0; i < this.askJson.length; i++) {
-              this.checkJson.push({ checkCount: [], checkPerent: [] });
-              for (var j = 0; j < this.askJson[i].askItem; j++) {
-                this.checkJson[i].checkPerent.push(0);
-                this.checkJson[i].checkCount.push(0);
-              }
-            }
-          } else {
-            for (var i = 0; i < res.data[0].length; i++) {
-              var data = res.data[0][i];
-              var checkL = data.content.split(",");
-              for (var j = 0; j < checkL.length; j++) {
-                this.checkJson.push({ checkCount: [], checkPerent: [] });
-                if (!this.checkJson[j].checkCount) {
-                  this.checkJson[j].checkCount = [];
-                  this.checkJson[j].checkCount.length = this.askJson[j].askItem;
-                }
-                this.checkJson[j].checkCount[parseInt(checkL[j]) - 1]
-                  ? this.checkJson[j].checkCount[parseInt(checkL[j]) - 1]++
-                  : (this.checkJson[j].checkCount[parseInt(checkL[j]) - 1] = 1);
-              }
-            }
-            for (var i = 0; i < this.checkJson.length; i++) {
-              this.checkJson[i].checkPerent = [];
-              for (var j = 0; j < this.checkJson[i].checkCount.length; j++) {
-                this.checkJson[i].checkPerent.push(
-                  Math.round(
-                    (this.checkJson[i].checkCount[j] /
-                      parseInt(res.data[0][0].num)) *
-                      100
-                  )
-                );
-              }
-            }
-          }
-          console.log(res.data[0]);
-          this.dialogVisible2 = true;
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    deleteAsk(id){
-      let params = [{ id: id }];
-      this.$confirm("确定删除此问卷吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          this.ajax
-            .post(this.$store.state.api + "deleteAsk", params)
-            .then((res) => {
-              this.$message({
-                message: "删除成功",
-                type: "success",
-              });
-              if (this.page != 1 && this.tableData.length == 1) {
-                this.page--;
-              }
-              this.getAsk();
-            })
-            .catch((err) => {
-              this.$message.error("删除失败");
-              console.error(err);
-            });
-        })
-        .catch(() => {});
-    }
-  },
-  created() {
-    this.$nextTick(function () {
-      this.page = 1;
-      this.changeHeight();
-      this.getAsk();
-    });
-  },
-};
-</script>
-
-<style scoped>
-.dialog_diy >>> .el-dialog__header {
-  background: #3d67bc !important;
-  padding: 15px 20px;
-}
-.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 {
-  max-height: 750px;
-  overflow: auto;
-} */
-.dialog_diy >>> .el-dialog {
-  background: #fafafa;
-}
-.pb_head {
-  justify-content: space-between;
-  display: flex;
-  align-items: center;
-}
-.student_table {
-  margin: 20px 0;
-}
-
-.a_add_title {
-}
-.a_addBox {
-  margin: 10px 0;
-  background: #fff;
-  padding: 15px;
-  max-height: 400px;
-  overflow: auto;
-}
-.a_add_box {
-  border-bottom: 2px solid #eee;
-  padding-bottom: 10px;
-}
-
-.a_add_head {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  margin: 10px 0;
-  font-size: 18px;
-}
-.a_add_head .a_add_head_input {
-  width: 300px;
-}
-.a_add_head .a_add_head_div {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-}
-.a_add_body {
-  display: flex;
-  align-items: center;
-}
-.a_add_input {
-  display: flex;
-  align-items: center;
-  flex-wrap: wrap;
-  /* flex-direction: column; */
-  /* width: 100%; */
-}
-.width100 {
-  width: 100%;
-}
-.a_add_input .a_add_persent {
-  /* display: flex; */
-  /* flex-direction: column; */
-  width: 100%;
-}
-.a_add_persent_div {
-  width: 100%;
-  display: flex;
-  align-items: center;
-}
-.a_add_persent_div span {
-  margin: 5px 0;
-}
-.a_add_persent_div span:nth-child(1) {
-  width: 30%;
-}
-.a_add_persent_div span:nth-child(2) {
-  width: 7%;
-}
-.a_add_persent_div span:nth-child(3) {
-  width: 40%;
-}
-.a_add_persent_title {
-  /* margin-bottom: 10px; */
-}
-.a_add_body_div {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  flex-direction: column;
-}
-.askButton > button {
-  color: #fff;
-  background: #2268bc;
-  width: 105px;
-  height: 40px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 40px;
-}
-.student_table >>> .el-table--border td {
-  border-right: 0px !important;
-}
-.el-table >>> .even_row {
-  background-color: #f1f1f1 !important;
-}
-</style>

+ 0 - 314
src/components/pages/askList.vue

@@ -1,314 +0,0 @@
-<template>
-  <div class="pb_content">
-    <div class="pb_head">
-      <span>问卷调查</span>
-    </div>
-    <div class="pb_content_body">
-      <div class="cd_bread">
-        <el-breadcrumb separator-class="el-icon-arrow-right">
-          <el-breadcrumb-item :to="{ path: '/ask?userid='+ userid }"
-            >问卷调查</el-breadcrumb-item
-          >
-          <el-breadcrumb-item>查看已经提交的问卷</el-breadcrumb-item>
-        </el-breadcrumb>
-      </div>
-      <div class="student_table">
-        <el-table
-          ref="table"
-          :data="tableData"
-          border
-          stripe
-          :height="tableHeight"
-          :fit="true"
-          v-loading="isLoading"
-          style="width: 100%; height: 60%"
-          :header-cell-style="{ background: '#f1f1f1' }"
-        >
-          <el-table-column
-            prop="title"
-            label="问卷调查标题"
-            min-width="25"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="name"
-            label="提交者"
-            min-width="25"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="time"
-            label="提交时间"
-            min-width="25"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column label="操作" min-width="25">
-            <template slot-scope="scope">
-              <el-button @click="getAskList(scope.row)" type="text" size="small"
-                >查看</el-button
-              >
-              <el-button
-                @click="deleteAsk(scope.row.id)"
-                type="text"
-                size="small"
-                >删除</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <div class="student_page">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total"
-          @current-change="handleCurrentChange"
-        >
-        </el-pagination>
-      </div>
-    </div>
-    <el-dialog
-      title="查看"
-      :visible.sync="dialogVisible1"
-      :append-to-body="true"
-      width="750px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="a_add_title">
-          <!-- <el-input
-            v-model="askTitle"
-            placeholder="请输入问卷标题"
-            style="width: 400px"
-          ></el-input> -->
-          <h1>{{ askTitle }}</h1>
-        </div>
-        <div class="a_addBox">
-          <div
-            class="a_add_box"
-            v-for="(item, index) in itemCount"
-            :key="index"
-          >
-            <div class="a_add_head">
-              <div>
-                <!-- {{ index + 1 + "、" }}
-                <el-input
-                  class="a_add_head_input"
-                  v-model="askJson[index].askstitle"
-                  placeholder="请输入问卷题目..."
-                ></el-input> -->
-                <span>{{ index + 1 + "、" + askJson[index].askstitle }}</span>
-              </div>
-            </div>
-            <div class="a_add_body">
-              <div class="a_add_input">
-                <el-radio-group v-model="radio[index]">
-                  <el-radio
-                    :label="checkIndex + 1 + ''"
-                    v-for="(item, checkIndex) in askJson[index].askItem"
-                    style="width: 150px; margin: 10px 10px 0 0"
-                    :key="checkIndex"
-                    disabled
-                    >{{ askJson[index].checkList[checkIndex] }}</el-radio
-                  >
-                </el-radio-group>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible1 = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      tableData: [],
-      tableHeight: 500,
-      isLoading: false,
-      page: 1,
-      total: 0,
-      dialogVisible1: false,
-      itemCount: 1,
-      askTitle: "",
-      askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
-      radio: [],
-      userid: this.$route.query.userid,
-    };
-  },
-  methods: {
-    handleClose(done) {
-      done();
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    deleteAsk(id) {
-      let params = [{ id: id }];
-      this.$confirm("确定删除此学生的问卷吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          this.ajax
-            .post(this.$store.state.api + "deleteAskList", params)
-            .then((res) => {
-              this.$message({
-                message: "删除成功",
-                type: "success",
-              });
-              if (this.page != 1 && this.tableData.length == 1) {
-                this.page--;
-              }
-              this.getAsk();
-            })
-            .catch((err) => {
-              this.$message.error("删除失败");
-              console.error(err);
-            });
-        })
-        .catch(() => {});
-    },
-    handleCurrentChange(val) {
-      this.page = val;
-      this.getAsk();
-    },
-    //获取
-    getAsk() {
-      this.isLoading = true;
-      let params = {
-        uid: this.userid,
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "getAskList", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.tableData = res.data[0];
-        })
-        .catch((err) => {
-          this.dialogVisible = false;
-          console.error(err);
-        });
-    },
-    getAskList(res) {
-      this.askTitle = res.title;
-      this.askJson = JSON.parse(res.askContent);
-      this.radio = res.content.split(",");
-      this.itemCount = this.askJson.length;
-      this.dialogVisible1 = true;
-    },
-    changeHeight() {
-      this.tableHeight =
-        window.innerHeight - this.$refs.table.$el.offsetTop - 200;
-      if (this.tableHeight <= 530) {
-        this.tableHeight = 530;
-      }
-      // 监听窗口大小变化
-      let self = this;
-      window.onresize = function () {
-        self.tableHeight =
-          window.innerHeight - self.$refs.table.$el.offsetTop - 200;
-        if (self.tableHeight <= 530) {
-          self.tableHeight = 530;
-        }
-      };
-      // this.$refs.table.$el.offsetTop:表格距离浏览器的高度 //200表示你想要调整的表格距离底部的高度(你可以自己随意调整),因为我们一般都有放分页组件的,所以需要给它留一个高度
-    },
-  },
-  created() {
-    this.$nextTick(function () {
-      this.page = 1;
-      this.changeHeight();
-      this.getAsk();
-    });
-  },
-};
-</script>
-
-<style scoped>
-.dialog_diy >>> .el-dialog__header {
-  background: #3d67bc !important;
-  padding: 15px 20px;
-}
-.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 {
-  max-height: 750px;
-  overflow: auto;
-}
-.dialog_diy >>> .el-dialog {
-  background: #fafafa;
-}
-.cd_bread {
-  margin: 20px auto;
-}
-.student_table {
-  margin: 20px 0;
-}
-
-.a_add_title {
-}
-.a_addBox {
-  margin: 10px 0;
-  background: #fff;
-  padding: 15px;
-}
-.a_add_box {
-  border-bottom: 2px solid #eee;
-  padding-bottom: 10px;
-}
-
-.a_add_head {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  margin: 10px 0;
-  font-size: 18px;
-}
-.a_add_head .a_add_head_input {
-  width: 300px;
-}
-.a_add_head .a_add_head_div {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-}
-.a_add_body {
-  display: flex;
-  align-items: center;
-}
-.a_add_input {
-  display: flex;
-  align-items: center;
-  flex-wrap: wrap;
-}
-.a_add_body_div {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  flex-direction: column;
-}
-</style>

+ 0 - 232
src/components/pages/audioDemo.vue

@@ -1,232 +0,0 @@
-<template>
-  <div class="home" style="margin: 1vw">
-    <Button type="success" @click="getPermission()" style="margin: 1vw"
-      >获取麦克风权限</Button
-    >
-    <br />
-    <Button type="info" @click="startRecorder()" style="margin: 1vw"
-      >开始录音</Button
-    >
-    <Button type="info" @click="resumeRecorder()" style="margin: 1vw"
-      >继续录音</Button
-    >
-    <Button type="info" @click="pauseRecorder()" style="margin: 1vw"
-      >暂停录音</Button
-    >
-    <Button type="info" @click="stopRecorder()" style="margin: 1vw"
-      >结束录音</Button
-    >
-    <br />
-    <Button type="success" @click="playRecorder()" style="margin: 1vw"
-      >录音播放</Button
-    >
-    <Button type="success" @click="pausePlayRecorder()" style="margin: 1vw"
-      >暂停录音播放</Button
-    >
-    <Button type="success" @click="resumePlayRecorder()" style="margin: 1vw"
-      >恢复录音播放</Button
-    >
-    <Button type="success" @click="stopPlayRecorder()" style="margin: 1vw"
-      >停止录音播放</Button
-    >
-    <br />
-    <Button type="info" @click="getRecorder()" style="margin: 1vw"
-      >获取录音信息</Button
-    >
-    <Button type="info" @click="downPCM()" style="margin: 1vw">下载PCM</Button>
-    <Button type="info" @click="downWAV()" style="margin: 1vw">下载WAV</Button>
-    <Button type="info" @click="getMp3Data()" style="margin: 1vw"
-      >下载MP3</Button
-    >
-    <br />
-    <Button type="error" @click="destroyRecorder()" style="margin: 1vw"
-      >销毁录音</Button
-    >
-  </div>
-</template>
-
- 
-<script>
-import Recorder from "js-audio-recorder";
-
-const lamejs = require("lamejs");
-
-const recorder = new Recorder({
-  sampleBits: 16, // 采样位数,支持 8 或 16,默认是16
-  sampleRate: 48000, // 采样率,支持 11025、16000、22050、24000、44100、48000,根据浏览器默认值,我的chrome是48000
-  numChannels: 1, // 声道,支持 1 或 2, 默认是1
-  // compiling: false,(0.x版本中生效,1.x增加中) // 是否边录边转换,默认是false
-});
-
-// 绑定事件-打印的是当前录音数据
-
-recorder.onprogress = function (params) {
-  // console.log('--------------START---------------')
-  // console.log('录音时长(秒)', params.duration);
-  // console.log('录音大小(字节)', params.fileSize);
-  // console.log('录音音量百分比(%)', params.vol);
-  // console.log('当前录音的总数据([DataView, DataView...])', params.data);
-  // console.log('--------------END---------------')
-};
-
-export default {
-  name: "home",
-  methods: {
-    /**
-     * 录音的具体操作功能
-     * */
-
-    // 开始录音
-    startRecorder() {
-      recorder.start().then(
-        () => {
-        },
-        (error) => {
-          // 出错了
-          console.log(`${error.name} : ${error.message}`);
-        }
-      );
-    },
-
-    // 继续录音
-    resumeRecorder() {
-      recorder.resume();
-    },
-    // 暂停录音
-    pauseRecorder() {
-      recorder.pause();
-    },
-    // 结束录音
-    stopRecorder() {
-      recorder.stop();
-    },
-
-    // 录音播放
-    playRecorder() {
-      recorder.play();
-    },
-
-    // 暂停录音播放
-    pausePlayRecorder() {
-      recorder.pausePlay();
-    },
-
-    // 恢复录音播放
-    resumePlayRecorder() {
-      recorder.resumePlay();
-    },
-
-    // 停止录音播放
-    stopPlayRecorder() {
-      recorder.stopPlay();
-    },
-
-    // 销毁录音
-    destroyRecorder() {
-      recorder.destroy();
-      //   .then(function () {
-      // recorder = null;
-      //   });
-    },
-
-    /**
-     * 获取录音文件
-     * */
-
-    getRecorder() {
-      let toltime = recorder.duration; //录音总时长
-      let fileSize = recorder.fileSize; //录音总大小
-      //录音结束,获取取录音数据
-      let PCMBlob = recorder.getPCMBlob(); //获取 PCM 数据
-      let wav = recorder.getWAVBlob(); //获取 WAV 数据
-      let channel = recorder.getChannelData(); //获取左声道和右声道音频数据
-      console.log(toltime);
-    //   debugger;
-    },
-
-    /**
-     * 下载录音文件
-     * */
-
-    //下载pcm
-
-    downPCM() {
-      //这里传参进去的时文件名
-      recorder.downloadPCM("新文件");
-    },
-
-    //下载wav
-
-    downWAV() {
-      //这里传参进去的时文件名
-      recorder.downloadWAV("新文件");
-    },
-
-    /**
-     * 获取麦克风权限
-     * */
-
-    getPermission() {
-      Recorder.getPermission().then(
-        () => {
-          this.$Message.success("获取权限成功");
-        },
-        (error) => {
-          console.log(`${error.name} : ${error.message}`);
-        }
-      );
-    },
-
-    /**
-     * 文件格式转换 wav-map3
-     * */
-
-    getMp3Data() {
-      const mp3Blob = this.convertToMp3(recorder.getWAV());
-      recorder.download(mp3Blob, "recorder", "mp3");
-    },
-
-    convertToMp3(wavDataView) {
-      // 获取wav头信息
-      const wav = lamejs.WavHeader.readHeader(wavDataView); // 此处其实可以不用去读wav头信息,毕竟有对应的config配置
-      const { channels, sampleRate } = wav;
-      const mp3enc = new lamejs.Mp3Encoder(channels, sampleRate, 128);
-      // 获取左右通道数据
-      const result = recorder.getChannelData();
-      const buffer = [];
-      const leftData =
-        result.left &&
-        new Int16Array(result.left.buffer, 0, result.left.byteLength / 2);
-      const rightData =
-        result.right &&
-        new Int16Array(result.right.buffer, 0, result.right.byteLength / 2);
-      const remaining = leftData.length + (rightData ? rightData.length : 0);
-      const maxSamples = 1152;
-      for (let i = 0; i < remaining; i += maxSamples) {
-        const left = leftData.subarray(i, i + maxSamples);
-        let right = null;
-        let mp3buf = null;
-        if (channels === 2) {
-          right = rightData.subarray(i, i + maxSamples);
-          mp3buf = mp3enc.encodeBuffer(left, right);
-        } else {
-          mp3buf = mp3enc.encodeBuffer(left);
-        }
-        if (mp3buf.length > 0) {
-          buffer.push(mp3buf);
-        }
-      }
-
-      const enc = mp3enc.flush();
-      if (enc.length > 0) {
-        buffer.push(enc);
-      }
-      return new Blob(buffer, { type: "audio/mp3" });
-    },
-  },
-};
-</script>
-
- 
-<style  scoped>
-</style>

+ 0 - 585
src/components/pages/banner.vue

@@ -1,585 +0,0 @@
-<template>
-  <div class="pb_content" style="background: unset">
-    <div
-      class="pb_content_body"
-      style="
-        background: #fff;
-        padding: 0px 25px;
-        box-sizing: border-box;
-        border-radius: 5px;
-      "
-    >
-      <div class="pb_head">
-        <span>Banner列表</span>
-      </div>
-      <div class="student_head">
-        <div class="head_right">
-          <el-button @click="dialogVisible = true">添加Banner</el-button>
-        </div>
-      </div>
-    </div>
-    <div class="pb_content_body">
-      <div class="student_table">
-        <el-table
-          ref="table"
-          :data="tableData"
-          border
-          :height="tableHeight"
-          :fit="true"
-          v-loading="isLoading"
-          style="width: 100%"
-          :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
-          :row-class-name="tableRowClassName"
-        >
-          <el-table-column label="图片" min-width="60" align="center">
-            <template slot-scope="scope">
-              <el-image
-                style="width: 200px; height: 100px; cursor: pointer"
-                :src="scope.row.poster"
-                fit="cover"
-                @click="handlePictureCardPreviewA(scope.row.poster)"
-              ></el-image>
-            </template>
-          </el-table-column>
-          <el-table-column prop="type" label="分类" min-width="20">
-            <template slot-scope="scope">
-              {{
-                scope.row.type == 1
-                  ? "绘画"
-                  : scope.row.type == 2
-                  ? "科技"
-                  : scope.row.type == 3
-                  ? "人文"
-                  : "艺术"
-              }}
-            </template>
-          </el-table-column>
-          <el-table-column label="操作" min-width="20">
-            <template slot-scope="scope">
-              <el-button
-                type="primary"
-                size="small"
-                @click="deleteBList(scope.row.id)"
-                >删除</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <div class="student_page">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total"
-          v-if="page"
-          @current-change="handleCurrentChange"
-        ></el-pagination>
-      </div>
-    </div>
-    <el-dialog
-      title="添加Banner"
-      :visible.sync="dialogVisible"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-      center
-    >
-      <div>
-        <div class="dialogBox">
-          <span>添加Banner</span>
-          <el-upload
-            :class="{ disUoloadSty: noneBtnImg }"
-            action="#"
-            list-type="picture-card"
-            :on-preview="handlePictureCardPreview"
-            :on-remove="handleRemove"
-            v-loading="uploadLoading"
-            :http-request="beforeUpload"
-            ref="upload"
-            :show-file-list="true"
-            :limit="1"
-            accept="image/*"
-          >
-            <i class="el-icon-plus"></i>
-          </el-upload>
-        </div>
-        <div class="dialogBox" style="color: #bebebe; margin: 10px 0 0 0">
-          注:适宜上传banner尺寸为1218×300
-        </div>
-        <div class="cTypeCss">
-          <div>分类:</div>
-          <el-select v-model="cType" placeholder="请选择分类">
-            <el-option
-              v-for="(t, tIndex) in typeList"
-              :key="tIndex"
-              :label="t.label"
-              :value="t.value"
-            ></el-option>
-          </el-select>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="addBanner">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog :visible.sync="imgVisible">
-      <img width="100%" :src="dialogImageUrl" alt="" />
-    </el-dialog>
-    <el-dialog :visible.sync="imgVisible1">
-      <img width="100%" :src="dialogImageUrl1" alt="" />
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      tableHeight: "500px",
-      isLoading: false,
-      formLabelWidth: "100px",
-      tableData: [],
-      fileList: [],
-      typeList: [
-        {
-          value: 1,
-          label: "绘画",
-        },
-        {
-          value: 2,
-          label: "科技",
-        },
-        {
-          value: 3,
-          label: "人文",
-        },
-        {
-          value: 4,
-          label: "艺术",
-        },
-      ],
-      cType: "",
-      dialogVisible: false,
-      noneBtnImg: false,
-      dialogImageUrl: "",
-      imgVisible: false,
-      dialogImageUrl1: "",
-      imgVisible1: false,
-      page: 1,
-      total: 0,
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-      cid: this.$route.query.cid,
-      uploadLoading: false,
-      tx: require("../../assets/avatar.png"),
-    };
-  },
-  mounted() {
-    this.$nextTick(function () {
-      this.tableHeight =
-        window.innerHeight - this.$refs.table.$el.offsetTop - 200;
-      if (this.tableHeight <= 530) {
-        this.tableHeight = 530;
-      }
-      // 监听窗口大小变化
-      let self = this;
-      window.onresize = function () {
-        self.tableHeight =
-          window.innerHeight - self.$refs.table.$el.offsetTop - 200;
-        if (self.tableHeight <= 530) {
-          self.tableHeight = 530;
-        }
-      };
-    });
-  },
-  methods: {
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    handleClose(done) {
-      done();
-    },
-    handleCurrentChange(val) {
-      this.page = val;
-      this.getBannerList();
-    },
-    handlePictureCardPreviewA(url) {
-      this.dialogImageUrl1 = url;
-      this.imgVisible1 = true;
-    },
-    imgChange(file, fileList) {
-      var _tmp = this.fileList;
-      this.noneBtnImg = _tmp.length >= 1;
-    },
-    handleRemove(file) {
-      var _tmp = this.fileList;
-      for (var i = 0, len = _tmp.length; i < len; i++) {
-        if (_tmp[i].uid == file.uid) {
-          _tmp.splice(i, 1);
-          break;
-        }
-        this.fileList = _tmp;
-      }
-      this.noneBtnImg = _tmp.length >= 1;
-    },
-    handlePictureCardPreview(file) {
-      this.dialogImageUrl = this.fileList[0].url;
-      this.imgVisible = true;
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    beforeUpload(data) {
-      this.$refs.upload.uploadFiles;
-      this.uploadLoading = true;
-      var file = data.file;
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-          })
-          .send(function (err, data) {
-            _this.uploadLoading = false;
-            if (err) {
-              var a = _this.$refs.upload.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              //上传成功处理
-              _this.fileList.push({
-                name: file.name,
-                url: data.Location,
-                uid: file.uid,
-              });
-              console.log(data.Location);
-              _this.imgChange();
-            }
-          });
-      }
-    },
-    getBannerList() {
-      this.isLoading = true;
-      let params = {
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectBannerList", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.tableData = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    addBanner() {
-      var list = this.fileList;
-      if (list.length == 0) {
-        this.$message.error("请上传需要添加的banner");
-        return;
-      }
-      if (this.time()) {
-        let params = [
-          {
-            url: list[0].url,
-            t: this.cType,
-          },
-        ];
-        this.ajax
-          .post(this.$store.state.api + "insertBannerList", params)
-          .then((res) => {
-            this.$message({
-              message: "添加成功",
-              type: "success",
-            });
-            this.dialogVisible = false;
-            this.cType = "";
-            this.getBannerList();
-            this.init();
-          })
-          .catch((err) => {
-            this.$message.error("添加失败");
-            console.error(err);
-          });
-      }
-    },
-    deleteBList(id) {
-      let params = {
-        id: id,
-      };
-      this.ajax
-        .get(this.$store.state.api + "deleteBannerList", params)
-        .then((res) => {
-          this.$message({
-            message: "删除成功",
-            type: "success",
-          });
-          this.getBannerList();
-        })
-        .catch((err) => {
-          this.$message.error("删除失败");
-          console.error(err);
-        });
-    },
-    init() {
-      this.fileList = [];
-      this.$refs.upload ? (this.$refs.upload.uploadFiles.length = 0) : "";
-      this.noneBtnImg = false;
-      this.dialogImageUrl = "";
-    },
-  },
-  created() {
-    this.page = 1;
-    this.getBannerList();
-  },
-};
-</script>
-
-<style scoped>
-.pb_head > span:nth-child(2) {
-  font-size: 20px;
-  margin-left: 5px;
-  color: #828282;
-}
-.pb_head {
-  margin: 0 !important;
-  width: 100% !important;
-}
-.student_page {
-  margin-top: 10px;
-}
-.student_head {
-  margin-top: 10px;
-  padding-bottom: 10px;
-  display: flex;
-  justify-content: flex-end;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: center;
-}
-.head_left {
-  display: flex;
-  align-items: center;
-}
-.head_right {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: baseline;
-}
-.student_input >>> .el-input__inner {
-  height: 30px;
-  width: 190px;
-  font-size: 13px;
-  padding: 0 10px;
-}
-.student_button {
-  color: #fff;
-  background: #2268bc;
-  width: 60px;
-  height: 30px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 30px;
-}
-.head_right > button:nth-child(1) {
-  color: #fff;
-  background: #2268bc;
-  width: 120px;
-  height: 35px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 35px;
-}
-.head_right > button:nth-child(2) {
-  color: #fff;
-  background: #2268bc;
-  width: 70px;
-  height: 30px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 30px;
-}
-.head_right > div {
-  font-size: 12px;
-  line-height: 40px;
-  margin-left: 10px;
-  color: #2a6dbe;
-  text-decoration: underline;
-  cursor: pointer;
-}
-.student_table >>> .el-table--border td {
-  border-right: 0px !important;
-}
-.student_table >>> .el-table,
-.student_table >>> .el-table__body-wrapper {
-  height: auto !important;
-}
-.el-table >>> .even_row {
-  background-color: #f1f1f1 !important;
-}
-.de_button {
-  color: #fff;
-  background: #5190fd;
-  width: 50px;
-  height: 25px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 25px;
-}
-.add_student >>> .el-dialog__header {
-  padding: 20px 20px 10px;
-  text-align: center;
-  background: #32455b;
-}
-.add_student >>> .el-dialog__title {
-  font-size: 14px !important;
-  color: #fff !important;
-}
-.add_student >>> .el-dialog__headerbtn {
-  font-size: 20px !important;
-}
-.add_student >>> .el-form-item__label {
-  margin-left: 65px;
-}
-.add_student >>> .el-form-item {
-  display: flex;
-}
-.add_student >>> .el-form-item__content {
-  margin: 0 !important;
-}
-.add_input {
-  width: 365px;
-}
-.add_student >>> .el-dialog__footer {
-  text-align: center !important;
-}
-.right {
-  width: 250px;
-  color: #fff;
-  background: #0e72e6;
-  margin-bottom: 20px;
-}
-.header-title {
-  display: flex;
-}
-.logoImg {
-  width: 30px;
-}
-.logoImg > img {
-  width: 100%;
-  height: 100%;
-}
-.title_add_student {
-  margin: 0 auto;
-  color: #fff;
-}
-.upload-demo {
-  line-height: 0px !important;
-}
-.upload-demo >>> .el-button {
-  color: #fff;
-  background: #2268bc;
-  width: 70px;
-  height: 30px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 0 !important;
-}
-
-.userImg {
-  display: flex;
-  flex-direction: row;
-  justify-content: center;
-  align-items: center;
-}
-
-.tx {
-  width: 40px;
-  margin-right: 10px;
-}
-
-.delete {
-  width: 25px;
-  cursor: pointer;
-}
-
-.tx > img,
-.delete > img {
-  width: 100%;
-  height: 100%;
-}
-
-.newCss {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: baseline;
-}
-.disUoloadSty >>> .el-upload--picture-card {
-  display: none; /* 上传按钮隐藏 */
-}
-.dialogBox {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.dialogBox span {
-  margin: 0 20px;
-}
-.cTypeCss {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  justify-content: center;
-  align-items: center;
-  padding-top: 20px;
-}
-</style>

+ 0 - 351
src/components/pages/class.vue

@@ -1,351 +0,0 @@
-<template>
-  <div class="pb_content" style="background: unset">
-    <div
-      class="pb_content_body"
-      style="
-        background: #fff;
-        padding: 0px 25px;
-        box-sizing: border-box;
-        border-radius: 5px;
-      "
-    >
-      <div class="pb_head top">
-      <span>班级管理</span>
-      <div class="student_button">
-        <el-button type="primary" class="bgColor" @click="dialogVisible = true"
-          >添加班级</el-button
-        >
-      </div>
-    </div>
-          <div class="student_head">
-        <div class="student_search">
-          <span>
-            <el-input
-              placeholder="请输入班级名称"
-              v-model="sClassName"
-              clearable
-            >
-            </el-input>
-          </span>
-          <el-button type="primary" @click="searchClass">查询</el-button>
-        </div>
-      </div>
-    </div>
-    <div class="pb_content_body">
-      <div class="student_table">
-        <el-table
-          ref="table"
-          :data="tableData"
-          border
-          :height="tableHeight"
-          :fit="true"
-          v-loading="isLoading"
-          style="width: 100%; height: 60%"
-          :header-cell-style="{ background: '#f1f1f1' }"
-          :row-class-name="tableRowClassName"
-        >
-          <el-table-column
-            prop="name"
-            label="班级名称"
-            min-width="40%"
-            align="center"
-          >
-          </el-table-column>
-		  <el-table-column
-            prop="pnum"
-            label="人数"
-            min-width="40%"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column label="操作" min-width="20%">
-            <template slot-scope="scope">
-              <el-button
-                type="primary"
-                size="small"
-                @click="deleteClass(scope.row.id)"
-                >删除</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <div class="student_page">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total"
-          v-if="page"
-          @current-change="handleCurrentChange"
-        >
-        </el-pagination>
-      </div>
-    </div>
-    <el-dialog
-      title="添加学生"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="25%"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <el-form>
-        <el-form-item label="班级名称" :label-width="formLabelWidth">
-          <el-input
-            v-model="className"
-            auto-complete="off"
-            placeholder="请输入班级..."
-          ></el-input>
-        </el-form-item>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="insertClass">确 定</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      tableHeight: "500px",
-      isLoading: false,
-      formLabelWidth: "100px",
-      sClassName: "",
-      className: "",
-      dialogVisible: false,
-      tableData: [],
-      page: 1,
-      total: 0,
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-    };
-  },
-  created() {
-    this.page = 1;
-    this.getClass();
-  },
-  mounted() {
-    this.$nextTick(function () {
-      this.tableHeight =
-        window.innerHeight - this.$refs.table.$el.offsetTop - 200;
-      if (this.tableHeight <= 530) {
-        this.tableHeight = 530;
-      }
-      // 监听窗口大小变化
-      let self = this;
-      window.onresize = function () {
-        self.tableHeight =
-          window.innerHeight - self.$refs.table.$el.offsetTop - 200;
-        if (self.tableHeight <= 530) {
-          self.tableHeight = 530;
-        }
-      };
-    });
-  },
-  methods: {
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    handleCurrentChange(val) {
-      this.page = val;
-      this.getClass();
-    },
-    handleClose(done) {
-      done();
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    searchClass() {
-      this.page = 1;
-      this.getClass();
-    },
-    //新增班级
-    insertClass() {
-      let params = {
-        name: this.className,
-        oid: this.oid,
-        uid: this.userid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "insertClass", params)
-        .then((res) => {
-          this.$message({
-            message: "新增成功",
-            type: "success",
-          });
-          this.dialogVisible = false;
-          this.sClassName = "";
-          this.getClass();
-          this.className = "";
-        })
-        .catch((err) => {
-          this.$message({
-            message: "新增失败",
-            type: "error",
-          });
-          console.error(err);
-        });
-    },
-    //获取班级列表
-    getClass() {
-      this.isLoading = true;
-      let params = {
-        // username: this.$store.state.userInfo.userid,
-        cu: "",
-        oid: this.oid,
-        cn: this.sClassName,
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectClass", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.tableData = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    //删除班级
-    deleteClass(id) {
-      let params = {
-        id: id,
-      };
-      if (this.time()) {
-        this.$confirm("确定删除此课程吗?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        })
-          .then(() => {
-            this.ajax
-              .get(this.$store.state.api + "deleteClass", params)
-              .then((res) => {
-                this.$message({
-                  message: "删除成功",
-                  type: "success",
-                });
-                if (this.page != 1 && this.tableData.length == 1) {
-                  this.page - 1;
-                }
-                this.getClass();
-              })
-              .catch((err) => {
-                this.$message.error("删除失败");
-                console.error(err);
-              });
-          })
-          .catch(() => {});
-      }
-    },
-  },
-};
-</script>
-
-<style scoped>
-.dialog_diy >>> .el-dialog__header {
-  background: #3d67bc !important;
-  padding: 15px 20px;
-}
-.dialog_diy >>> .el-dialog__title {
-  color: #fff;
-}
-.student_table >>> .el-table--border td {
-  border-right: 0px !important;
-}
-.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;
-}
-.student_head >>> .el-button--primary {
-  background-color: #2268bc;
-}
-.xls_button {
-  font-size: 14px;
-  cursor: pointer;
-  text-decoration: underline;
-  color: rgb(34, 104, 188);
-}
-.pb_head {
-  margin: 0 !important;
-  width: 100% !important;
-}
-.student_page {
-  margin-top: 10px;
-}
-.student_head {
-  margin-top: 10px;
-  padding-bottom: 15px;
-  display: flex;
-  justify-content: space-between;
-}
-.student_search {
-  display: flex;
-  width: 300px;
-}
-.student_search span {
-  margin: 0 10px 0 0;
-}
-.student_button {
-  display: flex;
-  overflow: hidden;
-  height: 40px;
-}
-.student_button .el-button--primary {
-  /* margin-right: 10px; */
-}
-.upload-demo {
-  display: flex;
-  flex-direction: column;
-  align-items: end;
-  /* position: relative; */
-  width: 100px;
-  overflow: hidden;
-}
-.student_table {
-  margin: 20px 0;
-}
-
-.el-table >>> .even_row {
-  background-color: #f1f1f1;
-}
-
-.top {
-  display: flex;
-  justify-content: space-between;
-}
-
-.bgColor {
-  background: #2167bc;
-}
-.student_table >>> .el-table,.student_table >>> .el-table__body-wrapper{
-  height: auto !important;
-}
-</style>

+ 0 - 374
src/components/pages/classGM.vue

@@ -1,374 +0,0 @@
-<template>
-  <div
-    class="pb_content"
-    style="background: unset; overflow: auto; height: 100%"
-  >
-    <div
-      class="pb_content_body"
-      style="
-        background: #fff;
-        padding: 0px 25px;
-        box-sizing: border-box;
-        margin: 10px auto 0;
-      "
-    >
-      <div class="pb_head top">
-        <span>班级管理</span>
-        <div class="student_button">
-          <el-button
-            type="primary"
-            class="bgColor btnClassGM"
-            @click="dialogVisible = true"
-            >添加班级</el-button
-          >
-        </div>
-      </div>
-      <div class="student_head">
-        <div class="student_search">
-          <span>
-            <el-input
-              placeholder="请输入班级名称"
-              v-model="sClassName"
-              clearable
-            >
-            </el-input>
-          </span>
-          <el-button class="btnClassGM" type="primary" @click="searchClass">查询</el-button>
-        </div>
-      </div>
-    </div>
-    <div class="pb_content_body" style="margin:0 auto">
-      <div class="student_table">
-        <el-table
-          ref="table"
-          :data="tableData"
-          border
-          :height="tableHeight"
-          :fit="true"
-          v-loading="isLoading"
-          style="width: 100%; height: 60%"
-          :header-cell-style="{ background: '#f1f1f1' }"
-          :row-class-name="tableRowClassName"
-        >
-          <el-table-column
-            prop="name"
-            label="班级名称"
-            min-width="40%"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="pnum"
-            label="人数"
-            min-width="40%"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column label="操作" min-width="20%">
-            <template slot-scope="scope">
-              <el-button
-                class="btnClassGM"
-                type="primary"
-                size="small"
-                @click="deleteClass(scope.row.id)"
-                >删除</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <div class="student_page">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total"
-          v-if="page"
-          @current-change="handleCurrentChange"
-        >
-        </el-pagination>
-      </div>
-    </div>
-    <el-dialog
-      title="添加学生"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="25%"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <el-form>
-        <el-form-item label="班级名称" :label-width="formLabelWidth">
-          <el-input
-            v-model="className"
-            auto-complete="off"
-            placeholder="请输入班级..."
-          ></el-input>
-        </el-form-item>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button class="cancelbtnGM" @click="dialogVisible = false">取 消</el-button>
-        <el-button class="btnClassGM" type="primary" @click="insertClass">确 定</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      tableHeight: "500px",
-      isLoading: false,
-      formLabelWidth: "100px",
-      sClassName: "",
-      className: "",
-      dialogVisible: false,
-      tableData: [],
-      page: 1,
-      total: 0,
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-    };
-  },
-  created() {
-    this.page = 1;
-    this.getClass();
-  },
-  mounted() {
-    this.$nextTick(function () {
-      this.tableHeight =
-        window.innerHeight - this.$refs.table.$el.offsetTop - 200;
-      if (this.tableHeight <= 530) {
-        this.tableHeight = 530;
-      }
-      // 监听窗口大小变化
-      let self = this;
-      window.onresize = function () {
-        self.tableHeight =
-          window.innerHeight - self.$refs.table.$el.offsetTop - 200;
-        if (self.tableHeight <= 530) {
-          self.tableHeight = 530;
-        }
-      };
-    });
-  },
-  methods: {
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    handleCurrentChange(val) {
-      this.page = val;
-      this.getClass();
-    },
-    handleClose(done) {
-      done();
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    searchClass() {
-      this.page = 1;
-      this.getClass();
-    },
-    //新增班级
-    insertClass() {
-      let params = {
-        name: this.className,
-        oid: this.oid,
-        uid: this.userid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "insertClass", params)
-        .then((res) => {
-          this.$message({
-            message: "新增成功",
-            type: "success",
-          });
-          this.dialogVisible = false;
-          this.sClassName = "";
-          this.getClass();
-          this.className = "";
-        })
-        .catch((err) => {
-          this.$message({
-            message: "新增失败",
-            type: "error",
-          });
-          console.error(err);
-        });
-    },
-    //获取班级列表
-    getClass() {
-      this.isLoading = true;
-      let params = {
-        // username: this.$store.state.userInfo.userid,
-        cu: "",
-        oid: this.oid,
-        cn: this.sClassName,
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectClass", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.tableData = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    //删除班级
-    deleteClass(id) {
-      let params = {
-        id: id,
-      };
-      if (this.time()) {
-        this.$confirm("确定删除此课程吗?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        })
-          .then(() => {
-            this.ajax
-              .get(this.$store.state.api + "deleteClass", params)
-              .then((res) => {
-                this.$message({
-                  message: "删除成功",
-                  type: "success",
-                });
-                if (this.page != 1 && this.tableData.length == 1) {
-                  this.page - 1;
-                }
-                this.getClass();
-              })
-              .catch((err) => {
-                this.$message.error("删除失败");
-                console.error(err);
-              });
-          })
-          .catch(() => {});
-      }
-    },
-  },
-};
-</script>
-
-<style scoped>
-.dialog_diy >>> .el-dialog__header {
-  background: #454545 !important;
-  padding: 15px 20px;
-}
-.dialog_diy >>> .el-dialog__title {
-  color: #fff;
-}
-.student_table >>> .el-table--border td {
-  border-right: 0px !important;
-}
-.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;
-}
-.student_head >>> .el-button--primary {
-  /* background-color: #2268bc; */
-}
-.xls_button {
-  font-size: 14px;
-  cursor: pointer;
-  text-decoration: underline;
-  color: rgb(34, 104, 188);
-}
-.pb_head {
-  margin: 0 !important;
-  width: 100% !important;
-}
-.student_page {
-  margin-top: 10px;
-}
-.student_head {
-  margin-top: 10px;
-  padding-bottom: 15px;
-  display: flex;
-  justify-content: space-between;
-}
-.student_search {
-  display: flex;
-  width: 300px;
-}
-.student_search span {
-  margin: 0 10px 0 0;
-}
-.student_button {
-  display: flex;
-  overflow: hidden;
-  height: 40px;
-}
-.student_button .el-button--primary {
-  /* margin-right: 10px; */
-}
-.upload-demo {
-  display: flex;
-  flex-direction: column;
-  align-items: end;
-  /* position: relative; */
-  width: 100px;
-  overflow: hidden;
-}
-.student_table {
-  /* margin: 20px 0; */
-}
-
-.el-table >>> .even_row {
-  background-color: #f1f1f1;
-}
-
-.top {
-  display: flex;
-  justify-content: space-between;
-}
-
-.bgColor {
-  /* background: #2167bc; */
-}
-.student_table >>> .el-table,
-.student_table >>> .el-table__body-wrapper {
-  height: auto !important;
-}
-
-.student_page
-  >>> .el-pagination.is-background
-  .el-pager
-  li:not(.disabled).active {
-  background-color: #5c549f;
-  color: #fff !important;
-}
-.student_page
-  >>> .el-pagination.is-background
-  .el-pager
-  li:not(.disabled):hover {
-  color: #5c549f;
-}
-
-</style>

+ 0 - 595
src/components/pages/classRoom.vue

@@ -1,595 +0,0 @@
-<template>
-  <div class="pb_content" style="height: auto;background:#fff;width:98%;margin:0 auto;">
-    <div class="pb_head top">
-      <span>课堂备课</span>
-      <!-- <div class="student_button">
-        <el-button
-          type="primary"
-          class="bgColor"
-          @click="goTo('/addPPt?userid=' + userid + '&oid=' + oid)"
-        >添加备课ppt</el-button>
-      </div> -->
-    </div>
-    <div class="pb_content_body" style="height: 100%">
-      <div class="student_head">
-        <div class="student_right">
-          <div class="head_left">
-            <el-input v-model="courseName" class="student_input" placeholder="请输入课程名称"></el-input>
-            <el-button class="course_button" @click="searchCourse">查询</el-button>
-          </div>
-        </div>
-      </div>
-      <div class="student_table">
-        <div class="course_box">
-          <div class="out_box" v-for="(item, index) in course" :key="index">
-            <div class="tup">
-              <img
-                :src="
-									item.poster != null && item.poster != ''
-											? item.poster
-											: mr
-								"
-                alt
-              />
-            </div>
-            <div class="bottom_box">
-              <div>{{ item.name }}</div>
-              <div class="kc_time">{{ item.time }}</div>
-            </div>
-            <div class="three_bottom">
-              <div
-                @click="
-									goTo(
-										'/liveRoom?cid=' +
-											item.id +
-											'&userid=' +
-											userid +
-											'&oid=' +
-											oid
-									)
-								"
-              >开始教学</div>
-              <!-- <div
-                @click="
-									goTo(
-										'/liveRoomKQ?cid=' +
-											item.id +
-											'&userid=' +
-											userid +
-											'&oid=' +
-											oid
-									)
-								"
-              >上课预览</div> -->
-              <!-- <div v-if="groupA == '0'">修改</div> -->
-              <div @click="checkData">报告</div>
-              <!-- <div @click="deleteCourse(item.courseId)">删除</div> -->
-            </div>
-          </div>
-          <div class="course_empty" v-if="course.length == 0">暂无数据</div>
-        </div>
-      </div>
-    </div>
-    <div class="student_page">
-      <el-pagination
-        background
-        layout="prev, pager, next"
-        :page-size="10"
-        :total="total"
-        v-if="page && course.length"
-        style="padding-bottom: 20px"
-        @current-change="handleCurrentChange"
-      ></el-pagination>
-    </div>
-      <el-dialog
-      title="课堂报告"
-      :visible.sync="dataVisible"
-      :append-to-body="true"
-      width="1200px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="a_addBox2">
-          <ActualTimeData></ActualTimeData>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dataVisible = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import "../../common/aws-sdk-2.235.1.min";
-import EditorBar from "../../components/tools/wangEnduit";
-import CourseProblem from "./components/courseProblem";
-import ActualTimeData from "./components/actualTimeData";
-export default {
-  components: { EditorBar, CourseProblem,ActualTimeData },
-  data() {
-    return {
-      dataVisible:false,
-      isLoading: false,
-      formLabelWidth: "100px",
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-      page: 1,
-      total: 0,
-      tableData: [],
-      now: "",
-      groupA: "0",
-      course: [
-        // {
-        //   cover: [],
-        //   courseId:"9a4e8dbe-132e-438e-97db-b07eb01fa04c",
-        //   title: "introduce a festival (Final)",
-        //   time: this.getNowTime(),
-        // },
-      ],
-      courseName: "",
-      mr: require("../../assets/icon/pptImg2.png"),
-    };
-  },
-  methods: {
-    change(val) {
-      console.log(val);
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    jump(cid) {
-      window.parent.postMessage({ cid: cid, type: "1" }, "*");
-    },
-    handleCurrentChange(val) {
-      // console.log(`当前页: ${val}`);
-      this.page = val;
-      this.getData();
-    },
-    init() {},
-    handleClose(done) {
-      done();
-    },
-    handleRemove(file, fileList) {
-      console.log(file, fileList);
-    },
-    onExceed() {
-      this.$message.error("课程海报仅支持上传一张,请删除后再进行上传");
-    },
-    //uuid生成
-    guid() {
-      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (
-        c
-      ) {
-        var r = (Math.random() * 16) | 0,
-          v = c == "x" ? r : (r & 0x3) | 0x8;
-        return v.toString(16);
-      });
-    },
-    getNowTime() {
-      const yy = new Date().getFullYear()
-      const MM = (new Date().getMonth() + 1) < 10 ? '0' + (new Date().getMonth() + 1) : (new Date().getMonth() + 1)
-      const dd = new Date().getDate() < 10 ? '0' + new Date().getDate() : new Date().getDate()
-      const HH = new Date().getHours() < 10 ? '0' + new Date().getHours() : new Date().getHours()
-      const mm = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes() : new Date().getMinutes()
-      const ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() : new Date().getSeconds()
-      return yy + '-' + MM + '-' + dd + ' ' + HH + ':' + mm + ':' + ss
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    searchCourse() {
-      this.page = 1;
-      this.getData();
-    },
-    // deleteCourse(cid) {
-    //   const loading = this.openLoading(
-    //     document.querySelector(".student_table")
-    //   );
-    //   this.isLoading = true;
-    //   let params = {
-    //     cid: cid,
-    //   };
-    //   this.ajax
-    //     .get(this.$store.state.api + "deleteCourse", params)
-    //     .then((res) => {
-    //       loading.close();
-    //       this.isLoading = false;
-    //       this.$message.success("删除成功");
-    //     })
-    //     .catch((err) => {
-    //       console.error(err);
-    //     });
-    // },
-    checkData() {
-      this.dataVisible = true
-    },
-    search() {
-      this.page = 1;
-    },
-    getData(){
-      if (!this.loading) {
-        this.loading = this.openLoading(
-          document.querySelector(".student_table")
-        );
-      }
-    
-      let params = {
-        cn: this.courseName,
-        uid:this.userid,
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "getRealTimeClass", params)
-        .then((res) => {
-          this.loading.close();
-          this.loading = "";
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.course = res.data[0];
-        })
-        .catch((err) => {
-          this.loading.close();
-          this.loading = "";
-          console.error(err);
-        });
-    }
-  },
-  created() {
-    this.page = 1;
-    this.getData();
-  },
-};
-</script>
-
-<style scoped>
-.student_head >>> .el-button--primary {
-  background-color: #2268bc;
-}
-
-.xls_button {
-  font-size: 14px;
-  cursor: pointer;
-  text-decoration: underline;
-  color: rgb(34, 104, 188);
-}
-.student_head {
-  display: flex;
-  justify-content: flex-end;
-  align-items: baseline;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  margin-top: 25px;
-}
-
-.top {
-  display: flex;
-  justify-content: space-between;
-}
-
-.bgColor {
-  background: #466b99;
-}
-
-.student_search {
-  display: flex;
-  align-items: center;
-  width: calc(100% / 3);
-}
-.student_search span {
-  margin: 0 10px 0 0;
-  width: 65px;
-}
-.student_button {
-  display: flex;
-  overflow: hidden;
-  height: 40px;
-}
-.upload-demo {
-  display: flex;
-  flex-direction: column;
-  align-items: end;
-  /* position: relative; */
-  width: 100px;
-  overflow: hidden;
-}
-.student_table {
-  margin: 10px 0;
-  height: 100%;
-  overflow: auto;
-}
-
-.student_empty {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-}
-
-.el-table >>> .even_row {
-  background-color: #f1f1f1;
-}
-
-.time {
-  font-size: 13px;
-  color: #999;
-}
-
-.course_button {
-  padding: 10px 20px;
-}
-.course_button_box {
-  display: flex;
-  margin-top: 5px;
-  justify-content: space-between;
-}
-.course_rate {
-  margin-top: 5px;
-}
-.course_view {
-  display: flex;
-  align-items: center;
-  margin: 5px 0 0 0;
-}
-.course_view i {
-  background-image: url("../../assets/liulan.png");
-  width: 25px;
-  height: 25px;
-  background-size: 100% 100%;
-  /* margin-top: 1px; */
-  line-height: 25px;
-  vertical-align: text-top;
-  background-repeat: no-repeat;
-}
-.image {
-  width: 100%;
-  height: 150px;
-  display: block;
-}
-.course_box {
-  display: flex;
-  flex-wrap: wrap;
-}
-.student_page {
-  width: 95%;
-  margin: 0 auto;
-}
-.course_create_box {
-  font-size: 18px;
-}
-.course_name {
-  margin-top: 10px;
-}
-.course_name span {
-  margin-bottom: 10px;
-  display: block;
-}
-.homework_box {
-  display: flex;
-  align-items: center;
-  flex-wrap: wrap;
-}
-.course_homework {
-  width: 130px;
-  display: flex;
-  justify-content: center;
-  flex-direction: column;
-  align-items: center;
-  margin: 0 10px 10px 0;
-}
-.course_type {
-  margin-top: 10px;
-  display: flex;
-}
-.course_type1 span {
-  margin-bottom: 10px;
-  display: block;
-}
-.course_type2 {
-  margin-left: 20px;
-}
-.course_type2 span {
-  margin-bottom: 10px;
-  display: block;
-}
-.course_empty {
-  color: rgb(110, 110, 110);
-  width: 100%;
-  height: 100%;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.el_cards >>> .el-card__body {
-  height: 100%;
-}
-.courseBtnBox {
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between;
-  height: calc(100% - 170px);
-  padding: 10px;
-}
-
-.wordUpload {
-  display: flex;
-}
-
-.wordUpload > .buttonUp {
-  margin-right: 5px;
-}
-
-.out_box {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  width: 250px;
-  background: #fff;
-  margin-right: 25px;
-  border: 1px solid #ccc;
-  height: fit-content;
-  box-sizing: border-box;
-  border-radius: 0px 0px 5px 5px;
-  overflow: hidden;
-  margin-bottom: 15px;
-}
-
-.bottom_box {
-  display: flex;
-  padding: 10px 0 10px 10px;
-  flex-direction: column;
-  box-sizing: border-box;
-}
-.bottom_box > div:nth-child(1) {
-  width: 230px;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.tup {
-  width: 100%;
-  height: 141.06px;
-  margin: 0 auto;
-}
-
-.tup > img {
-  width: 100%;
-  height: 100%;
-}
-
-.kc_time {
-  margin-top: 8px;
-  font-size: 14px;
-  color: #999;
-}
-.kc_t {
-  margin-top: 5px;
-}
-
-.three_bottom {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-around;
-  height: 40px;
-  align-items: center;
-  background: #f5f4f4;
-  font-size: 14px;
-}
-.three_bottom > div {
-  cursor: pointer;
-}
-
-.three_bottom > div:hover {
-  color: #79a2ff;
-}
-.head_left {
-  display: flex;
-}
-.student_input >>> .el-input__inner {
-  height: 40px;
-  width: 190px;
-  font-size: 13px;
-  padding: 0 10px;
-}
-.course_button {
-  color: #fff;
-  background: #2268bc;
-  width: 75px;
-  height: 40px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 40px;
-}
-.all_choose {
-  margin: 15px 0 10px;
-  height: 20%;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  width: calc(100% / 3);
-}
-.all_choose > span {
-  width: 50px;
-  display: block;
-}
-.choose {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-content: space-between;
-  height: 100%;
-  justify-content: flex-start;
-  width: 60%;
-  min-width: 868px;
-  align-items: center;
-}
-.choose > div:nth-child(2) {
-  margin-left: 1%;
-  width: 32.33333%;
-}
-.choose > div:nth-child(4) {
-  margin-right: 1%;
-  width: 32.33333%;
-}
-.choose > div:nth-child(5) {
-  margin-left: 1%;
-}
-.choose > div:nth-child(4) > span {
-  width: 74px !important;
-  min-width: 74px;
-}
-.choose > div:nth-child(4) >>> .el-select {
-  width: 217.5px;
-  min-width: 215.06px;
-}
-.clear {
-  width: 70px;
-  height: 35px;
-  background: #2268bc;
-  color: #fff;
-  text-align: center;
-  border-radius: 5px;
-  line-height: 35px;
-  cursor: pointer;
-  margin-left: 20px;
-}
-.dialog_diy >>> .el-dialog__header {
-  padding: 9px 20px 10px;
-  background: #32455b !important;
-}
-.dialog_diy >>> .el-dialog__title {
-  color: #fff;
-  font-size: 15px;
-}
-.dialog_diy >>> .el-dialog__headerbtn {
-  top: 14px;
-}
-.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: #f3f3f3;
-}
-</style>

+ 0 - 1079
src/components/pages/course.vue

@@ -1,1079 +0,0 @@
-<template>
-  <div class="pb_content" style="height: auto">
-    <div class="pb_head top">
-      <div>
-        <span>项目管理</span>
-        <span
-          class="subClick"
-          @click="
-            goTo('/works?userid=' + userid + '&oid=' + oid + '&org=' + org)
-          "
-          >评价管理</span
-        >
-      </div>
-      <div class="student_button">
-        <el-button type="primary" class="bgColor" @click="openCourse"
-          >协同编辑</el-button
-        >
-        <el-button type="primary" class="bgColor" @click="goToCourse()"
-          >添加项目</el-button
-        >
-      </div>
-    </div>
-    <div class="pb_content_body" style="height: 100%">
-      <div class="student_head">
-        <div class="choose">
-          <div class="student_search">
-            <span>项目筛选</span>
-            <el-select v-model="groupA" @change="search">
-              <el-option value="0" label="我的项目"></el-option>
-              <el-option value="1" label="他人项目"></el-option>
-            </el-select>
-          </div>
-          <div
-            class="all_choose"
-            v-for="(item, index) in CourseType[0]"
-            :key="index"
-          >
-            <span>{{ item.name }}</span>
-            <el-select
-              v-model="courseTypeId[item.id]"
-              placeholder="请选择"
-              @change="getTypeName"
-            >
-              <el-option label="全部" value="1">全部</el-option>
-              <el-option
-                v-for="item1 in CourseTypeJson[item.id]"
-                :key="item1.id"
-                :label="item1.name"
-                :value="item1.id"
-              >
-              </el-option>
-            </el-select>
-          </div>
-          <div @click="clear" class="clear">重置</div>
-        </div>
-
-        <div class="student_right">
-          <div class="head_left">
-            <el-input
-              v-model="courseName"
-              class="student_input"
-              placeholder="请输入项目名称"
-            ></el-input>
-            <el-button class="course_button" @click="searchCourse"
-              >查询</el-button
-            >
-          </div>
-        </div>
-      </div>
-      <div class="student_table">
-        <div class="course_box">
-          <div class="out_box" v-for="(item, index) in course" :key="index">
-            <div class="myCourse" v-if="item.isCourseType == 1 && groupA == 0">
-              我的项目
-            </div>
-            <div
-              class="myCourse"
-              v-else-if="item.isCourseType == 1 && groupA == 1"
-            >
-              他人项目
-            </div>
-            <div class="xtCourse" v-else>协同项目</div>
-            <div class="tup">
-              <img
-                :src="
-                  item.cover != null && item.cover != ''
-                    ? JSON.parse(item.cover).length > 0
-                      ? JSON.parse(item.cover)[0].url
-                      : mr
-                    : mr
-                "
-                alt
-              />
-            </div>
-            <!-- <div class="bottom_box">
-              <div>{{ item.title }}</div>
-              <div class="kc_t" v-if="groupA == '1'">
-                创建老师:{{ item.uname }}
-              </div>
-              <div class="kc_time">{{ item.time }}</div>
-            </div> -->
-            <div class="bottom_box">
-              <div>{{ item.title }}</div>
-              <div class="kc_t" v-if="item.isCourseType == 2 || groupA == 1">
-                负责老师:{{ item.uname }}
-              </div>
-              <div class="kc_time">
-                <span style="color: #4b4b4b">创建日期:</span>{{ item.time }}
-              </div>
-              <div class="kc_time">
-                <span style="color: #4b4b4b">修改日期:</span>{{ item.utime }}
-              </div>
-            </div>
-            <div class="three_bottom">
-              <div @click="jump(item.courseId)">评课</div>
-              <div v-if="groupA == '0'" @click="goToCourse(item.courseId)">
-                修改
-              </div>
-              <div
-                v-if="groupA == '0'"
-                @click="
-                  goTo(
-                    '/works?cid=' +
-                      item.courseId +
-                      '&userid=' +
-                      userid +
-                      '&oid=' +
-                      oid +
-                      '&org=' +
-                      org
-                  )
-                "
-              >
-                报告
-              </div>
-              <div v-if="groupA == '0'" @click="deleteCourse(item.courseId)">
-                删除
-              </div>
-            </div>
-          </div>
-          <div class="course_empty" v-if="course.length == 0">暂无数据</div>
-        </div>
-      </div>
-    </div>
-    <div class="student_page">
-      <el-pagination
-        background
-        layout="prev, pager, next"
-        :page-size="10"
-        :total="total"
-        v-if="page && course.length"
-        style="padding-bottom: 20px"
-        @current-change="handleCurrentChange"
-      ></el-pagination>
-    </div>
-    <el-dialog :visible.sync="dialogVisible1" size="tiny">
-      <img width="100%" :src="dialogImageUrl" alt />
-    </el-dialog>
-    <el-dialog
-      title="查看提问"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="750px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="a_addBox">
-          <CourseProblem :problemCourse="problemCourse"></CourseProblem>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="查看协同项目"
-      :visible.sync="dialogVisibleCourse"
-      :append-to-body="true"
-      width="850px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div class="ct_box">
-        <div
-          class="out_box"
-          v-for="(item, index) in courseTeam"
-          :key="index"
-          style="margin-left: 15px"
-        >
-          <div class="tup">
-            <img
-              :src="
-                item.cover != null && item.cover != ''
-                  ? JSON.parse(item.cover).length > 0
-                    ? JSON.parse(item.cover)[0].url
-                    : mr
-                  : mr
-              "
-              alt
-            />
-          </div>
-          <div class="bottom_box">
-            <div>{{ item.title }}</div>
-            <div class="kc_t">创建老师:{{ item.uname }}</div>
-            <div class="kc_time">{{ item.time }}</div>
-          </div>
-          <div class="three_bottom">
-            <div @click="jump(item.courseId)">查看内容</div>
-            <div
-              @click="
-                goTo(
-                  '/course/addCourse?cid=' +
-                    item.courseId +
-                    '&userid=' +
-                    userid +
-                    '&oid=' +
-                    oid +
-                    '&org=' +
-                    org
-                )
-              "
-            >
-              编辑
-            </div>
-          </div>
-        </div>
-        <div class="course_empty" v-if="courseTeam.length == 0">暂无数据</div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleCourse = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import "../../common/aws-sdk-2.235.1.min";
-import EditorBar from "../../components/tools/wangEnduit";
-import CourseProblem from "./components/courseProblem";
-export default {
-  components: { EditorBar, CourseProblem },
-  data() {
-    return {
-      itemCount: 1,
-      courseTitle: "",
-      courseText: "",
-      courseTime: "",
-      isLoading: false,
-      fileList: [],
-      fileList1: [],
-      homeworkList: [{ name: "" }],
-      formLabelWidth: "100px",
-      dialogVisible: false,
-      dialogVisible1: false,
-      dialogVisibleCourse: false,
-      dialogImageUrl: "",
-      group: "",
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-      org: this.$route.query.org,
-      Juri: "",
-      groupList: [],
-      JuriList: [],
-      page: 1,
-      total: 0,
-      tableData: [],
-      now: "",
-      courseDetail: {},
-      addCourse: {},
-      groupA: "0",
-      classX: "",
-      course: [],
-      courseName: "",
-      mr: require("../../assets/icon/kc1.png"),
-      CourseType: [],
-      CourseTypeJson: {},
-      courseTypeId: {},
-      courseTypeSon: [],
-      isChoose: 0,
-      problemCourse: null, //查看提问的项目
-      courseTeam: [],
-    };
-  },
-  methods: {
-    change(val) {
-      console.log(val);
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    addHomeworkBox() {
-      this.homeworkList.push({ name: "" });
-      this.itemCount++;
-    },
-    reduceHomeworkBox() {
-      var a = this.homeworkList;
-      a.splice(a.length - 1);
-      this.itemCount--;
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    goToCourse(courseId) {
-      if (courseId) {
-        this.$router.push(
-          "/course/addCourse?cid=" +
-            courseId +
-            "&userid=" +
-            this.userid +
-            "&oid=" +
-            this.oid +
-            "&org=" +
-            this.org
-        );
-      } else {
-        this.$router.push(
-          "/course/addCourse?userid=" +
-            this.userid +
-            "&oid=" +
-            this.oid +
-            "&org=" +
-            this.org
-        );
-      }
-      // this.$router.push(path);
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    jump(cid) {
-      // window.open(
-      //   "//pbl.cocorobo.cn/pbl-student-table/dist/#/courseDetail?courseId=" +
-      //     cid +
-      //     "&userid=" +
-      //     this.userid
-      // );
-      window.parent.postMessage({ cid: cid, screenType: "2" }, "*");
-    },
-    handle_remove(file, fileList) {
-      var _tmp = this.fileList;
-      for (var i = 0, len = _tmp.length; i < len; i++) {
-        if (_tmp[i].uid == file.uid) {
-          _tmp.splice(i, 1);
-          break;
-        }
-        this.fileList = _tmp;
-      }
-    },
-    handle_remove1(file, fileList) {
-      var _tmp = this.fileList1;
-      for (var i = 0, len = _tmp.length; i < len; i++) {
-        if (_tmp[i].uid == file.uid) {
-          _tmp.splice(i, 1);
-          break;
-        }
-        this.fileList1 = _tmp;
-      }
-    },
-    handleCurrentChange(val) {
-      // console.log(`当前页: ${val}`);
-      this.page = val;
-      this.getCourse();
-    },
-    init() {},
-    handleClose(done) {
-      done();
-    },
-    handleRemove(file, fileList) {
-      console.log(file, fileList);
-    },
-    handlePictureCardPreview(file) {
-      this.dialogImageUrl = file.url;
-      this.dialogVisible1 = true;
-    },
-    onExceed() {
-      this.$message.error("项目海报仅支持上传一张,请删除后再进行上传");
-    },
-    //uuid生成
-    guid() {
-      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
-        /[xy]/g,
-        function (c) {
-          var r = (Math.random() * 16) | 0,
-            v = c == "x" ? r : (r & 0x3) | 0x8;
-          return v.toString(16);
-        }
-      );
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    searchCourse() {
-      this.page = 1;
-      this.getCourse();
-    },
-    clear() {
-      for (var i = 0; i < this.CourseType[0].length; i++) {
-        this.courseTypeId[this.CourseType[0][i].id] = "";
-      }
-      this.getCourse();
-    },
-    getCourse() {
-      if (!this.loading) {
-        this.loading = this.openLoading(
-          document.querySelector(".student_table")
-        );
-      }
-      var typeE = [];
-      var typea, typeb, typec, typed;
-      if (this.isChoose == 1) {
-        for (var i = 0; i < this.CourseType[0].length; i++) {
-          if (this.courseTypeId[this.CourseType[0][i].id] == "1") {
-            typeE.push(this.CourseType[0][i].id);
-          } else if (this.courseTypeId[this.CourseType[0][i].id] != "") {
-            if (this.CourseType[0][i].name == "年级") {
-              typea = this.courseTypeId[this.CourseType[0][i].id];
-            } else if (this.CourseType[0][i].name == "专栏") {
-              typeb = this.courseTypeId[this.CourseType[0][i].id];
-            } else if (this.CourseType[0][i].name == "栏目") {
-              typeb = this.courseTypeId[this.CourseType[0][i].id];
-            } else if (this.CourseType[0][i].name == "学院") {
-              typeb = this.courseTypeId[this.CourseType[0][i].id];
-            } else if (this.CourseType[0][i].name == "新技能") {
-              typec = this.courseTypeId[this.CourseType[0][i].id];
-            } else if (this.CourseType[0][i].name == "学科") {
-              typed = this.courseTypeId[this.CourseType[0][i].id];
-            }
-            this.courseTypeSon.push(
-              this.courseTypeId[this.CourseType[0][i].id]
-            );
-          }
-        }
-      }
-      this.isLoading = true;
-      let params = {
-        type: this.groupA,
-        uid: this.userid,
-        oid: this.oid,
-        typea: typea != undefined ? typea : "",
-        typeb: typeb != undefined ? typeb : "",
-        typec: typec != undefined ? typec : "",
-        typed: typed != undefined ? typed : "",
-        typeE: typeE.join(","),
-        cu: "",
-        cn: this.courseName,
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectCourseNew2", params)
-        .then((res) => {
-          this.loading.close();
-          this.loading = "";
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.course = res.data[0];
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    getTypeName() {
-      this.$forceUpdate();
-      this.page = 1;
-      this.isChoose = 1;
-      this.getCourse();
-    },
-    // searchCourse() {
-    //   this.isLoading = true;
-    //   let params = {
-    //     cu: "",
-    //     cn: this.courseName,
-    //     page: this.page,
-    //   };
-    //   this.ajax
-    //     .get(this.$store.state.api + "searchCourse", params)
-    //     .then((res) => {
-    //       this.isLoading = false;
-    //       this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-    //       this.course = res.data[0];
-    //     })
-    //     .catch((err) => {
-    //       this.isLoading = false;
-    //       console.error(err);
-    //     });
-    // },
-    deleteCourse(cid) {
-      const loading = this.openLoading(
-        document.querySelector(".student_table")
-      );
-      this.isLoading = true;
-      if (this.time()) {
-        this.$confirm("确定删除此项目吗?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        })
-          .then(() => {
-            let params = {
-              cid: cid,
-            };
-            this.ajax
-              .get(this.$store.state.api + "deleteCourse", params)
-              .then((res) => {
-                loading.close();
-                this.isLoading = false;
-                this.$message.success("删除成功");
-                this.getCourse();
-              })
-              .catch((err) => {
-                console.error(err);
-              });
-          })
-          .catch(() => {
-            loading.close();
-            this.isLoading = false;
-            return;
-          });
-      }
-    },
-    selectType() {
-      this.ajax
-        .get(this.$store.state.api + "selectType")
-        .then((res) => {
-          this.CourseType = res.data;
-          for (var i = 0; i < res.data[0].length; i++) {
-            if (!this.cid) {
-              this.courseTypeId[res.data[0][i].id] = "";
-            }
-            if (this.oid == "69893dca-1d47-11ed-8c78-005056b86db5") {
-              if (res.data[0][i].name == "栏目") {
-                this.CourseType[0][i].name = "主题";
-              }
-            }
-            for (var j = 0; j < res.data[1].length; j++) {
-              if (res.data[0][i].id == res.data[1][j].pid) {
-                if (!this.CourseTypeJson[res.data[0][i].id]) {
-                  this.CourseTypeJson[res.data[0][i].id] = [];
-                }
-                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
-              }
-            }
-          }
-          this.selectTypeByOid();
-          this.selectTypeByOrg();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectTypeByOid() {
-      let params = {
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectTypeByOid", params)
-        .then((res) => {
-          for (var i = 0; i < res.data[0].length; i++) {
-            for (var j = 0; j < res.data[1].length; j++) {
-              if (res.data[0][i].id == res.data[1][j].pid) {
-                if (!this.CourseTypeJson[res.data[0][i].id]) {
-                  this.CourseTypeJson[res.data[0][i].id] = [];
-                }
-                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
-              }
-            }
-          }
-          this.$forceUpdate();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectTypeByOrg() {
-      let params = {
-        oid: this.org,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectTypeByOrg", params)
-        .then((res) => {
-          for (var i = 0; i < res.data[0].length; i++) {
-            for (var j = 0; j < res.data[1].length; j++) {
-              if (res.data[0][i].id == res.data[1][j].pid) {
-                if (!this.CourseTypeJson[res.data[0][i].id]) {
-                  this.CourseTypeJson[res.data[0][i].id] = [];
-                }
-                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
-              }
-            }
-          }
-          this.$forceUpdate();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    openCourse() {
-      this.dialogVisibleCourse = true;
-      this.getTeamCourse();
-    },
-    getTeamCourse() {
-      let params = {
-        uid: this.userid,
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectCourseTeam", params)
-        .then((res) => {
-          this.courseTeam = res.data[0];
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    search() {
-      this.page = 1;
-      this.getCourse();
-    },
-    checkProblem(res) {
-      this.problemCourse = res;
-      this.dialogVisible = true;
-    },
-  },
-  created() {
-    this.page = 1;
-    this.selectType();
-    this.getCourse();
-  },
-};
-</script>
-
-<style scoped>
-.dialog_diy >>> .el-dialog__header {
-  background: #3d67bc !important;
-  padding: 15px 20px;
-}
-
-.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;
-}
-
-.student_head >>> .el-button--primary {
-  background-color: #2268bc;
-}
-
-.xls_button {
-  font-size: 14px;
-  cursor: pointer;
-  text-decoration: underline;
-  color: rgb(34, 104, 188);
-}
-
-.student_head {
-  display: flex;
-  justify-content: space-between;
-  align-items: baseline;
-  flex-direction: row;
-  flex-wrap: wrap;
-}
-
-.top {
-  display: flex;
-  justify-content: space-between;
-}
-
-.bgColor {
-  background: #466b99;
-}
-
-.student_search {
-  display: flex;
-  align-items: center;
-  width: calc(100% / 3);
-}
-
-.student_search span {
-  margin: 0 10px 0 0;
-  min-width: 65px;
-}
-
-.student_button {
-  display: flex;
-  overflow: hidden;
-  height: 40px;
-}
-
-.upload-demo {
-  display: flex;
-  flex-direction: column;
-  align-items: end;
-  /* position: relative; */
-  width: 100px;
-  overflow: hidden;
-}
-
-.student_table {
-  padding: 20px 0;
-  height: 100%;
-  overflow: auto;
-}
-
-.student_empty {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-}
-
-.el-table >>> .even_row {
-  background-color: #f1f1f1;
-}
-
-.time {
-  font-size: 13px;
-  color: #999;
-}
-
-.course_button {
-  padding: 10px 20px;
-}
-
-.course_button_box {
-  display: flex;
-  margin-top: 5px;
-  justify-content: space-between;
-}
-
-.course_rate {
-  margin-top: 5px;
-}
-
-.course_view {
-  display: flex;
-  align-items: center;
-  margin: 5px 0 0 0;
-}
-
-.course_view i {
-  background-image: url("../../assets/liulan.png");
-  width: 25px;
-  height: 25px;
-  background-size: 100% 100%;
-  /* margin-top: 1px; */
-  line-height: 25px;
-  vertical-align: text-top;
-  background-repeat: no-repeat;
-}
-
-.image {
-  width: 100%;
-  height: 150px;
-  display: block;
-}
-
-.course_box {
-  display: flex;
-  flex-wrap: wrap;
-}
-
-.student_page {
-  width: 95%;
-  margin: 0 auto;
-}
-
-.course_create_box {
-  font-size: 18px;
-}
-
-.course_name {
-  margin-top: 10px;
-}
-
-.course_name span {
-  margin-bottom: 10px;
-  display: block;
-}
-
-.homework_box {
-  display: flex;
-  align-items: center;
-  flex-wrap: wrap;
-}
-
-.course_homework {
-  width: 130px;
-  display: flex;
-  justify-content: center;
-  flex-direction: column;
-  align-items: center;
-  margin: 0 10px 10px 0;
-}
-
-.course_type {
-  margin-top: 10px;
-  display: flex;
-}
-
-.course_type1 span {
-  margin-bottom: 10px;
-  display: block;
-}
-
-.course_type2 {
-  margin-left: 20px;
-}
-
-.course_type2 span {
-  margin-bottom: 10px;
-  display: block;
-}
-
-.course_empty {
-  color: rgb(110, 110, 110);
-  width: 100%;
-  height: 100%;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.el_cards >>> .el-card__body {
-  height: 100%;
-}
-
-.courseBtnBox {
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between;
-  height: calc(100% - 170px);
-  padding: 10px;
-}
-
-.wordUpload {
-  display: flex;
-}
-
-.wordUpload > .buttonUp {
-  margin-right: 5px;
-}
-
-.out_box {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  width: 250px;
-  background: #fff;
-  margin-right: 25px;
-  border: 1px solid #ccc;
-  height: fit-content;
-  box-sizing: border-box;
-  border-radius: 0px 0px 5px 5px;
-  overflow: hidden;
-  margin-bottom: 15px;
-  position: relative;
-}
-
-.bottom_box {
-  display: flex;
-  padding: 10px 0 10px 10px;
-  flex-direction: column;
-  box-sizing: border-box;
-  height: 121px;
-  flex-wrap: nowrap;
-  justify-content: space-evenly;
-}
-
-.bottom_box > div:nth-child(1) {
-  width: 230px;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.tup {
-  width: 100%;
-  height: 141.06px;
-  margin: 0 auto;
-  overflow: hidden;
-  display: flex;
-  align-items: center;
-}
-
-.tup > img {
-  width: 100%;
-  height: 100%;
-  object-fit: contain;
-}
-
-.kc_time {
-  margin-top: 8px;
-  font-size: 14px;
-  color: #999;
-}
-
-.kc_t {
-  margin-top: 5px;
-}
-
-.three_bottom {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-around;
-  height: 40px;
-  align-items: center;
-  background: #f5f4f4;
-  font-size: 14px;
-}
-
-.three_bottom > div {
-  cursor: pointer;
-}
-
-.three_bottom > div:hover {
-  color: #79a2ff;
-}
-
-.head_left {
-  display: flex;
-}
-
-.student_input >>> .el-input__inner {
-  height: 40px;
-  width: 190px;
-  font-size: 13px;
-  padding: 0 10px;
-}
-
-.course_button {
-  color: #fff;
-  background: #2268bc;
-  width: 75px;
-  height: 40px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 40px;
-}
-
-.all_choose {
-  margin: 15px 0 10px;
-  height: 20%;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  width: calc(100% / 3);
-}
-
-.all_choose > span {
-  width: 50px;
-  display: block;
-}
-
-.choose {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-content: space-between;
-  height: 100%;
-  justify-content: flex-start;
-  width: 60%;
-  min-width: 868px;
-  align-items: center;
-}
-
-.choose > div:nth-child(2) {
-  margin-left: 1%;
-  width: 32.33333%;
-}
-
-.choose > div:nth-child(4) {
-  margin-right: 1%;
-  width: 32.33333%;
-}
-
-.choose > div:nth-child(5) {
-  margin: 5px 0 0 1%;
-}
-
-.choose > div:nth-child(4) > span {
-  width: 74px !important;
-  min-width: 74px;
-}
-
-.choose > div:nth-child(4) >>> .el-select {
-  width: 217.5px;
-  min-width: 215.06px;
-}
-
-.clear {
-  width: 70px;
-  height: 35px;
-  background: #2268bc;
-  color: #fff;
-  text-align: center;
-  border-radius: 5px;
-  line-height: 35px;
-  cursor: pointer;
-  margin-left: 20px;
-}
-
-.ct_box {
-  height: 500px;
-  overflow: auto;
-  display: flex;
-  flex-wrap: wrap;
-}
-
-.myCourse {
-  position: absolute;
-  background: #3c3c3c;
-  width: 70px;
-  height: 30px;
-  border-radius: 30px;
-  color: #fff;
-  font-size: 14px;
-  text-align: center;
-  line-height: 30px;
-  top: 5px;
-  left: 5px;
-}
-
-.xtCourse {
-  position: absolute;
-  background: #41a5f0;
-  width: 70px;
-  height: 30px;
-  border-radius: 30px;
-  color: #fff;
-  font-size: 14px;
-  text-align: center;
-  line-height: 30px;
-  top: 5px;
-  left: 5px;
-}
-
-.subClick {
-  font-size: 16px;
-  cursor: pointer;
-  margin-left: 10px;
-  /* color: #ab582f; */
-  color: #409eff;
-}
-</style>

+ 0 - 446
src/components/pages/courseDetail.vue

@@ -1,446 +0,0 @@
-<template>
-  <div class="pb_content">
-    <div class="pb_head">
-      <span>课程管理</span>
-    </div>
-    <div
-      class="pb_content_body"
-      style="width: 100%; height: 89%; overflow: hidden"
-    >
-      <div class="cd_head">
-        <div class="cd_bread">
-          <el-breadcrumb separator-class="el-icon-arrow-right">
-            <el-breadcrumb-item :to="{ path: '/course' }"
-              >课程管理</el-breadcrumb-item
-            >
-            <el-breadcrumb-item>{{ course.title }}</el-breadcrumb-item>
-          </el-breadcrumb>
-        </div>
-        <div class="cd_picture">
-          <div class="cd_image">
-            <el-image
-              style="width: 350px; height: 200px"
-              :src="course.imgUrl"
-              fit="cover"
-            ></el-image>
-          </div>
-          <div class="cd_title">
-            <div>
-              <div class="cd_title_name">
-                <span>{{ course.title }}</span>
-              </div>
-              <!-- <div class="cd_rate">
-              <el-rate></el-rate>
-            </div> -->
-              <div class="course_view">
-                <i></i><span>{{ course.learning }}人在学</span>
-              </div>
-            </div>
-            <div>
-              <el-button type="primary" @click="dialogVisible = true"
-                >查看课程视频</el-button
-              >
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="cd_boder"></div>
-      <div class="cd_content">
-        <div class="cd_content_nav">
-          <div :class="{ active: show }" @click="show = true">
-            <span>课程简介</span>
-          </div>
-          <div :class="{ active: !show }" @click="show = false">
-            <span>学员查看</span>
-          </div>
-        </div>
-        <div class="cd_content_intro" v-if="show">
-          <span v-html="course.brief" class="cont"></span>
-        </div>
-        <div class="cd_content_stutents_box" v-else>
-          <div class="cd_content_stutents">
-            <div v-if="students.length == 0">
-              <span>暂无学生</span>
-            </div>
-            <div class="student_box" v-for="index in students" :key="index">
-              <span>{{ index.name }}</span>
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
-    <el-dialog
-      title="查看课程视频"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="750px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="pb_head" style="width: 100%">
-          <span>{{ course.title }}</span>
-        </div>
-        <div>
-          <div class="workd_head">
-            <div class="workd_media">
-              <!-- <el-image
-                style="width: 100%; height: 300px"
-                :src="require('../../assets/tu4.png')"
-              ></el-image> -->
-              <video-player
-                class="video-player vjs-custom-skin"
-                ref="videoPlayer"
-                :playsinline="true"
-                :options="playerO"
-                @play="onPlayerPlay($event)"
-                style="width: 100%; height: 100%"
-              ></video-player>
-            </div>
-            <div class="cd_content_steps">
-              <div
-                class="cd_steps_box"
-                v-for="(media, index) in course.mediaList"
-                :key="media"
-                @click="switchVideo(media, index)"
-              >
-                <!-- <i :class="{ active: index < 1 }"></i> -->
-                <i
-                  :class="{
-                    active: playerOptions.sources[0].src == media,
-                  }"
-                ></i>
-                <span>视频{{ index + 1 }}</span>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" style="display: flex; justify-content: center">
-        <el-button @click="cancelM">关 闭</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      show: true,
-      id: this.$route.query.id,
-      course: {},
-      students: [],
-      dialogVisible: false,
-      playerOptions: {
-        playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
-        autoplay: false, //如果true,浏览器准备好时开始回放。
-        muted: false, // 默认情况下将会消除任何音频。
-        loop: false, // 导致视频一结束就重新开始。
-        preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
-        language: "zh-CN",
-        aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
-        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
-        sources: [
-          {
-            type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目   || "video/ogg"|| "video/webm"
-            src: "", //url地址require("../../assets/media/aaa.mp4")
-          },
-        ],
-        // poster: require("../../assets/tu31.png"), //你的封面地址
-        // poster: dataRes.imgUrl, //你的封面地址
-        notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
-        controlBar: {
-          timeDivider: true, //当前时间和持续时间的分隔符
-          durationDisplay: true, //显示持续时间
-          remainingTimeDisplay: false, //是否显示剩余时间功能
-          fullscreenToggle: true, //全屏按钮
-        },
-      },
-      playerO: {},
-    };
-  },
-  methods: {
-    getDetail() {
-      const loading = this.$loading.service({
-        background: "rgba(255, 255, 255, 0.7)",
-        target: document.querySelector(".student_table"),
-      });
-      let params = {
-        cid: this.id,
-      };
-      this.ajax
-        .get(this.$store.state.api + "getCourseDetail", params)
-        .then((res) => {
-          loading.close();
-          res.data[0].filter((element) => {
-            element.imgUrl = JSON.parse(element.chapters).poster;
-            element.mediaList = JSON.parse(element.chapters).midia.split(",");
-          });
-          this.course = res.data[0][0];
-          this.students = res.data[1];
-
-          this.playerOptions.poster = this.course.imgUrl;
-          this.playerOptions.sources[0].src = this.course.mediaList[0];
-          this.playerO = this.playerOptions;
-
-          console.log(res.data);
-        })
-        .catch((err) => {
-          loading.close();
-          console.error(err);
-        });
-    },
-    switchVideo(media, index) {
-      this.playerO = {};
-      this.playerOptions.poster = "";
-      this.playerOptions.sources[0].src = media;
-      this.playerO = this.playerOptions;
-    },
-    cancelM() {
-      this.dialogVisible = false;
-      this.$refs.videoPlayer.player.pause();
-    },
-    onPlayerPlay() {},
-    handleClose(done) {
-      this.$refs.videoPlayer.player.pause();
-      done();
-    },
-  },
-  created() {
-    this.getDetail();
-  },
-};
-</script>
-
-<style scoped>
-.course_view {
-  display: flex;
-  align-items: center;
-  margin: 5px 0 0 0;
-  font-size: 14px;
-}
-
-.course_view i {
-  background-image: url("../../assets/liulan.png");
-  width: 25px;
-  height: 25px;
-  background-size: 100% 100%;
-  /* margin-top: 1px; */
-  line-height: 25px;
-  vertical-align: text-top;
-  background-repeat: no-repeat;
-}
-
-.cd_head {
-  background: #fff;
-  width: 94%;
-  margin: 0 auto;
-}
-
-.cd_bread {
-  margin: 20px auto;
-}
-
-.cd_picture {
-  display: flex;
-}
-
-.cd_image {
-  margin-right: 20px;
-}
-
-.cd_title {
-  margin-top: 10px;
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between;
-}
-
-.cd_title_name {
-  font-size: 22px;
-}
-
-.cd_rate {
-  margin: 10px 0;
-}
-
-.cd_boder {
-  border: 5px solid #eee;
-  width: 100%;
-  margin-top: 30px;
-}
-
-.cd_content {
-  width: 94%;
-  margin: 20px auto;
-  height: 59%;
-  overflow: hidden;
-}
-
-.cd_content_nav {
-  height: 55px;
-  margin: 20px 0 0 0;
-  display: flex;
-  align-items: center;
-}
-
-.cd_content_nav div {
-  font-size: 18px;
-  margin-right: 20px;
-  color: rgb(180, 180, 180);
-  padding-bottom: 5px;
-  box-sizing: border-box;
-}
-
-.cd_content_nav .active {
-  border-bottom: 5px solid rgb(90, 124, 194);
-  color: #000;
-}
-
-.cd_content_intro {
-  width: 80%;
-  height: 79%;
-  overflow: auto;
-  min-height: 300px;
-}
-
-.cd_content_intro span {
-  text-indent: 2em;
-  display: block;
-  line-height: 27px;
-}
-.cd_content_stutents_box {
-  width: 80%;
-  height: 79%;
-  overflow: auto;
-  min-height: 300px;
-}
-.cd_content_stutents {
-  display: flex;
-  flex-wrap: wrap;
-}
-
-.student_box {
-  width: 120px;
-  margin: 10px 10px 0 0;
-  background: rgb(227, 117, 154);
-  height: 40px;
-  line-height: 40px;
-  text-align: center;
-  border-radius: 5px;
-  color: #fff;
-}
-/* table 样式 */
-.cont >>> table {
-  border-top: 1px solid #ccc;
-  border-left: 1px solid #ccc;
-}
-.cont >>> table td,
-.cont >>> table th {
-  border-bottom: 1px solid #ccc;
-  border-right: 1px solid #ccc;
-  padding: 3px 5px;
-}
-.cont >>> table th {
-  border-bottom: 2px solid #ccc;
-  text-align: center;
-}
-
-/* blockquote 样式 */
-.cont >>> blockquote {
-  display: block;
-  border-left: 8px solid #d0e5f2;
-  padding: 5px 10px;
-  margin: 10px 0;
-  line-height: 1.4;
-  font-size: 100%;
-  background-color: #f1f1f1;
-}
-
-/* code 样式 */
-.cont >>> code {
-  display: inline-block;
-  *display: inline;
-  *zoom: 1;
-  background-color: #f1f1f1;
-  border-radius: 3px;
-  padding: 3px 5px;
-  margin: 0 3px;
-}
-.cont >>> pre code {
-  display: block;
-}
-
-/* ul ol 样式 */
-.cont >>> ul,
-ol {
-  margin: 10px 0 10px 20px;
-}
-
-.workd_media {
-  width: 100%;
-  height: 400px;
-}
-.pb_head {
-  font-size: 26px;
-  /* font-weight: 600; */
-  width: 95%;
-  margin: 10px auto;
-  padding: 10px 5px;
-  border-bottom: 3px solid #eee;
-}
-
-.cd_content_steps {
-  display: flex;
-  width: 90%;
-  margin: 15px auto 0;
-
-  padding: 15px 0 0 0;
-  justify-content: space-around;
-  border-top: 1px solid #eeeeee;
-}
-.cd_steps_box {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  flex-direction: column;
-  cursor: pointer;
-}
-.cd_steps_box i {
-  background-image: url("../../assets/dui.png");
-  width: 15px;
-  height: 15px;
-  background-size: 100% 100%;
-  display: inline-block;
-  line-height: 15px;
-  vertical-align: text-top;
-  background-repeat: no-repeat;
-}
-.cd_steps_box span {
-  font-size: 15px;
-  margin-top: 5px;
-}
-.cd_steps_box .active {
-  background-image: url("../../assets/dui-active.png");
-}
-.dialog_diy >>> .el-dialog {
-  background: #fafafa;
-}
-.dialog_diy >>> .el-dialog__header {
-  background: #3d67bc !important;
-  padding: 15px 20px;
-}
-.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;
-}
-</style>

+ 0 - 1116
src/components/pages/courseGM.vue

@@ -1,1116 +0,0 @@
-<template>
-  <div class="pb_content" style="height: auto">
-    <div class="pb_head top">
-      <div>
-        <span>项目管理</span>
-        <span
-          class="subClick"
-          @click="
-            goTo('/worksGM?userid=' + userid + '&oid=' + oid + '&org=' + org)
-          "
-          >评价管理</span
-        >
-      </div>
-      <div class="student_button">
-        <el-button type="primary" class="bgColor" @click="openCourse"
-          >协同编辑</el-button
-        >
-        <el-button type="primary" class="bgColor" @click="goToCourse()"
-          >添加项目</el-button
-        >
-      </div>
-    </div>
-    <div class="pb_content_body" style="height: 100%">
-      <div class="student_head">
-        <div class="choose">
-          <div class="student_search">
-            <span>项目筛选</span>
-            <el-select v-model="groupA" @change="search">
-              <el-option value="0" label="我的项目"></el-option>
-              <el-option value="1" label="他人项目"></el-option>
-            </el-select>
-          </div>
-          <div
-            class="all_choose"
-            v-for="(item, index) in CourseType[0]"
-            :key="index"
-          >
-            <span>{{ item.name }}</span>
-            <el-select
-              v-model="courseTypeId[item.id]"
-              placeholder="请选择"
-              @change="getTypeName"
-            >
-              <el-option label="全部" value="1">全部</el-option>
-              <el-option
-                v-for="item1 in CourseTypeJson[item.id]"
-                :key="item1.id"
-                :label="item1.name"
-                :value="item1.id"
-              >
-              </el-option>
-            </el-select>
-          </div>
-          <div @click="clear" class="clear">重置</div>
-        </div>
-
-        <div class="student_right">
-          <div class="head_left">
-            <el-input
-              v-model="courseName"
-              class="student_input"
-              placeholder="请输入项目名称"
-            ></el-input>
-            <el-button class="course_button" @click="searchCourse"
-              >查询</el-button
-            >
-          </div>
-        </div>
-      </div>
-      <div class="student_table">
-        <div class="course_box">
-          <div class="out_box" v-for="(item, index) in course" :key="index">
-            <div class="myCourse" v-if="item.isCourseType == 1 && groupA == 0">
-              我的项目
-            </div>
-            <div
-              class="myCourse"
-              v-else-if="item.isCourseType == 1 && groupA == 1"
-            >
-              他人项目
-            </div>
-            <div class="xtCourse" v-else>协同项目</div>
-            <div class="tup">
-              <img
-                :src="
-                  item.cover != null && item.cover != ''
-                    ? JSON.parse(item.cover).length > 0
-                      ? JSON.parse(item.cover)[0].url
-                      : mr
-                    : mr
-                "
-                alt
-              />
-            </div>
-            <!-- <div class="bottom_box">
-              <div>{{ item.title }}</div>
-              <div class="kc_t" v-if="groupA == '1'">
-                创建老师:{{ item.uname }}
-              </div>
-              <div class="kc_time">{{ item.time }}</div>
-            </div> -->
-            <div class="bottom_box">
-              <div>{{ item.title }}</div>
-              <div class="kc_t" v-if="item.isCourseType == 2 || groupA == 1">
-                负责老师:{{ item.uname }}
-              </div>
-              <div class="kc_time">
-                <span style="color: #4b4b4b">创建日期:</span>{{ item.time }}
-              </div>
-              <div class="kc_time">
-                <span style="color: #4b4b4b">修改日期:</span>{{ item.utime }}
-              </div>
-            </div>
-            <div class="three_bottom">
-              <div @click="jump(item.courseId)">评课</div>
-              <div v-if="groupA == '0'" @click="goToCourse(item.courseId)">
-                修改
-              </div>
-              <div
-                v-if="groupA == '0'"
-                @click="
-                  goTo(
-                    '/works?cid=' +
-                      item.courseId +
-                      '&userid=' +
-                      userid +
-                      '&oid=' +
-                      oid +
-                      '&org=' +
-                      org
-                  )
-                "
-              >
-                报告
-              </div>
-              <div v-if="groupA == '0'" @click="deleteCourse(item.courseId)">
-                删除
-              </div>
-            </div>
-          </div>
-          <div class="course_empty" v-if="course.length == 0">暂无数据</div>
-        </div>
-      </div>
-    </div>
-    <div class="student_page">
-      <el-pagination
-        background
-        layout="prev, pager, next"
-        :page-size="10"
-        :total="total"
-        v-if="page && course.length"
-        style="padding-bottom: 20px"
-        @current-change="handleCurrentChange"
-      ></el-pagination>
-    </div>
-    <el-dialog :visible.sync="dialogVisible1" size="tiny">
-      <img width="100%" :src="dialogImageUrl" alt />
-    </el-dialog>
-    <el-dialog
-      title="查看提问"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="750px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="a_addBox">
-          <CourseProblem :problemCourse="problemCourse"></CourseProblem>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="查看协同项目"
-      :visible.sync="dialogVisibleCourse"
-      :append-to-body="true"
-      width="850px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div class="ct_box">
-        <div
-          class="out_box"
-          v-for="(item, index) in courseTeam"
-          :key="index"
-          style="margin-left: 15px"
-        >
-          <div class="tup">
-            <img
-              :src="
-                item.cover != null && item.cover != ''
-                  ? JSON.parse(item.cover).length > 0
-                    ? JSON.parse(item.cover)[0].url
-                    : mr
-                  : mr
-              "
-              alt
-            />
-          </div>
-          <div class="bottom_box">
-            <div>{{ item.title }}</div>
-            <div class="kc_t">创建老师:{{ item.uname }}</div>
-            <div class="kc_time">{{ item.time }}</div>
-          </div>
-          <div class="three_bottom">
-            <div @click="jump(item.courseId)">查看内容</div>
-            <div
-              @click="
-                goTo(
-                  '/course/addCourse?cid=' +
-                    item.courseId +
-                    '&userid=' +
-                    userid +
-                    '&oid=' +
-                    oid +
-                    '&org=' +
-                    org
-                )
-              "
-            >
-              编辑
-            </div>
-          </div>
-        </div>
-        <div class="course_empty" v-if="courseTeam.length == 0">暂无数据</div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleCourse = false">关 闭</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import "../../common/aws-sdk-2.235.1.min";
-import EditorBar from "../../components/tools/wangEnduit";
-import CourseProblem from "./components/courseProblem";
-export default {
-  components: { EditorBar, CourseProblem },
-  data() {
-    return {
-      itemCount: 1,
-      courseTitle: "",
-      courseText: "",
-      courseTime: "",
-      isLoading: false,
-      fileList: [],
-      fileList1: [],
-      homeworkList: [{ name: "" }],
-      formLabelWidth: "100px",
-      dialogVisible: false,
-      dialogVisible1: false,
-      dialogVisibleCourse: false,
-      dialogImageUrl: "",
-      group: "",
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-      org: this.$route.query.org,
-      Juri: "",
-      groupList: [],
-      JuriList: [],
-      page: 1,
-      total: 0,
-      tableData: [],
-      now: "",
-      courseDetail: {},
-      addCourse: {},
-      groupA: "0",
-      classX: "",
-      course: [],
-      courseName: "",
-      mr: require("../../assets/icon/kc1.png"),
-      CourseType: [],
-      CourseTypeJson: {},
-      courseTypeId: {},
-      courseTypeSon: [],
-      isChoose: 0,
-      problemCourse: null, //查看提问的项目
-      courseTeam: [],
-    };
-  },
-  methods: {
-    change(val) {
-      console.log(val);
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    addHomeworkBox() {
-      this.homeworkList.push({ name: "" });
-      this.itemCount++;
-    },
-    reduceHomeworkBox() {
-      var a = this.homeworkList;
-      a.splice(a.length - 1);
-      this.itemCount--;
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    goToCourse(courseId) {
-      if (courseId) {
-        this.$router.push(
-          "/course/addCourseGM?cid=" +
-            courseId +
-            "&userid=" +
-            this.userid +
-            "&oid=" +
-            this.oid +
-            "&org=" +
-            this.org
-        );
-      } else {
-        this.$router.push(
-          "/course/addCourseGM?userid=" +
-            this.userid +
-            "&oid=" +
-            this.oid +
-            "&org=" +
-            this.org
-        );
-      }
-      // this.$router.push(path);
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    jump(cid) {
-      // window.open(
-      //   "//pbl.cocorobo.cn/pbl-student-table/dist/#/courseDetail?courseId=" +
-      //     cid +
-      //     "&userid=" +
-      //     this.userid
-      // );
-      window.parent.postMessage({ cid: cid, screenType: "2gm" }, "*");
-    },
-    handle_remove(file, fileList) {
-      var _tmp = this.fileList;
-      for (var i = 0, len = _tmp.length; i < len; i++) {
-        if (_tmp[i].uid == file.uid) {
-          _tmp.splice(i, 1);
-          break;
-        }
-        this.fileList = _tmp;
-      }
-    },
-    handle_remove1(file, fileList) {
-      var _tmp = this.fileList1;
-      for (var i = 0, len = _tmp.length; i < len; i++) {
-        if (_tmp[i].uid == file.uid) {
-          _tmp.splice(i, 1);
-          break;
-        }
-        this.fileList1 = _tmp;
-      }
-    },
-    handleCurrentChange(val) {
-      // console.log(`当前页: ${val}`);
-      this.page = val;
-      this.getCourse();
-    },
-    init() {},
-    handleClose(done) {
-      done();
-    },
-    handleRemove(file, fileList) {
-      console.log(file, fileList);
-    },
-    handlePictureCardPreview(file) {
-      this.dialogImageUrl = file.url;
-      this.dialogVisible1 = true;
-    },
-    onExceed() {
-      this.$message.error("项目海报仅支持上传一张,请删除后再进行上传");
-    },
-    //uuid生成
-    guid() {
-      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
-        /[xy]/g,
-        function (c) {
-          var r = (Math.random() * 16) | 0,
-            v = c == "x" ? r : (r & 0x3) | 0x8;
-          return v.toString(16);
-        }
-      );
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    searchCourse() {
-      this.page = 1;
-      this.getCourse();
-    },
-    clear() {
-      for (var i = 0; i < this.CourseType[0].length; i++) {
-        this.courseTypeId[this.CourseType[0][i].id] = "";
-      }
-      this.getCourse();
-    },
-    getCourse() {
-      if (!this.loading) {
-        this.loading = this.openLoading(
-          document.querySelector(".student_table")
-        );
-      }
-      var typeE = [];
-      var typea, typeb, typec, typed;
-      if (this.isChoose == 1) {
-        for (var i = 0; i < this.CourseType[0].length; i++) {
-          if (this.courseTypeId[this.CourseType[0][i].id] == "1") {
-            typeE.push(this.CourseType[0][i].id);
-          } else if (this.courseTypeId[this.CourseType[0][i].id] != "") {
-            if (this.CourseType[0][i].name == "年级") {
-              typea = this.courseTypeId[this.CourseType[0][i].id];
-            } else if (this.CourseType[0][i].name == "专栏") {
-              typeb = this.courseTypeId[this.CourseType[0][i].id];
-            } else if (this.CourseType[0][i].name == "栏目") {
-              typeb = this.courseTypeId[this.CourseType[0][i].id];
-            } else if (this.CourseType[0][i].name == "学院") {
-              typeb = this.courseTypeId[this.CourseType[0][i].id];
-            } else if (this.CourseType[0][i].name == "新技能") {
-              typec = this.courseTypeId[this.CourseType[0][i].id];
-            } else if (this.CourseType[0][i].name == "学科") {
-              typed = this.courseTypeId[this.CourseType[0][i].id];
-            }
-            this.courseTypeSon.push(
-              this.courseTypeId[this.CourseType[0][i].id]
-            );
-          }
-        }
-      }
-      this.isLoading = true;
-      let params = {
-        type: this.groupA,
-        uid: this.userid,
-        oid: this.oid,
-        typea: typea != undefined ? typea : "",
-        typeb: typeb != undefined ? typeb : "",
-        typec: typec != undefined ? typec : "",
-        typed: typed != undefined ? typed : "",
-        typeE: typeE.join(","),
-        cu: "",
-        cn: this.courseName,
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectCourseNew2", params)
-        .then((res) => {
-          this.loading.close();
-          this.loading = "";
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.course = res.data[0];
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    getTypeName() {
-      this.$forceUpdate();
-      this.page = 1;
-      this.isChoose = 1;
-      this.getCourse();
-    },
-    // searchCourse() {
-    //   this.isLoading = true;
-    //   let params = {
-    //     cu: "",
-    //     cn: this.courseName,
-    //     page: this.page,
-    //   };
-    //   this.ajax
-    //     .get(this.$store.state.api + "searchCourse", params)
-    //     .then((res) => {
-    //       this.isLoading = false;
-    //       this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-    //       this.course = res.data[0];
-    //     })
-    //     .catch((err) => {
-    //       this.isLoading = false;
-    //       console.error(err);
-    //     });
-    // },
-    deleteCourse(cid) {
-      const loading = this.openLoading(
-        document.querySelector(".student_table")
-      );
-      this.isLoading = true;
-      if (this.time()) {
-        this.$confirm("确定删除此项目吗?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        })
-          .then(() => {
-            let params = {
-              cid: cid,
-            };
-            this.ajax
-              .get(this.$store.state.api + "deleteCourse", params)
-              .then((res) => {
-                loading.close();
-                this.isLoading = false;
-                this.$message.success("删除成功");
-                this.getCourse();
-              })
-              .catch((err) => {
-                console.error(err);
-              });
-          })
-          .catch(() => {
-            loading.close();
-            this.isLoading = false;
-            return;
-          });
-      }
-    },
-    selectType() {
-      this.ajax
-        .get(this.$store.state.api + "selectType")
-        .then((res) => {
-          this.CourseType = res.data;
-          for (var i = 0; i < res.data[0].length; i++) {
-            if (!this.cid) {
-              this.courseTypeId[res.data[0][i].id] = "";
-            }
-            if (this.oid == "69893dca-1d47-11ed-8c78-005056b86db5") {
-              if (res.data[0][i].name == "栏目") {
-                this.CourseType[0][i].name = "主题";
-              }
-            }
-            for (var j = 0; j < res.data[1].length; j++) {
-              if (res.data[0][i].id == res.data[1][j].pid) {
-                if (!this.CourseTypeJson[res.data[0][i].id]) {
-                  this.CourseTypeJson[res.data[0][i].id] = [];
-                }
-                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
-              }
-            }
-          }
-          this.selectTypeByOid();
-          this.selectTypeByOrg();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectTypeByOid() {
-      let params = {
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectTypeByOid", params)
-        .then((res) => {
-          for (var i = 0; i < res.data[0].length; i++) {
-            for (var j = 0; j < res.data[1].length; j++) {
-              if (res.data[0][i].id == res.data[1][j].pid) {
-                if (!this.CourseTypeJson[res.data[0][i].id]) {
-                  this.CourseTypeJson[res.data[0][i].id] = [];
-                }
-                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
-              }
-            }
-          }
-          this.$forceUpdate();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectTypeByOrg() {
-      let params = {
-        oid: this.org,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectTypeByOrg", params)
-        .then((res) => {
-          for (var i = 0; i < res.data[0].length; i++) {
-            for (var j = 0; j < res.data[1].length; j++) {
-              if (res.data[0][i].id == res.data[1][j].pid) {
-                if (!this.CourseTypeJson[res.data[0][i].id]) {
-                  this.CourseTypeJson[res.data[0][i].id] = [];
-                }
-                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
-              }
-            }
-          }
-          this.$forceUpdate();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    openCourse() {
-      this.dialogVisibleCourse = true;
-      this.getTeamCourse();
-    },
-    getTeamCourse() {
-      let params = {
-        uid: this.userid,
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectCourseTeam", params)
-        .then((res) => {
-          this.courseTeam = res.data[0];
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    search() {
-      this.page = 1;
-      this.getCourse();
-    },
-    checkProblem(res) {
-      this.problemCourse = res;
-      this.dialogVisible = true;
-    },
-  },
-  created() {
-    this.page = 1;
-    this.selectType();
-    this.getCourse();
-  },
-};
-</script>
-
-<style scoped>
-.dialog_diy >>> .el-dialog__header {
-  background: #3d67bc !important;
-  padding: 15px 20px;
-}
-
-.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;
-}
-
-.student_head >>> .el-button--primary {
-  background-color: #2268bc;
-}
-
-.xls_button {
-  font-size: 14px;
-  cursor: pointer;
-  text-decoration: underline;
-  color: rgb(34, 104, 188);
-}
-
-.student_head {
-  display: flex;
-  justify-content: space-between;
-  align-items: baseline;
-  flex-direction: row;
-  flex-wrap: wrap;
-}
-
-.top {
-  display: flex;
-  justify-content: space-between;
-}
-
-.bgColor {
-  background: #8681b7;
-  border-color: #8681b7;
-}
-
-.student_search {
-  display: flex;
-  align-items: center;
-  width: calc(100% / 3);
-}
-
-.student_search span {
-  margin: 0 10px 0 0;
-  min-width: 65px;
-}
-
-.student_button {
-  display: flex;
-  overflow: hidden;
-  height: 40px;
-}
-
-.upload-demo {
-  display: flex;
-  flex-direction: column;
-  align-items: end;
-  /* position: relative; */
-  width: 100px;
-  overflow: hidden;
-}
-
-.student_table {
-  padding: 20px 0;
-  height: 100%;
-  overflow: auto;
-}
-
-.student_empty {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-}
-
-.el-table >>> .even_row {
-  background-color: #f1f1f1;
-}
-
-.time {
-  font-size: 13px;
-  color: #999;
-}
-
-.course_button {
-  padding: 10px 20px;
-}
-
-.course_button_box {
-  display: flex;
-  margin-top: 5px;
-  justify-content: space-between;
-}
-
-.course_rate {
-  margin-top: 5px;
-}
-
-.course_view {
-  display: flex;
-  align-items: center;
-  margin: 5px 0 0 0;
-}
-
-.course_view i {
-  background-image: url("../../assets/liulan.png");
-  width: 25px;
-  height: 25px;
-  background-size: 100% 100%;
-  /* margin-top: 1px; */
-  line-height: 25px;
-  vertical-align: text-top;
-  background-repeat: no-repeat;
-}
-
-.image {
-  width: 100%;
-  height: 150px;
-  display: block;
-}
-
-.course_box {
-  display: flex;
-  flex-wrap: wrap;
-}
-
-.student_page {
-  width: 95%;
-  margin: 0 auto;
-}
-
-.course_create_box {
-  font-size: 18px;
-}
-
-.course_name {
-  margin-top: 10px;
-}
-
-.course_name span {
-  margin-bottom: 10px;
-  display: block;
-}
-
-.homework_box {
-  display: flex;
-  align-items: center;
-  flex-wrap: wrap;
-}
-
-.course_homework {
-  width: 130px;
-  display: flex;
-  justify-content: center;
-  flex-direction: column;
-  align-items: center;
-  margin: 0 10px 10px 0;
-}
-
-.course_type {
-  margin-top: 10px;
-  display: flex;
-}
-
-.course_type1 span {
-  margin-bottom: 10px;
-  display: block;
-}
-
-.course_type2 {
-  margin-left: 20px;
-}
-
-.course_type2 span {
-  margin-bottom: 10px;
-  display: block;
-}
-
-.course_empty {
-  color: rgb(110, 110, 110);
-  width: 100%;
-  height: 100%;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.el_cards >>> .el-card__body {
-  height: 100%;
-}
-
-.courseBtnBox {
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between;
-  height: calc(100% - 170px);
-  padding: 10px;
-}
-
-.wordUpload {
-  display: flex;
-}
-
-.wordUpload > .buttonUp {
-  margin-right: 5px;
-}
-
-.out_box {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  width: 250px;
-  background: #fff;
-  margin-right: 25px;
-  border: 1px solid #ccc;
-  height: fit-content;
-  box-sizing: border-box;
-  border-radius: 0px 0px 5px 5px;
-  overflow: hidden;
-  margin-bottom: 15px;
-  position: relative;
-}
-
-.bottom_box {
-  display: flex;
-  padding: 10px 0 10px 10px;
-  flex-direction: column;
-  box-sizing: border-box;
-  height: 121px;
-  flex-wrap: nowrap;
-  justify-content: space-evenly;
-}
-
-.bottom_box > div:nth-child(1) {
-  width: 230px;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.tup {
-  width: 100%;
-  height: 141.06px;
-  margin: 0 auto;
-  overflow: hidden;
-  display: flex;
-  align-items: center;
-}
-
-.tup > img {
-  width: 100%;
-  height: 100%;
-  object-fit: contain;
-}
-
-.kc_time {
-  margin-top: 8px;
-  font-size: 14px;
-  color: #999;
-}
-
-.kc_t {
-  margin-top: 5px;
-}
-
-.three_bottom {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-around;
-  height: 40px;
-  align-items: center;
-  background: #f5f4f4;
-  font-size: 14px;
-}
-
-.three_bottom > div {
-  cursor: pointer;
-}
-
-.three_bottom > div:hover {
-  color: #79a2ff;
-}
-
-.head_left {
-  display: flex;
-}
-
-.student_input >>> .el-input__inner {
-  height: 40px;
-  width: 190px;
-  font-size: 13px;
-  padding: 0 10px;
-}
-
-.course_button {
-  color: #fff;
-  background: #8681b7;
-  width: 75px;
-  height: 40px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 40px;
-}
-
-.all_choose {
-  margin: 15px 0 10px;
-  height: 20%;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  width: calc(100% / 3);
-}
-
-.all_choose > span {
-  width: 50px;
-  display: block;
-}
-
-.choose {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-content: space-between;
-  height: 100%;
-  justify-content: flex-start;
-  width: 60%;
-  min-width: 868px;
-  align-items: center;
-}
-
-.choose > div:nth-child(2) {
-  margin-left: 1%;
-  width: 32.33333%;
-}
-
-.choose > div:nth-child(4) {
-  margin-right: 1%;
-  width: 32.33333%;
-}
-
-.choose > div:nth-child(5) {
-  margin: 5px 0 0 1%;
-}
-
-.choose > div:nth-child(4) > span {
-  width: 74px !important;
-  min-width: 74px;
-}
-
-.choose > div:nth-child(4) >>> .el-select {
-  width: 217.5px;
-  min-width: 215.06px;
-}
-
-.clear {
-  width: 70px;
-  height: 35px;
-  background: #8681b7;
-  color: #fff;
-  text-align: center;
-  border-radius: 5px;
-  line-height: 35px;
-  cursor: pointer;
-  margin-left: 20px;
-}
-
-.ct_box {
-  height: 500px;
-  overflow: auto;
-  display: flex;
-  flex-wrap: wrap;
-}
-
-.myCourse {
-  position: absolute;
-  background: #3c3c3c;
-  width: 70px;
-  height: 30px;
-  border-radius: 30px;
-  color: #fff;
-  font-size: 14px;
-  text-align: center;
-  line-height: 30px;
-  top: 5px;
-  left: 5px;
-}
-
-.xtCourse {
-  position: absolute;
-  background: #41a5f0;
-  width: 70px;
-  height: 30px;
-  border-radius: 30px;
-  color: #fff;
-  font-size: 14px;
-  text-align: center;
-  line-height: 30px;
-  top: 5px;
-  left: 5px;
-}
-
-.subClick {
-  font-size: 16px;
-  cursor: pointer;
-  margin-left: 10px;
-  /* color: #ab582f; */
-  color: #5c549f;
-}
-
-.student_page
-  >>> .el-pagination.is-background
-  .el-pager
-  li:not(.disabled).active {
-  background-color: #5c549f;
-}
-.student_page
-  >>> .el-pagination.is-background
-  .el-pager
-  li:not(.disabled):hover {
-  color: #5c549f;
-}
-
-.student_search >>> .el-select .el-input.is-focus .el-input__inner {
-  border-color: #5c549f;
-}
-.student_search >>> .el-select .el-input__inner:focus {
-  border-color: #5c549f;
-}
-.el-select-dropdown__item.selected {
-  color: #5c549f;
-}
-
-.student_input.is-active >>> .el-input__inner,
-.student_input  >>> .el-input__inner:focus {
-  border-color: #5c549f;
-}
-
-.all_choose >>> .el-select .el-input.is-focus .el-input__inner {
-  border-color: #5c549f;
-}
-.all_choose >>> .el-select .el-input__inner:focus {
-  border-color: #5c549f;
-}
-
-</style>

+ 0 - 485
src/components/pages/data.vue

@@ -1,485 +0,0 @@
-<template>
-  <div
-    class="pb_content"
-    style="
-      width: 100%;
-      height: 100%;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      min-height: 640px;
-      min-width: unset;
-      margin: 0;
-    "
-  >
-    <div class="pb_content_body" style="position: relative; width: 100%">
-      <div style="width: 100%; margin: 0px auto">
-        <div class="formTop">
-          <div class="tx">
-            <img
-              :src="ruleForm.headportrait ? ruleForm.headportrait : tx"
-              alt
-            />
-          </div>
-          <!-- <div class="right">
-            <div class="name">{{ ruleForm.name }}</div>
-            <div class="rightBottom">
-              <div class="emailImg">
-                <img src="../../assets/email.png" alt />
-              </div>
-              <div class="email">{{ ruleForm.mail }}</div>
-            </div>
-          </div> -->
-        </div>
-        <div class="data_nav">
-          <span @click="type = 1" :class="{ active: type == 1 }">我的资料</span>
-          <span @click="type = 2" :class="{ active: type == 2 }">修改密码</span>
-        </div>
-        <el-form
-          v-if="type == 1"
-          :model="ruleForm"
-          :rules="rules"
-          ref="ruleForm"
-          label-width="100px"
-          class="demo-ruleForm"
-        >
-          <!-- <el-form-item label="姓名" prop="teacherName">
-            <el-input
-              v-model="ruleForm.name"
-              style="width: 250px"
-              placeholder="请输入名字"
-            ></el-input>
-          </el-form-item>-->
-          <el-form-item label="性别">
-            <el-radio-group v-model="ruleForm.sex">
-              <el-radio label="男"></el-radio>
-              <el-radio label="女"></el-radio>
-            </el-radio-group>
-          </el-form-item>
-          <el-form-item label="昵称" prop="name">
-            <el-input
-              v-model="ruleForm.name"
-              style="width: 300px"
-              placeholder="请输入昵称"
-            ></el-input>
-          </el-form-item>
-          <!-- <el-form-item label="邮箱" prop="mail">
-            <el-input
-              v-if="ruleForm.mail == ''"
-              v-model="ruleForm.mail"
-              style="width: 300px"
-              placeholder="请输入邮箱"
-            ></el-input>
-            <el-input
-              v-else
-              disabled
-              v-model="ruleForm.mail"
-              style="width: 300px"
-              placeholder="请输入邮箱"
-            ></el-input>
-          </el-form-item> -->
-          <!-- <el-form-item label="手机号码" prop="phone">
-            <el-input
-              v-model="ruleForm.phone"
-              style="width: 300px"
-              placeholder="请输入手机号码"
-            ></el-input>
-          </el-form-item> -->
-          <el-form-item label="组织" prop="org">
-            <el-select
-              v-model="ruleForm.org"
-              clearable
-              placeholder="暂无组织"
-              disabled
-            >
-              <el-option
-                v-for="item in orgJuri"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="学校" prop="sBySchool">
-            <el-select
-              v-model="ruleForm.sBySchool"
-              clearable
-              placeholder="请选择学校"
-              disabled
-            >
-              <!-- <el-option
-                v-for="item in schoolJuri"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              >
-              </el-option> -->
-              <el-option :value="ruleForm.sBySchool"> </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="身份" prop="type">
-            <el-select
-              v-model="ruleForm.type"
-              clearable
-              placeholder="请选择身份"
-              disabled
-            >
-              <el-option :value="ruleForm.type"> </el-option>
-              <!-- <el-option >学生 </el-option> -->
-            </el-select>
-          </el-form-item>
-          <el-form-item label="个人简介" prop="intro">
-            <el-input
-              v-model="ruleForm.intro"
-              type="textarea"
-              :rows="5"
-              resize="none"
-              placeholder="想说点什么..."
-              style="width: 300px"
-            ></el-input>
-          </el-form-item>
-          <el-form-item>
-            <el-button type="primary" @click="submitForm('ruleForm')"
-              >修改</el-button
-            >
-          </el-form-item>
-        </el-form>
-        <div class="password" v-if="type == 2">
-          <div class="input_box">
-            <span>原密码</span>
-            <el-input
-              class="input"
-              v-model="opassword"
-              placeholder="请输入原密码"
-            ></el-input>
-          </div>
-          <div class="input_box">
-            <span>修改密码</span>
-            <el-input
-              class="input"
-              v-model="password"
-              placeholder="请输入修改密码"
-            ></el-input>
-          </div>
-          <div class="input_box">
-            <span></span>
-            <div class="input">
-              <el-button type="primary" @click="updatePassword">修改</el-button>
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    var validatePass = (rule, value, callback) => {
-      if (value == "") {
-        return;
-      }
-      var reg =
-        /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/;
-      if (!reg.test(value)) {
-        callback(new Error("请输入正确的邮箱"));
-      } else {
-        callback();
-      }
-    };
-    var validatePass1 = (rule, value, callback) => {
-      var reg = /^1\d{10}$/;
-      if (!reg.test(value)) {
-        callback(new Error("请输入正确的手机号码"));
-      } else {
-        callback();
-      }
-    };
-    return {
-      type: 1,
-      ruleForm: {
-        name: "",
-        type: "",
-        sex: "男",
-        intro: "",
-        // mail: "",
-        phone: "",
-        sBySchool: "",
-        org: "",
-        headportrait: "",
-      },
-      opassword: "",
-      password: "",
-      tx: require("../../assets/avatar.png"),
-      userinfo: "",
-      schoolJuri: [],
-      orgJuri: [],
-      userid: this.$route.query.userid,
-      rules: {
-        pass: [{ validator: validatePass, trigger: "blur" }],
-        name: [{ required: true, message: "请输入你的名字", trigger: "blur" }],
-        mail: [
-          {
-            required: true,
-            message: "请输入你的邮箱",
-            trigger: "blur",
-          },
-        ],
-        phone: [
-          // { required: true, message: "请输入你的手机号码", trigger: "blur" },
-
-          {
-            validator: validatePass1,
-            trigger: "blur",
-          },
-        ],
-      },
-    };
-  },
-  methods: {
-    getSchool() {
-      this.isLoading = true;
-      let params = {
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectOrg", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.schoolJuri = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    getOrg() {
-      this.isLoading = true;
-      this.ajax
-        .get(this.$store.state.api + "selectorg2", "")
-        .then((res) => {
-          this.isLoading = false;
-          this.orgJuri = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    submitForm(formName) {
-      this.$refs[formName];
-      let params = [
-        {
-          userid: this.userid,
-          username: this.ruleForm.name,
-          type: this.ruleForm.type == "老师" ? 1 : 2,
-          oid: this.ruleForm.sBySchool,
-          phone: this.ruleForm.phone,
-          intro: this.ruleForm.intro,
-          sex: this.ruleForm.sex == "男" ? "0" : "1",
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updatePblMessage2", params)
-        .then((res) => {
-          this.$message({
-            message: "修改成功",
-            type: "success",
-          });
-          window.parent.postMessage({ close: "1" }, "*");
-          this.getUser();
-        })
-        .catch((err) => {
-          this.$message.error("修改失败");
-          console.error(err);
-        });
-    },
-    getUser() {
-      let params = { uid: this.userid };
-      this.ajax
-        .get(this.$store.state.api + "getUser", params)
-        .then((res) => {
-          this.userinfo = res.data[0][0];
-          // this.$cookies.set("userInfo", this.userinfo, -1);
-          this.$cookies.set("teacherInfo", res.data[0][0], -1);
-          this.$store.commit("update", ["userInfo", this.userinfo]);
-          console.log(res.data[0][0]);
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    getDetail() {
-      let params = { uid: this.userid };
-      this.ajax
-        .get(this.$store.state.api + "getUser", params)
-        .then((res) => {
-          if (res.data[0][0]) {
-            res.data[0][0].sex = res.data[0][0].sex ? "女" : "男";
-            this.ruleForm = res.data[0][0];
-            this.ruleForm.org = res.data[0][0].org
-              ? res.data[0][0].org.split(",")[0]
-              : "";
-            this.ruleForm.type = res.data[0][0].type == 1 ? "老师" : "学生";
-            console.log(res.data[0][0]);
-          }
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    updatePassword() {
-      if (this.password.length < 6) {
-        this.$message.error("密码长度不少于6位");
-        return;
-      }
-      let params = [
-        {
-          userid: this.userid,
-          opassword: this.opassword,
-          password: this.password,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updatePassword", params)
-        .then((res) => {
-          if (res.data[0] && res.data[0].success == 1) {
-            this.$message.success("修改成功");
-            this.opassword = "";
-            this.password = "";
-          } else {
-            this.$message.error("修改失败,原密码不正确");
-          }
-        })
-        .catch((err) => {
-          this.$message.error("修改失败");
-          console.error(err);
-        });
-    },
-  },
-  created() {
-    this.getSchool();
-    this.getOrg();
-    this.getDetail();
-  },
-};
-</script>
-
-<style scoped>
-.formTop {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  margin: 20px 0;
-}
-.formTop >>> .el-form {
-  margin: 0 auto;
-}
-.tx {
-  width: 100px;
-  /* margin-right: 15px; */
-  min-width: 50px;
-  min-height: 50px;
-}
-.emailImg {
-  width: 30px;
-  margin-right: 5px;
-}
-.tx > img,
-.emailImg > img {
-  width: 100%;
-  height: 100%;
-}
-.right {
-  display: flex;
-  flex-direction: column;
-  align-items: flex-start;
-}
-.name {
-  color: #3c88dd;
-  font-size: 20px;
-  margin-bottom: 10px;
-}
-
-.email {
-  color: #acacac;
-  font-size: 18px;
-}
-.rightBottom {
-  display: flex;
-  align-items: center;
-}
-.demo-ruleForm {
-  width: 100%;
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-  align-items: center;
-  background: #fff;
-}
-/* .demo-ruleForm >>> .el-form-item__label:before {
-  content: "*";
-  color: #f56c6c;
-  margin-right: 4px;
-}
-.demo-ruleForm >>> .el-form-item__label:nth-child(3) {
-  content: "";
-} */
-.demo-ruleForm >>> .el-form-item__content {
-  width: 300px;
-}
-
-.data_nav {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  width: 100%;
-  margin: 10px 0;
-}
-
-.data_nav span {
-  box-sizing: border-box;
-  padding: 8px 5px;
-  cursor: pointer;
-  color: #444444;
-  height: 35px;
-}
-
-.data_nav span + span {
-  margin-left: 10px;
-}
-
-.data_nav .active {
-  color: #4aa3ff;
-  border-bottom: 2px solid #409eff;
-}
-
-.password {
-  height: 511px;
-  padding: 50px 0 0 0;
-  box-sizing: border-box;
-  /* display: flex;
-  justify-content: center;
-  align-items: center;
-  flex-direction: column; */
-}
-.input_box {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.input_box span {
-  width: 100px;
-  font-size: 14px;
-  text-align: right;
-  padding: 0 12px 0 0;
-}
-.input_box .input {
-  width: 300px;
-}
-.input_box + .input_box {
-  margin-top: 20px;
-}
-</style>

+ 0 - 529
src/components/pages/dataGM.vue

@@ -1,529 +0,0 @@
-<template>
-  <div
-    class="pb_content"
-    style="
-      width: 100%;
-      height: 100%;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      min-height: 640px;
-      min-width: unset;
-      margin: 0;
-    "
-  >
-    <div class="pb_content_body" style="position: relative; width: 100%">
-      <div style="width: 100%; margin: 0px auto">
-        <div class="formTop">
-          <div class="tx">
-            <img
-              :src="ruleForm.headportrait ? ruleForm.headportrait : tx"
-              alt
-            />
-          </div>
-          <!-- <div class="right">
-            <div class="name">{{ ruleForm.name }}</div>
-            <div class="rightBottom">
-              <div class="emailImg">
-                <img src="../../assets/email.png" alt />
-              </div>
-              <div class="email">{{ ruleForm.mail }}</div>
-            </div>
-          </div> -->
-        </div>
-        <div class="data_nav">
-          <span @click="type = 1" :class="{ active: type == 1 }">我的资料</span>
-          <span @click="type = 2" :class="{ active: type == 2 }">修改密码</span>
-        </div>
-        <el-form
-          v-if="type == 1"
-          :model="ruleForm"
-          :rules="rules"
-          ref="ruleForm"
-          label-width="100px"
-          class="demo-ruleForm"
-        >
-          <!-- <el-form-item label="姓名" prop="teacherName">
-            <el-input
-              v-model="ruleForm.name"
-              style="width: 250px"
-              placeholder="请输入名字"
-            ></el-input>
-          </el-form-item>-->
-          <el-form-item label="性别">
-            <el-radio-group v-model="ruleForm.sex">
-              <el-radio label="男"></el-radio>
-              <el-radio label="女"></el-radio>
-            </el-radio-group>
-          </el-form-item>
-          <el-form-item label="昵称" prop="name">
-            <el-input
-              v-model="ruleForm.name"
-              style="width: 300px"
-              placeholder="请输入昵称"
-            ></el-input>
-          </el-form-item>
-          <!-- <el-form-item label="邮箱" prop="mail">
-            <el-input
-              v-if="ruleForm.mail == ''"
-              v-model="ruleForm.mail"
-              style="width: 300px"
-              placeholder="请输入邮箱"
-            ></el-input>
-            <el-input
-              v-else
-              disabled
-              v-model="ruleForm.mail"
-              style="width: 300px"
-              placeholder="请输入邮箱"
-            ></el-input>
-          </el-form-item> -->
-          <!-- <el-form-item label="手机号码" prop="phone">
-            <el-input
-              v-model="ruleForm.phone"
-              style="width: 300px"
-              placeholder="请输入手机号码"
-            ></el-input>
-          </el-form-item> -->
-          <el-form-item label="组织" prop="org">
-            <el-select
-              v-model="ruleForm.org"
-              clearable
-              placeholder="暂无组织"
-              disabled
-            >
-              <el-option
-                v-for="item in orgJuri"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="学校" prop="sBySchool">
-            <el-select
-              v-model="ruleForm.sBySchool"
-              clearable
-              placeholder="请选择学校"
-              disabled
-            >
-              <!-- <el-option
-                v-for="item in schoolJuri"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              >
-              </el-option> -->
-              <el-option :value="ruleForm.sBySchool"> </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="身份" prop="type">
-            <el-select
-              v-model="ruleForm.type"
-              clearable
-              placeholder="请选择身份"
-              disabled
-            >
-              <el-option :value="ruleForm.type"> </el-option>
-              <!-- <el-option >学生 </el-option> -->
-            </el-select>
-          </el-form-item>
-          <el-form-item label="个人简介" prop="intro">
-            <el-input
-              v-model="ruleForm.intro"
-              type="textarea"
-              :rows="5"
-              resize="none"
-              placeholder="想说点什么..."
-              style="width: 300px"
-            ></el-input>
-          </el-form-item>
-          <el-form-item>
-            <el-button
-              class="btnClassGM"
-              type="primary"
-              @click="submitForm('ruleForm')"
-              >修改</el-button
-            >
-          </el-form-item>
-        </el-form>
-        <div class="password" v-if="type == 2">
-          <div class="input_box">
-            <span>原密码</span>
-            <el-input
-              class="input"
-              v-model="opassword"
-              placeholder="请输入原密码"
-            ></el-input>
-          </div>
-          <div class="input_box">
-            <span>修改密码</span>
-            <el-input
-              class="input"
-              v-model="password"
-              placeholder="请输入修改密码"
-            ></el-input>
-          </div>
-          <div class="input_box">
-            <span></span>
-            <div class="input">
-              <el-button
-                class="btnClassGM"
-                type="primary"
-                @click="updatePassword"
-                >修改</el-button
-              >
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    var validatePass = (rule, value, callback) => {
-      if (value == "") {
-        return;
-      }
-      var reg =
-        /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/;
-      if (!reg.test(value)) {
-        callback(new Error("请输入正确的邮箱"));
-      } else {
-        callback();
-      }
-    };
-    var validatePass1 = (rule, value, callback) => {
-      var reg = /^1\d{10}$/;
-      if (!reg.test(value)) {
-        callback(new Error("请输入正确的手机号码"));
-      } else {
-        callback();
-      }
-    };
-    return {
-      type: 1,
-      ruleForm: {
-        name: "",
-        type: "",
-        sex: "男",
-        intro: "",
-        // mail: "",
-        phone: "",
-        sBySchool: "",
-        org: "",
-        headportrait: "",
-      },
-      opassword: "",
-      password: "",
-      tx: require("../../assets/avatar.png"),
-      userinfo: "",
-      schoolJuri: [],
-      orgJuri: [],
-      userid: this.$route.query.userid,
-      rules: {
-        pass: [{ validator: validatePass, trigger: "blur" }],
-        name: [{ required: true, message: "请输入你的名字", trigger: "blur" }],
-        mail: [
-          {
-            required: true,
-            message: "请输入你的邮箱",
-            trigger: "blur",
-          },
-        ],
-        phone: [
-          // { required: true, message: "请输入你的手机号码", trigger: "blur" },
-
-          {
-            validator: validatePass1,
-            trigger: "blur",
-          },
-        ],
-      },
-    };
-  },
-  methods: {
-    getSchool() {
-      this.isLoading = true;
-      let params = {
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectOrg", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.schoolJuri = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    getOrg() {
-      this.isLoading = true;
-      this.ajax
-        .get(this.$store.state.api + "selectorg2", "")
-        .then((res) => {
-          this.isLoading = false;
-          this.orgJuri = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    submitForm(formName) {
-      this.$refs[formName];
-      let params = [
-        {
-          userid: this.userid,
-          username: this.ruleForm.name,
-          type: this.ruleForm.type == "老师" ? 1 : 2,
-          oid: this.ruleForm.sBySchool,
-          phone: this.ruleForm.phone,
-          intro: this.ruleForm.intro,
-          sex: this.ruleForm.sex == "男" ? "0" : "1",
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updatePblMessage2", params)
-        .then((res) => {
-          this.$message({
-            message: "修改成功",
-            type: "success",
-          });
-          window.parent.postMessage({ close: "1" }, "*");
-          this.getUser();
-        })
-        .catch((err) => {
-          this.$message.error("修改失败");
-          console.error(err);
-        });
-    },
-    getUser() {
-      let params = { uid: this.userid };
-      this.ajax
-        .get(this.$store.state.api + "getUser", params)
-        .then((res) => {
-          this.userinfo = res.data[0][0];
-          // this.$cookies.set("userInfo", this.userinfo, -1);
-          this.$cookies.set("teacherInfo", res.data[0][0], -1);
-          this.$store.commit("update", ["userInfo", this.userinfo]);
-          console.log(res.data[0][0]);
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    getDetail() {
-      let params = { uid: this.userid };
-      this.ajax
-        .get(this.$store.state.api + "getUser", params)
-        .then((res) => {
-          if (res.data[0][0]) {
-            res.data[0][0].sex = res.data[0][0].sex ? "女" : "男";
-            this.ruleForm = res.data[0][0];
-            this.ruleForm.org = res.data[0][0].org
-              ? res.data[0][0].org.split(",")[0]
-              : "";
-            this.ruleForm.type = res.data[0][0].type == 1 ? "老师" : "学生";
-            console.log(res.data[0][0]);
-          }
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    updatePassword() {
-      if (this.password.length < 6) {
-        this.$message.error("密码长度不少于6位");
-        return;
-      }
-      let params = [
-        {
-          userid: this.userid,
-          opassword: this.opassword,
-          password: this.password,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updatePassword", params)
-        .then((res) => {
-          if (res.data[0] && res.data[0].success == 1) {
-            this.$message.success("修改成功");
-            this.opassword = "";
-            this.password = "";
-          } else {
-            this.$message.error("修改失败,原密码不正确");
-          }
-        })
-        .catch((err) => {
-          this.$message.error("修改失败");
-          console.error(err);
-        });
-    },
-  },
-  created() {
-    this.getSchool();
-    this.getOrg();
-    this.getDetail();
-  },
-};
-</script>
-
-<style scoped>
-.formTop {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  margin: 20px 0;
-}
-.formTop >>> .el-form {
-  margin: 0 auto;
-}
-.tx {
-  width: 100px;
-  /* margin-right: 15px; */
-  min-width: 50px;
-  min-height: 50px;
-}
-.emailImg {
-  width: 30px;
-  margin-right: 5px;
-}
-.tx > img,
-.emailImg > img {
-  width: 100%;
-  height: 100%;
-}
-.right {
-  display: flex;
-  flex-direction: column;
-  align-items: flex-start;
-}
-.name {
-  color: #3c88dd;
-  font-size: 20px;
-  margin-bottom: 10px;
-}
-
-.email {
-  color: #acacac;
-  font-size: 18px;
-}
-.rightBottom {
-  display: flex;
-  align-items: center;
-}
-.demo-ruleForm {
-  width: 100%;
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-  align-items: center;
-  background: #fff;
-}
-/* .demo-ruleForm >>> .el-form-item__label:before {
-  content: "*";
-  color: #f56c6c;
-  margin-right: 4px;
-}
-.demo-ruleForm >>> .el-form-item__label:nth-child(3) {
-  content: "";
-} */
-.demo-ruleForm >>> .el-form-item__content {
-  width: 300px;
-}
-
-.data_nav {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  width: 100%;
-  margin: 10px 0;
-}
-
-.data_nav span {
-  box-sizing: border-box;
-  padding: 8px 5px;
-  cursor: pointer;
-  color: #444444;
-  height: 35px;
-}
-
-.data_nav span + span {
-  margin-left: 10px;
-}
-
-.data_nav .active {
-  color: #5c549f;
-  border-bottom: 2px solid #5c549f;
-}
-
-.password {
-  height: 511px;
-  padding: 50px 0 0 0;
-  box-sizing: border-box;
-  /* display: flex;
-  justify-content: center;
-  align-items: center;
-  flex-direction: column; */
-}
-.input_box {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.input_box span {
-  width: 100px;
-  font-size: 14px;
-  text-align: right;
-  padding: 0 12px 0 0;
-}
-.input_box .input {
-  width: 300px;
-}
-.input_box + .input_box {
-  margin-top: 20px;
-}
-
-.demo-ruleForm >>> .el-input.is-focus .el-input__inner {
-  border-color: #5c549f;
-}
-.demo-ruleForm >>> .el-input__inner:focus {
-  border-color: #5c549f;
-}
-
-.demo-ruleForm >>> .el-input.is-focus .el-textarea__inner {
-  border-color: #5c549f;
-}
-.demo-ruleForm >>> .el-textarea__inner:focus {
-  border-color: #5c549f;
-}
-
-.password >>> .el-input.is-focus .el-input__inner {
-  border-color: #5c549f;
-}
-.password >>> .el-input__inner:focus {
-  border-color: #5c549f;
-}
-
-.password >>> .el-input.is-focus .el-textarea__inner {
-  border-color: #5c549f;
-}
-.password >>> .el-textarea__inner:focus {
-  border-color: #5c549f;
-}
-
-.demo-ruleForm >>> .el-radio__input.is-checked .el-radio__inner {
-  border-color: #5c549f;
-  background: #5c549f;
-}
-.demo-ruleForm >>> .el-radio__input.is-checked + .el-radio__label {
-  color: #5c549f;
-}
-</style>

+ 0 - 74
src/components/pages/demo.vue

@@ -1,74 +0,0 @@
-<template>
-    <div class="pop-over">
-        <a @click="toggleOpen" class="pop-button" href="javascript: void(0);">
-            123456
-        </a>
-        <ul v-clickoutside="close" v-show="open" class="pop-list">
-            <li>选项1</li>
-            <li>选项2</li>
-            <li>选项3</li>
-            <li>选项4</li>
-        </ul>
-    </div>
-</template>
-
-<script>
-export default {
-    name: 'PopOver',
-    props: ['buttonText'],
-    data() {
-        return {
-            open: false
-        }
-    },
-    methods: {
-        toggleOpen: function() {
-            this.open = !this.open;
-        },
-        close: function(e) {
-            if(this.$el.contains(e.target)) return;
-            this.open = false;
-        }
-    },
-    directives: {
-        clickoutside: {
-            bind: function (el, binding, vnode) {
-                const documentHandler = function (e) {
-                    if (!vnode.context || el.contains(e.target)) return;
-                    binding.value(e);
-                };
-
-                setTimeout(() => {
-                    document.addEventListener('click', documentHandler);
-                }, 0);
-            }
-        }
-    }
-}
-</script>
-
-<style scoped>
-.pop-over {
-    position: relative;
-    width: 100%;
-    height: 100%;
-}
-.pop-button {
-    position: relative;
-    width: 100%;
-    height: 100%;
-    text-decoration:none;
-    color: inherit;
-}
-.pop-list {
-    position: absolute;
-    left: 0;
-    top: 0;
-}
-.pop-list li {
-    width: 100%;
-    height: 100%;
-    padding: 8px 3px;
-    list-style:none;
-}
-</style>

+ 0 - 51
src/components/pages/demoPdf.vue

@@ -1,51 +0,0 @@
-<template>
-  <div class="pdfBody">
-    <Pdf2 ref="pdf" @getPageTotal="getPageTotal" :getPage="getPage"></Pdf2>
-    <div class="btnbox">
-      <el-button type="primary" @click="nextPage">下一页</el-button>
-      <el-button type="primary" @click="prePage">上一页</el-button>
-    </div>
-  </div>
-</template>
-
-<script>
-import Pdf2 from "./components/pdf2";
-export default {
-  components: {
-    Pdf2,
-  },
-  data() {
-    return {
-      pageTotal: 0, //总页数
-      page: 0, //第几页
-    };
-  },
-  methods: {
-    getPageTotal(total) {
-      this.pageTotal = total;
-    },
-    getPage(page) {
-      this.page = page;
-      console.log(page);
-    },
-    nextPage(){
-        this.$refs.pdf.nextPage();
-    },
-    prePage(){
-        this.$refs.pdf.prePage();
-    }
-  },
-};
-</script>
-
-<style>
-.pdfBody {
-  height: 100%;
-  width: 100%;
-  position: relative;
-}
-.btnbox {
-  position: absolute;
-  top: 0;
-}
-</style>

+ 0 - 47
src/components/pages/demoPdf2.vue

@@ -1,47 +0,0 @@
-<template>
-  <div class="pdfBody">
-    <Pdf3 ref="pdf" @getPageTotal="getPageTotal" :getPage="getPage"></Pdf3>
-  </div>
-</template>
-
-<script>
-import Pdf3 from "./components/pdf3";
-export default {
-  components: {
-    Pdf3,
-  },
-  data() {
-    return {
-      pageTotal: 0, //总页数
-      page: 0, //第几页
-    };
-  },
-  methods: {
-    getPageTotal(total) {
-      this.pageTotal = total;
-    },
-    getPage(page) {
-      this.page = page;
-      console.log(page);
-    },
-    nextPage(){
-        this.$refs.pdf.nextPage();
-    },
-    prePage(){
-        this.$refs.pdf.prePage();
-    }
-  },
-};
-</script>
-
-<style>
-.pdfBody {
-  height: 100%;
-  width: 100%;
-  position: relative;
-}
-.btnbox {
-  position: absolute;
-  top: 0;
-}
-</style>

+ 0 - 449
src/components/pages/evaluation copy.vue

@@ -1,449 +0,0 @@
-<template>
-  <div
-    class="pb_content"
-    style="
-      background: unset;
-      overflow: auto;
-      padding: 20px;
-      margin: 0;
-      box-sizing: border-box;
-    "
-  >
-    <div>
-      <div
-        class="pb_content_body"
-        style="
-          background: #fff;
-          padding: 0px 25px;
-          box-sizing: border-box;
-          border-radius: 5px;
-        "
-      >
-        <div class="pb_head top">
-          <span>评价体系设置</span>
-          <div class="student_button">
-            <el-button type="primary" class="bgColor" @click="dialogVisible = true">添加评价体系</el-button>
-          </div>
-        </div>
-        <div class="student_head">
-          <div class="student_search">
-            <el-input placeholder="请输入名称"></el-input>
-            <el-button type="primary" class="btn">查询</el-button>
-          </div>
-        </div>
-      </div>
-      <div class="pb_content_body" style="height: 100%">
-        <div class="e_box">
-          <div class="e_card" v-for="(item,index) in 10" :key="index">
-            <div class="e_card_picture">
-              <img src="../../assets/e_picture.png" />
-            </div>
-            <div class="e_card_name">
-              <span>教学课堂评价体系</span>
-            </div>
-            <div class="e_card_time">
-              <span>2022-06-23 17:33:29</span>
-            </div>
-            <div class="e_card_btn">
-              <span>查看</span>
-              <span>删除</span>
-            </div>
-          </div>
-        </div>
-        <div class="student_page">
-          <el-pagination
-            background
-            layout="prev, pager, next"
-            :page-size="10"
-            :total="total"
-            style="padding-bottom: 20px"
-            @current-change="handleCurrentChange"
-          ></el-pagination>
-        </div>
-      </div>
-    </div>
-    <el-dialog
-      title="添加评价体系"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="1000px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="e_add_top">
-          <div class="e_add_title">
-            <span>评价体系名称</span>
-            <el-input v-model="eTitle" placeholder="请输入名称"></el-input>
-          </div>
-          <div class="e_add_btn">
-            <el-button type="primary" @click="dialogVisible2 = true">添加一级标题</el-button>
-          </div>
-        </div>
-        <div class="e_add_content">
-          <div class="e_add_list" v-for="(item,index) in eJson" :key="index">
-            <div class="e_add_list_title">
-              <span v-if="item.name.length < 8">{{item.name}}</span>
-              <el-tooltip
-                v-else
-                class="item"
-                effect="dark"
-                :content="item.name"
-                placement="top-start"
-              >
-                <span>{{item.name}}</span>
-              </el-tooltip>
-              <img src="../../assets/delete.png" @click="deleteF(index)" alt />
-            </div>
-            <div class="e_add_list_body">
-              <div class="e_add_list_child" v-for="(cItem,cIndex) in item.child" :key="cIndex">
-                <span v-if="cItem.name.length<11">{{cItem.name}}</span>
-                <el-tooltip
-                  v-else
-                  class="item"
-                  effect="dark"
-                  content="一级目录内容"
-                  placement="top-start"
-                >
-                  <span>{{cItem.name}}</span>
-                </el-tooltip>
-                <img src="../../assets/delete.png" @click="deleteS(index,cIndex)" alt />
-              </div>
-            </div>
-            <div class="e_add_list_btn" @click="addSDia(index)">添加二级标题</div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">关 闭</el-button>
-        <el-button @click="dialogVisible = false" type="primary">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加一级标题"
-      :visible.sync="dialogVisible2"
-      :append-to-body="true"
-      width="400px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="e_add_title2">
-          <span>名称</span>
-          <el-input v-model="eName" placeholder="请输入一级标题名称"></el-input>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible2 = false">关 闭</el-button>
-        <el-button @click="addFTitle" type="primary">确 定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加二级标题"
-      :visible.sync="dialogVisible3"
-      :append-to-body="true"
-      width="400px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="e_add_title2">
-          <span>名称</span>
-          <el-input v-model="esName" placeholder="请输入二级标题名称"></el-input>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible3 = false">关 闭</el-button>
-        <el-button @click="addSName" type="primary">确 定</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      page: 0,
-      total: 0,
-      dialogVisible: false,
-      dialogVisible2: false,
-      dialogVisible3: false,
-      eTitle: "",
-      eName: "",
-      esName: "",
-      eJson: [],
-    };
-  },
-  methods: {
-    guid() {
-      var _num,
-        i,
-        _guid = "";
-      for (i = 0; i < 32; i++) {
-        _guid += Math.floor(Math.random() * 16).toString(16); //随机0  - 16 的数字 转变为16进制的字符串
-        _num = Math.floor((i - 7) / 4); //计算 (i-7)除4
-        if (_num > -1 && _num < 4 && i == 7 + 4 * _num) {
-          //会使guid中间加 "-"   形式为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-          _guid += "-";
-        }
-      }
-      return _guid;
-    },
-    handleCurrentChange(val) {
-      this.page = val;
-    },
-    handleClose(done) {
-      done();
-    },
-    addFTitle() {
-      this.eJson.push({ id: this.guid(), child: [], name: this.eName });
-      this.dialogVisible2 = false;
-      this.eName = "";
-    },
-    addSDia(index) {
-      this.sindex = index;
-      this.dialogVisible3 = true;
-    },
-    addSName() {
-      this.eJson[this.sindex].child.push({
-        id: this.guid(),
-        name: this.esName,
-      });
-      this.dialogVisible3 = false;
-      this.esName = "";
-    },
-    deleteF(index) {
-      if (this.eJson[index].child.length) {
-        this.$message.error("请把所有子集删除了才可以删除!");
-        return;
-      }
-
-      this.eJson.splice(index, 1);
-    },
-    deleteS(index, cIndex) {
-      this.eJson[index].child.splice(cIndex, 1);
-    },
-  },
-};
-</script>
-
-<style scoped>
-.dialog_diy >>> .el-dialog__header {
-  background: #3d67bc !important;
-  padding: 15px 20px;
-}
-.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;
-}
-.pb_head > span:nth-child(2) {
-  font-size: 16px;
-  margin-left: 80px;
-  color: #ab582f;
-}
-.pb_head {
-  margin: 0 !important;
-  width: 100% !important;
-}
-.student_head {
-  margin-top: 10px;
-  padding-bottom: 15px;
-  display: flex;
-  justify-content: flex-end;
-}
-.student_search {
-  display: flex;
-}
-.student_search > div:nth-child(1) {
-  line-height: 35px;
-  font-size: 14px;
-  min-width: 60px;
-}
-.student_search >>> .el-input__inner {
-  width: 190px;
-  /* height: 35px; */
-  margin-right: 10px;
-}
-.student_search .btn {
-  background: rgb(34, 104, 189);
-  border: none;
-}
-.student_button {
-  display: flex;
-  overflow: hidden;
-  height: 40px;
-}
-.top {
-  display: flex;
-  justify-content: space-between;
-}
-.bgColor {
-  background: #466b99;
-  border: none;
-}
-.e_box {
-  display: flex;
-  flex-wrap: wrap;
-}
-.e_card {
-  background: #fff;
-  margin-right: 20px;
-  width: 270px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  border-radius: 5px;
-  margin-top: 10px;
-}
-.e_card_picture {
-  margin: 20px 0;
-}
-.e_card_name {
-  width: 100%;
-  padding: 0 10px;
-  box-sizing: border-box;
-  margin-bottom: 5px;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-.e_card_time {
-  width: 100%;
-  padding: 0 10px;
-  box-sizing: border-box;
-  font-size: 15px;
-  color: #c3c3c3;
-  margin-bottom: 10px;
-}
-.e_card_btn {
-  height: 40px;
-  display: flex;
-  align-items: center;
-  width: 100%;
-  background: rgb(244, 244, 244);
-}
-.e_card_btn span {
-  flex: 1 1 auto;
-  text-align: center;
-}
-.student_page {
-  margin-top: 10px;
-}
-
-.e_add_top {
-  display: flex;
-  justify-content: space-between;
-}
-.e_add_title2 {
-  display: flex;
-  align-items: center;
-}
-
-.e_add_title2 span {
-  width: 40px;
-}
-
-.e_add_title {
-  display: flex;
-  align-items: center;
-}
-.e_add_title span {
-  width: 135px;
-}
-.e_add_title .el_input {
-  width: 300px;
-}
-
-.e_add_btn {
-}
-.e_add_content {
-  display: flex;
-  width: 100%;
-  overflow: auto;
-  height: 750px;
-}
-.e_add_list {
-  background: #f6f7fc;
-  height: 700px;
-  width: 240px;
-  position: relative;
-  margin: 20px 5px 0 0;
-  flex-shrink: 0;
-}
-.e_add_list_title {
-  font-size: 20px;
-  width: 100%;
-  box-sizing: border-box;
-  padding: 15px 40px;
-  text-align: center;
-  border-bottom: 1px solid #eaeaea;
-  position: relative;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.e_add_list_title span {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-}
-.e_add_list_title img {
-  position: absolute;
-  right: 15px;
-  width: 21px;
-  cursor: pointer;
-  top: 50%;
-  transform: translateY(-50%);
-}
-.e_add_list_body {
-  height: calc(100% - 107px);
-  overflow: auto;
-}
-.e_add_list_child {
-  width: 100%;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  position: relative;
-  box-sizing: border-box;
-  padding: 15px 40px;
-  text-align: center;
-}
-.e_add_list_child span {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-}
-.e_add_list_child img {
-  position: absolute;
-  right: 10px;
-  width: 21px;
-  cursor: pointer;
-  top: 50%;
-  transform: translateY(-50%);
-}
-.e_add_list_child + .e_add_list_child {
-  border-top: 1px solid #eaeaea;
-}
-.e_add_list_btn {
-  position: absolute;
-  bottom: 0;
-  height: 50px;
-  background: rgb(120, 120, 254);
-  width: 100%;
-  color: #fff;
-  font-size: 16px;
-  text-align: center;
-  line-height: 50px;
-  cursor: pointer;
-}
-</style>

+ 0 - 976
src/components/pages/evaluation.vue

@@ -1,976 +0,0 @@
-<template>
-  <div
-    class="pb_content"
-    style="
-      background: unset;
-      overflow: auto;
-      padding: 20px;
-      margin: 0;
-      box-sizing: border-box;
-    "
-  >
-    <div>
-      <div
-        class="pb_content_body"
-        style="
-          background: #fff;
-          padding: 0px 25px;
-          box-sizing: border-box;
-          border-radius: 5px;
-        "
-      >
-        <div class="pb_head top">
-          <span>目标管理设置</span>
-          <div class="student_button">
-            <el-button type="primary" class="bgColor" @click="addED"
-              >添加目标管理</el-button
-            >
-          </div>
-        </div>
-        <div class="student_head">
-          <div class="student_search">
-            <el-input placeholder="请输入名称" v-model="sn"></el-input>
-            <el-button type="primary" class="btn" @click="search"
-              >查询</el-button
-            >
-          </div>
-        </div>
-      </div>
-      <div class="pb_content_body" style="height: 100%">
-        <div class="e_box">
-          <div class="e_card" v-for="(item, index) in dataArray" :key="index">
-            <div class="e_card_picture">
-              <img src="../../assets/e_picture.png" />
-            </div>
-            <div class="e_card_name">
-              <span>{{ item.title }}</span>
-            </div>
-            <div class="e_card_time">
-              <span>{{ item.time }}</span>
-            </div>
-            <div class="e_card_btn">
-              <span @click="checkE(item)">查看</span>
-              <span @click="deleteE(item.id)">删除</span>
-            </div>
-          </div>
-          <div
-            v-if="dataArray.length === 0"
-            style="margin: 0 auto; color: #6e6e6e"
-          >
-            暂无数据
-          </div>
-        </div>
-        <div class="student_page">
-          <el-pagination
-            v-if="dataArray.length"
-            background
-            layout="prev, pager, next"
-            :page-size="10"
-            :total="total"
-            style="padding-bottom: 20px"
-            @current-change="handleCurrentChange"
-          ></el-pagination>
-        </div>
-      </div>
-    </div>
-    <el-dialog
-      title="添加目标管理"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="100%"
-      :before-close="handleClose"
-      class="dialog_diy mubiao_diy"
-    >
-      <div>
-        <div class="e_add_top">
-          <div class="e_add_title">
-            <span>目标管理名称</span>
-            <el-input
-              v-model="eTitle"
-              placeholder="请输入名称"
-              @change="setMindData"
-            ></el-input>
-          </div>
-        </div>
-        <div class="e_add_content">
-          <div class="e_add_list">
-            <div class="e_add_list_title">
-              <span>一级目标</span>
-              <img src="../../assets/add.png" @click="addE(1)" alt />
-            </div>
-            <div class="e_add_list_body">
-              <div
-                class="e_add_list_child"
-                v-for="(item, index) in eJson"
-                :key="index"
-              >
-                <span
-                  :class="{ active: item.id == fid }"
-                  v-if="item.name.length < 8"
-                  @click="checkF(item.id)"
-                  >{{ item.name }}</span
-                >
-                <el-tooltip
-                  v-else
-                  class="item"
-                  effect="dark"
-                  :content="item.name"
-                  placement="top-start"
-                >
-                  <span
-                    :class="{ active: item.id == fid }"
-                    @click="checkF(item.id)"
-                    >{{ item.name }}</span
-                  >
-                </el-tooltip>
-                <img
-                  src="../../assets/delete.png"
-                  @click="deleteF(item.id)"
-                  alt
-                />
-              </div>
-            </div>
-            <div class="e_add_list_detail" v-if="fid">
-              <textarea
-                placeholder="添加目标描述"
-                v-model="eJson[fid].detail"
-              ></textarea>
-            </div>
-            <!-- <div class="e_add_list_btn">添加二级标题</div> -->
-          </div>
-          <div class="e_add_list">
-            <div class="e_add_list_title">
-              <span>二级目标</span>
-              <img
-                src="../../assets/add.png"
-                @click="addE(2)"
-                v-if="fid != ''"
-                alt
-              />
-            </div>
-            <div class="e_add_list_body">
-              <div
-                class="e_add_list_child"
-                v-for="(item, index) in fid && eJson[fid].child"
-                :key="index"
-              >
-                <span
-                  :class="{ active: item.id == sid }"
-                  v-if="item.name.length < 8"
-                  @click="checkS(item.id)"
-                  >{{ item.name }}</span
-                >
-                <el-tooltip
-                  v-else
-                  class="item"
-                  effect="dark"
-                  :content="item.name"
-                  placement="top-start"
-                >
-                  <span
-                    :class="{ active: item.id == sid }"
-                    @click="checkS(item.id)"
-                    >{{ item.name }}</span
-                  >
-                </el-tooltip>
-                <img
-                  src="../../assets/delete.png"
-                  @click="deleteS(item.id)"
-                  alt
-                />
-              </div>
-            </div>
-            <div class="e_add_list_detail" v-if="sid">
-              <textarea
-                placeholder="添加目标描述"
-                v-model="eJson[fid].child[sid].detail"
-              ></textarea>
-            </div>
-            <!-- <div class="e_add_list_btn">添加二级标题</div> -->
-          </div>
-          <div class="e_add_list">
-            <div class="e_add_list_title">
-              <span>三级目标</span>
-              <img
-                src="../../assets/add.png"
-                @click="addE(3)"
-                v-if="sid != ''"
-                alt
-              />
-            </div>
-            <div class="e_add_list_body">
-              <div
-                class="e_add_list_child"
-                v-for="(item, index) in fid &&
-                sid &&
-                eJson[fid].child[sid].child"
-                :key="index"
-              >
-                <span
-                  :class="{ active: item.id == tid }"
-                  v-if="item.name.length < 8"
-                  @click="checkT(item.id)"
-                  >{{ item.name }}</span
-                >
-                <el-tooltip
-                  v-else
-                  class="item"
-                  effect="dark"
-                  :content="item.name"
-                  placement="top-start"
-                >
-                  <span
-                    :class="{ active: item.id == tid }"
-                    @click="checkT(item.id)"
-                    >{{ item.name }}</span
-                  >
-                </el-tooltip>
-                <img
-                  src="../../assets/delete.png"
-                  @click="deleteT(item.id)"
-                  alt
-                />
-              </div>
-            </div>
-            <div class="e_add_list_detail" v-if="tid">
-              <textarea
-                placeholder="添加目标描述"
-                v-model="eJson[fid].child[sid].child[tid].detail"
-              ></textarea>
-            </div>
-            <!-- <div class="e_add_list_btn">添加二级标题</div> -->
-          </div>
-          <div class="e_add_list_pbox">
-            <div class="e_add_list_pbox_title">
-              <span class="type_title">切换模式</span>
-              <div class="type_content">
-                <span :class="{ active: typeMode == 1 }" @click="typeMode = 1"
-                  >目标树</span
-                >
-                <span :class="{ active: typeMode == 2 }" @click="typeMode = 2"
-                  >目标罗盘</span
-                >
-                <span :class="{ active: typeMode == 3 }" @click="typeMode = 3"
-                  >目标看板</span
-                >
-              </div>
-            </div>
-            <div class="e_add_list_pbox_content">
-              <Mind
-                :showBar="false"
-                :mindData="data"
-                v-show="typeMode == 1"
-              ></Mind>
-              <Sunburst
-                :Josn="eJson"
-                :num="eJSONNum"
-                v-if="typeMode == 2"
-              ></Sunburst>
-              <SeeBoard
-                :Josn="eJson"
-                :num="eJSONNum"
-                :ename="eTitle"
-                v-if="typeMode == 3"
-              ></SeeBoard>
-            </div>
-          </div>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">关 闭</el-button>
-        <el-button @click="addEJson" type="primary" v-if="!update"
-          >确 定</el-button
-        >
-        <el-button @click="updateEJson" type="primary" v-else>修 改</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="添加子级"
-      :visible.sync="dialogVisible3"
-      :append-to-body="true"
-      width="400px"
-      :before-close="handleClose"
-      class="dialog_diy tips_diy"
-    >
-      <div>
-        <div class="e_add_title2">
-          <span>名称</span>
-          <el-input v-model="eName" placeholder="请输入名称"></el-input>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible3 = false">关 闭</el-button>
-        <el-button @click="addEName" type="primary">确 定</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import Mind from "../tools/jsmind";
-import Sunburst from "../tools/sunburst";
-import SeeBoard from "../tools/seeBoard";
-export default {
-  components: {
-    Mind,
-    Sunburst,
-    SeeBoard,
-  },
-  data() {
-    return {
-      data: {
-        meta: {
-          name: "example",
-          author: "dd@163.com",
-          version: "0.2",
-        },
-        format: "node_array",
-        data: [
-          { id: "root", isroot: true, topic: "" },
-          // { id: "easy", parentid: "root", topic: "Easy" },
-          // { id: "easy1", parentid: "easy", topic: "Easy to show" },
-          // { id: "easy2", parentid: "easy", topic: "Easy to edit" },
-          // { id: "easy3", parentid: "easy", topic: "Easy to store" },
-          // { id: "easy4", parentid: "easy", topic: "Easy to embed" },
-          // { id: "open", parentid: "root", topic: "Open Source" },
-          // { id: "open1", parentid: "open", topic: "on GitHub" },
-          // { id: "open2", parentid: "open", topic: "BSD License" },
-          // { id: "powerful", parentid: "root", topic: "Powerful" },
-          // {
-          //   id: "powerful1",
-          //   parentid: "powerful",
-          //   topic: "Base on Javascript",
-          // },
-          // { id: "powerful2", parentid: "powerful", topic: "Base on HTML5" },
-          // { id: "powerful3", parentid: "powerful", topic: "Depends on you" },
-        ],
-      },
-      page: 1,
-      total: 0,
-      dialogVisible: false,
-      dialogVisible2: false,
-      dialogVisible3: false,
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-      eTitle: "",
-      eName: "",
-      eJson: {},
-      fid: "", //一级
-      sid: "", //二级
-      tid: "", //二级
-      type: 1,
-      sn: "",
-      dataArray: [],
-      update: false,
-      eid: "",
-      typeMode: 1,
-      eJSONNum: 0,
-    };
-  },
-  methods: {
-    guid() {
-      var _num,
-        i,
-        _guid = "";
-      for (i = 0; i < 32; i++) {
-        _guid += Math.floor(Math.random() * 16).toString(16); //随机0  - 16 的数字 转变为16进制的字符串
-        _num = Math.floor((i - 7) / 4); //计算 (i-7)除4
-        if (_num > -1 && _num < 4 && i == 7 + 4 * _num) {
-          //会使guid中间加 "-"   形式为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-          _guid += "-";
-        }
-      }
-      return _guid;
-    },
-    handleCurrentChange(val) {
-      this.page = val;
-    },
-    handleClose(done) {
-      done();
-    },
-    addE(type) {
-      this.type = type;
-      this.dialogVisible3 = true;
-    },
-    addEName() {
-      if (this.eName == "") {
-        this.$message.error("请输入目标");
-        return;
-      }
-      let _id = this.guid();
-      if (this.type == 1) {
-        this.eJson[_id] = {
-          id: _id,
-          name: this.eName,
-          detail: "",
-          child: {},
-        };
-        this.dialogVisible3 = false;
-        this.eName = "";
-      } else if (this.type == 2) {
-        this.eJson[this.fid].child[_id] = {
-          id: _id,
-          name: this.eName,
-          detail: "",
-          child: {},
-        };
-        this.dialogVisible3 = false;
-        this.eName = "";
-      } else if (this.type == 3) {
-        this.eJson[this.fid].child[this.sid].child[_id] = {
-          id: _id,
-          name: this.eName,
-          detail: "",
-          child: [],
-        };
-        this.dialogVisible3 = false;
-        this.eName = "";
-      }
-      this.eJSONNum++;
-      this.setMindData();
-    },
-    checkF(id) {
-      if (this.fid == id) {
-        this.fid = "";
-      } else {
-        this.fid = id;
-      }
-      this.sid = "";
-      this.tid = "";
-    },
-    checkS(id) {
-      if (this.sid == id) {
-        this.sid = "";
-      } else {
-        this.sid = id;
-      }
-      this.tid = "";
-    },
-    checkT(id) {
-      if (this.tid == id) {
-        this.tid = "";
-      } else {
-        this.tid = id;
-      }
-    },
-    deleteF(id) {
-      console.log(this.eJson);
-      if (JSON.stringify(this.eJson[id].child) != "{}") {
-        this.$message.error("请把所有子集删完才可以删除");
-        return;
-      }
-      if (this.fid == id) {
-        this.fid = "";
-      }
-      delete this.eJson[id];
-      this.eJSONNum++;
-      this.$forceUpdate();
-      this.setMindData();
-    },
-    deleteS(id) {
-      if (JSON.stringify(this.eJson[this.fid].child[id].child) != "{}") {
-        this.$message.error("请把所有子集删完才可以删除");
-        return;
-      }
-      if (this.sid == id) {
-        this.sid = "";
-      }
-      delete this.eJson[this.fid].child[id];
-      this.eJSONNum++;
-      this.$forceUpdate();
-      this.setMindData();
-    },
-    deleteT(id) {
-      if (this.tid == id) {
-        this.tid = "";
-      }
-      delete this.eJson[this.fid].child[this.sid].child[id];
-      this.eJSONNum++;
-      this.$forceUpdate();
-      this.setMindData();
-    },
-    addEJson() {
-      if (this.eTitle == "") {
-        this.$message.error("请填写目标管理标题");
-        return;
-      }
-      let params = [
-        {
-          uid: this.$route.query.userid,
-          t: this.eTitle,
-          c: JSON.stringify(this.eJson),
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "addEvaluation", params)
-        .then((res) => {
-          this.$message.success("添加成功");
-          this.init();
-          this.dialogVisible = false;
-          this.getData();
-        })
-        .catch((err) => {
-          this.$message.success("添加失败");
-          console.error(err);
-        });
-    },
-    updateEJson() {
-      if (this.eTitle == "") {
-        this.$message.error("请填写目标管理标题");
-        return;
-      }
-      let params = [
-        {
-          c: JSON.stringify(this.eJson),
-          t: this.eTitle,
-          id: this.eid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updateEvaluation", params)
-        .then((res) => {
-          this.$message.success("修改成功");
-          this.init();
-          this.dialogVisible = false;
-          this.getData();
-        })
-        .catch((err) => {
-          this.$message.success("修改失败");
-          console.error(err);
-        });
-    },
-    search() {
-      this.page = 1;
-      this.getData();
-    },
-    getData() {
-      let params = {
-        oid: this.oid,
-        n: this.sn,
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "getEvaluation", params)
-        .then((res) => {
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.dataArray = res.data[0];
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    deleteE(id) {
-      this.$confirm("确定删除吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          let params = [
-            {
-              id: id,
-            },
-          ];
-          this.ajax
-            .post(this.$store.state.api + "deleteEvaluation", params)
-            .then((res) => {
-              this.$message.success("删除成功");
-              if (this.page != 1 && this.tableData.length == 1) {
-                this.page--;
-              }
-              this.getData();
-            })
-            .catch((err) => {
-              this.$message.success("添加失败");
-              console.error(err);
-            });
-        })
-        .catch(() => {});
-    },
-    init() {
-      this.eJson = {};
-      this.fid = "";
-      this.sid = "";
-      this.tid = "";
-      this.eTitle = "";
-    },
-    addED() {
-      this.update = false;
-      this.init();
-      this.setMindData();
-      this.typeMode = 1;
-      this.dialogVisible = true;
-    },
-    checkE(res) {
-      this.init();
-      this.eJson = JSON.parse(res.content);
-      this.eTitle = res.title;
-      this.eid = res.id;
-      this.update = true;
-      this.typeMode = 1;
-      this.dialogVisible = true;
-      this.$forceUpdate();
-      setTimeout(() => {
-        this.setMindData();
-      }, 0);
-    },
-    setMindData() {
-      this.data.data = [];
-      this.data.data.push({ id: "root", isroot: true, topic: this.eTitle });
-      let _eJson = Object.keys(this.eJson);
-      let _e = this.eJson;
-      for (let i = 0; i < _eJson.length; i++) {
-        let element = _e[_eJson[i]];
-        this.data.data.push({
-          id: element.id,
-          parentid: "root",
-          topic: element.name,
-        });
-        let _eJsonc = Object.keys(element.child);
-        let _e2 = element.child;
-        for (let j = 0; j < _eJsonc.length; j++) {
-          let _ec = _e2[_eJsonc[j]];
-          this.data.data.push({
-            id: _ec.id,
-            parentid: element.id,
-            topic: _ec.name,
-          });
-          let _eJsonz = Object.keys(_ec.child);
-          let _e3 = _ec.child;
-          for (let z = 0; z < _eJsonz.length; z++) {
-            let _ez = _e3[_eJsonz[z]];
-            this.data.data.push({
-              id: _ez.id,
-              parentid: _ec.id,
-              topic: _ez.name,
-            });
-          }
-        }
-      }
-      this.$forceUpdate();
-    },
-  },
-  created() {
-    this.getData();
-  },
-};
-</script>
-
-<style scoped>
-.dialog_diy >>> .el-dialog__header {
-  padding: 9px 20px 10px;
-  background: #32455b !important;
-}
-.dialog_diy >>> .el-dialog__title {
-  color: #fff;
-  font-size: 15px;
-}
-.dialog_diy >>> .el-dialog__headerbtn {
-  top: 14px;
-}
-.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: #e6eaf0;
-}
-
-.tips_diy >>> .el-dialog__body,
-.tips_diy >>> .el-dialog__footer {
-  background: #fff;
-}
-
-.mubiao_diy >>> .el-dialog{
-  max-width: 1200px;
-}
-
-.pb_head > span:nth-child(2) {
-  font-size: 16px;
-  margin-left: 80px;
-  color: #ab582f;
-}
-.pb_head {
-  margin: 0 !important;
-  width: 100% !important;
-}
-.student_head {
-  margin-top: 10px;
-  padding-bottom: 15px;
-  display: flex;
-  justify-content: flex-end;
-}
-.student_search {
-  display: flex;
-}
-.student_search > div:nth-child(1) {
-  line-height: 35px;
-  font-size: 14px;
-  min-width: 60px;
-}
-.student_search >>> .el-input__inner {
-  width: 190px;
-  /* height: 35px; */
-  margin-right: 10px;
-}
-.student_search .btn {
-  background: rgb(34, 104, 189);
-  border: none;
-}
-.student_button {
-  display: flex;
-  overflow: hidden;
-  height: 40px;
-}
-.top {
-  display: flex;
-  justify-content: space-between;
-}
-.bgColor {
-  background: #466b99;
-  border: none;
-}
-.e_box {
-  display: flex;
-  flex-wrap: wrap;
-  align-items: flex-start;
-}
-.e_card {
-  background: #fff;
-  margin-right: 20px;
-  width: 270px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  border-radius: 5px;
-  margin-top: 10px;
-  text-align: center;
-}
-.e_card_picture {
-  margin: 20px 0;
-}
-.e_card_name {
-  width: 100%;
-  padding: 0 10px;
-  box-sizing: border-box;
-  margin-bottom: 5px;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-.e_card_time {
-  width: 100%;
-  padding: 0 10px;
-  box-sizing: border-box;
-  font-size: 15px;
-  color: #c3c3c3;
-  margin-bottom: 10px;
-}
-.e_card_btn {
-  height: 40px;
-  display: flex;
-  align-items: center;
-  width: 100%;
-  background: rgb(244, 244, 244);
-}
-.e_card_btn span {
-  flex: 1 1 auto;
-  text-align: center;
-  cursor: pointer;
-}
-.student_page {
-  margin-top: 10px;
-}
-
-.e_add_top {
-  display: flex;
-  justify-content: space-between;
-  padding: 20px 20px;
-  border-radius: 3px;
-  background: #fff;
-}
-.e_add_title2 {
-  display: flex;
-  align-items: center;
-}
-
-.e_add_title2 span {
-  width: 40px;
-}
-
-.e_add_title {
-  display: flex;
-  align-items: center;
-}
-.e_add_title span {
-  width: 135px;
-}
-.e_add_title .el_input {
-  width: 300px;
-}
-.e_add_title >>> .el-input__inner {
-  width: 400px;
-}
-
-.e_add_btn {
-}
-.e_add_content {
-  display: flex;
-  width: 100%;
-  overflow: auto;
-  height: 550px;
-}
-.e_add_list {
-  background: #fff;
-  height: 500px;
-  width: 210px;
-  position: relative;
-  margin: 15px 5px 0 0;
-  flex-shrink: 0;
-  display: flex;
-  flex-direction: column;
-}
-.e_add_list_title {
-  font-size: 20px;
-  width: 100%;
-  box-sizing: border-box;
-  padding: 15px 40px;
-  text-align: center;
-  border-bottom: 1px solid #eaeaea;
-  position: relative;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  height: 57px;
-  background: #f6f6f6;
-}
-.e_add_list_title span {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-}
-.e_add_list_title img {
-  position: absolute;
-  right: 15px;
-  width: 25px;
-  cursor: pointer;
-  top: 50%;
-  transform: translateY(-50%);
-}
-.e_add_list_body {
-  height: calc(100% - 187px);
-  overflow: auto;
-}
-.e_add_list_child {
-  width: 100%;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  position: relative;
-  box-sizing: border-box;
-  padding: 15px 40px;
-  text-align: center;
-}
-.e_add_list_child span {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  cursor: pointer;
-}
-.e_add_list_child img {
-  position: absolute;
-  right: 10px;
-  width: 21px;
-  cursor: pointer;
-  top: 50%;
-  transform: translateY(-50%);
-}
-.e_add_list_child + .e_add_list_child {
-  border-top: 1px solid #eaeaea;
-}
-.e_add_list_child .active {
-  color: #409eff;
-}
-.e_add_list_btn {
-  position: absolute;
-  bottom: 0;
-  height: 50px;
-  background: rgb(120, 120, 254);
-  width: 100%;
-  color: #fff;
-  font-size: 16px;
-  text-align: center;
-  line-height: 50px;
-  cursor: pointer;
-}
-.e_add_list_detail {
-  position: absolute;
-  bottom: 0;
-  height: 130px;
-  background: rgb(120, 120, 254);
-  width: 100%;
-  color: #fff;
-  font-size: 16px;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.e_add_list_detail textarea {
-  height: 90%;
-  width: 95%;
-  border: none;
-  resize: none;
-  outline: none;
-  padding: 5px;
-  box-sizing: border-box;
-}
-
-.e_add_list_pbox {
-  margin: 15px 0 0 0;
-  width: 500px;
-  min-width: 500px;
-  height: 500px;
-}
-.e_add_list_pbox_title {
-  height: 50px;
-  background: #fff;
-  display: flex;
-  align-items: center;
-  width: 100%;
-  box-sizing: border-box;
-  padding: 0 20px;
-}
-
-.type_title {
-  font-size: 18px;
-  font-weight: 700;
-}
-.type_content {
-  font-size: 16px;
-  margin-left: 30px;
-}
-.type_content span + span {
-  margin-left: 20px;
-}
-.type_content span {
-  cursor: pointer;
-  padding-bottom: 5px;
-  box-sizing: border-box;
-}
-
-.type_content .active {
-  color: #409eff;
-  border-bottom: 2px solid #409eff;
-}
-
-.e_add_list_pbox_content {
-  height: calc(100% - 50px);
-  display: flex;
-  align-items: center;
-  width: 100%;
-  background: #fff;
-}
-</style>

+ 0 - 576
src/components/pages/library.vue

@@ -1,576 +0,0 @@
-<template>
-  <div class="pb_content" style="overflow: auto">
-    <div class="pb_head top">
-      <span>素材库</span>
-      <div v-if="choose == 0" @click="addImg($event)">
-        <input
-          type="file"
-          accept="image/*"
-          capture="camera"
-          style="display: none"
-          @change="beforeUpload1($event, 1)"
-        />
-        <div class="uploadThing">上传图片</div>
-      </div>
-      <div v-if="choose == 1" @click="addImg($event)">
-        <input
-          type="file"
-          accept="video/mp4,video/quicktime,video/x-msvideo"
-          capture="camera"
-          style="display: none"
-          @change="beforeUpload2($event, 2)"
-        />
-        <div class="uploadThing">上传视频</div>
-      </div>
-      <div v-if="choose == 2" @click="addImg($event)">
-        <input
-          type="file"
-          accept="application/pdf,.ppt,.pptx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"
-          style="display: none"
-          @change="beforeUpload2($event, 3)"
-        />
-        <div class="uploadThing">上传附件</div>
-      </div>
-    </div>
-    <div class="pb_content_body" style="height: 70%">
-      <div class="student_head">
-        <div class="three">
-          <div :class="choose == 0 ? 'choose' : ''" @click="sMtl(0)">图片</div>
-          <div :class="choose == 1 ? 'choose' : ''" @click="sMtl(1)">视频</div>
-          <div :class="choose == 2 ? 'choose' : ''" @click="sMtl(2)">附件</div>
-        </div>
-      </div>
-      <div class="student_table">
-        <div v-if="this.choose == 0" class="boxCss">
-          <div class="out_box" v-for="(item, index) in chapInfo" :key="index">
-            <div class="tup">
-              <img
-                :src="
-                  item.chapdataInfo ? JSON.parse(item.chapdataInfo).url : mtp
-                "
-                alt=""
-                @click="
-                  handlePictureCardPreview(JSON.parse(item.chapdataInfo).url)
-                "
-              />
-              <div class="deleteWord" @click="deleteM(item.id)">
-                <img src="../../assets/icon/delete.png" alt="" />
-              </div>
-            </div>
-            <div class="bottom_box">
-              <div>
-                {{
-                  item.chapdataInfo
-                    ? JSON.parse(item.chapdataInfo).name
-                    : "图片暂无名称"
-                }}
-              </div>
-            </div>
-          </div>
-        </div>
-        <div v-if="this.choose == 1" class="boxCss">
-          <div class="out_box" v-for="(item, index) in chapInfo" :key="index">
-            <div class="tup">
-              <img
-                :src="msp"
-                alt=""
-                @click="
-                  handlePictureCardPreview1(JSON.parse(item.chapdataInfo).url)
-                "
-              />
-              <div class="deleteWord" @click="deleteM(item.id)">
-                <img src="../../assets/icon/delete.png" alt="" />
-              </div>
-            </div>
-            <div class="bottom_box">
-              <div>
-                {{
-                  item.chapdataInfo
-                    ? JSON.parse(item.chapdataInfo).name
-                    : "图片暂无名称"
-                }}
-              </div>
-            </div>
-          </div>
-        </div>
-        <div v-if="this.choose == 2" class="boxCss">
-          <div class="out_box" v-for="(item, index) in chapInfo" :key="index">
-            <div class="tup">
-              <img
-                :src="mfj"
-                alt=""
-                @click="downFile(JSON.parse(item.chapdataInfo).url)"
-              />
-              <div class="deleteWord" @click="deleteM(item.id)">
-                <img src="../../assets/icon/delete.png" alt="" />
-              </div>
-            </div>
-            <div class="bottom_box">
-              <div>
-                {{
-                  item.chapdataInfo
-                    ? JSON.parse(item.chapdataInfo).name
-                    : "图片暂无名称"
-                }}
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="student_page">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total"
-          v-if="page && chapInfo.length"
-          @current-change="handleCurrentChange"
-        >
-        </el-pagination>
-      </div>
-    </div>
-    <el-dialog :visible.sync="pictureDialog" size="tiny">
-      <img width="100%" :src="dialogImageUrl" alt="" />
-    </el-dialog>
-    <el-dialog :visible.sync="vedioDialog" size="tiny">
-      <video-player
-        class="video-player vjs-custom-skin"
-        ref="videoPlayer"
-        :playsinline="true"
-        :options="playerO"
-        @play="onPlayerPlay($event)"
-        style="width: 100%; height: 100%"
-      ></video-player>
-    </el-dialog>
-    <div v-if="proVisible" class="mask">
-      <div class="progressBox">
-        <div class="lbox">
-          <img :src="require('../../assets/loading.gif')" />上传中,请稍后
-        </div>
-        <el-progress
-          :text-inside="true"
-          :stroke-width="20"
-          :percentage="progress"
-          style="width: 80%"
-        ></el-progress>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      choose: 0,
-      chapInfo: [],
-      cImgInfo: [],
-      isLoading: false,
-      noneBtnImg: false,
-      mtp: require("../../assets/tup1.png"),
-      msp: require("../../assets/sp1.png"),
-      mfj: require("../../assets/uploadImg.png"),
-      page: 1,
-      total: 0,
-      dialogImageUrl: "",
-      userid: this.$route.query.userid,
-      pictureDialog: false,
-      vedioDialog: false,
-      playerOptions: {
-        playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
-        autoplay: false, //如果true,浏览器准备好时开始回放。
-        muted: false, // 默认情况下将会消除任何音频。
-        loop: false, // 导致视频一结束就重新开始。
-        preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
-        language: "zh-CN",
-        aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
-        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
-        sources: [
-          {
-            type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目   || "video/ogg"|| "video/webm"
-            src: "", //url地址require("../../assets/media/aaa.mp4")
-          },
-        ],
-        // poster: require("../../assets/tu31.png"), //你的封面地址
-        // poster: dataRes.imgUrl, //你的封面地址
-        notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
-        controlBar: {
-          timeDivider: true, //当前时间和持续时间的分隔符
-          durationDisplay: true, //显示持续时间
-          remainingTimeDisplay: false, //是否显示剩余时间功能
-          fullscreenToggle: true, //全屏按钮
-        },
-      },
-      playerO: {},
-      proVisible: false,
-      progress: 0,
-    };
-  },
-  methods: {
-    handleCurrentChange(val) {
-      this.page = val;
-      this.selectMtl();
-    },
-    addImg(e) {
-      var el = e.currentTarget;
-      el.getElementsByTagName("input")[0].click();
-    },
-    imgChange(file, fileList, type) {
-      var _tmp = this.chapInfo;
-      this.noneBtnImg = _tmp.length >= 1;
-    },
-    downFile(url) {
-      window.open(url);
-    },
-    beforeUpload1(event, type) {
-      var file = event.target.files[0];
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-      _this.progress = 0;
-      _this.proVisible = true;
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length - 1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-            _this.progress = parseInt((evt.loaded * 80) / evt.total);
-          })
-          .send(function (err, data) {
-            _this.progress = 100;
-            setTimeout(() => {
-              _this.proVisible = false;
-            }, 1000);
-            if (err) {
-              var a = _this.$refs.upload1.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              _this.cImgInfo.push({
-                name: file.name,
-                url: data.Location,
-              });
-              _this.addMtl();
-              _this.cImgInfo = [];
-              _this.selectMtl();
-              _this.imgChange(null, null, type);
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    handlePictureCardPreview(url) {
-      this.dialogImageUrl = url;
-      this.pictureDialog = true;
-    },
-    handlePictureCardPreview1(url) {
-      this.playerO = {};
-      this.playerOptions.poster = "";
-      this.playerOptions.sources[0].src = url;
-      this.playerO = this.playerOptions;
-      // this.dialogImageUrl = url;
-      this.vedioDialog = true;
-    },
-    beforeUpload2(event, type) {
-      var file = event.target.files[0];
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length - 1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-          })
-          .send(function (err, data) {
-            if (err) {
-              var a = _this.$refs.upload1.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              if (type == 2) {
-                _this.cImgInfo.push({
-                  name: file.name,
-                  url: data.Location,
-                });
-                _this.addMtl();
-                _this.cImgInfo = [];
-                _this.selectMtl();
-                _this.imgChange(null, null, type);
-              } else if (type == 3) {
-                _this.cImgInfo.push({
-                  name: file.name,
-                  url: data.Location,
-                });
-                _this.addMtl();
-                _this.cImgInfo = [];
-                _this.selectMtl();
-                _this.imgChange(null, null, type);
-              }
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    addMtl() {
-      let params = {
-        cInfo: this.cImgInfo[0],
-        t: this.choose,
-        cBy: this.userid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "addMtl", params)
-        .then((res) => {
-          this.$message.success("上传素材成功");
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    sMtl(type) {
-      this.choose = type;
-      this.selectMtl();
-    },
-    selectMtl() {
-      this.isLoading = true;
-      let params = {
-        t: parseInt(this.choose),
-        uid: this.userid,
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectMtl2", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.chapInfo = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    deleteM(id) {
-      this.isLoading = true;
-      let params = {
-        id: id,
-      };
-      this.ajax
-        .get(this.$store.state.api + "deleteM", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.$message.success("删除成功");
-          this.selectMtl();
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    onPlayerPlay() {},
-  },
-  created() {
-    this.selectMtl();
-  },
-};
-</script>
-
-<style scoped>
-/* .student_button {
-																														display: flex;
-																														overflow: hidden;
-																														height: 40px;
-																													} */
-.student_head >>> .el-button--primary {
-  background-color: #2268bc;
-}
-.student_head {
-  display: flex;
-  justify-content: space-between;
-}
-.three {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
-  width: 200px;
-  height: 30px;
-}
-
-.three > div {
-  cursor: pointer;
-}
-
-.choose {
-  border-bottom: 5px solid #3994fd;
-}
-
-.student_table {
-  width: 100%;
-  height: 100%;
-  background: #f2f2f2;
-  margin-top: 10px;
-}
-
-.tup {
-  width: 200px;
-  height: 191px;
-  margin: 0 auto;
-  position: relative;
-}
-
-.tup:hover .deleteWord {
-  display: block;
-}
-
-.deleteWord {
-  width: 25px;
-  height: 25px;
-  position: absolute;
-  right: -25px;
-  top: -10px;
-  cursor: pointer;
-  display: none;
-}
-
-.tup > img,
-.deleteWord > img {
-  width: 100%;
-  height: 100%;
-}
-
-.out_box {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  width: 250px;
-  padding: 10px 0;
-  background: #fff;
-  margin: 0 25px 15px 0;
-}
-
-.bottom_box {
-  display: flex;
-  text-align: center;
-  margin: 0 auto;
-  padding: 10px 0 5px 0;
-}
-.bottom_box > div:nth-child(1) {
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  overflow: hidden;
-  word-break: break-all;
-  width: 200px;
-}
-.uploadThing {
-  background: #2268bc;
-  width: 90px;
-  height: 35px;
-  color: #fff;
-  font-size: 12px;
-  text-align: center;
-  line-height: 35px;
-  cursor: pointer;
-  border-radius: 4px;
-}
-
-.top {
-  display: flex;
-  justify-content: space-between;
-}
-.student_page {
-  margin-top: 30px;
-}
-.boxCss {
-  padding: 15px 5px;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  min-height: 250px;
-}
-
-.mask {
-  background-color: rgba(0, 0, 0, 0);
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  z-index: 20000;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.progressBox {
-  width: 500px;
-  height: 180px;
-  background: #fff;
-  border-radius: 10px;
-  box-shadow: 0 0 6px 1px #bfbfbf;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  flex-direction: column;
-}
-.progressBox .lbox {
-  height: 100px;
-  font-size: 19px;
-  display: flex;
-  align-items: center;
-}
-
-.progressBox .lbox img {
-  width: 40px;
-  margin-right: 20px;
-}
-
-.progressBox >>> .el-progress-bar__outer {
-  background-color: #d1dfff !important;
-}
-</style>

+ 0 - 587
src/components/pages/libraryGM.vue

@@ -1,587 +0,0 @@
-<template>
-  <div class="pb_content" style="overflow: auto;">
-    <div class="pb_head top">
-      <span>素材库</span>
-      <div v-if="choose == 0" @click="addImg($event)">
-        <input
-          type="file"
-          accept="image/*"
-          capture="camera"
-          style="display: none"
-          @change="beforeUpload1($event, 1)"
-        />
-        <div class="uploadThing btnClassGM">上传图片</div>
-      </div>
-      <div v-if="choose == 1" @click="addImg($event)">
-        <input
-          type="file"
-          accept="video/mp4,video/quicktime,video/x-msvideo"
-          capture="camera"
-          style="display: none"
-          @change="beforeUpload2($event, 2)"
-        />
-        <div class="uploadThing btnClassGM">上传视频</div>
-      </div>
-      <div v-if="choose == 2" @click="addImg($event)">
-        <input
-          type="file"
-          accept="application/pdf,.ppt,.pptx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"
-          style="display: none"
-          @change="beforeUpload2($event, 3)"
-        />
-        <div class="uploadThing btnClassGM">上传附件</div>
-      </div>
-    </div>
-    <div class="pb_content_body" style="height: 70%">
-      <div class="student_head">
-        <div class="three">
-          <div :class="choose == 0 ? 'choose' : ''" @click="sMtl(0)">图片</div>
-          <div :class="choose == 1 ? 'choose' : ''" @click="sMtl(1)">视频</div>
-          <div :class="choose == 2 ? 'choose' : ''" @click="sMtl(2)">附件</div>
-        </div>
-      </div>
-      <div class="student_table">
-        <div v-if="this.choose == 0" class="boxCss">
-          <div class="out_box" v-for="(item, index) in chapInfo" :key="index">
-            <div class="tup">
-              <img
-                :src="
-                  item.chapdataInfo ? JSON.parse(item.chapdataInfo).url : mtp
-                "
-                alt=""
-                @click="
-                  handlePictureCardPreview(JSON.parse(item.chapdataInfo).url)
-                "
-              />
-              <div class="deleteWord" @click="deleteM(item.id)">
-                <img src="../../assets/icon/delete.png" alt="" />
-              </div>
-            </div>
-            <div class="bottom_box">
-              <div>
-                {{
-                  item.chapdataInfo
-                    ? JSON.parse(item.chapdataInfo).name
-                    : "图片暂无名称"
-                }}
-              </div>
-            </div>
-          </div>
-        </div>
-        <div v-if="this.choose == 1" class="boxCss">
-          <div class="out_box" v-for="(item, index) in chapInfo" :key="index">
-            <div class="tup">
-              <img
-                :src="msp"
-                alt=""
-                @click="
-                  handlePictureCardPreview1(JSON.parse(item.chapdataInfo).url)
-                "
-              />
-              <div class="deleteWord" @click="deleteM(item.id)">
-                <img src="../../assets/icon/delete.png" alt="" />
-              </div>
-            </div>
-            <div class="bottom_box">
-              <div>
-                {{
-                  item.chapdataInfo
-                    ? JSON.parse(item.chapdataInfo).name
-                    : "图片暂无名称"
-                }}
-              </div>
-            </div>
-          </div>
-        </div>
-        <div v-if="this.choose == 2" class="boxCss">
-          <div class="out_box" v-for="(item, index) in chapInfo" :key="index">
-            <div class="tup">
-              <img
-                :src="mfj"
-                alt=""
-                @click="downFile(JSON.parse(item.chapdataInfo).url)"
-              />
-              <div class="deleteWord" @click="deleteM(item.id)">
-                <img src="../../assets/icon/delete.png" alt="" />
-              </div>
-            </div>
-            <div class="bottom_box">
-              <div>
-                {{
-                  item.chapdataInfo
-                    ? JSON.parse(item.chapdataInfo).name
-                    : "图片暂无名称"
-                }}
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="student_page">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total"
-          v-if="page && chapInfo.length"
-          @current-change="handleCurrentChange"
-        >
-        </el-pagination>
-      </div>
-    </div>
-    <el-dialog :visible.sync="pictureDialog" size="tiny">
-      <img width="100%" :src="dialogImageUrl" alt="" />
-    </el-dialog>
-    <el-dialog :visible.sync="vedioDialog" size="tiny">
-      <video-player
-        class="video-player vjs-custom-skin"
-        ref="videoPlayer"
-        :playsinline="true"
-        :options="playerO"
-        @play="onPlayerPlay($event)"
-        style="width: 100%; height: 100%"
-      ></video-player>
-    </el-dialog>
-    <div v-if="proVisible" class="mask">
-      <div class="progressBox">
-        <div class="lbox">
-          <img :src="require('../../assets/loading.gif')" />上传中,请稍后
-        </div>
-        <el-progress
-          :text-inside="true"
-          :stroke-width="20"
-          :percentage="progress"
-          style="width: 80%"
-        ></el-progress>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      choose: 0,
-      chapInfo: [],
-      cImgInfo: [],
-      isLoading: false,
-      noneBtnImg: false,
-      mtp: require("../../assets/tup1.png"),
-      msp: require("../../assets/sp1.png"),
-      mfj: require("../../assets/uploadImg.png"),
-      page: 1,
-      total: 0,
-      dialogImageUrl: "",
-      userid: this.$route.query.userid,
-      pictureDialog: false,
-      vedioDialog: false,
-      playerOptions: {
-        playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
-        autoplay: false, //如果true,浏览器准备好时开始回放。
-        muted: false, // 默认情况下将会消除任何音频。
-        loop: false, // 导致视频一结束就重新开始。
-        preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
-        language: "zh-CN",
-        aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
-        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
-        sources: [
-          {
-            type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目   || "video/ogg"|| "video/webm"
-            src: "", //url地址require("../../assets/media/aaa.mp4")
-          },
-        ],
-        // poster: require("../../assets/tu31.png"), //你的封面地址
-        // poster: dataRes.imgUrl, //你的封面地址
-        notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
-        controlBar: {
-          timeDivider: true, //当前时间和持续时间的分隔符
-          durationDisplay: true, //显示持续时间
-          remainingTimeDisplay: false, //是否显示剩余时间功能
-          fullscreenToggle: true, //全屏按钮
-        },
-      },
-      playerO: {},
-      proVisible: false,
-      progress: 0,
-    };
-  },
-  methods: {
-    handleCurrentChange(val) {
-      this.page = val;
-      this.selectMtl();
-    },
-    addImg(e) {
-      var el = e.currentTarget;
-      el.getElementsByTagName("input")[0].click();
-    },
-    imgChange(file, fileList, type) {
-      var _tmp = this.chapInfo;
-      this.noneBtnImg = _tmp.length >= 1;
-    },
-    downFile(url) {
-      window.open(url);
-    },
-    beforeUpload1(event, type) {
-      var file = event.target.files[0];
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-      _this.progress = 0;
-      _this.proVisible = true;
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length-1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-            _this.progress = parseInt((evt.loaded * 80) / evt.total);
-          })
-          .send(function (err, data) {
-            _this.progress = 100;
-            setTimeout(() => {
-              _this.proVisible = false;
-            }, 1000);
-            if (err) {
-              var a = _this.$refs.upload1.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              _this.cImgInfo.push({
-                name: file.name,
-                url: data.Location,
-              });
-              _this.addMtl();
-              _this.cImgInfo = [];
-              _this.selectMtl();
-              _this.imgChange(null, null, type);
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    handlePictureCardPreview(url) {
-      this.dialogImageUrl = url;
-      this.pictureDialog = true;
-    },
-    handlePictureCardPreview1(url) {
-      this.playerO = {};
-      this.playerOptions.poster = "";
-      this.playerOptions.sources[0].src = url;
-      this.playerO = this.playerOptions;
-      // this.dialogImageUrl = url;
-      this.vedioDialog = true;
-    },
-    beforeUpload2(event, type) {
-      var file = event.target.files[0];
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length-1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-          })
-          .send(function (err, data) {
-            if (err) {
-              var a = _this.$refs.upload1.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              if (type == 2) {
-                _this.cImgInfo.push({
-                  name: file.name,
-                  url: data.Location,
-                });
-                _this.addMtl();
-                _this.cImgInfo = [];
-                _this.selectMtl();
-                _this.imgChange(null, null, type);
-              } else if (type == 3) {
-                _this.cImgInfo.push({
-                  name: file.name,
-                  url: data.Location,
-                });
-                _this.addMtl();
-                _this.cImgInfo = [];
-                _this.selectMtl();
-                _this.imgChange(null, null, type);
-              }
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    addMtl() {
-      let params = {
-        cInfo: this.cImgInfo[0],
-        t: this.choose,
-        cBy: this.userid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "addMtl", params)
-        .then((res) => {
-          this.$message.success("上传素材成功");
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    sMtl(type) {
-      this.choose = type;
-      this.selectMtl();
-    },
-    selectMtl() {
-      this.isLoading = true;
-      let params = {
-        t: parseInt(this.choose),
-        uid: this.userid,
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectMtl2", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.chapInfo = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    deleteM(id) {
-      this.isLoading = true;
-      let params = {
-        id: id,
-      };
-      this.ajax
-        .get(this.$store.state.api + "deleteM", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.$message.success("删除成功");
-          this.selectMtl();
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    onPlayerPlay() {},
-  },
-  created() {
-    this.selectMtl();
-  },
-};
-</script>
-
-<style scoped>
-/* .student_button {
-																														display: flex;
-																														overflow: hidden;
-																														height: 40px;
-																													} */
-.student_head {
-  display: flex;
-  justify-content: space-between;
-}
-.three {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
-  width: 200px;
-  height: 30px;
-}
-
-.three > div {
-  cursor: pointer;
-}
-
-.choose {
-  border-bottom: 5px solid #5c549f;
-}
-
-.student_table {
-  width: 100%;
-  height: 100%;
-  background: #f2f2f2;
-  margin-top: 10px;
-}
-
-.tup {
-  width: 200px;
-  height: 191px;
-  margin: 0 auto;
-  position: relative;
-}
-
-.tup:hover .deleteWord {
-  display: block;
-}
-
-.deleteWord {
-  width: 25px;
-  height: 25px;
-  position: absolute;
-  right: -25px;
-  top: -10px;
-  cursor: pointer;
-  display: none;
-}
-
-.tup > img,
-.deleteWord > img {
-  width: 100%;
-  height: 100%;
-}
-
-.out_box {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  width: 250px;
-  padding: 10px 0;
-  background: #fff;
-  margin: 0 25px 15px 0;
-}
-
-.bottom_box {
-  display: flex;
-  text-align: center;
-  margin: 0 auto;
-  padding: 10px 0 5px 0;
-}
-.bottom_box > div:nth-child(1) {
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  overflow: hidden;
-  word-break: break-all;
-  width: 200px;
-}
-.uploadThing {
-  background: #2268bc;
-  width: 90px;
-  height: 35px;
-  color: #fff;
-  font-size: 12px;
-  text-align: center;
-  line-height: 35px;
-  cursor: pointer;
-  border-radius: 4px;
-}
-
-.top {
-  display: flex;
-  justify-content: space-between;
-}
-.student_page {
-  margin-top: 30px;
-}
-.boxCss {
-  padding: 15px 5px;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  min-height: 250px;
-}
-
-.student_page
-  >>> .el-pagination.is-background
-  .el-pager
-  li:not(.disabled).active {
-  background-color: #5c549f;
-  color: #fff !important;
-}
-.student_page
-  >>> .el-pagination.is-background
-  .el-pager
-  li:not(.disabled):hover {
-  color: #5c549f;
-}
-
-.mask {
-  background-color: rgba(0, 0, 0, 0);
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  z-index: 20000;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.progressBox {
-  width: 500px;
-  height: 180px;
-  background: #fff;
-  border-radius: 10px;
-  box-shadow: 0 0 6px 1px #bfbfbf;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  flex-direction: column;
-}
-.progressBox .lbox {
-  height: 100px;
-  font-size: 19px;
-  display: flex;
-  align-items: center;
-}
-
-.progressBox .lbox img {
-  width: 40px;
-  margin-right: 20px;
-}
-
-.progressBox >>> .el-progress-bar__outer {
-  background-color: #d1dfff !important;
-}
-</style>

+ 0 - 1667
src/components/pages/liveRoom(湖心亭看雪).vue

@@ -1,1667 +0,0 @@
-<template>
-  <div
-    style="
-      background: #d0d6e4;
-      width: 100%;
-      height: 100%;
-      margin: 0;
-      position: relate;
-    "
-  >
-    <!-- <div class="pb_content_body" style="height: 100%">
-    </div>-->
-    <div class="blackBottom">
-      <div
-        style="
-          display: flex;
-          flex-direction: row;
-          flex-wrap: nowrap;
-          align-items: stretch;
-          padding-left: 10px;
-        "
-      >
-        <div class="logoLive">
-          <img src="../../assets/icon/logo.png" alt />
-        </div>
-        <div style="color: #fff; line-height: 45px; padding-left: 15px">
-          湖心亭看雪可可乐博模拟展示课件
-        </div>
-      </div>
-    </div>
-    <div class="isNoOther">
-      <div
-        class="imgMiddle"
-        :class="isBlock > 0 ? 'imghalf' : 'imgMiddle'"
-        v-show="!full"
-      >
-        <!-- <img src="../../assets/icon/kc1.png" alt /> -->
-        <!-- <iframe
-          style="width: 100%; height: 100%; border: none"
-          src="https://view.officeapps.live.com/op/view.aspx?src=https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/0701%E5%AE%9E%E6%97%B6%E8%AF%BE%E5%A0%82%E6%A8%A1%E6%8B%9F%E6%BC%94%E7%A4%BA%E8%AF%BE%E4%BB%B61656644341323.pptx"
-        ></iframe>-->
-        <pdf
-          :pdfUrl="pdfUrl"
-          style="width: 100%; height: 100%"
-          :getPage="getPage"
-        ></pdf>
-      </div>
-      <div
-        style="
-          background: #d0d6e4;
-          height: 100%;
-          min-width: 40%;
-          max-width: 40%;
-          overflow: auto;
-          padding: 0px 0 50px;
-        "
-        v-if="isBlock == 1 || isBlock == 6"
-      >
-        <div
-          style="background: #fff; height: 92%; width: 96%; margin: 10px auto"
-        >
-          <div
-            style="color: #bfbfbf; padding: 15px 0 20px 25px; font-size: 20px"
-          >
-            答题查看
-          </div>
-          <!-- <div class="answerBox" v-if="isBlock == 1">
-            <div class="answerTimuBox" v-for="item in 1" :key="item">
-              <div class="choose_style">
-                <span>A</span>
-                <span>B</span>
-                <span>C</span>
-                <span>D</span>
-              </div>
-            </div>
-          </div>-->
-          <div class="answerBox" v-if="isBlock == 1 || isBlock == 6">
-            <div class="memberBox" v-if="isBlock == 1">
-              <div
-                :class="{ pAnswer: item.is == 2 }"
-                v-for="(item, index) in studentArray"
-                :key="index"
-              >
-                {{ item.name }}
-              </div>
-            </div>
-            <div class="memberBox" v-if="isBlock == 6">
-              <div
-                :class="{ pAnswer: item.is == 2 }"
-                v-for="(item, index) in studentArray2"
-                :key="index"
-                @click="whoAnswer(item, index)"
-              >
-                {{ item.name }}
-              </div>
-            </div>
-            <div style="color: #948bdc; padding-top: 15px" v-if="isBlock == 1">
-              共有四个选项,正在答题......
-            </div>
-            <div class="viewSta" @click="isBlock = 3" v-if="isBlock == 1">
-              查看数据统计
-            </div>
-            <span
-              slot="footer"
-              class="dialog-footer sztFooter"
-              v-if="isBlock == 6"
-            >
-              <el-button type="primary" @click="isBlock = 0">结束</el-button>
-              <!-- <el-button type="primary" @click="isBlock = 2">返回</el-button> -->
-            </span>
-          </div>
-        </div>
-      </div>
-      <div
-        style="
-          background: #d0d6e4;
-          height: 92%;
-          min-width: 40%;
-          max-width: 40%;
-          overflow: auto;
-          padding: 0px 0 50px;
-        "
-        v-if="isBlock == 3"
-      >
-        <div
-          style="
-            background: #fff;
-            width: 96%;
-            margin: 10px auto;
-            position: relative;
-          "
-        >
-          <div class="close" @click="isBlock = 0">
-            <img src="../../assets/icon/close.png" alt />
-          </div>
-          <div style="color: #bfbfbf; padding: 15px 0 20px 25px">数据统计</div>
-          <div style="padding-left: 25px">
-            目前A选项
-            <span class>{{ answerJson.A }}票</span>、B选项
-            <span>{{ answerJson.B }}票</span>、C选项
-            <span>{{ answerJson.C }}票</span>、D选项
-            <span>{{ answerJson.D }}票</span>
-          </div>
-          <div class="szt">
-            <!-- <img src="../../assets/szt.png" alt /> -->
-            <AnswerData :problemJson="answerJson"></AnswerData>
-          </div>
-          <span slot="footer" class="dialog-footer sztFooter">
-            <el-button type="primary" @click="isBlock = 0">关闭</el-button>
-            <el-button type="primary" @click="isBlock = 1">返回</el-button>
-          </span>
-        </div>
-      </div>
-      <div
-        class="answerBox tools_box"
-        v-if="isBlock == 2"
-        style="padding: 10px 0 0 25px"
-      >
-        <div style="color: #d1d1d1; font-size: 24px">课堂实践</div>
-        <div
-          style="
-            margin: 20px 0 20px 0;
-            border-bottom: 4px solid #3e86f3;
-            width: 75px;
-            text-align: center;
-            padding-bottom: 3px;
-          "
-        >
-          选择工具
-        </div>
-        <div
-          style="
-            display: flex;
-            flex-direction: row;
-            flex-wrap: wrap;
-            width: 100%;
-            justify-content: flex-start;
-            align-items: center;
-          "
-        >
-          <div
-            v-if="toolsList[0].tools.indexOf(1) != -1"
-            @click="(isBlock = 5), (toolCount = 1)"
-            class="toolCss"
-          >
-            <!-- <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://iwb.cocorobo.cn/"
-            ></iframe>-->
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/whiteBoard.png" alt />
-              <div>电子白板</div>
-            </div>
-          </div>
-          <div
-            v-if="toolsList[0].tools.indexOf(2) != -1"
-            @click="(isBlock = 5), (toolCount = 2)"
-            class="toolCss"
-          >
-            <!-- <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://iwb.cocorobo.cn/"
-            ></iframe>-->
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/note.png" alt />
-              <div>便签</div>
-            </div>
-          </div>
-          <div
-            v-if="toolsList[0].tools.indexOf(3) != -1"
-            @click="(isBlock = 5), (toolCount = 3)"
-            class="toolCss"
-          >
-            <!-- <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://cloud.cocorobo.cn/kityminder-editor/dist/index.html"
-            ></iframe>-->
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/mindMapping.png" alt />
-              <div>思维导图</div>
-            </div>
-          </div>
-          <div
-            v-if="toolsList[0].tools.indexOf(4) != -1"
-            @click="(isBlock = 5), (toolCount = 4)"
-            class="toolCss"
-          >
-            <!-- <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://cloud.cocorobo.cn/kityminder-editor/dist/index.html"
-            ></iframe>-->
-            <div class="toolImg">
-              <img src="../../assets/icon/thirdToolList/ask.png" alt />
-              <div>问卷调查</div>
-            </div>
-          </div>
-          <div
-            v-if="toolsList[0].tools.indexOf(6) != -1"
-            @click="(isBlock = 5), (toolCount = 6)"
-            class="toolCss"
-          >
-            <!-- <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://cloud.cocorobo.cn/kityminder-editor/dist/index.html"
-            ></iframe>-->
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/doc.png" alt />
-              <div>协同文档</div>
-            </div>
-          </div>
-          <div
-            v-if="toolsList[0].tools.indexOf(7) != -1"
-            @click="(isBlock = 5), (toolCount = 7)"
-            class="toolCss"
-          >
-            <!-- <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid"
-            ></iframe>-->
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/mindNetwork.png" alt />
-              <div>思维网格</div>
-            </div>
-          </div>
-          <div
-            v-if="toolsList[0].tools.indexOf(8) != -1"
-            @click="(isBlock = 5), (toolCount = 8)"
-            class="toolCss"
-          >
-            <!-- <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid"
-            ></iframe>-->
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/library.png" alt />
-              <div>素材库</div>
-            </div>
-          </div>
-          <div v-if="toolsList[0].tools.indexOf(10) != -1" class="toolCss">
-            <!-- <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid"
-            ></iframe>-->
-            <div class="toolImg" @click="timeDialogVisible = true">
-              <img src="../../assets/icon/thirdToolList/time.png" alt />
-              <div>倒计时</div>
-            </div>
-          </div>
-          <div v-if="toolsList[0].tools.indexOf(11) != -1" class="toolCss">
-            <!-- <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid"
-            ></iframe>-->
-            <div class="toolImg">
-              <div>问答题</div>
-            </div>
-          </div>
-          <div v-if="toolsList[0].tools.indexOf(13) != -1" class="toolCss">
-            <!-- <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid"
-            ></iframe>-->
-            <div class="toolImg">
-              <div>分小组</div>
-            </div>
-          </div>
-          <div v-if="toolsList[0].tools.indexOf(14) != -1" class="toolCss">
-            <!-- <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid"
-            ></iframe>-->
-            <div class="toolImg">
-              <div>作业评价</div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <div
-        class="answerBox tools_box"
-        :class="{ fullStyle: full }"
-        v-if="isBlock == 5"
-      >
-        <!-- <div
-          style="
-            border-bottom: 3px solid rgb(44, 131, 238);
-            width: 70px;
-            padding-bottom: 3px;
-            text-align: center;
-            margin-bottom: 20px;
-          "
-        >
-          选择工具
-        </div>-->
-        <div style="height: 100%; width: 100%">
-          <div v-if="toolCount == 1" class="tools_child_box">
-            <div class="tools_title">
-              <span>电子白板</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              style="width: 100%; height: 100%; border: none"
-              src="https://iwb.cocorobo.cn/"
-            ></iframe>
-          </div>
-          <div v-if="toolsList[0].tools[howTools] == 2" class="tools_child_box">
-            <div class="tools_title">
-              <span>便签</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              style="width: 100%; height: 100%; border: none"
-              src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/note"
-            ></iframe>
-          </div>
-          <div v-if="toolCount == 3" class="tools_child_box">
-            <div class="tools_title">
-              <span>思维导图</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              style="width: 100%; height: 100%; border: none"
-              src="https://cloud.cocorobo.cn/kityminder-editor/dist/index.html"
-            ></iframe>
-          </div>
-          <div v-if="toolsList[0].tools[howTools] == 4" class="tools_child_box">
-            <div class="tools_title">
-              <span>问卷调查</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              style="width: 100%; height: 100%; border: none"
-              src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/ask"
-            ></iframe>
-          </div>
-          <div v-if="toolsList[0].tools[howTools] == 6" class="tools_child_box">
-            <div class="tools_title">
-              <span>协同文档</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              style="width: 100%; height: 100%; border: none"
-              src="https://cloud.cocorobo.cn/Office/Word/WordEditArea.htm"
-            ></iframe>
-          </div>
-          <div v-if="toolCount == 7" class="tools_child_box">
-            <div class="tools_title">
-              <span>思维网格</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              style="width: 100%; height: 100%; border: none"
-              src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid"
-            ></iframe>
-          </div>
-          <div v-if="toolsList[0].tools[howTools] == 8" class="tools_child_box">
-            <div class="tools_title">
-              <span>素材库</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              style="width: 100%; height: 100%; border: none"
-              src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/library"
-            ></iframe>
-          </div>
-          <div v-if="toolsList[0].tools[howTools] == 9" class="tools_child_box">
-            <div class="tools_title">
-              <span>选择题</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <div>选择题</div>
-          </div>
-          <div
-            v-if="toolsList[0].tools[howTools] == 10"
-            class="tools_child_box"
-          >
-            <div class="tools_title">
-              <span>倒计时</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <div>倒计时</div>
-          </div>
-          <div
-            v-if="toolsList[0].tools[howTools] == 11"
-            class="tools_child_box"
-          >
-            <div class="tools_title">
-              <span>问答题</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <div>问答题</div>
-          </div>
-          <div
-            v-if="toolsList[0].tools[howTools] == 13"
-            class="tools_child_box"
-          >
-            <div class="tools_title">
-              <span>分小组</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <div>分小组</div>
-          </div>
-          <div
-            v-if="toolsList[0].tools[howTools] == 14"
-            class="tools_child_box"
-          >
-            <div class="tools_title">
-              <span>作业评价</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <div>作业评价</div>
-          </div>
-          <div class="nextStepBox" v-if="toolsList[0].tools.length > 1">
-            <!-- <div class="nextStepOne" @click="howTools--" v-if="howTools != 0">
-              上一步
-            </div>
-            <div
-              class="nextStepOne"
-              @click="howTools++"
-              v-if="howTools != toolsList[0].tools.length - 1"
-            >
-              下一步
-            </div>-->
-            <div class="nextStepOne" @click="isBlock = 2">返回</div>
-          </div>
-        </div>
-        <!-- <div v-if="toolCount == 0" style="height: 90%">
-          <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid"
-          ></iframe>
-        </div>
-        <div v-if="toolCount == 1" style="height: 90%">
-          <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://iwb.cocorobo.cn/"
-          ></iframe>
-        </div>
-        <div v-if="toolCount == 2" style="height: 90%">
-          <iframe
-            style="width: 100%; height: 100%; border: none"
-            src="https://cloud.cocorobo.cn/kityminder-editor/dist/index.html"
-          ></iframe>
-        </div>
-        <div class="nextStepOne" @click="nextTool">下一步</div>-->
-      </div>
-
-      <div
-        class="answerBox"
-        style="
-          width: 38.5%;
-          max-width: 38.5%;
-          overflow: auto;
-          background: rgb(255, 255, 255);
-          height: 91.5%;
-          position: relative;
-          margin: 10px 15px;
-        "
-        v-if="isBlock == 4"
-      >
-        <div
-          style="
-            color: #b7b7b7;
-            border-left: 5px solid #a5b6e2;
-            padding-left: 7px;
-            height: 25px;
-            line-height: 25px;
-          "
-        >
-          查看作业
-        </div>
-        <div class="workBox">
-          <div class="works" v-for="(w, wIndex) in worksList" :key="wIndex">
-            <div class="workImg">
-              <img
-                :src="w.upload.upImg ? w.upload.upImg[0].url : mr"
-                @click="previewImg(w.upload.upImg ? w.upload.upImg[0].url : mr)"
-                alt
-              />
-            </div>
-            <div class="workDetail">
-              <div class="workLeft">
-                <div class="workTx">
-                  <img src="../../assets/avatar.png" alt />
-                </div>
-                <div class="workName">{{ w.sName }}</div>
-              </div>
-              <div class="workRight">{{ w.time }}</div>
-              <div class="workBtn" @click="isBlock = 7">查看评价</div>
-            </div>
-          </div>
-        </div>
-        <div class="returnButton" @click="isBlock = 0">关闭</div>
-      </div>
-      <div
-        class="answerBox"
-        v-if="isBlock == 7"
-        style="
-          padding: 0 0 0 25px;
-          width: 38.5%;
-          max-width: 38.5%;
-          overflow: auto;
-          background: rgb(255, 255, 255);
-          height: 91.5%;
-          position: relative;
-          margin: 10px 15px;
-        "
-      >
-        <div style="color: #bfbfbf; padding: 15px 0 15px 0; font-size: 20px">
-          课堂评价
-        </div>
-        <div>
-          <div class="score_box">
-            <span>自我评价</span>
-            <el-rate v-model="rateList.ca"></el-rate>
-          </div>
-          <div class="score_box">
-            <span>他人评价</span>
-            <el-rate v-model="rateList.sia"></el-rate>
-          </div>
-        </div>
-        <div>
-          <div style="padding-bottom: 15px; sont-size: 14px">备注</div>
-          <div class="bz">
-            <el-input
-              type="textarea"
-              placeholder="请输入备注…"
-              :rows="6"
-              resize="none"
-              v-model="rateList.content"
-            ></el-input>
-          </div>
-        </div>
-        <span
-          slot="footer"
-          class="dialog-footer sztFooter"
-          style="
-            padding: 0 0 30px 0px;
-            position: absolute;
-            right: 20px;
-            bottom: 0;
-          "
-        >
-          <el-button type="primary" @click="isBlock = 4">返回</el-button>
-        </span>
-      </div>
-    </div>
-
-    <div class="blackBottomB">
-      <div style="display: flex">
-        <div class="blackButton" @click="showMember(0)" v-if="steps == 3">
-          开始答题
-        </div>
-        <div
-          class="blackButton"
-          @click="isBlock = 2"
-          v-if="
-            4 <= steps &&
-            steps <= 12 &&
-            steps != 8 &&
-            steps != 11 &&
-            steps != 12 &&
-            toolsList[0].tools[howTools] != 11 &&
-            toolsList[0].tools[howTools] != 13
-          "
-        >
-          查看工具
-        </div>
-        <div class="blackButton" @click="checkStudentAnswer" v-if="steps == 8">
-          选择学生回答
-        </div>
-        <div
-          class="blackButton"
-          @click="selectSWork"
-          v-if="
-            steps == 11 ||
-            steps == 12 ||
-            (4 <= steps &&
-              steps <= 12 &&
-              steps != 8 &&
-              steps != 11 &&
-              steps != 12 &&
-              toolsList[0].tools[howTools] != 10 &&
-              toolsList[0].tools[howTools] != 11 &&
-              toolsList[0].tools[howTools] != 13)
-          "
-        >
-          查看作业
-        </div>
-      </div>
-      <!-- <div
-        class="blackButton"
-        style="margin-right: 10px"
-        @click="dialogVisible2 = true"
-      >
-        查看报告
-      </div>-->
-    </div>
-    <el-dialog
-      title="选择答题"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">
-        是否让“{{ answerStudent }}”同学进行单独答题?
-      </div>
-      <div
-        style="
-          width: 200px;
-          background: #4d8ae0;
-          height: 35px;
-          margin: 0 auto;
-          text-align: center;
-          line-height: 35px;
-          color: #fff;
-          border-radius: 5px;
-          cursor: pointer;
-        "
-        @click="dialogVisible = false"
-      >
-        确定
-      </div>
-    </el-dialog>
-    <el-dialog
-      :visible.sync="dialogVisible1"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">
-        正在开发中!
-      </div>
-      <div
-        style="
-          width: 200px;
-          background: #4d8ae0;
-          height: 35px;
-          margin: 0 auto;
-          text-align: center;
-          line-height: 35px;
-          color: #fff;
-          border-radius: 5px;
-          cursor: pointer;
-        "
-        @click="dialogVisible1 = false"
-      >
-        确定
-      </div>
-    </el-dialog>
-    <el-dialog
-      :visible.sync="dialogVisible2"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">
-        课程结束后才有报告!
-      </div>
-      <div
-        style="
-          width: 200px;
-          background: #4d8ae0;
-          height: 35px;
-          margin: 0 auto;
-          text-align: center;
-          line-height: 35px;
-          color: #fff;
-          border-radius: 5px;
-          cursor: pointer;
-        "
-        @click="dialogVisible2 = false"
-      >
-        确定
-      </div>
-    </el-dialog>
-    <el-dialog
-      title="倒计时"
-      :visible.sync="timeDialogVisible"
-      :append-to-body="true"
-      width="800px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <Time v-if="timeDialogVisible"></Time>
-      </div>
-      <div slot="footer">
-        <el-button @click="timeDialogVisible = false">关 闭</el-button>
-      </div>
-    </el-dialog>
-    <ImgDraw :drawShow="drawShow" @closeDraw="closeDraw" :bg="bg"></ImgDraw>
-    <img id="img1" ref="img1" hidden="hidden" />
-  </div>
-</template>
-
-<script>
-import "../../common/aws-sdk-2.235.1.min";
-import EditorBar from "../../components/tools/wangEnduit";
-import AnswerData from "./components/answerData";
-import pdf from "./components/pdf";
-import ImgDraw from "./components/imgDraw/imgDraw";
-import Time from "../tools/time.vue";
-export default {
-  components: { EditorBar, AnswerData, pdf, ImgDraw, Time },
-  data() {
-    return {
-      pdfUrl:
-        "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/0629%E5%AE%9E%E6%97%B6%E8%AF%BE%E5%A0%82%E6%A8%A1%E6%8B%9F%E6%BC%94%E7%A4%BA%E8%AF%BE%E4%BB%B61656920880446.pdf",
-      isLoading: false,
-      full: false,
-      drawShow: false,
-      bg: null,
-      formLabelWidth: "100px",
-      userid: this.$route.query.userid,
-      cid: this.$route.query.cid,
-      oid: this.$route.query.oid,
-      mr: require("../../assets/icon/kc1.png"),
-      timu: [],
-      // a: false,
-      // b: false,
-      // c: false,
-      steps: 0,
-      isBlock: 0,
-      timeDialogVisible: false,
-      dialogVisible: false,
-      dialogVisible1: false,
-      dialogVisible2: false,
-      toolCount: 0,
-      answerBox: "",
-      answer: [
-        { name: "A.1568" },
-        { name: "B.720" },
-        { name: "C.1728" },
-        { name: "D.480" },
-      ],
-      studentArray: [
-        { name: "张可松", is: 1 },
-        { name: "陈佳佳", is: 1 },
-        { name: "许琦基", is: 1 },
-        { name: "洛维奇", is: 1 },
-        { name: "罗伟", is: 1 },
-        { name: "李孝雄", is: 1 },
-        { name: "李琪琪", is: 1 },
-        { name: "黄子韬", is: 1 },
-        { name: "张嘉琪", is: 1 },
-        { name: "陈家", is: 1 },
-        { name: "张可", is: 1 },
-        { name: "庄小小", is: 1 },
-        { name: "梁思成", is: 1 },
-        { name: "房小玲", is: 1 },
-        { name: "李卫涛", is: 1 },
-        { name: "李玫儿", is: 1 },
-        { name: "张可梦", is: 1 },
-        { name: "李琦", is: 1 },
-        { name: "梁惠", is: 1 },
-        { name: "许佳琪", is: 1 },
-      ],
-      studentArray2: [
-        { name: "张可松", is: 1 },
-        { name: "陈佳佳", is: 1 },
-        { name: "许琦基", is: 1 },
-        { name: "洛维奇", is: 1 },
-        { name: "罗伟", is: 1 },
-        { name: "李孝雄", is: 1 },
-        { name: "李琪琪", is: 1 },
-        { name: "黄子韬", is: 1 },
-        { name: "张嘉琪", is: 1 },
-        { name: "陈家", is: 1 },
-        { name: "张可", is: 1 },
-        { name: "庄小小", is: 1 },
-        { name: "梁思成", is: 1 },
-        { name: "房小玲", is: 1 },
-        { name: "李卫涛", is: 1 },
-        { name: "李玫儿", is: 1 },
-        { name: "张可梦", is: 1 },
-        { name: "李琦", is: 1 },
-        { name: "梁惠", is: 1 },
-        { name: "许佳琪", is: 1 },
-      ],
-      askCount: 0,
-      answerJson: {
-        A: 0,
-        B: 0,
-        C: 0,
-        D: 0,
-      },
-      answerStudent: "",
-      tools: [
-        "",
-        "",
-        { tools: [9] }, //选择题
-        { tools: [10] }, //倒计时
-        { tools: [11] }, //问答题
-        { tools: [11] }, //问答题
-        { tools: [3] }, //思维导图/电子白板
-        { tools: [12] }, //选人回答
-        { tools: [10, 13] }, //倒计时、分小组
-        { tools: [3] }, //思维导图/电子白板/思维网格
-        { tools: [14] }, //查看作业
-        { tools: [14] }, //查看作业
-        "", //查看作业
-        //1、电子白板 2、便签 3、思维导图 4、问卷调查 5、量规评分 6、协同文档 7、思维网格 8、素材库 9、选择题 10、倒计时 11、问答题 12、选人回答 13、分小组 14、老师对提交作业进行评价
-      ],
-      howTools: 0,
-      worksDetail: [],
-      worksList: [],
-      toolsList: [],
-      isNext: false,
-      rateList: {
-        ca: 5,
-        sia: 5,
-        content: "老师讲得真好",
-      },
-    };
-  },
-  methods: {
-    change(val) {
-      console.log(val);
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    jump(cid) {
-      window.parent.postMessage({ cid: cid, type: "1" }, "*");
-    },
-    handleCurrentChange(val) {
-      // console.log(`当前页: ${val}`);
-      this.page = val;
-    },
-    init() {},
-    handleClose(done) {
-      done();
-    },
-    //uuid生成
-    guid() {
-      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
-        /[xy]/g,
-        function (c) {
-          var r = (Math.random() * 16) | 0,
-            v = c == "x" ? r : (r & 0x3) | 0x8;
-          return v.toString(16);
-        }
-      );
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    randomNum(minNum, maxNum) {
-      switch (arguments.length) {
-        case 1:
-          return parseInt(Math.random() * minNum + 1, 10);
-          break;
-        case 2:
-          return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
-          break;
-        default:
-          return 0;
-          break;
-      }
-    },
-    addTool(t) {
-      if (t == 1) {
-        window.parent.postMessage({ tools: "1" }, "*");
-      } else if (t == 3) {
-        window.parent.postMessage({ tools: "3" }, "*");
-      } else if (t == 7) {
-        window.parent.postMessage({ tools: "7" }, "*");
-      }
-    },
-    nextTool() {
-      if (this.howTools < this.toolsList[0].tools.length - 1) {
-        this.howTools++;
-        if (this.howTools == this.toolsList[0].tools.length - 1) {
-          this.isNext = true;
-        }
-      } else if (this.howTools == this.toolsList[0].tools.length - 1) {
-        if (this.isNext == true) {
-          this.howTools = this.howTools - 1;
-          this.isNext = false;
-        }
-      }
-      // if (this.toolCount < 2) {
-      //   this.toolCount++;
-      // } else {
-      //   this.steps = 0;
-      //   this.type = 0;
-      //   this.toolCount = 0;
-      // }
-    },
-    // answerWork() {
-    //   this.isBlock = 1;
-    // },
-    checkStudentAnswer() {
-      this.isBlock = 6;
-      for (var i = 0; i < this.studentArray.length; i++) {
-        this.studentArray2[i].is = 1;
-      }
-    },
-    showMember(i) {
-      let _this = this;
-      this.isBlock = 1;
-      setTimeout(() => {
-        for (var i = 0; i < 10; i++) {
-          var a = _this.randomNum(0, _this.studentArray.length - 1);
-          _this.studentArray[a].is = 2;
-        }
-        this.askCount = 0;
-        for (var i in _this.studentArray) {
-          if (_this.studentArray[i].is == 2) {
-            _this.askCount++;
-          }
-        }
-        i = 0;
-        this.answerJson = {
-          A: 0,
-          B: 0,
-          C: 0,
-          D: 0,
-        };
-        for (var i = 0; i < _this.askCount; i++) {
-          var a = _this.randomNum(0, 3);
-          if (a === 0) {
-            _this.answerJson.A++;
-          } else if (a === 1) {
-            _this.answerJson.B++;
-          } else if (a === 2) {
-            _this.answerJson.C++;
-          } else if (a === 3) {
-            _this.answerJson.D++;
-          }
-        }
-      }, 2000);
-    },
-    whoAnswer(item, index) {
-      for (var i = 0; i < this.studentArray.length; i++) {
-        this.studentArray2[i].is = 1;
-      }
-      this.studentArray2[index].is = 2;
-      this.answerStudent = item.name;
-      this.dialogVisible = true;
-    },
-    howPage(page) {
-      this.howTools = 0;
-      if (this.toolsList.length > 0) {
-        this.toolsList = [];
-        this.toolsList.push({ tools: this.tools[page - 1].tools });
-      } else {
-        this.toolsList.push({ tools: this.tools[page - 1].tools });
-      }
-    },
-    getPage(page) {
-      console.log(page);
-      let params = [
-        {
-          page: page,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updatePptPage", params)
-        .then((res) => {
-          this.steps = page;
-          this.isBlock = 0;
-          if (page == 3) {
-            this.howPage(page);
-          } else if (page == 4) {
-            this.howPage(page);
-          } else if (page == 5) {
-            this.howPage(page);
-          } else if (page == 6) {
-            this.howPage(page);
-          } else if (page == 7) {
-            this.howPage(page);
-          } else if (page == 8) {
-            this.howPage(page);
-          } else if (page == 9) {
-            this.howPage(page);
-          } else if (page == 10) {
-            this.howPage(page);
-          } else if (page == 11) {
-            this.howPage(page);
-          } else if (page == 12) {
-            this.howPage(page);
-          }
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    selectSWork() {
-      this.worksList = [];
-      let params = {
-        uid: "",
-        cid: this.cid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectSWork", params)
-        .then((res) => {
-          this.worksDetail = res.data[0];
-          for (var i = 0; i < this.worksDetail.length; i++) {
-            this.worksList.push({
-              upload: JSON.parse(this.worksDetail[i].upload)[0],
-              sName: this.worksDetail[i].username,
-              time: this.worksDetail[i].time,
-            });
-          }
-          this.isBlock = 4;
-        })
-        .catch((err) => {
-          this.$message.error("查询失败");
-          console.error(err);
-        });
-    },
-    previewImg(url) {
-      // this.$hevueImgPreview(url);
-      // this.$hevueImgPreview(url);
-      this.drawShow = true;
-      this.bg = url;
-      // this.setAvatarBase64(url, (base64) => {
-      //   this.$nextTick(() => {
-      //     this.drawShow = true;
-      //     this.bg = base64;
-      //   });
-      // });
-    },
-    closeDraw() {
-      this.bg = null;
-      this.drawShow = false;
-    },
-    fullTools() {
-      this.full = !this.full;
-    },
-    closeTools() {
-      this.full = false;
-      this.isBlock = 2;
-    },
-    // 将网络图片转换成base64格式
-    transBase64FromImage(image) {
-      let canvas = document.createElement("canvas");
-      canvas.width = image.width;
-      canvas.height = image.height;
-      let ctx = canvas.getContext("2d");
-      ctx.drawImage(image, 0, 0, image.width, image.height);
-      // 可选其他值 image/jpeg
-      return canvas.toDataURL("image/jpeg");
-    },
-    // 设置需要展示的图片  base64
-    setAvatarBase64(src, callback) {
-      let _this = this;
-      let image = new Image();
-      // let image = this.$refs.img1;
-      // 处理缓存
-      // image.src = src + "?v=" + Math.random();
-      image.src = src;
-      // 支持跨域图片
-      // image.crossOrigin = "anonymous";
-      // crossorigin="anonymous"
-      image.onload = function () {
-        let base64 = _this.transBase64FromImage(image);
-        callback && callback(base64);
-        // console.log(base64);
-        // return base64
-      };
-    },
-  },
-  created() {},
-};
-</script>
-
-<style scoped>
-.dialog_diy >>> .el-dialog__header {
-  background: #3d67bc !important;
-  padding: 15px 20px;
-}
-.dialog_diy >>> .el-dialog__title {
-  color: #fff;
-}
-.dialog_diy >>> .el-dialog__headerbtn {
-  top: 9px;
-}
-.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close {
-  color: #fff;
-}
-.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close:hover {
-  color: #fff;
-}
-
-.blackBottom {
-  background: rgb(0, 0, 0);
-  height: 45px;
-  width: 100%;
-}
-
-.imgMiddle {
-  width: 100%;
-  height: calc(100% - 45px);
-  /* max-height: 920px; */
-}
-
-.imgMiddle > img,
-.imghalf > img,
-.szt > img,
-.logoLive > img,
-.close > img {
-  width: 100%;
-  height: 100%;
-  /* max-height: 920px; */
-}
-
-.blackBottomB {
-  position: sticky;
-  bottom: 0px;
-  left: 0px;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-content: center;
-  justify-content: space-between;
-  align-items: center;
-  background: rgb(0, 0, 0);
-  height: 45px;
-  width: 100%;
-}
-
-.blackBottomB > div:nth-child(1) {
-  margin-left: 10px !important;
-}
-
-.blackButton {
-  color: #fff;
-  background: #066ebe;
-  width: 100px;
-  height: 30px;
-  line-height: 30px;
-  text-align: center;
-  margin: 0 5px;
-  border-radius: 5px;
-  font-size: 15px;
-  cursor: pointer;
-}
-
-.isNoOther {
-  width: 100%;
-  /* height: 100%; */
-  height: calc(100% - 45px);
-  display: flex;
-}
-
-.imghalf {
-  width: 60% !important;
-  height: calc(100% - 45px);
-  /* max-height: 920px; */
-}
-.answerBox {
-  padding-left: 25px;
-  padding: 25px;
-  box-sizing: border-box;
-  /* max-height: 800px;
-  overflow: auto; */
-}
-.answerTimuBox {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: flex-start;
-  justify-content: flex-start;
-  padding-bottom: 15px;
-}
-.memberBox {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-items: center;
-}
-.memberBox > div {
-  background: rgb(79 213 163);
-  width: 120px;
-  color: #fff;
-  height: 40px;
-  text-align: center;
-  line-height: 40px;
-  border-radius: 5px;
-  margin: 0 15px 15px 0;
-  cursor: pointer;
-}
-
-.memberBox .pAnswer {
-  background: rgb(55 197 144);
-}
-
-.viewSta {
-  background: rgb(97, 97, 97);
-  color: #bebebe;
-  margin: 20px auto 20px;
-  width: 300px;
-  height: 40px;
-  text-align: center;
-  line-height: 40px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-.szt {
-  width: 100%;
-  margin: 20px auto;
-}
-.sztFooter {
-  padding: 20px 10px 50px 0;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  justify-content: flex-end;
-  align-items: center;
-}
-.toolList {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  justify-content: flex-start;
-  align-items: center;
-}
-.tools {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  margin-right: 20px;
-}
-.tools > div:nth-child(1) {
-  width: 60px;
-}
-.tools > div:nth-child(1) > img,
-.workImg > img,
-.workTx > img {
-  width: 100%;
-  height: 100%;
-  object-fit: cover;
-  cursor: pointer;
-  margin: 0;
-}
-.nextStepBox {
-  display: flex;
-  justify-content: center;
-  margin-top: 10px;
-}
-.nextStepOne {
-  background: #6b92c9;
-  color: #fff;
-  width: 110px;
-  text-align: center;
-  height: 35px;
-  line-height: 35px;
-  font-size: 14px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-
-.nextStepOne,
-.nextStepOne {
-  margin-left: 10px;
-}
-
-.logoLive {
-  width: 35px;
-}
-.anserBoxCss {
-  box-sizing: border-box;
-  padding: 20px 0;
-}
-.anserBoxCss >>> .el-radio__label {
-  font-size: 18px;
-}
-.anserBoxCss >>> .el-radio__inner {
-  border-radius: 0px !important;
-}
-
-.choose_style {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  width: 100%;
-  margin: 10px 0 30px;
-}
-
-.choose_style span {
-  background: #f8f9ff;
-  color: #677fff;
-  border: 1px solid #95b5ff;
-  padding: 15px 20px;
-  font-size: 25px;
-  border-radius: 18px;
-  cursor: pointer;
-}
-
-.choose_style span + span {
-  margin-left: 25px;
-}
-
-.choose_style .active {
-  color: #fff;
-  background: #5e78fa;
-}
-.close {
-  position: absolute;
-  right: 10px;
-  top: 10px;
-  width: 20px;
-  cursor: pointer;
-}
-.workBox {
-  margin-top: 20px;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  width: 100%;
-}
-.works {
-  width: 31%;
-  border: 1px solid #ececec;
-  /* height: 160px; */
-  margin: 0 10px 10px 0;
-  /* cursor: pointer; */
-  min-width: 180px;
-  border-radius: 3px;
-  overflow: hidden;
-}
-.workImg {
-  /* width: 214px; */
-  height: 117px;
-}
-.workDetail {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: flex-start;
-  justify-content: space-between;
-  padding: 8px 0 0;
-  flex-direction: column;
-}
-.workLeft {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: center;
-  width: 100%;
-  padding: 0px 5px;
-  box-sizing: border-box;
-}
-.workTx {
-  width: 25px;
-}
-.workName {
-  font-size: 14px;
-  padding-left: 13px;
-}
-.workRight {
-  font-size: 14px;
-  color: #ccc;
-  margin: 0 0 3px;
-  padding: 0 5px;
-  width: 100%;
-  box-sizing: border-box;
-}
-
-.workBtn {
-  width: 100%;
-  background: rgb(110 145 203);
-  color: #fff;
-  cursor: pointer;
-  text-align: center;
-  padding: 5px 0;
-}
-
-.returnButton {
-  position: absolute;
-  bottom: 20px;
-  width: 230px;
-  background: #616161;
-  left: 35%;
-  color: #ababab;
-  text-align: center;
-  border-radius: 5px;
-  height: 30px;
-  font-size: 14px;
-  line-height: 30px;
-  cursor: pointer;
-}
-
-.tools_title {
-  background: #000;
-  position: absolute;
-  width: 100%;
-  top: 0;
-  left: 0;
-  display: flex;
-  align-items: center;
-  height: 40px;
-  justify-content: space-between;
-  padding: 0 15px;
-  box-sizing: border-box;
-}
-.tools_title span {
-  color: #fff;
-}
-.tools_title div {
-  display: flex;
-  align-items: center;
-}
-.full,
-.closeImg {
-  height: 22px;
-  cursor: pointer;
-}
-.tools_title img,
-img {
-  margin-left: 10px;
-}
-
-.tools_box {
-  width: 38.5%;
-  max-width: 38.5%;
-  overflow: auto;
-  background: rgb(255, 255, 255);
-  height: 91.5%;
-  position: relative;
-  margin: 10px 15px;
-}
-
-.tools_child_box {
-  width: 100%;
-  height: calc(90% - 40px);
-  padding-top: 40px;
-}
-
-.fullStyle {
-  width: 100% !important;
-  max-width: 100% !important;
-}
-
-.toolCss {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: wrap;
-  width: 150px;
-  align-items: center;
-  text-align: center;
-}
-.toolImg {
-  width: 70px;
-  height: 70px;
-  cursor: pointer;
-}
-.toolImg > img {
-  width: 100%;
-  height: 100%;
-  margin: 0 !important;
-}
-.toolImg > div {
-  font-size: 14px;
-}
-.score_box {
-  font-size: 14px;
-}
-.score_box >>> .el-rate {
-  margin: 10px 0 20px 0;
-}
-.score_box >>> .el-rate__icon {
-  font-size: 23px;
-}
-.bz >>> .el-textarea__inner {
-  width: 40%;
-  background: #f9f9f9;
-  border: 1px solid #afafaf;
-  border-radius: 0px;
-}
-</style>

+ 0 - 2541
src/components/pages/liveRoom.vue

@@ -1,2541 +0,0 @@
-<template>
-  <div
-    style="
-      background: #d0d6e4;
-      width: 100%;
-      height: 100%;
-      margin: 0;
-      position: relative;
-    "
-  >
-    <!-- <div class="pb_content_body" style="height: 100%">
-    </div>-->
-    <div class="blackBottom">
-      <div
-        style="
-          display: flex;
-          flex-direction: row;
-          flex-wrap: nowrap;
-          align-items: stretch;
-          padding-left: 10px;
-        "
-      >
-        <div class="logoLive">
-          <img src="../../assets/icon/logo.png" alt />
-        </div>
-        <div style="color: #fff; line-height: 45px; padding-left: 15px">
-          introduce a festival (Final)
-        </div>
-      </div>
-    </div>
-    <div class="isNoOther">
-      <div
-        class="imgMiddle"
-        :class="isBlock > 0 ? 'imghalf' : 'imgMiddle'"
-        v-show="!full"
-      >
-        <!-- <img src="../../assets/icon/kc1.png" alt /> -->
-        <!-- <iframe
-          style="width: 100%; height: 100%; border: none"
-          src="https://view.officeapps.live.com/op/view.aspx?src=https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/0701%E5%AE%9E%E6%97%B6%E8%AF%BE%E5%A0%82%E6%A8%A1%E6%8B%9F%E6%BC%94%E7%A4%BA%E8%AF%BE%E4%BB%B61656644341323.pptx"
-        ></iframe>-->
-        <pdf
-          :pdfUrl="pdfUrl"
-          style="width: 100%; height: 100%"
-          :getPage="getPage"
-          @getWidth="getWidth"
-        ></pdf>
-        <div
-          class="workd_media"
-          v-if="videoBlock == 9"
-          :style="{ width: Vwidth }"
-        >
-          <video-player
-            class="video-player vjs-custom-skin"
-            :playsinline="true"
-            :options="playerO[0]"
-            @play="onPlayerPlayZ($event)"
-            @pause="onPlayerPause"
-            @ended="onPlayerEnded"
-            @playing="onPlayerPlaying"
-            @timeupdate="onPlayerTimeupdate"
-            style="width: 100%; height: 100%"
-          ></video-player>
-        </div>
-      </div>
-      <div
-        style="
-          background: #d0d6e4;
-          height: 100%;
-          min-width: 40%;
-          max-width: 40%;
-          overflow: auto;
-          padding: 0px 0 50px;
-        "
-        v-if="isBlock == 1 || isBlock == 6"
-      >
-        <div
-          style="background: #fff; height: 92%; width: 96%; margin: 10px auto"
-        >
-          <div
-            style="color: #bfbfbf; padding: 15px 0 20px 25px; font-size: 20px"
-          >
-            答题查看
-          </div>
-          <div class="answerBox" v-if="isBlock == 1 || isBlock == 6">
-            <div class="memberBox" v-if="isBlock == 1">
-              <div
-                :class="{ pAnswer: item.is == 2 }"
-                v-for="(item, index) in studentArray"
-                @click="getOAnswer(item.answer, item.name)"
-                :key="index"
-              >
-                {{ item.name }}
-              </div>
-            </div>
-            <div class="memberBox" v-if="isBlock == 6">
-              <div
-                v-show="studentArray2.length > 0"
-                :class="{ pAnswer: item.is == 2 }"
-                v-for="(item, index) in studentArray2"
-                :key="index"
-                @click="whoAnswer(item, index)"
-              >
-                {{ item.name }}
-              </div>
-              <div v-if="studentArray2.length == 0">暂无学生</div>
-            </div>
-            <!-- <div style="color: #948bdc; padding-top: 15px" v-if="isBlock == 1">
-              共有四个选项,正在答题......
-            </div>-->
-            <div
-              class="viewSta"
-              @click="isBlock = 3"
-              v-if="
-                isBlock == 1 &&
-                tools[steps].tools &&
-                tools[steps].tools.indexOf(9) != -1
-              "
-            >
-              查看数据统计
-            </div>
-            <div
-              class="viewSta"
-              @click="isBlock = 14"
-              v-else-if="
-                isBlock == 1 &&
-                tools[steps].tools &&
-                tools[steps].tools.indexOf(27) != -1
-              "
-            >
-              查看数据统计
-            </div>
-            <span
-              slot="footer"
-              class="dialog-footer sztFooter"
-              v-if="isBlock == 6"
-            >
-              <el-button type="primary" @click="selectSWork2(9)"
-                >查看学生答题情况</el-button
-              >
-              <el-button type="primary" @click="isBlock = 0">结束</el-button>
-            </span>
-          </div>
-        </div>
-      </div>
-      <div
-        style="
-          background: #d0d6e4;
-          height: 92%;
-          min-width: 40%;
-          max-width: 40%;
-          overflow: auto;
-          padding: 0px 0 50px;
-        "
-        v-if="isBlock == 3"
-      >
-        <div
-          style="
-            background: #fff;
-            width: 96%;
-            margin: 10px auto;
-            position: relative;
-          "
-        >
-          <div class="close" @click="isBlock = 0">
-            <img src="../../assets/icon/close.png" alt />
-          </div>
-          <div style="color: #bfbfbf; padding: 15px 0 20px 25px">数据统计</div>
-          <div style="padding-left: 25px">
-            目前A选项
-            <span class>{{ answerJson.A }}票</span>、B选项
-            <span>{{ answerJson.B }}票</span>、C选项
-            <span>{{ answerJson.C }}票</span>、D选项
-            <span>{{ answerJson.D }}票</span>
-          </div>
-          <div class="szt">
-            <AnswerData
-              :problemJson="answerJson"
-              :answer="answerA"
-              :people="peopleA"
-            ></AnswerData>
-          </div>
-          <span slot="footer" class="dialog-footer sztFooter">
-            <!-- <el-button type="primary" @click="isBlock = 0">关闭</el-button> -->
-            <el-button type="primary" @click="(isBlock = 1), (full = false)"
-              >返回</el-button
-            >
-          </span>
-        </div>
-      </div>
-      <div
-        class="answerBox tools_box"
-        v-if="isBlock == 2"
-        style="padding: 10px 0 0 25px"
-      >
-        <div style="color: #d1d1d1; font-size: 24px">课堂实践</div>
-        <div
-          style="
-            margin: 20px 0 20px 0;
-            border-bottom: 4px solid #3e86f3;
-            width: 75px;
-            text-align: center;
-            padding-bottom: 3px;
-          "
-        >
-          选择工具
-        </div>
-        <div
-          style="
-            display: flex;
-            flex-direction: row;
-            flex-wrap: wrap;
-            width: 100%;
-            justify-content: flex-start;
-            align-items: center;
-          "
-        >
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(1) != -1"
-            @click="(isBlock = 5), (toolCount = 1)"
-            class="toolCss"
-          >
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/whiteBoard.png" alt />
-              <div>电子白板</div>
-            </div>
-          </div>
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(3) != -1"
-            @click="(isBlock = 5), (toolCount = 3)"
-            class="toolCss"
-          >
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/mindMapping.png" alt />
-              <div>思维导图</div>
-            </div>
-          </div>
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(28) != -1"
-            @click="(isBlock = 5), (toolCount = 28)"
-            class="toolCss"
-          >
-            <div class="toolImg">
-              <img src="../../assets/icon/thirdToolList/translation.png" alt />
-              <div>翻译</div>
-            </div>
-          </div>
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(4) != -1"
-            @click="(isBlock = 5), (toolCount = 4)"
-            class="toolCss"
-          >
-            <div class="toolImg">
-              <img src="../../assets/icon/thirdToolList/ask.png" alt />
-              <div>问卷调查</div>
-            </div>
-          </div>
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(6) != -1"
-            @click="(isBlock = 5), (toolCount = 6)"
-            class="toolCss"
-          >
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/doc.png" alt />
-              <div>协同文档</div>
-            </div>
-          </div>
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(7) != -1"
-            @click="(isBlock = 5), (toolCount = 7)"
-            class="toolCss"
-          >
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/mindNetwork.png" alt />
-              <div>思维网格</div>
-            </div>
-          </div>
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(10) != -1"
-            class="toolCss"
-          >
-            <div class="toolImg" @click="timeDialogVisible = true">
-              <img src="../../assets/icon/thirdToolList/time.png" alt />
-              <div>倒计时</div>
-            </div>
-          </div>
-        </div>
-        <div class="nextStepBox">
-          <div class="nextStepOne" @click="(isBlock = 0), (full = false)">
-            关闭
-          </div>
-        </div>
-      </div>
-      <div
-        class="answerBox tools_box"
-        :class="{ fullStyle: full }"
-        v-if="isBlock == 5"
-      >
-        <div style="height: 100%; width: 100%">
-          <div v-if="toolCount == 1" class="tools_child_box">
-            <div class="tools_title">
-              <span>电子白板</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              webkitallowfullscreen
-              mozallowfullscreen
-              allowfullscreen
-              style="width: 100%; height: 100%; border: none"
-              src="https://iwb.cocorobo.cn/"
-            ></iframe>
-          </div>
-          <div v-if="toolCount == 3" class="tools_child_box">
-            <div class="tools_title">
-              <span>思维导图</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              webkitallowfullscreen
-              mozallowfullscreen
-              allowfullscreen
-              style="width: 100%; height: 100%; border: none"
-              src="//cloud.cocorobo.cn/kityminder-editor/dist/index.html"
-            ></iframe>
-          </div>
-          <div v-if="toolCount == 28" class="tools_child_box">
-            <div class="tools_title">
-              <span>翻译</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              webkitallowfullscreen
-              mozallowfullscreen
-              allowfullscreen
-              style="width: 100%; height: 100%; border: none"
-              src="//dict.youdao.com/"
-            ></iframe>
-          </div>
-          <div v-if="toolCount == 6" class="tools_child_box">
-            <div class="tools_title">
-              <span>协同文档</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              webkitallowfullscreen
-              mozallowfullscreen
-              allowfullscreen
-              style="width: 100%; height: 100%; border: none"
-              src="https://cloud.cocorobo.cn/Office/Word/WordEditArea.htm"
-            ></iframe>
-          </div>
-          <div v-if="toolCount == 7" class="tools_child_box">
-            <div class="tools_title">
-              <span>思维网格</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              webkitallowfullscreen
-              mozallowfullscreen
-              allowfullscreen
-              style="width: 100%; height: 100%; border: none"
-              src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid"
-            ></iframe>
-          </div>
-          <!-- <div class="nextStepBox">
-            <div class="nextStepOne" @click="(isBlock = 2), (full = false)">
-              返回
-            </div>
-          </div> -->
-        </div>
-      </div>
-      <div
-        class="answerBox"
-        style="
-          width: 38.5%;
-          max-width: 38.5%;
-          overflow: auto;
-          background: rgb(255, 255, 255);
-          height: 91.5%;
-          position: relative;
-          margin: 10px 15px;
-        "
-        v-if="isBlock == 4"
-      >
-        <div
-          style="
-            color: #b7b7b7;
-            border-left: 5px solid #a5b6e2;
-            padding-left: 7px;
-            height: 25px;
-            line-height: 25px;
-          "
-        >
-          查看作业
-        </div>
-        <div class="workBox">
-          <div class="works" v-for="(w, wIndex) in worksList" :key="wIndex">
-            <div class="workImg">
-              <img
-                v-if="
-                  tools[steps].tools && tools[steps].tools.indexOf(29) != -1
-                "
-                :src="require('../../assets/icon/stuVedio.png')"
-                @click="lookvideo(w.upload, w.sName, w.rate, w.id)"
-                alt
-              />
-              <img
-                v-else
-                :src="w.upload ? w.upload : mr"
-                @click="previewImg(w.upload ? w.upload : mr)"
-                alt
-              />
-            </div>
-            <div class="workDetail">
-              <div class="workLeft">
-                <div class="workTx">
-                  <img src="../../assets/avatar.png" alt />
-                </div>
-                <div class="workName">{{ w.sName }}</div>
-              </div>
-              <div class="workRight">{{ w.time }}</div>
-              <div class="workBtn" @click="rateD(w.sName, w.rate, w.id)">
-                评价
-              </div>
-            </div>
-          </div>
-        </div>
-        <div class="returnButton" @click="(isBlock = 0), (full = false)">
-          关闭
-        </div>
-      </div>
-      <div
-        class="answerBox"
-        v-if="isBlock == 7"
-        style="
-          padding: 0 0 0 25px;
-          width: 38.5%;
-          max-width: 38.5%;
-          overflow: auto;
-          background: rgb(255, 255, 255);
-          height: 91.5%;
-          position: relative;
-          margin: 10px 15px;
-        "
-      >
-        <div style="color: #bfbfbf; padding: 15px 0 15px 0; font-size: 20px">
-          课堂评价
-        </div>
-        <div>
-          <div class="score_box">
-            <span>自我评价</span>
-            <el-rate v-model="rateList.ca"></el-rate>
-          </div>
-          <div class="score_box">
-            <span>他人评价</span>
-            <el-rate v-model="rateList.sia"></el-rate>
-          </div>
-        </div>
-        <div>
-          <div style="padding-bottom: 15px; sont-size: 14px">备注</div>
-          <div class="bz">
-            <el-input
-              type="textarea"
-              placeholder="请输入备注…"
-              :rows="6"
-              resize="none"
-              v-model="rateList.content"
-            ></el-input>
-          </div>
-        </div>
-        <span
-          slot="footer"
-          class="dialog-footer sztFooter"
-          style="
-            padding: 0 0 30px 0px;
-            position: absolute;
-            right: 20px;
-            bottom: 0;
-          "
-        >
-          <el-button type="primary" @click="isBlock = 4">返回</el-button>
-        </span>
-      </div>
-
-      <div
-        class="answerBox tools_box"
-        v-if="isBlock == 8"
-        style="padding: 10px 0 0 25px"
-      >
-        <div style="color: #d1d1d1; font-size: 24px">课堂实践</div>
-        <div
-          style="
-            margin: 20px 0 20px 0;
-            border-bottom: 4px solid #3e86f3;
-            width: 75px;
-            text-align: center;
-            padding-bottom: 3px;
-          "
-        >
-          选择附件
-        </div>
-        <div
-          style="
-            display: flex;
-            flex-direction: row;
-            flex-wrap: wrap;
-            width: 100%;
-            justify-content: flex-start;
-            align-items: center;
-          "
-        >
-          <div
-            v-if="tools[steps].file && tools[steps].file.length"
-            class="fileBox"
-          >
-            <div
-              class="fileListCss"
-              v-for="(v, vIndex) in videoList"
-              :key="vIndex"
-            >
-              <div class="fileCss" @click="playVideo(v.src, vIndex)">
-                <img src="../../assets/uploadMp4.png" alt />
-              </div>
-              <div>{{ v.name }}</div>
-            </div>
-            <div
-              class="fileListCss"
-              v-for="(v, vIndex) in videoList2"
-              :key="vIndex"
-            >
-              <div class="fileCss" @click="playVideo2(v.src, vIndex)">
-                <img src="../../assets/uploadMp4.png" alt />
-              </div>
-              <div>{{ v.name }}</div>
-            </div>
-            <div
-              class="fileListCss"
-              v-for="(f, fIndex) in fileList"
-              :key="fIndex"
-            >
-              <div class="fileCss" @click="openFile(f.src)">
-                <img src="../../assets/file.png" alt />
-              </div>
-              <div>{{ f.name }}</div>
-            </div>
-          </div>
-        </div>
-        <div class="nextStepBox">
-          <div class="nextStepOne" @click="(isBlock = 0), (full = false)">
-            关闭
-          </div>
-        </div>
-      </div>
-      <!-- <div class="answerBox tools_box" :class="{ fullStyle: full }" v-if="isBlock == 9">
-        <div style="height: 70%; width: 100%">
-          <div class="wheel">
-            <div class="workd_media" style="height: 100%">
-              <video-player
-                class="video-player vjs-custom-skin"
-                :playsinline="true"
-                :options="playerO[0]"
-                @play="onPlayerPlay($event)"
-                style="width: 90%; height: 100%; margin: 0 0 0 30px"
-              ></video-player>
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="isBlock = 8">返回</div>
-          </div>
-        </div>
-      </div>-->
-
-      <div
-        class="answerBox tools_box"
-        :class="{ fullStyle: full }"
-        v-if="isBlock == 10"
-      >
-        <div style="height: 70%; width: 100%">
-          <div
-            class="wheel"
-            style="height: 520px; width: 100%; margin: 0 0 20px 30px"
-          >
-            <iframe
-              webkitallowfullscreen
-              mozallowfullscreen
-              allowfullscreen
-              style="width: 100%; height: 100%; border: none"
-              :src="pptImgUrl"
-            ></iframe>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="isBlock = 8">返回</div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 11">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div
-              class="memberBox"
-              style="max-height: 100%"
-              v-if="worksList.length"
-            >
-              <div
-                v-for="(item, index) in worksList"
-                :key="index"
-                @click="getEv(item.upload, item.sName)"
-              >
-                {{ item.sName }}
-              </div>
-            </div>
-            <div v-else>暂无学生评价</div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="(isBlock = 0), (full = false)">
-              关闭
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 12">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div style="height: 100%; overflow: auto">
-              <div style="margin-bottom: 20px">{{ Sname }}</div>
-              <div
-                class="score_box"
-                v-for="(ra, raIndex) in tools[steps].rateArray"
-                :key="raIndex"
-              >
-                <span>{{ ra }}</span>
-                <el-rate v-model="rate[raIndex]" disabled></el-rate>
-              </div>
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="isBlock = 11">返回</div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 13">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div style="height: 100%; overflow: auto">
-              <div style="margin-bottom: 20px">{{ Sname }}</div>
-              <div
-                v-if="
-                  tools[steps].tools && tools[steps].tools.indexOf(27) != -1
-                "
-              >
-                <div
-                  v-for="(tk, tIndex) in tools[steps].choice"
-                  :key="tIndex"
-                  class="tkCss"
-                >
-                  <div style="margin-right: 10px; font-size: 18px">
-                    {{ tIndex + 1 }}、
-                  </div>
-                  <el-select
-                    v-model="tkAnswer[tIndex]"
-                    placeholder="请选择答案"
-                    disabled
-                  >
-                    <el-option
-                      v-for="(tkA, tkAIndex) in tools[steps].tkAnswerBox"
-                      :key="tkAIndex"
-                      :label="tkA"
-                      :value="tkA"
-                    ></el-option>
-                  </el-select>
-                  <span
-                    v-if="tiankongAnswer.length"
-                    class="tiankongAnswer"
-                    :class="{
-                      tfalse: tiankongAnswer[tIndex] != tkAnswer[tIndex],
-                    }"
-                    >正确答案:{{ tiankongAnswer[tIndex] }}</span
-                  >
-                </div>
-              </div>
-              <div
-                v-if="tools[steps].tools && tools[steps].tools.indexOf(9) != -1"
-              >
-                <div class="choose_style">
-                  <span
-                    :class="tkAnswer.indexOf(1) != -1 ? 'isChoose' : ''"
-                    v-if="tools[steps].choice && tools[steps].choice > 0"
-                    >A</span
-                  >
-                  <span
-                    :class="tkAnswer.indexOf(2) != -1 ? 'isChoose' : ''"
-                    v-if="tools[steps].choice && tools[steps].choice > 1"
-                    >B</span
-                  >
-                  <span
-                    :class="tkAnswer.indexOf(3) != -1 ? 'isChoose' : ''"
-                    v-if="tools[steps].choice && tools[steps].choice > 2"
-                    >C</span
-                  >
-                  <span
-                    :class="tkAnswer.indexOf(4) != -1 ? 'isChoose' : ''"
-                    v-if="tools[steps].choice && tools[steps].choice > 3"
-                    >D</span
-                  >
-                </div>
-              </div>
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="selectStudentByScoolPPt(1)">
-              返回
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 14">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 90%; width: 100%">
-            <div style="height: 100%; overflow: auto">
-              <div class="szt">
-                <AnswerData2
-                  :problemJson="tools[steps].choice"
-                  :answer="answerA"
-                  :people="worksList"
-                ></AnswerData2>
-              </div>
-              <!-- <div
-                v-for="(item, index) in worksList"
-                :key="index"
-                class="fill_box"
-              >
-                <span>{{ index + 1 }}、{{ item.sName }}</span>
-                <span
-                  v-for="(item, index) in JSON.parse(item.upload)"
-                  :key="index"
-                  >{{ index + 1 }}、{{ item }}</span
-                >
-              </div> -->
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 10px">
-            <div class="nextStepOne" @click="selectStudentByScoolPPt(1)">
-              返回
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 15">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div style="height: 100%; overflow: auto">
-              <audio
-                style="margin: 0 auto; display: block"
-                :src="audioUrl"
-                controls="controls"
-                ref="audio"
-              >
-                Your browser does not support the audio element.
-              </audio>
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="isBlock = 8">返回</div>
-          </div>
-        </div>
-      </div>
-      <div
-        class="answerBox tools_box"
-        :class="{ fullStyle: full }"
-        v-if="isBlock == 16"
-      >
-        <div style="height: 70%; width: 100%">
-          <div class="wheel">
-            <div style="margin-bottom: 20px">{{ Sname }}</div>
-            <div>
-              <video-player
-                class="video-player vjs-custom-skin"
-                :playsinline="true"
-                :options="playerO[0]"
-                @play="onPlayerPlay($event)"
-                style="width: 90%; height: 100%; margin: 0 0 0 30px"
-              ></video-player>
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="rateD(Sname, rateR, rateid)">
-              评价
-            </div>
-            <div class="nextStepOne" @click="isBlock = 4">返回</div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 17">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div
-              class="memberBox"
-              style="max-height: 100%"
-              v-if="worksList.length"
-            >
-              <div
-                v-for="(item, index) in worksList"
-                :key="index"
-                @click="getAu(item.upload, item.sName)"
-              >
-                {{ item.sName }}
-              </div>
-            </div>
-            <div v-else>暂无学生提交</div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="(isBlock = 0), (full = false)">
-              关闭
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 18">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div style="height: 100%; overflow: auto">
-              <div style="margin-bottom: 20px">{{ Sname }}</div>
-              <audio
-                style="margin: 0 auto; display: block"
-                :src="LuAudioUrl"
-                controls="controls"
-                ref="audio"
-              >
-                Your browser does not support the audio element.
-              </audio>
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="isBlock = 17">返回</div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 19">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div
-              class="memberBox"
-              style="max-height: 100%"
-              v-if="worksList.length"
-            >
-              <div
-                v-for="(item, index) in worksList"
-                :key="index"
-                @click="getAu(item.upload, item.sName, 2, item.rate, item.id)"
-              >
-                {{ item.sName }}
-              </div>
-            </div>
-            <div v-else>暂无学生提交</div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="(isBlock = 6), (full = false)">
-              返回
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 20">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div style="height: 100%; overflow: auto">
-              <div style="margin-bottom: 20px">{{ Sname }}</div>
-              <audio
-                style="margin: 0 auto; display: block"
-                :src="LuAudioUrl"
-                controls="controls"
-                ref="audio"
-              >
-                Your browser does not support the audio element.
-              </audio>
-              <el-button type="primary" @click="rateD(Sname, rateR, rateid)"
-                >评价</el-button
-              >
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="isBlock = 19">返回</div>
-          </div>
-        </div>
-      </div>
-    </div>
-
-    <div class="blackBottomB">
-      <div style="display: flex">
-        <div
-          class="blackButton"
-          @click="selectStudentByScoolPPt(1)"
-          v-if="
-            (tools[steps].tools && tools[steps].tools.indexOf(9) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(27) != -1)
-          "
-        >
-          查看学生答题情况
-        </div>
-        <div
-          class="blackButton"
-          @click="lookTool"
-          v-if="
-            (tools[steps].tools && tools[steps].tools.indexOf(1) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(3) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(6) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(7) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(10) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(13) != -1)
-          "
-        >
-          查看工具
-        </div>
-        <div
-          class="blackButton"
-          @click="selectStudentByScoolPPt(2)"
-          v-if="tools[steps].tools && tools[steps].tools.indexOf(12) != -1"
-        >
-          选择学生回答
-        </div>
-        <div
-          class="blackButton"
-          @click="selectSWork2(4)"
-          v-if="
-            (tools[steps].tools && tools[steps].tools.indexOf(1) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(3) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(6) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(7) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(10) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(16) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(29) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(13) != -1)
-          "
-        >
-          查看作业
-        </div>
-        <div
-          class="blackButton"
-          @click="selectSWork2(6)"
-          v-if="tools[steps].tools && tools[steps].tools.indexOf(14) != -1"
-        >
-          查看评价
-        </div>
-        <div
-          class="blackButton"
-          @click="selectSWork2(8)"
-          v-if="tools[steps].tools && tools[steps].tools.indexOf(30) != -1"
-        >
-          查看作业
-        </div>
-        <!-- <div
-          class="blackButton"
-          @click="selectFile"
-          v-if="tools[steps].file && tools[steps].file.length"
-        >查看附件</div>-->
-      </div>
-    </div>
-    <el-dialog
-      title="选择答题"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">
-        是否让“{{ answerStudent.name }}”同学进行单独答题?
-      </div>
-      <div
-        style="
-          width: 200px;
-          background: #4d8ae0;
-          height: 35px;
-          margin: 0 auto;
-          text-align: center;
-          line-height: 35px;
-          color: #fff;
-          border-radius: 5px;
-          cursor: pointer;
-        "
-        @click="pick"
-      >
-        确定
-      </div>
-    </el-dialog>
-    <el-dialog
-      :visible.sync="dialogVisible1"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">
-        正在开发中!
-      </div>
-      <div
-        style="
-          width: 200px;
-          background: #4d8ae0;
-          height: 35px;
-          margin: 0 auto;
-          text-align: center;
-          line-height: 35px;
-          color: #fff;
-          border-radius: 5px;
-          cursor: pointer;
-        "
-        @click="dialogVisible1 = false"
-      >
-        确定
-      </div>
-    </el-dialog>
-    <el-dialog
-      :visible.sync="dialogVisible2"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">
-        课程结束后才有报告!
-      </div>
-      <div
-        style="
-          width: 200px;
-          background: #4d8ae0;
-          height: 35px;
-          margin: 0 auto;
-          text-align: center;
-          line-height: 35px;
-          color: #fff;
-          border-radius: 5px;
-          cursor: pointer;
-        "
-        @click="dialogVisible2 = false"
-      >
-        确定
-      </div>
-    </el-dialog>
-    <el-dialog
-      title="倒计时"
-      :visible.sync="timeDialogVisible"
-      :append-to-body="true"
-      width="800px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <Time v-if="timeDialogVisible"></Time>
-      </div>
-      <div slot="footer">
-        <el-button @click="timeDialogVisible = false">关 闭</el-button>
-      </div>
-    </el-dialog>
-    <el-dialog
-      title="评价"
-      :visible.sync="rateDialogVisible"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="rateD_box">
-          <span>姓名:</span>
-          <span>{{ Sname }}</span>
-        </div>
-        <div class="rateD_box">
-          <span>评价:</span>
-          <el-rate v-model="workRate" :allow-half="false"></el-rate>
-        </div>
-      </div>
-      <div slot="footer">
-        <el-button type="primary" @click="rateC">确 定</el-button>
-        <el-button @click="rateDialogVisible = false">关 闭</el-button>
-      </div>
-    </el-dialog>
-    <ImgDraw :drawShow="drawShow" @closeDraw="closeDraw" :bg="bg"></ImgDraw>
-    <img id="img1" ref="img1" hidden="hidden" />
-  </div>
-</template>
-
-<script>
-import "../../common/aws-sdk-2.235.1.min";
-import EditorBar from "../../components/tools/wangEnduit";
-import AnswerData from "./components/answerData";
-import AnswerData2 from "./components/answerData2";
-import pdf from "./components/pdf";
-import ImgDraw from "./components/imgDraw/imgDraw";
-import Time from "../tools/time.vue";
-export default {
-  components: { EditorBar, AnswerData, AnswerData2, pdf, ImgDraw, Time },
-  data() {
-    return {
-      pdfUrl: "",
-      // "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E4%B8%8A%E8%AF%BE%E8%AF%BE%E4%BB%B6---%E4%BA%94%E4%B8%8Bintroduce%20a%20festival%20%28Final%20%29%281%291661829428281.pdf",
-      pptImgUrl: "",
-      isLoading: false,
-      full: false,
-      drawShow: false,
-      bg: null,
-      formLabelWidth: "100px",
-      userid: this.$route.query.userid,
-      cid: this.$route.query.cid,
-      oid: this.$route.query.oid,
-      mr: require("../../assets/icon/kc1.png"),
-      timu: [],
-      // a: false,
-      // b: false,
-      // c: false,
-      steps: 0,
-      isBlock: 0,
-      timeDialogVisible: false,
-      dialogVisible: false,
-      dialogVisible1: false,
-      dialogVisible2: false,
-      rateDialogVisible: false,
-      toolCount: 0,
-      answerBox: "",
-      answer: [
-        { name: "A.1568" },
-        { name: "B.720" },
-        { name: "C.1728" },
-        { name: "D.480" },
-      ],
-      studentArray: [],
-      studentArray2: [],
-      askCount: 0,
-      answerJson: {
-        A: 0,
-        B: 0,
-        C: 0,
-        D: 0,
-      },
-      answerA: [],
-      peopleA: [],
-      answerStudent: "",
-      // {
-      //   file: [
-      //     {
-      //       name: "音频1.MP3",
-      //       src: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E6%9F%B3%E8%BD%BB%E9%A2%82%20-%20%E6%BA%AF%EF%BC%88%E9%92%A2%E7%90%B4%E7%89%88%EF%BC%891661673251415.mp3",
-      //     },
-      //   ],
-      // }
-      tools: [],
-
-      // {},
-      //   "",
-      //   {
-      //     file: [
-      //       {
-      //         name: "视频1.mp4",
-      //         src: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E5%AA%92%E4%BD%9311661413782505.mp4",
-      //       },
-      //     ],
-      //   },
-      //   "",
-      //   { tools: [9], choice: 3, answer: [2, 3] },
-      //   { tools: [9], choice: 3, answer: [2] },
-      //   { tools: [9], choice: 3, answer: [3] },
-      //   { tools: [9], choice: 3, answer: [1] },
-      //   { tools: [9], choice: 3, answer: [2] },
-      //   { tools: [12] },
-      //   {
-      //     tools: [27],
-      //     answer: [
-      //       "Time",
-      //       "Weather",
-      //       "Activities before the festival",
-      //       "Activities during the festival",
-      //       "Food",
-      //       "Reason",
-      //       "Feelings",
-      //     ],
-      //     choice: 7,
-      //     tkAnswerBox: [
-      //       "Feelings",
-      //       "Weather",
-      //       "Activities before the festival",
-      //       "Origin",
-      //       "Food",
-      //       "Time",
-      //       "Activities during the festival",
-      //       "Reason",
-      //     ],
-      //   },
-      //   {
-      //     file: [
-      //       {
-      //         name: "视频2.mp4",
-      //         src: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E5%AA%92%E4%BD%9321661413797366.mp4",
-      //       },
-      //     ],
-      //   },
-      //   { tools: [9] },
-      //   { tools: [3] },
-      //   { tools: [16] },
-      //   {
-      //     tools: [14],
-      //     rateArray: [
-      //       "聚焦主题",
-      //       "有开头结尾",
-      //       "语言正确,流畅",
-      //       "书写规范,美观",
-      //     ],
-      //   },
-      //   "",
-      //   "",
-      //   { tools: [29] },
-      //   "",
-      //   "",
-      handle: {page: 1, type: 0, userid: '', isPlay: 0},
-      //1、电子白板 2、便签 3、思维导图 4、问卷调查 5、量规评分 6、协同文档 7、思维网格 8、素材库 9、选择题 10、倒计时 11、问答题 12、选人回答 13、分小组 14、老师对提交作业进行评价 15、问答 16、作业提交 17、学习资料 18、训练平台 19、目标管理 20、课程设计 21、编程平台 22、AI体验 23、python 24、AI平台
-      howTools: 0,
-      worksDetail: [],
-      worksList: [],
-      toolsList: [],
-      isNext: false,
-      rateList: [],
-      videoList: [],
-      videoList2: [], //音频
-      fileList: [],
-      playerOptions: {
-        playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
-        autoplay: false, //如果true,浏览器准备好时开始回放。
-        muted: false, // 默认情况下将会消除任何音频。
-        loop: false, // 导致视频一结束就重新开始。
-        preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
-        language: "zh-CN",
-        aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
-        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
-        sources: [
-          {
-            type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目   || "video/ogg"|| "video/webm"
-            src: "", //url地址require("../../assets/media/aaa.mp4")
-          },
-        ],
-        // poster: require("../../assets/tu31.png"), //你的封面地址
-        // poster: dataRes.imgUrl, //你的封面地址
-        notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
-        controlBar: {
-          timeDivider: true, //当前时间和持续时间的分隔符
-          durationDisplay: true, //显示持续时间
-          remainingTimeDisplay: false, //是否显示剩余时间功能
-          fullscreenToggle: true, //全屏按钮
-        },
-      },
-      playerO: {},
-      videoindex: 0,
-      rate: [],
-      tkAnswerBox: [],
-      tkAnswer: [],
-      Sname: "",
-      audioUrl: "",
-      timerAnswer: null,
-      videoBlock: 0,
-      Vwidth: 0,
-      tiankongAnswer: [],
-      LuAudioUrl: "",
-      workRate: 0,
-      rateR: 0,
-      rateid: "",
-    };
-  },
-  methods: {
-    change(val) {
-      console.log(val);
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    jump(cid) {
-      window.parent.postMessage({ cid: cid, type: "1" }, "*");
-    },
-    handleCurrentChange(val) {
-      // console.log(`当前页: ${val}`);
-      this.page = val;
-    },
-    init() {},
-    handleClose(done) {
-      done();
-    },
-    //uuid生成
-    guid() {
-      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
-        /[xy]/g,
-        function (c) {
-          var r = (Math.random() * 16) | 0,
-            v = c == "x" ? r : (r & 0x3) | 0x8;
-          return v.toString(16);
-        }
-      );
-    },
-    lookTool() {
-      if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(1) != -1
-      ) {
-        this.toolCount = 1;
-      } else if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(3) != -1
-      ) {
-        this.toolCount = 3;
-      } else if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(28) != -1
-      ) {
-        this.toolCount = 28;
-      } else if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(4) != -1
-      ) {
-        this.toolCount = 4;
-      } else if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(6) != -1
-      ) {
-        this.toolCount = 6;
-      } else if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(7) != -1
-      ) {
-        this.toolCount = 7;
-      } else if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(10) != -1
-      ) {
-        this.timeDialogVisible = true;
-      }
-      this.isBlock = 5;
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    randomNum(minNum, maxNum) {
-      switch (arguments.length) {
-        case 1:
-          return parseInt(Math.random() * minNum + 1, 10);
-          break;
-        case 2:
-          return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
-          break;
-        default:
-          return 0;
-          break;
-      }
-    },
-    addTool(t) {
-      if (t == 1) {
-        window.parent.postMessage({ tools: "1" }, "*");
-      } else if (t == 3) {
-        window.parent.postMessage({ tools: "3" }, "*");
-      } else if (t == 7) {
-        window.parent.postMessage({ tools: "7" }, "*");
-      }
-    },
-    checkStudentAnswer() {
-      // this.isBlock = 6;
-      for (var i = 0; i < this.studentArray2.length; i++) {
-        this.studentArray2[i].is = 1;
-      }
-    },
-    showMember() {
-      let _type = 0;
-      if (this.tools[this.steps].tools) {
-        if (
-          this.tools[this.steps].tools.indexOf(1) != -1 ||
-          this.tools[this.steps].tools.indexOf(3) != -1 ||
-          this.tools[this.steps].tools.indexOf(6) != -1 ||
-          this.tools[this.steps].tools.indexOf(7) != -1 ||
-          this.tools[this.steps].tools.indexOf(10) != -1 ||
-          this.tools[this.steps].tools.indexOf(16) != -1 ||
-          this.tools[this.steps].tools.indexOf(13) != -1
-        ) {
-          _type = 4;
-        } else if (this.tools[this.steps].tools.indexOf(9) != -1) {
-          _type = 1;
-        } else if (this.tools[this.steps].tools.indexOf(27) != -1) {
-          _type = 5;
-        } else if (this.tools[this.steps].tools.indexOf(14) != -1) {
-          _type = 6;
-        } else if (this.tools[this.steps].tools.indexOf(29) != -1) {
-          _type = 7;
-        } else if (
-          this.tools[this.steps].tools.indexOf(30) != -1 ||
-          this.tools[this.steps].tools.indexOf(12) != -1
-        ) {
-          _type = 8;
-        }
-      }
-      let params = {
-        uid: "",
-        cid: this.cid,
-        p: this.steps,
-        type: _type,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectSWork", params)
-        .then((res) => {
-          let _res = res.data[0];
-          let _this = this;
-          // this.isBlock = 1;
-          for (var i = 0; i < _this.studentArray.length; i++) {
-            for (var j = 0; j < _res.length; j++) {
-              if (_res[j].userid == _this.studentArray[i].id) {
-                _this.studentArray[i].is = 2;
-                _this.studentArray[i].answer = _res[j].upload;
-              }
-            }
-          }
-
-          if (
-            this.tools[this.steps].tools &&
-            this.tools[this.steps].tools.indexOf(9) != -1
-          ) {
-            this.answerJson = {
-              A: 0,
-              B: 0,
-              C: 0,
-              D: 0,
-            };
-            for (var i = 0; i < _res.length; i++) {
-              var a = JSON.parse(_res[i].upload);
-              if (a.indexOf(1) != -1) {
-                _this.answerJson.A++;
-              }
-              if (a.indexOf(2) != -1) {
-                _this.answerJson.B++;
-              }
-              if (a.indexOf(3) != -1) {
-                _this.answerJson.C++;
-              }
-              if (a.indexOf(4) != -1) {
-                _this.answerJson.D++;
-              }
-            }
-            this.answerA = this.tools[this.steps].answer;
-            this.peopleA = _res;
-          }
-          if (
-            this.tools[this.steps].tools &&
-            this.tools[this.steps].tools.indexOf(27) != -1
-          ) {
-            this.worksList = [];
-            for (var i = 0; i < _res.length; i++) {
-              this.worksList.push({
-                upload: _res[i].upload,
-                id: _res[i].id,
-                sName: _res[i].username,
-                rate: _res[i].rate,
-                time: _res[i].time,
-              });
-            }
-            this.answerA = this.tools[this.steps].answer;
-          }
-        })
-        .catch((err) => {
-          // this.$message.error("查询失败");
-          console.error(err);
-        });
-    },
-    getOAnswer(answer, name) {
-      if (!answer) {
-        return;
-      }
-      this.tkAnswer = JSON.parse(answer);
-      this.Sname = name;
-      if (this.tools[this.steps].answer) {
-        this.tiankongAnswer = this.tools[this.steps].answer;
-      }
-      this.isBlock = 13;
-    },
-    whoAnswer(item, index) {
-      for (var i = 0; i < this.studentArray2.length; i++) {
-        this.studentArray2[i].is = 1;
-      }
-      this.studentArray2[index].is = 2;
-      this.answerStudent = item;
-      this.dialogVisible = true;
-    },
-    pick() {
-      this.handle.type = 2;
-      this.handle.userid = this.answerStudent.id;
-      let params = [
-        {
-          h: JSON.stringify(this.handle),
-          cid: this.cid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updatePptPage", params)
-        .then((res) => {
-          this.answerStudent = "";
-          this.dialogVisible = false;
-          let mindinfo = this.setInfo(
-            this.cid,
-            "us.mindNetwork",
-            this.handle,
-            "update",
-            this.userid
-          );
-          this.updateSocket(mindinfo)
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    getWidth(total) {
-      this.Vwidth = total;
-    },
-    getPage(page) {
-      console.log(page);
-      this.handle.page = page;
-      let params = [
-        {
-          page: JSON.stringify(this.handle),
-          id: this.cid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updatePptPage", params)
-        .then((res) => {
-          this.steps = page - 1;
-          this.isBlock = 0;
-          if (
-            this.tools[this.steps].file &&
-            this.tools[this.steps].file.length
-          ) {
-            this.selectFile();
-          } else {
-            this.videoBlock = 0;
-          }
-          this.playerH({ type: 0, isPlay: 0, userid: "" });
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    getData() {
-      let params = {
-        id: this.cid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "getRealTimeClassById", params)
-        .then((r) => {
-          let res = r.data[0][0];
-          this.pdfUrl = res.url;
-          this.tools = JSON.parse(res.content);
-        })
-        .catch((err) => {
-          // this.$message.error("查询失败");
-          console.error(err);
-        });
-    },
-    selectStudentByScoolPPt(type) {
-      let params = {
-        oid: this.oid,
-        cid: this.cid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectStudentByScoolPPt", params)
-        .then((res) => {
-          if (res.data[0].length > 0) {
-            this.studentArray = [];
-            this.studentArray2 = [];
-            for (var i = 0; i < res.data[0].length; i++) {
-              this.studentArray.push({
-                id: res.data[0][i].userid,
-                name: res.data[0][i].name,
-                is: 1,
-              });
-              this.studentArray2.push({
-                id: res.data[0][i].userid,
-                name: res.data[0][i].name,
-                is: 1,
-              });
-            }
-          }
-          if (this.timerAnswer) {
-            clearInterval(this.timerAnswer);
-            this.timerAnswer;
-          }
-
-          if (type == 1) {
-            this.showMember();
-            this.timerAnswer = setInterval(() => {
-              this.showMember();
-            }, 5000);
-            this.isBlock = 1;
-          } else if (type == 2) {
-            this.checkStudentAnswer();
-            this.timerAnswer = setInterval(() => {
-              this.checkStudentAnswer();
-            }, 5000);
-            this.isBlock = 6;
-          }
-        })
-        .catch((err) => {
-          // this.$message.error("查询失败");
-          console.error(err);
-        });
-    },
-    selectSWork2(type) {
-      this.full = false;
-      let _type = type;
-      if (this.timerAnswer) {
-        clearInterval(this.timerAnswer);
-        this.timerAnswer = null;
-      }
-      this.selectSWork(_type);
-      this.timerAnswer = setInterval(() => {
-        this.selectSWork(_type);
-      }, 5000);
-      if (_type == 4) {
-        this.isBlock = 4;
-      } else if (_type == 8) {
-        this.isBlock = 17;
-      } else if (_type == 9) {
-        this.isBlock = 19;
-      } else {
-        this.isBlock = 11;
-      }
-    },
-    selectSWork(type) {
-      let _type = 0;
-      if (this.tools[this.steps].tools) {
-        if (
-          this.tools[this.steps].tools.indexOf(1) != -1 ||
-          this.tools[this.steps].tools.indexOf(3) != -1 ||
-          this.tools[this.steps].tools.indexOf(6) != -1 ||
-          this.tools[this.steps].tools.indexOf(7) != -1 ||
-          this.tools[this.steps].tools.indexOf(10) != -1 ||
-          this.tools[this.steps].tools.indexOf(16) != -1 ||
-          this.tools[this.steps].tools.indexOf(13) != -1
-        ) {
-          _type = 4;
-        } else if (this.tools[this.steps].tools.indexOf(9) != -1) {
-          _type = 1;
-        } else if (this.tools[this.steps].tools.indexOf(27) != -1) {
-          _type = 5;
-        } else if (this.tools[this.steps].tools.indexOf(14) != -1) {
-          _type = 6;
-        } else if (this.tools[this.steps].tools.indexOf(29) != -1) {
-          _type = 7;
-        } else if (
-          this.tools[this.steps].tools.indexOf(30) != -1 ||
-          this.tools[this.steps].tools.indexOf(12) != -1
-        ) {
-          _type = 8;
-        }
-      }
-      this.worksList = [];
-      let params = {
-        uid: "",
-        cid: this.cid,
-        p: this.steps,
-        type: _type,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectSWork", params)
-        .then((res) => {
-          this.worksDetail = res.data[0];
-          for (var i = 0; i < this.worksDetail.length; i++) {
-            this.worksList.push({
-              upload: this.worksDetail[i].upload,
-              id: this.worksDetail[i].id,
-              sName: this.worksDetail[i].username,
-              rate: this.worksDetail[i].rate,
-              time: this.worksDetail[i].time,
-            });
-          }
-        })
-        .catch((err) => {
-          // this.$message.error("查询失败");
-          console.error(err);
-        });
-    },
-    getEv(rate, name) {
-      this.rate = JSON.parse(rate);
-      this.Sname = name;
-      this.isBlock = 12;
-    },
-    getAu(rate, name, type, rateC, id) {
-      this.LuAudioUrl = rate;
-      this.Sname = name;
-      if (type == 2) {
-        this.rateR = rateC;
-        this.rateid = id;
-        this.isBlock = 20;
-      } else {
-        this.isBlock = 18;
-      }
-    },
-    selectFile() {
-      this.fileList = [];
-      this.videoList = [];
-      this.videoList2 = [];
-      var a = ["PDF", "DOC", "DOCX", "PPT", "PPTX", "XLSX", "XLS"];
-      var b = this.tools[this.steps].file;
-      for (var i = 0; i < b.length; i++) {
-        if (
-          a.indexOf(
-            b[i].src
-              .split(".")
-              [b[i].src.split(".").length - 1].toLocaleUpperCase()
-          ) != -1
-        ) {
-          this.fileList.push(b[i]);
-        } else if (
-          b[i].src
-            .split(".")
-            [b[i].src.split(".").length - 1].toLocaleUpperCase() == "MP3"
-        ) {
-          this.videoList2.push(b[i]);
-        } else {
-          this.videoList.push(b[i]);
-        }
-      }
-
-      if (this.videoList.length) {
-        this.playVideo();
-      } else {
-        this.isBlock = 8;
-      }
-    },
-    openFile(u) {
-      this.pptImgUrl = "https://view.officeapps.live.com/op/view.aspx?src=" + u;
-      this.isBlock = 10;
-    },
-    playVideo() {
-      // u, i
-      var d = JSON.parse(JSON.stringify(this.playerOptions));
-      // d.sources[0].src = u;
-      d.sources[0].src = this.videoList[0].src;
-      this.playerO[0] = d;
-      // this.isBlock = 9;
-      this.videoBlock = 9;
-    },
-    playVideo2(u, i) {
-      this.audioUrl = u;
-      this.isBlock = 15;
-    },
-    switchVideo(media) {
-      this.playerO = {};
-      this.playerOptions.poster = "";
-      this.playerOptions.sources[0].src = media;
-      this.playerO = this.playerOptions;
-    },
-    playerH(handle) {
-      this.handle.type = handle.type;
-      this.handle.isPlay = handle.isPlay;
-      let params = [
-        {
-          h: JSON.stringify(this.handle),
-          cid: this.cid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updatePptPage", params)
-        .then((res) => {
-          let mindinfo = this.setInfo(
-            this.cid,
-            "us.mindNetwork",
-            this.handle,
-            "update",
-            this.userid
-          );
-          this.updateSocket(mindinfo)
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    onPlayerPlay() {},
-    onPlayerPlayZ(player) {
-      console.log(player);
-      this.playerH({ type: 1, isPlay: 1 });
-    }, // 暂停回调
-    onPlayerPause(player) {
-      console.log(player);
-      this.playerH({ type: 1, isPlay: 2 });
-    },
-    // 视频播放结束回调
-    onPlayerEnded(player) {
-      //console.log(player)
-    },
-    // 已开始播放回调
-    onPlayerPlaying(player) {
-      console.log(player);
-    },
-    // 当前播放位置发生变化时触发。
-    onPlayerTimeupdate(player) {
-      console.log(player);
-    },
-    previewImg(url) {
-      // this.$hevueImgPreview(url);
-      // this.$hevueImgPreview(url);
-      this.drawShow = true;
-      this.bg = url;
-      // this.setAvatarBase64(url, (base64) => {
-      //   this.$nextTick(() => {
-      //     this.drawShow = true;
-      //     this.bg = base64;
-      //   });
-      // });
-    },
-    lookvideo(u, sname, rate, id) {
-      var d = JSON.parse(JSON.stringify(this.playerOptions));
-      d.sources[0].src = u;
-      this.playerO[0] = d;
-      this.isBlock = 16;
-      this.Sname = sname;
-      this.rateR = rate;
-      this.rateid = id;
-    },
-    closeDraw() {
-      this.bg = null;
-      this.drawShow = false;
-    },
-    fullTools() {
-      this.full = !this.full;
-    },
-    closeTools() {
-      this.full = false;
-      this.isBlock = 0;
-    },
-    // 将网络图片转换成base64格式
-    transBase64FromImage(image) {
-      let canvas = document.createElement("canvas");
-      canvas.width = image.width;
-      canvas.height = image.height;
-      let ctx = canvas.getContext("2d");
-      ctx.drawImage(image, 0, 0, image.width, image.height);
-      // 可选其他值 image/jpeg
-      return canvas.toDataURL("image/jpeg");
-    },
-    // 设置需要展示的图片  base64
-    setAvatarBase64(src, callback) {
-      let _this = this;
-      let image = new Image();
-      // let image = this.$refs.img1;
-      // 处理缓存
-      // image.src = src + "?v=" + Math.random();
-      image.src = src;
-      // 支持跨域图片
-      // image.crossOrigin = "anonymous";
-      // crossorigin="anonymous"
-      image.onload = function () {
-        let base64 = _this.transBase64FromImage(image);
-        callback && callback(base64);
-        // console.log(base64);
-        // return base64
-      };
-    },
-    rateD(name, rate, id) {
-      this.workRate = rate;
-      this.rateid = id;
-      this.Sname = name;
-      this.rateDialogVisible = true;
-    },
-    rateC() {
-      let params = [
-        {
-          r: this.workRate,
-          id: this.rateid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updateStudentWork", params)
-        .then((res) => {
-          this.rateR = this.workRate;
-          this.workRate = 0;
-          this.rateid = "";
-          this.$message.success("评价成功");
-          this.rateDialogVisible = false;
-          this.selectSWork();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    setInfo(id, navid, content, type, userid) {
-      var _data = {
-        "us.realTimeClass": [
-          {
-            sendId: userid, //发送人id
-            receiveId: id, //文件id
-            type: navid, //消息类型
-            messageInfo: {
-              id: id, //操作ID
-              type: type, //类型
-              content: content, //内容
-              docId: id, //文档id
-              pageId: top.US.pageId, //当前页面id
-            },
-          },
-        ],
-      };
-      return _data;
-    },
-    updateSocket(mindinfo) {
-      let params = [
-        {
-          type: "send",
-          mindinfo: encodeURIComponent(
-            encodeURIComponent(JSON.stringify(mindinfo))
-          ),
-          post: 1,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.socket, params)
-        .then((res) => {
-          console.log(res);
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-  },
-  created() {
-    this.getData();
-  },
-};
-</script>
-
-<style scoped>
-.dialog_diy >>> .el-dialog__header {
-  background: #3d67bc !important;
-  padding: 15px 20px;
-}
-.dialog_diy >>> .el-dialog__title {
-  color: #fff;
-}
-.dialog_diy >>> .el-dialog__headerbtn {
-  top: 9px;
-}
-.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close {
-  color: #fff;
-}
-.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close:hover {
-  color: #fff;
-}
-
-.blackBottom {
-  background: rgb(0, 0, 0);
-  height: 45px;
-  width: 100%;
-}
-
-.imgMiddle {
-  width: 100%;
-  /* height: calc(100% - 45px); */
-  height: calc(100%);
-  position: relative;
-  /* max-height: 920px; */
-}
-
-.imgMiddle > img,
-.imghalf > img,
-.szt > img,
-.logoLive > img,
-.close > img {
-  width: 100%;
-  height: 100%;
-  /* max-height: 920px; */
-}
-
-.blackBottomB {
-  /* position: sticky;
-  bottom: 0px;
-  left: 0px;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-content: center;
-  justify-content: space-between;
-  align-items: center;
-  background: rgb(0, 0, 0);
-  height: 45px;
-  width: 100%; */
-  position: sticky;
-  bottom: 20px;
-  left: 0px;
-  display: flex;
-  width: fit-content;
-}
-
-.blackBottomB > div:nth-child(1) {
-  margin-left: 10px !important;
-}
-
-.blackButton {
-  color: #fff;
-  background: #00579a;
-  /* width: 100px; */
-  height: 30px;
-  line-height: 30px;
-  text-align: center;
-  margin: 0 5px;
-  border-radius: 5px;
-  font-size: 15px;
-  cursor: pointer;
-  padding: 0 10px;
-}
-
-.isNoOther {
-  width: 100%;
-  /* height: 100%; */
-  height: calc(100% - 45px);
-  display: flex;
-}
-
-.imghalf {
-  width: 60% !important;
-  /* height: calc(100% - 45px); */
-  height: calc(100%);
-  /* max-height: 920px; */
-}
-.answerBox {
-  padding-left: 25px;
-  padding: 25px;
-  box-sizing: border-box;
-  height: calc(100% - 60px);
-  /* max-height: 800px;
-  overflow: auto; */
-}
-.answerTimuBox {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: flex-start;
-  justify-content: flex-start;
-  padding-bottom: 15px;
-}
-.memberBox {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-items: center;
-  max-height: 80%;
-  overflow: auto;
-}
-.memberBox > div {
-  background: rgb(79 213 163);
-  width: 120px;
-  color: #fff;
-  height: 40px;
-  text-align: center;
-  line-height: 40px;
-  border-radius: 5px;
-  margin: 0 15px 15px 0;
-  cursor: pointer;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  padding: 0 10px;
-  box-sizing: border-box;
-}
-
-.memberBox .pAnswer {
-  background: rgb(0 115 72);
-}
-
-.viewSta {
-  background: rgb(97, 97, 97);
-  color: #bebebe;
-  margin: 20px auto 20px;
-  width: 300px;
-  height: 40px;
-  text-align: center;
-  line-height: 40px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-.szt {
-  width: 100%;
-  margin: 20px auto;
-}
-.sztFooter {
-  padding: 20px 10px 50px 0;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  justify-content: flex-end;
-  align-items: center;
-}
-.toolList {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  justify-content: flex-start;
-  align-items: center;
-}
-.tools {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  margin-right: 20px;
-}
-.tools > div:nth-child(1) {
-  width: 60px;
-}
-.tools > div:nth-child(1) > img,
-.workImg > img,
-.workTx > img {
-  width: 100%;
-  height: 100%;
-  /* object-fit: cover; */
-  object-fit: contain;
-  cursor: pointer;
-  margin: 0;
-}
-.nextStepBox {
-  display: flex;
-  justify-content: center;
-  margin-top: 10px;
-}
-.nextStepOne {
-  background: #6b92c9;
-  color: #fff;
-  width: 110px;
-  text-align: center;
-  height: 35px;
-  line-height: 35px;
-  font-size: 14px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-
-.nextStepOne,
-.nextStepOne {
-  margin-left: 10px;
-}
-
-.logoLive {
-  width: 35px;
-}
-.anserBoxCss {
-  box-sizing: border-box;
-  padding: 20px 0;
-}
-.anserBoxCss >>> .el-radio__label {
-  font-size: 18px;
-}
-.anserBoxCss >>> .el-radio__inner {
-  border-radius: 0px !important;
-}
-
-.choose_style {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  width: 100%;
-  margin: 10px 0 30px;
-}
-
-.choose_style span {
-  background: #f8f9ff;
-  color: #677fff;
-  border: 1px solid #95b5ff;
-  padding: 15px 20px;
-  font-size: 25px;
-  border-radius: 18px;
-  cursor: pointer;
-}
-
-.choose_style span + span {
-  margin-left: 25px;
-}
-
-.choose_style .active {
-  color: #fff;
-  background: #5e78fa;
-}
-.close {
-  position: absolute;
-  right: 10px;
-  top: 10px;
-  width: 20px;
-  cursor: pointer;
-}
-.workBox {
-  margin-top: 20px;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  width: 100%;
-  height: 80%;
-  overflow: auto;
-}
-.works {
-  width: 31%;
-  border: 1px solid #ececec;
-  /* height: 160px; */
-  margin: 0 10px 10px 0;
-  /* cursor: pointer; */
-  min-width: 180px;
-  border-radius: 3px;
-  overflow: hidden;
-  height: fit-content;
-}
-.workImg {
-  width: 100%;
-  height: 117px;
-}
-.workDetail {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: flex-start;
-  justify-content: space-between;
-  padding: 8px 0 0;
-  flex-direction: column;
-}
-.workLeft {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: center;
-  width: 100%;
-  padding: 0px 5px;
-  box-sizing: border-box;
-}
-.workTx {
-  width: 25px;
-}
-.workName {
-  font-size: 14px;
-  padding-left: 13px;
-}
-.workRight {
-  font-size: 14px;
-  color: #ccc;
-  margin: 0 0 3px;
-  padding: 0 5px;
-  width: 100%;
-  box-sizing: border-box;
-}
-
-.workBtn {
-  width: 100%;
-  background: rgb(110 145 203);
-  color: #fff;
-  cursor: pointer;
-  text-align: center;
-  padding: 5px 0;
-}
-
-.returnButton {
-  position: absolute;
-  bottom: 20px;
-  width: 230px;
-  background: #616161;
-  left: 35%;
-  color: #ababab;
-  text-align: center;
-  border-radius: 5px;
-  height: 30px;
-  font-size: 14px;
-  line-height: 30px;
-  cursor: pointer;
-}
-
-.tools_title {
-  background: #000;
-  position: absolute;
-  width: 100%;
-  top: 0;
-  left: 0;
-  display: flex;
-  align-items: center;
-  height: 40px;
-  justify-content: space-between;
-  padding: 0 15px;
-  box-sizing: border-box;
-}
-.tools_title span {
-  color: #fff;
-}
-.tools_title div {
-  display: flex;
-  align-items: center;
-}
-.full,
-.closeImg {
-  height: 22px;
-  cursor: pointer;
-}
-.tools_title img,
-img {
-  margin-left: 10px;
-}
-
-.tools_box {
-  width: 38.5%;
-  max-width: 38.5%;
-  overflow: auto;
-  background: rgb(255, 255, 255);
-  height: 91.5%;
-  position: relative;
-  margin: 10px 15px;
-}
-
-.tools_child_box {
-  width: 100%;
-  height: calc(90% - 40px);
-  padding-top: 40px;
-}
-
-.fullStyle {
-  width: 100% !important;
-  max-width: 100% !important;
-}
-
-.toolCss {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: wrap;
-  width: 150px;
-  align-items: center;
-  text-align: center;
-}
-.toolImg {
-  width: 70px;
-  /* height: 70px; */
-  cursor: pointer;
-}
-.toolImg > img {
-  width: 100%;
-  height: 100%;
-  margin: 0 !important;
-}
-.toolImg > div {
-  font-size: 14px;
-}
-.score_box {
-  font-size: 14px;
-}
-.score_box >>> .el-rate {
-  margin: 10px 0 20px 0;
-}
-.score_box >>> .el-rate__icon {
-  font-size: 23px;
-}
-.bz >>> .el-textarea__inner {
-  width: 40%;
-  background: #f9f9f9;
-  border: 1px solid #afafaf;
-  border-radius: 0px;
-}
-.fileBox {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-items: center;
-  justify-content: flex-start;
-  align-content: center;
-  width: 100%;
-}
-.fileListCss {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: center;
-  margin: 0 15px 15px 0;
-}
-.fileCss {
-  width: 70px;
-  height: 70px;
-  cursor: pointer;
-  margin: 0 0 10px 0;
-}
-.fileCss > img {
-  width: 100%;
-  height: 100%;
-  margin: 0;
-}
-.wheel {
-  width: 100%;
-  height: 100%;
-}
-.video-player >>> .video-js {
-  height: 100%;
-}
-
-.tkCss {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  flex-wrap: nowrap;
-  margin-bottom: 15px;
-}
-
-.fill_box + .fill_box {
-  margin-top: 10px;
-}
-.fill_box span + span {
-  margin-left: 10px;
-}
-.choose_style {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  width: 100%;
-  margin: 10px 0 30px;
-}
-
-.choose_style span {
-  background: #f8f9ff;
-  color: #677fff;
-  border: 1px solid #95b5ff;
-  padding: 15px 20px;
-  font-size: 25px;
-  border-radius: 18px;
-  cursor: pointer;
-}
-
-.choose_style span + span {
-  margin-left: 25px;
-}
-
-.isChoose {
-  color: #fff !important;
-  background: #5e78fa !important;
-}
-
-.workd_media {
-  /* width: 1497.42px; */
-  /* width: auto; */
-  height: calc(100% - 100px);
-  position: absolute;
-  top: 0;
-  left: 50%;
-  transform: translateX(-50%);
-}
-
-.tiankongAnswer {
-  margin-left: 10px;
-  color: #1834c0;
-}
-
-.tfalse {
-  color: rgb(189, 30, 30) !important;
-}
-
-.rateD_box {
-  display: flex;
-  margin-bottom: 10px;
-  margin-left: 30px;
-  align-items: center;
-}
-.rateD_box span {
-  font-size: 18px;
-}
-.rateD_box span:nth-child(1) {
-  margin-right: 10px;
-}
-
-.rateD_box >>> .el-rate__icon {
-  font-size: 25px;
-}
-.rateD_box >>> .el-icon-star-off {
-  font-size: 22px;
-}
-</style>

+ 0 - 2541
src/components/pages/liveRoomKQ.vue

@@ -1,2541 +0,0 @@
-<template>
-  <div
-    style="
-      background: #d0d6e4;
-      width: 100%;
-      height: 100%;
-      margin: 0;
-      position: relative;
-    "
-  >
-    <!-- <div class="pb_content_body" style="height: 100%">
-    </div>-->
-    <div class="blackBottom">
-      <div
-        style="
-          display: flex;
-          flex-direction: row;
-          flex-wrap: nowrap;
-          align-items: stretch;
-          padding-left: 10px;
-        "
-      >
-        <div class="logoLive">
-          <img src="../../assets/icon/logo.png" alt />
-        </div>
-        <div style="color: #fff; line-height: 45px; padding-left: 15px">
-          introduce a festival (Final)
-        </div>
-      </div>
-    </div>
-    <div class="isNoOther">
-      <div
-        class="imgMiddle"
-        :class="isBlock > 0 ? 'imghalf' : 'imgMiddle'"
-        v-show="!full"
-      >
-        <!-- <img src="../../assets/icon/kc1.png" alt /> -->
-        <!-- <iframe
-          style="width: 100%; height: 100%; border: none"
-          src="https://view.officeapps.live.com/op/view.aspx?src=https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/0701%E5%AE%9E%E6%97%B6%E8%AF%BE%E5%A0%82%E6%A8%A1%E6%8B%9F%E6%BC%94%E7%A4%BA%E8%AF%BE%E4%BB%B61656644341323.pptx"
-        ></iframe>-->
-        <pdf
-          :pdfUrl="pdfUrl"
-          style="width: 100%; height: 100%"
-          :getPage="getPage"
-          @getWidth="getWidth"
-        ></pdf>
-        <div
-          class="workd_media"
-          v-if="videoBlock == 9"
-          :style="{ width: Vwidth }"
-        >
-          <video-player
-            class="video-player vjs-custom-skin"
-            :playsinline="true"
-            :options="playerO[0]"
-            @play="onPlayerPlayZ($event)"
-            @pause="onPlayerPause"
-            @ended="onPlayerEnded"
-            @playing="onPlayerPlaying"
-            @timeupdate="onPlayerTimeupdate"
-            style="width: 100%; height: 100%"
-          ></video-player>
-        </div>
-      </div>
-      <div
-        style="
-          background: #d0d6e4;
-          height: 100%;
-          min-width: 40%;
-          max-width: 40%;
-          overflow: auto;
-          padding: 0px 0 50px;
-        "
-        v-if="isBlock == 1 || isBlock == 6"
-      >
-        <div
-          style="background: #fff; height: 92%; width: 96%; margin: 10px auto"
-        >
-          <div
-            style="color: #bfbfbf; padding: 15px 0 20px 25px; font-size: 20px"
-          >
-            答题查看
-          </div>
-          <div class="answerBox" v-if="isBlock == 1 || isBlock == 6">
-            <div class="memberBox" v-if="isBlock == 1">
-              <div
-                :class="{ pAnswer: item.is == 2 }"
-                v-for="(item, index) in studentArray"
-                @click="getOAnswer(item.answer, item.name)"
-                :key="index"
-              >
-                {{ item.name }}
-              </div>
-            </div>
-            <div class="memberBox" v-if="isBlock == 6">
-              <div
-                v-show="studentArray2.length > 0"
-                :class="{ pAnswer: item.is == 2 }"
-                v-for="(item, index) in studentArray2"
-                :key="index"
-                @click="whoAnswer(item, index)"
-              >
-                {{ item.name }}
-              </div>
-              <div v-if="studentArray2.length == 0">暂无学生</div>
-            </div>
-            <!-- <div style="color: #948bdc; padding-top: 15px" v-if="isBlock == 1">
-              共有四个选项,正在答题......
-            </div>-->
-            <div
-              class="viewSta"
-              @click="isBlock = 3"
-              v-if="
-                isBlock == 1 &&
-                tools[steps].tools &&
-                tools[steps].tools.indexOf(9) != -1
-              "
-            >
-              查看数据统计
-            </div>
-            <div
-              class="viewSta"
-              @click="isBlock = 14"
-              v-else-if="
-                isBlock == 1 &&
-                tools[steps].tools &&
-                tools[steps].tools.indexOf(27) != -1
-              "
-            >
-              查看数据统计
-            </div>
-            <span
-              slot="footer"
-              class="dialog-footer sztFooter"
-              v-if="isBlock == 6"
-            >
-              <el-button type="primary" @click="selectSWork2(9)"
-                >查看学生答题情况</el-button
-              >
-              <el-button type="primary" @click="isBlock = 0">结束</el-button>
-            </span>
-          </div>
-        </div>
-      </div>
-      <div
-        style="
-          background: #d0d6e4;
-          height: 92%;
-          min-width: 40%;
-          max-width: 40%;
-          overflow: auto;
-          padding: 0px 0 50px;
-        "
-        v-if="isBlock == 3"
-      >
-        <div
-          style="
-            background: #fff;
-            width: 96%;
-            margin: 10px auto;
-            position: relative;
-          "
-        >
-          <div class="close" @click="isBlock = 0">
-            <img src="../../assets/icon/close.png" alt />
-          </div>
-          <div style="color: #bfbfbf; padding: 15px 0 20px 25px">数据统计</div>
-          <div style="padding-left: 25px">
-            目前A选项
-            <span class>{{ answerJson.A }}票</span>、B选项
-            <span>{{ answerJson.B }}票</span>、C选项
-            <span>{{ answerJson.C }}票</span>、D选项
-            <span>{{ answerJson.D }}票</span>
-          </div>
-          <div class="szt">
-            <AnswerData
-              :problemJson="answerJson"
-              :answer="answerA"
-              :people="peopleA"
-            ></AnswerData>
-          </div>
-          <span slot="footer" class="dialog-footer sztFooter">
-            <!-- <el-button type="primary" @click="isBlock = 0">关闭</el-button> -->
-            <el-button type="primary" @click="(isBlock = 1), (full = false)"
-              >返回</el-button
-            >
-          </span>
-        </div>
-      </div>
-      <div
-        class="answerBox tools_box"
-        v-if="isBlock == 2"
-        style="padding: 10px 0 0 25px"
-      >
-        <div style="color: #d1d1d1; font-size: 24px">课堂实践</div>
-        <div
-          style="
-            margin: 20px 0 20px 0;
-            border-bottom: 4px solid #3e86f3;
-            width: 75px;
-            text-align: center;
-            padding-bottom: 3px;
-          "
-        >
-          选择工具
-        </div>
-        <div
-          style="
-            display: flex;
-            flex-direction: row;
-            flex-wrap: wrap;
-            width: 100%;
-            justify-content: flex-start;
-            align-items: center;
-          "
-        >
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(1) != -1"
-            @click="(isBlock = 5), (toolCount = 1)"
-            class="toolCss"
-          >
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/whiteBoard.png" alt />
-              <div>电子白板</div>
-            </div>
-          </div>
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(3) != -1"
-            @click="(isBlock = 5), (toolCount = 3)"
-            class="toolCss"
-          >
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/mindMapping.png" alt />
-              <div>思维导图</div>
-            </div>
-          </div>
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(28) != -1"
-            @click="(isBlock = 5), (toolCount = 28)"
-            class="toolCss"
-          >
-            <div class="toolImg">
-              <img src="../../assets/icon/thirdToolList/translation.png" alt />
-              <div>翻译</div>
-            </div>
-          </div>
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(4) != -1"
-            @click="(isBlock = 5), (toolCount = 4)"
-            class="toolCss"
-          >
-            <div class="toolImg">
-              <img src="../../assets/icon/thirdToolList/ask.png" alt />
-              <div>问卷调查</div>
-            </div>
-          </div>
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(6) != -1"
-            @click="(isBlock = 5), (toolCount = 6)"
-            class="toolCss"
-          >
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/doc.png" alt />
-              <div>协同文档</div>
-            </div>
-          </div>
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(7) != -1"
-            @click="(isBlock = 5), (toolCount = 7)"
-            class="toolCss"
-          >
-            <div class="toolImg">
-              <img src="../../assets/icon/secondToolList/mindNetwork.png" alt />
-              <div>思维网格</div>
-            </div>
-          </div>
-          <div
-            v-if="tools[steps].tools && tools[steps].tools.indexOf(10) != -1"
-            class="toolCss"
-          >
-            <div class="toolImg" @click="timeDialogVisible = true">
-              <img src="../../assets/icon/thirdToolList/time.png" alt />
-              <div>倒计时</div>
-            </div>
-          </div>
-        </div>
-        <div class="nextStepBox">
-          <div class="nextStepOne" @click="(isBlock = 0), (full = false)">
-            关闭
-          </div>
-        </div>
-      </div>
-      <div
-        class="answerBox tools_box"
-        :class="{ fullStyle: full }"
-        v-if="isBlock == 5"
-      >
-        <div style="height: 100%; width: 100%">
-          <div v-if="toolCount == 1" class="tools_child_box">
-            <div class="tools_title">
-              <span>电子白板</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              webkitallowfullscreen
-              mozallowfullscreen
-              allowfullscreen
-              style="width: 100%; height: 100%; border: none"
-              src="https://iwb.cocorobo.cn/"
-            ></iframe>
-          </div>
-          <div v-if="toolCount == 3" class="tools_child_box">
-            <div class="tools_title">
-              <span>思维导图</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              webkitallowfullscreen
-              mozallowfullscreen
-              allowfullscreen
-              style="width: 100%; height: 100%; border: none"
-              src="//cloud.cocorobo.cn/kityminder-editor/dist/index.html"
-            ></iframe>
-          </div>
-          <div v-if="toolCount == 28" class="tools_child_box">
-            <div class="tools_title">
-              <span>翻译</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              webkitallowfullscreen
-              mozallowfullscreen
-              allowfullscreen
-              style="width: 100%; height: 100%; border: none"
-              src="//dict.youdao.com/"
-            ></iframe>
-          </div>
-          <div v-if="toolCount == 6" class="tools_child_box">
-            <div class="tools_title">
-              <span>协同文档</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              webkitallowfullscreen
-              mozallowfullscreen
-              allowfullscreen
-              style="width: 100%; height: 100%; border: none"
-              src="https://cloud.cocorobo.cn/Office/Word/WordEditArea.htm"
-            ></iframe>
-          </div>
-          <div v-if="toolCount == 7" class="tools_child_box">
-            <div class="tools_title">
-              <span>思维网格</span>
-              <div>
-                <img
-                  src="../../assets/full.png"
-                  class="full"
-                  @click="fullTools"
-                />
-                <img
-                  src="../../assets/close1.png"
-                  class="closeImg"
-                  @click="closeTools"
-                />
-              </div>
-            </div>
-            <iframe
-              webkitallowfullscreen
-              mozallowfullscreen
-              allowfullscreen
-              style="width: 100%; height: 100%; border: none"
-              src="https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid"
-            ></iframe>
-          </div>
-          <!-- <div class="nextStepBox">
-            <div class="nextStepOne" @click="(isBlock = 2), (full = false)">
-              返回
-            </div>
-          </div> -->
-        </div>
-      </div>
-      <div
-        class="answerBox"
-        style="
-          width: 38.5%;
-          max-width: 38.5%;
-          overflow: auto;
-          background: rgb(255, 255, 255);
-          height: 91.5%;
-          position: relative;
-          margin: 10px 15px;
-        "
-        v-if="isBlock == 4"
-      >
-        <div
-          style="
-            color: #b7b7b7;
-            border-left: 5px solid #a5b6e2;
-            padding-left: 7px;
-            height: 25px;
-            line-height: 25px;
-          "
-        >
-          查看作业
-        </div>
-        <div class="workBox">
-          <div class="works" v-for="(w, wIndex) in worksList" :key="wIndex">
-            <div class="workImg">
-              <img
-                v-if="
-                  tools[steps].tools && tools[steps].tools.indexOf(29) != -1
-                "
-                :src="require('../../assets/icon/stuVedio.png')"
-                @click="lookvideo(w.upload, w.sName, w.rate, w.id)"
-                alt
-              />
-              <img
-                v-else
-                :src="w.upload ? w.upload : mr"
-                @click="previewImg(w.upload ? w.upload : mr)"
-                alt
-              />
-            </div>
-            <div class="workDetail">
-              <div class="workLeft">
-                <div class="workTx">
-                  <img src="../../assets/avatar.png" alt />
-                </div>
-                <div class="workName">{{ w.sName }}</div>
-              </div>
-              <div class="workRight">{{ w.time }}</div>
-              <div class="workBtn" @click="rateD(w.sName, w.rate, w.id)">
-                评价
-              </div>
-            </div>
-          </div>
-        </div>
-        <div class="returnButton" @click="(isBlock = 0), (full = false)">
-          关闭
-        </div>
-      </div>
-      <div
-        class="answerBox"
-        v-if="isBlock == 7"
-        style="
-          padding: 0 0 0 25px;
-          width: 38.5%;
-          max-width: 38.5%;
-          overflow: auto;
-          background: rgb(255, 255, 255);
-          height: 91.5%;
-          position: relative;
-          margin: 10px 15px;
-        "
-      >
-        <div style="color: #bfbfbf; padding: 15px 0 15px 0; font-size: 20px">
-          课堂评价
-        </div>
-        <div>
-          <div class="score_box">
-            <span>自我评价</span>
-            <el-rate v-model="rateList.ca"></el-rate>
-          </div>
-          <div class="score_box">
-            <span>他人评价</span>
-            <el-rate v-model="rateList.sia"></el-rate>
-          </div>
-        </div>
-        <div>
-          <div style="padding-bottom: 15px; sont-size: 14px">备注</div>
-          <div class="bz">
-            <el-input
-              type="textarea"
-              placeholder="请输入备注…"
-              :rows="6"
-              resize="none"
-              v-model="rateList.content"
-            ></el-input>
-          </div>
-        </div>
-        <span
-          slot="footer"
-          class="dialog-footer sztFooter"
-          style="
-            padding: 0 0 30px 0px;
-            position: absolute;
-            right: 20px;
-            bottom: 0;
-          "
-        >
-          <el-button type="primary" @click="isBlock = 4">返回</el-button>
-        </span>
-      </div>
-
-      <div
-        class="answerBox tools_box"
-        v-if="isBlock == 8"
-        style="padding: 10px 0 0 25px"
-      >
-        <div style="color: #d1d1d1; font-size: 24px">课堂实践</div>
-        <div
-          style="
-            margin: 20px 0 20px 0;
-            border-bottom: 4px solid #3e86f3;
-            width: 75px;
-            text-align: center;
-            padding-bottom: 3px;
-          "
-        >
-          选择附件
-        </div>
-        <div
-          style="
-            display: flex;
-            flex-direction: row;
-            flex-wrap: wrap;
-            width: 100%;
-            justify-content: flex-start;
-            align-items: center;
-          "
-        >
-          <div
-            v-if="tools[steps].file && tools[steps].file.length"
-            class="fileBox"
-          >
-            <div
-              class="fileListCss"
-              v-for="(v, vIndex) in videoList"
-              :key="vIndex"
-            >
-              <div class="fileCss" @click="playVideo(v.src, vIndex)">
-                <img src="../../assets/uploadMp4.png" alt />
-              </div>
-              <div>{{ v.name }}</div>
-            </div>
-            <div
-              class="fileListCss"
-              v-for="(v, vIndex) in videoList2"
-              :key="vIndex"
-            >
-              <div class="fileCss" @click="playVideo2(v.src, vIndex)">
-                <img src="../../assets/uploadMp4.png" alt />
-              </div>
-              <div>{{ v.name }}</div>
-            </div>
-            <div
-              class="fileListCss"
-              v-for="(f, fIndex) in fileList"
-              :key="fIndex"
-            >
-              <div class="fileCss" @click="openFile(f.src)">
-                <img src="../../assets/file.png" alt />
-              </div>
-              <div>{{ f.name }}</div>
-            </div>
-          </div>
-        </div>
-        <div class="nextStepBox">
-          <div class="nextStepOne" @click="(isBlock = 0), (full = false)">
-            关闭
-          </div>
-        </div>
-      </div>
-      <!-- <div class="answerBox tools_box" :class="{ fullStyle: full }" v-if="isBlock == 9">
-        <div style="height: 70%; width: 100%">
-          <div class="wheel">
-            <div class="workd_media" style="height: 100%">
-              <video-player
-                class="video-player vjs-custom-skin"
-                :playsinline="true"
-                :options="playerO[0]"
-                @play="onPlayerPlay($event)"
-                style="width: 90%; height: 100%; margin: 0 0 0 30px"
-              ></video-player>
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="isBlock = 8">返回</div>
-          </div>
-        </div>
-      </div>-->
-
-      <div
-        class="answerBox tools_box"
-        :class="{ fullStyle: full }"
-        v-if="isBlock == 10"
-      >
-        <div style="height: 70%; width: 100%">
-          <div
-            class="wheel"
-            style="height: 520px; width: 100%; margin: 0 0 20px 30px"
-          >
-            <iframe
-              webkitallowfullscreen
-              mozallowfullscreen
-              allowfullscreen
-              style="width: 100%; height: 100%; border: none"
-              :src="pptImgUrl"
-            ></iframe>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="isBlock = 8">返回</div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 11">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div
-              class="memberBox"
-              style="max-height: 100%"
-              v-if="worksList.length"
-            >
-              <div
-                v-for="(item, index) in worksList"
-                :key="index"
-                @click="getEv(item.upload, item.sName)"
-              >
-                {{ item.sName }}
-              </div>
-            </div>
-            <div v-else>暂无学生评价</div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="(isBlock = 0), (full = false)">
-              关闭
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 12">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div style="height: 100%; overflow: auto">
-              <div style="margin-bottom: 20px">{{ Sname }}</div>
-              <div
-                class="score_box"
-                v-for="(ra, raIndex) in tools[steps].rateArray"
-                :key="raIndex"
-              >
-                <span>{{ ra }}</span>
-                <el-rate v-model="rate[raIndex]" disabled></el-rate>
-              </div>
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="isBlock = 11">返回</div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 13">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div style="height: 100%; overflow: auto">
-              <div style="margin-bottom: 20px">{{ Sname }}</div>
-              <div
-                v-if="
-                  tools[steps].tools && tools[steps].tools.indexOf(27) != -1
-                "
-              >
-                <div
-                  v-for="(tk, tIndex) in tools[steps].choice"
-                  :key="tIndex"
-                  class="tkCss"
-                >
-                  <div style="margin-right: 10px; font-size: 18px">
-                    {{ tIndex + 1 }}、
-                  </div>
-                  <el-select
-                    v-model="tkAnswer[tIndex]"
-                    placeholder="请选择答案"
-                    disabled
-                  >
-                    <el-option
-                      v-for="(tkA, tkAIndex) in tools[steps].tkAnswerBox"
-                      :key="tkAIndex"
-                      :label="tkA"
-                      :value="tkA"
-                    ></el-option>
-                  </el-select>
-                  <span
-                    v-if="tiankongAnswer.length"
-                    class="tiankongAnswer"
-                    :class="{
-                      tfalse: tiankongAnswer[tIndex] != tkAnswer[tIndex],
-                    }"
-                    >正确答案:{{ tiankongAnswer[tIndex] }}</span
-                  >
-                </div>
-              </div>
-              <div
-                v-if="tools[steps].tools && tools[steps].tools.indexOf(9) != -1"
-              >
-                <div class="choose_style">
-                  <span
-                    :class="tkAnswer.indexOf(1) != -1 ? 'isChoose' : ''"
-                    v-if="tools[steps].choice && tools[steps].choice > 0"
-                    >A</span
-                  >
-                  <span
-                    :class="tkAnswer.indexOf(2) != -1 ? 'isChoose' : ''"
-                    v-if="tools[steps].choice && tools[steps].choice > 1"
-                    >B</span
-                  >
-                  <span
-                    :class="tkAnswer.indexOf(3) != -1 ? 'isChoose' : ''"
-                    v-if="tools[steps].choice && tools[steps].choice > 2"
-                    >C</span
-                  >
-                  <span
-                    :class="tkAnswer.indexOf(4) != -1 ? 'isChoose' : ''"
-                    v-if="tools[steps].choice && tools[steps].choice > 3"
-                    >D</span
-                  >
-                </div>
-              </div>
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="selectStudentByScoolPPt(1)">
-              返回
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 14">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 90%; width: 100%">
-            <div style="height: 100%; overflow: auto">
-              <div class="szt">
-                <AnswerData2
-                  :problemJson="tools[steps].choice"
-                  :answer="answerA"
-                  :people="worksList"
-                ></AnswerData2>
-              </div>
-              <!-- <div
-                v-for="(item, index) in worksList"
-                :key="index"
-                class="fill_box"
-              >
-                <span>{{ index + 1 }}、{{ item.sName }}</span>
-                <span
-                  v-for="(item, index) in JSON.parse(item.upload)"
-                  :key="index"
-                  >{{ index + 1 }}、{{ item }}</span
-                >
-              </div> -->
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 10px">
-            <div class="nextStepOne" @click="selectStudentByScoolPPt(1)">
-              返回
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 15">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div style="height: 100%; overflow: auto">
-              <audio
-                style="margin: 0 auto; display: block"
-                :src="audioUrl"
-                controls="controls"
-                ref="audio"
-              >
-                Your browser does not support the audio element.
-              </audio>
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="isBlock = 8">返回</div>
-          </div>
-        </div>
-      </div>
-      <div
-        class="answerBox tools_box"
-        :class="{ fullStyle: full }"
-        v-if="isBlock == 16"
-      >
-        <div style="height: 70%; width: 100%">
-          <div class="wheel">
-            <div style="margin-bottom: 20px">{{ Sname }}</div>
-            <div>
-              <video-player
-                class="video-player vjs-custom-skin"
-                :playsinline="true"
-                :options="playerO[0]"
-                @play="onPlayerPlay($event)"
-                style="width: 90%; height: 100%; margin: 0 0 0 30px"
-              ></video-player>
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="rateD(Sname, rateR, rateid)">
-              评价
-            </div>
-            <div class="nextStepOne" @click="isBlock = 4">返回</div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 17">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div
-              class="memberBox"
-              style="max-height: 100%"
-              v-if="worksList.length"
-            >
-              <div
-                v-for="(item, index) in worksList"
-                :key="index"
-                @click="getAu(item.upload, item.sName)"
-              >
-                {{ item.sName }}
-              </div>
-            </div>
-            <div v-else>暂无学生提交</div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="(isBlock = 0), (full = false)">
-              关闭
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 18">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div style="height: 100%; overflow: auto">
-              <div style="margin-bottom: 20px">{{ Sname }}</div>
-              <audio
-                style="margin: 0 auto; display: block"
-                :src="LuAudioUrl"
-                controls="controls"
-                ref="audio"
-              >
-                Your browser does not support the audio element.
-              </audio>
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="isBlock = 17">返回</div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 19">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div
-              class="memberBox"
-              style="max-height: 100%"
-              v-if="worksList.length"
-            >
-              <div
-                v-for="(item, index) in worksList"
-                :key="index"
-                @click="getAu(item.upload, item.sName, 2, item.rate, item.id)"
-              >
-                {{ item.sName }}
-              </div>
-            </div>
-            <div v-else>暂无学生提交</div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="(isBlock = 6), (full = false)">
-              返回
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="answerBox tools_box" v-if="isBlock == 20">
-        <div style="height: 100%; width: 100%">
-          <div class="wheel" style="height: 80%; width: 100%">
-            <div style="height: 100%; overflow: auto">
-              <div style="margin-bottom: 20px">{{ Sname }}</div>
-              <audio
-                style="margin: 0 auto; display: block"
-                :src="LuAudioUrl"
-                controls="controls"
-                ref="audio"
-              >
-                Your browser does not support the audio element.
-              </audio>
-              <el-button type="primary" @click="rateD(Sname, rateR, rateid)"
-                >评价</el-button
-              >
-            </div>
-          </div>
-          <div class="nextStepBox" style="margin-top: 5%">
-            <div class="nextStepOne" @click="isBlock = 19">返回</div>
-          </div>
-        </div>
-      </div>
-    </div>
-
-    <div class="blackBottomB">
-      <div style="display: flex">
-        <div
-          class="blackButton"
-          @click="selectStudentByScoolPPt(1)"
-          v-if="
-            (tools[steps].tools && tools[steps].tools.indexOf(9) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(27) != -1)
-          "
-        >
-          查看学生答题情况
-        </div>
-        <div
-          class="blackButton"
-          @click="lookTool"
-          v-if="
-            (tools[steps].tools && tools[steps].tools.indexOf(1) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(3) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(6) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(7) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(10) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(13) != -1)
-          "
-        >
-          查看工具
-        </div>
-        <div
-          class="blackButton"
-          @click="selectStudentByScoolPPt(2)"
-          v-if="tools[steps].tools && tools[steps].tools.indexOf(12) != -1"
-        >
-          选择学生回答
-        </div>
-        <div
-          class="blackButton"
-          @click="selectSWork2(4)"
-          v-if="
-            (tools[steps].tools && tools[steps].tools.indexOf(1) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(3) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(6) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(7) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(10) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(16) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(29) != -1) ||
-            (tools[steps].tools && tools[steps].tools.indexOf(13) != -1)
-          "
-        >
-          查看作业
-        </div>
-        <div
-          class="blackButton"
-          @click="selectSWork2(6)"
-          v-if="tools[steps].tools && tools[steps].tools.indexOf(14) != -1"
-        >
-          查看评价
-        </div>
-        <div
-          class="blackButton"
-          @click="selectSWork2(8)"
-          v-if="tools[steps].tools && tools[steps].tools.indexOf(30) != -1"
-        >
-          查看作业
-        </div>
-        <!-- <div
-          class="blackButton"
-          @click="selectFile"
-          v-if="tools[steps].file && tools[steps].file.length"
-        >查看附件</div>-->
-      </div>
-    </div>
-    <el-dialog
-      title="选择答题"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">
-        是否让“{{ answerStudent.name }}”同学进行单独答题?
-      </div>
-      <div
-        style="
-          width: 200px;
-          background: #4d8ae0;
-          height: 35px;
-          margin: 0 auto;
-          text-align: center;
-          line-height: 35px;
-          color: #fff;
-          border-radius: 5px;
-          cursor: pointer;
-        "
-        @click="pick"
-      >
-        确定
-      </div>
-    </el-dialog>
-    <el-dialog
-      :visible.sync="dialogVisible1"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">
-        正在开发中!
-      </div>
-      <div
-        style="
-          width: 200px;
-          background: #4d8ae0;
-          height: 35px;
-          margin: 0 auto;
-          text-align: center;
-          line-height: 35px;
-          color: #fff;
-          border-radius: 5px;
-          cursor: pointer;
-        "
-        @click="dialogVisible1 = false"
-      >
-        确定
-      </div>
-    </el-dialog>
-    <el-dialog
-      :visible.sync="dialogVisible2"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">
-        课程结束后才有报告!
-      </div>
-      <div
-        style="
-          width: 200px;
-          background: #4d8ae0;
-          height: 35px;
-          margin: 0 auto;
-          text-align: center;
-          line-height: 35px;
-          color: #fff;
-          border-radius: 5px;
-          cursor: pointer;
-        "
-        @click="dialogVisible2 = false"
-      >
-        确定
-      </div>
-    </el-dialog>
-    <el-dialog
-      title="倒计时"
-      :visible.sync="timeDialogVisible"
-      :append-to-body="true"
-      width="800px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <Time v-if="timeDialogVisible"></Time>
-      </div>
-      <div slot="footer">
-        <el-button @click="timeDialogVisible = false">关 闭</el-button>
-      </div>
-    </el-dialog>
-    <el-dialog
-      title="评价"
-      :visible.sync="rateDialogVisible"
-      :append-to-body="true"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <div>
-        <div class="rateD_box">
-          <span>姓名:</span>
-          <span>{{ Sname }}</span>
-        </div>
-        <div class="rateD_box">
-          <span>评价:</span>
-          <el-rate v-model="workRate" :allow-half="false"></el-rate>
-        </div>
-      </div>
-      <div slot="footer">
-        <el-button type="primary" @click="rateC">确 定</el-button>
-        <el-button @click="rateDialogVisible = false">关 闭</el-button>
-      </div>
-    </el-dialog>
-    <ImgDraw :drawShow="drawShow" @closeDraw="closeDraw" :bg="bg"></ImgDraw>
-    <img id="img1" ref="img1" hidden="hidden" />
-  </div>
-</template>
-
-<script>
-import "../../common/aws-sdk-2.235.1.min";
-import EditorBar from "../../components/tools/wangEnduit";
-import AnswerData from "./components/answerData";
-import AnswerData2 from "./components/answerData2";
-import pdf from "./components/pdf";
-import ImgDraw from "./components/imgDraw/imgDraw";
-import Time from "../tools/time.vue";
-export default {
-  components: { EditorBar, AnswerData, AnswerData2, pdf, ImgDraw, Time },
-  data() {
-    return {
-      pdfUrl: "",
-      // "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E4%B8%8A%E8%AF%BE%E8%AF%BE%E4%BB%B6---%E4%BA%94%E4%B8%8Bintroduce%20a%20festival%20%28Final%20%29%281%291661829428281.pdf",
-      pptImgUrl: "",
-      isLoading: false,
-      full: false,
-      drawShow: false,
-      bg: null,
-      formLabelWidth: "100px",
-      userid: this.$route.query.userid,
-      cid: this.$route.query.cid,
-      oid: this.$route.query.oid,
-      mr: require("../../assets/icon/kc1.png"),
-      timu: [],
-      // a: false,
-      // b: false,
-      // c: false,
-      steps: 0,
-      isBlock: 0,
-      timeDialogVisible: false,
-      dialogVisible: false,
-      dialogVisible1: false,
-      dialogVisible2: false,
-      rateDialogVisible: false,
-      toolCount: 0,
-      answerBox: "",
-      answer: [
-        { name: "A.1568" },
-        { name: "B.720" },
-        { name: "C.1728" },
-        { name: "D.480" },
-      ],
-      studentArray: [],
-      studentArray2: [],
-      askCount: 0,
-      answerJson: {
-        A: 0,
-        B: 0,
-        C: 0,
-        D: 0,
-      },
-      answerA: [],
-      peopleA: [],
-      answerStudent: "",
-      // {
-      //   file: [
-      //     {
-      //       name: "音频1.MP3",
-      //       src: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E6%9F%B3%E8%BD%BB%E9%A2%82%20-%20%E6%BA%AF%EF%BC%88%E9%92%A2%E7%90%B4%E7%89%88%EF%BC%891661673251415.mp3",
-      //     },
-      //   ],
-      // }
-      tools: [],
-
-      // {},
-      //   "",
-      //   {
-      //     file: [
-      //       {
-      //         name: "视频1.mp4",
-      //         src: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E5%AA%92%E4%BD%9311661413782505.mp4",
-      //       },
-      //     ],
-      //   },
-      //   "",
-      //   { tools: [9], choice: 3, answer: [2, 3] },
-      //   { tools: [9], choice: 3, answer: [2] },
-      //   { tools: [9], choice: 3, answer: [3] },
-      //   { tools: [9], choice: 3, answer: [1] },
-      //   { tools: [9], choice: 3, answer: [2] },
-      //   { tools: [12] },
-      //   {
-      //     tools: [27],
-      //     answer: [
-      //       "Time",
-      //       "Weather",
-      //       "Activities before the festival",
-      //       "Activities during the festival",
-      //       "Food",
-      //       "Reason",
-      //       "Feelings",
-      //     ],
-      //     choice: 7,
-      //     tkAnswerBox: [
-      //       "Feelings",
-      //       "Weather",
-      //       "Activities before the festival",
-      //       "Origin",
-      //       "Food",
-      //       "Time",
-      //       "Activities during the festival",
-      //       "Reason",
-      //     ],
-      //   },
-      //   {
-      //     file: [
-      //       {
-      //         name: "视频2.mp4",
-      //         src: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E5%AA%92%E4%BD%9321661413797366.mp4",
-      //       },
-      //     ],
-      //   },
-      //   { tools: [9] },
-      //   { tools: [3] },
-      //   { tools: [16] },
-      //   {
-      //     tools: [14],
-      //     rateArray: [
-      //       "聚焦主题",
-      //       "有开头结尾",
-      //       "语言正确,流畅",
-      //       "书写规范,美观",
-      //     ],
-      //   },
-      //   "",
-      //   "",
-      //   { tools: [29] },
-      //   "",
-      //   "",
-      handle: {page: 1, type: 0, userid: '', isPlay: 0},
-      //1、电子白板 2、便签 3、思维导图 4、问卷调查 5、量规评分 6、协同文档 7、思维网格 8、素材库 9、选择题 10、倒计时 11、问答题 12、选人回答 13、分小组 14、老师对提交作业进行评价 15、问答 16、作业提交 17、学习资料 18、训练平台 19、目标管理 20、课程设计 21、编程平台 22、AI体验 23、python 24、AI平台
-      howTools: 0,
-      worksDetail: [],
-      worksList: [],
-      toolsList: [],
-      isNext: false,
-      rateList: [],
-      videoList: [],
-      videoList2: [], //音频
-      fileList: [],
-      playerOptions: {
-        playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
-        autoplay: false, //如果true,浏览器准备好时开始回放。
-        muted: false, // 默认情况下将会消除任何音频。
-        loop: false, // 导致视频一结束就重新开始。
-        preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
-        language: "zh-CN",
-        aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
-        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
-        sources: [
-          {
-            type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目   || "video/ogg"|| "video/webm"
-            src: "", //url地址require("../../assets/media/aaa.mp4")
-          },
-        ],
-        // poster: require("../../assets/tu31.png"), //你的封面地址
-        // poster: dataRes.imgUrl, //你的封面地址
-        notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
-        controlBar: {
-          timeDivider: true, //当前时间和持续时间的分隔符
-          durationDisplay: true, //显示持续时间
-          remainingTimeDisplay: false, //是否显示剩余时间功能
-          fullscreenToggle: true, //全屏按钮
-        },
-      },
-      playerO: {},
-      videoindex: 0,
-      rate: [],
-      tkAnswerBox: [],
-      tkAnswer: [],
-      Sname: "",
-      audioUrl: "",
-      timerAnswer: null,
-      videoBlock: 0,
-      Vwidth: 0,
-      tiankongAnswer: [],
-      LuAudioUrl: "",
-      workRate: 0,
-      rateR: 0,
-      rateid: "",
-    };
-  },
-  methods: {
-    change(val) {
-      console.log(val);
-    },
-    goTo(path) {
-      this.$router.push(path);
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    jump(cid) {
-      window.parent.postMessage({ cid: cid, type: "1" }, "*");
-    },
-    handleCurrentChange(val) {
-      // console.log(`当前页: ${val}`);
-      this.page = val;
-    },
-    init() {},
-    handleClose(done) {
-      done();
-    },
-    //uuid生成
-    guid() {
-      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
-        /[xy]/g,
-        function (c) {
-          var r = (Math.random() * 16) | 0,
-            v = c == "x" ? r : (r & 0x3) | 0x8;
-          return v.toString(16);
-        }
-      );
-    },
-    lookTool() {
-      if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(1) != -1
-      ) {
-        this.toolCount = 1;
-      } else if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(3) != -1
-      ) {
-        this.toolCount = 3;
-      } else if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(28) != -1
-      ) {
-        this.toolCount = 28;
-      } else if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(4) != -1
-      ) {
-        this.toolCount = 4;
-      } else if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(6) != -1
-      ) {
-        this.toolCount = 6;
-      } else if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(7) != -1
-      ) {
-        this.toolCount = 7;
-      } else if (
-        this.tools[this.steps].tools &&
-        this.tools[this.steps].tools.indexOf(10) != -1
-      ) {
-        this.timeDialogVisible = true;
-      }
-      this.isBlock = 5;
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    randomNum(minNum, maxNum) {
-      switch (arguments.length) {
-        case 1:
-          return parseInt(Math.random() * minNum + 1, 10);
-          break;
-        case 2:
-          return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
-          break;
-        default:
-          return 0;
-          break;
-      }
-    },
-    addTool(t) {
-      if (t == 1) {
-        window.parent.postMessage({ tools: "1" }, "*");
-      } else if (t == 3) {
-        window.parent.postMessage({ tools: "3" }, "*");
-      } else if (t == 7) {
-        window.parent.postMessage({ tools: "7" }, "*");
-      }
-    },
-    checkStudentAnswer() {
-      // this.isBlock = 6;
-      for (var i = 0; i < this.studentArray2.length; i++) {
-        this.studentArray2[i].is = 1;
-      }
-    },
-    showMember() {
-      let _type = 0;
-      if (this.tools[this.steps].tools) {
-        if (
-          this.tools[this.steps].tools.indexOf(1) != -1 ||
-          this.tools[this.steps].tools.indexOf(3) != -1 ||
-          this.tools[this.steps].tools.indexOf(6) != -1 ||
-          this.tools[this.steps].tools.indexOf(7) != -1 ||
-          this.tools[this.steps].tools.indexOf(10) != -1 ||
-          this.tools[this.steps].tools.indexOf(16) != -1 ||
-          this.tools[this.steps].tools.indexOf(13) != -1
-        ) {
-          _type = 4;
-        } else if (this.tools[this.steps].tools.indexOf(9) != -1) {
-          _type = 1;
-        } else if (this.tools[this.steps].tools.indexOf(27) != -1) {
-          _type = 5;
-        } else if (this.tools[this.steps].tools.indexOf(14) != -1) {
-          _type = 6;
-        } else if (this.tools[this.steps].tools.indexOf(29) != -1) {
-          _type = 7;
-        } else if (
-          this.tools[this.steps].tools.indexOf(30) != -1 ||
-          this.tools[this.steps].tools.indexOf(12) != -1
-        ) {
-          _type = 8;
-        }
-      }
-      let params = {
-        uid: "",
-        cid: this.cid,
-        p: this.steps,
-        type: _type,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectSWork", params)
-        .then((res) => {
-          let _res = res.data[0];
-          let _this = this;
-          // this.isBlock = 1;
-          for (var i = 0; i < _this.studentArray.length; i++) {
-            for (var j = 0; j < _res.length; j++) {
-              if (_res[j].userid == _this.studentArray[i].id) {
-                _this.studentArray[i].is = 2;
-                _this.studentArray[i].answer = _res[j].upload;
-              }
-            }
-          }
-
-          if (
-            this.tools[this.steps].tools &&
-            this.tools[this.steps].tools.indexOf(9) != -1
-          ) {
-            this.answerJson = {
-              A: 0,
-              B: 0,
-              C: 0,
-              D: 0,
-            };
-            for (var i = 0; i < _res.length; i++) {
-              var a = JSON.parse(_res[i].upload);
-              if (a.indexOf(1) != -1) {
-                _this.answerJson.A++;
-              }
-              if (a.indexOf(2) != -1) {
-                _this.answerJson.B++;
-              }
-              if (a.indexOf(3) != -1) {
-                _this.answerJson.C++;
-              }
-              if (a.indexOf(4) != -1) {
-                _this.answerJson.D++;
-              }
-            }
-            this.answerA = this.tools[this.steps].answer;
-            this.peopleA = _res;
-          }
-          if (
-            this.tools[this.steps].tools &&
-            this.tools[this.steps].tools.indexOf(27) != -1
-          ) {
-            this.worksList = [];
-            for (var i = 0; i < _res.length; i++) {
-              this.worksList.push({
-                upload: _res[i].upload,
-                id: _res[i].id,
-                sName: _res[i].username,
-                rate: _res[i].rate,
-                time: _res[i].time,
-              });
-            }
-            this.answerA = this.tools[this.steps].answer;
-          }
-        })
-        .catch((err) => {
-          // this.$message.error("查询失败");
-          console.error(err);
-        });
-    },
-    getOAnswer(answer, name) {
-      if (!answer) {
-        return;
-      }
-      this.tkAnswer = JSON.parse(answer);
-      this.Sname = name;
-      if (this.tools[this.steps].answer) {
-        this.tiankongAnswer = this.tools[this.steps].answer;
-      }
-      this.isBlock = 13;
-    },
-    whoAnswer(item, index) {
-      for (var i = 0; i < this.studentArray2.length; i++) {
-        this.studentArray2[i].is = 1;
-      }
-      this.studentArray2[index].is = 2;
-      this.answerStudent = item;
-      this.dialogVisible = true;
-    },
-    pick() {
-      this.handle.type = 2;
-      this.handle.userid = this.answerStudent.id;
-      let params = [
-        {
-          h: JSON.stringify(this.handle),
-          cid: this.cid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updatePptPage", params)
-        .then((res) => {
-          this.answerStudent = "";
-          this.dialogVisible = false;
-          let mindinfo = this.setInfo(
-            this.cid,
-            "us.mindNetwork",
-            this.handle,
-            "update",
-            this.userid
-          );
-          this.updateSocket(mindinfo)
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    getWidth(total) {
-      this.Vwidth = total;
-    },
-    getPage(page) {
-      console.log(page);
-      this.handle.page = page;
-      // let params = [
-      //   {
-      //     page: JSON.stringify(this.handle),
-      //     id: this.cid,
-      //   },
-      // ];
-      // this.ajax
-      //   .post(this.$store.state.api + "updatePptPage", params)
-      //   .then((res) => {
-          this.steps = page - 1;
-          this.isBlock = 0;
-          if (
-            this.tools[this.steps].file &&
-            this.tools[this.steps].file.length
-          ) {
-            this.selectFile();
-          } else {
-            this.videoBlock = 0;
-          }
-          this.playerH({ type: 0, isPlay: 0, userid: "" });
-    //     })
-    //     .catch((err) => {
-    //       console.error(err);
-    //     });
-    },
-    getData() {
-      let params = {
-        id: this.cid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "getRealTimeClassById", params)
-        .then((r) => {
-          let res = r.data[0][0];
-          this.pdfUrl = res.url;
-          this.tools = JSON.parse(res.content);
-        })
-        .catch((err) => {
-          // this.$message.error("查询失败");
-          console.error(err);
-        });
-    },
-    selectStudentByScoolPPt(type) {
-      let params = {
-        oid: this.oid,
-        cid: this.cid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectStudentByScoolPPt", params)
-        .then((res) => {
-          if (res.data[0].length > 0) {
-            this.studentArray = [];
-            this.studentArray2 = [];
-            for (var i = 0; i < res.data[0].length; i++) {
-              this.studentArray.push({
-                id: res.data[0][i].userid,
-                name: res.data[0][i].name,
-                is: 1,
-              });
-              this.studentArray2.push({
-                id: res.data[0][i].userid,
-                name: res.data[0][i].name,
-                is: 1,
-              });
-            }
-          }
-          if (this.timerAnswer) {
-            clearInterval(this.timerAnswer);
-            this.timerAnswer;
-          }
-
-          if (type == 1) {
-            this.showMember();
-            this.timerAnswer = setInterval(() => {
-              this.showMember();
-            }, 5000);
-            this.isBlock = 1;
-          } else if (type == 2) {
-            this.checkStudentAnswer();
-            this.timerAnswer = setInterval(() => {
-              this.checkStudentAnswer();
-            }, 5000);
-            this.isBlock = 6;
-          }
-        })
-        .catch((err) => {
-          // this.$message.error("查询失败");
-          console.error(err);
-        });
-    },
-    selectSWork2(type) {
-      this.full = false;
-      let _type = type;
-      if (this.timerAnswer) {
-        clearInterval(this.timerAnswer);
-        this.timerAnswer = null;
-      }
-      this.selectSWork(_type);
-      this.timerAnswer = setInterval(() => {
-        this.selectSWork(_type);
-      }, 5000);
-      if (_type == 4) {
-        this.isBlock = 4;
-      } else if (_type == 8) {
-        this.isBlock = 17;
-      } else if (_type == 9) {
-        this.isBlock = 19;
-      } else {
-        this.isBlock = 11;
-      }
-    },
-    selectSWork(type) {
-      let _type = 0;
-      if (this.tools[this.steps].tools) {
-        if (
-          this.tools[this.steps].tools.indexOf(1) != -1 ||
-          this.tools[this.steps].tools.indexOf(3) != -1 ||
-          this.tools[this.steps].tools.indexOf(6) != -1 ||
-          this.tools[this.steps].tools.indexOf(7) != -1 ||
-          this.tools[this.steps].tools.indexOf(10) != -1 ||
-          this.tools[this.steps].tools.indexOf(16) != -1 ||
-          this.tools[this.steps].tools.indexOf(13) != -1
-        ) {
-          _type = 4;
-        } else if (this.tools[this.steps].tools.indexOf(9) != -1) {
-          _type = 1;
-        } else if (this.tools[this.steps].tools.indexOf(27) != -1) {
-          _type = 5;
-        } else if (this.tools[this.steps].tools.indexOf(14) != -1) {
-          _type = 6;
-        } else if (this.tools[this.steps].tools.indexOf(29) != -1) {
-          _type = 7;
-        } else if (
-          this.tools[this.steps].tools.indexOf(30) != -1 ||
-          this.tools[this.steps].tools.indexOf(12) != -1
-        ) {
-          _type = 8;
-        }
-      }
-      this.worksList = [];
-      let params = {
-        uid: "",
-        cid: this.cid,
-        p: this.steps,
-        type: _type,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectSWork", params)
-        .then((res) => {
-          this.worksDetail = res.data[0];
-          for (var i = 0; i < this.worksDetail.length; i++) {
-            this.worksList.push({
-              upload: this.worksDetail[i].upload,
-              id: this.worksDetail[i].id,
-              sName: this.worksDetail[i].username,
-              rate: this.worksDetail[i].rate,
-              time: this.worksDetail[i].time,
-            });
-          }
-        })
-        .catch((err) => {
-          // this.$message.error("查询失败");
-          console.error(err);
-        });
-    },
-    getEv(rate, name) {
-      this.rate = JSON.parse(rate);
-      this.Sname = name;
-      this.isBlock = 12;
-    },
-    getAu(rate, name, type, rateC, id) {
-      this.LuAudioUrl = rate;
-      this.Sname = name;
-      if (type == 2) {
-        this.rateR = rateC;
-        this.rateid = id;
-        this.isBlock = 20;
-      } else {
-        this.isBlock = 18;
-      }
-    },
-    selectFile() {
-      this.fileList = [];
-      this.videoList = [];
-      this.videoList2 = [];
-      var a = ["PDF", "DOC", "DOCX", "PPT", "PPTX", "XLSX", "XLS"];
-      var b = this.tools[this.steps].file;
-      for (var i = 0; i < b.length; i++) {
-        if (
-          a.indexOf(
-            b[i].src
-              .split(".")
-              [b[i].src.split(".").length - 1].toLocaleUpperCase()
-          ) != -1
-        ) {
-          this.fileList.push(b[i]);
-        } else if (
-          b[i].src
-            .split(".")
-            [b[i].src.split(".").length - 1].toLocaleUpperCase() == "MP3"
-        ) {
-          this.videoList2.push(b[i]);
-        } else {
-          this.videoList.push(b[i]);
-        }
-      }
-
-      if (this.videoList.length) {
-        this.playVideo();
-      } else {
-        this.isBlock = 8;
-      }
-    },
-    openFile(u) {
-      this.pptImgUrl = "https://view.officeapps.live.com/op/view.aspx?src=" + u;
-      this.isBlock = 10;
-    },
-    playVideo() {
-      // u, i
-      var d = JSON.parse(JSON.stringify(this.playerOptions));
-      // d.sources[0].src = u;
-      d.sources[0].src = this.videoList[0].src;
-      this.playerO[0] = d;
-      // this.isBlock = 9;
-      this.videoBlock = 9;
-    },
-    playVideo2(u, i) {
-      this.audioUrl = u;
-      this.isBlock = 15;
-    },
-    switchVideo(media) {
-      this.playerO = {};
-      this.playerOptions.poster = "";
-      this.playerOptions.sources[0].src = media;
-      this.playerO = this.playerOptions;
-    },
-    playerH(handle) {
-      this.handle.type = handle.type;
-      this.handle.isPlay = handle.isPlay;
-      let params = [
-        {
-          h: JSON.stringify(this.handle),
-          cid: this.cid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updatePptPage", params)
-        .then((res) => {
-          let mindinfo = this.setInfo(
-            this.cid,
-            "us.mindNetwork",
-            this.handle,
-            "update",
-            this.userid
-          );
-          this.updateSocket(mindinfo)
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    onPlayerPlay() {},
-    onPlayerPlayZ(player) {
-      console.log(player);
-      this.playerH({ type: 1, isPlay: 1 });
-    }, // 暂停回调
-    onPlayerPause(player) {
-      console.log(player);
-      this.playerH({ type: 1, isPlay: 2 });
-    },
-    // 视频播放结束回调
-    onPlayerEnded(player) {
-      //console.log(player)
-    },
-    // 已开始播放回调
-    onPlayerPlaying(player) {
-      console.log(player);
-    },
-    // 当前播放位置发生变化时触发。
-    onPlayerTimeupdate(player) {
-      console.log(player);
-    },
-    previewImg(url) {
-      // this.$hevueImgPreview(url);
-      // this.$hevueImgPreview(url);
-      this.drawShow = true;
-      this.bg = url;
-      // this.setAvatarBase64(url, (base64) => {
-      //   this.$nextTick(() => {
-      //     this.drawShow = true;
-      //     this.bg = base64;
-      //   });
-      // });
-    },
-    lookvideo(u, sname, rate, id) {
-      var d = JSON.parse(JSON.stringify(this.playerOptions));
-      d.sources[0].src = u;
-      this.playerO[0] = d;
-      this.isBlock = 16;
-      this.Sname = sname;
-      this.rateR = rate;
-      this.rateid = id;
-    },
-    closeDraw() {
-      this.bg = null;
-      this.drawShow = false;
-    },
-    fullTools() {
-      this.full = !this.full;
-    },
-    closeTools() {
-      this.full = false;
-      this.isBlock = 0;
-    },
-    // 将网络图片转换成base64格式
-    transBase64FromImage(image) {
-      let canvas = document.createElement("canvas");
-      canvas.width = image.width;
-      canvas.height = image.height;
-      let ctx = canvas.getContext("2d");
-      ctx.drawImage(image, 0, 0, image.width, image.height);
-      // 可选其他值 image/jpeg
-      return canvas.toDataURL("image/jpeg");
-    },
-    // 设置需要展示的图片  base64
-    setAvatarBase64(src, callback) {
-      let _this = this;
-      let image = new Image();
-      // let image = this.$refs.img1;
-      // 处理缓存
-      // image.src = src + "?v=" + Math.random();
-      image.src = src;
-      // 支持跨域图片
-      // image.crossOrigin = "anonymous";
-      // crossorigin="anonymous"
-      image.onload = function () {
-        let base64 = _this.transBase64FromImage(image);
-        callback && callback(base64);
-        // console.log(base64);
-        // return base64
-      };
-    },
-    rateD(name, rate, id) {
-      this.workRate = rate;
-      this.rateid = id;
-      this.Sname = name;
-      this.rateDialogVisible = true;
-    },
-    rateC() {
-      let params = [
-        {
-          r: this.workRate,
-          id: this.rateid,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "updateStudentWork", params)
-        .then((res) => {
-          this.rateR = this.workRate;
-          this.workRate = 0;
-          this.rateid = "";
-          this.$message.success("评价成功");
-          this.rateDialogVisible = false;
-          this.selectSWork();
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    setInfo(id, navid, content, type, userid) {
-      var _data = {
-        "us.realTimeClass": [
-          {
-            sendId: userid, //发送人id
-            receiveId: id, //文件id
-            type: navid, //消息类型
-            messageInfo: {
-              id: id, //操作ID
-              type: type, //类型
-              content: content, //内容
-              docId: id, //文档id
-              pageId: top.US.pageId, //当前页面id
-            },
-          },
-        ],
-      };
-      return _data;
-    },
-    updateSocket(mindinfo) {
-      let params = [
-        {
-          type: "send",
-          mindinfo: encodeURIComponent(
-            encodeURIComponent(JSON.stringify(mindinfo))
-          ),
-          post: 1,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.socket, params)
-        .then((res) => {
-          console.log(res);
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-  },
-  created() {
-    this.getData();
-  },
-};
-</script>
-
-<style scoped>
-.dialog_diy >>> .el-dialog__header {
-  background: #3d67bc !important;
-  padding: 15px 20px;
-}
-.dialog_diy >>> .el-dialog__title {
-  color: #fff;
-}
-.dialog_diy >>> .el-dialog__headerbtn {
-  top: 9px;
-}
-.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close {
-  color: #fff;
-}
-.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close:hover {
-  color: #fff;
-}
-
-.blackBottom {
-  background: rgb(0, 0, 0);
-  height: 45px;
-  width: 100%;
-}
-
-.imgMiddle {
-  width: 100%;
-  /* height: calc(100% - 45px); */
-  height: calc(100%);
-  position: relative;
-  /* max-height: 920px; */
-}
-
-.imgMiddle > img,
-.imghalf > img,
-.szt > img,
-.logoLive > img,
-.close > img {
-  width: 100%;
-  height: 100%;
-  /* max-height: 920px; */
-}
-
-.blackBottomB {
-  /* position: sticky;
-  bottom: 0px;
-  left: 0px;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-content: center;
-  justify-content: space-between;
-  align-items: center;
-  background: rgb(0, 0, 0);
-  height: 45px;
-  width: 100%; */
-  position: sticky;
-  bottom: 20px;
-  left: 0px;
-  display: flex;
-  width: fit-content;
-}
-
-.blackBottomB > div:nth-child(1) {
-  margin-left: 10px !important;
-}
-
-.blackButton {
-  color: #fff;
-  background: #00579a;
-  /* width: 100px; */
-  height: 30px;
-  line-height: 30px;
-  text-align: center;
-  margin: 0 5px;
-  border-radius: 5px;
-  font-size: 15px;
-  cursor: pointer;
-  padding: 0 10px;
-}
-
-.isNoOther {
-  width: 100%;
-  /* height: 100%; */
-  height: calc(100% - 45px);
-  display: flex;
-}
-
-.imghalf {
-  width: 60% !important;
-  /* height: calc(100% - 45px); */
-  height: calc(100%);
-  /* max-height: 920px; */
-}
-.answerBox {
-  padding-left: 25px;
-  padding: 25px;
-  box-sizing: border-box;
-  height: calc(100% - 60px);
-  /* max-height: 800px;
-  overflow: auto; */
-}
-.answerTimuBox {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: flex-start;
-  justify-content: flex-start;
-  padding-bottom: 15px;
-}
-.memberBox {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-items: center;
-  max-height: 80%;
-  overflow: auto;
-}
-.memberBox > div {
-  background: rgb(79 213 163);
-  width: 120px;
-  color: #fff;
-  height: 40px;
-  text-align: center;
-  line-height: 40px;
-  border-radius: 5px;
-  margin: 0 15px 15px 0;
-  cursor: pointer;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  padding: 0 10px;
-  box-sizing: border-box;
-}
-
-.memberBox .pAnswer {
-  background: rgb(0 115 72);
-}
-
-.viewSta {
-  background: rgb(97, 97, 97);
-  color: #bebebe;
-  margin: 20px auto 20px;
-  width: 300px;
-  height: 40px;
-  text-align: center;
-  line-height: 40px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-.szt {
-  width: 100%;
-  margin: 20px auto;
-}
-.sztFooter {
-  padding: 20px 10px 50px 0;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  justify-content: flex-end;
-  align-items: center;
-}
-.toolList {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  justify-content: flex-start;
-  align-items: center;
-}
-.tools {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  margin-right: 20px;
-}
-.tools > div:nth-child(1) {
-  width: 60px;
-}
-.tools > div:nth-child(1) > img,
-.workImg > img,
-.workTx > img {
-  width: 100%;
-  height: 100%;
-  /* object-fit: cover; */
-  object-fit: contain;
-  cursor: pointer;
-  margin: 0;
-}
-.nextStepBox {
-  display: flex;
-  justify-content: center;
-  margin-top: 10px;
-}
-.nextStepOne {
-  background: #6b92c9;
-  color: #fff;
-  width: 110px;
-  text-align: center;
-  height: 35px;
-  line-height: 35px;
-  font-size: 14px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-
-.nextStepOne,
-.nextStepOne {
-  margin-left: 10px;
-}
-
-.logoLive {
-  width: 35px;
-}
-.anserBoxCss {
-  box-sizing: border-box;
-  padding: 20px 0;
-}
-.anserBoxCss >>> .el-radio__label {
-  font-size: 18px;
-}
-.anserBoxCss >>> .el-radio__inner {
-  border-radius: 0px !important;
-}
-
-.choose_style {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  width: 100%;
-  margin: 10px 0 30px;
-}
-
-.choose_style span {
-  background: #f8f9ff;
-  color: #677fff;
-  border: 1px solid #95b5ff;
-  padding: 15px 20px;
-  font-size: 25px;
-  border-radius: 18px;
-  cursor: pointer;
-}
-
-.choose_style span + span {
-  margin-left: 25px;
-}
-
-.choose_style .active {
-  color: #fff;
-  background: #5e78fa;
-}
-.close {
-  position: absolute;
-  right: 10px;
-  top: 10px;
-  width: 20px;
-  cursor: pointer;
-}
-.workBox {
-  margin-top: 20px;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  width: 100%;
-  height: 80%;
-  overflow: auto;
-}
-.works {
-  width: 31%;
-  border: 1px solid #ececec;
-  /* height: 160px; */
-  margin: 0 10px 10px 0;
-  /* cursor: pointer; */
-  min-width: 180px;
-  border-radius: 3px;
-  overflow: hidden;
-  height: fit-content;
-}
-.workImg {
-  width: 100%;
-  height: 117px;
-}
-.workDetail {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: flex-start;
-  justify-content: space-between;
-  padding: 8px 0 0;
-  flex-direction: column;
-}
-.workLeft {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: center;
-  width: 100%;
-  padding: 0px 5px;
-  box-sizing: border-box;
-}
-.workTx {
-  width: 25px;
-}
-.workName {
-  font-size: 14px;
-  padding-left: 13px;
-}
-.workRight {
-  font-size: 14px;
-  color: #ccc;
-  margin: 0 0 3px;
-  padding: 0 5px;
-  width: 100%;
-  box-sizing: border-box;
-}
-
-.workBtn {
-  width: 100%;
-  background: rgb(110 145 203);
-  color: #fff;
-  cursor: pointer;
-  text-align: center;
-  padding: 5px 0;
-}
-
-.returnButton {
-  position: absolute;
-  bottom: 20px;
-  width: 230px;
-  background: #616161;
-  left: 35%;
-  color: #ababab;
-  text-align: center;
-  border-radius: 5px;
-  height: 30px;
-  font-size: 14px;
-  line-height: 30px;
-  cursor: pointer;
-}
-
-.tools_title {
-  background: #000;
-  position: absolute;
-  width: 100%;
-  top: 0;
-  left: 0;
-  display: flex;
-  align-items: center;
-  height: 40px;
-  justify-content: space-between;
-  padding: 0 15px;
-  box-sizing: border-box;
-}
-.tools_title span {
-  color: #fff;
-}
-.tools_title div {
-  display: flex;
-  align-items: center;
-}
-.full,
-.closeImg {
-  height: 22px;
-  cursor: pointer;
-}
-.tools_title img,
-img {
-  margin-left: 10px;
-}
-
-.tools_box {
-  width: 38.5%;
-  max-width: 38.5%;
-  overflow: auto;
-  background: rgb(255, 255, 255);
-  height: 91.5%;
-  position: relative;
-  margin: 10px 15px;
-}
-
-.tools_child_box {
-  width: 100%;
-  height: calc(90% - 40px);
-  padding-top: 40px;
-}
-
-.fullStyle {
-  width: 100% !important;
-  max-width: 100% !important;
-}
-
-.toolCss {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: wrap;
-  width: 150px;
-  align-items: center;
-  text-align: center;
-}
-.toolImg {
-  width: 70px;
-  /* height: 70px; */
-  cursor: pointer;
-}
-.toolImg > img {
-  width: 100%;
-  height: 100%;
-  margin: 0 !important;
-}
-.toolImg > div {
-  font-size: 14px;
-}
-.score_box {
-  font-size: 14px;
-}
-.score_box >>> .el-rate {
-  margin: 10px 0 20px 0;
-}
-.score_box >>> .el-rate__icon {
-  font-size: 23px;
-}
-.bz >>> .el-textarea__inner {
-  width: 40%;
-  background: #f9f9f9;
-  border: 1px solid #afafaf;
-  border-radius: 0px;
-}
-.fileBox {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-items: center;
-  justify-content: flex-start;
-  align-content: center;
-  width: 100%;
-}
-.fileListCss {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  align-items: center;
-  margin: 0 15px 15px 0;
-}
-.fileCss {
-  width: 70px;
-  height: 70px;
-  cursor: pointer;
-  margin: 0 0 10px 0;
-}
-.fileCss > img {
-  width: 100%;
-  height: 100%;
-  margin: 0;
-}
-.wheel {
-  width: 100%;
-  height: 100%;
-}
-.video-player >>> .video-js {
-  height: 100%;
-}
-
-.tkCss {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  flex-wrap: nowrap;
-  margin-bottom: 15px;
-}
-
-.fill_box + .fill_box {
-  margin-top: 10px;
-}
-.fill_box span + span {
-  margin-left: 10px;
-}
-.choose_style {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  width: 100%;
-  margin: 10px 0 30px;
-}
-
-.choose_style span {
-  background: #f8f9ff;
-  color: #677fff;
-  border: 1px solid #95b5ff;
-  padding: 15px 20px;
-  font-size: 25px;
-  border-radius: 18px;
-  cursor: pointer;
-}
-
-.choose_style span + span {
-  margin-left: 25px;
-}
-
-.isChoose {
-  color: #fff !important;
-  background: #5e78fa !important;
-}
-
-.workd_media {
-  /* width: 1497.42px; */
-  /* width: auto; */
-  height: calc(100% - 100px);
-  position: absolute;
-  top: 0;
-  left: 50%;
-  transform: translateX(-50%);
-}
-
-.tiankongAnswer {
-  margin-left: 10px;
-  color: #1834c0;
-}
-
-.tfalse {
-  color: rgb(189, 30, 30) !important;
-}
-
-.rateD_box {
-  display: flex;
-  margin-bottom: 10px;
-  margin-left: 30px;
-  align-items: center;
-}
-.rateD_box span {
-  font-size: 18px;
-}
-.rateD_box span:nth-child(1) {
-  margin-right: 10px;
-}
-
-.rateD_box >>> .el-rate__icon {
-  font-size: 25px;
-}
-.rateD_box >>> .el-icon-star-off {
-  font-size: 22px;
-}
-</style>

+ 0 - 283
src/components/pages/note.vue

@@ -1,283 +0,0 @@
-<template>
-  <div class="pb_content" style="background: unset">
-    <div
-      class="pb_content_body"
-      style="
-        background: #fff;
-        padding: 0px 25px;
-        box-sizing: border-box;
-        border-radius: 5px;
-        max-width: 500px !important;
-      "
-    >
-      <div class="pb_head">
-        <span>便签</span>
-        <div class="addNote" @click="addNote">添加便签</div>
-      </div>
-      <div class="searchNote">
-        <span style="width: 100%">
-          <el-input placeholder="搜索..." v-model="noteC" clearable> </el-input>
-        </span>
-        <el-button type="primary" @click="selectContent">查询</el-button>
-      </div>
-      <div class="noteList">
-        <div class="noteBg" v-for="(item, index) in noteList" :key="index">
-          <!-- @change="saveNote(item.nid, item.content,type = 1)"  边写边保存 @blur点击旁边保存-->
-          <el-input
-            type="textarea"
-            autosize
-            v-model="item.content"
-            @blur="saveNote(item.nid, item.content, (type = 1))"
-            resize="none"
-          >
-          </el-input>
-          <div class="ellipsis" @click="openTc(index)">
-            <img src="../../assets/icon/ellipsis.png" alt="" />
-          </div>
-          <div class="noteHorn">
-            <img src="../../assets/icon/noteHorn.png" alt="" />
-          </div>
-          <div class="tc" v-if="isNone == index + 1">
-            <div class="first" @click="saveNote(item.nid, item.content)">
-              <div class="save">
-                <img src="../../assets/icon/save.png" alt="" />
-              </div>
-              <div>保存笔记</div>
-            </div>
-            <div class="first" @click="deleteNote(item.nid)">
-              <div class="delete">
-                <img src="../../assets/icon/deleteN.png" alt="" />
-              </div>
-              <div>删除笔记</div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="noneDiv" @click="isNone = 0" v-if="isNone != 0"></div>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      tableHeight: "500px",
-      page: 1,
-      total: 0,
-      formLabelWidth: "100px",
-      userid: this.$route.query.userid,
-      noteC: "",
-      noteContent: "",
-      noteList: [],
-      isNone: 0,
-      type: 0,
-    };
-  },
-  methods: {
-    openTc(i) {
-      this.isNone = i + 1;
-    },
-    getNote() {
-      let params = {
-        uid: this.userid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectNote", params)
-        .then((res) => {
-          this.noteList = res.data[0];
-          if (this.noteList.length == 0) {
-            this.addNote();
-          }
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    selectContent() {
-      let params = {
-        cn: this.noteC,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectNoteContent", params)
-        .then((res) => {
-          this.noteList = res.data[0];
-        })
-        .catch((err) => {
-          this.$message.error("查询失败");
-          console.error(err);
-        });
-    },
-    addNote() {
-      let params = {
-        uid: this.userid,
-        c: "",
-      };
-      this.ajax
-        .get(this.$store.state.api + "insertNote", params)
-        .then((res) => {
-          this.$message({
-            message: "新增成功",
-            type: "success",
-          });
-          this.getNote();
-        })
-        .catch((err) => {
-          this.$message.error("新增失败");
-          console.error(err);
-        });
-    },
-    saveNote(nid, c, type) {
-      let params = {
-        nid: nid,
-        c: c,
-      };
-      this.ajax
-        .get(this.$store.state.api + "updateNote", params)
-        .then((res) => {
-          if (type == 0) {
-            this.$message({
-              message: "修改成功",
-              type: "success",
-            });
-          }
-          this.getNote();
-        })
-        .catch((err) => {
-          this.$message.error("修改失败");
-          console.error(err);
-        });
-    },
-    deleteNote(nid) {
-      let params = {
-        nid: nid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "deleteNote", params)
-        .then((res) => {
-          this.$message({
-            message: "删除成功",
-            type: "success",
-          });
-          this.getNote();
-        })
-        .catch((err) => {
-          this.$message.error("删除失败");
-          console.error(err);
-        });
-    },
-  },
-  created() {
-    this.getNote();
-  },
-};
-</script>
-
-<style scoped>
-.pb_head {
-  display: flex;
-  justify-content: space-between;
-}
-
-.pb_head {
-  margin: 0 !important;
-  width: 100% !important;
-  border-bottom: 1px solid #ebebeb;
-  padding: 10px 0;
-}
-.addNote {
-  background: #458bdf;
-  color: #fff;
-  font-size: 16px;
-  width: 110px;
-  text-align: center;
-  line-height: 40px;
-  height: 40px;
-  border-radius: 5px;
-  cursor: pointer;
-}
-.searchNote {
-  display: flex;
-  margin: 20px 0;
-}
-.searchNote >>> .el-input__inner {
-  background: #f1f1f1;
-}
-.searchNote >>> .el-button--primary {
-  margin-left: 20px;
-  background-color: #2268bc !important;
-}
-.noteList {
-  padding: 5px 0;
-}
-.noteBg {
-  background: #fff7d1;
-  min-height: 100px;
-  position: relative;
-  border-radius: 5px;
-  margin-bottom: 15px;
-}
-.noteHorn {
-  width: 1rem;
-  position: absolute;
-  bottom: -5px;
-  right: 0;
-}
-.ellipsis {
-  width: 2rem;
-  position: absolute;
-  top: 5px;
-  right: 20px;
-  cursor: pointer;
-  z-index: 99;
-}
-.noteHorn > img,
-.ellipsis > img,
-.save > img,
-.delete > img {
-  width: 100%;
-  height: 100%;
-}
-.noteBg >>> .el-textarea__inner {
-  background: transparent;
-  border: none;
-  min-height: 100px !important;
-  padding-top: 10px;
-}
-.tc {
-  position: absolute;
-  top: 30px;
-  width: 110px;
-  background: #fffffb;
-  right: -35px;
-  box-shadow: 1px 2px 4px 0px #e8e8e8;
-  z-index: 99;
-}
-.first {
-  display: flex;
-  flex-direction: row;
-  justify-content: center;
-  align-items: center;
-  height: 40px;
-  cursor: pointer;
-}
-.save,
-.delete {
-  width: 1.5rem;
-}
-.noneDiv {
-  height: 100%;
-  background: transparent;
-  position: absolute;
-  top: 0;
-  left: 50%;
-  transform: translate(-50%, 0);
-  z-index: 9;
-  width: 100%;
-}
-.first > div:nth-child(2) {
-  margin-left: 5px;
-  margin-top: -5px;
-}
-</style>

+ 0 - 356
src/components/pages/notice.vue

@@ -1,356 +0,0 @@
-<template>
-  <div class="pb_content" style="background: unset">
-      <div
-      class="pb_content_body"
-      style="
-        background: #fff;
-        padding: 0px 25px;
-        box-sizing: border-box;
-        border-radius: 5px;
-      "
-    >
-      <div class="pb_head">
-      <span>通知公告</span>
-      </div>
-   
-    </div>
-    <div class="pb_content_body">
-      <div class="student_table">
-        <el-table
-          ref="table"
-          :data="tableData"
-          border
-          :height="tableHeight"
-          :fit="true"
-          style="width: 100%"
-          :header-cell-style="{ background: '#f1f1f1' }"
-          :row-class-name="tableRowClassName"
-          v-loading="loading"
-        >
-          <el-table-column
-            prop="content"
-            label="通知内容"
-            min-width="35"
-            align="center"
-            :show-overflow-tooltip="true"
-          >
-            <template slot-scope="scope"
-              ><div v-html="snippet(scope.row.content)"></div
-            ></template>
-          </el-table-column>
-          <!-- <el-table-column
-						prop="creater"
-						label="创建者"
-						min-width="15"
-						align="center"
-						><template slot-scope="scope">
-							{{ scope.row.creater ? scope.row.creater : "未知" }}
-						</template>
-					</el-table-column> -->
-          <el-table-column
-            prop="creatMen"
-            label="创建者"
-            min-width="25"
-            align="center"
-          >
-            管理员
-          </el-table-column>
-          <el-table-column
-            prop="creatTime"
-            label="创建时间"
-            min-width="25"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column label="操作" min-width="20">
-            <template slot-scope="scope">
-              <el-button
-                type="primary"
-                size="small"
-                @click="getNewDetail(scope.row.newsid)"
-                >查看通知</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <div class="student_page">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total"
-          v-if="page"
-          @current-change="handleCurrentChange"
-        >
-        </el-pagination>
-      </div>
-    </div>
-    <el-dialog
-      title="查看通知"
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="50%"
-      :before-close="handleClose"
-      class="look_notice"
-    >
-      <div slot="title" class="header-title">
-        <div class="logoImg">
-          <img src="../../assets/logo.png" alt="" />
-        </div>
-        <div class="title_add_student">查看通知</div>
-      </div>
-      <div>
-        <div class="pb_head">
-          <span style="font-size: 20px">{{ res.title }}</span>
-          <span style="font-size: 15px; line-height: 35px">管理员</span>
-        </div>
-        <div class="notice_content cont" v-html="res.newscontent"></div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button class="close" @click="dialogVisible = false" type="primary"
-          >关闭</el-button
-        >
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      tableHeight: "500px",
-      page: 1,
-      total: 0,
-      isLoading: false,
-      formLabelWidth: "100px",
-      dialogVisible: false,
-      title: "",
-      tableData: [],
-      res: [],
-      userid: this.$route.query.userid,
-    };
-  },
-  mounted() {
-    this.$nextTick(function () {
-      this.tableHeight =
-        window.innerHeight - this.$refs.table.$el.offsetTop - 200;
-      if (this.tableHeight <= 530) {
-        this.tableHeight = 530;
-      }
-      // 监听窗口大小变化
-      let self = this;
-      window.onresize = function () {
-        self.tableHeight =
-          window.innerHeight - self.$refs.table.$el.offsetTop - 200;
-        if (self.tableHeight <= 530) {
-          self.tableHeight = 530;
-        }
-      };
-    });
-  },
-  methods: {
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    snippet(value) {
-      return value.replace(/<[^>]*>/g, "");
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    handleCurrentChange(val) {
-      this.page = val;
-      this.getNews();
-    },
-    handleClose(done) {
-      done();
-    },
-    getNewDetail(id) {
-      this.dialogVisible = true;
-      let params = { nid: id };
-      this.ajax
-        .get(this.$store.state.api + "selectNewDetail", params)
-        .then((res) => {
-          this.dialogVisible = true;
-          this.res = res.data[0][0];
-        })
-        .catch((err) => {
-          this.loading = false;
-        });
-    },
-
-    getNews() {
-      this.loading = true;
-      let params = { uid: this.userid, page: this.page };
-      this.ajax
-        .get(this.$store.state.api + "getNewsTeacher", params)
-        .then((res) => {
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.loading = false;
-          this.tableData = res.data[0];
-        })
-        .catch((err) => {
-          this.loading = false;
-        });
-    },
-  },
-  created() {
-    this.getNews();
-  },
-};
-</script>
-
-<style scoped>
-.pb_head {
-  display: flex;
-  justify-content: space-between;
-}
-.student_head {
-  margin-bottom: 20px;
-}
-.student_search {
-  display: flex;
-}
-.student_search > div:nth-child(1) {
-  line-height: 35px;
-  font-size: 14px;
-}
-.student_search >>> .el-input__inner {
-  width: 190px;
-  height: 35px;
-  margin-left: 10px;
-}
-.student_table >>> .el-table--border td {
-  border-right: 0px !important;
-}
-.header-title {
-  display: flex;
-}
-.logoImg {
-  width: 30px;
-}
-.logoImg > img {
-  width: 100%;
-  height: 100%;
-}
-.title_add_student {
-  margin: 0 auto;
-  color: #fff;
-}
-.look_notice >>> .el-dialog__header {
-  padding: 20px 20px 10px;
-  text-align: center;
-  background: #32455b;
-}
-.look_notice >>> .el-dialog__title {
-  font-size: 14px !important;
-  color: #fff !important;
-}
-.look_notice >>> .el-dialog__headerbtn {
-  font-size: 20px !important;
-}
-.look_notice >>> .el-form-item__label {
-  margin-left: 65px;
-}
-.look_notice >>> .el-form-item {
-  display: flex;
-}
-.look_notice >>> .el-form-item__content {
-  margin: 0 !important;
-}
-.look_notice >>> .el-dialog__footer {
-  text-align: center !important;
-}
-.look_notice >>> .el-dialog {
-  min-width: 450px;
-}
-.notice_content {
-  width: 100%;
-  word-wrap: break-word;
-  word-break: break-all;
-  overflow: hidden;
-  font-size: 18px;
-  line-height: 35px;
-  text-indent: 35px;
-  min-width: 385px;
-}
-.close {
-  width: 320px;
-  height: 30px;
-  line-height: 30px;
-  font-size: 14px;
-  background: #0e72e6;
-  padding: 0 !important;
-}
-/* table 样式 */
-.cont >>> table {
-  border-top: 1px solid #ccc;
-  border-left: 1px solid #ccc;
-}
-.cont >>> table td,
-.cont >>> table th {
-  border-bottom: 1px solid #ccc;
-  border-right: 1px solid #ccc;
-  padding: 3px 5px;
-}
-.cont >>> table th {
-  border-bottom: 2px solid #ccc;
-  text-align: center;
-}
-/* blockquote 样式 */
-.cont >>> blockquote {
-  display: block;
-  border-left: 8px solid #d0e5f2;
-  padding: 5px 10px;
-  margin: 10px 0;
-  line-height: 1.4;
-  font-size: 100%;
-  background-color: #f1f1f1;
-}
-/* code 样式 */
-.cont >>> code {
-  display: inline-block;
-  *display: inline;
-  *zoom: 1;
-  background-color: #f1f1f1;
-  border-radius: 3px;
-  padding: 3px 5px;
-  margin: 0 3px;
-}
-.cont >>> pre code {
-  display: block;
-}
-/* ul ol 样式 */
-.cont >>> ul,
-ol {
-  margin: 10px 0 10px 20px;
-}
-
-.el-table >>> .even_row {
-  background-color: #f1f1f1;
-}
-
-
-.student_page {
-  margin-top: 10px;
-}
-
-.pb_head {
-  margin: 0 !important;
-  width: 100% !important;
-}
-
-.student_table >>> .el-table,.student_table >>> .el-table__body-wrapper{
-  height: auto !important;
-}
-</style>

+ 0 - 1128
src/components/pages/student.vue

@@ -1,1128 +0,0 @@
-<template>
-  <div class="pb_content" style="background: unset">
-    <div
-      class="pb_content_body"
-      style="
-        background: #fff;
-        padding: 0px 25px;
-        box-sizing: border-box;
-        border-radius: 5px;
-      "
-    >
-      <div class="pb_head">
-        <span>我的学生列表</span>
-      </div>
-      <div class="student_head">
-        <div class="head_left">
-          <el-input v-model="sPhoneUser" class="student_input" placeholder="请输入手机号或用户名"></el-input>
-          <el-button class="student_button" @click="searchStudent">查询</el-button>
-        </div>
-        <div class="head_right">
-          <el-button @click="addStudent">添加学生</el-button>
-          <el-upload
-            class="upload-demo newCss"
-            :http-request="handleChange"
-            :on-remove="handleRemove"
-            action="#"
-            :file-list="fileListUpload"
-            accept=".xlsx"
-          >
-            <el-button size="primary" type="primary">批量添加</el-button>
-            <div slot="tip" class="el-upload__tip" style="margin-left:10px;">只能上传xlsx文件,且不超过500kb</div>
-          </el-upload>
-          <!-- <el-button @click="exportExcel">导出学生</el-button> -->
-          <div @click="getExcel">xls 上传样例</div>
-        </div>
-      </div>
-    </div>
-    <div class="pb_content_body">
-      <div class="student_table">
-        <el-table
-          ref="table"
-          :data="tableData"
-          border
-          :height="tableHeight"
-          :fit="true"
-          v-loading="isLoading"
-          style="width: 100%"
-          :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
-          :row-class-name="tableRowClassName"
-        >
-          <el-table-column label="姓名" min-width="10" align="center">
-            <template slot-scope="scope">
-              <div class="userImg">
-                <div class="tx">
-                  <img
-                    :src="
-                      scope.row.headportrait != null
-                        ? scope.row.headportrait
-                        : tx
-                    "
-                    alt
-                  />
-                </div>
-                <div
-                  style="
-                    width: 50px;
-                    text-align: left;
-                    white-space: nowrap;
-                    overflow: hidden;
-                    text-overflow: ellipsis;
-                  "
-                >{{ scope.row.name }}</div>
-              </div>
-            </template>
-          </el-table-column>
-            <el-table-column label="账号" min-width="15" align="center">
-            <template slot-scope="scope">
-              <div>{{scope.row.un ? scope.row.un : "" }}</div>
-            </template>
-          </el-table-column>
-          <el-table-column label="电话" min-width="15" align="center">
-            <template slot-scope="scope">
-              <div>{{scope.row.phonenumber ? scope.row.phonenumber : "" }}</div>
-            </template>
-          </el-table-column>
-          <el-table-column prop="studentid" label="学号" min-width="10" align="center"></el-table-column>
-          <!-- <el-table-column
-            prop="school"
-            label="学校"
-            min-width="30"
-            align="center"
-          >
-          </el-table-column>-->
-          <!-- <el-table-column
-            prop="classname"
-            label="班级"
-            min-width="15"
-            align="center"
-          >
-          </el-table-column>-->
-          <el-table-column label="操作" min-width="20">
-            <template slot-scope="scope">
-              <!-- <el-button
-                class="de_button"
-                type="primary"
-                size="small"
-                @click="deleteStudent(scope.row.userid, scope.row.state)"
-                >删除</el-button
-              >-->
-              <div class="delete" @click="deleteStudent(scope.row.userid, scope.row.state)">
-                <img src="../../assets/remove.png" alt />
-              </div>
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <div class="student_page">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total"
-          v-if="page"
-          @current-change="handleCurrentChange"
-        ></el-pagination>
-      </div>
-    </div>
-    <el-dialog
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="700px"
-      :before-close="handleClose"
-      class="add_student"
-    >
-      <div slot="title" class="header-title">
-        <div class="logoImg">
-          <img src="../../assets/logo.png" alt />
-        </div>
-        <div class="title_add_student">添加学生</div>
-      </div>
-      <el-form>
-        <el-form-item label="学生名称" :label-width="formLabelWidth">
-          <span>
-            <el-input placeholder="请输入学生昵称" clearable v-model="sName" class="add_input"></el-input>
-          </span>
-        </el-form-item>
-        <el-form-item label="学生学号" :label-width="formLabelWidth">
-          <span>
-            <el-input placeholder="请输入学生学号" clearable v-model="sId" class="add_input"></el-input>
-          </span>
-        </el-form-item>
-        <el-form-item label="学生手机号" :label-width="formLabelWidth">
-          <span>
-            <el-input placeholder="请输入学生手机号" clearable v-model="sPhone" class="add_input"></el-input>
-          </span>
-        </el-form-item>
-        <el-form-item label="学生邮箱" :label-width="formLabelWidth">
-          <span>
-            <el-input placeholder="请输入学生邮箱" clearable v-model="sMail" class="add_input"></el-input>
-          </span>
-        </el-form-item>
-        <el-form-item label="所属学校" :label-width="formLabelWidth">
-          <el-input disabled style="width: 300px" v-model="schoolName"></el-input>
-        </el-form-item>
-        <el-form-item label="班级" :label-width="formLabelWidth">
-          <el-select v-model="sByClass" placeholder="请选择班级">
-            <el-option
-              v-for="(item, index) in classJuri"
-              :key="index"
-              :label="item.name"
-              :value="item.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <div style="text-align: center; color: #adb3b7">注:添加学生的账号密码为123456</div>
-      </el-form>
-      <span slot="footer" class="dialog-footer flex">
-        <el-button class="right" @click="insertStudent">确认</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import $ from "jquery";
-import pinyin from "../../../node_modules/js-pinyin/index";
-export default {
-  data() {
-    return {
-      tableHeight: "500px",
-      isLoading: false,
-      formLabelWidth: "100px",
-      tableData: [],
-      dialogVisible: false,
-      sName: "",
-      sPhone: "",
-      sId: "",
-      schoolName: "",
-      // sBySchool: [],
-      // sBySchoolName:"",
-      sByClass: "",
-      sMail: "",
-      schoolJuri: [],
-      classJuri: [],
-      fileListUpload: [],
-      page: 1,
-      total: 0,
-      sPhoneUser: "",
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-      cid: this.$route.query.cid,
-      tx: require("../../assets/avatar.png"),
-    };
-  },
-  mounted() {
-    this.$nextTick(function () {
-      this.tableHeight =
-        window.innerHeight - this.$refs.table.$el.offsetTop - 200;
-      if (this.tableHeight <= 530) {
-        this.tableHeight = 530;
-      }
-      // 监听窗口大小变化
-      let self = this;
-      window.onresize = function () {
-        self.tableHeight =
-          window.innerHeight - self.$refs.table.$el.offsetTop - 200;
-        if (self.tableHeight <= 530) {
-          self.tableHeight = 530;
-        }
-      };
-    });
-  },
-  methods: {
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    searchStudent() {
-      this.page = 1;
-      this.getStudent();
-    },
-    addStudent() {
-      this.dialogVisible = true;
-      (this.sName = ""), (this.sPhone = ""), (this.sByClass = "");
-      this.getClass();
-      // this.getSchool();
-    },
-    handleClose(done) {
-      done();
-    },
-    getExcel(res) {
-      require.ensure([], () => {
-        const { export_json_to_excel } = require("../../common/Export2Excel");
-        const tHeader = ["学号", "学生姓名", "学生邮箱", "学生手机号", "班级"];
-        const data = [];
-        export_json_to_excel(tHeader, data, "上传学生样例");
-      });
-    },
-    handleCurrentChange(val) {
-      this.page = val;
-      this.getStudent();
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    //新增学生
-    insertStudent() {
-      this.dialogVisible = true;
-      if (this.sName === "") {
-        this.$message.error("学生昵称不能为空");
-        return;
-      }  else if (this.sByClass === "") {
-        this.$message.error("请为学生选择班级");
-        return;
-      } else if (this.sId != "" && !/^[1][3,4,5,7,8][0-9]{9}$/.test(this.sPhone)) {
-        this.$message.error("手机号格式不正确");
-        return;
-      } else if (
-        !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(this.sMail)
-      ) {
-        this.$message.error("邮箱格式不正确");
-        return;
-      }
-
-      // else if (this.sId === "") {
-      //   this.$message.error("学生学号不能为空");
-      //   return;
-      // } else if (this.sPhone === "") {
-      //   this.$message.error("学生手机号不能为空");
-      //   return;
-      // }
-      if (this.time()) {
-        // let params = { un: this.sPhone };
-        // this.ajax
-        //   .get(this.$store.state.api + "findPhone", params)
-        //   .then((res) => {
-        //     if (res.data[0].length > 0) {
-        //       this.$message.error("此学生手机号码已被注册");
-        //     } else {
-              let params = { un: this.sMail };
-              this.ajax
-                .get(this.$store.state.api + "findMail", params)
-                .then((res) => {
-                  if (res.data[0].length > 0) {
-                    this.$message.error("此学生邮箱已被注册");
-                  } else {
-                    // let params = { un: this.sId };
-                    // this.ajax
-                    //   .get(this.$store.state.api + "findSid", params)
-                    //   .then((res) => {
-                        // if (res.data[0].length > 0) {
-                        //   this.$message.error("此学生学号已被注册");
-                        // } else {
-                          this.add_Student();
-                        // }
-                      // })
-                      // .catch((err) => {
-                      //   console.error(err);
-                      // });
-                  }
-                })
-                .catch((err) => {
-                  console.error(err);
-                });
-            // }
-          // })
-          // .catch((err) => {
-          //   console.error(err);
-          // });
-      }
-    },
-    add_Student() {
-      let params = [
-        {
-          username: this.sMail,
-          userpassword: 123456,
-          alias: this.sName,
-          oid: this.oid,
-          ph: this.sPhone,
-          sid: this.sId,
-          cid: this.sByClass,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "batchRegistration", params)
-        .then((res) => {
-          // console.log(res.data.uid, res.data.ph, res.data.oid, res.data.cid);
-          // this.isLoading = false;
-
-          let params = [
-            {
-              userid: res.data.uid,
-              username: this.sName,
-              sid: this.sId,
-              type: 2,
-              oid: res.data.oid,
-              phone: res.data.ph,
-              cid: res.data.cid,
-              intro: "",
-              sex: "0",
-            },
-          ];
-          this.ajax
-            // .post(this.$store.state.api + "updateUser", params)
-            .post(this.$store.state.api + "updateUserByEdu", params)
-            .then((res) => {
-              console.log(res);
-            })
-            .catch((err) => {
-              console.error(err);
-            });
-          this.$message({
-            message: "新增成功",
-            type: "success",
-          });
-          this.dialogVisible = false;
-          this.sPhone = "";
-          this.sName = "";
-          // this.sBySchool = [];
-          this.sByClass = [];
-          this.sMail = "";
-          this.getStudent();
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          this.$message({
-            message: "新增失败",
-            type: "error",
-          });
-          console.error(err);
-        });
-    },
-    //获取班级列表
-    getClass() {
-      this.isLoading = true;
-      let params = {
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectClassBySchool", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.classJuri = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    // getSchool() {
-    // 	this.isLoading = true;
-    // 	let params = {
-    // 		page: this.page,
-    // 	};
-    // 	this.ajax
-    // 		.get(this.$store.state.api + "selectOrg", params)
-    // 		.then((res) => {
-    // 			this.isLoading = false;
-    // 			this.schoolJuri = res.data[0];
-    // 		})
-    // 		.catch((err) => {
-    // 			this.isLoading = false;
-    // 			console.error(err);
-    // 		});
-    // },
-    getStudent() {
-      this.isLoading = true;
-      let params = {
-        oid: this.oid,
-        cid: this.cid,
-        cu: "",
-        cn: this.sPhoneUser,
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectStudent2", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.tableData = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    handleChange(file) {
-      this.fileTemp = file.file;
-      if (this.fileTemp) {
-        if (
-          this.fileTemp.type ==
-            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ||
-          this.fileTemp.type == "application/vnd.ms-excel"
-        ) {
-          this.importCount = 1;
-          this.importfxx(this.fileTemp);
-        } else {
-          this.$message({
-            type: "warning",
-            message: "附件格式错误,请删除后重新上传!",
-          });
-        }
-      } else {
-        this.$message({
-          type: "warning",
-          message: "请上传附件!",
-        });
-      }
-    },
-    handleRemove(file, fileList) {
-      this.fileTemp = null;
-    },
-    exportExcel() {
-      try {
-        let params = {
-          oid: this.oid,
-        };
-        this.ajax
-          .get(this.$store.state.api + "selectUserBySchool", params)
-          .then((res) => {
-            var res = res.data[0];
-            //如果value的json字段的key值和想要的headers值不一致时,可做如下更改
-            //将和下面的Object.fromEntries结合,将json字段的key值改变为要求的excel的header值
-            var array = [];
-            for (var i = 0; i < res.length; i++) {
-              var _json = {};
-              _json["用户名"] = res[i].username;
-              _json["姓名"] = res[i].alias ? res[i].alias : "";
-              _json["班级"] = res[i].classid ? res[i].classid : "";
-              array.push(_json);
-            }
-
-            var XLSX = require("xlsx");
-            const workbook = XLSX.utils.book_new(); //创建一个新的工作簿对象
-            let ws = XLSX.utils.json_to_sheet(array); //将json对象数组转化成工作表
-            ws["!cols"] = [
-              //设置每一列的宽度
-              { wch: 50 },
-              { wch: 50 },
-              { wch: 50 },
-            ];
-            XLSX.utils.book_append_sheet(workbook, ws, "sheet1"); //把sheet添加到workbook里,第三个参数是sheet名
-            XLSX.writeFile(workbook, "学生信息.xlsx");
-            // const wopts = { bookType: "xlsx", bookSST: false, type: "array" };//写入的样式bookType:输出的文件类型,type:输出的数据类型,bookSST: 是否生成Shared String Table,官方解释是,如果开启生成速度会下降,但在低版本IOS设备上有更好的兼容性
-            // const wbout = XLSX.write(workbook, wopts);// 浏览器端和node共有的API,实际上node可以直接使用xlsx.writeFile来写入文件,但是浏览器没有该API
-            // FileSaver.saveAs(new Blob([wbout], { type: "application/octet-stream" }), `${title} demo.xlsx`);//保存文件
-            this.$message({
-              message: "导出成功",
-              type: "success",
-            });
-          })
-          .catch((err) => {
-            console.error(err);
-          });
-      } catch (e) {
-        console.log(e, e.stack);
-      }
-    },
-    importfxx(obj) {
-      const loading = this.$loading.service({
-        background: "rgba(255, 255, 255, 0.7)",
-        target: document.body,
-      });
-      var _$ = $;
-      this.importCount++;
-      let _this = this;
-      // 通过DOM取文件数据
-      this.file = obj;
-      var rABS = false; //是否将文件读取为二进制字符串
-      var f = this.file;
-      var reader = new FileReader();
-      //if (!FileReader.prototype.readAsBinaryString) {
-      FileReader.prototype.readAsBinaryString = function (f) {
-        var binary = "";
-        var rABS = false; //是否将文件读取为二进制字符串
-        var pt = this;
-        var wb; //读取完成的数据
-        var outdata;
-        var reader = new FileReader();
-        reader.onload = function (e) {
-          var bytes = new Uint8Array(reader.result);
-          var length = bytes.byteLength;
-          for (var i = 0; i < length; i++) {
-            binary += String.fromCharCode(bytes[i]);
-          }
-          var XLSX = require("xlsx");
-          if (rABS) {
-            wb = XLSX.read(btoa(fixdata(binary)), {
-              //手动转化
-              type: "base64",
-            });
-          } else {
-            wb = XLSX.read(binary, {
-              type: "binary",
-            });
-          }
-          outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]); //outdata就是你想要的东西
-          this.da = [...outdata];
-          let arr = [];
-          this.da.map((v) => {
-            let obj = {};
-            let a = "";
-            var num = "";
-            for (var cj = 0; cj < 3; cj++) {
-              num += Math.floor(Math.random() * 10);
-            }
-            a =
-              pinyin.getFullChars(v["学生姓名"]).toLowerCase() +
-              num +
-              "@cocorobo.cc";
-            obj.sId = v["学号"];
-            obj.name = v["学生姓名"];
-            obj.mail = v["学生邮箱"] ? v["学生邮箱"] : a;
-            obj.phone = v["学生手机号"];
-            obj.class = v["班级"];
-            arr.push(obj);
-          });
-          console.log(arr);
-          let _b = 1;
-          for (var i = 0; i < arr.length; i++) {
-            let item = arr[i];
-            if (item.class === "") {
-              _b = 1;
-              _this.$message.error("学生班级不能为空,请重新上传");
-              break;
-            } else if (item.name === "") {
-              _b = 1;
-              _this.$message.error("学生姓名不能为空,请重新上传");
-              break;
-            } else if (item.sId === "") {
-              _b = 1;
-              _this.$message.error("学生学号不能为空,请重新上传");
-            }
-            // else if (item.phone === "") {
-            //   _b = 1;
-            //   _this.$message.error("学生手机号不能为空,请重新上传");
-            //   break;
-            // } else if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(item.phone)) {
-            //   _b = 1;
-            //   _this.$message.error("有学生手机号格式不正确,请重新上传");
-            //   break;
-            // }
-            else if (item.mail === "") {
-              _b = 1;
-              _this.$message.error("学生邮箱不能为空,请重新上传");
-              break;
-            } else if (
-              !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(
-                item.mail
-              )
-            ) {
-              _b = 1;
-              _this.$message.error("有学生邮箱格式不正确,请重新上传");
-              break;
-            }
-            //  else if (item.school === "") {
-            // 	_b = 1;
-            // 	_this.$message.error("学生学校不能为空,请重新上传");
-            // 	break;
-            // }
-            // else if (item.sex === "") {
-            // 	_b = 1;
-            // 	_this.$message.error("学生性别不能为空,请重新上传");
-            // 	break;
-            // }
-            // if (item.class != "") {
-            //   let _a;
-            //   let params = {
-            //     className: item.class,
-            //   };
-
-            //   _$.ajax({
-            //     url: _this.$store.state.api + "selectC", //url路径
-            //     type: "GET", //GET
-            //     async: false, //或false,是否异步
-            //     data: params,
-            //     timeout: 5000, //超时时间
-            //     dataType: "json", //返回的数据格式:
-            //     beforeSend: function (xhr) {},
-            //     success: function (res, textStatus, jqXHR) {
-            //       if (res[0].length == 0) {
-            //         _a = 1;
-            //         _this.$message.error(
-            //           "有学生班级不存在,请去添加后并重新上传"
-            //         );
-            //       } else {
-            //         item.classid = res[0][0].id;
-            //       }
-            //     },
-            //     error: function (xhr, textStatus) {
-            //       console.log(textStatus);
-            //     },
-            //     complete: function () {},
-            //   });
-            //   if (_a == 1) {
-            //     _b = 1;
-            //     break;
-            //   }
-            // }
-            // if (item.school != "") {
-            // 	let _a;
-            // 	let params = {
-            // 		schoolName: item.school,
-            // 	};
-
-            // 	_$.ajax({
-            // 		url: _this.$store.state.api + "selectS", //url路径
-            // 		type: "GET", //GET
-            // 		async: false, //或false,是否异步
-            // 		data: params,
-            // 		timeout: 5000, //超时时间
-            // 		dataType: "json", //返回的数据格式:
-            // 		beforeSend: function (xhr) {},
-            // 		success: function (res, textStatus, jqXHR) {
-            // 			if (res[0].length == 0) {
-            // 				_a = 1;
-            // 				_this.$message.error(
-            // 					"有学生学校不存在,请去添加后并重新上传"
-            // 				);
-            // 			} else {
-            // 				item.schoolid = res[0][0].id;
-            // 			}
-            // 		},
-            // 		error: function (xhr, textStatus) {
-            // 			console.log(textStatus);
-            // 		},
-            // 		complete: function () {},
-            // 	});
-            // 	if (_a == 1) {
-            // 		_b = 1;
-            // 		break;
-            // 	}
-            // }
-            //   for (var k = 0; k < arr.length; k++) {
-            //     if (item.phone != "") {
-            //       let params = { un: item.phone };
-            //       let _a;
-            //       _$.ajax({
-            //         url: _this.$store.state.api + "findPhone", //url路径
-            //         type: "GET", //GET
-            //         async: false, //或false,是否异步
-            //         data: params,
-            //         timeout: 5000, //超时时间
-            //         dataType: "json", //返回的数据格式:
-            //         beforeSend: function (xhr) {},
-            //         success: function (res, textStatus, jqXHR) {
-            //           if (res[0].length > 0) {
-            //             _this.$message.error("有学生手机号码已被注册");
-            //             _a = 1;
-            //           }
-            //         },
-            //         error: function (xhr, textStatus) {
-            //           console.log(textStatus);
-            //         },
-            //         complete: function () {},
-            //       });
-            //       if (_a == 1) {
-            //         _b = 1;
-            //         break;
-            //       }
-            //     }
-            //     if (item.mail != "") {
-            //       let params = { un: item.mail };
-            //       let _a;
-            //       _$.ajax({
-            //         url: _this.$store.state.api + "findMail", //url路径
-            //         type: "GET", //GET
-            //         async: false, //或false,是否异步
-            //         data: params,
-            //         timeout: 5000, //超时时间
-            //         dataType: "json", //返回的数据格式:
-            //         beforeSend: function (xhr) {},
-            //         success: function (res, textStatus, jqXHR) {
-            //           if (res[0].length > 0) {
-            //             _this.$message.error("有学生邮箱已被注册");
-            //             _a = 1;
-            //           }
-            //         },
-            //         error: function (xhr, textStatus) {
-            //           console.log(textStatus);
-            //         },
-            //         complete: function () {},
-            //       });
-            //       if (_a == 1) {
-            //         _b = 1;
-            //         break;
-            //       }
-            //     }
-            //     if (item.sId != "") {
-            //       let params = { un: item.sId };
-            //       let _a;
-            //       _$.ajax({
-            //         url: _this.$store.state.api + "findSid", //url路径
-            //         type: "GET", //GET
-            //         async: false, //或false,是否异步
-            //         data: params,
-            //         timeout: 5000, //超时时间
-            //         dataType: "json", //返回的数据格式:
-            //         beforeSend: function (xhr) {},
-            //         success: function (res, textStatus, jqXHR) {
-            //           if (res[0].length > 0) {
-            //             _this.$message.error("有学生学号重复");
-            //             _a = 1;
-            //           }
-            //         },
-            //         error: function (xhr, textStatus) {
-            //           console.log(textStatus);
-            //         },
-            //         complete: function () {},
-            //       });
-            //       if (_a == 1) {
-            //         _b = 1;
-            //         break;
-            //       }
-            //     }
-            //     _b = 2;
-            //   }
-            // }
-            // if (_b == 2) {
-
-            // for (var i = 0; i < arr.length; i++) {
-            //   let _i = i;
-            //   let item = arr[i];
-            //   let params = [
-            //     {
-            //       alias: item.name,
-            //       username: item.mail,
-            //       userpassword: 123456,
-            //       oid: _this.oid,
-            //       ph: item.phone,
-            //       cid: item.class,
-            //     },
-            //   ];
-
-            //   _this.ajax
-            //     .post(_this.$store.state.api + "batchRegistration", params)
-            //     .then((res) => {
-            //       let params = [
-            //         {
-            //           userid: res.data.uid,
-            //           username: item.name,
-            //           sId: item.sId,
-            //           type: 2,
-            //           oid: res.data.oid,
-            //           phone: res.data.ph ? res.data.ph : "",
-            //           cid: res.data.cid ? res.data.cid : "",
-            //           intro: "",
-            //           sex: "0",
-            //         },
-            //       ];
-            //       _this.ajax
-            //         .post(_this.$store.state.api + "updateUserByEdu", params)
-            //         .then((res) => {
-            //           console.log(res);
-            //         })
-            //         .catch((err) => {
-            //           console.error(err);
-            //         });
-            //       loading.close();
-            //       // _this.$message({
-            //       //   message: "新增成功",
-            //       //   type: "success",
-            //       // });
-            //       _this.getStudent();
-            //       // if (_i == arr.length - 1) {
-            //       //   loading.close();
-            //       //   _this.$message({
-            //       //     message: "上传成功",
-            //       //     type: "success",
-            //       //   });
-            //       //   _this.getStudent();
-            //       // }
-            //     })
-            //     .catch((err) => {
-            //       _this.$message.error("上传失败");
-            //       console.error(err);
-            //     });
-            // }
-            // } else {
-            //   loading.close();
-          }
-          let z = 2;
-          let newArr = JSON.stringify(arr);
-          let params = [
-            {
-              arr: newArr,
-              userpassword: 123456,
-              oid: _this.oid,
-            },
-          ];
-          _this.ajax
-            .post(_this.$store.state.api + "batchRegistrationMore", params)
-            .then((res) => {
-              if (res.data.type == 1) {
-                _this.$message.error("有学生手机号码已被注册");
-                z = 1;
-              }
-              if (res.data.type == 2) {
-                _this.$message.error("有学生邮箱已被注册");
-                z = 1;
-              }
-              if (res.data.type == 3) {
-                _this.$message.error("有学生学号重复");
-                z = 1;
-              }
-              if (z == 2) {
-                _this.$message({
-                  message: "新增成功",
-                  type: "success",
-                });
-                _this.getStudent();
-              }
-              loading.close();
-            })
-            .catch((err) => {
-              console.error(err);
-            });
-          _this.fileListUpload = [];
-        };
-
-        reader.readAsArrayBuffer(f);
-      };
-
-      if (rABS) {
-        reader.readAsArrayBuffer(f);
-      } else {
-        reader.readAsBinaryString(f);
-      }
-    },
-    getSchoolName() {
-      let params = {
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectSchoolName2", params)
-        .then((res) => {
-          this.schoolName = res.data[0][0].name;
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    deleteStudent(id, state) {
-      state = 0;
-      let params = [{ uid: id, state: state }];
-      this.$confirm("确定" + "删除" + "此学生吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          this.ajax
-            .post(this.$store.state.api + "deleteStudent", params)
-            .then((res) => {
-              this.$message({
-                message: "操作成功",
-                type: "success",
-              });
-              this.getStudent();
-            })
-            .catch((err) => {
-              this.$message.error("操作失败");
-              console.error(err);
-            });
-        })
-        .catch(() => {});
-    },
-  },
-  created() {
-    this.page = 1;
-    this.getStudent();
-    this.getSchoolName();
-  },
-};
-</script>
-
-<style scoped>
-.pb_head > span:nth-child(2) {
-  font-size: 20px;
-  margin-left: 5px;
-  color: #828282;
-}
-.pb_head {
-  margin: 0 !important;
-  width: 100% !important;
-}
-.student_page {
-  margin-top: 10px;
-}
-.student_head {
-  margin-top: 10px;
-  padding-bottom: 10px;
-  display: flex;
-  justify-content: space-between;
-}
-.head_left {
-  display: flex;
-  align-items: center;
-}
-.head_right {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: baseline;
-}
-.student_input >>> .el-input__inner {
-  height: 30px;
-  width: 190px;
-  font-size: 13px;
-  padding: 0 10px;
-}
-.student_button {
-  color: #fff;
-  background: #2268bc;
-  width: 60px;
-  height: 30px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 30px;
-}
-.head_right > button:nth-child(1) {
-  color: #fff;
-  background: #2268bc;
-  width: 70px;
-  height: 30px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 30px;
-}
-.head_right > button:nth-child(2) {
-  color: #fff;
-  background: #2268bc;
-  width: 70px;
-  height: 30px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 30px;
-}
-.head_right > div {
-  font-size: 12px;
-  line-height: 40px;
-  margin-left: 10px;
-  color: #2a6dbe;
-  text-decoration: underline;
-  cursor: pointer;
-}
-.student_table >>> .el-table--border td {
-  border-right: 0px !important;
-}
-.student_table >>> .el-table,.student_table >>> .el-table__body-wrapper{
-  height: auto !important;
-}
-.el-table >>> .even_row {
-  background-color: #f1f1f1 !important;
-}
-.de_button {
-  color: #fff;
-  background: #5190fd;
-  width: 50px;
-  height: 25px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 25px;
-}
-.add_student >>> .el-dialog__header {
-  padding: 20px 20px 10px;
-  text-align: center;
-  background: #32455b;
-}
-.add_student >>> .el-dialog__title {
-  font-size: 14px !important;
-  color: #fff !important;
-}
-.add_student >>> .el-dialog__headerbtn {
-  font-size: 20px !important;
-}
-.add_student >>> .el-form-item__label {
-  margin-left: 65px;
-}
-.add_student >>> .el-form-item {
-  display: flex;
-}
-.add_student >>> .el-form-item__content {
-  margin: 0 !important;
-}
-.add_input {
-  width: 365px;
-}
-.add_student >>> .el-dialog__footer {
-  text-align: center !important;
-}
-.right {
-  width: 250px;
-  color: #fff;
-  background: #0e72e6;
-  margin-bottom: 20px;
-}
-.header-title {
-  display: flex;
-}
-.logoImg {
-  width: 30px;
-}
-.logoImg > img {
-  width: 100%;
-  height: 100%;
-}
-.title_add_student {
-  margin: 0 auto;
-  color: #fff;
-}
-.upload-demo {
-  line-height: 0px !important;
-}
-.upload-demo >>> .el-button {
-  color: #fff;
-  background: #2268bc;
-  width: 70px;
-  height: 30px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 0 !important;
-}
-
-.userImg {
-  display: flex;
-  flex-direction: row;
-  justify-content: center;
-  align-items: center;
-}
-
-.tx {
-  width: 40px;
-  margin-right: 10px;
-}
-
-.delete {
-  width: 25px;
-  cursor: pointer;
-}
-
-.tx > img,
-.delete > img {
-  width: 100%;
-  height: 100%;
-}
-
-.newCss {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: baseline;
-}
-</style>

+ 0 - 1165
src/components/pages/studentGM.vue

@@ -1,1165 +0,0 @@
-<template>
-  <div class="pb_content" style="background: unset;height: 100%;overflow: auto;">
-    <div
-      class="pb_content_body"
-      style="
-        background: #fff;
-        padding: 0px 25px;
-        box-sizing: border-box;
-        margin: 10px auto 0;
-        /* border-radius: 5px; */
-      "
-    >
-      <div class="pb_head">
-        <span>我的学生列表</span>
-      </div>
-      <div class="student_head">
-        <div class="head_left">
-          <el-input v-model="sPhoneUser" class="student_input" placeholder="请输入手机号或用户名"></el-input>
-          <el-button class="student_button" @click="searchStudent">查询</el-button>
-        </div>
-        <div class="head_right">
-          <el-button @click="addStudent">添加学生</el-button>
-          <el-upload
-            class="upload-demo newCss"
-            :http-request="handleChange"
-            :on-remove="handleRemove"
-            action="#"
-            :file-list="fileListUpload"
-            accept=".xlsx"
-          >
-            <el-button class="btnClassGM" size="primary" type="primary">批量添加</el-button>
-            <div slot="tip" class="el-upload__tip" style="margin-left:10px;">只能上传xlsx文件,且不超过500kb</div>
-          </el-upload>
-          <!-- <el-button @click="exportExcel">导出学生</el-button> -->
-          <div @click="getExcel">xls 上传样例</div>
-        </div>
-      </div>
-    </div>
-    <div class="pb_content_body" style="margin:0 auto">
-      <div class="student_table">
-        <el-table
-          ref="table"
-          :data="tableData"
-          border
-          :height="tableHeight"
-          :fit="true"
-          v-loading="isLoading"
-          style="width: 100%"
-          :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
-          :row-class-name="tableRowClassName"
-        >
-          <el-table-column label="姓名" min-width="10" align="center">
-            <template slot-scope="scope">
-              <div class="userImg">
-                <div class="tx">
-                  <img
-                    :src="
-                      scope.row.headportrait != null
-                        ? scope.row.headportrait
-                        : tx
-                    "
-                    alt
-                  />
-                </div>
-                <div
-                  style="
-                    width: 50px;
-                    text-align: left;
-                    white-space: nowrap;
-                    overflow: hidden;
-                    text-overflow: ellipsis;
-                  "
-                >{{ scope.row.name }}</div>
-              </div>
-            </template>
-          </el-table-column>
-            <el-table-column label="账号" min-width="15" align="center">
-            <template slot-scope="scope">
-              <div>{{scope.row.un ? scope.row.un : "" }}</div>
-            </template>
-          </el-table-column>
-          <el-table-column label="电话" min-width="15" align="center">
-            <template slot-scope="scope">
-              <div>{{scope.row.phonenumber ? scope.row.phonenumber : "" }}</div>
-            </template>
-          </el-table-column>
-          <el-table-column prop="studentid" label="学号" min-width="10" align="center"></el-table-column>
-          <!-- <el-table-column
-            prop="school"
-            label="学校"
-            min-width="30"
-            align="center"
-          >
-          </el-table-column>-->
-          <!-- <el-table-column
-            prop="classname"
-            label="班级"
-            min-width="15"
-            align="center"
-          >
-          </el-table-column>-->
-          <el-table-column label="操作" min-width="20">
-            <template slot-scope="scope">
-              <!-- <el-button
-                class="de_button"
-                type="primary"
-                size="small"
-                @click="deleteStudent(scope.row.userid, scope.row.state)"
-                >删除</el-button
-              >-->
-              <div class="delete" @click="deleteStudent(scope.row.userid, scope.row.state)">
-                <img src="../../assets/remove.png" alt />
-              </div>
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <div class="student_page">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total"
-          v-if="page"
-          @current-change="handleCurrentChange"
-        ></el-pagination>
-      </div>
-    </div>
-    <el-dialog
-      :visible.sync="dialogVisible"
-      :append-to-body="true"
-      width="700px"
-      :before-close="handleClose"
-      class="add_student"
-    >
-      <div slot="title" class="header-title">
-        <div class="logoImg">
-          <img src="../../assets/logo.png" alt />
-        </div>
-        <div class="title_add_student">添加学生</div>
-      </div>
-      <el-form class="inputClass">
-        <el-form-item label="学生名称" :label-width="formLabelWidth">
-          <span>
-            <el-input placeholder="请输入学生昵称" clearable v-model="sName" class="add_input"></el-input>
-          </span>
-        </el-form-item>
-        <el-form-item label="学生学号" :label-width="formLabelWidth">
-          <span>
-            <el-input placeholder="请输入学生学号" clearable v-model="sId" class="add_input"></el-input>
-          </span>
-        </el-form-item>
-        <el-form-item label="学生手机号" :label-width="formLabelWidth">
-          <span>
-            <el-input placeholder="请输入学生手机号" clearable v-model="sPhone" class="add_input"></el-input>
-          </span>
-        </el-form-item>
-        <el-form-item label="学生邮箱" :label-width="formLabelWidth">
-          <span>
-            <el-input placeholder="请输入学生邮箱" clearable v-model="sMail" class="add_input"></el-input>
-          </span>
-        </el-form-item>
-        <el-form-item label="所属学校" :label-width="formLabelWidth">
-          <el-input disabled style="width: 300px" v-model="schoolName"></el-input>
-        </el-form-item>
-        <el-form-item label="班级" :label-width="formLabelWidth">
-          <el-select v-model="sByClass" placeholder="请选择班级">
-            <el-option
-              v-for="(item, index) in classJuri"
-              :key="index"
-              :label="item.name"
-              :value="item.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <div style="text-align: center; color: #adb3b7">注:添加学生的账号密码为123456</div>
-      </el-form>
-      <span slot="footer" class="dialog-footer flex">
-        <el-button class="right" @click="insertStudent">确认</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import $ from "jquery";
-import pinyin from "../../../node_modules/js-pinyin/index";
-export default {
-  data() {
-    return {
-      tableHeight: "500px",
-      isLoading: false,
-      formLabelWidth: "100px",
-      tableData: [],
-      dialogVisible: false,
-      sName: "",
-      sPhone: "",
-      sId: "",
-      schoolName: "",
-      // sBySchool: [],
-      // sBySchoolName:"",
-      sByClass: "",
-      sMail: "",
-      schoolJuri: [],
-      classJuri: [],
-      fileListUpload: [],
-      page: 1,
-      total: 0,
-      sPhoneUser: "",
-      userid: this.$route.query.userid,
-      oid: this.$route.query.oid,
-      cid: this.$route.query.cid,
-      tx: require("../../assets/avatar.png"),
-    };
-  },
-  mounted() {
-    this.$nextTick(function () {
-      this.tableHeight =
-        window.innerHeight - this.$refs.table.$el.offsetTop - 200;
-      if (this.tableHeight <= 530) {
-        this.tableHeight = 530;
-      }
-      // 监听窗口大小变化
-      let self = this;
-      window.onresize = function () {
-        self.tableHeight =
-          window.innerHeight - self.$refs.table.$el.offsetTop - 200;
-        if (self.tableHeight <= 530) {
-          self.tableHeight = 530;
-        }
-      };
-    });
-  },
-  methods: {
-    tableRowClassName({ row, rowIndex }) {
-      if ((rowIndex + 1) % 2 === 0) {
-        return "even_row";
-      } else {
-        return "";
-      }
-    },
-    searchStudent() {
-      this.page = 1;
-      this.getStudent();
-    },
-    addStudent() {
-      this.dialogVisible = true;
-      (this.sName = ""), (this.sPhone = ""), (this.sByClass = "");
-      this.getClass();
-      // this.getSchool();
-    },
-    handleClose(done) {
-      done();
-    },
-    getExcel(res) {
-      require.ensure([], () => {
-        const { export_json_to_excel } = require("../../common/Export2Excel");
-        const tHeader = ["学号", "学生姓名", "学生邮箱", "学生手机号", "班级"];
-        const data = [];
-        export_json_to_excel(tHeader, data, "上传学生样例");
-      });
-    },
-    handleCurrentChange(val) {
-      this.page = val;
-      this.getStudent();
-    },
-    time() {
-      if (!this.now) {
-        this.now = new Date().getTime();
-        return true;
-      } else {
-        let time = new Date().getTime();
-        if (time - this.now > 3000) {
-          this.now = time;
-          return true;
-        } else {
-          return false;
-        }
-      }
-    },
-    //新增学生
-    insertStudent() {
-      this.dialogVisible = true;
-      if (this.sName === "") {
-        this.$message.error("学生昵称不能为空");
-        return;
-      }  else if (this.sByClass === "") {
-        this.$message.error("请为学生选择班级");
-        return;
-      } else if (this.sId != "" && !/^[1][3,4,5,7,8][0-9]{9}$/.test(this.sPhone)) {
-        this.$message.error("手机号格式不正确");
-        return;
-      } else if (
-        !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(this.sMail)
-      ) {
-        this.$message.error("邮箱格式不正确");
-        return;
-      }
-
-      // else if (this.sId === "") {
-      //   this.$message.error("学生学号不能为空");
-      //   return;
-      // } else if (this.sPhone === "") {
-      //   this.$message.error("学生手机号不能为空");
-      //   return;
-      // }
-      if (this.time()) {
-        // let params = { un: this.sPhone };
-        // this.ajax
-        //   .get(this.$store.state.api + "findPhone", params)
-        //   .then((res) => {
-        //     if (res.data[0].length > 0) {
-        //       this.$message.error("此学生手机号码已被注册");
-        //     } else {
-              let params = { un: this.sMail };
-              this.ajax
-                .get(this.$store.state.api + "findMail", params)
-                .then((res) => {
-                  if (res.data[0].length > 0) {
-                    this.$message.error("此学生邮箱已被注册");
-                  } else {
-                    // let params = { un: this.sId };
-                    // this.ajax
-                    //   .get(this.$store.state.api + "findSid", params)
-                    //   .then((res) => {
-                        // if (res.data[0].length > 0) {
-                        //   this.$message.error("此学生学号已被注册");
-                        // } else {
-                          this.add_Student();
-                        // }
-                      // })
-                      // .catch((err) => {
-                      //   console.error(err);
-                      // });
-                  }
-                })
-                .catch((err) => {
-                  console.error(err);
-                });
-            // }
-          // })
-          // .catch((err) => {
-          //   console.error(err);
-          // });
-      }
-    },
-    add_Student() {
-      let params = [
-        {
-          username: this.sMail,
-          userpassword: 123456,
-          alias: this.sName,
-          oid: this.oid,
-          ph: this.sPhone,
-          sid: this.sId,
-          cid: this.sByClass,
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "batchRegistration", params)
-        .then((res) => {
-          // console.log(res.data.uid, res.data.ph, res.data.oid, res.data.cid);
-          // this.isLoading = false;
-
-          let params = [
-            {
-              userid: res.data.uid,
-              username: this.sName,
-              sid: this.sId,
-              type: 2,
-              oid: res.data.oid,
-              phone: res.data.ph,
-              cid: res.data.cid,
-              intro: "",
-              sex: "0",
-            },
-          ];
-          this.ajax
-            // .post(this.$store.state.api + "updateUser", params)
-            .post(this.$store.state.api + "updateUserByEdu", params)
-            .then((res) => {
-              console.log(res);
-            })
-            .catch((err) => {
-              console.error(err);
-            });
-          this.$message({
-            message: "新增成功",
-            type: "success",
-          });
-          this.dialogVisible = false;
-          this.sPhone = "";
-          this.sName = "";
-          // this.sBySchool = [];
-          this.sByClass = [];
-          this.sMail = "";
-          this.getStudent();
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          this.$message({
-            message: "新增失败",
-            type: "error",
-          });
-          console.error(err);
-        });
-    },
-    //获取班级列表
-    getClass() {
-      this.isLoading = true;
-      let params = {
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectClassBySchool", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.classJuri = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    // getSchool() {
-    // 	this.isLoading = true;
-    // 	let params = {
-    // 		page: this.page,
-    // 	};
-    // 	this.ajax
-    // 		.get(this.$store.state.api + "selectOrg", params)
-    // 		.then((res) => {
-    // 			this.isLoading = false;
-    // 			this.schoolJuri = res.data[0];
-    // 		})
-    // 		.catch((err) => {
-    // 			this.isLoading = false;
-    // 			console.error(err);
-    // 		});
-    // },
-    getStudent() {
-      this.isLoading = true;
-      let params = {
-        oid: this.oid,
-        cid: this.cid,
-        cu: "",
-        cn: this.sPhoneUser,
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectStudent2", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.tableData = res.data[0];
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    handleChange(file) {
-      this.fileTemp = file.file;
-      if (this.fileTemp) {
-        if (
-          this.fileTemp.type ==
-            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ||
-          this.fileTemp.type == "application/vnd.ms-excel"
-        ) {
-          this.importCount = 1;
-          this.importfxx(this.fileTemp);
-        } else {
-          this.$message({
-            type: "warning",
-            message: "附件格式错误,请删除后重新上传!",
-          });
-        }
-      } else {
-        this.$message({
-          type: "warning",
-          message: "请上传附件!",
-        });
-      }
-    },
-    handleRemove(file, fileList) {
-      this.fileTemp = null;
-    },
-    exportExcel() {
-      try {
-        let params = {
-          oid: this.oid,
-        };
-        this.ajax
-          .get(this.$store.state.api + "selectUserBySchool", params)
-          .then((res) => {
-            var res = res.data[0];
-            //如果value的json字段的key值和想要的headers值不一致时,可做如下更改
-            //将和下面的Object.fromEntries结合,将json字段的key值改变为要求的excel的header值
-            var array = [];
-            for (var i = 0; i < res.length; i++) {
-              var _json = {};
-              _json["用户名"] = res[i].username;
-              _json["姓名"] = res[i].alias ? res[i].alias : "";
-              _json["班级"] = res[i].classid ? res[i].classid : "";
-              array.push(_json);
-            }
-
-            var XLSX = require("xlsx");
-            const workbook = XLSX.utils.book_new(); //创建一个新的工作簿对象
-            let ws = XLSX.utils.json_to_sheet(array); //将json对象数组转化成工作表
-            ws["!cols"] = [
-              //设置每一列的宽度
-              { wch: 50 },
-              { wch: 50 },
-              { wch: 50 },
-            ];
-            XLSX.utils.book_append_sheet(workbook, ws, "sheet1"); //把sheet添加到workbook里,第三个参数是sheet名
-            XLSX.writeFile(workbook, "学生信息.xlsx");
-            // const wopts = { bookType: "xlsx", bookSST: false, type: "array" };//写入的样式bookType:输出的文件类型,type:输出的数据类型,bookSST: 是否生成Shared String Table,官方解释是,如果开启生成速度会下降,但在低版本IOS设备上有更好的兼容性
-            // const wbout = XLSX.write(workbook, wopts);// 浏览器端和node共有的API,实际上node可以直接使用xlsx.writeFile来写入文件,但是浏览器没有该API
-            // FileSaver.saveAs(new Blob([wbout], { type: "application/octet-stream" }), `${title} demo.xlsx`);//保存文件
-            this.$message({
-              message: "导出成功",
-              type: "success",
-            });
-          })
-          .catch((err) => {
-            console.error(err);
-          });
-      } catch (e) {
-        console.log(e, e.stack);
-      }
-    },
-    importfxx(obj) {
-      const loading = this.$loading.service({
-        background: "rgba(255, 255, 255, 0.7)",
-        target: document.body,
-      });
-      var _$ = $;
-      this.importCount++;
-      let _this = this;
-      // 通过DOM取文件数据
-      this.file = obj;
-      var rABS = false; //是否将文件读取为二进制字符串
-      var f = this.file;
-      var reader = new FileReader();
-      //if (!FileReader.prototype.readAsBinaryString) {
-      FileReader.prototype.readAsBinaryString = function (f) {
-        var binary = "";
-        var rABS = false; //是否将文件读取为二进制字符串
-        var pt = this;
-        var wb; //读取完成的数据
-        var outdata;
-        var reader = new FileReader();
-        reader.onload = function (e) {
-          var bytes = new Uint8Array(reader.result);
-          var length = bytes.byteLength;
-          for (var i = 0; i < length; i++) {
-            binary += String.fromCharCode(bytes[i]);
-          }
-          var XLSX = require("xlsx");
-          if (rABS) {
-            wb = XLSX.read(btoa(fixdata(binary)), {
-              //手动转化
-              type: "base64",
-            });
-          } else {
-            wb = XLSX.read(binary, {
-              type: "binary",
-            });
-          }
-          outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]); //outdata就是你想要的东西
-          this.da = [...outdata];
-          let arr = [];
-          this.da.map((v) => {
-            let obj = {};
-            let a = "";
-            var num = "";
-            for (var cj = 0; cj < 3; cj++) {
-              num += Math.floor(Math.random() * 10);
-            }
-            a =
-              pinyin.getFullChars(v["学生姓名"]).toLowerCase() +
-              num +
-              "@cocorobo.cc";
-            obj.sId = v["学号"];
-            obj.name = v["学生姓名"];
-            obj.mail = v["学生邮箱"] ? v["学生邮箱"] : a;
-            obj.phone = v["学生手机号"];
-            obj.class = v["班级"];
-            arr.push(obj);
-          });
-          console.log(arr);
-          let _b = 1;
-          for (var i = 0; i < arr.length; i++) {
-            let item = arr[i];
-            if (item.class === "") {
-              _b = 1;
-              _this.$message.error("学生班级不能为空,请重新上传");
-              break;
-            } else if (item.name === "") {
-              _b = 1;
-              _this.$message.error("学生姓名不能为空,请重新上传");
-              break;
-            } else if (item.sId === "") {
-              _b = 1;
-              _this.$message.error("学生学号不能为空,请重新上传");
-            }
-            // else if (item.phone === "") {
-            //   _b = 1;
-            //   _this.$message.error("学生手机号不能为空,请重新上传");
-            //   break;
-            // } else if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(item.phone)) {
-            //   _b = 1;
-            //   _this.$message.error("有学生手机号格式不正确,请重新上传");
-            //   break;
-            // }
-            else if (item.mail === "") {
-              _b = 1;
-              _this.$message.error("学生邮箱不能为空,请重新上传");
-              break;
-            } else if (
-              !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(
-                item.mail
-              )
-            ) {
-              _b = 1;
-              _this.$message.error("有学生邮箱格式不正确,请重新上传");
-              break;
-            }
-            //  else if (item.school === "") {
-            // 	_b = 1;
-            // 	_this.$message.error("学生学校不能为空,请重新上传");
-            // 	break;
-            // }
-            // else if (item.sex === "") {
-            // 	_b = 1;
-            // 	_this.$message.error("学生性别不能为空,请重新上传");
-            // 	break;
-            // }
-            // if (item.class != "") {
-            //   let _a;
-            //   let params = {
-            //     className: item.class,
-            //   };
-
-            //   _$.ajax({
-            //     url: _this.$store.state.api + "selectC", //url路径
-            //     type: "GET", //GET
-            //     async: false, //或false,是否异步
-            //     data: params,
-            //     timeout: 5000, //超时时间
-            //     dataType: "json", //返回的数据格式:
-            //     beforeSend: function (xhr) {},
-            //     success: function (res, textStatus, jqXHR) {
-            //       if (res[0].length == 0) {
-            //         _a = 1;
-            //         _this.$message.error(
-            //           "有学生班级不存在,请去添加后并重新上传"
-            //         );
-            //       } else {
-            //         item.classid = res[0][0].id;
-            //       }
-            //     },
-            //     error: function (xhr, textStatus) {
-            //       console.log(textStatus);
-            //     },
-            //     complete: function () {},
-            //   });
-            //   if (_a == 1) {
-            //     _b = 1;
-            //     break;
-            //   }
-            // }
-            // if (item.school != "") {
-            // 	let _a;
-            // 	let params = {
-            // 		schoolName: item.school,
-            // 	};
-
-            // 	_$.ajax({
-            // 		url: _this.$store.state.api + "selectS", //url路径
-            // 		type: "GET", //GET
-            // 		async: false, //或false,是否异步
-            // 		data: params,
-            // 		timeout: 5000, //超时时间
-            // 		dataType: "json", //返回的数据格式:
-            // 		beforeSend: function (xhr) {},
-            // 		success: function (res, textStatus, jqXHR) {
-            // 			if (res[0].length == 0) {
-            // 				_a = 1;
-            // 				_this.$message.error(
-            // 					"有学生学校不存在,请去添加后并重新上传"
-            // 				);
-            // 			} else {
-            // 				item.schoolid = res[0][0].id;
-            // 			}
-            // 		},
-            // 		error: function (xhr, textStatus) {
-            // 			console.log(textStatus);
-            // 		},
-            // 		complete: function () {},
-            // 	});
-            // 	if (_a == 1) {
-            // 		_b = 1;
-            // 		break;
-            // 	}
-            // }
-            //   for (var k = 0; k < arr.length; k++) {
-            //     if (item.phone != "") {
-            //       let params = { un: item.phone };
-            //       let _a;
-            //       _$.ajax({
-            //         url: _this.$store.state.api + "findPhone", //url路径
-            //         type: "GET", //GET
-            //         async: false, //或false,是否异步
-            //         data: params,
-            //         timeout: 5000, //超时时间
-            //         dataType: "json", //返回的数据格式:
-            //         beforeSend: function (xhr) {},
-            //         success: function (res, textStatus, jqXHR) {
-            //           if (res[0].length > 0) {
-            //             _this.$message.error("有学生手机号码已被注册");
-            //             _a = 1;
-            //           }
-            //         },
-            //         error: function (xhr, textStatus) {
-            //           console.log(textStatus);
-            //         },
-            //         complete: function () {},
-            //       });
-            //       if (_a == 1) {
-            //         _b = 1;
-            //         break;
-            //       }
-            //     }
-            //     if (item.mail != "") {
-            //       let params = { un: item.mail };
-            //       let _a;
-            //       _$.ajax({
-            //         url: _this.$store.state.api + "findMail", //url路径
-            //         type: "GET", //GET
-            //         async: false, //或false,是否异步
-            //         data: params,
-            //         timeout: 5000, //超时时间
-            //         dataType: "json", //返回的数据格式:
-            //         beforeSend: function (xhr) {},
-            //         success: function (res, textStatus, jqXHR) {
-            //           if (res[0].length > 0) {
-            //             _this.$message.error("有学生邮箱已被注册");
-            //             _a = 1;
-            //           }
-            //         },
-            //         error: function (xhr, textStatus) {
-            //           console.log(textStatus);
-            //         },
-            //         complete: function () {},
-            //       });
-            //       if (_a == 1) {
-            //         _b = 1;
-            //         break;
-            //       }
-            //     }
-            //     if (item.sId != "") {
-            //       let params = { un: item.sId };
-            //       let _a;
-            //       _$.ajax({
-            //         url: _this.$store.state.api + "findSid", //url路径
-            //         type: "GET", //GET
-            //         async: false, //或false,是否异步
-            //         data: params,
-            //         timeout: 5000, //超时时间
-            //         dataType: "json", //返回的数据格式:
-            //         beforeSend: function (xhr) {},
-            //         success: function (res, textStatus, jqXHR) {
-            //           if (res[0].length > 0) {
-            //             _this.$message.error("有学生学号重复");
-            //             _a = 1;
-            //           }
-            //         },
-            //         error: function (xhr, textStatus) {
-            //           console.log(textStatus);
-            //         },
-            //         complete: function () {},
-            //       });
-            //       if (_a == 1) {
-            //         _b = 1;
-            //         break;
-            //       }
-            //     }
-            //     _b = 2;
-            //   }
-            // }
-            // if (_b == 2) {
-
-            // for (var i = 0; i < arr.length; i++) {
-            //   let _i = i;
-            //   let item = arr[i];
-            //   let params = [
-            //     {
-            //       alias: item.name,
-            //       username: item.mail,
-            //       userpassword: 123456,
-            //       oid: _this.oid,
-            //       ph: item.phone,
-            //       cid: item.class,
-            //     },
-            //   ];
-
-            //   _this.ajax
-            //     .post(_this.$store.state.api + "batchRegistration", params)
-            //     .then((res) => {
-            //       let params = [
-            //         {
-            //           userid: res.data.uid,
-            //           username: item.name,
-            //           sId: item.sId,
-            //           type: 2,
-            //           oid: res.data.oid,
-            //           phone: res.data.ph ? res.data.ph : "",
-            //           cid: res.data.cid ? res.data.cid : "",
-            //           intro: "",
-            //           sex: "0",
-            //         },
-            //       ];
-            //       _this.ajax
-            //         .post(_this.$store.state.api + "updateUserByEdu", params)
-            //         .then((res) => {
-            //           console.log(res);
-            //         })
-            //         .catch((err) => {
-            //           console.error(err);
-            //         });
-            //       loading.close();
-            //       // _this.$message({
-            //       //   message: "新增成功",
-            //       //   type: "success",
-            //       // });
-            //       _this.getStudent();
-            //       // if (_i == arr.length - 1) {
-            //       //   loading.close();
-            //       //   _this.$message({
-            //       //     message: "上传成功",
-            //       //     type: "success",
-            //       //   });
-            //       //   _this.getStudent();
-            //       // }
-            //     })
-            //     .catch((err) => {
-            //       _this.$message.error("上传失败");
-            //       console.error(err);
-            //     });
-            // }
-            // } else {
-            //   loading.close();
-          }
-          let z = 2;
-          let newArr = JSON.stringify(arr);
-          let params = [
-            {
-              arr: newArr,
-              userpassword: 123456,
-              oid: _this.oid,
-            },
-          ];
-          _this.ajax
-            .post(_this.$store.state.api + "batchRegistrationMore", params)
-            .then((res) => {
-              if (res.data.type == 1) {
-                _this.$message.error("有学生手机号码已被注册");
-                z = 1;
-              }
-              if (res.data.type == 2) {
-                _this.$message.error("有学生邮箱已被注册");
-                z = 1;
-              }
-              if (res.data.type == 3) {
-                _this.$message.error("有学生学号重复");
-                z = 1;
-              }
-              if (z == 2) {
-                _this.$message({
-                  message: "新增成功",
-                  type: "success",
-                });
-                _this.getStudent();
-              }
-              loading.close();
-            })
-            .catch((err) => {
-              console.error(err);
-            });
-          _this.fileListUpload = [];
-        };
-
-        reader.readAsArrayBuffer(f);
-      };
-
-      if (rABS) {
-        reader.readAsArrayBuffer(f);
-      } else {
-        reader.readAsBinaryString(f);
-      }
-    },
-    getSchoolName() {
-      let params = {
-        oid: this.oid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectSchoolName2", params)
-        .then((res) => {
-          this.schoolName = res.data[0][0].name;
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    deleteStudent(id, state) {
-      state = 0;
-      let params = [{ uid: id, state: state }];
-      this.$confirm("确定" + "删除" + "此学生吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          this.ajax
-            .post(this.$store.state.api + "deleteStudent", params)
-            .then((res) => {
-              this.$message({
-                message: "操作成功",
-                type: "success",
-              });
-              this.getStudent();
-            })
-            .catch((err) => {
-              this.$message.error("操作失败");
-              console.error(err);
-            });
-        })
-        .catch(() => {});
-    },
-  },
-  created() {
-    this.page = 1;
-    this.getStudent();
-    this.getSchoolName();
-  },
-};
-</script>
-
-<style scoped>
-.pb_head > span:nth-child(2) {
-  font-size: 20px;
-  margin-left: 5px;
-  color: #828282;
-}
-.pb_head {
-  margin: 0 !important;
-  width: 100% !important;
-}
-.student_page {
-  margin-top: 10px;
-}
-.student_head {
-  margin-top: 10px;
-  padding-bottom: 10px;
-  display: flex;
-  justify-content: space-between;
-}
-.head_left {
-  display: flex;
-  align-items: center;
-}
-.head_right {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: baseline;
-}
-.student_input >>> .el-input__inner {
-  height: 30px;
-  width: 190px;
-  font-size: 13px;
-  padding: 0 10px;
-}
-.student_button {
-  color: #fff;
-  background: #8681b7;
-  border-color: #8681b7;
-  width: 60px;
-  height: 30px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 30px;
-}
-.head_right > button:nth-child(1) {
-  color: #fff;
-  background: #8681b7;
-  border-color: #8681b7;
-  width: 70px;
-  height: 30px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 30px;
-}
-.head_right > button:nth-child(2) {
-  color: #fff;
-  background: #8681b7;
-  width: 70px;
-  height: 30px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 30px;
-}
-.head_right > div {
-  font-size: 12px;
-  line-height: 40px;
-  margin-left: 10px;
-  color: #2a6dbe;
-  text-decoration: underline;
-  cursor: pointer;
-}
-.student_table >>> .el-table--border td {
-  border-right: 0px !important;
-}
-.student_table >>> .el-table,.student_table >>> .el-table__body-wrapper{
-  height: auto !important;
-}
-.el-table >>> .even_row {
-  background-color: #f1f1f1 !important;
-}
-.de_button {
-  color: #fff;
-  background: #5190fd;
-  width: 50px;
-  height: 25px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 25px;
-}
-.add_student >>> .el-dialog__header {
-  padding: 20px 20px 10px;
-  text-align: center;
-  background: #454545;
-}
-.add_student >>> .el-dialog__title {
-  font-size: 14px !important;
-  color: #fff !important;
-}
-.add_student >>> .el-dialog__headerbtn {
-  font-size: 20px !important;
-}
-.add_student >>> .el-form-item__label {
-  margin-left: 65px;
-}
-.add_student >>> .el-form-item {
-  display: flex;
-}
-.add_student >>> .el-form-item__content {
-  margin: 0 !important;
-}
-.add_input {
-  width: 365px;
-}
-.add_student >>> .el-dialog__footer {
-  text-align: center !important;
-}
-.right {
-  width: 250px;
-  color: #fff;
-  background: #8681b7;
-  margin-bottom: 20px;
-}
-.header-title {
-  display: flex;
-}
-.logoImg {
-  width: 30px;
-}
-.logoImg > img {
-  width: 100%;
-  height: 100%;
-}
-.title_add_student {
-  margin: 0 auto;
-  color: #fff;
-}
-.upload-demo {
-  line-height: 0px !important;
-}
-.upload-demo >>> .el-button {
-  color: #fff;
-  background: #8681b7;
-  width: 70px;
-  height: 30px;
-  padding: 0 !important;
-  font-size: 12px;
-  line-height: 0 !important;
-}
-
-.userImg {
-  display: flex;
-  flex-direction: row;
-  justify-content: center;
-  align-items: center;
-}
-
-.tx {
-  width: 40px;
-  margin-right: 10px;
-}
-
-.delete {
-  width: 25px;
-  cursor: pointer;
-}
-
-.tx > img,
-.delete > img {
-  width: 100%;
-  height: 100%;
-}
-
-.newCss {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: nowrap;
-  align-items: baseline;
-}
-
-
-.student_page
-  >>> .el-pagination.is-background
-  .el-pager
-  li:not(.disabled).active {
-  background-color: #5c549f;
-  color: #fff !important;
-}
-.student_page
-  >>> .el-pagination.is-background
-  .el-pager
-  li:not(.disabled):hover {
-  color: #5c549f;
-}
-
-
-
-.el-select-dropdown__item.selected {
-  color: #5c549f;
-}
-
-.inputClass.is-active >>> .el-input__inner,
-.inputClass  >>> .el-input__inner:focus {
-  border-color: #5c549f;
-}
-
-.inputClass >>> .el-select .el-input.is-focus .el-input__inner {
-  border-color: #5c549f;
-}
-.inputClass >>> .el-select .el-input__inner:focus {
-  border-color: #5c549f;
-}
-
-</style>

+ 0 - 475
src/components/pages/studyLibrary.vue

@@ -1,475 +0,0 @@
-<template>
-  <div
-    class="pb_content"
-    style="background: #fff; width: 98%; height: 95%; margin: 20px"
-  >
-    <div class="pb_head top">
-      <span>学习资料</span>
-      <div @click="addImg($event)">
-        <input
-          type="file"
-          style="display: none"
-          @change="beforeUpload1($event, 1)"
-        />
-        <div class="uploadThing">上传资料</div>
-      </div>
-    </div>
-    <div class="pb_content_body" style="height: 70%">
-      <div class="student_head">
-        <div class="three">
-          <div :class="choose == 0 ? 'choose' : ''" @click="sMtl(0)">
-            第一天
-          </div>
-          <div :class="choose == 1 ? 'choose' : ''" @click="sMtl(1)">
-            第二天
-          </div>
-          <div :class="choose == 2 ? 'choose' : ''" @click="sMtl(2)">
-            第三天
-          </div>
-          <div :class="choose == 3 ? 'choose' : ''" @click="sMtl(3)">
-            第四天
-          </div>
-          <div :class="choose == 4 ? 'choose' : ''" @click="sMtl(4)">
-            第五天
-          </div>
-          <div :class="choose == 5 ? 'choose' : ''" @click="sMtl(5)">
-            第六天
-          </div>
-          <div :class="choose == 6 ? 'choose' : ''" @click="sMtl(6)">
-            第七天
-          </div>
-        </div>
-      </div>
-      <div class="student_table">
-        <div class="boxCss">
-          <div
-            class="out_box"
-            v-for="(item, index) in chapInfoNew"
-            :key="index"
-          >
-            <div class="tup" v-if="item.fileT == 0">
-              <img
-                :src="
-                  item.file.chapdataInfo
-                    ? JSON.parse(item.file.chapdataInfo).url
-                    : mtp
-                "
-                alt=""
-                @click="
-                  handlePictureCardPreview(
-                    JSON.parse(item.file.chapdataInfo).url
-                  )
-                "
-              />
-              <div class="deleteWord" @click="deleteM(item.file.id)">
-                <img src="../../assets/icon/delete.png" alt="" />
-              </div>
-            </div>
-            <div class="tup" v-if="item.fileT == 1">
-              <img
-                src="../../assets/icon/stuVedio.png"
-                alt=""
-                @click="
-                  handlePictureCardPreview(
-                    JSON.parse(item.file.chapdataInfo).url
-                  )
-                "
-              />
-              <div class="deleteWord" @click="deleteM(item.file.id)">
-                <img src="../../assets/icon/delete.png" alt="" />
-              </div>
-            </div>
-            <div class="tup" v-if="item.fileT == 2">
-              <img
-                src="../../assets/icon/stuFile.png"
-                alt=""
-                @click="
-                  handlePictureCardPreview(
-                    JSON.parse(item.file.chapdataInfo).url
-                  )
-                "
-              />
-              <div class="deleteWord" @click="deleteM(item.file.id)">
-                <img src="../../assets/icon/delete.png" alt="" />
-              </div>
-            </div>
-            <div class="bottom_box">
-              <div>
-                {{
-                  item.file.chapdataInfo
-                    ? JSON.parse(item.file.chapdataInfo).name
-                    : "图片暂无名称"
-                }}
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="student_page">
-        <el-pagination
-          background
-          layout="prev, pager, next"
-          :page-size="10"
-          :total="total"
-          v-if="page"
-          @current-change="handleCurrentChange"
-        >
-        </el-pagination>
-      </div>
-    </div>
-    <el-dialog :visible.sync="pictureDialog" size="tiny">
-      <img width="100%" :src="dialogImageUrl" alt="" />
-    </el-dialog>
-    <el-dialog :visible.sync="vedioDialog" size="tiny">
-      <video-player
-        class="video-player vjs-custom-skin"
-        ref="videoPlayer"
-        :playsinline="true"
-        :options="playerO"
-        @play="onPlayerPlay($event)"
-        style="width: 100%; height: 100%"
-      ></video-player>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      choose: 0,
-      chapInfo: [],
-      chapInfoNew: [],
-      cImgInfo: [],
-      isLoading: false,
-      noneBtnImg: false,
-      mtp: require("../../assets/sp1.png"),
-      //   msp: require("../../assets/sp1.png"),
-      //   mfj: require("../../assets/yp1.png"),
-      page: 1,
-      total: 0,
-      dialogImageUrl: "",
-      userid: this.$route.query.userid,
-      pictureDialog: false,
-      vedioDialog: false,
-      playerOptions: {
-        playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
-        autoplay: false, //如果true,浏览器准备好时开始回放。
-        muted: false, // 默认情况下将会消除任何音频。
-        loop: false, // 导致视频一结束就重新开始。
-        preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
-        language: "zh-CN",
-        aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
-        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
-        sources: [
-          {
-            type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目   || "video/ogg"|| "video/webm"
-            src: "", //url地址require("../../assets/media/aaa.mp4")
-          },
-        ],
-        // poster: require("../../assets/tu31.png"), //你的封面地址
-        // poster: dataRes.imgUrl, //你的封面地址
-        notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
-        controlBar: {
-          timeDivider: true, //当前时间和持续时间的分隔符
-          durationDisplay: true, //显示持续时间
-          remainingTimeDisplay: false, //是否显示剩余时间功能
-          fullscreenToggle: true, //全屏按钮
-        },
-      },
-      playerO: {},
-    };
-  },
-  methods: {
-    handleCurrentChange(val) {
-      this.page = val;
-      this.selectMtl();
-    },
-    addImg(e) {
-      var el = e.currentTarget;
-      el.getElementsByTagName("input")[0].click();
-    },
-    imgChange(file, fileList, type) {
-      var _tmp = this.chapInfo;
-      this.noneBtnImg = _tmp.length >= 1;
-    },
-    downFile(url) {
-      window.open(url);
-    },
-    beforeUpload1(event, type) {
-      var file = event.target.files[0];
-      var credentials = {
-        accessKeyId: "AKIATLPEDU37QV5CHLMH",
-        secretAccessKey: "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",
-      }; //秘钥形式的登录上传
-      window.AWS.config.update(credentials);
-      window.AWS.config.region = "cn-northwest-1"; //设置区域
-
-      var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-      var _this = this;
-
-      if (file) {
-        var params = {
-          Key:
-            file.name.split(".")[0] +
-            new Date().getTime() +
-            "." +
-            file.name.split(".")[file.name.split(".").length-1],
-          ContentType: file.type,
-          Body: file,
-          "Access-Control-Allow-Credentials": "*",
-          ACL: "public-read",
-        }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-        var options = {
-          partSize: 2048 * 1024 * 1024,
-          queueSize: 2,
-          leavePartsOnError: true,
-        };
-        bucket
-          .upload(params, options)
-          .on("httpUploadProgress", function (evt) {
-            //这里可以写进度条
-            // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
-          })
-          .send(function (err, data) {
-            if (err) {
-              var a = _this.$refs.upload1.uploadFiles;
-              a.splice(a.length - 1, a.length);
-              _this.$message.error("上传失败");
-            } else {
-              _this.cImgInfo.push({
-                name: file.name,
-                url: data.Location,
-              });
-              _this.addMtl();
-              _this.cImgInfo = [];
-              _this.selectMtl();
-              _this.imgChange(null, null, type);
-              console.log(data.Location);
-            }
-          });
-      }
-    },
-    handlePictureCardPreview(url) {
-      this.dialogImageUrl = url;
-      this.pictureDialog = true;
-    },
-    handlePictureCardPreview1(url) {
-      this.playerO = {};
-      this.playerOptions.poster = "";
-      this.playerOptions.sources[0].src = url;
-      this.playerO = this.playerOptions;
-      // this.dialogImageUrl = url;
-      this.vedioDialog = true;
-    },
-    addMtl() {
-      let params = {
-        cInfo: this.cImgInfo[0],
-        t: this.choose,
-        cBy: this.userid,
-      };
-      this.ajax
-        .get(this.$store.state.api + "addStuMtl", params)
-        .then((res) => {
-          this.$message.success("上传素材成功");
-        })
-        .catch((err) => {
-          console.error(err);
-        });
-    },
-    sMtl(type) {
-      this.choose = type;
-      this.selectMtl();
-    },
-    selectMtl() {
-      this.isLoading = true;
-      this.chapInfo = [];
-      this.chapInfoNew = [];
-      let params = {
-        t: parseInt(this.choose),
-        page: this.page,
-      };
-      this.ajax
-        .get(this.$store.state.api + "selectStuMtl", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-          this.chapInfo = res.data[0];
-          var a = ["BMP", "JPG", "JPEG", "PNG", "GIF"];
-          var b = [
-            "MP4",
-            "MOV",
-            "AVI",
-            "WMV",
-            "MPG",
-            "MPEG",
-            "RM",
-            "RAM",
-            "SWF",
-            "FLV",
-          ];
-          var c = ["PPT", "PPTX", "PDF", "XLSX", "XLS", "DOC", "DOCX"];
-          for (var i = 0; i < this.chapInfo.length; i++) {
-            var d = JSON.parse(this.chapInfo[i].chapdataInfo).url;
-            if (
-              a.indexOf(
-                d.split(".")[d.split(".").length - 1].toLocaleUpperCase()
-              ) != -1
-            ) {
-              this.chapInfoNew.push({ file: this.chapInfo[i], fileT: 0 });
-            } else if (
-              b.indexOf(
-                d.split(".")[d.split(".").length - 1].toLocaleUpperCase()
-              ) != -1
-            ) {
-              this.chapInfoNew.push({ file: this.chapInfo[i], fileT: 1 });
-            } else if (
-              c.indexOf(
-                d.split(".")[d.split(".").length - 1].toLocaleUpperCase()
-              ) != -1
-            ) {
-              this.chapInfoNew.push({ file: this.chapInfo[i], fileT: 2 });
-            }
-          }
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    deleteM(id) {
-      this.isLoading = true;
-      let params = {
-        id: id,
-      };
-      this.ajax
-        .get(this.$store.state.api + "deleteStuM", params)
-        .then((res) => {
-          this.isLoading = false;
-          this.$message.success("删除成功");
-          this.selectMtl();
-        })
-        .catch((err) => {
-          this.isLoading = false;
-          console.error(err);
-        });
-    },
-    onPlayerPlay() {},
-  },
-  created() {
-    this.selectMtl();
-  },
-};
-</script>
-
-<style scoped>
-.student_head >>> .el-button--primary {
-  background-color: #2268bc;
-}
-.student_head {
-  display: flex;
-  justify-content: flex-start;
-  align-items: center;
-  flex-direction: row;
-  flex-wrap: nowrap;
-}
-.three {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
-  height: 30px;
-}
-
-.three > div {
-  cursor: pointer;
-  margin-right: 40px;
-}
-
-.choose {
-  border-bottom: 5px solid #3994fd;
-}
-
-.student_table {
-  width: 100%;
-  background: #f2f2f2;
-  margin-top: 10px;
-}
-
-.tup {
-  width: 200px;
-  height: 191px;
-  margin: 0 auto;
-  position: relative;
-}
-
-.tup:hover .deleteWord {
-  display: block;
-}
-
-.deleteWord {
-  width: 25px;
-  height: 25px;
-  position: absolute;
-  right: -25px;
-  top: -10px;
-  cursor: pointer;
-  display: none;
-}
-
-.tup > img,
-.deleteWord > img {
-  width: 100%;
-  height: 100%;
-}
-
-.out_box {
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  width: 250px;
-  padding: 10px 0;
-  background: #fff;
-  margin: 0 25px 20px 0;
-}
-
-.bottom_box {
-  display: flex;
-  text-align: center;
-  margin: 0 auto;
-  padding: 10px 0 5px 0;
-}
-.bottom_box > div:nth-child(1) {
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  overflow: hidden;
-  word-break: break-all;
-  width: 200px;
-}
-.uploadThing {
-  background: #2268bc;
-  width: 90px;
-  height: 35px;
-  color: #fff;
-  font-size: 12px;
-  text-align: center;
-  line-height: 35px;
-  cursor: pointer;
-  border-radius: 4px;
-}
-
-.top {
-  display: flex;
-  justify-content: space-between;
-}
-.student_page {
-  margin-top: 30px;
-}
-.boxCss {
-  padding: 15px 0;
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  align-items: center;
-  justify-content: flex-start;
-}
-</style>

部分文件因文件數量過多而無法顯示