Browse Source

Merge branch 'zhaoj'

ZhaoJing 2 years ago
parent
commit
e747bdddd0

+ 9 - 0
src/pages/szmsg/api.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request.js'
+
+// 学校
+export const szmsg_school = (data={}) =>{
+    return request({
+        url:'/szmsg/school/index',
+        data,
+    })
+}

+ 30 - 17
src/pages/szmsg/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <common-header/>
+  <common-header />
   <div class="ysgc">
     <ResourceSearch></ResourceSearch>
     <div class="ysgc-kind">
@@ -13,11 +13,12 @@
             </div>
           </router-link>
         </li>
-        <li class="kc" v-for="kc in 4" :key="kc">
-          <img class="kc-back" src="../../assets/ysgc/kc3.png" alt="" />
-          <div class="kc-des">
-            <p class="kc-name">学生二</p>
-            <!-- <div class="rate">
+        <li class="kc" v-for="kc in 1" :key="kc">
+          <!-- <router-link to="/tzkc_detail"> -->
+            <img class="kc-back" src="../../assets/ysgc/kc3.png" alt="" />
+            <div class="kc-des">
+              <p class="kc-name">学校一</p>
+              <!-- <div class="rate">
               <img
                 v-for="star in 5"
                 :key="star"
@@ -25,29 +26,32 @@
                 alt=""
               />
             </div> -->
-          </div>
-          <!-- <div class="zan">
+            </div>
+            <!-- <div class="zan">
             <img src="../../assets/ysgc/zan.png" /> 10w+
             <img src="../../assets/ysgc/xin.png" alt="" />14w+
           </div> -->
+          <!-- </router-link> -->
         </li>
       </ul>
       <ul class="specail">
         <li class="kind-name">
-          <router-link to="/yslm">
+          <!-- <router-link to="/yslm"> -->
             <h3>艺术联盟</h3>
-          <p>辅导机构课程 场馆课程</p>
-          <div class="btn-more">
-            <button>查看更多</button>
-          </div>
-          </router-link>
-          
+            <p>辅导机构课程 场馆课程</p>
+            <div class="btn-more">
+              <button>查看更多</button>
+            </div>
+          <!-- </router-link> -->
         </li>
-        <li class="kc" v-for="kc in 1" :key="kc">
-          <img class="kc-back" src="../../assets/ysgc/kc3.png" alt="" />
+        <li class="kc" v-for="kc in 0" :key="kc">
+          <router-link to="/yslm">
+            <img class="kc-back" src="../../assets/ysgc/kc3.png" alt="" />
           <div class="kc-des">
             <p class="kc-name">传送门</p>
           </div>
+          </router-link>
+          
         </li>
       </ul>
     </div>
@@ -57,6 +61,15 @@
 import ResourceSearch from "../../components/ResourceSearch/index.vue";
 import commonHeader from "@/components/header/index.vue";
 import { ref } from "vue";
+import { szmsg_school } from "./api";
+let schoolMsg = ref([])
+let schoolData = {};
+function getSchool(){
+  szmsg_school(schoolData).then(res=>{
+    schoolMsg.value=res.data.page_data;
+  })
+}
+getSchool();
 </script>
 <style lang="scss" scoped>
 .ysgc {

+ 32 - 5
src/pages/szmsg/tzkc/index.vue

@@ -23,9 +23,9 @@
       </div>
     </div>
 
-    <div v-for="ys in 2" :key="ys" class="ysgc-kind">
+    <div v-for="ys in 1" :key="ys" class="ysgc-kind">
       <ul class="specail">
-        <li class="kc" v-for="kc in 4" :key="kc">
+        <li class="kc" v-for="kc in 1" :key="kc">
           <router-link to="/tzkc_detail">
             <img
             class="kc-back"
@@ -33,7 +33,7 @@
             alt=""
           />
           <div class="kc-des">
-            <p class="kc-name">学生二</p>
+            <p class="kc-name">学校一</p>
             <!-- <div class="rate">
               <img
                 v-for="star in 5"
@@ -51,8 +51,24 @@
         </li>
       </ul>
     </div>
-    <div class="block">
-      <el-pagination layout="prev, pager, next" :total="1000"> </el-pagination>
+    <div class="footer">
+      <div
+        style="
+          width: 1280px;
+          height: 50px;
+
+          position: relative;
+          margin: 0 auto;
+        "
+      >
+        <el-pagination
+          background
+          layout="prev, pager, next"
+          :total="1000"
+          style="position: absolute; top: 0; right: 0"
+        >
+        </el-pagination>
+      </div>
     </div>
   </div>
 </template>
@@ -71,6 +87,9 @@ const searMsg = ref('');
   width: 100%;
   min-width: 1280px;
   margin: 0 auto;
+  background-image: url("../../../assets/ysgc/back.png");
+  background-size: 100%;
+  background-repeat: no-repeat;
 }
 .title {
   width: 1280px;
@@ -135,6 +154,7 @@ const searMsg = ref('');
       height: 50px;
       padding: 20px;
       width: 100%;
+      outline: none;
     }
     .inp-sear {
       display: block;
@@ -299,5 +319,12 @@ const searMsg = ref('');
   margin: 0 auto;
   margin-top: 50px;
 }
+.footer {
+  width: 100%;
+  height: 50px;
+  margin-top: 100px;
+
+  display: inline-block;
+}
 </style>
 

+ 10 - 0
src/pages/szmsg/tzkc/tzkc_detail/api.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request.js'
+
+// 学校详情
+export const school_detail = (data={}) =>{
+    return request({
+        url:'/szmsg/school/detail',
+        data,
+        // ss_id
+    })
+}

+ 353 - 0
src/pages/szmsg/tzkc/tzkc_detail/index.vue

@@ -30,6 +30,108 @@
               </el-timeline-item>
             </el-timeline>
           </div>
+          <div class="cover"></div>
+        </div>
+      </div>
+      <div class="con_class">
+        <div class="classLeft">
+          <div class="nav">
+            <h3 class="navTitle">学校课程</h3>
+            <div
+              v-for="(kind, index) in classKind"
+              :key="index"
+              class="nav-list"
+            >
+              <span  class="kindName">{{ kind.name }}</span>
+              <div v-show="i<8 && !is_more"
+                :class="kindIndex == i ? 'kindsActive' : ''"
+                @click="kindChange(i)"
+                v-for="(k, i) in kind.kind"
+                class="kinds"
+                :key="i"
+              >
+                {{ k }}
+              </div>
+              <div v-show="is_more==true"
+                :class="kindIndex == i ? 'kindsActive' : ''"
+                @click="kindChange(i)"
+                v-for="(k, i) in kind.kind"
+                class="kinds"
+                :key="i"
+              >
+                {{ k }}
+              </div>
+              <span @click="moreShow($event)" class="more" v-if="kind.kind.length>8">更多</span>
+            </div>
+          </div>
+          <ul class="stuWorks">
+            <li class="s-works" v-for="s in 5" :key="s">
+              <!-- <router-link to="/ysgc_detail"> -->
+                <div class="img">
+                  <img
+                    class="kc-back"
+                    src="../../../../assets/ysgc/kc3.png"
+                    alt=""
+                  />
+                  <!-- 悬浮遮罩层 -->
+                  <div v-show="is_Sq == '1'" class="img_mask">
+                    <img class="play" src="" alt="" />
+                  </div>
+                </div>
+
+                <div class="kc-des">
+                  <p class="kc-name">安徒生世界插画</p>
+                  <div class="rate">
+                    <img
+                      v-for="star in 5"
+                      :key="star"
+                      src="../../../../assets/ysgc/star.png"
+                      alt=""
+                    />
+                  </div>
+                </div>
+                <div class="zan">
+                  <img src="../../../../assets/ysgc/zan.png" /> 10w+
+                  <img src="../../../../assets/ysgc/xin.png" alt="" />14w+
+                </div>
+              <!-- </router-link> -->
+            </li>
+          </ul>
+        </div>
+        <div class="classRight">
+          <h3 class="n_title">优秀作品</h3>
+          <ul v-for="s in 5" :key="s" class="goodWorks">
+            <li class="s-works">
+              <router-link to="/ysgc_detail">
+                <div class="img">
+                  <img
+                    class="kc-back"
+                    src="../../../../assets/ysgc/kc3.png"
+                    alt=""
+                  />
+                  <!-- 悬浮遮罩层 -->
+                  <div v-show="is_Sq == '1'" class="img_mask">
+                    <img class="play" src="" alt="" />
+                  </div>
+                  <div class="zan">
+                    <img src="../../../../assets/ysgc/zan.png" /> 10w+
+                    <img src="../../../../assets/ysgc/xin.png" alt="" />14w+
+                  </div>
+                </div>
+                <div class="kc-des">
+                  <p class="kc-name">安徒生世界插画</p>
+                  <div class="rate">
+                    <img
+                      v-for="star in 5"
+                      :key="star"
+                      src="../../../../assets/ysgc/star.png"
+                      alt=""
+                    />
+                  </div>
+                </div>
+              </router-link>
+            </li>
+          </ul>
         </div>
       </div>
     </div>
@@ -44,6 +146,8 @@ const name = ref("index");
 const kmActiveName = ref("a");
 const njActiveName = ref("a");
 const searMsg = ref("");
+let kindIndex = ref("0");
+let is_more = ref(false);
 const activities = [
   {
     content:
@@ -81,6 +185,42 @@ const activities = [
     hollow: true,
   },
 ];
+let classKind = ref([
+  {
+    name: "年级",
+    kind: [
+      "全部",
+      "幼儿园",
+      "一年级",
+      "二年级",
+      "三年级",
+      "四年级",
+      "五年级",
+      "六年级",
+      "初一",
+      "初二",
+      "初三",
+      "高一",
+      "高二",
+      "高三",
+    ],
+  },
+  {
+    name: "科目",
+    kind: ["全部", "语文", "数学", "英语", "物理", "化学", "地理"],
+  },
+]);
+function kindChange(i) {
+  kindIndex.value = i;
+}
+function moreShow(e){
+  is_more.value=!is_more.value;
+  if(e.target.innerHTML=='更多'){
+    e.target.innerHTML='收起';
+  }else{
+    e.target.innerHTML='更多';
+  }
+}
 </script>
   
 <style lang="scss" scoped>
@@ -141,10 +281,223 @@ const activities = [
         box-sizing: border-box;
         box-shadow: 0px 10px 24px 0px rgba(161, 153, 168, 0.18);
         overflow-y: scroll;
+        overflow-x: hidden;
+        position: relative;
+        .n_title {
+          font-size: 18px;
+          font-family: PingFang, PingFang-Heavy;
+          font-weight: 800;
+          color: #222222;
+          margin: 13px 0 33px 0;
+        }
+        .cover {
+          position: absolute;
+          width: 100%;
+          height: 80px;
+          background-color: #fff;
+          bottom: 0;
+          left: 0;
+          opacity: 0.4;
+        }
+      }
+      .notice::-webkit-scrollbar {
+        width: 2px;
+      }
+      .notice::-webkit-scrollbar-thumb {
+        border-radius: 10px;
+        background-color: #00a3ff;
+      }
+    }
+    .con_class {
+      width: 100%;
+      display: flex;
+      margin-top: 10px;
+      .classLeft,
+      .classRight {
+        .s-works {
+          position: relative;
+          width: 268px;
+          height: 234px;
+          margin-top: 30px;
+          border-radius: 12px;
+          margin-right: 17px;
+          box-shadow: 0px 10px 24px 0px rgba(161, 153, 168, 0.18);
+          .img {
+            position: relative;
+            width: 100%;
+            .img_mask {
+              position: absolute;
+              top: 0;
+              border-radius: 12px 12px 0 0;
+              width: 100%;
+              height: 100%;
+              background-color: rgba(0, 0, 0, 0.59);
+            }
+          }
+          .kc-des {
+            padding: 11px 6px;
+            box-sizing: border-box;
+            .kc-name {
+              height: 22px;
+              font-size: 16px;
+              font-family: PingFangSC, PingFangSC-Regular;
+              font-weight: 400;
+              color: #000000;
+              line-height: 22px;
+            }
+            .rate {
+              display: flex;
+              margin: 11px 0;
+              img {
+                width: 15px;
+                margin-right: 6px;
+              }
+            }
+          }
+          .zan {
+            position: absolute;
+            top: 0;
+            right: 0;
+            width: 173px;
+            height: 34px;
+            line-height: 34px;
+            font-size: 14px;
+            color: #fff;
+            display: flex;
+            padding-left: 20px;
+            background: rgba(0, 0, 0, 0.59);
+            border-radius: 0px 12px 0px 12px;
+            img {
+              display: inline-block;
+              width: 17px;
+              height: 16px;
+              margin: 8px 5px 0 10px;
+            }
+          }
+        }
+      }
+      .classLeft {
+        width: 920px;
+        .nav {
+          .navTitle {
+            font-size: 18px;
+            font-family: PingFang, PingFang-Heavy;
+            font-weight: 800;
+            color: #222222;
+            margin: 18px 14px;
+          }
+          .nav-list {
+            width: 100%;
+            display: flex;
+            min-width: 0;
+            flex-wrap: wrap;
+            margin-left: 20px;
+            border-bottom: 1px solid #E4E6E8;
+            .kindName {
+              display: inline-block;
+              width: 60px;
+              height: 100%;
+              font-size: 16px;
+              color: #000;
+              font-weight: 600;
+              margin-top: 12px;
+            }
+            .kinds {
+              margin-right: 34px;
+              margin-top: 10px;
+              font-size: 16px;
+              text-align: center;
+              height: 30px;
+              line-height: 30px;
+              white-space: nowrap;
+            }
+            .kindsActive {
+              background-color: #e8f4f8;
+              border-radius: 6px;
+              color: #2e99cf;
+            }
+            .more{
+              line-height: 50px;
+              color: #00a3ff;
+            }
+          }
+        }
+        .stuWorks {
+          display: flex;
+          flex-wrap: wrap;
+          padding-left: 18px;
+        }
+      }
+      .classRight {
+        width: 524px;
+        height: 675px;
+        margin-top: 20px;
+        background: #ffffff;
+        border-radius: 12px;
+        box-shadow: 0px 10px 24px 0px rgba(161, 153, 168, 0.18);
+        padding: 20px 10px;
+        overflow-y: scroll;
+
+        .n_title {
+          font-size: 18px;
+          font-family: PingFang, PingFang-Heavy;
+          font-weight: 800;
+          color: #222222;
+          margin: 13px 0 33px 0;
+        }
+        .goodWorks {
+          width: 100%;
+          .s-works {
+            width: 100%;
+            height: 155px;
+            box-shadow: unset;
+            a {
+              display: flex;
+              .img {
+                width: 264px;
+                position: relative;
+                border-radius: 10px;
+                overflow: hidden;
+                .kc-name{
+                  font-weight: 500;
+                }
+              }
+            }
+          }
+        }
+      }
+      .classRight::-webkit-scrollbar {
+        width: 2px;
+      }
+      .classRight::-webkit-scrollbar-thumb {
+        border-radius: 10px;
+        background-color: #00a3ff;
       }
     }
   }
 }
+::v-deep .el-timeline {
+  .el-timeline-item__content {
+    display: -webkit-box;
+    font-size: 14px;
+    color: #333;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    -webkit-line-clamp: 3;
+    -webkit-box-orient: vertical;
+  }
+  .el-timeline-item__content:hover {
+    color: #00a3ff;
+  }
+  .el-timeline-item__timestamp {
+    height: 20px;
+    line-height: 10px;
+    font-size: 10px;
+    font-family: PingFangSC, PingFangSC-Regular;
+    font-weight: 400;
+    color: #a3a3a3;
+  }
+}
 </style>
   
   

+ 2 - 2
src/pages/ysgc/FallsFlow.vue

@@ -2,7 +2,7 @@
   <div class="flow">
     <div class="flow_lie" v-for="v in imgList()" :key="v">
       <div class="w_img" v-for="img in v.a" :key="img">
-        <router-link to="/ysgc_detail">
+        <!-- <router-link to="/ysgc_detail"> -->
           <div class="fallimgItem img">
             <img ref="allImage" :src="img.img" alt="" />
           </div>
@@ -13,7 +13,7 @@
               <span class="author_name">尚老师</span>
             </div>
           </div>
-        </router-link>
+        <!-- </router-link> -->
       </div>
     </div>
   </div>

+ 3 - 1
src/pages/ysgc/api.js

@@ -1,8 +1,10 @@
 import request from '@/utils/request.js'
 
+// 艺术广场作品列表
 export const ysgc_list = (data={}) =>{
     return request({
         url:'/ysgc/zp/index',
         data,
     })
-}
+}
+

+ 61 - 60
src/pages/ysgc/index.vue

@@ -4,9 +4,9 @@
     <div class="ysgc-kind">
       <ul class="specail">
         <li class="kc" v-for="kc in topWorks" :key="kc">
-          <router-link to="/ysgc_detail">
+          <!-- <router-link to="/ysgc_detail"> -->
             <img class="kc-back" :src="kc.img" alt="" />
-          </router-link>
+          <!-- </router-link> -->
         </li>
       </ul>
         <div class="activityContent">
@@ -29,7 +29,7 @@
                 <el-tab-pane label="六年级" name="g"></el-tab-pane>
                 <el-tab-pane label="初一" name="h"></el-tab-pane>
                 <el-tab-pane label="初二" name="i"></el-tab-pane>
-                <el-tab-pane label="初三" name="g"></el-tab-pane>
+                <el-tab-pane label="初三" name="j"></el-tab-pane>
                 <el-tab-pane label="高一" name="k"></el-tab-pane>
                 <el-tab-pane label="高二" name="l"></el-tab-pane>
                 <el-tab-pane label="高三" name="m"></el-tab-pane>
@@ -38,22 +38,22 @@
             </div>
 
             <div class="nav-list">
-              <span class="kindName">科目</span>
+              <span class="kindName">分册</span>
               <el-tabs v-model="kmActiveName" @tab-click="handleClick">
                 <el-tab-pane label="全部" name="a"></el-tab-pane>
-                <el-tab-pane label="音乐" name="b"></el-tab-pane>
-                <el-tab-pane label="美术" name="c"></el-tab-pane>
-                <el-tab-pane label="舞蹈" name="d"></el-tab-pane>
-                <el-tab-pane label="摄影" name="e"></el-tab-pane>
-                <el-tab-pane label="毛笔" name="f"></el-tab-pane>
+                <el-tab-pane label="上册" name="b"></el-tab-pane>
+                <el-tab-pane label="下册" name="c"></el-tab-pane>          
               </el-tabs>
             </div>
             <div class="nav-list">
               <span class="kindName">分类</span>
               <el-tabs v-model="flActiveName" @tab-click="handleClick">
                 <el-tab-pane label="全部" name="a"></el-tab-pane>
-                <el-tab-pane label="学校" name="b"></el-tab-pane>
-                <el-tab-pane label="机构" name="c"></el-tab-pane>
+                <el-tab-pane label="word" name="b"></el-tab-pane>
+                <el-tab-pane label="ppt" name="c"></el-tab-pane>
+                <el-tab-pane label="pdf" name="d"></el-tab-pane>
+                <el-tab-pane label="excel" name="e"></el-tab-pane>
+                <el-tab-pane label="视频" name="f"></el-tab-pane>
               </el-tabs>
             </div>
           </div>
@@ -62,18 +62,17 @@
             <span class="inp-sear"></span>
           </div>
           <ul class="stuWorks">
-            <li class="s-works" v-for="s in 18" :key="s">
-              <router-link to="/ysgc_detail">
+            <li class="s-works" v-for="s in topWorks" :key="s">
+              <!-- <router-link to="/ysgc_detail"> -->
                 <div class="img">
-                  <img class="kc-back" src="../../assets/ysgc/kc3.png" alt="" />
+                  <img class="kc-back" :src="s.img" alt="" />
                   <!-- 悬浮遮罩层 -->
                   <div v-show="is_Sq=='1'" class="img_mask">
                     <img class="play" src="" alt="">
                   </div>
                 </div>
-
                 <div class="kc-des">
-                  <p class="kc-name">安徒生世界插画</p>
+                  <p class="kc-name">{{s.name}}</p>
                   <div class="rate">
                     <img
                       v-for="star in 5"
@@ -87,7 +86,7 @@
                   <img src="../../assets/ysgc/zan.png" /> 10w+
                   <img src="../../assets/ysgc/xin.png" alt="" />14w+
                 </div>
-              </router-link>
+              <!-- </router-link> -->
             </li>
           </ul>
           </div>
@@ -115,14 +114,12 @@
               </div>
 
               <div class="nav-list">
-                <span class="kindName">科目</span>
+                <span class="kindName">分册</span>
                 <el-tabs v-model="kmActiveName" @tab-click="handleClick">
                   <el-tab-pane label="全部" name="a"></el-tab-pane>
-                  <el-tab-pane label="音乐" name="b"></el-tab-pane>
-                  <el-tab-pane label="美术" name="c"></el-tab-pane>
-                  <el-tab-pane label="舞蹈" name="d"></el-tab-pane>
-                  <el-tab-pane label="摄影" name="e"></el-tab-pane>
-                  <el-tab-pane label="毛笔" name="f"></el-tab-pane>
+                  <el-tab-pane label="上册" name="b"></el-tab-pane>
+                  <el-tab-pane label="下册" name="c"></el-tab-pane>
+                  
                 </el-tabs>
               </div>
             </div>
@@ -178,15 +175,19 @@ const getPic = async () => {
   topWorks.value.push(
     {
       img: m3.default,
+      name:'安徒生童话'
     },
     {
       img: m2.default,
+      name:'拇指姑娘'
     },
     {
       img: m1.default,
+      name:'传送门'
     },
     {
       img: m4.default,
+      name:'野天鹅'
     }
   );
   stuWorks.value.push(m1, m);
@@ -194,42 +195,42 @@ const getPic = async () => {
     {
       img: m1.default,
     },
-    {
-      img: m5.default,
-    },
-    {
-      img: m6.default,
-    },
-    {
-      img: m7.default,
-    },
-    {
-      img: m8.default,
-    },
-    {
-      img: m2.default,
-    },
-    {
-      img: m14.default,
-    },
-    {
-      img: m9.default,
-    },
-    {
-      img: m13.default,
-    },
-    {
-      img: m15.default,
-    },
-    {
-      img: m10.default,
-    },
-    {
-      img: m12.default,
-    },
-    {
-      img: m16.default,
-    }
+    // {
+    //   img: m5.default,
+    // },
+    // {
+    //   img: m6.default,
+    // },
+    // {
+    //   img: m7.default,
+    // },
+    // {
+    //   img: m8.default,
+    // },
+    // {
+    //   img: m2.default,
+    // },
+    // {
+    //   img: m14.default,
+    // },
+    // {
+    //   img: m9.default,
+    // },
+    // {
+    //   img: m13.default,
+    // },
+    // {
+    //   img: m15.default,
+    // },
+    // {
+    //   img: m10.default,
+    // },
+    // {
+    //   img: m12.default,
+    // },
+    // {
+    //   img: m16.default,
+    // }
   );
 };
 getPic();
@@ -238,7 +239,7 @@ const yz_top_display = "";
 const yz_type = "";
 let listData = {
   yz_type: "2",
-  yz_top_display: "1",
+  // yz_top_display: "1",
 };
 function getList() {
   ysgc_list(listData).then((res) => {

+ 27 - 0
src/pages/ysgc/ysgc_detail/api.js

@@ -0,0 +1,27 @@
+import request from '@/utils/request.js'
+
+// 作品详情
+export const ysgc_detail = (data={}) =>{
+    return request({
+        url:'/ysgc/zp/detail',
+        data,
+    })
+}
+
+// 作品评论列表
+export const ysgc_evaluate = (data={}) =>{
+    return request({
+        url:'/ysgc/zp_evaluate/index',
+        data,
+    })
+}
+
+// 作品评论添加
+export const ysgc_addEvaluate = (data={}) =>{
+    return request({
+        url:'/ysgc/zp_evaluate/add',
+        data:{
+            ysgc_zp_evaluate:data.ysgc_zp_evaluate
+        }
+    })
+}

+ 1 - 0
src/pages/ysgc/ysgc_detail/index.vue

@@ -169,6 +169,7 @@ const commentMsg = ref("");
             padding-left: 10px;
             box-sizing: border-box;
             margin-right: 5px;
+            outline: none;
           }
           .add {
             width: 111px;