提交 87771247 authored 作者: 张烨's avatar 张烨

科技政令-资料库样式修改

上级 ebc89c2c
...@@ -192,7 +192,7 @@ ...@@ -192,7 +192,7 @@
<div class="text">{{ "查看更多" }}</div> <div class="text">{{ "查看更多" }}</div>
</div> </div>
</div> --> </div> -->
<RiskSignal :list="warningList" @item-click="handleClickToDetail" @more-click="handleToMoreRiskSignal"> <RiskSignal :list="warningList" name="signalTitle" postDate="signalTime" riskLevel="signalLevel" @item-click="handleClickToDetail" @more-click="handleToMoreRiskSignal">
</RiskSignal> </RiskSignal>
</div> </div>
<DivideHeader id="position2" class="divide2" :titleText="'资讯要闻'"></DivideHeader> <DivideHeader id="position2" class="divide2" :titleText="'资讯要闻'"></DivideHeader>
...@@ -228,7 +228,7 @@ ...@@ -228,7 +228,7 @@
<div class="header-icon"> <div class="header-icon">
<img src="./assets/images/box4-header-icon.png" alt="" /> <img src="./assets/images/box4-header-icon.png" alt="" />
</div> </div>
<div class="header-title">{{ "政令涉及领域" }}</div> <div class="header-title">{{ "政令科技领域" }}</div>
<div class="box6-selectbox"> <div class="box6-selectbox">
<el-select @change="handleBox6YearChange" v-model="box6SelectedYear" placeholder="选择时间" <el-select @change="handleBox6YearChange" v-model="box6SelectedYear" placeholder="选择时间"
style="width: 120px"> style="width: 120px">
...@@ -281,6 +281,14 @@ ...@@ -281,6 +281,14 @@
<div class="home-main-footer"> <div class="home-main-footer">
<DivideHeader id="position4" class="divide4" :titleText="'资源库'"></DivideHeader> <DivideHeader id="position4" class="divide4" :titleText="'资源库'"></DivideHeader>
<div class="home-main-footer-header"> <div class="home-main-footer-header">
<div class="search-box">
<el-select v-model="searchType" style="width: 100%">
<el-option label="全部政府部门" value=" " />
<el-option v-for="item in govInsList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</div>
<div style="flex: auto;"></div>
<el-checkbox v-model="isChina" @change="handleChina">只看涉华政令</el-checkbox>
<div class="select-box"> <div class="select-box">
<div class="paixu-btn" @click="handleSwithSort"> <div class="paixu-btn" @click="handleSwithSort">
<div class="icon1"> <div class="icon1">
...@@ -297,7 +305,7 @@ ...@@ -297,7 +305,7 @@
</div> </div>
<div class="home-main-footer-main"> <div class="home-main-footer-main">
<div class="left"> <div class="left">
<div class="select-box"> <!-- <div class="select-box">
<div class="select-box-header"> <div class="select-box-header">
<div class="icon"></div> <div class="icon"></div>
<div class="title">{{ "政令类型" }}</div> <div class="title">{{ "政令类型" }}</div>
...@@ -311,8 +319,8 @@ ...@@ -311,8 +319,8 @@
</el-checkbox> </el-checkbox>
</div> </div>
</div> </div>
</div> </div> -->
<div class="select-box"> <!-- <div class="select-box">
<div class="select-box-header"> <div class="select-box-header">
<div class="icon"></div> <div class="icon"></div>
<div class="title">{{ "发布机构" }}</div> <div class="title">{{ "发布机构" }}</div>
...@@ -325,18 +333,17 @@ ...@@ -325,18 +333,17 @@
</el-checkbox> </el-checkbox>
</div> </div>
</div> </div>
</div> </div> -->
<div class="select-box"> <div class="select-box">
<div class="select-box-header"> <div class="select-box-header">
<div class="icon"></div> <div class="icon"></div>
<div class="title">{{ "发布时间" }}</div> <div class="title">{{ "科技领域" }}</div>
</div> </div>
<div class="select-main"> <div class="select-main select-main1">
<div class="checkbox-group"> <div class="checkbox-group">
<el-checkbox v-for="time in pubTime" :key="time.id" v-model="activePubTime" :label="time.id" <el-checkbox v-for="area in areaList" :key="area.id" v-model="activeAreaList" :label="area.id"
style="width: 100px" class="filter-checkbox" style="width: 100px" @change="checked => handleAreaChange(area.id, checked)">
@change="checked => handlePubTimeChange(time.id, checked)"> {{ area.name }}
{{ time.name }}
</el-checkbox> </el-checkbox>
</div> </div>
</div> </div>
...@@ -344,13 +351,14 @@ ...@@ -344,13 +351,14 @@
<div class="select-box"> <div class="select-box">
<div class="select-box-header"> <div class="select-box-header">
<div class="icon"></div> <div class="icon"></div>
<div class="title">{{ "涉及领域" }}</div> <div class="title">{{ "发布时间" }}</div>
</div> </div>
<div class="select-main select-main1"> <div class="select-main">
<div class="checkbox-group"> <div class="checkbox-group">
<el-checkbox v-for="area in areaList" :key="area.id" v-model="activeAreaList" :label="area.id" <el-checkbox v-for="time in pubTime" :key="time.id" v-model="activePubTime" :label="time.id"
style="width: 100px" @change="checked => handleAreaChange(area.id, checked)"> style="width: 100px" class="filter-checkbox"
{{ area.name }} @change="checked => handlePubTimeChange(time.id, checked)">
{{ time.name }}
</el-checkbox> </el-checkbox>
</div> </div>
</div> </div>
...@@ -367,13 +375,13 @@ ...@@ -367,13 +375,13 @@
<div class="main-item" v-for="(item, index) in decreeList" :key="index" @click="handleClickDecree(item)"> <div class="main-item" v-for="(item, index) in decreeList" :key="index" @click="handleClickDecree(item)">
<div class="main-item-left"> <div class="main-item-left">
<div class="left-left"> <div class="left-left">
{{ item.time.split("-")[0] }}<br />{{ item.time.split("-")[1] }}月{{ {{ item.time?.split("-")[0] }}<br />{{ item.time?.split("-")[1] }}月{{
item.time.split("-")[2] item.time?.split("-")[2]
}}日 }}日
</div> </div>
<div class="left-right"> <div class="left-right">
<div class="icon"> <div class="icon">
<img :src="item.orgImage ? item.orgImage : DefaultIcon2" alt="" /> <img :src="item.img ? item.img : DefaultIcon2" alt="" />
</div> </div>
<div class="line" v-if="index !== 9 && index !== totalDecreesNum - 1"></div> <div class="line" v-if="index !== 9 && index !== totalDecreesNum - 1"></div>
</div> </div>
...@@ -437,7 +445,7 @@ import { ...@@ -437,7 +445,7 @@ import {
} from "@/api/decree/home"; } from "@/api/decree/home";
import RiskSignal from "@/components/RiskSignal/RiskSignal.vue"; import RiskSignal from "@/components/RiskSignal/RiskSignal.vue";
import { getPersonSummaryInfo } from "@/api/common/index"; import { getPersonSummaryInfo } from "@/api/common/index";
import { getNews, getSocialMedia } from "@/api/general/index"; import { getNews, getSocialMedia, getRiskSignal } from "@/api/general/index";
import MessageBubble from "@/components/dialog/dialog.vue"; import MessageBubble from "@/components/dialog/dialog.vue";
import DivideHeader from "@/components/DivideHeader.vue"; import DivideHeader from "@/components/DivideHeader.vue";
import { useContainerScroll } from "@/hooks/useScrollShow"; import { useContainerScroll } from "@/hooks/useScrollShow";
...@@ -649,10 +657,10 @@ const warningList = ref([ ...@@ -649,10 +657,10 @@ const warningList = ref([
]); ]);
const handlegetDecreeRiskSignal = async () => { const handlegetDecreeRiskSignal = async () => {
try { try {
const res = await getDecreeRiskSignal(); const res = await getRiskSignal({moduleId: "0101"});
console.log("风险信号", res); console.log("风险信号", res);
if (res.code === 200 && res.data) { if (res.code === 200 && res.data) {
warningList.value = res.data; warningList.value = res.data.map(item => ({...item, id:item.orderId}));
} }
} catch (error) { } catch (error) {
console.error("风险信号error", error); console.error("风险信号error", error);
...@@ -869,7 +877,7 @@ const handleBox5 = async () => { ...@@ -869,7 +877,7 @@ const handleBox5 = async () => {
setChart(chart1, "chart1"); setChart(chart1, "chart1");
}; };
// 政令涉及领域 // 政令科技领域
const chart2Data = ref([ const chart2Data = ref([
// { // {
// name: "集成电路", // name: "集成电路",
...@@ -916,7 +924,7 @@ const handleGetDecreeArea = async () => { ...@@ -916,7 +924,7 @@ const handleGetDecreeArea = async () => {
}; };
try { try {
const res = await getDecreeArea(params); const res = await getDecreeArea(params);
console.log("政令涉及领域", res); console.log("政令科技领域", res);
if (res.code === 200 && res.data) { if (res.code === 200 && res.data) {
chart2Data.value = res.data.map(item => { chart2Data.value = res.data.map(item => {
return { return {
...@@ -926,7 +934,7 @@ const handleGetDecreeArea = async () => { ...@@ -926,7 +934,7 @@ const handleGetDecreeArea = async () => {
}); });
} }
} catch (error) { } catch (error) {
console.error("政令涉及领域error", error); console.error("政令科技领域error", error);
} }
}; };
const handleBox6 = async () => { const handleBox6 = async () => {
...@@ -995,6 +1003,8 @@ const handleBox8 = async () => { ...@@ -995,6 +1003,8 @@ const handleBox8 = async () => {
}; };
// 资源库 // 资源库
const searchType = ref(" ");
const isChina = ref(false);
const isSort = ref(false); // true 升序 false 倒序 const isSort = ref(false); // true 升序 false 倒序
const handleSwithSort = () => { const handleSwithSort = () => {
isSort.value = !isSort.value; isSort.value = !isSort.value;
...@@ -1074,7 +1084,7 @@ const handleChangeCheckedDecreeType = () => { ...@@ -1074,7 +1084,7 @@ const handleChangeCheckedDecreeType = () => {
}; };
const pubTime = ref([ const pubTime = ref([
{ id: "all", name: "全选" }, { id: "all", name: "全选时间" },
{ id: "2026", name: "2026年" }, { id: "2026", name: "2026年" },
{ id: "2025", name: "2025年" }, { id: "2025", name: "2025年" },
{ id: "2024", name: "2024年" }, { id: "2024", name: "2024年" },
...@@ -1122,7 +1132,7 @@ const handleAreaChange = (id, checked) => { ...@@ -1122,7 +1132,7 @@ const handleAreaChange = (id, checked) => {
} }
}; };
// 修改获取涉及领域列表,添加全选选项 // 修改获取科技领域列表,添加全选选项
const handleGetAreaList = async () => { const handleGetAreaList = async () => {
try { try {
const res = await getDecreehylyList(); const res = await getDecreehylyList();
...@@ -1154,7 +1164,7 @@ const decreeList = ref([]); ...@@ -1154,7 +1164,7 @@ const decreeList = ref([]);
const handleGetDecreeOrderList = async () => { const handleGetDecreeOrderList = async () => {
const p0 = checkedGovIns.value.join(","); const p0 = checkedGovIns.value.join(",");
// 处理涉及领域:如果包含 all 或全选,则 researchTypeIds 为空(不传) // 处理科技领域:如果包含 all 或全选,则 researchTypeIds 为空(不传)
let p1 = ""; let p1 = "";
const allAreaIds = areaList.value.filter(item => item.id !== "all").map(item => item.id); const allAreaIds = areaList.value.filter(item => item.id !== "all").map(item => item.id);
const selectedAreaIds = activeAreaList.value.filter(id => id !== "all"); const selectedAreaIds = activeAreaList.value.filter(id => id !== "all");
...@@ -1184,6 +1194,8 @@ const handleGetDecreeOrderList = async () => { ...@@ -1184,6 +1194,8 @@ const handleGetDecreeOrderList = async () => {
proposeName: p0, proposeName: p0,
researchTypeIds: p1, // 全选时不传(为空) researchTypeIds: p1, // 全选时不传(为空)
sortFun: isSort.value, sortFun: isSort.value,
isCN: isChina.value ? 1 : 0,
proposeName: [searchType.value.trim()],
years: p2, // 全选时不传(为空) years: p2, // 全选时不传(为空)
typeIds: checkedDecreeType.value.toString() typeIds: checkedDecreeType.value.toString()
}; };
...@@ -1214,33 +1226,9 @@ const handleGetDecreeOrderList = async () => { ...@@ -1214,33 +1226,9 @@ const handleGetDecreeOrderList = async () => {
} }
}; };
watch( watch([activePubTime, activeAreaList, checkedGovIns, isSort, isChina, searchType], val => {
() => activePubTime.value,
val => {
handleGetDecreeOrderList();
}
);
watch(
() => activeAreaList.value,
val => {
handleGetDecreeOrderList();
}
);
watch(
() => isSort.value,
val => {
handleGetDecreeOrderList(); handleGetDecreeOrderList();
} });
);
watch(
() => checkedGovIns.value,
val => {
handleGetDecreeOrderList();
}
);
// 切换当前政令 // 切换当前政令
const handleSwithCurDecree = name => { const handleSwithCurDecree = name => {
...@@ -3104,7 +3092,7 @@ onMounted(async () => { ...@@ -3104,7 +3092,7 @@ onMounted(async () => {
height: 50px; height: 50px;
margin: 0 auto 16px; margin: 0 auto 16px;
display: flex; display: flex;
justify-content: flex-end; align-items: center;
.btn-box { .btn-box {
margin-top: 10px; margin-top: 10px;
...@@ -3145,8 +3133,12 @@ onMounted(async () => { ...@@ -3145,8 +3133,12 @@ onMounted(async () => {
} }
} }
.search-box {
width: 20%;
}
.select-box { .select-box {
margin-top: 5px; margin-left: 20px;
height: 42px; height: 42px;
box-sizing: border-box; box-sizing: border-box;
padding: 5px 0; padding: 5px 0;
...@@ -3213,8 +3205,7 @@ onMounted(async () => { ...@@ -3213,8 +3205,7 @@ onMounted(async () => {
gap: 16px; gap: 16px;
.left { .left {
width: 360px; width: 20%;
// height: 666px;
box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2); box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2);
background: rgba(255, 255, 255, 1); background: rgba(255, 255, 255, 1);
box-sizing: border-box; box-sizing: border-box;
...@@ -3258,7 +3249,8 @@ onMounted(async () => { ...@@ -3258,7 +3249,8 @@ onMounted(async () => {
} }
.right { .right {
width: 1284px; width: 20px;
flex: auto;
max-height: 1489px; max-height: 1489px;
box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2); box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2);
background: rgba(255, 255, 255, 1); background: rgba(255, 255, 255, 1);
...@@ -3343,6 +3335,7 @@ onMounted(async () => { ...@@ -3343,6 +3335,7 @@ onMounted(async () => {
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
object-fit: contain;
} }
} }
......
...@@ -143,25 +143,20 @@ ...@@ -143,25 +143,20 @@
</div> </div>
<div class="box2"> <div class="box2">
<AnalysisBox title="主要指令" :showAllBtn="false"> <AnalysisBox title="主要指令" :showAllBtn="false">
<div v-if="curmajorList.length" class="box2-main">
<div class="box2-main">
<el-empty v-if="!curmajorList.length" description="暂无数据" :image-size="100" />
<div class="box2-item" v-for="(item, index) in curmajorList" :key="index"> <div class="box2-item" v-for="(item, index) in curmajorList" :key="index">
<div class="id">{{ index + 1 }}</div> <div class="id">{{ index + 1 }}</div>
<div class="title">{{ item.content }}</div> <div class="title">{{ item.content }}</div>
<!-- <div class="open">
<img src="./assets/images/open-icon.png" alt="" />
</div> -->
</div> </div>
</div> </div>
<div class="box2-footer"> <div v-if="curmajorList.length" class="box2-footer">
<div class="box2-footer-left">{{ `共 ${majorListNum} 项` }}</div> <div class="box2-footer-left">{{ `共 ${majorListNum} 项` }}</div>
<div class="box2-footer-right"> <div class="box2-footer-right">
<el-pagination @current-change="handleCurrentChange" :page-size="5" background layout="prev, pager, next" <el-pagination @current-change="handleCurrentChange" :page-size="5" background layout="prev, pager, next"
:total="majorListNum" /> :total="majorListNum" />
</div> </div>
</div> </div>
<el-empty v-else description="暂无数据" :image-size="100" />
</AnalysisBox> </AnalysisBox>
<!-- <div class="box-header"> <!-- <div class="box-header">
<div class="header-left"></div> <div class="header-left"></div>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论