|
|
@@ -1,71 +1,93 @@
|
|
|
<!-- 实验室安全素养资源卡 -->
|
|
|
<template>
|
|
|
<div class="resource-card">
|
|
|
- <div class="card-title">实验室安全素养资源卡</div>
|
|
|
- <!-- 分类 Tab 横向滚动 -->
|
|
|
- <div class="tab-scroll-wrap">
|
|
|
- <div class="tab-bar">
|
|
|
- <p v-for="(item,index) in topList" :key="index"
|
|
|
- :class="item.knowledgePointId == knowledgePointId?'check-p':''"
|
|
|
- @click="topButton(item.knowledgePointId)">{{ item.knowledgePointName }}</p>
|
|
|
+ <div class="resource-card-page">
|
|
|
+ <div class="card-title">实验室安全素养资源</div>
|
|
|
+ <div class="table-max-big-box">
|
|
|
+ <p class="table-for-p" :class="topCheckIndex == index ? 'check-table-p':''"
|
|
|
+ @click="topTableButton(index)"
|
|
|
+ v-for="(item,index) in tableList" :key="index">{{item.disciplineName}}</p>
|
|
|
+ <p class="table-null-p"></p>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="resource-body">
|
|
|
- <div class="left-max-big-box">
|
|
|
- <!--知识学习-->
|
|
|
- <div class="left-top-big-box">
|
|
|
- <div class="big-title-box">
|
|
|
- <p>知识学习</p>
|
|
|
+ <div class="resource-body-top">
|
|
|
+ <div class="left-resource-box">
|
|
|
+ <div class="resource-title-box">
|
|
|
+ <p class="el-icon-folder-opened"></p>
|
|
|
+ <p>学习资料</p>
|
|
|
<p @click="goPage(1)">查看更多</p>
|
|
|
</div>
|
|
|
- <div class="big-content-box scrollbar-box">
|
|
|
- <p class="null-p" v-if="!leftTopList[0]">暂无数据</p>
|
|
|
- <div class="for-big-box" v-for="(item,index) in leftTopList" :key="index" @click="tableButton(2,item)">
|
|
|
- <p>{{item.coursewareName}}</p>
|
|
|
- <p>{{secondsToMinutes(item.minLearningDuration)}}分钟丨{{item.creditHours}}学时丨{{item.points}}积分</p>
|
|
|
- <p :class="item.learnStatus==1?'colorA':(item.learnStatus==2?'colorB':'')">{{item.learnStatus==1?'学习中':(item.learnStatus==2?'已完成':'未学习')}}</p>
|
|
|
+ <div class="for-max-big-box" @click="tableButton(item)"
|
|
|
+ v-for="(item,index) in topLeftList" :key="index">
|
|
|
+ <div class="left-box">
|
|
|
+ <p v-if="item.materialType == 1" class="el-icon-video-play"></p>
|
|
|
+ <p v-if="item.materialType == 3" class="el-icon-document"></p>
|
|
|
+ <p v-if="item.materialType == 4" class="el-icon-reading"></p>
|
|
|
+ </div>
|
|
|
+ <div class="center-box">
|
|
|
+ <p>{{ item.coursewareName }}</p>
|
|
|
+ <p>{{ item.materialType == 4?'文章':item.attachmentType.substring(1) }}</p>
|
|
|
+ </div>
|
|
|
+ <div class="right-box">
|
|
|
+ <p class="el-icon-time"></p>
|
|
|
+ <p>{{secondsToMinutes(item.minLearningDuration)}}分钟</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!--刷题练习-->
|
|
|
- <div class="left-bottom-big-box">
|
|
|
- <div class="big-title-box">
|
|
|
- <p>刷题练习</p>
|
|
|
+ <div class="right-resource-box">
|
|
|
+ <div class="resource-title-box">
|
|
|
+ <p class="el-icon-edit-outline"></p>
|
|
|
+ <p>学习资料</p>
|
|
|
<p @click="goPage(2)">查看更多</p>
|
|
|
</div>
|
|
|
- <div class="big-content-box scrollbar-box">
|
|
|
- <p class="null-p" v-if="!leftBottomList[0]">暂无数据</p>
|
|
|
- <div class="for-big-box" v-for="(item,index) in leftBottomList" :key="index" @click="tableButton(1,item)">
|
|
|
- <div class="for-flex-box">
|
|
|
- <p class="el-icon-time"></p>
|
|
|
- <p :style="!item.lastAnswerTime?'font-size:14px;':''">{{item.lastAnswerTime?parseTime(item.lastAnswerTime,"{y}-{m}-{d} {h}:{i}"):'未练习'}}</p>
|
|
|
- </div>
|
|
|
- <p class="text-p">练习进度:{{item.answeredCount}}/{{item.totalCount}}</p>
|
|
|
- <p class="text-p">正确数:{{item.correctCount}}丨错题数:{{item.wrongCount}}丨正确率:{{item.correctRate}}%</p>
|
|
|
- <el-progress
|
|
|
- class="num-p" type="circle"
|
|
|
- :stroke-width="4"
|
|
|
- :width="60" :percentage="item.progress">
|
|
|
- </el-progress>
|
|
|
- </div>
|
|
|
+ <div class="for-max-big-box">
|
|
|
+ <p class="el-icon-notebook-2"></p>
|
|
|
+ <p>基础知识</p>
|
|
|
+ <p>120 题</p>
|
|
|
+ </div>
|
|
|
+ <div class="for-max-big-box">
|
|
|
+ <p class="el-icon-notebook-2"></p>
|
|
|
+ <p>基础知识</p>
|
|
|
+ <p>120 题</p>
|
|
|
+ </div>
|
|
|
+ <div class="for-max-big-box">
|
|
|
+ <p class="el-icon-notebook-2"></p>
|
|
|
+ <p>基础知识</p>
|
|
|
+ <p>120 题</p>
|
|
|
+ </div>
|
|
|
+ <div class="for-max-big-box">
|
|
|
+ <p class="el-icon-notebook-2"></p>
|
|
|
+ <p>基础知识</p>
|
|
|
+ <p>120 题</p>
|
|
|
+ </div>
|
|
|
+ <div class="for-max-big-box">
|
|
|
+ <p class="el-icon-notebook-2"></p>
|
|
|
+ <p>基础知识</p>
|
|
|
+ <p>120 题</p>
|
|
|
+ </div>
|
|
|
+ <div class="for-max-big-box">
|
|
|
+ <p class="el-icon-notebook-2"></p>
|
|
|
+ <p>基础知识</p>
|
|
|
+ <p>120 题</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!--视频资源学习-->
|
|
|
- <div class="right-max-big-box">
|
|
|
- <div class="big-title-box">
|
|
|
- <p>视频资源学习</p>
|
|
|
- <p @click="goPage(3)">查看更多</p>
|
|
|
- </div>
|
|
|
- <div class="big-content-box-1 scrollbar-box">
|
|
|
- <p class="null-p" v-if="!rightList[0]">暂无数据</p>
|
|
|
- <div class="for-big-box" v-for="(item,index) in rightList" :key="index" @click="tableButton(2,item)">
|
|
|
- <img :src="item.exampleImg">
|
|
|
- <div class="text-box">
|
|
|
- <p>{{item.coursewareName}}</p>
|
|
|
- <p>{{secondsToMinutes(item.minLearningDuration)}}分钟丨{{item.creditHours}}学时丨{{item.points}}积分</p>
|
|
|
- <p :class="item.learnStatus==1?'colorA':(item.learnStatus==2?'colorB':'')">{{item.learnStatus==1?'学习中':(item.learnStatus==2?'已完成':'未学习')}}</p>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div class="resource-card-page">
|
|
|
+ <div class="card-title">视频学习资源</div>
|
|
|
+ <p class="skip-button" @click="goPage(3)">查看更多</p>
|
|
|
+ <div class="table-max-big-box">
|
|
|
+ <p class="table-for-p" :class="bottomCheckIndex == index ? 'check-table-p':''"
|
|
|
+ @click="bottomTableButton(index)"
|
|
|
+ v-for="(item,index) in tableList" :key="index">{{item.disciplineName}}</p>
|
|
|
+ <p class="table-null-p"></p>
|
|
|
+ </div>
|
|
|
+ <div class="resource-body-bottom">
|
|
|
+ <div class="for-max-big-box" @click="tableButton(item)"
|
|
|
+ v-for="(item,index) in bottomList" :key="index">
|
|
|
+ <img :src="item.exampleImg">
|
|
|
+ <div>
|
|
|
+ <p>{{item.coursewareName}}</p>
|
|
|
+ <p>{{secondsToMinutes(item.minLearningDuration)}}分钟 丨 {{item.creditHours}}学时 丨 {{item.points}}积分</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -75,91 +97,85 @@
|
|
|
|
|
|
<script>
|
|
|
import {
|
|
|
- examUserCoursewareLearningKnowledgePoints,examUserCoursewareLearningRestart,
|
|
|
+ examElDisciplineTypeList,examUserCoursewareLearningRestart,
|
|
|
examUserPracticeList,examUserCoursewareLearningList,
|
|
|
} from "@/api/safetyEducationExaminationNew/index";
|
|
|
export default {
|
|
|
name: 'ResourceCard',
|
|
|
data() {
|
|
|
return {
|
|
|
- topList:[],
|
|
|
- knowledgePointId:'',
|
|
|
- leftTopList:[],
|
|
|
- leftBottomList:[],
|
|
|
- rightList:[],
|
|
|
+ topCheckIndex:0,
|
|
|
+ bottomCheckIndex:0,
|
|
|
+ tableList:[],
|
|
|
+ topLeftList:[],
|
|
|
+ topRightList:[],
|
|
|
+ bottomList:[],
|
|
|
}
|
|
|
},
|
|
|
mounted(){
|
|
|
- this.examUserCoursewareLearningKnowledgePoints();
|
|
|
+ this.examElDisciplineTypeList();
|
|
|
},
|
|
|
methods:{
|
|
|
- tableButton(type,item){
|
|
|
- if(type == 1){
|
|
|
- //刷题练习
|
|
|
+ //顶部选项切换
|
|
|
+ topTableButton(index){
|
|
|
+ if(this.topCheckIndex != index){
|
|
|
+ this.$set(this,'topCheckIndex',index);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ bottomTableButton(index){
|
|
|
+ if(this.bottomCheckIndex != index){
|
|
|
+ this.$set(this,'bottomCheckIndex',index);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ tableButton(item){
|
|
|
+ let self = this;
|
|
|
+ if(item.learnStatus == 2){
|
|
|
+ this.$confirm('该课件已学完,是否重置进度重新学习?', "提示", {
|
|
|
+ confirmButtonText: "确认",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(function() {
|
|
|
+ }).then(() => {
|
|
|
+ examUserCoursewareLearningRestart({coursewareId:item.coursewareId}).then(response => {
|
|
|
+ self.$router.push({
|
|
|
+ path: '/learningMaterials',
|
|
|
+ query: {
|
|
|
+ coursewareId: item.coursewareId,
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+ }).catch(() => {});
|
|
|
+ }else{
|
|
|
this.$router.push({
|
|
|
- name: 'startPracticing',
|
|
|
- params: {
|
|
|
- knowledgePointId: item.knowledgePointId,
|
|
|
- type: '1'
|
|
|
+ path: '/learningMaterials',
|
|
|
+ query: {
|
|
|
+ coursewareId: item.coursewareId,
|
|
|
}
|
|
|
})
|
|
|
- }else if(type == 2){
|
|
|
- let self = this;
|
|
|
- if(item.learnStatus == 2){
|
|
|
- this.$confirm('该课件已学完,是否重置进度重新学习?', "提示", {
|
|
|
- confirmButtonText: "确认",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning"
|
|
|
- }).then(function() {
|
|
|
- }).then(() => {
|
|
|
- examUserCoursewareLearningRestart({coursewareId:item.coursewareId}).then(response => {
|
|
|
- self.$router.push({
|
|
|
- name: 'learningMaterials',
|
|
|
- params: {
|
|
|
- coursewareId: item.coursewareId,
|
|
|
- }
|
|
|
- })
|
|
|
- });
|
|
|
- }).catch(() => {});
|
|
|
- }else{
|
|
|
- this.$router.push({
|
|
|
- name: 'learningMaterials',
|
|
|
- params: {
|
|
|
- coursewareId: item.coursewareId,
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- topButton(val){
|
|
|
- if(this.knowledgePointId != val){
|
|
|
- this.$set(this,'knowledgePointId',val);
|
|
|
- this.leftExamUserCoursewareLearningList();
|
|
|
- this.rightExamUserCoursewareLearningList();
|
|
|
- this.examUserPracticeList();
|
|
|
}
|
|
|
},
|
|
|
goPage(type){
|
|
|
//1.文章文档 2.刷题 3.视频
|
|
|
if(type == 1){
|
|
|
this.$router.push({
|
|
|
- name: 'knowledgeLearning',
|
|
|
- params: {
|
|
|
+ path: '/safetyEducationExaminationNew/safetyEducation/knowledgeLearning',
|
|
|
+ query: {
|
|
|
skip: true,
|
|
|
}
|
|
|
})
|
|
|
}else if(type == 2){
|
|
|
this.$router.push({
|
|
|
- name: 'practiceQuestions',
|
|
|
- params: {}
|
|
|
+ path: '/safetyEducationExaminationNew/safetyTest/practiceQuestions',
|
|
|
+ query: {}
|
|
|
})
|
|
|
}else if(type == 3){
|
|
|
this.$router.push({
|
|
|
- name: 'knowledgeLearning',
|
|
|
- params: {}
|
|
|
+ path: '/safetyEducationExaminationNew/safetyEducation/knowledgeLearning',
|
|
|
+ query: {}
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
+ //文章
|
|
|
leftExamUserCoursewareLearningList(){
|
|
|
let obj = {
|
|
|
page:1,
|
|
|
@@ -168,9 +184,10 @@ export default {
|
|
|
knowledgePointId:this.knowledgePointId,
|
|
|
}
|
|
|
examUserCoursewareLearningList(obj).then(response => {
|
|
|
- this.$set(this, 'leftTopList', response.data.records)
|
|
|
+ this.$set(this, 'topLeftList', response.data.records)
|
|
|
})
|
|
|
},
|
|
|
+ //视频
|
|
|
rightExamUserCoursewareLearningList(){
|
|
|
let obj = {
|
|
|
page:1,
|
|
|
@@ -179,22 +196,24 @@ export default {
|
|
|
knowledgePointId:this.knowledgePointId,
|
|
|
}
|
|
|
examUserCoursewareLearningList(obj).then(response => {
|
|
|
- this.$set(this, 'rightList', response.data.records)
|
|
|
+ this.$set(this, 'bottomList', response.data.records)
|
|
|
})
|
|
|
},
|
|
|
+ //知识点题库
|
|
|
examUserPracticeList(){
|
|
|
let obj = {
|
|
|
page:1,
|
|
|
- pageSize:1,
|
|
|
+ pageSize:6,
|
|
|
knowledgePointId:this.knowledgePointId,
|
|
|
}
|
|
|
examUserPracticeList(obj).then(response => {
|
|
|
- this.$set(this, 'leftBottomList', response.data.records)
|
|
|
+ this.$set(this, 'topRightList', response.data.records)
|
|
|
})
|
|
|
},
|
|
|
- examUserCoursewareLearningKnowledgePoints(){
|
|
|
- examUserCoursewareLearningKnowledgePoints({}).then(response => {
|
|
|
- this.$set(this, 'topList', [{knowledgePointName:'总览',knowledgePointId:''},...response.data])
|
|
|
+ //类型选项卡数据
|
|
|
+ examElDisciplineTypeList(){
|
|
|
+ examElDisciplineTypeList({}).then(response => {
|
|
|
+ this.$set(this, 'tableList', response.data)
|
|
|
this.leftExamUserCoursewareLearningList();
|
|
|
this.rightExamUserCoursewareLearningList();
|
|
|
this.examUserPracticeList();
|
|
|
@@ -213,273 +232,248 @@ export default {
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
.resource-card {
|
|
|
- background: #fff;
|
|
|
- border-radius: 6px;
|
|
|
- margin-bottom: 12px;
|
|
|
- box-shadow: 0 1px 4px rgba(0,0,0,0.06);
|
|
|
-
|
|
|
- .card-title {
|
|
|
- font-size: 16px;
|
|
|
- font-weight: 700;
|
|
|
- line-height:20px;
|
|
|
- color: #333;
|
|
|
- margin:20px 0 20px 20px;
|
|
|
- }
|
|
|
-
|
|
|
- .tab-scroll-wrap {
|
|
|
- height:60px;
|
|
|
- overflow-x: auto;
|
|
|
- padding-bottom: 4px;
|
|
|
- margin:20px 20px 0 20px;
|
|
|
-
|
|
|
- &::-webkit-scrollbar { height: 4px; }
|
|
|
- &::-webkit-scrollbar-thumb { background: #ddd; border-radius: 2px; }
|
|
|
-
|
|
|
- .tab-bar {
|
|
|
+ .resource-card-page{
|
|
|
+ background: #fff;
|
|
|
+ margin-bottom: 12px;
|
|
|
+ background: rgba(255, 255, 255, 0.95);
|
|
|
+ border: 1px solid #e8edf5;
|
|
|
+ border-radius: 16px;
|
|
|
+ box-shadow: 0 4px 20px rgba(37, 50, 74, 0.06);
|
|
|
+ padding:20px;
|
|
|
+ position: relative;
|
|
|
+ .skip-button{
|
|
|
+ position: absolute;
|
|
|
+ top:50px;
|
|
|
+ right:25px;
|
|
|
+ color:#409EFF;
|
|
|
+ cursor: pointer;
|
|
|
+ font-size: 14px;
|
|
|
+ line-height:50px;
|
|
|
+ }
|
|
|
+ .card-title {
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 700;
|
|
|
+ line-height:20px;
|
|
|
+ color: #333;
|
|
|
+ margin-bottom:20px;
|
|
|
+ }
|
|
|
+ .table-max-big-box{
|
|
|
display: flex;
|
|
|
- gap: 6px;
|
|
|
- white-space: nowrap;
|
|
|
- width: max-content;
|
|
|
p{
|
|
|
height:40px;
|
|
|
- line-height:40px;
|
|
|
- border-radius:6px;
|
|
|
- border:1px solid #666;
|
|
|
- color:#666;
|
|
|
padding:0 20px;
|
|
|
- min-width: 100px;
|
|
|
+ line-height:40px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #303133;
|
|
|
text-align: center;
|
|
|
+ }
|
|
|
+ .table-for-p:nth-child(1){
|
|
|
+ border-left:1px solid #E4E7ED;
|
|
|
+ border-top-left-radius:4px;
|
|
|
+ }
|
|
|
+ :nth-last-child(2){
|
|
|
+ border-top-right-radius:4px;
|
|
|
+ }
|
|
|
+ .table-for-p{
|
|
|
+ border-top:1px solid #E4E7ED;
|
|
|
+ border-right:1px solid #E4E7ED;
|
|
|
+ border-bottom:1px solid #E4E7ED;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
- .check-p{
|
|
|
- color:#fff;
|
|
|
- background-color: #0183fa;
|
|
|
- border: 1px solid #0183fa;
|
|
|
+ .table-null-p{
|
|
|
+ flex:1;
|
|
|
+ border-bottom:1px solid #E4E7ED;
|
|
|
+ }
|
|
|
+ .check-table-p{
|
|
|
+ color:#0183fa!important;
|
|
|
+ border-bottom:none!important;
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- .resource-body {
|
|
|
- height:910px;
|
|
|
- display: flex;
|
|
|
- .left-max-big-box{
|
|
|
- flex:1;
|
|
|
+ .resource-body-top{
|
|
|
+ height:500px;
|
|
|
+ border-left:1px solid #E4E7ED;
|
|
|
+ border-right:1px solid #E4E7ED;
|
|
|
+ border-bottom:1px solid #E4E7ED;
|
|
|
display: flex;
|
|
|
- flex-direction: column;
|
|
|
- overflow: hidden;
|
|
|
- padding:15px 0 20px 20px;
|
|
|
- .left-top-big-box{
|
|
|
- height:620px;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
+ .left-resource-box{
|
|
|
+ flex:1;
|
|
|
+ padding:10px 15px 20px 20px;
|
|
|
overflow: hidden;
|
|
|
- border-radius:10px;
|
|
|
- box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
|
|
|
- margin-bottom:20px;
|
|
|
- margin-right:20px;
|
|
|
- padding-bottom:20px;
|
|
|
- .null-p{
|
|
|
- text-align: center;
|
|
|
- line-height:400px;
|
|
|
- color:#999;
|
|
|
- font-size:14px;
|
|
|
- }
|
|
|
- .for-big-box{
|
|
|
- margin:12px 14px 0 20px;
|
|
|
- background-color: rgba(1, 131, 250, 0.1);
|
|
|
- border-radius:6px;
|
|
|
- padding:24px 20px;
|
|
|
- position: relative;
|
|
|
+ .for-max-big-box{
|
|
|
+ margin-top:15px;
|
|
|
+ border: 1px solid #e8edf3;
|
|
|
+ border-radius: 10px;
|
|
|
+ padding: 14px;
|
|
|
+ display: flex;
|
|
|
+ align-items: flex-start;
|
|
|
+ gap: 12px;
|
|
|
cursor: pointer;
|
|
|
- p:nth-child(1){
|
|
|
- font-size:16px;
|
|
|
- font-weight:700;
|
|
|
- color:#0183fa;
|
|
|
- line-height: 24px;
|
|
|
- }
|
|
|
- p:nth-child(2){
|
|
|
- font-size:14px;
|
|
|
- color:#333;
|
|
|
- line-height: 24px;
|
|
|
- }
|
|
|
- p:nth-child(3){
|
|
|
- position: absolute;
|
|
|
- bottom:20px;
|
|
|
- right:20px;
|
|
|
- font-size:14px;
|
|
|
- border-radius:4px;
|
|
|
- line-height: 24px;
|
|
|
- width: 60px;
|
|
|
+ transition: all 0.2s;
|
|
|
+ background: #fafbfd;
|
|
|
+ .left-box{
|
|
|
+ width:40px;
|
|
|
+ height:40px;
|
|
|
+ border-radius: 8px;
|
|
|
+ background: #eef3ff;
|
|
|
text-align: center;
|
|
|
- background-color: #999;
|
|
|
- color:#fff;
|
|
|
- }
|
|
|
- .colorA{
|
|
|
- border:1px solid #0183fa;
|
|
|
- background-color: #fff!important;
|
|
|
- color:#0183fa!important;
|
|
|
- }
|
|
|
- .colorB{
|
|
|
- background-color: #0183fa!important;
|
|
|
- color:#fff!important;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .left-bottom-big-box{
|
|
|
- height:235px;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- overflow: hidden;
|
|
|
- border-radius:10px;
|
|
|
- margin-right:20px;
|
|
|
- box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
|
|
|
- padding-bottom:20px;
|
|
|
- .null-p{
|
|
|
- text-align: center;
|
|
|
- line-height:140px;
|
|
|
- color:#999;
|
|
|
- font-size:14px;
|
|
|
- }
|
|
|
- .for-big-box{
|
|
|
- margin:12px 14px 0 20px;
|
|
|
- background-color: rgba(1, 131, 250, 0.1);
|
|
|
- border-radius:6px;
|
|
|
- padding:16px 20px;
|
|
|
- position: relative;
|
|
|
- cursor: pointer;
|
|
|
- .for-flex-box{
|
|
|
- display: flex;
|
|
|
- color:#0183fa;
|
|
|
p{
|
|
|
- font-weight:700;
|
|
|
+ font-size: 20px;
|
|
|
+ color: #5b95f7;
|
|
|
+ line-height:40px;
|
|
|
+ text-align: center;
|
|
|
}
|
|
|
+ }
|
|
|
+ .center-box{
|
|
|
+ flex: 1;
|
|
|
p:nth-child(1){
|
|
|
- font-size:18px;
|
|
|
- line-height:40px;
|
|
|
- margin-right:5px;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #25324a;
|
|
|
+ font-weight: 500;
|
|
|
+ display: block;
|
|
|
+ margin-bottom: 5px;
|
|
|
+ /*单行省略号*/
|
|
|
+ overflow:hidden;
|
|
|
+ text-overflow:ellipsis;
|
|
|
+ white-space:nowrap;
|
|
|
}
|
|
|
p:nth-child(2){
|
|
|
- font-size:14px;
|
|
|
- line-height:40px;
|
|
|
+ font-size: 12px;
|
|
|
+ color: #93a0b5;
|
|
|
}
|
|
|
}
|
|
|
- .text-p{
|
|
|
- line-height:30px;
|
|
|
- font-size:14px;
|
|
|
- color:#666;
|
|
|
- font-weight:700;
|
|
|
- }
|
|
|
- .num-p{
|
|
|
- position: absolute;
|
|
|
- right:40px;
|
|
|
- top:35px;
|
|
|
- }
|
|
|
- .num-p ::v-deep .el-progress__text {
|
|
|
- margin-left:0!important;
|
|
|
- font-size:12px!important;
|
|
|
- }
|
|
|
- .num-p ::v-deep svg path:first-child {
|
|
|
- stroke: #cccccc !important; /* 修改为红色 */
|
|
|
+ .right-box{
|
|
|
+ display: flex;
|
|
|
+ margin-top:20px;
|
|
|
+ p{
|
|
|
+ font-size: 12px;
|
|
|
+ line-height:20px;
|
|
|
+ color: #60708a;
|
|
|
+ }
|
|
|
+ p:nth-child(1){
|
|
|
+ margin-right:4px;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ .for-max-big-box:hover{
|
|
|
+ border-color:#5b95f7;
|
|
|
+ background-color: #f0f6ff;
|
|
|
+ box-shadow: 0 2px 8px rgba(91,149,247,0.1);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- .right-max-big-box{
|
|
|
- flex:1;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- overflow: hidden;
|
|
|
- width:740px;
|
|
|
- border-radius:10px;
|
|
|
- box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
|
|
|
- margin:15px 20px 20px 0;
|
|
|
- .big-content-box-1{
|
|
|
+ .right-resource-box{
|
|
|
flex:1;
|
|
|
- .null-p{
|
|
|
- text-align: center;
|
|
|
- line-height:400px;
|
|
|
- color:#999;
|
|
|
- font-size:14px;
|
|
|
+ padding:10px 20px 20px 15px;
|
|
|
+ overflow: hidden;
|
|
|
+ .for-max-big-box:nth-child(even){
|
|
|
+ margin:15px 15px 0 0!important;
|
|
|
}
|
|
|
- .for-big-box{
|
|
|
- margin:12px 0 0 20px;
|
|
|
+ .for-max-big-box{
|
|
|
+ margin-top:15px;
|
|
|
+ border: 1px solid #e8edf3;
|
|
|
+ border-radius: 10px;
|
|
|
+ padding: 16px 14px;
|
|
|
display: inline-block;
|
|
|
- width:346px;
|
|
|
- border-radius:6px;
|
|
|
- overflow: hidden;
|
|
|
- position: relative;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ gap: 8px;
|
|
|
cursor: pointer;
|
|
|
- img{
|
|
|
- width:346px;
|
|
|
- height:180px;
|
|
|
- display: block;
|
|
|
- overflow: hidden;
|
|
|
- margin: 0;
|
|
|
- padding: 0;
|
|
|
+ transition: all 0.2s;
|
|
|
+ background: #fafbfd;
|
|
|
+ text-align: center;
|
|
|
+ width:348px;
|
|
|
+ height:127px;
|
|
|
+ p:nth-child(1){
|
|
|
+ width:36px;
|
|
|
+ height:36px;
|
|
|
+ font-size:18px;
|
|
|
+ border-radius: 50%;
|
|
|
+ background-color: #eef3ff;
|
|
|
+ color:#5b95f7;
|
|
|
+ text-align: center;
|
|
|
+ line-height:36px;
|
|
|
+ margin-top:5px;
|
|
|
}
|
|
|
- .text-box{
|
|
|
- background-color: rgba(1, 131, 250, 0.1);
|
|
|
- p:nth-child(1){
|
|
|
- margin:0 20px;
|
|
|
- line-height:40px;
|
|
|
- color:#0183fa;
|
|
|
- font-size:16px;
|
|
|
- font-weight:700;
|
|
|
- }
|
|
|
- p:nth-child(2){
|
|
|
- margin:0 20px;
|
|
|
- line-height:20px;
|
|
|
- color:#333;
|
|
|
- font-size:14px;
|
|
|
- padding-bottom:10px;
|
|
|
- }
|
|
|
- p:nth-child(3){
|
|
|
- position: absolute;
|
|
|
- bottom:10px;
|
|
|
- right:10px;
|
|
|
- background-color: #999;
|
|
|
- color:#fff;
|
|
|
- font-size:14px;
|
|
|
- border-radius:4px;
|
|
|
- line-height: 24px;
|
|
|
- width: 60px;
|
|
|
- text-align: center;
|
|
|
- }
|
|
|
- .colorA{
|
|
|
- border:1px solid #0183fa;
|
|
|
- background-color: #fff!important;
|
|
|
- color:#0183fa!important;
|
|
|
- }
|
|
|
- .colorB{
|
|
|
- background-color: #0183fa!important;
|
|
|
- color:#fff!important;
|
|
|
- }
|
|
|
+ p:nth-child(2){
|
|
|
+ font-size: 13px;
|
|
|
+ color: #25324a;
|
|
|
+ font-weight: 500;
|
|
|
+ margin-top:10px;
|
|
|
+ }
|
|
|
+ p:nth-child(3){
|
|
|
+ font-size: 12px;
|
|
|
+ color: #93a0b5;
|
|
|
+ margin-top:5px;
|
|
|
}
|
|
|
}
|
|
|
+ .for-max-big-box:hover{
|
|
|
+ border-color:#5b95f7;
|
|
|
+ background-color: #f0f6ff;
|
|
|
+ box-shadow: 0 2px 8px rgba(91,149,247,0.1);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- .big-title-box{
|
|
|
- display: flex;
|
|
|
- height:60px;
|
|
|
- padding:0 20px;
|
|
|
- p{
|
|
|
- line-height:60px;
|
|
|
- font-size:16px;
|
|
|
- }
|
|
|
- p:nth-child(1){
|
|
|
- flex:1;
|
|
|
- font-weight: 700;
|
|
|
+ .resource-title-box{
|
|
|
+ display: flex;
|
|
|
+ border-bottom:1px solid #E4E7ED;
|
|
|
+ p{
|
|
|
+ font-size: 14px;
|
|
|
+ line-height:50px;
|
|
|
+ }
|
|
|
+ p:nth-child(1){
|
|
|
+ color: #5b95f7;
|
|
|
+ margin-right:10px;
|
|
|
+ }
|
|
|
+ p:nth-child(2){
|
|
|
+ flex:1;
|
|
|
+ color: #25324a;
|
|
|
+ font-weight: 600;
|
|
|
+ }
|
|
|
+ p:nth-child(3){
|
|
|
+ color:#409EFF;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
}
|
|
|
- p:nth-child(2){
|
|
|
+ }
|
|
|
+ .resource-body-bottom{
|
|
|
+ height:500px;
|
|
|
+ border-left:1px solid #E4E7ED;
|
|
|
+ border-right:1px solid #E4E7ED;
|
|
|
+ border-bottom:1px solid #E4E7ED;
|
|
|
+ .for-max-big-box{
|
|
|
+ display: inline-block;
|
|
|
+ border-radius: 10px;
|
|
|
+ overflow: hidden;
|
|
|
cursor: pointer;
|
|
|
- color:#0183fa;
|
|
|
- font-size:15px;
|
|
|
+ box-shadow: 0 2px 8px rgba(37, 50, 74, 0.08);
|
|
|
+ transition: transform 0.2s;
|
|
|
+ margin:15px 0 0 15px;
|
|
|
+ img{
|
|
|
+ display: block;
|
|
|
+ height: 164px;
|
|
|
+ width: 356px;
|
|
|
+ }
|
|
|
+ div{
|
|
|
+ padding: 12px;
|
|
|
+ p:nth-child(1){
|
|
|
+ font-size: 13px;
|
|
|
+ color: #25324a;
|
|
|
+ font-weight: 500;
|
|
|
+ margin-bottom: 4px;
|
|
|
+ /*单行省略号*/
|
|
|
+ display:block;
|
|
|
+ overflow:hidden;
|
|
|
+ text-overflow:ellipsis;
|
|
|
+ white-space:nowrap;
|
|
|
+ }
|
|
|
+ p:nth-child(2){
|
|
|
+ font-size: 11px;
|
|
|
+ color: #93a0b5;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .for-max-big-box:hover{
|
|
|
+ transform:translateY(-2px),
|
|
|
}
|
|
|
- }
|
|
|
- .big-content-box{
|
|
|
- flex:1;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
}
|
|
|
}
|
|
|
}
|