Browse Source

合并李文轩分支文件

liwenxuan_v2
超级管理员 2 years ago
parent
commit
e1d54ceb36
  1. 6
      src/api/knowledge/scroll.js
  2. 13
      src/views/knowledge/knowledge/components/KnowledgeContent.vue
  3. 16
      src/views/knowledge/knowledge/components/Navili.vue
  4. 73
      src/views/knowledge/knowledge/components/archivestype.vue
  5. 80
      src/views/knowledge/knowledge/index.vue
  6. 79
      src/views/knowledge/news/index.vue

6
src/api/knowledge/scroll.js

@ -14,7 +14,7 @@ export function onScroll() {
})
// 获取当前文档流的 scrollTop
//const scrollTop = document.documentElement.scrollTop || document.body.scrollTop
const scrollTop = document.querySelector('.app-container').scrollTop || document.body.scrollTop
const scrollTop = document.querySelector('.content').scrollTop || document.body.scrollTop
// 定义当前点亮的导航下标
let navIndex = 0
@ -25,9 +25,9 @@ export function onScroll() {
navIndex = n
}
//若滚动条已经到底则直接激活最后一个导航
if (scrollTop + document.documentElement.clientHeight === document.documentElement.scrollHeight) {
/* if (scrollTop + document.documentElement.clientHeight === document.documentElement.scrollHeight) {
navIndex = offsetTopArr.length - 1;
}
} */
}
//active.value = navIndex
return navIndex;

13
src/views/knowledge/knowledge/components/KnowledgeContent.vue

@ -9,6 +9,7 @@ const props = defineProps({
type: Boolean,
default: false
},
// eslint-disable-next-line vue/require-default-prop
contentSource: {
type: Object,
default:()=>{
@ -56,18 +57,22 @@ watch(() => props.isShow, () => {
<template>
<el-dialog v-model="boxShow" class="dialogStyle" :show-close="true">
<<<<<<< HEAD
<template #header="{ titleId, titleClass }">
<div class="my-header">
=======
<template #header="{ close, titleId, titleClass }">
<div class="my-header" @dblclick="close">
>>>>>>> v3_liwenxuan
<h4 :id="titleId" :class="titleClass" style="margin-top: 5px;">{{ props.contentSource?.gTitle }}</h4>
<!-- <h4 :id="titleId" :class="titleClass" style="margin-top: 5px;">{{ props.contentSource?.gContent }}</h4> -->
</div>
</template>
<div style="padding-bottom: 20px;"><span>{{ formatDate(props.contentSource?.gAddTime) }}</span></div>
<iframe v-if="pdfIframeShow" :src="props.contentSource?.gTestUrl" frameborder="0"
style=" z-index: 1000;height: 680px;width: 850px"></iframe>
<div v-html="props.contentSource?.gContent" style="height: auto;width: auto;"></div>
<iframe v-if="pdfIframeShow" :src="props.contentSource?.gTestUrl" frameborder="0" style=" z-index: 1000;height: 680px;width: 850px"></iframe>
<div style="height: auto;width: auto;" v-html="props.contentSource?.gContent"></div>
<h5>评论区</h5>
<h5 >评论区</h5>
</el-dialog>
</template>

16
src/views/knowledge/knowledge/components/Navili.vue

@ -3,6 +3,7 @@
const showli = ref(true);
const props = defineProps({
// eslint-disable-next-line vue/require-default-prop
oneli: {
type: Object,
default:()=>{
@ -17,7 +18,18 @@ const props = defineProps({
active: {
type: Number,
default: 0
<<<<<<< HEAD
=======
},
// eslint-disable-next-line vue/require-default-prop
knowledgeStore: {
type: Object,
},
// eslint-disable-next-line vue/require-default-prop
fatherisReady1: {
type: Number,
>>>>>>> v3_liwenxuan
}
})
const liIndex = props.index + 1;
@ -25,9 +37,13 @@ const liIndex = props.index + 1;
<template>
<<<<<<< HEAD
<li :class="{ active: active === index }" v-if="showli">
=======
<li v-if="showli" :class="{ active: active === index }">
>>>>>>> v3_liwenxuan
{{ oneli?.atTitle }}
</li>
</template>

73
src/views/knowledge/knowledge/components/archivestype.vue

@ -14,13 +14,18 @@ const showArea = ref(true);
const props = defineProps({
// eslint-disable-next-line vue/require-default-prop
liContent: {
type: Object,
default:()=>{
return "";
}
},
<<<<<<< HEAD
=======
// eslint-disable-next-line vue/require-default-prop
>>>>>>> v3_liwenxuan
routerUrl: {
type: String,
default:""
@ -262,13 +267,14 @@ function showContentDialog(item: any) {
</script>
<template>
<div class="models ">
<KnowledgeContent v-model:isShow="showContentBox" :contentSource="cardContentSource"></KnowledgeContent>
<KnowledgeContent v-model:isShow="showContentBox" :content-source="cardContentSource"></KnowledgeContent>
<div class="model-title">
<h3>{{ props.liContent?.atTitle }}</h3>
</div>
<div v-show="!showCards" style="text-align: center;padding-top: 5%;">暂无数据</div>
<<<<<<< HEAD
<div v-show="showCards" class="grid-tuijian" >
@ -278,6 +284,13 @@ function showContentDialog(item: any) {
<img style="width: 170px; height: 126px;border-radius:8px;margin-top: 4px; margin-left: 4px;"
referrerpolicy="no-referrer" :src="item.gThumbnail" fit="fill" loading="lazy" @error="errorImg($event)" />
=======
<div v-show="showCards" class="grid-tuijian">
<!-- <div v-for="(item, index1) in tuijianPage" :key="index1" class="tuijian-card" @click="showContentDialog(item)">
<img style="width: 170px; height: 126px;border-radius:8px;margin-top: 4px; margin-left: 4px;" referrerpolicy="no-referrer" :src="item.gThumbnail" fit="fill" loading="lazy" @error="errorImg($event)" />
>>>>>>> v3_liwenxuan
<div class="card-right">
<span class="card-title" :title=item.gTitle>{{ item.gTitle }}</span>
@ -292,12 +305,28 @@ function showContentDialog(item: any) {
<span class="fa fa-eye">阅读</span>(<span>{{ item.gRead }}</span>)
</span>
</div>
</div>
</div> -->
<div v-for="(item, index1) in tuijianPage" :key="index1" class="tuijian-card" @click="showContentDialog(item)">
<img style="width: 196px; height: 126px;border-radius:8px;margin-top: 4px; margin-left: 4px;" referrerpolicy="no-referrer" :src="item.gThumbnail" fit="fill" loading="lazy" @error="errorImg($event)" />
<div class="card-right">
<span class="card-title" :title=item.gTitle>{{ item.gTitle }}</span>
<!-- <span class="card-text" :title=item.gDescribe>{{ item.gDescribe }}</span> -->
<span class="time-span"><span class="fa fa-clock-o"></span>{{ formatDate(item.gAddTime) }}</span>
<span class="myicons">
<span class="fa fa-star-o"></span>收藏(<span>{{ item.gCollectionSum }}</span>) <span
class="fa fa-thumbs-o-up"></span>(<span>{{
item.gLikes }}</span>) <span class="fa fa-thumbs-o-down"></span>(<span>{{ item.gStepOn }}</span>)
<span class="fa fa-eye">阅读</span>(<span>{{ item.gRead }}</span>)
</span>
</div>
</div>
</div>
<el-pagination class="pagi" v-model:current-page="pageParamTuijian.page" v-if="pageParamTuijian.total > 0"
v-model:page-size="pageParamTuijian.pagesize" layout="prev, pager, next, jumper" :total="pageParamTuijian.total"
@current-change="handleCurrentChange" />
<el-pagination v-if="pageParamTuijian.total > 0" v-model:current-page="pageParamTuijian.page" v-model:page-size="pageParamTuijian.pagesize" class="pagi" layout="prev, pager, next, jumper" :total="pageParamTuijian.total" @current-change="handleCurrentChange" />
</div>
</template>
<style>
@ -316,22 +345,38 @@ function showContentDialog(item: any) {
.grid-tuijian {
/* border-top: solid 1px; */
/* .grid-tuijian {
display: grid;
<<<<<<< HEAD
grid-template-columns: repeat(auto-fill, 484px);
=======
grid-template-columns: repeat(auto-fill, 474px);
>>>>>>> v3_liwenxuan
gap: 10px;
grid-auto-flow: row dense;
} */
.grid-tuijian {
display: grid;
grid-template-columns: repeat(auto-fill, 480px);
gap: 10px;
grid-auto-flow: row dense;
}
h3 {
margin-left: 8px;
}
.tuijian-card {
display: flex;
<<<<<<< HEAD
width: 481px;
=======
/* width: 481px; */
width: 480px;
>>>>>>> v3_liwenxuan
height: 140px;
padding: 3px;
border-radius: 8px;
@ -355,11 +400,19 @@ function showContentDialog(item: any) {
}
.card-title {
height: 1.5em !important;
/* height: 1.5em !important;
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
-webkit-line-clamp: 1;
-webkit-line-clamp: 1; */
word-break: break-all;
height: 3.5em !important;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
padding-left: 0.7em;
padding-top: 0.5em;
}
.card-text {

80
src/views/knowledge/knowledge/index.vue

@ -84,7 +84,7 @@ onBeforeMount(() => {
onMounted(() => {
//
//window.addEventListener('scroll', jsScroll, false)
document.querySelector('.app-container')!.addEventListener('scroll', jsScroll, false)
document.querySelector('.content')!.addEventListener('scroll', jsScroll, false)
document.querySelector('.navs')!.addEventListener('wheel', (e) => {
//
@ -185,8 +185,12 @@ function scrollTo(index: any) {
</li>
<template v-for="(item, index) in naviList" :key="index">
<<<<<<< HEAD
<Navili :class="{ active: active === index+1 }" :oneli=item v-if="item.hasCard" :index=(index+1) :active=active
@click="scrollTo(index + 1)"></Navili>
=======
<Navili v-if="item.hasCard" :class="{ active: active === index+1 }" :oneli=item :index=(index+1) :active=active @click="scrollTo(index + 1)"></Navili>
>>>>>>> v3_liwenxuan
</template>
</ul>
@ -194,6 +198,7 @@ function scrollTo(index: any) {
<!-- 内容区域 -->
<div class = "content1">
<div class="content">
<div class="models ">
@ -206,18 +211,16 @@ function scrollTo(index: any) {
<el-carousel indicator-position="outside" class="mycarousel" arrow="always">
<el-carousel-item v-for="(item, index) in carousel" :key="index" @click="showContentDialog(item)">
<img style="width: 495px; height: 300px;border-radius:16px;margin-top: 4px; margin-left: 4px;"
referrerpolicy="no-referrer" :src="item.gThumbnail" fit="fill" loading="lazy" @error="errorImg($event)" />
<img style="width: 471px; height: 300px;border-radius:16px;margin-top: 4px; margin-left: 4px;" referrerpolicy="no-referrer" :src="item.gThumbnail" fit="fill" loading="lazy" @error="errorImg($event)" />
</el-carousel-item>
</el-carousel>
<div v-for="(item, index) in tuijianPage" :key="index" class="tuijian-card" @click="showContentDialog(item)">
<img style="width: 170px; height: 126px;border-radius:8px;margin-top: 4px; margin-left: 4px;"
referrerpolicy="no-referrer" :src="item.gThumbnail" fit="fill" loading="lazy" @error="errorImg($event)" />
<img style="width: 196px; height: 126px;border-radius:8px;margin-top: 4px; margin-left: 4px;" referrerpolicy="no-referrer" :src="item.gThumbnail" fit="fill" loading="lazy" @error="errorImg($event)" />
<div class="card-right">
<span class="card-title" :title=item.gTitle>{{ item.gTitle }}</span>
<span class="card-text" :title=item.gDescribe>{{ item.gDescribe }}</span>
<!-- <span class="card-text" :title=item.gDescribe>{{ item.gDescribe }}</span> -->
<span class="time-span"><span class="fa fa-clock-o"></span>{{ formatDate(item.gAddTime) }}</span>
@ -231,20 +234,24 @@ function scrollTo(index: any) {
</div>
</div>
<el-pagination class="pagi" v-model:current-page="pageParamTuijian.page" v-if="pageParamTuijian.total > 0"
v-model:page-size="pageParamTuijian.pagesize" layout="prev, pager, next, jumper" :total="pageParamTuijian.total"
@current-change="handleCurrentChange" />
<el-pagination v-if="pageParamTuijian.total > 0" v-model:current-page="pageParamTuijian.page" v-model:page-size="pageParamTuijian.pagesize" class="pagi" layout="prev, pager, next, jumper" :total="pageParamTuijian.total" @current-change="handleCurrentChange" />
</div>
<!-- 各知识/新闻分区 -->
<<<<<<< HEAD
<template v-for="(item, index) in naviList" :key="index">
<Archivestype :liContent=item :index=(index) :fatherisReady="fatherisReady" :router-url="routerUrl"></Archivestype>
=======
<template v-for="(item, index) in naviList" :key="index">
<Archivestype :li-content=item :index=(index) :fatheris-ready="fatherisReady" :router-url="routerUrl"></Archivestype>
>>>>>>> v3_liwenxuan
</template>
</div>
</div>
<!-- 内容详情组件 -->
<KnowledgeContent v-model:isShow="showContentBox" :contentSource="cardContentSource"></KnowledgeContent>
<KnowledgeContent v-model:isShow="showContentBox" :content-source="cardContentSource"></KnowledgeContent>
</div>
@ -257,21 +264,37 @@ function scrollTo(index: any) {
height: calc(100vh - 125px);
width: 100%;
overflow: auto;
padding: 0 10px 0 30px;
padding: 0 10px 0 0;
display: grid;
/* 声明了三列,宽度分别为 200px 100px 200px */
grid-template-columns: 200px auto;
grid-template-columns: 163px auto;
}
.content {
background-color: white;
width: auto;
max-width: 87%;
padding-left: 9%;
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
border-radius: 5px;
max-width: 100%;
margin-top: -20px;
padding-left: 20px;
/* box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; */
border-radius: 7px;
overflow-y:auto;
height: 103%;
}
.content1 {
height: calc(100vh - 125px);
width: auto;
/* max-width: 98.4%; */
margin-right: 34px;
border-radius: 7px;
/* box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; */
overflow:hidden;
}
::-webkit-scrollbar {
display: none;
}
h3 {
margin-left: 10px;
}
@ -321,7 +344,7 @@ li:hover {
}
.model-title {
margin-top: -9px;
margin-top: 29px;
height: 30px;
}
@ -329,7 +352,7 @@ li:hover {
display: grid;
grid-template-columns: repeat(auto-fill, 484px);
grid-template-columns: repeat(auto-fill, 480px);
gap: 10px;
grid-auto-flow: row dense;
@ -337,7 +360,7 @@ li:hover {
.tuijian-card {
display: flex;
width: 481px;
width: 480px;
height: 140px;
padding: 3px;
border-radius: 8px;
@ -351,28 +374,33 @@ li:hover {
grid-row-start: 1;
grid-row-end: 3;
border-radius: 15px;
width: 480px;
width: 470px;
height: 290px;
}
.card-right {
display: flex;
width: 300px;
width: 260px;
flex-direction: column;
flex-wrap: wrap;
padding-left: 8px;
}
.card-title {
height: 1.5em !important;
/* height: 1.5em !important;
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
-webkit-line-clamp: 1;
-webkit-line-clamp: 1; */
word-break: break-all;
height: 3.5em !important;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
padding-left: 0.7em;
padding-top: 0.5em;
}

79
src/views/knowledge/news/index.vue

@ -84,7 +84,7 @@ onBeforeMount(() => {
onMounted(() => {
//
//window.addEventListener('scroll', jsScroll, false)
document.querySelector('.app-container')!.addEventListener('scroll', jsScroll, false)
document.querySelector('.content')!.addEventListener('scroll', jsScroll, false)
document.querySelector('.navs')!.addEventListener('wheel', (e) => {
//
@ -185,7 +185,11 @@ function scrollTo(index: any) {
</li>
<template v-for="(item, index) in naviList" :key="index">
<<<<<<< HEAD
<Navili v-if="item.hasCard" :oneli="item" :index="(index+1)" :active="active" :class="{ active: active === index+1 }" @click="scrollTo(index + 1)"></Navili>
=======
<Navili v-if="item.hasCard" :class="{ active: active === index+1 }" :oneli=item :index=(index+1) :active=active @click="scrollTo(index + 1)"></Navili>
>>>>>>> v3_liwenxuan
</template>
</ul>
@ -193,6 +197,7 @@ function scrollTo(index: any) {
<!-- 内容区域 -->
<div class = "content1">
<div class="content">
<div class="models ">
@ -205,18 +210,16 @@ function scrollTo(index: any) {
<el-carousel indicator-position="outside" class="mycarousel" arrow="always">
<el-carousel-item v-for="(item, index) in carousel" :key="index" @click="showContentDialog(item)">
<img style="width: 495px; height: 300px;border-radius:16px;margin-top: 4px; margin-left: 4px;"
referrerpolicy="no-referrer" :src="item.gThumbnail" fit="fill" loading="lazy" @error="errorImg($event)" />
<img style="width: 471px; height: 300px;border-radius:16px;margin-top: 4px; margin-left: 4px;" referrerpolicy="no-referrer" :src="item.gThumbnail" fit="fill" loading="lazy" @error="errorImg($event)" />
</el-carousel-item>
</el-carousel>
<div v-for="(item, index) in tuijianPage" :key="index" class="tuijian-card" @click="showContentDialog(item)">
<img style="width: 170px; height: 126px;border-radius:8px;margin-top: 4px; margin-left: 4px;"
referrerpolicy="no-referrer" :src="item.gThumbnail" fit="fill" loading="lazy" @error="errorImg($event)" />
<img style="width: 196px; height: 126px;border-radius:8px;margin-top: 4px; margin-left: 4px;" referrerpolicy="no-referrer" :src="item.gThumbnail" fit="fill" loading="lazy" @error="errorImg($event)" />
<div class="card-right">
<span class="card-title" :title=item.gTitle>{{ item.gTitle }}</span>
<span class="card-text" :title=item.gDescribe>{{ item.gDescribe }}</span>
<!-- <span class="card-text" :title=item.gDescribe>{{ item.gDescribe }}</span> -->
<span class="time-span"><span class="fa fa-clock-o"></span>{{ formatDate(item.gAddTime) }}</span>
@ -230,20 +233,23 @@ function scrollTo(index: any) {
</div>
</div>
<el-pagination class="pagi" v-model:current-page="pageParamTuijian.page" v-if="pageParamTuijian.total > 0"
v-model:page-size="pageParamTuijian.pagesize" layout="prev, pager, next, jumper" :total="pageParamTuijian.total"
@current-change="handleCurrentChange" />
<el-pagination v-if="pageParamTuijian.total > 0" v-model:current-page="pageParamTuijian.page" v-model:page-size="pageParamTuijian.pagesize" class="pagi" layout="prev, pager, next, jumper" :total="pageParamTuijian.total" @current-change="handleCurrentChange" />
</div>
<!-- 各知识/新闻分区 -->
<<<<<<< HEAD
<template v-for="(item, index) in naviList" :key="index">
=======
<template v-for="(item, index) in naviList" :key="index">
>>>>>>> v3_liwenxuan
<Archivestype :li-content=item :index=(index) :fatheris-ready="fatherisReady" :router-url="routerUrl"></Archivestype>
</template>
</div>
</div>
<!-- 内容详情组件 -->
<KnowledgeContent v-model:isShow="showContentBox" :contentSource="cardContentSource"></KnowledgeContent>
<KnowledgeContent v-model:isShow="showContentBox" :content-source="cardContentSource"></KnowledgeContent>
</div>
@ -256,21 +262,37 @@ function scrollTo(index: any) {
height: calc(100vh - 125px);
width: 100%;
overflow: auto;
padding: 0 10px 0 30px;
padding: 0 10px 0 0;
display: grid;
/* 声明了三列,宽度分别为 200px 100px 200px */
grid-template-columns: 200px auto;
grid-template-columns: 163px auto;
}
.content {
background-color: white;
width: auto;
max-width: 87%;
padding-left: 9%;
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
border-radius: 5px;
max-width: 100%;
margin-top: -20px;
padding-left: 20px;
/* box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; */
border-radius: 7px;
overflow-y:auto;
height: 103%;
}
.content1 {
height: calc(100vh - 125px);
width: auto;
/* max-width: 98.4%; */
margin-right: 34px;
border-radius: 7px;
/* box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; */
overflow:hidden;
}
::-webkit-scrollbar {
display: none;
}
h3 {
margin-left: 10px;
}
@ -320,7 +342,7 @@ li:hover {
}
.model-title {
margin-top: -9px;
margin-top: 29px;
height: 30px;
}
@ -328,7 +350,7 @@ li:hover {
display: grid;
grid-template-columns: repeat(auto-fill, 484px);
grid-template-columns: repeat(auto-fill, 480px);
gap: 10px;
grid-auto-flow: row dense;
@ -336,7 +358,7 @@ li:hover {
.tuijian-card {
display: flex;
width: 481px;
width: 480px;
height: 140px;
padding: 3px;
border-radius: 8px;
@ -350,28 +372,33 @@ li:hover {
grid-row-start: 1;
grid-row-end: 3;
border-radius: 15px;
width: 480px;
width: 470px;
height: 290px;
}
.card-right {
display: flex;
width: 300px;
width: 260px;
flex-direction: column;
flex-wrap: wrap;
padding-left: 8px;
}
.card-title {
height: 1.5em !important;
/* height: 1.5em !important;
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
-webkit-line-clamp: 1;
-webkit-line-clamp: 1; */
word-break: break-all;
height: 3.5em !important;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
padding-left: 0.7em;
padding-top: 0.5em;
}

Loading…
Cancel
Save