提交 1a11a046 authored 作者: coderBryanFu's avatar coderBryanFu

update

上级 bdeb5f0c
...@@ -247,6 +247,7 @@ const rightList = ref([ ...@@ -247,6 +247,7 @@ const rightList = ref([
width: 100%; width: 100%;
height: 299px; height: 299px;
background: rgb(249, 249, 249); background: rgb(249, 249, 249);
box-shadow: 0px 0px 20px 0px rgba(25, 69, 130, 0.3);
display: flex; display: flex;
.left { .left {
margin-top: 35px; margin-top: 35px;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<!-- 公司导航栏 --> <!-- 公司导航栏 -->
<div class="company-nav"> <div class="company-nav">
<div class="company-logo-title"> <div class="company-logo-title">
<img :src="infoData.logoUrl" class="logo-img" /> <img :src="infoData.logoUrl?infoData.logoUrl:defaultCompanyIcon" class="logo-img" />
<div class="title-group"> <div class="title-group">
<h1 class="company-name">{{ infoData.orgName }}</h1> <h1 class="company-name">{{ infoData.orgName }}</h1>
<p class="company-english">{{ infoData.orgNameEn }}</p> <p class="company-english">{{ infoData.orgNameEn }}</p>
...@@ -131,7 +131,7 @@ ...@@ -131,7 +131,7 @@
<div class="personnel-grid"> <div class="personnel-grid">
<div class="personnel-card" v-for="(person, idx) in mainPersonnel" :key="idx"> <div class="personnel-card" v-for="(person, idx) in mainPersonnel" :key="idx">
<div class="personnel-card-header"> <div class="personnel-card-header">
<img :src="person.avatarUrl" class="person-avatar" /> <img :src="person.avatarUrl?person.avatarUrl:defaultUserIcon" class="person-avatar" />
<div class="person-info"> <div class="person-info">
<h4 class="person-name">{{ person.name }}</h4> <h4 class="person-name">{{ person.name }}</h4>
<p class="person-position">{{ person.position }}</p> <p class="person-position">{{ person.position }}</p>
...@@ -193,6 +193,9 @@ import TabIcon2Active from "./images/tab-icon2-active.png"; ...@@ -193,6 +193,9 @@ import TabIcon2Active from "./images/tab-icon2-active.png";
import TabIcon3Active from "./images/tab-icon3-active.png"; import TabIcon3Active from "./images/tab-icon3-active.png";
import TabIcon4Active from "./images/tab-icon4-active.png"; import TabIcon4Active from "./images/tab-icon4-active.png";
import defaultUserIcon from "@/assets/icons/default-icon1.png"
import defaultCompanyIcon from "@/assets/icons/default-icon2.png"
const router = useRouter(); const router = useRouter();
const tabList = ref([ const tabList = ref([
{ {
......
...@@ -1064,8 +1064,8 @@ const handleEntityClick = item => { ...@@ -1064,8 +1064,8 @@ const handleEntityClick = item => {
const route = router.resolve({ const route = router.resolve({
name: "companyPages", name: "companyPages",
params: { params: {
startTime: item.startTime, // startTime: item.startTime,
id: item.id id: item.entityId
} }
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<template #default="{ row }"> <template #default="{ row }">
<div class="entity-name-cell"> <div class="entity-name-cell">
<el-avatar class="avatar" :size="24" :src="row.avatar || defaultIcon" /> <el-avatar class="avatar" :size="24" :src="row.avatar || defaultIcon" />
<div class="name" :title="row.name">{{ row.name }}</div> <div class="name" @click="handleCompClick(row)" :title="row.name">{{ row.name }}</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -79,8 +79,9 @@ ...@@ -79,8 +79,9 @@
<script setup> <script setup>
import { ref, defineProps, defineEmits, computed, watch } from "vue"; import { ref, defineProps, defineEmits, computed, watch } from "vue";
import router from "@/router";
import { Close } from "@element-plus/icons-vue"; import { Close } from "@element-plus/icons-vue";
import defaultIcon from "../../../../../assets/icons/default-avatar.png"; import defaultIcon from "@/assets/icons/default-icon1.png";
const props = defineProps({ const props = defineProps({
modelValue: { modelValue: {
...@@ -149,6 +150,20 @@ const getTagStyle = tag => { ...@@ -149,6 +150,20 @@ const getTagStyle = tag => {
const index = Math.abs(hash) % colorPool.length; const index = Math.abs(hash) % colorPool.length;
return colorPool[index]; return colorPool[index];
}; };
// 跳转公司详情页
const handleCompClick = item => {
console.log("item", item);
window.sessionStorage.setItem('curTabName', item.entityNameZh || item.entityName)
const route = router.resolve({
name: "companyPages",
params: {
id: item.id
}
});
window.open(route.href, "_blank");
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
...@@ -271,6 +286,7 @@ const getTagStyle = tag => { ...@@ -271,6 +286,7 @@ const getTagStyle = tag => {
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
cursor: pointer;
} }
} }
......
...@@ -127,7 +127,7 @@ const handleCompClick = item => { ...@@ -127,7 +127,7 @@ const handleCompClick = item => {
const route = router.resolve({ const route = router.resolve({
name: "companyPages", name: "companyPages",
params: { params: {
id: item.id id: item.entityId
} }
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
......
...@@ -475,34 +475,34 @@ const initDomainChart = () => { ...@@ -475,34 +475,34 @@ const initDomainChart = () => {
{ {
name: "制裁实体领域分布", name: "制裁实体领域分布",
type: "pie", type: "pie",
radius: [73.5, 89.5], radius: [65, 81],
center: ["50%", "50%"], center: ["50%", "50%"],
startAngle: 90, startAngle: 90,
data: data, data: data,
label: { label: {
show: true, show: true,
alignTo: "edge", alignTo: "edge",
minMargin: 5, minMargin: 5,
edgeDistance: 10, edgeDistance: 10,
formatter: params => { formatter: params => {
return "{name|" + params.name + "}\n{value|" + params.value + "家 " + params.percent + "%}"; return "{name|" + params.name + "} \n {value|" + params.value + "家 " + params.percent + "%}";
}, },
rich: { rich: {
name: { name: {
fontSize: 18, fontSize: 18,
fontWeight: 700, fontWeight: 700,
color: "rgb(59, 65, 75)", color: "rgb(59, 65, 75)",
padding: [0, 0, 5, 0], padding: [10, 0, 10, 0],
fontFamily: "Microsoft YaHei", fontFamily: "Microsoft YaHei",
lineHeight: 26 lineHeight: 22
}, },
value: { value: {
fontSize: 16, fontSize: 16,
fontWeight: 400, fontWeight: 400,
color: "rgb(95, 101, 108)", color: "rgb(95, 101, 108)",
fontFamily: "Microsoft YaHei", fontFamily: "Microsoft YaHei",
lineHeight: 24, lineHeight: 22,
padding: [5, 0, 0, 0] padding: [10, 0, 10, 0]
} }
} }
}, },
......
const getTreeChart = (treeData) => {
const option = {
series: [{
type: 'tree',
layout: 'orthogonal', // 从上到下布局
orient: 'TB', // Top to Bottom
data: treeData,
top: '10%',
bottom: '5%',
left: '10%',
right: '10%',
symbol: 'circle',
symbolSize: 40,
label: {
position: 'bottom',
verticalAlign: 'middle',
align: 'center'
},
leaves: {
label: {
position: 'top',
verticalAlign: 'middle',
align: 'center'
}
},
lineStyle: {
color: '#ccc',
width: 2,
type: 'dashed' // 虚线
},
emphasis: {
focus: 'descendant'
},
expandAndCollapse: true,
initialTreeDepth: 3
}]
};
return option
}
export default getTreeChart
\ No newline at end of file
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="right"> <div class="right" v-loading="isLoading">
<div class="title-com"> <div class="title-com">
<div class="box"></div> <div class="box"></div>
<div class="text">制裁清单</div> <div class="text">制裁清单</div>
...@@ -239,8 +239,11 @@ const addRuleCount = ref(0) ...@@ -239,8 +239,11 @@ const addRuleCount = ref(0)
const removeCount = ref(0) const removeCount = ref(0)
const removeRuleCount = ref(0) const removeRuleCount = ref(0)
const isLoading = ref(false)
// 调用单次制裁-制裁概况-制裁清单接口 // 调用单次制裁-制裁概况-制裁清单接口
const getSanctionOverviewList = async () => { const getSanctionOverviewList = async () => {
isLoading.value = true
try { try {
const res = await getSingleSanctionOverviewList({ const res = await getSingleSanctionOverviewList({
sanRecordId: sanRecordId.value, sanRecordId: sanRecordId.value,
...@@ -249,6 +252,7 @@ const getSanctionOverviewList = async () => { ...@@ -249,6 +252,7 @@ const getSanctionOverviewList = async () => {
searchText: searchKeyword.value || undefined, searchText: searchKeyword.value || undefined,
searchType: searchType.value searchType: searchType.value
}) })
isLoading.value = false
if (res.code === 200) { if (res.code === 200) {
const data = res.data || {} const data = res.data || {}
addCount.value = data.addCount || 0 addCount.value = data.addCount || 0
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论