|
|
@ -48,13 +48,13 @@ |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<!-- Tab切换栏:执法维度 --> |
|
|
<!-- Tab切换栏:执法维度 --> |
|
|
<van-tabs v-model:active="overviewTab" color="#2563eb" title-active-color="#2563eb" |
|
|
<van-tabs ref="overviewTabsRef" v-model:active="overviewTab" shrink color="#2563eb" title-active-color="#2563eb" |
|
|
title-inactive-color="#666" swipeable animated line-width="20px" line-height="2px"> |
|
|
title-inactive-color="#666" swipeable animated line-width="20px" line-height="2px"> |
|
|
<van-tab title="执法力度"></van-tab> |
|
|
<van-tab title="执法力度"></van-tab> |
|
|
<van-tab title="执法力量"></van-tab> |
|
|
<!-- <van-tab title="执法力量"></van-tab> |
|
|
<van-tab title="执法频次"></van-tab> |
|
|
<van-tab title="执法频次"></van-tab> |
|
|
<van-tab title="执法效率"></van-tab> |
|
|
<van-tab title="执法效率"></van-tab> |
|
|
<van-tab title="执法结果"></van-tab> |
|
|
<van-tab title="执法结果"></van-tab> --> |
|
|
</van-tabs> |
|
|
</van-tabs> |
|
|
|
|
|
|
|
|
<!-- 执法力度图表 --> |
|
|
<!-- 执法力度图表 --> |
|
|
@ -155,7 +155,7 @@ |
|
|
<div class="section-title">预警态势</div> |
|
|
<div class="section-title">预警态势</div> |
|
|
|
|
|
|
|
|
<!-- 第一行:两列统计 --> |
|
|
<!-- 第一行:两列统计 --> |
|
|
<div class="warning-grid"> |
|
|
<!-- <div class="warning-grid"> |
|
|
<div class="warning-item"> |
|
|
<div class="warning-item"> |
|
|
<div class="sv-value">{{ overviewData.fxxyyj ?? '-' }}<span class="sv-unit">条</span></div> |
|
|
<div class="sv-value">{{ overviewData.fxxyyj ?? '-' }}<span class="sv-unit">条</span></div> |
|
|
<div class="sv-label">风险信用预警</div> |
|
|
<div class="sv-label">风险信用预警</div> |
|
|
@ -164,10 +164,10 @@ |
|
|
<div class="sv-value">{{ overviewData.gpjcyj ?? '-' }}<span class="sv-unit">条</span></div> |
|
|
<div class="sv-value">{{ overviewData.gpjcyj ?? '-' }}<span class="sv-unit">条</span></div> |
|
|
<div class="sv-label">高额检查预警</div> |
|
|
<div class="sv-label">高额检查预警</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> --> |
|
|
|
|
|
|
|
|
<!-- 第二行:两列 + 中间竖线分隔 --> |
|
|
<!-- 第二行:两列 + 中间竖线分隔 --> |
|
|
<div class="warning-grid warning-grid-divider"> |
|
|
<!-- <div class="warning-grid warning-grid-divider"> |
|
|
<div class="warning-item"> |
|
|
<div class="warning-item"> |
|
|
<div class="sv-value">23<span class="sv-unit">人</span></div> |
|
|
<div class="sv-value">23<span class="sv-unit">人</span></div> |
|
|
<div class="sv-label">异常人员</div> |
|
|
<div class="sv-label">异常人员</div> |
|
|
@ -177,7 +177,7 @@ |
|
|
<div class="sv-value">10<span class="sv-unit">次</span></div> |
|
|
<div class="sv-value">10<span class="sv-unit">次</span></div> |
|
|
<div class="sv-label">异常行为数</div> |
|
|
<div class="sv-label">异常行为数</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> --> |
|
|
|
|
|
|
|
|
<!-- Tab切换:各区域/各领域 --> |
|
|
<!-- Tab切换:各区域/各领域 --> |
|
|
<van-tabs v-model:active="warningTab" color="#2563eb" title-active-color="#2563eb" |
|
|
<van-tabs v-model:active="warningTab" color="#2563eb" title-active-color="#2563eb" |
|
|
@ -225,6 +225,7 @@ const activeStep = ref(0); |
|
|
const isNavFixed = ref(false); |
|
|
const isNavFixed = ref(false); |
|
|
const contentRef = ref(null); |
|
|
const contentRef = ref(null); |
|
|
const forceChartRef = ref(null); |
|
|
const forceChartRef = ref(null); |
|
|
|
|
|
const overviewTabsRef = ref(null); |
|
|
let forceChartInstance = null; |
|
|
let forceChartInstance = null; |
|
|
|
|
|
|
|
|
// 接口数据 |
|
|
// 接口数据 |
|
|
@ -385,6 +386,7 @@ onMounted(() => { |
|
|
fetchOverview(); |
|
|
fetchOverview(); |
|
|
fetchWarningTables(); |
|
|
fetchWarningTables(); |
|
|
nextTick(() => { |
|
|
nextTick(() => { |
|
|
|
|
|
overviewTabsRef.value?.resize?.(); |
|
|
if (overviewTab.value === 0) { |
|
|
if (overviewTab.value === 0) { |
|
|
renderForceChart(); |
|
|
renderForceChart(); |
|
|
} |
|
|
} |
|
|
@ -426,7 +428,7 @@ const buildTrendTable = (list, nameKey) => { |
|
|
rowMap.set(name, row); |
|
|
rowMap.set(name, row); |
|
|
rows.push(row); |
|
|
rows.push(row); |
|
|
} |
|
|
} |
|
|
rowMap.get(name).statusMap[`${item.year}Q${item.quarter}`] = mapGrade(item.zhpj); |
|
|
rowMap.get(name).statusMap[`${item.year}Q${item.quarter}`] = item.zhpjDescription || mapGrade(item.zhpj); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
return { |
|
|
return { |
|
|
@ -452,6 +454,7 @@ const fetchOverview = () => { |
|
|
}; |
|
|
}; |
|
|
updateForceChartData(); |
|
|
updateForceChartData(); |
|
|
nextTick(() => { |
|
|
nextTick(() => { |
|
|
|
|
|
overviewTabsRef.value?.resize?.(); |
|
|
if (overviewTab.value === 0) renderForceChart(); |
|
|
if (overviewTab.value === 0) renderForceChart(); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
@ -1004,7 +1007,8 @@ const currentTableData = computed(() => warningTab.value === 0 ? areaTableData.v |
|
|
background: #d1fae5; |
|
|
background: #d1fae5; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
&.wt-优良 { |
|
|
&.wt-优良, |
|
|
|
|
|
&.wt-优秀 { |
|
|
color: #1d4ed8; |
|
|
color: #1d4ed8; |
|
|
background: #dbeafe; |
|
|
background: #dbeafe; |
|
|
} |
|
|
} |
|
|
|