|
@@ -1,50 +1,25 @@
|
|
|
<template>
|
|
|
<common-header/>
|
|
|
<div class="ysgc">
|
|
|
- <ResourceSearch></ResourceSearch>
|
|
|
<div class="ysgc-kind">
|
|
|
<ul class="specail">
|
|
|
- <li class="kind-name">
|
|
|
- <h3>特色课程展</h3>
|
|
|
- <p>辅导机构课程 场馆课程</p>
|
|
|
- <div class="btn-more">
|
|
|
- <button>查看更多</button>
|
|
|
- </div>
|
|
|
- </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">
|
|
|
- <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>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- <ul class="specail">
|
|
|
- <li class="kind-name">
|
|
|
- <h3>艺术联盟</h3>
|
|
|
- <p>辅导机构课程 场馆课程</p>
|
|
|
- <div class="btn-more">
|
|
|
- <button>查看更多</button>
|
|
|
- </div>
|
|
|
- </li>
|
|
|
- <li class="kc" v-for="kc in 1" :key="kc">
|
|
|
- <img class="kc-back" src="../../assets/ysgc/kc3.png" alt="" />
|
|
|
- <div class="kc-des">
|
|
|
- <p class="kc-name">传送门</p>
|
|
|
- </div>
|
|
|
+ <li class="kc" v-for="kc in topWorks" :key="kc">
|
|
|
+ <img class="kc-back" :src="kc.img" alt="" />
|
|
|
</li>
|
|
|
</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>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -52,6 +27,92 @@
|
|
|
import ResourceSearch from "../../components/ResourceSearch/index.vue";
|
|
|
import commonHeader from "@/components/header/index.vue";
|
|
|
import { ref } from "vue";
|
|
|
+import FallsFlow from "./FallsFlow.vue";
|
|
|
+const https = ref(window.GLOBAL_CONFIG.api);
|
|
|
+const activeName = ref('first')
|
|
|
+const handleClick = (tab, event) => {
|
|
|
+ console.log(tab, event)
|
|
|
+}
|
|
|
+
|
|
|
+const topWorks = ref([]);
|
|
|
+const stuWorks= ref([]);
|
|
|
+const jsWorks = ref([]);
|
|
|
+const getPic = async () => {
|
|
|
+ let m = await import("@/assets/ysgc/kc.png");
|
|
|
+ let m1 = await import("@/assets/ysgc/kc1.png");
|
|
|
+ let m2 = await import("@/assets/ysgc/kc2.png");
|
|
|
+ let m3 = await import("@/assets/ysgc/kc3.png");
|
|
|
+ let m4 = await import("@/assets/ysgc/kc4.png");
|
|
|
+ let m5 = await import("@/assets/ysgc/kc5.png");
|
|
|
+ let m6 = await import("@/assets/ysgc/kc6.png");
|
|
|
+ let m7 = await import("@/assets/ysgc/kc7.png");
|
|
|
+ let m8 = await import("@/assets/ysgc/kc8.png");
|
|
|
+ let m9 = await import("@/assets/ysgc/kc9.png");
|
|
|
+ let m10 = await import("@/assets/ysgc/kc10.png");
|
|
|
+ let m11 = await import("@/assets/ysgc/kc11.png");
|
|
|
+ let m12 = await import("@/assets/ysgc/kc12.png");
|
|
|
+ let m13 = await import("@/assets/ysgc/kc13.png");
|
|
|
+ let m14 = await import("@/assets/ysgc/kc14.png");
|
|
|
+ let m15 = await import("@/assets/ysgc/kc15.png");
|
|
|
+ let m16 = await import("@/assets/ysgc/kc16.png");
|
|
|
+ // 顶部图片
|
|
|
+ topWorks.value.push(
|
|
|
+ {
|
|
|
+ img: m3.default,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ img: m2.default,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ img: m1.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,
|
|
|
+ },
|
|
|
+ );
|
|
|
+};
|
|
|
+getPic();
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
.ysgc {
|
|
@@ -61,120 +122,64 @@ import { ref } from "vue";
|
|
|
width: 1650px;
|
|
|
min-width: 1280px;
|
|
|
margin: 0 auto;
|
|
|
- margin-top: -180px;
|
|
|
.specail {
|
|
|
- // width: 100%;
|
|
|
+ width: 100%;
|
|
|
display: flex;
|
|
|
+ justify-content: center;
|
|
|
flex-wrap: wrap;
|
|
|
- li {
|
|
|
- margin: 0 27px 27px 0;
|
|
|
- overflow: hidden;
|
|
|
- }
|
|
|
- .kind-name {
|
|
|
- width: 332px;
|
|
|
- height: 274px;
|
|
|
- background: #ffffff;
|
|
|
- border-radius: 12px;
|
|
|
- box-shadow: 0px 10px 24px 0px rgba(161, 153, 168, 0.18);
|
|
|
- padding: 49px 20px;
|
|
|
- box-sizing: border-box;
|
|
|
- background-image: url("../../assets/ysgc/tskc.png");
|
|
|
- background-position: center -15px;
|
|
|
- h3 {
|
|
|
- width: 263px;
|
|
|
- height: 37px;
|
|
|
- font-size: 26px;
|
|
|
- font-family: PingFangSC, PingFangSC-Medium;
|
|
|
- font-weight: 500;
|
|
|
- text-align: left;
|
|
|
- color: #050026;
|
|
|
- line-height: 37px;
|
|
|
- }
|
|
|
- p {
|
|
|
- width: 246px;
|
|
|
- height: 22px;
|
|
|
- font-size: 16px;
|
|
|
- font-family: PingFangSC, PingFangSC-Regular;
|
|
|
- font-weight: 400;
|
|
|
- text-align: left;
|
|
|
- color: #050026;
|
|
|
- line-height: 22px;
|
|
|
- margin-top: 25px;
|
|
|
- }
|
|
|
- .btn-more {
|
|
|
- width: 111px;
|
|
|
- height: 31px;
|
|
|
- padding: 2px;
|
|
|
- box-sizing: border-box;
|
|
|
- border-radius: 38px;
|
|
|
- margin-top: 45px;
|
|
|
- background: linear-gradient(127deg, #3f64ff 10%, #8f78f8 91%);
|
|
|
- button {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- padding-left: 6px;
|
|
|
- background: #fff;
|
|
|
- border-radius: 38px;
|
|
|
- font-weight: 400;
|
|
|
- font-size: 14px;
|
|
|
- color: #6c5dd3;
|
|
|
- line-height: 20px;
|
|
|
- letter-spacing: 0.6px;
|
|
|
- border-image: linear-gradient(127deg, #3f64ff 10%, #8f78f8 91%) 1 1;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ margin: 42px auto;
|
|
|
.kc {
|
|
|
+ margin-right: 25px;
|
|
|
width: 337px;
|
|
|
- height: 278px;
|
|
|
- background: #ffffff;
|
|
|
+ overflow: hidden;
|
|
|
border-radius: 12px;
|
|
|
box-shadow: 0px 10px 24px 0px rgba(161, 153, 168, 0.18);
|
|
|
position: relative;
|
|
|
.kc-back {
|
|
|
width: 100%;
|
|
|
}
|
|
|
- .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 {
|
|
|
- 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;
|
|
|
- }
|
|
|
+ }
|
|
|
+ .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;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+::v-deep .work-tabs {
|
|
|
+ // width: 1560px;
|
|
|
+ margin: 0 auto;
|
|
|
+ .el-tabs{
|
|
|
+ width: 100%;
|
|
|
+ .el-tabs__header{
|
|
|
+ .el-tabs__nav{
|
|
|
+ margin: 0 auto;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .el-tabs__content {
|
|
|
+ padding: 32px;
|
|
|
+ color: #6b778c;
|
|
|
+ font-size: 32px;
|
|
|
+ // font-weight: 600;
|
|
|
+}
|
|
|
+}
|
|
|
+
|
|
|
</style>
|