提交 12c1ff12 authored 作者: 张伊明's avatar 张伊明

fix 修复bug

上级 80a6f7f8
流水线 #492 已失败 于阶段
in 56 秒
<template> <template>
<div class="summary-cards-panel" :style="{ width: panelWidth }" v-loading="loading"> <div class="summary-cards-panel" :style="{ width: panelWidth }" v-loading="loading">
<div class="date-box"> <div class="date-box">
<div class="date-icon" v-if="tipIcon"> <div class="date-icon" v-if="tipIcon">
......
...@@ -100,12 +100,15 @@ const handleMoreClick = () => { ...@@ -100,12 +100,15 @@ const handleMoreClick = () => {
.risk-status-base { .risk-status-base {
width: 40px; width: 40px;
height: 40px; height: 40px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 20px; border-radius: 20px;
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
line-height: 14px; line-height: 14px;
box-sizing: border-box; box-sizing: border-box;
padding: 6px 4px; padding: 0 4px;
text-align: center; text-align: center;
} }
...@@ -252,11 +255,10 @@ const handleMoreClick = () => { ...@@ -252,11 +255,10 @@ const handleMoreClick = () => {
overflow: hidden; // 保证右侧不会溢出 overflow: hidden; // 保证右侧不会溢出
.text { .text {
padding-top: 8px; display: flex;
padding-bottom: 8px; align-items: center;
flex: 1 1 auto; flex: 1 1 auto;
min-width: 0; min-width: 0;
height: 100%;
background: transparent; background: transparent;
font-family: "Source Han Sans CN"; font-family: "Source Han Sans CN";
font-weight: 400; font-weight: 400;
...@@ -277,11 +279,10 @@ const handleMoreClick = () => { ...@@ -277,11 +279,10 @@ const handleMoreClick = () => {
} }
.time { .time {
display: flex;
align-items: center;
flex: 0 0 auto; flex: 0 0 auto;
margin-left: 12px; margin-left: 12px;
padding-top: 11px;
padding-bottom: 11px;
height: 100%;
flex-shrink: 0; flex-shrink: 0;
background: transparent; background: transparent;
font-family: "Source Han Sans CN", sans-serif; font-family: "Source Han Sans CN", sans-serif;
......
...@@ -42,12 +42,8 @@ ...@@ -42,12 +42,8 @@
<img :src="item.imgSrc" @error="handleNewsImgError" alt="" /> <img :src="item.imgSrc" @error="handleNewsImgError" alt="" />
</div> </div>
<div class="center"> <div class="center">
<CommonPrompt :content="item.sjbt">
<div class="title">{{ item.sjbt }}</div> <div class="title">{{ item.sjbt }}</div>
</CommonPrompt>
<CommonPrompt :content="item.sjnr">
<div class="content">{{ item.sjnr }}</div> <div class="content">{{ item.sjnr }}</div>
</CommonPrompt>
</div> </div>
<div class="right">{{ item.sjsj }}</div> <div class="right">{{ item.sjsj }}</div>
</div> </div>
......
...@@ -216,7 +216,7 @@ ...@@ -216,7 +216,7 @@
{{ item.desc }} {{ item.desc }}
</div> --> </div> -->
<div class="coop-count"> <div class="coop-count">
{{ `${item.proposalSize ?? (item.bills || []).length}重点法案` }} {{ `${item.proposalSize ?? (item.bills || []).length}案` }}
</div> </div>
</div> </div>
<div class="coop-proposals"> <div class="coop-proposals">
...@@ -372,7 +372,7 @@ const committeeCurrentPage = ref(1); ...@@ -372,7 +372,7 @@ const committeeCurrentPage = ref(1);
const bills = ref([]); const bills = ref([]);
const total = ref(0); const total = ref(0);
const pageSize = ref(4); const pageSize = ref(5);
const currentPage = ref(1); const currentPage = ref(1);
const loading = ref(false); const loading = ref(false);
const abortController = ref(null); const abortController = ref(null);
...@@ -980,9 +980,17 @@ onMounted(() => { ...@@ -980,9 +980,17 @@ onMounted(() => {
min-width: 0; min-width: 0;
.right-header { .right-header {
height: 48px; height: 32px;
display: flex; display: flex;
align-items: center;
gap: 18px; gap: 18px;
margin-bottom: 16px;
.right-header-box {
height: 32px;
display: flex;
align-items: center;
}
.right-header-sort { .right-header-sort {
display: flex; display: flex;
...@@ -1031,7 +1039,7 @@ onMounted(() => { ...@@ -1031,7 +1039,7 @@ onMounted(() => {
} }
.involve-checkbox { .involve-checkbox {
height: 40px; height: 32px;
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
margin-right: 0; margin-right: 0;
......
...@@ -13,16 +13,16 @@ ...@@ -13,16 +13,16 @@
descriptionText="近期美国国会各委员会涉华提案数量汇总" descriptionText="近期美国国会各委员会涉华提案数量汇总"
:cards="committeeCards" :cards="committeeCards"
:totalCount="committeeTotalCount" :totalCount="committeeTotalCount"
:tipIcon="box7HeaderIcon" :tipIcon="iconILetter"
:defaultAvatar="iconCommit" :defaultAvatar="iconCommit"
:loading="committeeLoading" :loading="committeeLoading"
activeTime="近一年" activeTime="近一年"
emptyText="暂无数据" emptyText="暂无数据"
moreText="查看全部委员会" moreText="查看全部委员会"
:moreCardMinCount="7" :moreCardMinCount="1"
@time-click="handleCommitteeTimeClick" @time-click="handleCommitteeTimeClick"
@name-click="handleToDataLibrary" @name-click="handleToDataLibrary"
@count-click="handleToDataLibrary" @count-click="handleToBillDataLibrary"
@more-click="handleToCommitteeMore" @more-click="handleToCommitteeMore"
/> />
...@@ -281,6 +281,7 @@ import box5HeaderIcon from "./assets/images/box5-header-icon.png"; ...@@ -281,6 +281,7 @@ import box5HeaderIcon from "./assets/images/box5-header-icon.png";
import box6HeaderIcon from "./assets/images/box6-header-icon.png"; import box6HeaderIcon from "./assets/images/box6-header-icon.png";
import box7HeaderIcon from "./assets/images/box7-header-icon.png"; import box7HeaderIcon from "./assets/images/box7-header-icon.png";
import iconCommit from "./assets/icons/icon-commit.png"; import iconCommit from "./assets/icons/icon-commit.png";
import iconILetter from "./assets/icons/icon-iLetter.png";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import { useGotoNewsDetail } from "@/router/modules/news"; import { useGotoNewsDetail } from "@/router/modules/news";
...@@ -365,12 +366,14 @@ const committeeLoading = ref(false); ...@@ -365,12 +366,14 @@ const committeeLoading = ref(false);
const getChamberLabel = orgType => { const getChamberLabel = orgType => {
if (orgType === "Senate") return "参议院"; if (orgType === "Senate") return "参议院";
if (orgType === "House") return "众议院"; if (orgType === "House") return "众议院";
if (orgType === "DoubleCongress") return "双院";
return orgType || ""; return orgType || "";
}; };
const committeeCards = computed(() => { const committeeCards = computed(() => {
return committeeCardList.value.map(item => ({ return committeeCardList.value.map(item => ({
id: item.id, id: item.orgId || item.id,
orgId: item.orgId,
name: item.name, name: item.name,
subText: item.chamber, subText: item.chamber,
count: item.count count: item.count
...@@ -386,7 +389,8 @@ const handleGetCommitteeBillCount = async () => { ...@@ -386,7 +389,8 @@ const handleGetCommitteeBillCount = async () => {
if (res.code === 200 && Array.isArray(res.data)) { if (res.code === 200 && Array.isArray(res.data)) {
const mappedList = res.data const mappedList = res.data
.map(item => ({ .map(item => ({
id: `${item.orgType || ""}-${item.orgName || ""}`, id: item.orgId || `${item.orgType || ""}-${item.orgName || ""}`,
orgId: item.orgId,
name: item.orgName, name: item.orgName,
chamber: getChamberLabel(item.orgType), chamber: getChamberLabel(item.orgType),
count: Number(item.count || 0) count: Number(item.count || 0)
...@@ -411,7 +415,7 @@ const handleCommitteeTimeClick = event => { ...@@ -411,7 +415,7 @@ const handleCommitteeTimeClick = event => {
}; };
const handleToCommitteeMore = () => { const handleToCommitteeMore = () => {
const route = router.resolve({ path: "/bill/allCommittee" }); const route = router.resolve({ path: "/billAllCommittee" });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
}; };
...@@ -1409,12 +1413,14 @@ const handleResize = () => { ...@@ -1409,12 +1413,14 @@ const handleResize = () => {
// 下钻至资源库 // 下钻至资源库
const handleToDataLibrary = (item) => { const handleToDataLibrary = (item) => {
const orgId = item?.orgId || item?.id;
if (!orgId) return;
window.sessionStorage.setItem("curTabName", item.id); window.sessionStorage.setItem("curTabName", item?.name || String(orgId));
const curRoute = router.resolve({ const curRoute = router.resolve({
path: "/institution", path: "/institution",
query: { query: {
id: item.id id: orgId
} }
}); });
window.open(curRoute.href, "_blank"); window.open(curRoute.href, "_blank");
...@@ -1432,6 +1438,19 @@ const handleToDataLibrary = (item) => { ...@@ -1432,6 +1438,19 @@ const handleToDataLibrary = (item) => {
} }
// 法案数量下钻至数据资源库(与政令数量点击逻辑一致)
const handleToBillDataLibrary = (item) => {
const selectedCongress = item?.subText === "双院" ? "全部议院" : (item?.subText || "");
const route = router.resolve({
path: "/dataLibrary/countryBill",
query: {
selectedOrg: item?.name || "",
selectedCongress
}
});
window.open(route.href, "_blank");
};
onMounted(async () => { onMounted(async () => {
window.addEventListener("resize", handleResize); window.addEventListener("resize", handleResize);
handleGetHylyList(); handleGetHylyList();
...@@ -2808,7 +2827,7 @@ onUnmounted(() => { ...@@ -2808,7 +2827,7 @@ onUnmounted(() => {
.divide4 { .divide4 {
margin: 0 auto; margin: 0 auto;
margin-top: 52px; margin-top: 88px;
margin-bottom: 36px; margin-bottom: 36px;
} }
......
...@@ -135,7 +135,7 @@ const handleAnalysisClick = analysisType => { ...@@ -135,7 +135,7 @@ const handleAnalysisClick = analysisType => {
// 进展预测 -> 法案简介页(法案进展) // 进展预测 -> 法案简介页(法案进展)
if (analysisType === "forsee") { if (analysisType === "forsee") {
const target = router.resolve({ const target = router.resolve({
path: `/billLayout/ProgressForecast/${billId}`, path: `/ProgressForecast/${billId}`,
}); });
window.open(target.href, "_blank"); window.open(target.href, "_blank");
return; return;
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
</div> </div>
</div> </div>
<div v-if="!aiPaneVisible.box1" class="analysis-ai-tip-row"> <div v-if="!aiPaneVisible.box1" class="analysis-ai-tip-row">
<TipTab class="analysis-ai-tip" :text="'与历史同类法案的典型阶段耗时对比分析,数据来源:美国国会官网'" /> <TipTab class="analysis-ai-tip" :text="'与历史同类法案的典型阶段耗时对比分析数据来源:美国国会官网'" />
<AiButton class="analysis-ai-tip-action" @mouseenter="handleShowAiPane('box1')" /> <AiButton class="analysis-ai-tip-action" @mouseenter="handleShowAiPane('box1')" />
</div> </div>
<div v-if="aiPaneVisible.box1" class="analysis-ai-pane" @mouseleave="handleHideAiPane('box1')"> <div v-if="aiPaneVisible.box1" class="analysis-ai-pane" @mouseleave="handleHideAiPane('box1')">
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
</div> </div>
</div> </div>
<div v-if="!aiPaneVisible.box2" class="analysis-ai-tip-row"> <div v-if="!aiPaneVisible.box2" class="analysis-ai-tip-row">
<TipTab class="analysis-ai-tip" :text="'与历史同类法案的修正案次数对比分析,数据来源:美国国会官网'" /> <TipTab class="analysis-ai-tip" :text="'与历史同类法案的修正案次数对比分析数据来源:美国国会官网'" />
<AiButton class="analysis-ai-tip-action" @mouseenter="handleShowAiPane('box2')" /> <AiButton class="analysis-ai-tip-action" @mouseenter="handleShowAiPane('box2')" />
</div> </div>
<div v-if="aiPaneVisible.box2" class="analysis-ai-pane" @mouseleave="handleHideAiPane('box2')"> <div v-if="aiPaneVisible.box2" class="analysis-ai-pane" @mouseleave="handleHideAiPane('box2')">
...@@ -380,7 +380,7 @@ ...@@ -380,7 +380,7 @@
</div> </div>
</div> </div>
<div v-if="!aiPaneVisible.box3" class="analysis-ai-tip-row"> <div v-if="!aiPaneVisible.box3" class="analysis-ai-tip-row">
<TipTab class="analysis-ai-tip" /> <TipTab class="analysis-ai-tip" :text="'本法案立法关键节点投票情况分析,数据来源:美国国会官网'" />
<AiButton class="analysis-ai-tip-action" @mouseenter="handleShowAiPane('box3')" /> <AiButton class="analysis-ai-tip-action" @mouseenter="handleShowAiPane('box3')" />
</div> </div>
<div v-if="aiPaneVisible.box3" class="analysis-ai-pane" <div v-if="aiPaneVisible.box3" class="analysis-ai-pane"
...@@ -1749,7 +1749,8 @@ onMounted(async () => { ...@@ -1749,7 +1749,8 @@ onMounted(async () => {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: flex-start;
padding-left: 16px;
z-index: 2; z-index: 2;
} }
......
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
</div> </div>
</template> </template>
<div class="box2-main"> <div class="box2-main">
<AiTips :tips="tips" /> <!-- <AiTips :tips="tips" /> -->
<div class="graph-box" v-if="contentType==1"> <div class="graph-box" v-if="contentType==1">
<ChartChain :listData="fishbone.list" :baseData="fishbone.base" /> <ChartChain :listData="fishbone.list" :baseData="fishbone.base" />
</div> </div>
...@@ -887,14 +887,21 @@ onMounted(async () => { ...@@ -887,14 +887,21 @@ onMounted(async () => {
.left-center-search { .left-center-search {
flex: 1; flex: 1;
min-width: 0; min-width: 0;
}
:deep(.el-input__wrapper) { /* 兜底覆盖全局对 el-input 边框的强制清空,恢复当前输入框原生状态 */
background-color: var(--el-fill-color-blank); :deep(.left-center-search.el-input .el-input__wrapper) {
border-radius: var(--el-border-radius-base); box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset !important;
box-shadow: 0 0 0 1px var(--el-border-color) inset;
border: none;
box-sizing: border-box;
} }
:deep(.left-center-search.el-input .el-input__wrapper:hover) {
box-shadow: 0 0 0 1px var(--el-input-hover-border-color, var(--el-border-color-hover)) inset !important;
}
:deep(.left-center-search.el-input .el-input__wrapper.is-focus),
:deep(.left-center-search.el-input .el-input__wrapper:active),
:deep(.left-center-search.el-input .el-input__wrapper.is-focus:hover) {
box-shadow: 0 0 0 1px var(--el-input-focus-border-color, var(--el-color-primary)) inset !important;
} }
} }
...@@ -929,17 +936,21 @@ onMounted(async () => { ...@@ -929,17 +936,21 @@ onMounted(async () => {
width: 100%; width: 100%;
height: 48px; height: 48px;
border-radius: 4px; border-radius: 4px;
border-bottom: 1px solid rgba(240, 242, 244, 1); border-top: 1px solid var(--bg-black-5);
border-top: 1px solid transparent; border-bottom: 1px solid var(--bg-black-5);
border-left: 1px solid transparent;
border-right: 1px solid transparent;
display: flex; display: flex;
cursor: pointer; cursor: pointer;
margin-top: -1px;
position: relative;
&:hover { &:hover {
background-color: #f7f8fa; background-color: #f7f8fa;
} }
&:first-child { &:first-child {
border-top-color: rgba(240, 242, 244, 1); margin-top: 0;
} }
.item-icon { .item-icon {
...@@ -964,12 +975,14 @@ onMounted(async () => { ...@@ -964,12 +975,14 @@ onMounted(async () => {
.title { .title {
margin-top: 9px; margin-top: 9px;
margin-left: 10px; margin-left: 10px;
height: 22px; width: 380px;
height: 24px;
color: rgba(95, 101, 108, 1); color: rgba(95, 101, 108, 1);
font-family: Microsoft YaHei; font-family: "Source Han Sans CN", "Source Han Sans", "PingFang SC", "Microsoft YaHei",
font-size: 14px; sans-serif;
font-weight: 600; font-size: 16px;
line-height: 22px; font-weight: 400;
line-height: 24px;
text-align: left; text-align: left;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
...@@ -990,9 +1003,10 @@ onMounted(async () => { ...@@ -990,9 +1003,10 @@ onMounted(async () => {
} }
.itemActive { .itemActive {
background-color: rgba(5, 95, 194, 0.05); border-radius: 4px;
border-top-color: rgba(174, 214, 255, 1); background-color: var(--color-primary-10);
border-bottom-color: rgba(174, 214, 255, 1); border-color: var(--color-primary-35);
z-index: 1;
.item-icon { .item-icon {
background: rgba(5, 95, 194, 0.1); background: rgba(5, 95, 194, 0.1);
...@@ -1000,7 +1014,8 @@ onMounted(async () => { ...@@ -1000,7 +1014,8 @@ onMounted(async () => {
} }
.titleActive { .titleActive {
color: rgba(22, 119, 255, 1) !important; color: var(--color-primary-100) !important;
font-weight: 700 !important;
} }
} }
} }
......
...@@ -43,11 +43,11 @@ ...@@ -43,11 +43,11 @@
<template #left> <template #left>
<div class="side"> <div class="side">
<div class="side-box side-box-domain"> <div class="side-box side-box-domain">
<AnalysisBox title="涉及领域" width="520px" height="415px" v-loading="domainLoading"> <AnalysisBox title="领域分布情况" width="520px" height="415px" v-loading="domainLoading">
<div class="chart-ai-wrap"> <div class="chart-ai-wrap">
<div :class="['right-box2-main', { 'right-box-main--full': !domainFooterText }]" id="chart2"></div> <div :class="['right-box2-main', { 'right-box-main--full': !domainFooterText }]" id="chart2"></div>
<div class="overview-tip-row"> <div class="overview-tip-row">
<TipTab class="overview-tip" :text="'涉华科技法案数量及通过率变化趋势,数据来源:美国国会官网'"/> <TipTab class="overview-tip" :text="'法案条款领域分布情况,数据来源:美国国会官网'"/>
<AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('domain')" /> <AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('domain')" />
</div> </div>
<div v-if="aiPaneVisible.domain" class="overview-ai-pane" <div v-if="aiPaneVisible.domain" class="overview-ai-pane"
...@@ -69,11 +69,11 @@ ...@@ -69,11 +69,11 @@
</AnalysisBox> </AnalysisBox>
</div> </div>
<div class="side-box side-box-limit"> <div class="side-box side-box-limit">
<AnalysisBox title="限制手段" width="520px" height="415px" v-loading="limitLoading"> <AnalysisBox title="手段分布情况" width="520px" height="415px" v-loading="limitLoading">
<div class="chart-ai-wrap"> <div class="chart-ai-wrap">
<div :class="['right-box1-main', { 'right-box-main--full': !limitFooterText }]" id="chart1"></div> <div :class="['right-box1-main', { 'right-box-main--full': !limitFooterText }]" id="chart1"></div>
<div class="overview-tip-row"> <div class="overview-tip-row">
<TipTab class="overview-tip" :text="'涉华科技法案数量及通过率变化趋势,数据来源:美国国会官网'"/> <TipTab class="overview-tip" :text="'法案条款限制手段分布情况,数据来源:美国国会官网'"/>
<AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('limit')" /> <AiButton class="overview-tip-action" @mouseenter="handleShowAiPane('limit')" />
</div> </div>
<div v-if="aiPaneVisible.limit" class="overview-ai-pane" <div v-if="aiPaneVisible.limit" class="overview-ai-pane"
...@@ -1082,6 +1082,7 @@ onBeforeUnmount(() => { ...@@ -1082,6 +1082,7 @@ onBeforeUnmount(() => {
.term-index { .term-index {
width: 24px; width: 24px;
height: 24px; height: 24px;
margin-top: 8px;
border-radius: 50%; border-radius: 50%;
background: var(--color-primary-10); background: var(--color-primary-10);
color: var(--color-primary-100); color: var(--color-primary-100);
...@@ -1110,6 +1111,7 @@ onBeforeUnmount(() => { ...@@ -1110,6 +1111,7 @@ onBeforeUnmount(() => {
font-size: 16px; font-size: 16px;
font-weight: 700; font-weight: 700;
line-height: 24px; line-height: 24px;
margin-top: 8px;
color: var(--color-primary-100); color: var(--color-primary-100);
white-space: nowrap; white-space: nowrap;
width: 90px; width: 90px;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论