提交 2759ede8 authored 作者: 朱政's avatar 朱政

fix:删除一些有问题的引用,以及提高NewList的兼容性

上级 69298145
......@@ -10,23 +10,20 @@
</div>
</div>
<div class="box3-main">
<div class="box3-item" v-for="(news, index) in list" :key="index" @click="handleClickToNewsDetail(news)">
<div class="box3-item" v-for="(news, index) in normalizedList" :key="index"
@click="handleClickToNewsDetail(news)">
<div class="left">
<img
:src="getProxyUrl(news.newsImage) || defaultImg"
alt=""
referrerpolicy="no-referrer"
@error="e => (e.target.src = errImg||News1)"
/>
<img :src="getProxyUrl(news.newsImage) || defaultImg" alt="" referrerpolicy="no-referrer"
@error="e => (e.target.src = errImg || News1)" />
</div>
<div class="right">
<div class="right-top">
<div class="title">{{ news.newsTitle||news.title }}</div>
<div class="title">{{ news.newsTitle || news.title }}</div>
<div class="time">
{{ news.newsDate ? news.newsDate.slice(5) : "" }} {{ news.newsOrg ? "-" + news.newsOrg : "" }}
</div>
</div>
<div class="right-footer">{{ news.newsContent||news.description }}</div>
<div class="right-footer">{{ news.newsContent || news.description }}</div>
</div>
</div>
</div>
......@@ -34,15 +31,21 @@
</template>
<script setup>
import { computed } from "vue";
import router from "@/router/index";
import News1 from "@/assets/images/news1.png"; // 错误图片
import defaultNew from "@/assets/images/default-icon-news.png"; // 默认图片
let { list,errImg,defaultImg } = defineProps({
let { list, newsList, errImg, defaultImg } = defineProps({
list: {
type: Array,
default: () => []
},
// 兼容历史用法:部分页面使用 newsList 作为入参
newsList: {
type: Array,
default: undefined
},
defaultImg: {
type: String,
default: defaultNew
......@@ -53,6 +56,11 @@ let { list,errImg,defaultImg } = defineProps({
}
});
// 统一对外渲染数据源:优先使用 list,其次兼容 newsList
const normalizedList = computed(() => {
return (Array.isArray(list) && list.length ? list : newsList) || [];
});
// 处理图片代理
const getProxyUrl = url => {
if (!url) return "";
......@@ -74,7 +82,7 @@ const handleClickToNewsDetail = news => {
const route = router.resolve({
path: "/newsAnalysis",
query: {
newsId: news.newsId
newsId: news.newsId ?? news.id
}
});
window.open(route.href, "_blank");
......@@ -183,9 +191,11 @@ const handleToMoreNews = () => {
width: 657px;
display: flex;
justify-content: space-between;
&:hover {
text-decoration: underline;
color: var(--color-main-active);
.title {
color: var(--color-main-active);
}
......
......@@ -50,14 +50,10 @@
</template>
<script setup>
import NewsList from "@/components/NewsList/NewsList.vue";
import NewsList from "@/components/NewsList.vue";
import { ref, onMounted } from "vue";
import router from '@/router'
import { getCoopRestrictionNews, getCoopRestrictionSocial } from '@/api/coopRestriction/coopRestriction'
import CommonPrompt from "../../commonPrompt/index.vue";
import defaultNews from "../../assets/images/default-icon-news.png"
import defaultAvatar from "../../assets/images/default-icon1.png"
import title01 from './assets/title01.png'
import title02 from './assets/title02.png'
import title03 from './assets/title03.png'
......@@ -92,7 +88,7 @@ const getCoopRestrictionSocialData = async () => {
console.error("获取合作限制社交媒体数据失败:", error);
}
};
const leftList = ref([])
// 合作限制-查询新闻资讯接口
const getCoopRestrictionNewsData = async () => {
......@@ -114,7 +110,7 @@ const getCoopRestrictionNewsData = async () => {
};
const leftList = ref([])
const rightList = ref([])
......
......@@ -52,8 +52,6 @@
<script setup>
import { ref, onMounted, nextTick } from "vue";
import { useRouter } from "vue-router";
import HeaderMenu from "@/components/headerMenu.vue";
import headerInfo from "@/components/headerInfo.vue";
import comTitle from "./common/comTitle.vue";
import newData from "./components/dataNew/index.vue";
import askPage from "./components/askPage/index.vue";
......
......@@ -598,7 +598,7 @@
</template>
<script setup>
import NewsList from "@/components/NewsList/NewsList.vue";
import NewsList from "@/components/NewsList.vue";
import RiskSignal from "@/components/RiskSignal/RiskSignal.vue";
import { onMounted, ref, computed, reactive, shallowRef, watch, nextTick } from "vue";
import { useContainerScroll } from "@/hooks/useScrollShow";
......
......@@ -9,7 +9,7 @@
</div>
</div> -->
<div class="home-main" ref="containerRef">
<div class="home-top-bg"></div>
<div class="home-top-bg"></div>
<div class="home-main-header">
<div class="home-main-header-center">
<SearchContainer style="margin-bottom: 0; height: fit-content" v-if="containerRef" placeholder="搜索投融资限制政策"
......@@ -477,7 +477,7 @@ import CustomContainer from "@/components/Container/index.vue";
import ClickableCard from "./components/link.vue";
import InfoCard from "./components/info.vue";
import CustomTitle from "./components/title.vue";
import NewsList from "@/components/NewsList/NewsList.vue";
import NewsList from "@/components/NewsList.vue";
import trumpAvatar from "@/assets/images/icon-trump.png";
import elongAvatar from "@/assets/images/icon-elong.png";
......@@ -1719,7 +1719,7 @@ onMounted(async () => {
// background: url("./assets/images/background.png");
// background-size: 100% 100%;
.home-top-bg {
.home-top-bg {
background:
url("./assets/images/background.png"),
linear-gradient(180deg, rgba(229, 241, 254, 1) 0%, rgba(246, 251, 255, 0) 30%);
......
......@@ -375,17 +375,12 @@
<script setup>
import RiskSignal from "@/components/RiskSignal/RiskSignal.vue";
import NewsList from "@/components/NewsList/NewsList.vue";
import NewsList from "@/components/NewsList.vue";
import { onMounted, ref, computed } from "vue";
import * as echarts from "echarts";
import router from "@/router";
import DivideHeader from "@/components/DivideHeader.vue";
import scrollToTop from "@/utils/scrollToTop";
import { useContainerScroll } from "@/hooks/useScrollShow";
import getBarChart from "./utils/barChart";
import getPieChart from "./utils/piechart";
import getCalendarHeatChart from "./utils/cleandarHeat";
import EChart from "@/components/Chart/index.vue";
import { pieOption, raderOption } from "./utils/charts";
import {
......
......@@ -530,7 +530,7 @@
</template>
<script setup>
import NewsList from "@/components/NewsList/NewsList.vue";
import NewsList from "@/components/NewsList.vue";
import RiskSignal from "@/components/RiskSignal/RiskSignal.vue";
import { onMounted, ref } from "vue";
import setChart from "@/utils/setChart";
......@@ -2366,9 +2366,11 @@ onMounted(async () => {
display: flex;
justify-content: center;
gap: 16px;
.box3 {
width: 792px;
height: 450px;
.box3-header {
height: 48px;
border-bottom: 1px solid rgba(240, 242, 244, 1);
......@@ -2507,6 +2509,7 @@ onMounted(async () => {
.box4 {
width: 792px;
height: 450px;
.box4-header {
width: 792px;
height: 48px;
......@@ -2626,6 +2629,7 @@ onMounted(async () => {
.box5 {
width: 1064px;
height: 460px;
.box-header-right {
height: 48px;
display: flex;
......
......@@ -61,7 +61,7 @@
</template>
<script setup>
import NewsList from "@/components/NewsList/NewsList.vue";
import NewsList from "@/components/NewsList.vue";
import { ref, onBeforeMount } from "vue";
import router from "@/router"
......
......@@ -53,7 +53,7 @@
</template>
<script setup>
import NewsList from "@/components/NewsList/NewsList.vue";
import NewsList from "@/components/NewsList.vue";
import { ref, onMounted } from "vue";
import {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论