|
@@ -4,14 +4,25 @@
|
|
|
<div class="title-box">
|
|
|
<div class="gradient-text">公共服务承灾体总数</div>
|
|
|
</div>
|
|
|
+ <div class="box-content" style="padding: 5px 0 5px 5px; height: 195px">
|
|
|
+ <div class="box4">
|
|
|
+ <div v-for="(item, index) in riskData" :key="index" class="item" :style="{ backgroundImage: `url(${item.icon})` }">
|
|
|
+ <div class="text1">{{ item.name }}</div>
|
|
|
+ <div class="text2">{{ item.value }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="data-box1" style="margin-top: 9px">
|
|
|
- <div class="title-box">
|
|
|
+ <div class="title-box2">
|
|
|
<div class="gradient-text">茂名市公共服务承灾体数量</div>
|
|
|
</div>
|
|
|
+ <div class="box-content" style="padding: 5px 0 5px 5px; height: 220px">
|
|
|
+ <Chart :option="option1" />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="data-box1" style="margin-top: 9px">
|
|
|
- <div class="title-box">
|
|
|
+ <div class="title-box3">
|
|
|
<div class="gradient-text">茂名市公共服务承灾体数量统计表</div>
|
|
|
</div>
|
|
|
<div class="box-content" style="padding: 5px 0 5px 5px; height: 255px">
|
|
@@ -31,87 +42,90 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <Dialog v-model="showExportReport" type="xs" title="导出综合分析报告" hide-footer>
|
|
|
- <div class="flex-box">
|
|
|
- <div class="icon-chart"></div>
|
|
|
- <div>暂无数据导出</div>
|
|
|
- </div>
|
|
|
- </Dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup name="RightSection">
|
|
|
-import { setHighText } from '@/utils';
|
|
|
-const props = defineProps({
|
|
|
- time: String
|
|
|
-});
|
|
|
-let showExportReport = ref(false);
|
|
|
-let riskOverviewData = ref({
|
|
|
- time1: '',
|
|
|
- time2: '',
|
|
|
- text: ''
|
|
|
-});
|
|
|
-let colorText = ref([
|
|
|
- { text: '低风险', color: '#40c75f' },
|
|
|
- { text: '中低风险', color: '#3180f6' },
|
|
|
- { text: '中风险', color: '#efec93' },
|
|
|
- { text: '中高风险', color: '#f07d00' },
|
|
|
- { text: '极高风险', color: '#aa0d1c' }
|
|
|
+import { getImageUrl1 } from './data';
|
|
|
+
|
|
|
+let riskData = reactive([
|
|
|
+ { name: '学校', value: '1', icon: getImageUrl1('school2') },
|
|
|
+ { name: '医疗卫生机构', value: '1', icon: getImageUrl1('hospital2') },
|
|
|
+ { name: '提供住宿的社会服务机构', value: '1', icon: getImageUrl1('socialInstitution2') },
|
|
|
+ { name: '公共文化场所', value: '1', icon: getImageUrl1('publicPlace2') },
|
|
|
+ { name: '旅游景区', value: '1', icon: getImageUrl1('scenicSpot2') },
|
|
|
+ { name: '星级饭店', value: '1', icon: getImageUrl1('restaurant2') },
|
|
|
+ { name: '体育场馆', value: '1', icon: getImageUrl1('gymnasium2') },
|
|
|
+ { name: '宗教活动场所', value: '1', icon: getImageUrl1('religiousPlace2') },
|
|
|
+ { name: '大型超市', value: '1', icon: getImageUrl1('supermarket2') }
|
|
|
]);
|
|
|
-// 风险分布
|
|
|
-let riskDistributionState = reactive({
|
|
|
- showLevel: '1',
|
|
|
- countyLevel: [
|
|
|
- { name: '极高风险区县', value: '0', icon: 'icon5', text: 'red-text' },
|
|
|
- { name: '中高风险区县', value: '0', icon: 'icon4', text: 'orange-text' },
|
|
|
- { name: '中风险区县', value: '0', icon: 'icon3', text: 'yellow-text' },
|
|
|
- { name: '中低风险区县', value: '0', icon: 'icon2', text: 'blue-text' },
|
|
|
- { name: '低风险区县', value: '0', icon: 'icon1', text: 'green-text' }
|
|
|
- ],
|
|
|
- townShipLevel: [
|
|
|
- { name: '极高风险镇街', value: '0', icon: 'icon5', text: 'red-text' },
|
|
|
- { name: '中高风险镇街', value: '0', icon: 'icon4', text: 'orange-text' },
|
|
|
- { name: '中风险镇街', value: '0', icon: 'icon3', text: 'yellow-text' },
|
|
|
- { name: '中低风险镇街', value: '0', icon: 'icon2', text: 'blue-text' },
|
|
|
- { name: '低风险镇街', value: '0', icon: 'icon1', text: 'green-text' }
|
|
|
+let option1 = reactive({
|
|
|
+ tooltip: {
|
|
|
+ trigger: 'axis',
|
|
|
+ axisPointer: {
|
|
|
+ type: 'shadow'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ color: ['#3172f3', '#5cc4f1'],
|
|
|
+ legend: {
|
|
|
+ textStyle: {
|
|
|
+ color: '#9a9ea7'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ grid: {
|
|
|
+ top: '25',
|
|
|
+ left: '10px',
|
|
|
+ right: '20px',
|
|
|
+ bottom: '10px',
|
|
|
+ containLabel: true
|
|
|
+ },
|
|
|
+ xAxis: {
|
|
|
+ type: 'value',
|
|
|
+ boundaryGap: [0, 0.01],
|
|
|
+ axisLabel: {
|
|
|
+ color: '#9a9ea7'
|
|
|
+ },
|
|
|
+ splitLine: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ axisLine: {
|
|
|
+ show: true,
|
|
|
+ lineStyle: {
|
|
|
+ color: '#2b3446'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ yAxis: {
|
|
|
+ type: 'category',
|
|
|
+ axisLine: {
|
|
|
+ lineStyle: {
|
|
|
+ color: '#2b3446'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ axisTick: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ axisLabel: {
|
|
|
+ color: '#9a9ea7'
|
|
|
+ },
|
|
|
+ data: []
|
|
|
+ },
|
|
|
+ series: [
|
|
|
+ {
|
|
|
+ name: '星级饭店',
|
|
|
+ type: 'bar',
|
|
|
+ data: []
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '旅游景点',
|
|
|
+ type: 'bar',
|
|
|
+ data: []
|
|
|
+ }
|
|
|
]
|
|
|
});
|
|
|
//
|
|
|
const tableData = ref([]);
|
|
|
const getData = () => {
|
|
|
- const data = {
|
|
|
- time1: '2024-10-31 09:00:00',
|
|
|
- time2: '2024-10-31 09:00:00',
|
|
|
- text: '经系统研判,当前茂名市海洋风险为低风险当前全市林火中高风险区县共有1个,为信宜市。林火中风险区县共有1个,为化州市,林火中低危险区县共有1个,为高州市,电白区、茂南区为低风险。'
|
|
|
- };
|
|
|
- data.text = setHighText(data.text, colorText.value);
|
|
|
- riskOverviewData.value = data;
|
|
|
-
|
|
|
- const data2 = {
|
|
|
- data1: '0',
|
|
|
- data2: '0',
|
|
|
- data3: '21',
|
|
|
- data4: '258',
|
|
|
- data5: '34'
|
|
|
- };
|
|
|
- const data3 = {
|
|
|
- data1: '0',
|
|
|
- data2: '0',
|
|
|
- data3: '6',
|
|
|
- data4: '156',
|
|
|
- data5: '6'
|
|
|
- };
|
|
|
- riskDistributionState.countyLevel[0].value = data2.data1;
|
|
|
- riskDistributionState.countyLevel[1].value = data2.data2;
|
|
|
- riskDistributionState.countyLevel[2].value = data2.data3;
|
|
|
- riskDistributionState.countyLevel[3].value = data2.data4;
|
|
|
- riskDistributionState.countyLevel[4].value = data2.data5;
|
|
|
- riskDistributionState.townShipLevel[0].value = data3.data1;
|
|
|
- riskDistributionState.townShipLevel[1].value = data3.data2;
|
|
|
- riskDistributionState.townShipLevel[2].value = data3.data3;
|
|
|
- riskDistributionState.townShipLevel[3].value = data3.data4;
|
|
|
- riskDistributionState.townShipLevel[4].value = data3.data5;
|
|
|
-
|
|
|
tableData.value = [
|
|
|
{ area: '茂南区', data1: '123', data2: '74' },
|
|
|
{ area: '电白区', data1: '23', data2: '12' },
|
|
@@ -119,6 +133,9 @@ const getData = () => {
|
|
|
{ area: '化州区', data1: '25', data2: '14' },
|
|
|
{ area: '信宜区', data1: '21', data2: '24' }
|
|
|
];
|
|
|
+ option1.yAxis.data = ['茂南区', '电白区', '高州区', '化州区', '信宜区'];
|
|
|
+ option1.series[0].data = [182, 234, 290, 104, 131];
|
|
|
+ option1.series[1].data = [193, 234, 310, 121, 134];
|
|
|
};
|
|
|
onMounted(() => {
|
|
|
getData();
|
|
@@ -143,9 +160,29 @@ onMounted(() => {
|
|
|
margin-top: -8px;
|
|
|
}
|
|
|
.title-box {
|
|
|
+ width: 450px;
|
|
|
+ height: 40px;
|
|
|
+ background: url('@/assets/images/censusDataAnalysis/titleBox6.png') no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ padding-left: 50px;
|
|
|
+ .gradient-text {
|
|
|
+ font-size: 24px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .title-box2 {
|
|
|
width: 516px;
|
|
|
height: 40px;
|
|
|
- background: url('@/assets/images/censusDataAnalysis/titleBox.png') no-repeat;
|
|
|
+ background: url('@/assets/images/censusDataAnalysis/titleBox4.png') no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ padding-left: 50px;
|
|
|
+ .gradient-text {
|
|
|
+ font-size: 24px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .title-box3 {
|
|
|
+ width: 518px;
|
|
|
+ height: 40px;
|
|
|
+ background: url('@/assets/images/censusDataAnalysis/titleBox5.png') no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
padding-left: 50px;
|
|
|
.gradient-text {
|