提交 dd3877a6 authored 作者: huhuiqing's avatar huhuiqing

智库部分问题修改及企业概况接口参数对接

上级 94e2659d
......@@ -105,7 +105,7 @@
<li style="display: flex; align-items: center">
<div class="li-icon"></div>
<span class="info-key">标语口号</span>
<span class="info-value">{{ value }}</span>
<span class="info-value">{{ infoData.slogan }}</span>
</li>
<li style="display: flex; align-items: center">
<div class="li-icon"></div>
......@@ -115,7 +115,7 @@
<li style="display: flex; align-items: center">
<div class="li-icon"></div>
<span class="info-key">所有权者</span>
<span class="info-value">{{ value }}</span>
<span class="info-value">{{ infoData.companyType }}</span>
</li>
</ul>
</div>
......
......@@ -4,7 +4,7 @@
<div class="box1">
<div class="box-header">
<div class="header-left"></div>
<div class="title">政策建议落实情况</div>
<div class="title">政策建议相关情况</div>
<div class="header-right">
<div class="icon">
<img src="@/assets/icons/box-header-icon2.png" alt="" />
......@@ -108,7 +108,7 @@ import {
} from "@/api/thinkTank/overview";
import { useRouter } from "vue-router";
const router = useRouter();
// 政策建议落实情况
// 政策建议相关情况
const box1Data = ref([
{
id: 1,
......@@ -265,12 +265,12 @@ const box1Data = ref([
const handleGetThinkTankReportPolicy = async () => {
try {
const res = await getThinkTankReportPolicy(router.currentRoute._value.params.id);
console.log("政策建议落实情况", res);
console.log("政策建议相关情况", res);
if (res.code === 200 && res.data) {
box1Data.value = res.data
}
} catch (error) {
console.error("获取政策建议落实情况rror", error);
console.error("获取政策建议相关情况rror", error);
}
};
......
......@@ -17,12 +17,12 @@
<div class="box1-main">
{{ box1Data }}
</div>
<div class="box1-footer">
<!-- <div class="box1-footer">
<div class="text">{{ "查看更多" }}</div>
<div class="icon">
<img src="@/assets/images/icon-double-down.png" alt="" />
</div>
</div>
</div> -->
</div>
<div class="box2">
<div class="box-header">
......@@ -53,14 +53,14 @@
<div class="box-header">
<div class="header-left"></div>
<div class="title">主要观点</div>
<div class="header-btn-box">
<!-- <div class="header-btn-box">
<div class="btn btnActive">
{{ "核心发现" }}
</div>
<div class="btn">
{{ "政策建议" }}
</div>
</div>
</div> -->
<div class="header-right">
<div class="icon">
<img src="@/assets/icons/box-header-icon2.png" alt="" />
......@@ -78,7 +78,7 @@
</div>
<div class="center">
<div class="title">{{ item.content }}</div>
<div class="desc">{{ item.econtent }}</div>
<!-- <div class="desc">{{ item.econtent }}</div> -->
</div>
<div class="right">
<div class="tag" v-for="(val, idx) in item.hylyList" :key="idx">
......@@ -489,7 +489,7 @@ onMounted(() => {
.box1-main {
margin: 5px auto;
width: 428px;
height: 282px;
height: 315px;
/* 9行 * 30px/行 = 270px,这里可以稍微调整 */
color: rgba(59, 65, 75, 1);
font-family: Microsoft YaHei;
......
......@@ -7,7 +7,7 @@
<img src="./images/box-header-icon1.png" alt="" />
</div>
<div class="title">{{ "提出建议领域分布" }}</div>
<div class="box-header-right">{{ "查看数据源 >" }}</div>
<!-- <div class="box-header-right">{{ "查看数据源 >" }}</div> -->
</div>
<div class="box-main">
<div class="select-box">
......@@ -19,7 +19,7 @@
<div id="box1Chart"></div>
</div>
</div>
<div class="box2 box">
<!-- <div class="box2 box">
<div class="box-header">
<div class="icon">
<img src="./images/box-header-icon2.png" alt="" />
......@@ -42,20 +42,17 @@
:percentage="item.percent" />
<div class="num">{{ item.amount + "项" }} / {{ item.totalAmount + "项" }}</div>
<div class="per">{{ item.percent + "%" }}</div>
</div>
<!-- <div class="box2-item">
<el-progress :percentage="50" />
</div> -->
</div>
</div>
</div>
</div>
</div> -->
<div class="box3 box">
<div class="box-header">
<div class="icon">
<img src="./images/box-header-icon2.png" alt="" />
</div>
<div class="title">{{ "热门研究方向变化趋势" }}</div>
<div class="box-header-right">{{ "查看数据源 >" }}</div>
<!-- <div class="box-header-right">{{ "查看数据源 >" }}</div> -->
</div>
<div class="box-main">
<div class="select-box">
......@@ -141,7 +138,7 @@
</div>
</div>
<div class="right-footer">
<div class="info">{{ total }}项调查</div>
<div class="info">{{ total }}智库报告</div>
<div class="page-box">
<el-pagination :page-size="12" background layout="prev, pager, next" :total="total"
@current-change="handleCurrentChange" :current-page="currentPage" />
......@@ -577,7 +574,7 @@ onMounted(() => {
gap: 16px;
.box {
width: 520px;
width: 790px;
height: 420px;
box-sizing: border-box;
border: 1px solid rgba(234, 236, 238, 1);
......@@ -586,7 +583,7 @@ onMounted(() => {
background: rgba(255, 255, 255, 1);
.box-header {
width: 520px;
width: 790px;
height: 48px;
border-bottom: 1px solid rgba(234, 236, 238, 1);
display: flex;
......
......@@ -23,7 +23,7 @@
</div>
<div class="main-content">
<div class="left">
<div class="select-box">
<!-- <div class="select-box">
<div class="select-box-header">
<div class="icon"></div>
<div class="title">{{ "报告类型" }}</div>
......@@ -36,7 +36,7 @@
</el-checkbox>
</div>
</div>
</div>
</div> -->
<div class="select-box">
<div class="select-box-header">
<div class="icon"></div>
......@@ -331,7 +331,7 @@ const handleGetThinkDynamicsReport = async () => {
authorName: author.value ? author.value : null,
currentPage: currentPage.value - 1,
pageSize: 12,
reportTypeIds: arrayToString(selectedReportTypeList.value) === '' ? null : arrayToString(selectedResearchTypeList.value),
// reportTypeIds: arrayToString(selectedReportTypeList.value) === '' ? null : arrayToString(selectedResearchTypeList.value),
researchTypeIds: arrayToString(selectedResearchTypeList.value) === '' ? null : arrayToString(selectedResearchTypeList.value)
}
......
......@@ -86,11 +86,11 @@
</div>
<div class="card2">
<div class="card-title">{{ "政府部门" }}</div>
<div class="card-num">{{ box1LeftData.zfJe }}亿美元</div>
<div class="card-num">{{ box1LeftData.zfJe / 100000000 }}亿美元</div>
</div>
<div class="card3">
<div class="card-title">{{ "其他机构" }}</div>
<div class="card-num">{{ box1LeftData.otherJe }}亿美元</div>
<div class="card-num">{{ box1LeftData.otherJ / 100000000 }}亿美元</div>
</div>
</div>
<div class="box1-main-right" id="box1Chart"></div>
......
......@@ -2,51 +2,51 @@ const getPieChart = (data) => {
let option = {
series: [
{
type: 'pie',
radius: [70, 100],
height: '100%',
left: 'center',
width: '100%',
itemStyle: {
borderColor: '#fff',
borderWidth: 1
},
label: {
alignTo: 'edge',
formatter: '{name|{b}}\n{time|{c} 条 {d}%}',
minMargin: 15,
edgeDistance: 10,
lineHeight: 15,
rich: {
name: {
fontSize: 16,
color: 'rgba(59, 65, 75, 1)',
fontWeight: 700,
},
time: {
fontSize: 14,
color: 'rgba(59, 65, 75, 1)',
type: 'pie',
radius: [70, 100],
height: '100%',
left: 'center',
width: '100%',
itemStyle: {
borderColor: '#fff',
borderWidth: 1
},
label: {
alignTo: 'edge',
formatter: '{name|{b}}\n{time|{c} 个 {d}%}',
minMargin: 15,
edgeDistance: 10,
lineHeight: 15,
rich: {
name: {
fontSize: 16,
color: 'rgba(59, 65, 75, 1)',
fontWeight: 700,
},
time: {
fontSize: 14,
color: 'rgba(59, 65, 75, 1)',
}
}
}
},
labelLine: {
length: 15,
length2: 0,
maxSurfaceAngle: 80
},
labelLayout: function (params) {
const isLeft = params.labelRect.x < 556 / 2;
const points = params.labelLinePoints;
// Update the end point.
points[2][0] = isLeft
? params.labelRect.x
: params.labelRect.x + params.labelRect.width;
return {
labelLinePoints: points
};
},
data: data
}]
},
labelLine: {
length: 15,
length2: 0,
maxSurfaceAngle: 80
},
labelLayout: function (params) {
const isLeft = params.labelRect.x < 556 / 2;
const points = params.labelLinePoints;
// Update the end point.
points[2][0] = isLeft
? params.labelRect.x
: params.labelRect.x + params.labelRect.width;
return {
labelLinePoints: points
};
},
data: data
}]
}
return option
}
......
......@@ -105,6 +105,10 @@
<img src="./assets/images/box1-header-icon.png" alt="" />
</div>
<div class="title">{{ "智库发布" }}</div>
</div>
<div class="box1-header-right">
查看详情 >
</div>
</div>
<div style="display: flex">
......@@ -206,7 +210,7 @@
</div>
<div class="header-title">{{ "智库人物动态" }}</div>
</div>
<div class="box4-tag-box">
<!-- <div class="box4-tag-box">
<div class="tag" :class="{
tagActive: box4ActiveTag === tag.name,
tag1: tag.status === 1,
......@@ -217,7 +221,7 @@
}" v-for="(tag, index) in box4TagList" :key="index" @click="handleClickBox4Tag(tag.name)">
{{ tag.name }}
</div>
</div>
</div> -->
<div class="box4-main">
<div class="box4-main-item" v-for="(item, index) in messageList" :key="index">
<div class="left">
......@@ -758,7 +762,6 @@ const handleGetThinkTankPolicyIndustryChange = async date => {
result.data.push(industryData);
});
box5Data.value = result;
console.log(box5Data.value, 'console.log(box5Data.value)console.log(box5Data.value)')
} else {
box5Data.value = []
......@@ -769,7 +772,6 @@ const handleGetThinkTankPolicyIndustryChange = async date => {
};
const handleBox5 = async date => {
await handleGetThinkTankPolicyIndustryChange(date);
console.log(box5Data.value, 'console.log(box5Data.value)console.log(box5Data.value)')
let box5Chart = box5Data.value ? getMultiLineChart(
box5Data.value
......@@ -834,23 +836,39 @@ const box6YearList = ref([
value: "2022"
}
]);
function transformToChartFormat(data) {
// 预设颜色池(可按需修改或扩展)
const colorPalette = [
"#4096FF",
"#FFA39E",
"#ADC6FF",
"#FFC069",
"#B5F5EC",
"#B37FEB",
"#D6E4FF",
"#FF8C8C",
"#87E8DE"
];
return data.map((item, index) => ({
name: item.industry,
value: item.amount,
color: colorPalette[index % colorPalette.length]
}));
}
// 政策建议领域分布
const handleGetThinkTankPolicyIndustry = async () => {
const params = {
apply: 1,
year: box6selectetedYear.value
};
try {
const res = await getThinkTankPolicyIndustry(params);
console.log("政策建议领域分布", res);
if (res.code === 200 && res.data) {
box6Data.value = res.data.map((item, index) => ({
name: item.industry,
value: item.amount,
color: colors[index % colors.length] // 循环使用颜色数组
}));
box6Data.value = transformToChartFormat(res.data)
console.log(transformToChartFormat(res.data), 'datadatadata')
} else {
box6Data.value = [];
}
......@@ -1786,6 +1804,18 @@ onMounted(async () => {
text-align: center;
}
}
.box1-header-right {
margin-top: 16px;
height: 16px;
color: var(--color-main-active);
font-family: Microsoft YaHei;
font-size: 16px;
font-weight: 400;
line-height: 16px;
cursor: pointer;
margin-right: 39px;
}
}
.box1-main {
......@@ -2353,7 +2383,7 @@ onMounted(async () => {
}
.box4-main {
height: 342px;
height: 380px;
overflow-y: auto;
box-sizing: border-box;
padding: 8px 0;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论