提交 00a4cef0 authored 作者: 李郝虎's avatar 李郝虎

feat:更换新闻资讯组件

上级 b1e8b7ab
......@@ -10,23 +10,23 @@
</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 list.slice(0,5)" :key="index" @click="handleClickToNewsDetail(news)">
<div class="left">
<img
:src="getProxyUrl(news.newsImage) || defaultImg"
alt=""
referrerpolicy="no-referrer"
@error="e => (e.target.src = News1)"
@error="e => (e.target.src = errImg||News1)"
/>
</div>
<div class="right">
<div class="right-top">
<div class="title">{{ news.newsTitle }}</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 }}</div>
<div class="right-footer">{{ news.newsContent||news.description }}</div>
</div>
</div>
</div>
......@@ -38,7 +38,7 @@ import router from "@/router/index";
import News1 from "@/assets/images/news1.png"; // 错误图片
import defaultNew from "@/assets/images/default-icon-news.png"; // 默认图片
let { list } = defineProps({
let { list,errImg,defaultImg } = defineProps({
list: {
type: Array,
default: () => []
......@@ -46,6 +46,10 @@ let { list } = defineProps({
defaultImg: {
type: String,
default: defaultNew
},
errImg: {
type: String,
default: ''
}
});
......
<template>
<div class="ask-page">
<div class="left">
<div class="left-title">
<NewsList :list="leftList" :errImg="defaultNews"/>
<!-- <div class="left-title">
<img src="./assets/icon01.png" alt="">
<div class="tit">新闻资讯</div>
<div class="more" @click="handleToMoreNews">更多 +</div>
......@@ -23,7 +26,7 @@
<div class="time">{{ item.time }}</div>
</div>
</div>
</div>
</div> -->
</div>
<div class="right">
<div class="right-title">
......@@ -92,13 +95,14 @@ const getCoopRestrictionNewsData = async () => {
try {
const res = await getCoopRestrictionNews({ moduleId: "0106" });
if (res && res.code === 200) {
leftList.value = (res.data || []).map(item => ({
id: item.newsId,
title: item.newsTitle,
content: item.newsContent,
time: `${item.newsDate}${item.newsOrg ? ' · ' + item.newsOrg : ''}`,
image: item.newsImage
}));
leftList.value = res.data || []
// leftList.value = (res.data || []).map(item => ({
// id: item.newsId,
// title: item.newsTitle,
// content: item.newsContent,
// time: `${item.newsDate}${item.newsOrg ? ' · ' + item.newsOrg : ''}`,
// image: item.newsImage
// }));
}
} catch (error) {
console.error("获取合作限制新闻资讯数据失败:", error);
......
......@@ -184,7 +184,7 @@
<el-row :gutter="15" style="width: 1600px; margin: 0 auto; height: 528px; margin-top: 64px">
<CustomTitle id="position2" title="资讯要闻" />
<el-col :span="12">
<NewsList :list="newsList.slice(0, 5)" :defaultImg="newsImg" />
<NewsList :list="newsList" :defaultImg="newsImg" />
<!-- <custom-container title="新闻资讯" :titleIcon="newsIcon" height="450px">
<template #header-right>
<el-button type="primary" link @click="handleToMoreNews">
......
......@@ -184,7 +184,9 @@
<el-row :gutter="20" style="width: 1600px; margin: 0 auto">
<CustomTitle id="position2" title="资讯要闻" style="margin-top: 64px" />
<el-col :span="12">
<custom-container title="新闻资讯" :titleIcon="newsIcon" height="450px">
<NewsList :list="customNewsData" />
<!-- <custom-container title="新闻资讯" :titleIcon="newsIcon" height="450px">
<template #header-right>
<el-button type="primary" link @click="handleToMoreNews">
{{ "更多 +" }}
......@@ -196,7 +198,7 @@
<NewsList :list-data="customNewsData" />
</div>
</template>
</custom-container>
</custom-container> -->
</el-col>
<el-col :span="12">
<custom-container title="社交媒体" :titleIcon="dialogIcon" height="450px">
......@@ -537,7 +539,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/news.vue";
// import NewsList from "./components/news.vue";
import MessageBubble from "./components/dialog.vue";
import trumpAvatar from "@/assets/images/icon-trump.png";
......@@ -655,38 +657,38 @@ const entityList = ref([
const customNewsData = ref([
{
image: newsImg,
newsImage: newsImg,
title: "美国智库激辩人工智能监管路径",
time: "11-4",
source: "华盛顿邮报",
newsDate: "11-4",
newsOrg: "华盛顿邮报",
description: "各方就AI监管模式展开讨论。有观点认为碎片化州级监管比全面联邦法规更灵活,也有分析..."
},
{
image: newsImg,
newsImage: newsImg,
title: "美国智库激辩人工智能监管路径",
time: "11-4",
source: "华盛顿邮报",
newsDate: "11-4",
newsOrg: "华盛顿邮报",
description: "各方就AI监管模式展开讨论。有观点认为碎片化州级监管比全面联邦法规更灵活,也有分析..."
},
{
image: newsImg,
newsImage: newsImg,
title: "美国智库激辩人工智能监管路径",
time: "11-4",
source: "华盛顿邮报",
newsDate: "11-4",
newsOrg: "华盛顿邮报",
description: "各方就AI监管模式展开讨论。有观点认为碎片化州级监管比全面联邦法规更灵活,也有分析..."
},
{
image: newsImg,
newsImage: newsImg,
title: "美国智库激辩人工智能监管路径",
time: "11-4",
source: "华盛顿邮报",
newsDate: "11-4",
newsOrg: "华盛顿邮报",
description: "各方就AI监管模式展开讨论。有观点认为碎片化州级监管比全面联邦法规更灵活,也有分析..."
},
{
image: newsImg,
newsImage: newsImg,
title: "美国智库激辩人工智能监管路径",
time: "11-4",
source: "华盛顿邮报",
newsDate: "11-4",
newsOrg: "华盛顿邮报",
description: "各方就AI监管模式展开讨论。有观点认为碎片化州级监管比全面联邦法规更灵活,也有分析..."
}
]);
......
......@@ -164,31 +164,9 @@
</div>
<DivideHeader id="position2" class="divide2" :titleText="'资讯要闻'"></DivideHeader>
<div class="center-center">
<div class="box3">
<div class="box3-header">
<div class="box3-header-left">
<div class="box3-header-icon">
<img src="./assets/images/box3-header-icon.png" alt="" />
</div>
<div class="box3-header-title">{{ "新闻资讯" }}</div>
<div class="more" @click="handleToMoreNews">{{ "更多 +" }}</div>
</div>
</div>
<div class="box3-main">
<div class="box3-item" v-for="(news, index) in newsList" :key="index">
<div class="left">
<img :src="news.newsImage" alt="" />
</div>
<div class="right">
<div class="right-top">
<div class="title">{{ news.newsTitle }}</div>
<div class="time">{{ news.newsDate + "." + news.newsOrg }}</div>
</div>
<div class="right-footer">{{ news.newsContent }}</div>
</div>
</div>
</div>
</div>
<NewsList :list="newsList"/>
<div class="box4">
<div class="box4-header">
<div class="header-icon">
......
......@@ -259,41 +259,8 @@
</div>
<DivideHeader id="position2" class="divide-header" :titleText="'资讯要闻'"></DivideHeader>
<div class="center-center">
<div class="box3">
<div class="box3-header">
<div class="box3-header-left">
<div class="box3-header-icon">
<img src="./assets/images/header-news.png" alt="" />
</div>
<div class="box3-header-title">{{ "新闻资讯" }}</div>
<div class="more" @click="handleToMoreNews">{{ "更多 +" }}</div>
</div>
</div>
<div class="box3-main">
<div
class="box3-item"
v-for="(news, index) in newsList"
:key="index"
@click="handleToNewsAnalysis(news)"
>
<div class="left">
<img :src="news.newsImage ? news.newsImage : DefaultNewsIcon" alt="" />
</div>
<div class="right">
<div class="right-top">
<div class="title">{{ news.newsTitle }}</div>
<div class="time">{{ news.newsDate + " · " + news.newsOrg }}</div>
</div>
<!-- <el-popover effect="dark" :width="1000" :content="news.newsContent" placement="top-start">
<template #reference>
<div class="right-footer">{{ news.newsContent }}</div>
</template>
</el-popover> -->
<div class="right-footer">{{ news.newsContent }}</div>
</div>
</div>
</div>
</div>
<NewsList :list="newsList" :errImg="defaultNews"/>
<div class="box4">
<div class="box4-header">
<div class="header-icon">
......
<template>
<div class="ask-page">
<div class="left">
<div class="left-title">
<NewsList :list="leftList"/>
<!-- <div class="left-title">
<img src="./assets/icon01.png" alt />
<div class="tit">新闻资讯</div>
<div class="more" @click="handleToNewsDetail">更多 +</div>
......@@ -23,7 +25,7 @@
<div class="time">{{item.newsDate}}</div>
</div>
</div>
</div>
</div> -->
</div>
<div class="right">
<div class="right-title">
......
<template>
<div class="ask-page">
<div class="left">
<div class="left-title">
<NewsList :list="leftList"/>
<!-- <div class="left-title">
<img src="./assets/icon01.png" alt="">
<div class="tit">新闻资讯</div>
<div class="more" @click="handleToMoreNews">更多 +</div>
......@@ -20,7 +23,7 @@
</div>
</div>
</div>
</div> -->
</div>
<div class="right-box">
<div class="right-title">
......
......@@ -204,42 +204,8 @@
</div>
<DivideHeader id="position2" class="divide-header" :titleText="'资讯要闻'"></DivideHeader>
<div class="center-center">
<div class="box3">
<div class="box3-header">
<div class="box3-header-left">
<div class="box3-header-icon">
<img src="./assets/images/header-news.png" alt="" />
</div>
<div class="box3-header-title">{{ "新闻资讯" }}</div>
<div class="more" @click="handleToMoreNews">{{ "更多 +" }}</div>
</div>
</div>
<div class="box3-main">
<div
class="box3-item"
v-for="(news, index) in newsList"
:key="index"
@click="handleToNewsAnalysis(news)"
>
<div class="left">
<img :src="news.newsImage !== null ? news.newsImage : defaultNewsIcon" />
</div>
<div class="right">
<div class="right-top">
<div class="title">{{ news.newsTitle }}</div>
<div class="time">{{ news.newsOrg }}</div>
</div>
<NewsList :list="newsList.slice(0, 5)"/>
<!-- <el-popover effect="dark" :width="700" :content="news.newsContent" placement="top-start">
<template #reference>
<div class="right-footer">{{ news.newsContent }}</div>
</template>
</el-popover> -->
<div class="right-footer">{{ news.newsContent }}</div>
</div>
</div>
</div>
</div>
<div class="box4">
<div class="box4-header">
<div class="header-icon">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论