Browse Source

隐藏无数据

lwx_v1
liwenxuan 2 years ago
parent
commit
d12ef33357
  1. 11
      src/api/knowledge/types.ts
  2. 1
      src/store/modules/knowledge.ts
  3. 2
      src/views/knowledge/knowledge/components/KnowledgeContent.vue
  4. 41
      src/views/knowledge/knowledge/components/Navili.vue
  5. 111
      src/views/knowledge/knowledge/components/archivestype.vue
  6. 99
      src/views/knowledge/knowledge/index.vue

11
src/api/knowledge/types.ts

@ -24,7 +24,8 @@ export interface UserDetail {
//导航栏查询 //导航栏查询
export interface NaviQuery { export interface NaviQuery {
atParentId: string; atParentId: string;
userkey: String,
usertoken: String,
} }
//导航栏信息 //导航栏信息
export interface Navi{ export interface Navi{
@ -42,8 +43,8 @@ export interface Navi{
atUid:string; atUid:string;
//排序 //排序
atSort:string; atSort:string;
/* //card //该导航栏中有无card
hasCard:Boolean; */ hasCard:Boolean;
} }
export type cardList = PageResult<Graphicform[]> export type cardList = PageResult<Graphicform[]>
//卡片 //卡片
@ -161,6 +162,6 @@ interface PageResultJava<T> {
//标题下有无内容 //标题下有无内容
export interface ShowTitle { export interface ShowTitle {
atIdAndGParentSun: string; atIdAndGParentSun: string;//导航栏id
hasCard:Boolean; hasCard:Boolean;//是否展示
} }

1
src/store/modules/knowledge.ts

@ -1,6 +1,5 @@
import { defineStore } from 'pinia' import { defineStore } from 'pinia'
import { ShowTitle } from '@/api/knowledge/types'; import { ShowTitle } from '@/api/knowledge/types';
import KnowledgeContentVue from '@/views/knowledge/knowledge/components/KnowledgeContent.vue';
// 第一个参数是应用程序中 store 的唯一 id // 第一个参数是应用程序中 store 的唯一 id
export const useKnowledgeStore = defineStore('knowledge', { export const useKnowledgeStore = defineStore('knowledge', {

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

@ -43,7 +43,7 @@ watch(() => props.isShow, () => {
} else { } else {
pdfIframeShow.value = true pdfIframeShow.value = true
} }
console.log(pdfIframeShow.value) //console.log(pdfIframeShow.value)
} }
}) })
onMounted(() => { onMounted(() => {

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

@ -1,8 +1,5 @@
<script lang='ts' setup> <script lang='ts' setup>
import { scrollTo } from '@/api/knowledge/scroll' import { scrollTo } from '@/api/knowledge/scroll'
import { useKnowledgeStore } from "@/store/modules/knowledge"
import { ShowTitle } from '@/api/knowledge/types'
import { storeToRefs } from 'pinia';
const showli = ref(true); const showli = ref(true);
const props = defineProps({ const props = defineProps({
oneli: { oneli: {
@ -21,45 +18,11 @@ const props = defineProps({
knowledgeStore: { knowledgeStore: {
type: Object, type: Object,
}, },
fatherisReady1:{ fatherisReady1: {
type:Number, type: Number,
}
})
function navShow() {
//
const KnowledgeStore = useKnowledgeStore();
let {knowledgeTitlesShow} = storeToRefs(KnowledgeStore)
// const
//const data = ref<ShowTitle[]>(KnowledgeStore.knowledgeTitlesShow);
console.log("knowledgeTitlesShow--->",knowledgeTitlesShow.value,KnowledgeStore)
if(knowledgeTitlesShow.value && knowledgeTitlesShow.value.length > 0){
knowledgeTitlesShow.value.forEach((val,index)=>{
console.log("index--->",index)
console.log("val--->",val)
})
} }
// console.log("data.value.length="+data.value.length)
// for (let item of knowledgeTitlesShow.value) {
// console.log(1)
// console.log(item)
// if (item.hasCard == false) {
// console.log(item)
// showli.value = false;
// }
// }
}
watch(() => [props.fatherisReady1], (newVal, oldVal) => {
// navShow()
}) })
</script> </script>
<template> <template>
<li :class="{ active: active === index }" @click="scrollTo(index)" v-if="showli"> <li :class="{ active: active === index }" @click="scrollTo(index)" v-if="showli">

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

@ -1,17 +1,13 @@
<script lang='ts' setup> <script lang='ts' setup>
import { useUserStore } from "@/store/modules/user" import { useUserStore } from "@/store/modules/user"
import { ref, watch } from 'vue' import { ref, watch } from 'vue'
import { getUserDetail, getZxxyNavis, getTuijian } from '@/api/knowledge/index' import { getTuijian } from '@/api/knowledge/index'
import KnowledgeContent from '@/views/knowledge/knowledge/components/KnowledgeContent.vue' import KnowledgeContent from '@/views/knowledge/knowledge/components/KnowledgeContent.vue'
import { UserQuery, UserDetail, NaviQuery, Navi, Graphicform, PageParam, ShowTitle } from '@/api/knowledge/types' import { UserDetail, NaviQuery, Navi, Graphicform, PageParam, ShowTitle } from '@/api/knowledge/types'
import { formatDate } from '@/api/knowledge/scroll' import { formatDate } from '@/api/knowledge/scroll'
import { useRouter } from 'vue-router'
import errimg from '@/assets/404_images/imgNotFound.png' import errimg from '@/assets/404_images/imgNotFound.png'
import { useKnowledgeStore } from "@/store/modules/knowledge" import { useKnowledgeStore } from "@/store/modules/knowledge"
const showArea = ref(true); const showArea = ref(true);
const props = defineProps({ const props = defineProps({
@ -40,9 +36,6 @@ const props = defineProps({
const userStore = useUserStore(); const userStore = useUserStore();
const { userKey, userToken } = userStore; const { userKey, userToken } = userStore;
const userDetail = ref<UserDetail>({ const userDetail = ref<UserDetail>({
// //
idcardno: ["1", "2"], idcardno: ["1", "2"],
@ -59,15 +52,12 @@ const userDetail = ref<UserDetail>({
}); });
const tuijianPage = ref<Graphicform[]>(); const tuijianPage = ref<Graphicform[]>();
/* const naviList = ref<Navi[]>(); */
/* //用户信息查询参数
const userQueryParam = reactive<UserQuery>({
userkey: userKey,
usertoken: userToken,
}); */
//navi //navi
const naviQueryParam = reactive<NaviQuery>({ const naviQueryParam = reactive<NaviQuery>({
atParentId: "",// atParentId: "",//
userkey: userKey,
usertoken: userToken,
}); });
const pageParamTuijian = reactive<PageParam>({ const pageParamTuijian = reactive<PageParam>({
total: 0, total: 0,
@ -89,14 +79,6 @@ function errorImg(e: any) {
//.once //.once
e.srcElement.onerror = null; // e.srcElement.onerror = null; //
} }
onMounted(() => {
//console.log(props.liContent?.gParentSun)
//console.log(useKnowledgeStore().$state)
});
watch(() => [props.fatherisReady, props.liContent, props.routerUrl], (newVal, oldVal) => { watch(() => [props.fatherisReady, props.liContent, props.routerUrl], (newVal, oldVal) => {
//console.log(newVal, oldVal); // [11, 22], [1, 2] //console.log(newVal, oldVal); // [11, 22], [1, 2]
@ -115,68 +97,37 @@ watch(() => [props.fatherisReady, props.liContent, props.routerUrl], (newVal, ol
} }
pageParamTuijian.gParentSun = liContent.atId; pageParamTuijian.gParentSun = liContent.atId;
//console.log(pageParamTuijian.gParentSun)
// //
getTuijian(pageParamTuijian) if (props.liContent?.hasCard == true) {
.then(({ data }) => { //console.log(props.liContent?.hasCard)
tuijianPage.value = data.list
//console.log(tuijianPage.value)
pageParamTuijian.page = data.pageNum
pageParamTuijian.total = data.total
if (pageParamTuijian.total > 0) {
showCards.value = 1;
}
const KnowledgeStore = useKnowledgeStore();
if (tuijianPage.value.length > 0) {
//
KnowledgeStore.$patch((state) => {
state.knowledgeTitlesShow.push({ atIdAndGParentSun: liContent.atId, hasCard: true })
})
showArea.value = true;
}else{
KnowledgeStore.$patch((state) => {
state.knowledgeTitlesShow.push({ atIdAndGParentSun: liContent.atId, hasCard: false })
})
showArea.value = false;
}
});
})
/* watch(props.fatherisReady, (value) => {
console.log(props);
//childList.value = nweProps.listData
let router = useRouter()
let routerUrl = toRaw(router).currentRoute.value.fullPath
console.log(routerUrl)
if (routerUrl.endsWith("index")) {//
naviQueryParam.atParentId = '16213848089876281'
pageParamTuijian.archivesTypeAtParentId = '16213848089876281'
} else if (routerUrl.endsWith("news")) {//
naviQueryParam.atParentId = '16213847972425134'
pageParamTuijian.archivesTypeAtParentId = '16213847972425134'
}
pageParamTuijian.gParentSun = props.liContent?.gParentSun;
//
getTuijian(pageParamTuijian) getTuijian(pageParamTuijian)
.then(({ data }) => { .then(({ data }) => {
tuijianPage.value = data.list tuijianPage.value = data.list
//console.log(tuijianPage.value)
pageParamTuijian.page = data.pageNum pageParamTuijian.page = data.pageNum
pageParamTuijian.total = data.total pageParamTuijian.total = data.total
console.log(tuijianPage.value) if (pageParamTuijian.total > 0) {
showCards.value = 1;
}
const KnowledgeStore = useKnowledgeStore();
if (tuijianPage.value.length > 0) {
//
KnowledgeStore.$patch((state) => {
state.knowledgeTitlesShow.push({ atIdAndGParentSun: liContent.atId, hasCard: true })
})
showArea.value = true;
} else {
KnowledgeStore.$patch((state) => {
state.knowledgeTitlesShow.push({ atIdAndGParentSun: liContent.atId, hasCard: false })
})
//showArea.value = false;
}
}); });
}
}) */ })
function handleCurrentChange() { function handleCurrentChange() {
@ -185,8 +136,6 @@ function handleCurrentChange() {
tuijianPage.value = data.list tuijianPage.value = data.list
pageParamTuijian.page = data.pageNum pageParamTuijian.page = data.pageNum
pageParamTuijian.total = data.total pageParamTuijian.total = data.total
console.log(tuijianPage.value)
}); });
} }
@ -208,7 +157,7 @@ function showContentDialog(item: any) {
</script> </script>
<template> <template>
<div class="models " v-if="showArea"> <div class="models ">
<KnowledgeContent v-model:isShow="showContentBox" :contentSource="cardContentSource"></KnowledgeContent> <KnowledgeContent v-model:isShow="showContentBox" :contentSource="cardContentSource"></KnowledgeContent>
<div class="model-title"> <div class="model-title">
<h3>{{ props.liContent?.atTitle }}</h3> <h3>{{ props.liContent?.atTitle }}</h3>

99
src/views/knowledge/knowledge/index.vue

@ -1,6 +1,6 @@
<script lang='ts' setup> <script lang='ts' setup>
import { useUserStore } from "@/store/modules/user" import { useUserStore } from "@/store/modules/user"
import { useKnowledgeStore } from "@/store/modules/knowledge"
import { ref } from 'vue' import { ref } from 'vue'
import { getUserDetail, getZxxyNavis, getTuijian, getCarousel } from '@/api/knowledge/index' import { getUserDetail, getZxxyNavis, getTuijian, getCarousel } from '@/api/knowledge/index'
import Archivestype from '@/views/knowledge/knowledge/components/archivestype.vue' import Archivestype from '@/views/knowledge/knowledge/components/archivestype.vue'
@ -16,8 +16,7 @@ const active = ref(0); // 当前激活的导航索引
const userStore = useUserStore(); const userStore = useUserStore();
const { userKey, userToken } = userStore; const { userKey, userToken } = userStore;
//
const KnowledgeStore = useKnowledgeStore();
const userDetail = ref<UserDetail>({ const userDetail = ref<UserDetail>({
// //
@ -36,6 +35,7 @@ const userDetail = ref<UserDetail>({
const tuijianPage = ref<Graphicform[]>(); const tuijianPage = ref<Graphicform[]>();
const naviList = ref<Navi[]>(); const naviList = ref<Navi[]>();
const naviList1 = ref<Navi[]>();
// //
const userQueryParam = reactive<UserQuery>({ const userQueryParam = reactive<UserQuery>({
userkey: userKey, userkey: userKey,
@ -44,6 +44,8 @@ const userQueryParam = reactive<UserQuery>({
//navi //navi
const naviQueryParam = reactive<NaviQuery>({ const naviQueryParam = reactive<NaviQuery>({
atParentId: "",// atParentId: "",//
userkey: userKey,
usertoken: userToken,
}); });
const pageParamTuijian = reactive<PageParam>({ const pageParamTuijian = reactive<PageParam>({
total: 0, total: 0,
@ -66,10 +68,15 @@ function errorImg(e: any) {
e.srcElement.onerror = null; // e.srcElement.onerror = null; //
} }
const fatherisReady = ref(0); const fatherisReady = ref(0);
const fatherisReady1 = ref(0);
const router = useRouter() const router = useRouter()
const routerUrl = toRaw(router).currentRoute.value.fullPath const routerUrl = toRaw(router).currentRoute.value.fullPath
onBeforeMount(() => { onBeforeMount(() => {
//
getUserDetail(userQueryParam)
.then(({ data }) => {
userDetail.value = data
});
}) })
@ -88,45 +95,20 @@ onMounted(() => {
getZxxyNavis(naviQueryParam) getZxxyNavis(naviQueryParam)
.then(({ data }) => { .then(({ data }) => {
naviList.value = data naviList.value = data
//console.log(naviList.value) }).finally(() => {
fatherisReady.value = 100;
}).finally(() => { })
fatherisReady.value = 100;
})
//
getUserDetail(userQueryParam)
.then(({ data }) => {
userDetail.value = data
//console.log(userDetail.value)
});
// //
getTuijian(pageParamTuijian) getTuijian(pageParamTuijian)
.then(({ data }) => { .then(({ data }) => {
tuijianPage.value = data.list tuijianPage.value = data.list
pageParamTuijian.page = data.pageNum pageParamTuijian.page = data.pageNum
pageParamTuijian.total = data.total pageParamTuijian.total = data.total
//console.log(tuijianPage.value)
}).finally(()=>{
fatherisReady1.value = 9;
}); });
getCarousel(pageParamTuijian) getCarousel(pageParamTuijian)
.then(({ data }) => { .then(({ data }) => {
carousel.value = data.list carousel.value = data.list
//console.log(tuijianPage.value)
}); });
//setTimeout(function(){ fatherisReady.value = 100;}, 3000);  //
}); });
@ -145,8 +127,6 @@ function handleCurrentChange() {
tuijianPage.value = data.list tuijianPage.value = data.list
pageParamTuijian.page = data.pageNum pageParamTuijian.page = data.pageNum
pageParamTuijian.total = data.total pageParamTuijian.total = data.total
//console.log(tuijianPage.value)
}); });
} }
@ -156,7 +136,6 @@ const cardContentSource = ref<Graphicform>({});
const showContentBox = ref(false); // const showContentBox = ref(false); //
function showContentDialog(item: any) { function showContentDialog(item: any) {
showContentBox.value = true; showContentBox.value = true;
cardContentSource.value = item; cardContentSource.value = item;
} }
@ -164,7 +143,6 @@ function showContentDialog(item: any) {
</script> </script>
<template> <template>
<div class="app-container"> <div class="app-container">
<KnowledgeContent v-model:isShow="showContentBox" :contentSource="cardContentSource"></KnowledgeContent> <KnowledgeContent v-model:isShow="showContentBox" :contentSource="cardContentSource"></KnowledgeContent>
<!-- 内容区域 --> <!-- 内容区域 -->
@ -210,9 +188,11 @@ function showContentDialog(item: any) {
@current-change="handleCurrentChange" /> @current-change="handleCurrentChange" />
</div> </div>
<!-- 各知识/新闻分区 --> <!-- 各知识/新闻分区 -->
<Archivestype v-for="(item, index) in naviList" :liContent=item :index=(index) :fatherisReady="fatherisReady"
:routerUrl="routerUrl"> <template v-for="(item, index) in naviList">
</Archivestype> <Archivestype :liContent=item :index=(index) :fatherisReady="fatherisReady" :routerUrl="routerUrl"></Archivestype>
</template>
@ -220,59 +200,48 @@ function showContentDialog(item: any) {
<!-- 导航区域 --> <!-- 导航区域 -->
<ul class="navs"> <ul class="navs">
<li :class="{ active: active === 0 }" @click="scrollTo(0)"> <li :class="{ active: active === 0 }" @click="scrollTo(0)">
推荐 推荐
</li> </li>
<Navili v-for="(item, index) in naviList" :class="{ active: active === index+1 }" :oneli=item :index=(index+1) :fatherisReady1="fatherisReady1"
:active=active @click="scrollTo(index + 1)"></Navili>
</ul> <template v-for="(item, index) in naviList">
<Navili :class="{ active: active === index+1 }" :oneli=item :index=(index+1) v-if="item.hasCard" :active=active
@click="scrollTo(index + 1)"></Navili>
</template>
</ul>
</div> </div>
</template> </template>
<style scoped> <style scoped>
.content { .content {
background-color: white; background-color: white;
width:89.1%; width: 89.1%;
margin-left: 190px; margin-left: 190px;
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
border-radius: 5px; border-radius: 5px;
} }
/* .models {
min-height: 500px;
} */
/* 导航栏的样式 */ /* 导航栏的样式 */
.navs { .navs {
/* border:black 1px solid; */
width: 192px; width: 192px;
position: fixed; position: fixed;
height: auto; height: auto;
top: 95px; top: 95px;
/* box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; */
/* box-shadow: rgb(204, 219, 232) 3px 3px 6px 0px inset, rgba(255, 255, 255, 0.5) -3px -3px 6px 1px inset; */
} }
.navs li { .navs li {
text-align: center; text-align: center;
line-height: 3; line-height: 3;
font-size: 15.5px; font-size: 15.5px;
@ -297,8 +266,8 @@ function showContentDialog(item: any) {
} }
.grid-tuijian { .grid-tuijian {
display: grid; display: grid;
grid-template-columns: repeat(auto-fill, 484px); grid-template-columns: repeat(auto-fill, 484px);
gap: 10px; gap: 10px;
@ -318,7 +287,7 @@ function showContentDialog(item: any) {
} }
.mycarousel { .mycarousel {
grid-row-start: 1; grid-row-start: 1;
grid-row-end: 3; grid-row-end: 3;
border-radius: 15px; border-radius: 15px;

Loading…
Cancel
Save