lsc 2 years ago
parent
commit
90da5f4542

BIN
src/assets/icon/qr_code.jpg


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

@@ -528,7 +528,7 @@ export default {
     this.getData();
     this.getData();
     this.timer = setInterval(() => {
     this.timer = setInterval(() => {
       this.getData();
       this.getData();
-    }, 5000);
+    }, 60000);
   },
   },
 };
 };
 </script>
 </script>

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

@@ -780,7 +780,7 @@ export default {
     this.selectAllType();
     this.selectAllType();
     this.timer = setInterval(() => {
     this.timer = setInterval(() => {
       this.getData();
       this.getData();
-    }, 5000);
+    }, 60000);
   },
   },
 };
 };
 </script>
 </script>

+ 16 - 3
src/components/pages/addCourse.vue

@@ -138,13 +138,20 @@
                           <input type="text" placeholder="请输入课程名称" class="binfo_input" v-model="courseName" />
                           <input type="text" placeholder="请输入课程名称" class="binfo_input" v-model="courseName" />
                         </div>
                         </div>
                       </div>
                       </div>
+                      <div class="pType_box">
+                        <el-checkbox-group v-model="pTypeCheck" style="display: flex;align-items: center;">
+                          <div class="all_choose" style="width:100px" v-for="(item, index) in CourseType[0]" :key="index">
+                              <el-checkbox  v-if="CourseTypeJson[item.id].length" :label="item.id" >{{item.name}}+</el-checkbox>
+                          </div>
+                        </el-checkbox-group>
+                      </div>
                       <div class="both">
                       <div class="both">
                         <div class="choose">
                         <div class="choose">
                           <div class="all_choose" v-for="(item, index) in CourseType[0]" :key="index">
                           <div class="all_choose" v-for="(item, index) in CourseType[0]" :key="index">
-                            <span v-if="CourseTypeJson[item.id].length">{{
+                            <span v-if="CourseTypeJson[item.id].length > 0 && (pTypeCheck.length > 0 ? pTypeCheck.indexOf(item.id) != -1 : true)">{{
                               item.name
                               item.name
                             }}</span>
                             }}</span>
-                            <el-checkbox-group v-model="courseTypeId" v-if="CourseTypeJson[item.id].length > 0">
+                            <el-checkbox-group v-model="courseTypeId" v-if="CourseTypeJson[item.id].length > 0 && (pTypeCheck.length > 0 ? pTypeCheck.indexOf(item.id) != -1 : true)">
                               <el-checkbox v-for="item1 in CourseTypeJson[item.id]" :key="item1.id" :label="item1.id">{{
                               <el-checkbox v-for="item1 in CourseTypeJson[item.id]" :key="item1.id" :label="item1.id">{{
                                 item1.name }}</el-checkbox>
                                 item1.name }}</el-checkbox>
                             </el-checkbox-group>
                             </el-checkbox-group>
@@ -2854,6 +2861,7 @@ export default {
       courseTypeId: [],
       courseTypeId: [],
       courseTypeSon: [],
       courseTypeSon: [],
       clearArray: [],
       clearArray: [],
+      pTypeCheck:[],
       loading: false,
       loading: false,
       toolType: 0,
       toolType: 0,
       inputShow: true,
       inputShow: true,
@@ -7974,7 +7982,7 @@ ol {
   width: 100%;
   width: 100%;
   align-items: center;
   align-items: center;
   justify-content: flex-start;
   justify-content: flex-start;
-  margin: 30px 0;
+  margin: 15px 0;
 }
 }
 
 
 .notice>>>.el-dialog {
 .notice>>>.el-dialog {
@@ -9280,4 +9288,9 @@ ol {
 .e_add_delete {
 .e_add_delete {
   cursor: pointer;
   cursor: pointer;
 }
 }
+
+
+.pType_box{
+  margin-top: 30px;
+}
 </style>
 </style>

+ 353 - 39
src/components/pages/course.vue

@@ -18,8 +18,43 @@
         >
         >
       </div>
       </div>
     </div>
     </div>
+    <div class="reBox">
+        <div class="reTop">
+          <div>分类筛选</div>
+          <div>
+            <!-- @click="getCourse" -->
+            <div class="search" >
+              <img src="../../assets/icon/search.png" alt="" />
+            </div>
+            <input class="sInput" type="text" placeholder="请输入关键字" v-model="courseName" @input="getCourse()" />
+          </div>
+        </div>
+        <div class="choose">
+          <div class="all_choose" v-for="(item, index) in CourseType[0]" :key="index"
+            :style="{ margin: !CourseTypeJson[item.id].length && 0 }">
+            <span v-if="CourseTypeJson[item.id].length">{{ item.name }}:</span>
+            <div class="typeCss" v-if="CourseTypeJson[item.id].length">
+              <div class="cName" @click="getCourse2(item.name, '', item.id, 1)"
+                :class="typeE.indexOf(item.id) != -1 ? 'isCType' : ''">
+                全部
+              </div>
+              <div v-for="(item1, index1) in CourseTypeJson[item.id]" :key="index + '-' + index1" :label="item1.id"
+                @click="getCourse2(item.name, item.id, item1.id, 2)">
+                <div class="cName" :class="
+                  typea == item1.id || typeb == item1.id || typed == item1.id
+                    ? 'isCType'
+                    : ''
+                ">
+                  {{ item1.name }}
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+    </div>
+    <div class="line"></div>
     <div class="pb_content_body" style="height: 100%">
     <div class="pb_content_body" style="height: 100%">
-      <div class="student_head">
+      <div class="student_head" v-if="false">
         <div class="choose">
         <div class="choose">
           <div class="student_search">
           <div class="student_search">
             <span>课程筛选</span>
             <span>课程筛选</span>
@@ -286,7 +321,11 @@ export default {
       courseTypeSon: [],
       courseTypeSon: [],
       isChoose: 0,
       isChoose: 0,
       problemCourse: null, //查看提问的课程
       problemCourse: null, //查看提问的课程
-      courseTeam: []
+      courseTeam: [],
+      typeE:[],
+      typea:"",
+      typeb:"",
+      typed:"",
     };
     };
   },
   },
   methods: {
   methods: {
@@ -435,51 +474,178 @@ export default {
       }
       }
       this.getCourse();
       this.getCourse();
     },
     },
+    getCourse2(typeName, ftypeId, typeid, type) {
+      this.page = 1;
+      if (typeName == "年级") {
+        if (type == 1) {
+          if (this.typeE.indexOf(typeid) != -1) {
+            this.typeE.splice(this.typeE.indexOf(typeid), 1);
+          } else {
+            this.typeE.push(typeid);
+            if (this.typea != "") {
+              this.typea = "";
+            }
+          }
+        } else {
+          if (this.typea == typeid) {
+            this.typea = "";
+          } else {
+            this.typea = typeid;
+            if (this.typeE.indexOf(ftypeId) != -1) {
+              this.typeE.splice(this.typeE.indexOf(ftypeId), 1);
+            }
+          }
+        }
+      } else if (typeName == "专栏") {
+        if (type == 1) {
+          if (this.typeE.indexOf(typeid) != -1) {
+            this.typeE.splice(this.typeE.indexOf(typeid), 1);
+          } else {
+            this.typeE.push(typeid);
+            if (this.typeb != "") {
+              this.typeb = "";
+            }
+          }
+        } else {
+          if (this.typeb == typeid) {
+            this.typeb = "";
+          } else {
+            this.typeb = typeid;
+            if (this.typeE.indexOf(ftypeId) != -1) {
+              this.typeE.splice(this.typeE.indexOf(ftypeId), 1);
+            }
+          }
+        }
+      } else if (typeName == "栏目") {
+        if (type == 1) {
+          if (this.typeE.indexOf(typeid) != -1) {
+            this.typeE.splice(this.typeE.indexOf(typeid), 1);
+          } else {
+            this.typeE.push(typeid);
+            if (this.typeb != "") {
+              this.typeb = "";
+            }
+          }
+        } else {
+          if (this.typeb == typeid) {
+            this.typeb = "";
+          } else {
+            this.typeb = typeid;
+            if (this.typeE.indexOf(ftypeId) != -1) {
+              this.typeE.splice(this.typeE.indexOf(ftypeId), 1);
+            }
+          }
+        }
+      } else if (typeName == "主题") {
+        if (type == 1) {
+          if (this.typeE.indexOf(typeid) != -1) {
+            this.typeE.splice(this.typeE.indexOf(typeid), 1);
+          } else {
+            this.typeE.push(typeid);
+            if (this.typeb != "") {
+              this.typeb = "";
+            }
+          }
+        } else {
+          if (this.typeb == typeid) {
+            this.typeb = "";
+          } else {
+            this.typeb = typeid;
+            if (this.typeE.indexOf(ftypeId) != -1) {
+              this.typeE.splice(this.typeE.indexOf(ftypeId), 1);
+            }
+          }
+        }
+      } else if (typeName == "学院") {
+        if (type == 1) {
+          if (this.typeE.indexOf(typeid) != -1) {
+            this.typeE.splice(this.typeE.indexOf(typeid), 1);
+          } else {
+            this.typeE.push(typeid);
+            if (this.typeb != "") {
+              this.typeb = "";
+            }
+          }
+        } else {
+          if (this.typeb == typeid) {
+            this.typeb = "";
+          } else {
+            this.typeb = typeid;
+            if (this.typeE.indexOf(ftypeId) != -1) {
+              this.typeE.splice(this.typeE.indexOf(ftypeId), 1);
+            }
+          }
+        }
+      } else if (typeName == "学科") {
+        if (type == 1) {
+          if (this.typeE.indexOf(typeid) != -1) {
+            this.typeE.splice(this.typeE.indexOf(typeid), 1);
+          } else {
+            this.typeE.push(typeid);
+            if (this.typed != "") {
+              this.typed = "";
+            }
+          }
+        } else {
+          if (this.typed == typeid) {
+            this.typed = "";
+          } else {
+            this.typed = typeid;
+            if (this.typeE.indexOf(ftypeId) != -1) {
+              this.typeE.splice(this.typeE.indexOf(ftypeId), 1);
+            }
+          }
+        }
+      }
+      // this.loading = true;
+      this.getCourse();
+    },
     getCourse() {
     getCourse() {
       if (!this.loading) {
       if (!this.loading) {
         this.loading = this.openLoading(
         this.loading = this.openLoading(
           document.querySelector(".student_table")
           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 == "主题") {
-              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]
-            );
-          }
-        }
-      }
+      // 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 == "主题") {
+      //         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]
+      //       );
+      //     }
+      //   }
+      // }
+      console.log("typea",this.typea);
       this.isLoading = true;
       this.isLoading = true;
       let params = {
       let params = {
         type: this.groupA,
         type: this.groupA,
         uid: this.userid,
         uid: this.userid,
         oid: this.oid,
         oid: this.oid,
         org: this.org,
         org: this.org,
-        typea: typea != undefined ? typea : "",
-        typeb: typeb != undefined ? typeb : "",
-        typec: typec != undefined ? typec : "",
-        typed: typed != undefined ? typed : "",
-        typeE: typeE.join(","),
+        typea: this.typea != undefined ? this.typea : "",
+        typeb: this.typeb != undefined ? this.typeb : "",
+        typec: "",
+        typed: this.typed != undefined ? this.typed : "",
+        typeE: this.typeE.join(","),
         cu: "",
         cu: "",
         cn: this.courseName,
         cn: this.courseName,
         page: this.page,
         page: this.page,
@@ -1058,7 +1224,7 @@ export default {
   line-height: 40px;
   line-height: 40px;
 }
 }
 
 
-.all_choose {
+/* .all_choose {
   margin: 15px 0 10px;
   margin: 15px 0 10px;
   height: 20%;
   height: 20%;
   display: flex;
   display: flex;
@@ -1082,9 +1248,9 @@ export default {
   width: 60%;
   width: 60%;
   min-width: 868px;
   min-width: 868px;
   align-items: center;
   align-items: center;
-}
+} */
 
 
-.choose > div:nth-child(2) {
+/* .choose > div:nth-child(2) {
   margin-left: 1%;
   margin-left: 1%;
   width: 32.33333%;
   width: 32.33333%;
 }
 }
@@ -1106,7 +1272,7 @@ export default {
 .choose > div:nth-child(4) >>> .el-select {
 .choose > div:nth-child(4) >>> .el-select {
   width: 217.5px;
   width: 217.5px;
   min-width: 215.06px;
   min-width: 215.06px;
-}
+} */
 
 
 .clear {
 .clear {
   width: 70px;
   width: 70px;
@@ -1215,4 +1381,152 @@ export default {
 .more div > span:hover {
 .more div > span:hover {
   color: #79a2ff;
   color: #79a2ff;
 }
 }
+
+.line{
+  width: 100%;
+  height: 15px;
+  background: #e6eaf0;
+}
+
+.reBox {
+  background: #fff;
+  width: 95%;
+  border-radius: 5px;
+  /* padding-left: 20px; */
+  margin: 0 auto;
+  box-sizing: border-box;
+}
+
+.reTop {
+  padding: 0 0 5px;
+  /* padding: 20px 0 0 0; */
+  /* border-bottom: 1px solid #eee; */
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+  justify-content: space-between;
+}
+
+.reTop>div:nth-child(1) {
+  font-weight: bold;
+  /* width: 40px; */
+  /* border-bottom: 1px solid #205cc6; */
+  /* padding-bottom: 20px; */
+  color: #205cc6;
+  /* font-size: 20px; */
+}
+
+.reTop>div:nth-child(2) {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  border: 1px solid #ccced3;
+  width: 300px;
+  border-radius: 8px;
+  padding: 5px 0;
+  /* margin-bottom: 10px; */
+  background: #fafafa;
+}
+
+.search {
+  width: 20px;
+  padding: 0 5px;
+}
+
+.search>img {
+  width: 100%;
+  height: 100%;
+}
+
+.sInput {
+  border: none;
+  width: 85%;
+  background: #fafafa;
+}
+
+.sInput:focus-visible {
+  outline: none;
+}
+
+.typeCss {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
+  justify-content: flex-start;
+  align-items: center;
+}
+
+.choose {
+  display: flex;
+  flex-direction: column;
+  flex-wrap: nowrap;
+  height: 100%;
+  justify-content: space-evenly;
+  align-items: flex-start;
+  padding: 10px 0;
+}
+
+.all_choose {
+  display: flex;
+  flex-direction: row;
+  align-items: baseline;
+  margin: 2px 0;
+  width: 100%;
+}
+
+.all_choose>span {
+  min-width: 80px;
+  display: block;
+  letter-spacing: 14px;
+}
+
+.all_choose>span:nth-child(1) {
+  font-weight: bold;
+}
+
+.all_choose>>>.el-checkbox-group {
+  display: flex;
+  flex-direction: row;
+  width: 820px;
+  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;
+}
+
+.cName {
+  cursor: pointer;
+  margin: 0 10px 5px 0;
+  color: #b9b6b9;
+  min-width: 80px;
+  width: 80px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.isCType {
+  color: #6282c2;
+}
 </style>
 </style>

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

@@ -1950,8 +1950,10 @@
           >
           >
             <div class="basic_box_success">
             <div class="basic_box_success">
               <div class="right_img">
               <div class="right_img">
-                <img src="../../../assets/icon/right.png" alt />
+                <img src="../../../assets/icon/qr_code.jpg" v-if="org == '150e3120-9195-11ed-b13d-005056b86db5'" alt />
+                <img src="../../../assets/icon/right.png" v-else alt />
               </div>
               </div>
+              <div style="font-weight: bold;margin:10px 0" v-if="org == '150e3120-9195-11ed-b13d-005056b86db5'">请前往腾讯未来教室小程序活动作品展示栏提交您的作品</div>
               <div style="font-weight: bold">成功</div>
               <div style="font-weight: bold">成功</div>
               <!-- <div>您的项目编号</div>
               <!-- <div>您的项目编号</div>
                               <div class="number">{{ number }}</div>-->
                               <div class="number">{{ number }}</div>-->