lsc 2 년 전
부모
커밋
370b2704ab
4개의 변경된 파일138개의 추가작업 그리고 82개의 파일을 삭제
  1. 1 1
      src/components/pages/addCourse.vue
  2. 10 7
      src/components/pages/scourse.vue
  3. 113 63
      src/components/pages/student/addCourse.vue
  4. 14 11
      src/components/pages/student/course.vue

+ 1 - 1
src/components/pages/addCourse.vue

@@ -101,7 +101,7 @@
                     : steps == 2
                       ? "第二步"
                       : steps == 3
-                        ? "第三步"
+                        ? (cidType === 0 ? "第三步" : "第二步")
                         : ""
               }}
             </div>

+ 10 - 7
src/components/pages/scourse.vue

@@ -23,7 +23,7 @@
             </el-select>
           </div> -->
           <div class="all_choose" v-for="(item, index) in CourseType[0]" :key="index">
-            <span>{{ item.name == '年级' ? '赛道' : item.name == '栏目' ? '主题' : item.name }}</span>
+            <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">
@@ -399,7 +399,7 @@ export default {
     },
     getCourse() {
       var typeE = [];
-      var typea, typeb, typec, typed;
+      var typea, typeb, typec, typed, typef;
       if (this.isChoose == 1) {
         for (var i = 0; i < this.CourseType[0].length; i++) {
           if (this.courseTypeId[this.CourseType[0][i].id] == "1") {
@@ -415,8 +415,10 @@ export default {
               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 == "学科") {
+            } else if (this.CourseType[0][i].name == "赛道") {
               typed = this.courseTypeId[this.CourseType[0][i].id];
+            } else if (this.CourseType[0][i].name == "主题") {
+              typef = this.courseTypeId[this.CourseType[0][i].id];
             }
             this.courseTypeSon.push(
               this.courseTypeId[this.CourseType[0][i].id]
@@ -434,13 +436,14 @@ export default {
         typeb: typeb != undefined ? typeb : "",
         typec: typec != undefined ? typec : "",
         typed: typed != undefined ? typed : "",
+        typef: typef != undefined ? typef : "",
         typeE: typeE.join(","),
         cu: "",
         cn: this.courseName,
         page: this.page,
       };
       this.ajax
-        .get(this.$store.state.api + "selectStudentCourseNew2", params)
+        .get(this.$store.state.api + "selectStudentCourseNew22", params)
         .then((res) => {
           this.isLoading = false;
           this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
@@ -507,7 +510,7 @@ export default {
     },
     selectType() {
       this.ajax
-        .get(this.$store.state.api + "selectType")
+        .get(this.$store.state.api + "selectStudentType")
         .then((res) => {
           this.CourseType = res.data;
           for (var i = 0; i < res.data[0].length; i++) {
@@ -540,7 +543,7 @@ export default {
         oid: this.oid,
       };
       this.ajax
-        .get(this.$store.state.api + "selectTypeByOid", params)
+        .get(this.$store.state.api + "selectStudentTypeByOid", params)
         .then((res) => {
           for (var i = 0; i < res.data[0].length; i++) {
             for (var j = 0; j < res.data[1].length; j++) {
@@ -563,7 +566,7 @@ export default {
         oid: this.org,
       };
       this.ajax
-        .get(this.$store.state.api + "selectTypeByOrg", params)
+        .get(this.$store.state.api + "selectStudentTypeByOid", params)
         .then((res) => {
           for (var i = 0; i < res.data[0].length; i++) {
             for (var j = 0; j < res.data[1].length; j++) {

+ 113 - 63
src/components/pages/student/addCourse.vue

@@ -148,7 +148,7 @@
                       <div class="both">
                         <div class="choose">
                           <div class="all_choose" v-for="(item, index) in CourseType[0]" :key="index">
-                            <span>{{ item.name == '年级' ? '赛道' : item.name == '栏目' ? '主题' : item.name }}</span>
+                            <span>{{ item.name }}</span>
                             <el-checkbox-group v-model="courseTypeId" v-if="CourseTypeJson[item.id].length > 0">
                               <el-checkbox v-for="item1 in CourseTypeJson[item.id]" :key="item1.id" :label="item1.id">{{
                                 item1.name
@@ -497,57 +497,68 @@
                           flex-wrap: wrap;
                         ">
                         <div style="
+                          flex-direction: row;
+                          justify-content: flex-start;
+                          align-items: center;
+                          flex-wrap: wrap;
+                          display: flex;">
+                          <div style="
                           flex-direction: row;
                           justify-content: flex-start;
                           align-items: center;
                           display: flex;
                           margin-bottom: 10px;
                         ">
-                          <div style="
+                            <div style="
                             border-left: 6px solid #5699e8;
                             height: 20px;
-                            padding-left: 10px;
+                            padding: 0 10px;
                             line-height: 22px;
                           ">
-                            任务名称
-                          </div>
-                          <div style="width:auto">
-                            <input type="text" placeholder="输入任务名称" class="binfo_input" style="border-radius: 4px"
-                              v-model="
-                                unitJson[unitIndex].chapterInfo[0].taskJson[
-                                  itemTaskIndex
-                                ].task
-                              " />
+                              任务名称
+                            </div>
+                            <div style="width:auto">
+                              <input type="text" placeholder="输入任务名称" class="binfo_input" style="border-radius: 4px"
+                                v-model="
+                                  unitJson[unitIndex].chapterInfo[0].taskJson[
+                                    itemTaskIndex
+                                  ].task
+                                " />
+                            </div>
                           </div>
-                        </div>
-                        <div style="
+                          <div style="
                           flex-direction: row;
                           justify-content: flex-start;
                           align-items: center;
                           display: flex;
                           margin-bottom: 10px;
                         ">
-                          <div style="
+                            <div style="
                             height: 20px;
-                            padding-left: 16px;
+                            padding: 0 10px 0 16px;
                             line-height: 22px;
                           ">
-                            负责人
-                          </div>
-                          <div style="width:auto">
-                            <!-- <input type="text" placeholder="输入负责人" class="binfo_input" style="border-radius: 4px"
+                              负责人
+                            </div>
+                            <div style="width:auto">
+                              <!-- <input type="text" placeholder="输入负责人" class="binfo_input" style="border-radius: 4px"
                               v-model="
                                 unitJson[unitIndex].chapterInfo[0].taskJson[
                                   itemTaskIndex
                                 ].people
                               " /> -->
-                            <el-select v-model="unitJson[unitIndex].chapterInfo[0].taskJson[
-                              itemTaskIndex
-                            ].people" placeholder="请选择负责人" clearable filterable>
-                              <el-option v-for="item in ManAarray" :key="item.userid"
-                                :label="item.name + (item.type == 1 ? '(老师)' : '(学生)')" :value="item.userid">
-                              </el-option>
-                            </el-select>
+                              <el-select v-model="unitJson[unitIndex].chapterInfo[0].taskJson[
+                                itemTaskIndex
+                              ].people" placeholder="请选择负责人" clearable filterable>
+                                <el-option v-for="item in ManAarray" :key="item.userid"
+                                  :label="item.name + (item.type == 1 ? '(老师)' : '(学生)')" :value="item.userid">
+                                </el-option>
+                              </el-select>
+                            </div>
+                          </div>
+                          <div class="addPeople" @click="addTcMember(itemTaskIndex)"
+                            style="background: rgb(107, 146, 201);margin: 0 0 10px 15px;margin-bottom: 10px;width: 100px;">
+                            添加协同者
                           </div>
                         </div>
                         <div class="remove" v-if="item.taskJson.length > 1" @click="deleteTask(itemTaskIndex)"
@@ -823,18 +834,12 @@
                         <div v-if="itemTool.toolPhoto.length" style="margin-top:10px" class="toolimg_box">
                           <div class="toolimg" v-for="(photo, pIndex) in itemTool.toolPhoto" :key="pIndex">
                             <img :src="photo.content" alt="" @click="previewImg(photo.content)">
-                            <img
-                                  class="deleteImg"
-                                  src="../../../assets/deleteworks.png"
-                                  v-if="
-                                    photo.userid == userid
-                                  "
-                                  @click.stop="deleteWorks(photo.id)"
-                                  alt
-                                />
+                            <img class="deleteImg" src="../../../assets/deleteworks.png" v-if="
+                              photo.userid == userid
+                            " @click.stop="deleteWorks(photo.id)" alt />
                             <div class="comment">
                               <div class="worksName">
-                                <div>{{photo.username}}</div>
+                                <div>{{ photo.username }}</div>
                               </div>
                             </div>
                           </div>
@@ -1074,6 +1079,43 @@
         <el-button type="primary" @click="isAddPPTeacher">确定</el-button>
       </span>
     </el-dialog>
+    <el-dialog title="添加协同者" :visible.sync="dialogVisibleTcMember" :append-to-body="true" width="25%" height="80%"
+      :before-close="handleClose" class="addNewPP customWidth">
+      <div class="people">
+        <div class="people_top">
+          <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 class="people_nav">选择成员</div>
+        </div>
+        <el-checkbox-group v-model="tcMember" class="people_name" v-if="teacherJuri.length">
+          <el-checkbox v-for="item in teacherJuri" :key="item.userid" :label="item.userid">
+            <div class="t_j_box">
+              <el-tooltip placement="top" :content="item.name ? item.name : '暂无姓名'">
+                <span>{{ item.name ? item.name : "暂无姓名" }}</span>
+              </el-tooltip>
+              <span>{{ item.type == '1' ? '老师' : '学生' }}</span>
+              <el-tooltip placement="top" :content="item.username">
+                <span>{{ item.username }}</span>
+              </el-tooltip>
+              <el-tooltip placement="top" :content="item.school">
+                <span>{{ item.school }}</span>
+              </el-tooltip>
+            </div>
+          </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="dialogVisibleTcMember = false">取 消</el-button>
+        <el-button type="primary" @click="isAddPPTcTeacher">确定</el-button>
+      </span>
+    </el-dialog>
     <el-dialog title="创建问卷" :visible.sync="dialogVisible5" :append-to-body="true" width="800px"
       :before-close="handleClose" class="dialog_diy">
       <div>
@@ -1748,6 +1790,7 @@ export default {
       dialogVisible9: false,
       dialogVisibleClass: false,
       dialogVisibleMember: false,
+      dialogVisibleTcMember: false,
       dialogVisibleMp3: false,
       dialogVisibleSelect: false,
       dialogVisibleSentence: false,
@@ -1758,6 +1801,7 @@ export default {
       publicTool: 0,
       searchPeople: "",
       searchTN: "",
+      tcMember: "",
       userid: this.$route.query.userid,
       oid: this.$route.query.oid,
       org: this.$route.query.org,
@@ -2903,7 +2947,7 @@ export default {
             } else {
               if (type == 2 || type == 3) {
 
-                if(data.Location.split(".")[data.Location.split(".").length - 1].toLocaleUpperCase() == "PDF"){
+                if (data.Location.split(".")[data.Location.split(".").length - 1].toLocaleUpperCase() == "PDF") {
                   type = 9
                 }
                 _this.unitJson[unitIndex].chapterInfo[0].taskJson[
@@ -3145,10 +3189,11 @@ export default {
     },
     getTeacher() {
       let params = {
-        oid:
-          this.org && this.org != "undefined" && this.org != "null"
-            ? this.org
-            : this.oid,
+        // oid:
+        //   this.org && this.org != "undefined" && this.org != "null"
+        //     ? this.org
+        //     : this.oid,
+        oid: this.oid,
         cu: "",
         cn: this.searchTN,
       };
@@ -3157,8 +3202,8 @@ export default {
         .get(
           this.$store.state.api +
           (this.org && this.org != "undefined" && this.org != "null"
-            ? "selectUserAddOrg"
-            : "selectUserAdd"),
+            ? "selectUserByOidS"
+            : "selectUserByOidS"),
           params
         )
         .then((res) => {
@@ -3333,7 +3378,7 @@ export default {
         },
       ];
       this.ajax
-        .post(this.$store.state.api + "addCourseWorkNew2", params)
+        .post(this.$store.state.api + "addCourseWorkNew22", params)
         .then((res) => {
           console.log(this.steps);
           if (this.steps != 1 && this.steps != 2 && this.steps != 3) {
@@ -3505,7 +3550,7 @@ export default {
         },
       ];
       this.ajax
-        .post(this.$store.state.api + "updateStudentWorkNew2", params)
+        .post(this.$store.state.api + "updateStudentWorkNew22", params)
         .then((res) => {
           if (this.steps != 1 && this.steps != 2 && this.steps != 3 && this.steps != 4) {
             if (this.cidttt == 1) {
@@ -3589,6 +3634,17 @@ export default {
     isAddPPTeacher() {
       this.dialogVisibleMember = false;
     },
+    isAddPPTcTeacher(){
+      this.unitJson[this.unitIndex].chapterInfo[0].taskJson[this.taskCount].tcMember = this.tcMember
+      this.dialogVisibleTcMember = false;
+    },
+    addTcMember(index){
+      this.taskCount = index
+      this.searchTN = ""
+      this.tcMember = this.unitJson[this.unitIndex].chapterInfo[0].taskJson[this.taskCount].tcMember ? this.unitJson[this.unitIndex].chapterInfo[0].taskJson[this.taskCount].tcMember : []
+      this.getTeacher();
+      this.dialogVisibleTcMember = true;
+    },
     getTemplate() {
       this.ajax
         .get(this.$store.state.api + "getCourseTemplateT", "")
@@ -4496,7 +4552,7 @@ export default {
           cid: this.cid,
         };
         this.ajax
-          .get(this.$store.state.api + "select_student_course_detail", params)
+          .get(this.$store.state.api + "select_student_course_detail2", params)
           .then((res) => {
             this.loading = true;
             this.unitJson = JSON.parse(res.data[0][0].chapters);
@@ -4600,7 +4656,7 @@ export default {
               }
             }
           }
-          if(this.timer){
+          if (this.timer) {
             clearTimeout(this.timer)
             this.timer = null
           }
@@ -4652,18 +4708,13 @@ export default {
     },
     selectType() {
       this.ajax
-        .get(this.$store.state.api + "selectType")
+        .get(this.$store.state.api + "selectStudentType")
         .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]) {
@@ -4685,7 +4736,7 @@ export default {
         oid: this.oid,
       };
       this.ajax
-        .get(this.$store.state.api + "selectTypeByOid", params)
+        .get(this.$store.state.api + "selectStudentTypeByOid", params)
         .then((res) => {
           for (var i = 0; i < res.data[0].length; i++) {
             for (var j = 0; j < res.data[1].length; j++) {
@@ -4707,7 +4758,7 @@ export default {
         oid: this.org,
       };
       this.ajax
-        .get(this.$store.state.api + "selectTypeByOrg", params)
+        .get(this.$store.state.api + "selectStudentTypeByOid", params)
         .then((res) => {
           for (var i = 0; i < res.data[0].length; i++) {
             for (var j = 0; j < res.data[1].length; j++) {
@@ -5020,7 +5071,7 @@ export default {
               console.error(err);
             });
         })
-        .catch(() => {});
+        .catch(() => { });
     },
   },
   beforeDestroy() {
@@ -5401,7 +5452,7 @@ export default {
   margin-top: 15px;
 }
 
-.chapter_contentbox div:nth-child(1) {
+.chapter_contentbox>div:nth-child(1) {
   /* width: 150px; */
   margin: 0px;
   /* font-size: 2em; */
@@ -5415,16 +5466,16 @@ export default {
   font-size: 18px;
 }
 
-.chapter_contentbox div:nth-child(2) {
+.chapter_contentbox>div:nth-child(2) {
   width: 380px;
 }
 
-.chapter_contentbox div:nth-child(3),
+.chapter_contentbox>div:nth-child(3),
 .remove {
   background-image: url("../../../assets/remove.png");
   cursor: pointer;
   opacity: 0.5;
-  width: 40px;
+  width: 40px !important;
   height: 50px;
   background-repeat: no-repeat;
   background-position: 5px 10px;
@@ -7623,7 +7674,7 @@ ol {
 }
 
 .toolimg>img {
-  width: 100%;  
+  width: 100%;
   height: 105px;
   object-fit: contain;
 }
@@ -7697,5 +7748,4 @@ ol {
   top: 10px;
   right: 10px;
 }
-
 </style>

+ 14 - 11
src/components/pages/student/course.vue

@@ -23,7 +23,7 @@
             </el-select>
           </div> -->
           <div class="all_choose" v-for="(item, index) in CourseType[0]" :key="index">
-            <span>{{ item.name == '年级' ? '赛道' : item.name == '栏目' ? '主题' : item.name }}</span>
+            <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">
@@ -399,7 +399,7 @@ export default {
     },
     getCourse() {
       var typeE = [];
-      var typea, typeb, typec, typed;
+      var typea, typeb, typec, typed, typef;
       if (this.isChoose == 1) {
         for (var i = 0; i < this.CourseType[0].length; i++) {
           if (this.courseTypeId[this.CourseType[0][i].id] == "1") {
@@ -415,8 +415,10 @@ export default {
               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 == "学科") {
+            } else if (this.CourseType[0][i].name == "赛道") {
               typed = this.courseTypeId[this.CourseType[0][i].id];
+            } else if (this.CourseType[0][i].name == "主题") {
+              typef = this.courseTypeId[this.CourseType[0][i].id];
             }
             this.courseTypeSon.push(
               this.courseTypeId[this.CourseType[0][i].id]
@@ -434,13 +436,14 @@ export default {
         typeb: typeb != undefined ? typeb : "",
         typec: typec != undefined ? typec : "",
         typed: typed != undefined ? typed : "",
+        typef: typef != undefined ? typef : "",
         typeE: typeE.join(","),
         cu: "",
         cn: this.courseName,
         page: this.page,
       };
       this.ajax
-        .get(this.$store.state.api + "selectStudentCourseNew2", params)
+        .get(this.$store.state.api + "selectStudentCourseNew22", params)
         .then((res) => {
           this.isLoading = false;
           this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
@@ -511,7 +514,7 @@ export default {
     },
     selectType() {
       this.ajax
-        .get(this.$store.state.api + "selectType")
+        .get(this.$store.state.api + "selectStudentType")
         .then((res) => {
           this.CourseType = res.data;
           for (var i = 0; i < res.data[0].length; i++) {
@@ -544,7 +547,7 @@ export default {
         oid: this.oid,
       };
       this.ajax
-        .get(this.$store.state.api + "selectTypeByOid", params)
+        .get(this.$store.state.api + "selectStudentTypeByOid", params)
         .then((res) => {
           for (var i = 0; i < res.data[0].length; i++) {
             for (var j = 0; j < res.data[1].length; j++) {
@@ -567,7 +570,7 @@ export default {
         oid: this.org,
       };
       this.ajax
-        .get(this.$store.state.api + "selectTypeByOrg", params)
+        .get(this.$store.state.api + "selectStudentTypeByOid", params)
         .then((res) => {
           for (var i = 0; i < res.data[0].length; i++) {
             for (var j = 0; j < res.data[1].length; j++) {
@@ -995,13 +998,13 @@ export default {
 }
 
 .choose>div:nth-child(4)>span {
-  width: 74px !important;
-  min-width: 74px;
+  /* width: 74px !important;
+  min-width: 74px; */
 }
 
 .choose>div:nth-child(4)>>>.el-select {
-  width: 217.5px;
-  min-width: 215.06px;
+  /* width: 217.5px;
+  min-width: 215.06px; */
 }
 
 .clear {