门户改版代码提交
This commit is contained in:
parent
2c9e873408
commit
9a96d2517f
|
@ -22,9 +22,6 @@
|
||||||
<style scoped lang='scss'>
|
<style scoped lang='scss'>
|
||||||
.app_footer {
|
.app_footer {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-color: #fff;
|
|
||||||
padding-top: 20px;
|
|
||||||
|
|
||||||
|
|
||||||
.extra {
|
.extra {
|
||||||
background-color: #1F6682;
|
background-color: #1F6682;
|
||||||
|
|
|
@ -196,7 +196,7 @@ const handleSubjectClick = (item) => {
|
||||||
grid-template-columns: repeat(4, 1fr);
|
grid-template-columns: repeat(4, 1fr);
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
width: 1240px;
|
width: 1240px;
|
||||||
height: 300px;
|
height: 220px;
|
||||||
background-color: #D7F3EE;
|
background-color: #D7F3EE;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
@ -220,7 +220,7 @@ const handleSubjectClick = (item) => {
|
||||||
.stat-item-img {
|
.stat-item-img {
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
background-color: #D4F3ED;
|
background-color: #D4F3ED;
|
||||||
height: 180px;
|
height: 100px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
@ -236,8 +236,8 @@ const handleSubjectClick = (item) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
.column {
|
.column {
|
||||||
height: 290px;
|
height: 280px;
|
||||||
margin-top: 20px;
|
margin-top: 10px;
|
||||||
|
|
||||||
::v-deep() {
|
::v-deep() {
|
||||||
.el-card {
|
.el-card {
|
||||||
|
@ -277,7 +277,7 @@ const handleSubjectClick = (item) => {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
.class-book {
|
.class-book {
|
||||||
height: 95px;
|
height: 70px;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(12, 1fr);
|
grid-template-columns: repeat(12, 1fr);
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
|
|
|
@ -4,9 +4,24 @@ import LayoutFooter from './components/LayoutFooter.vue'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<LayoutHeader />
|
<div class="box">
|
||||||
<!-- 添加key 破坏复用机制 强制销毁重建 -->
|
<LayoutHeader />
|
||||||
<!-- <RouterView :key="$route.fullPath" /> -->
|
<!-- 添加key 破坏复用机制 强制销毁重建 -->
|
||||||
<RouterView />
|
<!-- <RouterView :key="$route.fullPath" /> -->
|
||||||
<LayoutFooter />
|
<RouterView class="content" />
|
||||||
</template>
|
<LayoutFooter class="footer" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.box {
|
||||||
|
height: 100vh;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.content {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -1,38 +1,47 @@
|
||||||
<template>
|
<template>
|
||||||
<MyHeader></MyHeader>
|
<div class="my-container">
|
||||||
<div class="container">
|
<MyHeader></MyHeader>
|
||||||
<el-card v-loading="loading" element-loading-text="数据加载中...">
|
<div class="container">
|
||||||
<div class="book-grid" v-if="resourceList.length > 0">
|
<div class="bread-container">
|
||||||
<el-card v-for="item in resourceList">
|
<el-breadcrumb separator=">">
|
||||||
<div class="book-content" @click="goto(item)">
|
<el-breadcrumb-item :to="{ path: '/myUpload' }">个人中心</el-breadcrumb-item>
|
||||||
<img class="file-type" src="@/assets/images/word.png" alt="">
|
<el-breadcrumb-item>我的收藏</el-breadcrumb-item>
|
||||||
<img src="@/assets/images/book.png" alt="">
|
</el-breadcrumb>
|
||||||
</div>
|
|
||||||
|
|
||||||
<template #footer>
|
|
||||||
<div class="book-title">{{ item.fileName }}</div>
|
|
||||||
<div class="book-des">
|
|
||||||
<div class="book-teacher">
|
|
||||||
<el-space spacer="|">
|
|
||||||
<span>{{ item.createBy }}</span>
|
|
||||||
<span>{{ item.createDept }}</span>
|
|
||||||
</el-space>
|
|
||||||
</div>
|
|
||||||
<div class="book-view">
|
|
||||||
<el-icon @click="handleCollect(item)">
|
|
||||||
<Pointer :color="item.isCollect ? '#FE4A4B' : ''" />
|
|
||||||
</el-icon>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-card>
|
|
||||||
</div>
|
</div>
|
||||||
<el-empty v-else description="暂无数据" />
|
|
||||||
<el-pagination class="book-page" background layout="prev, pager, next, sizes,jumper" :total="total"
|
<el-card v-loading="loading" element-loading-text="数据加载中...">
|
||||||
@current-change="handleCurrentChange" @size-change="handleSizeChange" />
|
<div class="book-grid" v-if="resourceList.length > 0">
|
||||||
</el-card>
|
<el-card v-for="item in resourceList">
|
||||||
|
<div class="book-content" @click="goto(item)">
|
||||||
|
<img class="file-type" src="@/assets/images/word.png" alt="">
|
||||||
|
<img src="@/assets/images/book.png" alt="">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<template #footer>
|
||||||
|
<div class="book-title">{{ item.fileName }}</div>
|
||||||
|
<div class="book-des">
|
||||||
|
<div class="book-teacher">
|
||||||
|
<el-space spacer="|">
|
||||||
|
<span>{{ item.createBy }}</span>
|
||||||
|
<span>{{ item.createDept }}</span>
|
||||||
|
</el-space>
|
||||||
|
</div>
|
||||||
|
<div class="book-view">
|
||||||
|
<el-icon @click="handleCollect(item)">
|
||||||
|
<Pointer :color="item.isCollect ? '#FE4A4B' : ''" />
|
||||||
|
</el-icon>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
<el-empty v-else description="暂无数据" />
|
||||||
|
<el-pagination class="book-page" background layout="prev, pager, next, sizes,jumper" :total="total"
|
||||||
|
@current-change="handleCurrentChange" @size-change="handleSizeChange" />
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
<MyFooter></MyFooter>
|
||||||
</div>
|
</div>
|
||||||
<MyFooter></MyFooter>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
@ -75,7 +84,7 @@ const handleSizeChange = (val) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const goto = (item) => {
|
const goto = (item) => {
|
||||||
router.push({ path: 'subjectDetail', query: { id: item.id } })
|
// router.push({ path: 'subjectDetail', query: { id: item.id } })
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleCollect = async (item) => {
|
const handleCollect = async (item) => {
|
||||||
|
@ -94,42 +103,62 @@ const handleCollect = async (item) => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.container {
|
.my-container {
|
||||||
.book-grid {
|
height: 100vh;
|
||||||
margin-top: 10px;
|
display: flex;
|
||||||
display: grid;
|
flex-direction: column;
|
||||||
grid-template-columns: repeat(4, 1fr);
|
justify-content: space-between;
|
||||||
grid-template-rows: repeat(2, 1fr);
|
|
||||||
gap: 7px;
|
|
||||||
|
|
||||||
.book-content {
|
.container {
|
||||||
position: relative;
|
.bread-container {
|
||||||
|
padding: 25px 0;
|
||||||
|
|
||||||
.file-type {
|
:deep(.el-breadcrumb__inner) {
|
||||||
position: absolute;
|
color: #fff;
|
||||||
top: 0;
|
font-size: 16px;
|
||||||
left: 0;
|
}
|
||||||
width: 25px;
|
|
||||||
|
:deep(.el-breadcrumb__separator) {
|
||||||
|
color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.book-title {
|
.book-grid {
|
||||||
font-size: 16px;
|
margin-top: 10px;
|
||||||
font-weight: bold;
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, 1fr);
|
||||||
|
grid-template-rows: repeat(2, 1fr);
|
||||||
|
gap: 7px;
|
||||||
|
|
||||||
|
.book-content {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.file-type {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 25px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.book-title {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.book-des {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
color: #919DA3;
|
||||||
|
padding: 5px 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.book-des {
|
.book-page {
|
||||||
|
margin-top: 20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: end
|
||||||
color: #919DA3;
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.book-page {
|
|
||||||
margin-top: 20px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: end
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -1,38 +1,47 @@
|
||||||
<template>
|
<template>
|
||||||
<MyHeader></MyHeader>
|
<div class="my-container">
|
||||||
<div class="container">
|
<MyHeader></MyHeader>
|
||||||
<el-card v-loading="loading" element-loading-text="数据加载中...">
|
<div class="container">
|
||||||
<div class="book-grid" v-if="resourceList.length > 0">
|
<div class="bread-container">
|
||||||
<el-card v-for="item in resourceList">
|
<el-breadcrumb separator=">">
|
||||||
<div class="book-content" @click="goto(item)">
|
<el-breadcrumb-item :to="{ path: '/myUpload' }">个人中心</el-breadcrumb-item>
|
||||||
<img class="file-type" src="@/assets/images/word.png" alt="">
|
<el-breadcrumb-item>我的点赞</el-breadcrumb-item>
|
||||||
<img src="@/assets/images/book.png" alt="">
|
</el-breadcrumb>
|
||||||
</div>
|
|
||||||
|
|
||||||
<template #footer>
|
|
||||||
<div class="book-title">{{ item.fileName }}</div>
|
|
||||||
<div class="book-des">
|
|
||||||
<div class="book-teacher">
|
|
||||||
<el-space spacer="|">
|
|
||||||
<span>{{ item.createBy }}</span>
|
|
||||||
<span>{{ item.createDept }}</span>
|
|
||||||
</el-space>
|
|
||||||
</div>
|
|
||||||
<div class="book-view">
|
|
||||||
<el-icon @click="handleLike(item)">
|
|
||||||
<Star :color="item.isLike ? '#FE4A4B' : ''" />
|
|
||||||
</el-icon>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-card>
|
|
||||||
</div>
|
</div>
|
||||||
<el-empty v-else description="暂无数据" />
|
|
||||||
<el-pagination class="book-page" background layout="prev, pager, next, sizes,jumper" :total="total"
|
<el-card v-loading="loading" element-loading-text="数据加载中...">
|
||||||
@current-change="handleCurrentChange" @size-change="handleSizeChange" />
|
<div class="book-grid" v-if="resourceList.length > 0">
|
||||||
</el-card>
|
<el-card v-for="item in resourceList">
|
||||||
|
<div class="book-content" @click="goto(item)">
|
||||||
|
<img class="file-type" src="@/assets/images/word.png" alt="">
|
||||||
|
<img src="@/assets/images/book.png" alt="">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<template #footer>
|
||||||
|
<div class="book-title">{{ item.fileName }}</div>
|
||||||
|
<div class="book-des">
|
||||||
|
<div class="book-teacher">
|
||||||
|
<el-space spacer="|">
|
||||||
|
<span>{{ item.createBy }}</span>
|
||||||
|
<span>{{ item.createDept }}</span>
|
||||||
|
</el-space>
|
||||||
|
</div>
|
||||||
|
<div class="book-view">
|
||||||
|
<el-icon @click="handleLike(item)">
|
||||||
|
<Star :color="item.isLike ? '#FE4A4B' : ''" />
|
||||||
|
</el-icon>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
<el-empty v-else description="暂无数据" />
|
||||||
|
<el-pagination class="book-page" background layout="prev, pager, next, sizes,jumper" :total="total"
|
||||||
|
@current-change="handleCurrentChange" @size-change="handleSizeChange" />
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
<MyFooter></MyFooter>
|
||||||
</div>
|
</div>
|
||||||
<MyFooter></MyFooter>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
@ -75,7 +84,7 @@ const handleSizeChange = (val) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const goto = (item) => {
|
const goto = (item) => {
|
||||||
router.push({ path: 'subjectDetail', query: { id: item.id } })
|
// router.push({ path: 'subjectDetail', query: { id: item.id } })
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleLike = async (item) => {
|
const handleLike = async (item) => {
|
||||||
|
@ -94,42 +103,62 @@ const handleLike = async (item) => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.container {
|
.my-container {
|
||||||
.book-grid {
|
height: 100vh;
|
||||||
margin-top: 10px;
|
display: flex;
|
||||||
display: grid;
|
flex-direction: column;
|
||||||
grid-template-columns: repeat(4, 1fr);
|
justify-content: space-between;
|
||||||
grid-template-rows: repeat(2, 1fr);
|
|
||||||
gap: 7px;
|
|
||||||
|
|
||||||
.book-content {
|
.container {
|
||||||
position: relative;
|
.bread-container {
|
||||||
|
padding: 25px 0;
|
||||||
|
|
||||||
.file-type {
|
:deep(.el-breadcrumb__inner) {
|
||||||
position: absolute;
|
color: #fff;
|
||||||
top: 0;
|
font-size: 16px;
|
||||||
left: 0;
|
}
|
||||||
width: 25px;
|
|
||||||
|
:deep(.el-breadcrumb__separator) {
|
||||||
|
color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.book-title {
|
.book-grid {
|
||||||
font-size: 16px;
|
margin-top: 10px;
|
||||||
font-weight: bold;
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, 1fr);
|
||||||
|
grid-template-rows: repeat(2, 1fr);
|
||||||
|
gap: 7px;
|
||||||
|
|
||||||
|
.book-content {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.file-type {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 25px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.book-title {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.book-des {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
color: #919DA3;
|
||||||
|
padding: 5px 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.book-des {
|
.book-page {
|
||||||
|
margin-top: 20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: end
|
||||||
color: #919DA3;
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.book-page {
|
|
||||||
margin-top: 20px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: end
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -1,33 +1,41 @@
|
||||||
<template>
|
<template>
|
||||||
<MyHeader></MyHeader>
|
<div class="my-container">
|
||||||
<div class="container">
|
<MyHeader></MyHeader>
|
||||||
<el-card v-loading="loading" element-loading-text="数据加载中...">
|
<div class="container">
|
||||||
<div class="book-grid" v-if="resourceList.length > 0">
|
<div class="bread-container">
|
||||||
<el-card v-for="item in resourceList">
|
<el-breadcrumb separator=">">
|
||||||
<div class="book-content" @click="goto(item)">
|
<el-breadcrumb-item :to="{ path: '/myUpload' }">个人中心</el-breadcrumb-item>
|
||||||
<img class="file-type" src="@/assets/images/word.png" alt="">
|
<el-breadcrumb-item>我的收藏</el-breadcrumb-item>
|
||||||
<img src="@/assets/images/book.png" alt="">
|
</el-breadcrumb>
|
||||||
</div>
|
|
||||||
|
|
||||||
<template #footer>
|
|
||||||
<div class="book-title">{{ item.fileName }}</div>
|
|
||||||
<div class="book-des">
|
|
||||||
<div class="book-teacher">
|
|
||||||
<el-space spacer="|">
|
|
||||||
<span>{{ item.createBy }}</span>
|
|
||||||
<span>{{ item.createDept }}</span>
|
|
||||||
</el-space>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-card>
|
|
||||||
</div>
|
</div>
|
||||||
<el-empty v-else description="暂无数据" />
|
<el-card v-loading="loading" element-loading-text="数据加载中...">
|
||||||
<el-pagination class="book-page" background layout="prev, pager, next, sizes,jumper" :total="total"
|
<div class="book-grid" v-if="resourceList.length > 0">
|
||||||
@current-change="handleCurrentChange" @size-change="handleSizeChange" />
|
<el-card v-for="item in resourceList">
|
||||||
</el-card>
|
<div class="book-content" @click="goto(item)">
|
||||||
|
<img class="file-type" src="@/assets/images/word.png" alt="">
|
||||||
|
<img src="@/assets/images/book.png" alt="">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<template #footer>
|
||||||
|
<div class="book-title">{{ item.fileName }}</div>
|
||||||
|
<div class="book-des">
|
||||||
|
<div class="book-teacher">
|
||||||
|
<el-space spacer="|">
|
||||||
|
<span>{{ item.createBy }}</span>
|
||||||
|
<span>{{ item.createDept }}</span>
|
||||||
|
</el-space>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
<el-empty v-else description="暂无数据" />
|
||||||
|
<el-pagination class="book-page" background layout="prev, pager, next, sizes,jumper" :total="total"
|
||||||
|
@current-change="handleCurrentChange" @size-change="handleSizeChange" />
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
<MyFooter></MyFooter>
|
||||||
</div>
|
</div>
|
||||||
<MyFooter></MyFooter>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
@ -70,47 +78,67 @@ const handleSizeChange = (val) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const goto = (item) => {
|
const goto = (item) => {
|
||||||
router.push({ path: 'subjectDetail', query: { id: item.id } })
|
// router.push({ path: 'subjectDetail', query: { id: item.id } })
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.container {
|
.my-container {
|
||||||
.book-grid {
|
height: 100vh;
|
||||||
margin-top: 10px;
|
display: flex;
|
||||||
display: grid;
|
flex-direction: column;
|
||||||
grid-template-columns: repeat(4, 1fr);
|
justify-content: space-between;
|
||||||
grid-template-rows: repeat(2, 1fr);
|
|
||||||
gap: 7px;
|
|
||||||
|
|
||||||
.book-content {
|
.container {
|
||||||
position: relative;
|
.bread-container {
|
||||||
|
padding: 25px 0;
|
||||||
|
|
||||||
.file-type {
|
:deep(.el-breadcrumb__inner) {
|
||||||
position: absolute;
|
color: #fff;
|
||||||
top: 0;
|
font-size: 16px;
|
||||||
left: 0;
|
}
|
||||||
width: 25px;
|
|
||||||
|
:deep(.el-breadcrumb__separator) {
|
||||||
|
color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.book-title {
|
.book-grid {
|
||||||
font-size: 16px;
|
margin-top: 10px;
|
||||||
font-weight: bold;
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, 1fr);
|
||||||
|
grid-template-rows: repeat(2, 1fr);
|
||||||
|
gap: 7px;
|
||||||
|
|
||||||
|
.book-content {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.file-type {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 25px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.book-title {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.book-des {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
color: #919DA3;
|
||||||
|
padding: 5px 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.book-des {
|
.book-page {
|
||||||
|
margin-top: 20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: end
|
||||||
color: #919DA3;
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.book-page {
|
|
||||||
margin-top: 20px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: end
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -1,65 +1,65 @@
|
||||||
<template>
|
<template>
|
||||||
<MyHeader></MyHeader>
|
<div class="my-container">
|
||||||
<div class="container">
|
<MyHeader></MyHeader>
|
||||||
<div class="bread-container">
|
<div class="container">
|
||||||
<el-breadcrumb separator=">">
|
<div class="bread-container">
|
||||||
<el-breadcrumb-item :to="{ path: '/myUpload' }">个人中心</el-breadcrumb-item>
|
<el-breadcrumb separator=">">
|
||||||
<el-breadcrumb-item>我的上传</el-breadcrumb-item>
|
<el-breadcrumb-item :to="{ path: '/myUpload' }">个人中心</el-breadcrumb-item>
|
||||||
</el-breadcrumb>
|
<el-breadcrumb-item>我的上传</el-breadcrumb-item>
|
||||||
</div>
|
</el-breadcrumb>
|
||||||
|
</div>
|
||||||
|
|
||||||
<el-card class="news-card" v-loading="loading" element-loading-text="数据加载中...">
|
<el-card class="news-card" v-loading="loading" element-loading-text="数据加载中...">
|
||||||
<template #header>
|
<template #header>
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<div class="header-search">
|
<div class="header-search">
|
||||||
<el-space wrap>
|
<el-space wrap>
|
||||||
<span>名称</span>
|
<span>名称</span>
|
||||||
<el-input v-model="queryParams.title" style="width: 300px" placeholder="请输入关键词" clearable
|
<el-input v-model="queryParams.title" style="width: 300px" placeholder="请输入关键词" clearable
|
||||||
@clear="handleClear" />
|
@clear="handleClear" />
|
||||||
|
|
||||||
<span>格式</span>
|
<span>格式</span>
|
||||||
<el-select v-model="queryParams.fileSuffix" placeholder="请选择格式" style="width: 300px"
|
<el-select v-model="queryParams.fileSuffix" placeholder="请选择格式" style="width: 300px"
|
||||||
@keyup.enter="handleQuery">
|
@keyup.enter="handleQuery">
|
||||||
<el-option v-for="item in formatOptions" :key="item.value" :label="item.label" :value="item.value" />
|
<el-option v-for="item in formatOptions" :key="item.value" :label="item.label" :value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-button type="primary" :icon="Search" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" :icon="Search" @click="handleQuery">搜索</el-button>
|
||||||
</el-space>
|
</el-space>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</template>
|
||||||
</template>
|
|
||||||
|
|
||||||
<el-table v-if="tableData.length > 0" @row-click="handleRowClick" :data="tableData" class="table" stripe>
|
<el-table v-if="tableData.length > 0" @row-click="handleRowClick" :data="tableData" class="table" stripe>
|
||||||
<el-table-column prop="fileName" label="课件名称" align="center" />
|
<el-table-column prop="fileName" label="课件名称" align="center" />
|
||||||
<el-table-column prop="fileSuffix" label="课件格式" align="center" />
|
<el-table-column prop="fileSuffix" label="课件格式" align="center" />
|
||||||
<el-table-column prop="volume" label="课件大小" align="center" />
|
<el-table-column prop="volume" label="课件大小" align="center" />
|
||||||
<el-table-column prop="filePath" label="目录" align="center" width="320" />
|
<el-table-column prop="filePath" label="目录" align="center" width="320" />
|
||||||
<el-table-column prop="createTime" label="创建时间" align="center" />
|
<el-table-column prop="createTime" label="创建时间" align="center" />
|
||||||
<el-table-column label="操作" align="center">
|
<el-table-column label="操作" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button link type="primary" @click="preview(scope.row)">预览</el-button>
|
<el-button link type="primary" @click="preview(scope.row)">预览</el-button>
|
||||||
<el-button link type="primary" @click="downloadFile(scope.row)">下载</el-button>
|
<el-button link type="primary" @click="downloadFile(scope.row)">下载</el-button>
|
||||||
|
|
||||||
<el-popconfirm confirm-button-text="确认" cancel-button-text="取消" :icon="InfoFilled" icon-color="#626AEF"
|
<el-popconfirm confirm-button-text="确认" cancel-button-text="取消" :icon="InfoFilled" icon-color="#626AEF"
|
||||||
title="确认删除吗?" @confirm="handleDelete(scope.row)">
|
title="确认删除吗?" @confirm="handleDelete(scope.row)">
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-button link type="danger">删除</el-button>
|
<el-button link type="danger">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-popconfirm>
|
</el-popconfirm>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<el-empty v-else description="暂无数据" />
|
<el-empty v-else description="暂无数据" />
|
||||||
|
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-pagination class="footer" background layout="prev, pager, next, sizes,jumper" :total="total"
|
<el-pagination class="footer" background layout="prev, pager, next, sizes,jumper" :total="total"
|
||||||
@current-change="handleCurrentChange" @size-change="handleSizeChange" />
|
@current-change="handleCurrentChange" @size-change="handleSizeChange" />
|
||||||
</template>
|
</template>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
</el-card>
|
<MyFooter></MyFooter>
|
||||||
</div>
|
</div>
|
||||||
<MyFooter></MyFooter>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
@ -150,16 +150,8 @@ const handleClear = () => {
|
||||||
myUploadListData()
|
myUploadListData()
|
||||||
}
|
}
|
||||||
|
|
||||||
const goTarget = (url) => {
|
|
||||||
window.open(url, '__blank');
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleRowClick = (row) => {
|
const handleRowClick = (row) => {
|
||||||
if (row.type == 1) {
|
|
||||||
goTarget(row.url)
|
|
||||||
} else {
|
|
||||||
router.push(`news/${row.trendId}`)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const preview = (item) => {
|
const preview = (item) => {
|
||||||
|
@ -181,39 +173,48 @@ const handleDelete = async (row) => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.container {
|
.my-container {
|
||||||
.bread-container {
|
height: 100vh;
|
||||||
padding: 25px 0;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
:deep(.el-breadcrumb__inner) {
|
.container {
|
||||||
color: #fff;
|
flex: 1;
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.el-breadcrumb__separator) {
|
.bread-container {
|
||||||
color: #fff;
|
padding: 25px 0;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.news-card {
|
:deep(.el-breadcrumb__inner) {
|
||||||
margin-top: 20px;
|
color: #fff;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
.card-header {
|
:deep(.el-breadcrumb__separator) {
|
||||||
display: flex;
|
color: #fff;
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
.title {
|
|
||||||
font-size: 20px;
|
|
||||||
font-weight: bold;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer {
|
.news-card {
|
||||||
display: flex;
|
margin-top: 20px;
|
||||||
justify-content: end;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
.card-header {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
display: flex;
|
||||||
|
justify-content: end;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -8,7 +8,10 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-collapse v-model="activeNames">
|
<el-collapse v-model="activeNames">
|
||||||
<el-collapse-item title="" name="1">
|
<el-collapse-item title="" name="1" style="position: relative;">
|
||||||
|
<template #title>
|
||||||
|
<div style="position: absolute;right: 30px;font-size: 16px;">{{ activeNames == '1' ? '收起' : '展开' }}</div>
|
||||||
|
</template>
|
||||||
<el-form label-width="auto" style="padding-left: 20px;">
|
<el-form label-width="auto" style="padding-left: 20px;">
|
||||||
<el-form-item v-if="textbook2List && textbook2List.length" label="学段">
|
<el-form-item v-if="textbook2List && textbook2List.length" label="学段">
|
||||||
<el-radio-group v-model="radio2" @change="handle2Change">
|
<el-radio-group v-model="radio2" @change="handle2Change">
|
||||||
|
|
|
@ -19,12 +19,12 @@
|
||||||
|
|
||||||
<span>上传时间:{{ info.createTime }}</span>
|
<span>上传时间:{{ info.createTime }}</span>
|
||||||
|
|
||||||
<el-icon @click="handleLike">
|
<el-icon @click="handleCollect">
|
||||||
<Star :color="isLike ? '#FE4A4B' : ''" />
|
<Star :color="isCollect ? '#FE4A4B' : ''" />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
|
|
||||||
<el-icon @click="handleCollect">
|
<el-icon @click="handleLike">
|
||||||
<Pointer :color="isCollect ? '#FE4A4B' : ''" />
|
<Pointer :color="isLike ? '#FE4A4B' : ''" />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
|
|
Loading…
Reference in New Issue