|
@@ -1,41 +1,160 @@
|
|
<template>
|
|
<template>
|
|
- <common-header/>
|
|
|
|
|
|
+ <common-header />
|
|
<div class="ysgc">
|
|
<div class="ysgc">
|
|
<div class="ysgc-kind">
|
|
<div class="ysgc-kind">
|
|
<ul class="specail">
|
|
<ul class="specail">
|
|
<li class="kc" v-for="kc in topWorks" :key="kc">
|
|
<li class="kc" v-for="kc in topWorks" :key="kc">
|
|
- <img class="kc-back" :src="kc.img" alt="" />
|
|
|
|
|
|
+ <router-link to="/ysgc_detail">
|
|
|
|
+ <img class="kc-back" :src="kc.img" alt="" />
|
|
|
|
+ </router-link>
|
|
</li>
|
|
</li>
|
|
</ul>
|
|
</ul>
|
|
- <el-tabs
|
|
|
|
- v-model="activeName"
|
|
|
|
- type="card"
|
|
|
|
- class="work-tabs"
|
|
|
|
- @tab-click="handleClick"
|
|
|
|
- >
|
|
|
|
- <el-tab-pane label="学生优秀作品" name="first">
|
|
|
|
-
|
|
|
|
- </el-tab-pane>
|
|
|
|
- <el-tab-pane label="教师优秀作品" name="second">
|
|
|
|
- <FallsFlow v-if="activeName == 'second'" :Plist="jsWorks"></FallsFlow>
|
|
|
|
- </el-tab-pane>
|
|
|
|
- </el-tabs>
|
|
|
|
|
|
+ <div class="activityContent">
|
|
|
|
+ <div class="activityItem" @click="changeActiveName('first')" :class="activeName == 'first' ? 'activityItem-active' :''">学生优秀作品</div>
|
|
|
|
+ <div @click="changeActiveName('second')" :class="activeName == 'second' ? 'activityItem-active' :''" class="activityItem">教师优秀作品</div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="el-tabs__content">
|
|
|
|
+ <div v-show="activeName == 'first'">
|
|
|
|
+ <div class="nav">
|
|
|
|
+ <div class="nav-list">
|
|
|
|
+ <span class="kindName">年级</span>
|
|
|
|
+ <el-tabs v-model="njActiveName" @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="third"></el-tab-pane>
|
|
|
|
+ <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="k"></el-tab-pane>
|
|
|
|
+ <el-tab-pane label="高二" name="l"></el-tab-pane>
|
|
|
|
+ <el-tab-pane label="高三" name="m"></el-tab-pane>
|
|
|
|
+ <el-tab-pane label="其他" name="m"></el-tab-pane>
|
|
|
|
+ </el-tabs>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <div class="nav-list">
|
|
|
|
+ <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-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-tabs>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="inp">
|
|
|
|
+ <input v-model="searMsg" type="text" placeholder="搜索关键字" />
|
|
|
|
+ <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">
|
|
|
|
+ <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 v-show="activeName == 'second'">
|
|
|
|
+ <div class="nav" >
|
|
|
|
+ <div class="nav-list">
|
|
|
|
+ <span class="kindName">年级</span>
|
|
|
|
+ <el-tabs v-model="njActiveName" @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="third"></el-tab-pane>
|
|
|
|
+ <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="k"></el-tab-pane>
|
|
|
|
+ <el-tab-pane label="高二" name="l"></el-tab-pane>
|
|
|
|
+ <el-tab-pane label="高三" name="m"></el-tab-pane>
|
|
|
|
+ <el-tab-pane label="其他" name="m"></el-tab-pane>
|
|
|
|
+ </el-tabs>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <div class="nav-list">
|
|
|
|
+ <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-tabs>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="inp">
|
|
|
|
+ <input v-model="searMsg" type="text" placeholder="搜索关键字" />
|
|
|
|
+ <span class="inp-sear"></span>
|
|
|
|
+ </div>
|
|
|
|
+ <FallsFlow v-if="activeName == 'second'" :Plist="jsWorks"></FallsFlow>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<script setup>
|
|
<script setup>
|
|
-import ResourceSearch from "../../components/ResourceSearch/index.vue";
|
|
|
|
import commonHeader from "@/components/header/index.vue";
|
|
import commonHeader from "@/components/header/index.vue";
|
|
|
|
+import { ysgc_list } from "./api";
|
|
import { ref } from "vue";
|
|
import { ref } from "vue";
|
|
import FallsFlow from "./FallsFlow.vue";
|
|
import FallsFlow from "./FallsFlow.vue";
|
|
const https = ref(window.GLOBAL_CONFIG.api);
|
|
const https = ref(window.GLOBAL_CONFIG.api);
|
|
-const activeName = ref('first')
|
|
|
|
|
|
+const name = ref("index");
|
|
|
|
+const kmActiveName = ref("b");
|
|
|
|
+const njActiveName = ref("b");
|
|
|
|
+const flActiveName = ref("b");
|
|
|
|
+const is_Sq = ref('0');
|
|
|
|
+const searMsg = ref("");
|
|
|
|
+const activeName = ref("first");
|
|
const handleClick = (tab, event) => {
|
|
const handleClick = (tab, event) => {
|
|
- console.log(tab, event)
|
|
|
|
-}
|
|
|
|
|
|
+ console.log(tab, event);
|
|
|
|
+};
|
|
|
|
|
|
const topWorks = ref([]);
|
|
const topWorks = ref([]);
|
|
-const stuWorks= ref([]);
|
|
|
|
|
|
+const stuWorks = ref([]);
|
|
const jsWorks = ref([]);
|
|
const jsWorks = ref([]);
|
|
const getPic = async () => {
|
|
const getPic = async () => {
|
|
let m = await import("@/assets/ysgc/kc.png");
|
|
let m = await import("@/assets/ysgc/kc.png");
|
|
@@ -70,49 +189,66 @@ const getPic = async () => {
|
|
img: m4.default,
|
|
img: m4.default,
|
|
}
|
|
}
|
|
);
|
|
);
|
|
- stuWorks.value.push(m1,m);
|
|
|
|
- jsWorks.value.push({
|
|
|
|
- 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,
|
|
|
|
- },
|
|
|
|
|
|
+ stuWorks.value.push(m1, m);
|
|
|
|
+ jsWorks.value.push(
|
|
|
|
+ {
|
|
|
|
+ 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,
|
|
|
|
+ }
|
|
);
|
|
);
|
|
};
|
|
};
|
|
getPic();
|
|
getPic();
|
|
|
|
+
|
|
|
|
+const yz_top_display = "";
|
|
|
|
+const yz_type = "";
|
|
|
|
+let listData = {
|
|
|
|
+ yz_type: "2",
|
|
|
|
+ yz_top_display: "1",
|
|
|
|
+};
|
|
|
|
+function getList() {
|
|
|
|
+ ysgc_list(listData).then((res) => {
|
|
|
|
+ console.log(res);
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+getList();
|
|
|
|
+function changeActiveName(val){
|
|
|
|
+ activeName.value = val
|
|
|
|
+}
|
|
</script>
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
.ysgc {
|
|
.ysgc {
|
|
@@ -125,12 +261,12 @@ getPic();
|
|
.specail {
|
|
.specail {
|
|
width: 100%;
|
|
width: 100%;
|
|
display: flex;
|
|
display: flex;
|
|
- justify-content: center;
|
|
|
|
|
|
+ justify-content: space-between;
|
|
flex-wrap: wrap;
|
|
flex-wrap: wrap;
|
|
margin: 42px auto;
|
|
margin: 42px auto;
|
|
.kc {
|
|
.kc {
|
|
margin-right: 25px;
|
|
margin-right: 25px;
|
|
- width: 337px;
|
|
|
|
|
|
+ width: 347px;
|
|
overflow: hidden;
|
|
overflow: hidden;
|
|
border-radius: 12px;
|
|
border-radius: 12px;
|
|
box-shadow: 0px 10px 24px 0px rgba(161, 153, 168, 0.18);
|
|
box-shadow: 0px 10px 24px 0px rgba(161, 153, 168, 0.18);
|
|
@@ -163,23 +299,165 @@ getPic();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-::v-deep .work-tabs {
|
|
|
|
- // width: 1560px;
|
|
|
|
- margin: 0 auto;
|
|
|
|
- .el-tabs{
|
|
|
|
|
|
+ .el-tabs {
|
|
width: 100%;
|
|
width: 100%;
|
|
- .el-tabs__header{
|
|
|
|
- .el-tabs__nav{
|
|
|
|
|
|
+ .el-tabs__header {
|
|
|
|
+ .el-tabs__nav {
|
|
margin: 0 auto;
|
|
margin: 0 auto;
|
|
- }
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.el-tabs__content {
|
|
.el-tabs__content {
|
|
- padding: 32px;
|
|
|
|
- color: #6b778c;
|
|
|
|
- font-size: 32px;
|
|
|
|
- // font-weight: 600;
|
|
|
|
|
|
+ color: #6b778c;
|
|
|
|
+ font-size: 32px;
|
|
|
|
+ .nav {
|
|
|
|
+ .nav-list {
|
|
|
|
+ display: flex;
|
|
|
|
+ .kindName {
|
|
|
|
+ display: inline-block;
|
|
|
|
+ width: 50px;
|
|
|
|
+ height: 100%;
|
|
|
|
+ line-height: 64px;
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ color: #000;
|
|
|
|
+ font-weight: 600;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .stuWorks {
|
|
|
|
+ display: flex;
|
|
|
|
+ flex-wrap: wrap;
|
|
|
|
+ .s-works {
|
|
|
|
+ position: relative;
|
|
|
|
+ width: 260px;
|
|
|
|
+ height: 234px;
|
|
|
|
+ margin-top: 30px;
|
|
|
|
+ border-radius: 12px;
|
|
|
|
+ margin-right: 15px;
|
|
|
|
+ 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;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .is-active {
|
|
|
|
+ // width: 32px;
|
|
|
|
+ // height: 21px;
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ font-family: PingFangSC, PingFangSC-Regular;
|
|
|
|
+ font-weight: 400;
|
|
|
|
+ // text-align: center;
|
|
|
|
+ color: #00a3ff;
|
|
|
|
+ // line-height: 21px;
|
|
|
|
+ background: #e2f2ff;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .inp {
|
|
|
|
+ width: 497px;
|
|
|
|
+ margin: 30px 0 17px 0;
|
|
|
|
+ height: 50px;
|
|
|
|
+ line-height: 50px;
|
|
|
|
+ position: relative;
|
|
|
|
+ input {
|
|
|
|
+ background: #ffffff;
|
|
|
|
+ border-radius: 8px;
|
|
|
|
+ border: 1px solid #00a3ff;
|
|
|
|
+ outline: none;
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
|
|
+ padding-left: 17px;
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ }
|
|
|
|
+ .inp-sear {
|
|
|
|
+ display: block;
|
|
|
|
+ width: 26px;
|
|
|
|
+ height: 26px;
|
|
|
|
+ background: #00a3ff;
|
|
|
|
+ border-radius: 6px;
|
|
|
|
+ position: absolute;
|
|
|
|
+ top: 18px;
|
|
|
|
+ right: 15px;
|
|
|
|
+ background-image: url("../../assets/ysgc/search.png");
|
|
|
|
+ background-size: 60%;
|
|
|
|
+ background-position: center;
|
|
|
|
+ background-repeat: no-repeat;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+.activityContent{
|
|
|
|
+ width: 590px;
|
|
|
|
+ height: 80px;
|
|
|
|
+ background: #ffffff;
|
|
|
|
+ border: 1px solid #dbe7ec;
|
|
|
|
+ border-radius: 10px;
|
|
|
|
+ margin: auto;
|
|
|
|
+ padding: 10px 8px;
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
+ display: flex;
|
|
|
|
+ .activityItem{
|
|
|
|
+ width: 281px;
|
|
|
|
+ height: 60px;
|
|
|
|
+ line-height: 60px;
|
|
|
|
+ text-align: center;
|
|
|
|
+ background: #fff;
|
|
|
|
+ font-size: 30px;
|
|
|
|
+ color: #666666;
|
|
|
|
+ border-radius: 10px;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ }
|
|
|
|
+ .activityItem-active{
|
|
|
|
+ background: #e8f3fa;
|
|
|
|
+ font-size: 30px;
|
|
|
|
+ color: #000;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-}
|
|
|
|
-
|
|
|
|
</style>
|
|
</style>
|