提交 b4124538 authored 作者: 刘宇琪's avatar 刘宇琪

fix:3.23问题

上级 8f531fe8
...@@ -161,18 +161,7 @@ export function getareaType(params) { ...@@ -161,18 +161,7 @@ export function getareaType(params) {
params params
}) })
} }
// 获取人物教育履历
/**
* @param {personId}
* @header token
*/
export function getCharacterReducationResume(params) {
return request({
method: 'GET',
url: `/api/personHomepage/educationResume/${params.personId}`,
params,
})
}
export async function getFindingsReport(personId, params = {}) { export async function getFindingsReport(personId, params = {}) {
const queryParts = [] const queryParts = []
...@@ -212,10 +201,3 @@ export async function getSubjectList(params) { ...@@ -212,10 +201,3 @@ export async function getSubjectList(params) {
params params
}) })
} }
export function getareaType(params) {
return request({
method: 'GET',
url: `/api/commonDict/areaType`,
params
})
}
...@@ -42,8 +42,8 @@ ...@@ -42,8 +42,8 @@
<el-option v-for="item in num" :key="item" :label="item" :value="item" /> <el-option v-for="item in num" :key="item" :label="item" :value="item" />
</el-select> </el-select>
</template> </template>
<div class="echarts" ><WordCloudChart v-if="wordLoading" :data="characterView"/></div> <div class="echarts" id="wordCloudChart">
</div>
</AnalysisBox> </AnalysisBox>
<AnalysisBox title=" 金钱来源" width="1064px" height="512px" :show-all-btn="false" class="left-center"> <AnalysisBox title=" 金钱来源" width="1064px" height="512px" :show-all-btn="false" class="left-center">
...@@ -127,7 +127,7 @@ ...@@ -127,7 +127,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="line-test"></div> <!-- <div class="line-test"></div> -->
</div> </div>
<div class="pagination"> <div class="pagination">
<div class="total">{{ `共 ${total} 项` }}</div> <div class="total">{{ `共 ${total} 项` }}</div>
...@@ -305,7 +305,6 @@ import HistoricalProposal from "./components/historicalProposal/components/BillT ...@@ -305,7 +305,6 @@ import HistoricalProposal from "./components/historicalProposal/components/BillT
import PotentialNews from './components/historicalProposal/components/PotentialNews.vue' import PotentialNews from './components/historicalProposal/components/PotentialNews.vue'
import getWordCloudChart from "../../utils/worldCloudChart"; import getWordCloudChart from "../../utils/worldCloudChart";
import setChart from "@/utils/setChart"; import setChart from "@/utils/setChart";
import WordCloudChart from "@/components/base/WordCloundChart/index.vue"
import { import {
getCharacterGlobalInfo, getCharacterGlobalInfo,
getCharacterBasicInfo, getCharacterBasicInfo,
...@@ -435,7 +434,7 @@ const getCharacterBasicInfoFn = async () => { ...@@ -435,7 +434,7 @@ const getCharacterBasicInfoFn = async () => {
console.error(error); console.error(error);
} }
}; };
const wordLoading=ref(false)
// 获取人物观点 // 获取人物观点
const characterView = ref({}); const characterView = ref({});
const getCharacterViewFn = async () => { const getCharacterViewFn = async () => {
...@@ -445,7 +444,6 @@ const getCharacterViewFn = async () => { ...@@ -445,7 +444,6 @@ const getCharacterViewFn = async () => {
if (numActive.value !== '全部') { if (numActive.value !== '全部') {
params.year = numActive.value; params.year = numActive.value;
} }
wordLoading.value=false
try { try {
const res = await getCharacterView(params); const res = await getCharacterView(params);
if (res.code === 200) { if (res.code === 200) {
...@@ -458,7 +456,6 @@ const getCharacterViewFn = async () => { ...@@ -458,7 +456,6 @@ const getCharacterViewFn = async () => {
}; };
}); });
} }
wordLoading.value=true
} }
} catch (error) { } catch (error) {
...@@ -468,8 +465,8 @@ const getCharacterViewFn = async () => { ...@@ -468,8 +465,8 @@ const getCharacterViewFn = async () => {
const handleCharacterView = async () => { const handleCharacterView = async () => {
await getCharacterViewFn(); await getCharacterViewFn();
// const wordCloudChart = getWordCloudChart(characterView.value); const wordCloudChart = getWordCloudChart(characterView.value);
// setChart(wordCloudChart, "wordCloudChart"); setChart(wordCloudChart, "wordCloudChart");
}; };
const handleChangeYear = () => { const handleChangeYear = () => {
...@@ -477,6 +474,9 @@ const handleChangeYear = () => { ...@@ -477,6 +474,9 @@ const handleChangeYear = () => {
handleCharacterView() handleCharacterView()
} }
const yearList = ref([ const yearList = ref([
{ {
label: "全部", label: "全部",
...@@ -1062,9 +1062,14 @@ const handleClickTag = async (tag) => { ...@@ -1062,9 +1062,14 @@ const handleClickTag = async (tag) => {
.main { .main {
width: 1016px; width: 1016px;
height: 360px;
margin-left: 24px; margin-left: 24px;
margin-bottom: 16px; margin-bottom: 16px;
width: 1064px;
min-height: auto;
box-sizing: border-box;
padding-right: 50px;
position: relative;
z-index: 110;
} }
.bottom { .bottom {
...@@ -1215,6 +1220,10 @@ const handleClickTag = async (tag) => { ...@@ -1215,6 +1220,10 @@ const handleClickTag = async (tag) => {
margin-bottom: 40px; margin-bottom: 40px;
display: flex; display: flex;
flex-direction: row;
align-items: flex-start;
margin-bottom: 20px;
position: relative;
.time { .time {
width: 77px; width: 77px;
box-sizing: border-box; box-sizing: border-box;
...@@ -1359,14 +1368,25 @@ const handleClickTag = async (tag) => { ...@@ -1359,14 +1368,25 @@ const handleClickTag = async (tag) => {
} }
} }
} }
.main-item::after {
content: '';
position: absolute;
left: 109px; /* 与圆点对齐 */
top: 24px; /* 从圆点下方开始 */
bottom: -20px; /* 延伸到下一个 item */
width: 1px;
background-color: rgb(230, 231, 232);
z-index: -1;
}
.line-test { .line-test {
position: absolute; position: absolute;
top: 10px; top: 10px;
left: 109px; left: 109px;
height: 1000px;
border: 1px solid rgb(230, 231, 232); border: 1px solid rgb(230, 231, 232);
z-index: -1; z-index: -1;
position: absolute;
bottom: 10px;
} }
} }
......
<template> <template>
<div class="news-card"> <div class="news-card">
<div class="news-card-image"> <div class="news-card-image">
<img v-if="item.imageUrl" :src="item.imageUrl" :alt="item.name" /> <img v-if="item.imageUrl" :src="item.imageUrl" :alt="item.name" />
<div v-else class="news-card-placeholder"> <div v-else class="news-card-placeholder">
......
<template> <template>
<div class="relation-graph-wrapper"> <div class="relation-graph-wrapper">
<div class="graph-controls"> <div class="graph-controls">
<<<<<<< HEAD
<div
v-for="item in controlBtns"
:key="item.type"
:class="['control-btn', { 'control-btn-active': currentLayoutType === item.type }]"
@click="handleClickControlBtn(item.type)"
>
=======
<div v-for="item in controlBtns" :key="item.type" <div v-for="item in controlBtns" :key="item.type"
:class="['control-btn', { 'control-btn-active': currentLayoutType === item.type }]" :class="['control-btn', { 'control-btn-active': currentLayoutType === item.type }]"
@click="handleClickControlBtn(item.type)"> @click="handleClickControlBtn(item.type)">
>>>>>>> master
<img :src="item.icon" alt="" /> <img :src="item.icon" alt="" />
</div> </div>
</div> </div>
<div ref="containerRef" class="graph-container"></div> <div ref="containerRef" class="graph-container"></div>
<<<<<<< HEAD
=======
>>>>>>> master
<div v-if="selectedNode" class="node-popup"> <div v-if="selectedNode" class="node-popup">
<div class="popup-header"> <div class="popup-header">
<img :src="selectedNode.image || defaultIcon" alt="" class="popup-icon" /> <img :src="selectedNode.image || defaultIcon" alt="" class="popup-icon" />
...@@ -45,10 +31,6 @@ ...@@ -45,10 +31,6 @@
import { ref, onMounted, onUnmounted, watch, nextTick } from 'vue' import { ref, onMounted, onUnmounted, watch, nextTick } from 'vue'
import G6 from '@antv/g6' import G6 from '@antv/g6'
import { Close } from '@element-plus/icons-vue' import { Close } from '@element-plus/icons-vue'
<<<<<<< HEAD
=======
>>>>>>> master
import echartsIcon01 from '../assets/echartsicon01.png' import echartsIcon01 from '../assets/echartsicon01.png'
import echartsIcon02 from '../assets/echartsicon02.png' import echartsIcon02 from '../assets/echartsicon02.png'
import echartsIcon03 from '../assets/echartsicon03.png' import echartsIcon03 from '../assets/echartsicon03.png'
...@@ -536,11 +518,6 @@ const processGraphData = (rawData) => { ...@@ -536,11 +518,6 @@ const processGraphData = (rawData) => {
rawData.nodes.forEach((node, index) => { rawData.nodes.forEach((node, index) => {
const nodeId = String(node.id || index) const nodeId = String(node.id || index)
<<<<<<< HEAD
=======
>>>>>>> master
if (nodeMap.has(nodeId)) { if (nodeMap.has(nodeId)) {
return return
} }
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<img :src="item.avatar" class="avatar" alt="avatar" /> <img :src="item.avatar" class="avatar" alt="avatar" />
<div class="person-tags"> <div class="person-tags">
<div class="person-tag-bg" v-for="(tag, tIdx) in item.tags" :key="tIdx"> <div class="person-tag-bg" v-for="(tag, tIdx) in item.tags" :key="tIdx">
<img :src="'/public/icon/header-icon' + tag + '.png'" class="tag-icon" alt="tag" /> <img :src="getTagIconUrl(tag)" class="tag-icon" alt="tag" />
</div> </div>
</div> </div>
</div> </div>
...@@ -44,7 +44,6 @@ ...@@ -44,7 +44,6 @@
</div> </div>
</div> </div>
</template> </template>
<script setup> <script setup>
import { ref,onMounted,defineProps,watch } from "vue"; import { ref,onMounted,defineProps,watch } from "vue";
import personData from "../json/personData.json"; // 引入JSON数据 import personData from "../json/personData.json"; // 引入JSON数据
...@@ -68,7 +67,14 @@ watch(() => [props.persontypeid,props.yearSelect], (val) => { ...@@ -68,7 +67,14 @@ watch(() => [props.persontypeid,props.yearSelect], (val) => {
handlegetMainCharactersViewFn(); handlegetMainCharactersViewFn();
}) })
const getTagIconUrl = (tag) => {
// 用 import.meta.glob 预加载所有图标,支持动态匹配
const icons = import.meta.glob('../assets/images/header-icon*.png', { eager: true, as: 'url' });
// 拼接对应路径,匹配预加载的图标
const iconPath = `../assets/images/header-icon${tag}.png`;
// 兜底:如果没有对应tag的图片,返回默认图或空
return icons[iconPath] || '';
};
// 获取主要人物涉华观点统计 // 获取主要人物涉华观点统计
const handlegetMainCharactersViewFn = async () => { const handlegetMainCharactersViewFn = async () => {
const params = { const params = {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论