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

fix:3.23问题

上级 8f531fe8
......@@ -161,18 +161,7 @@ export function getareaType(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 = {}) {
const queryParts = []
......@@ -212,10 +201,3 @@ export async function getSubjectList(params) {
params
})
}
export function getareaType(params) {
return request({
method: 'GET',
url: `/api/commonDict/areaType`,
params
})
}
......@@ -42,8 +42,8 @@
<el-option v-for="item in num" :key="item" :label="item" :value="item" />
</el-select>
</template>
<div class="echarts" ><WordCloudChart v-if="wordLoading" :data="characterView"/></div>
<div class="echarts" id="wordCloudChart">
</div>
</AnalysisBox>
<AnalysisBox title=" 金钱来源" width="1064px" height="512px" :show-all-btn="false" class="left-center">
......@@ -127,7 +127,7 @@
</div>
</div>
</div>
<div class="line-test"></div>
<!-- <div class="line-test"></div> -->
</div>
<div class="pagination">
<div class="total">{{ `共 ${total} 项` }}</div>
......@@ -305,7 +305,6 @@ import HistoricalProposal from "./components/historicalProposal/components/BillT
import PotentialNews from './components/historicalProposal/components/PotentialNews.vue'
import getWordCloudChart from "../../utils/worldCloudChart";
import setChart from "@/utils/setChart";
import WordCloudChart from "@/components/base/WordCloundChart/index.vue"
import {
getCharacterGlobalInfo,
getCharacterBasicInfo,
......@@ -435,7 +434,7 @@ const getCharacterBasicInfoFn = async () => {
console.error(error);
}
};
const wordLoading=ref(false)
// 获取人物观点
const characterView = ref({});
const getCharacterViewFn = async () => {
......@@ -445,7 +444,6 @@ const getCharacterViewFn = async () => {
if (numActive.value !== '全部') {
params.year = numActive.value;
}
wordLoading.value=false
try {
const res = await getCharacterView(params);
if (res.code === 200) {
......@@ -458,7 +456,6 @@ const getCharacterViewFn = async () => {
};
});
}
wordLoading.value=true
}
} catch (error) {
......@@ -468,8 +465,8 @@ const getCharacterViewFn = async () => {
const handleCharacterView = async () => {
await getCharacterViewFn();
// const wordCloudChart = getWordCloudChart(characterView.value);
// setChart(wordCloudChart, "wordCloudChart");
const wordCloudChart = getWordCloudChart(characterView.value);
setChart(wordCloudChart, "wordCloudChart");
};
const handleChangeYear = () => {
......@@ -477,6 +474,9 @@ const handleChangeYear = () => {
handleCharacterView()
}
const yearList = ref([
{
label: "全部",
......@@ -1062,9 +1062,14 @@ const handleClickTag = async (tag) => {
.main {
width: 1016px;
height: 360px;
margin-left: 24px;
margin-bottom: 16px;
width: 1064px;
min-height: auto;
box-sizing: border-box;
padding-right: 50px;
position: relative;
z-index: 110;
}
.bottom {
......@@ -1215,6 +1220,10 @@ const handleClickTag = async (tag) => {
margin-bottom: 40px;
display: flex;
flex-direction: row;
align-items: flex-start;
margin-bottom: 20px;
position: relative;
.time {
width: 77px;
box-sizing: border-box;
......@@ -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 {
position: absolute;
top: 10px;
left: 109px;
height: 1000px;
border: 1px solid rgb(230, 231, 232);
z-index: -1;
position: absolute;
bottom: 10px;
}
}
......
<template>
<div class="news-card">
<div class="news-card-image">
<img v-if="item.imageUrl" :src="item.imageUrl" :alt="item.name" />
<div v-else class="news-card-placeholder">
......
<template>
<div class="relation-graph-wrapper">
<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"
:class="['control-btn', { 'control-btn-active': currentLayoutType === item.type }]"
@click="handleClickControlBtn(item.type)">
>>>>>>> master
<img :src="item.icon" alt="" />
</div>
</div>
<div ref="containerRef" class="graph-container"></div>
<<<<<<< HEAD
=======
>>>>>>> master
<div v-if="selectedNode" class="node-popup">
<div class="popup-header">
<img :src="selectedNode.image || defaultIcon" alt="" class="popup-icon" />
......@@ -45,10 +31,6 @@
import { ref, onMounted, onUnmounted, watch, nextTick } from 'vue'
import G6 from '@antv/g6'
import { Close } from '@element-plus/icons-vue'
<<<<<<< HEAD
=======
>>>>>>> master
import echartsIcon01 from '../assets/echartsicon01.png'
import echartsIcon02 from '../assets/echartsicon02.png'
import echartsIcon03 from '../assets/echartsicon03.png'
......@@ -536,11 +518,6 @@ const processGraphData = (rawData) => {
rawData.nodes.forEach((node, index) => {
const nodeId = String(node.id || index)
<<<<<<< HEAD
=======
>>>>>>> master
if (nodeMap.has(nodeId)) {
return
}
......
......@@ -16,7 +16,7 @@
<img :src="item.avatar" class="avatar" alt="avatar" />
<div class="person-tags">
<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>
......@@ -44,7 +44,6 @@
</div>
</div>
</template>
<script setup>
import { ref,onMounted,defineProps,watch } from "vue";
import personData from "../json/personData.json"; // 引入JSON数据
......@@ -68,7 +67,14 @@ watch(() => [props.persontypeid,props.yearSelect], (val) => {
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 params = {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论