2023-11-22 18:59:08 +08:00
|
|
|
<template>
|
2023-11-20 18:04:58 +08:00
|
|
|
<div class="module-center">
|
2023-11-25 12:04:39 +08:00
|
|
|
<div class="map"></div>
|
2023-11-25 17:18:28 +08:00
|
|
|
<CardCount1 id="xtlCount" class="item" :type="1" title="稀土路街道" unit="人" :value="xtlCount" :key="keyCount.xtl" @click="onXtlCLick"/>
|
|
|
|
<CardCount1 id="mxlCount" class="item" :type="1" title="民馨路街道" unit="人" :value="mxlCount" :key="keyCount.mxl" @click="onMxlCLick"/>
|
|
|
|
<CardCount1 id="wsqCount" class="item" :type="1" title="万水泉镇" unit="人" :value="wsqCount" :key="keyCount.wsq" @click="onWsqCLick"/>
|
|
|
|
<CardCount1 id="totalCount" class="item" :type="2" title="总人口数" unit="人" :value="totalCount" :key="keyCount.total" @click="onTotalCLick"/>
|
|
|
|
<PersonPercent id="manPercent" class="item" :value="manCount" @click="onManClick"/>
|
|
|
|
<PersonPercent id="womenPercent" class="item" type="women" :value="womenCount" @click="onWomenClick"/>
|
|
|
|
<CardTwoCount id="cardTwoCount" class="item" :data="populstionTypeData" @click="onTwoCardCLick"/>
|
2023-11-23 23:17:10 +08:00
|
|
|
<img id="xtlIcon" class="stree-icon" :src="icons.xtl">
|
|
|
|
<img id="mxlIcon" class="stree-icon" :src="icons.mxl">
|
|
|
|
<img id="wsqIcon" class="stree-icon" :src="icons.wsq">
|
2023-11-20 18:04:58 +08:00
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
2023-11-22 18:59:08 +08:00
|
|
|
import { ref, reactive, inject } from 'vue';
|
2023-11-20 18:04:58 +08:00
|
|
|
import PersonPercent from '../components/card/PersonPercent.vue';
|
|
|
|
import CardCount1 from '../components/card/CardCount1.vue';
|
|
|
|
import CardTwoCount from '../components/card/CardTwoCount.vue';
|
2023-11-22 18:59:08 +08:00
|
|
|
|
2023-11-23 23:17:10 +08:00
|
|
|
const icons = reactive({
|
|
|
|
xtl: 'assets/imgs/icon/xtl.png',
|
|
|
|
mxl: 'assets/imgs/icon/mxl.png',
|
|
|
|
wsq: 'assets/imgs/icon/wsq.png'
|
|
|
|
})
|
|
|
|
|
2023-11-22 18:59:08 +08:00
|
|
|
const axios = inject('axios');
|
|
|
|
|
|
|
|
const keyCount = reactive({
|
|
|
|
xtl: 0,
|
|
|
|
mxl: 0,
|
|
|
|
wsq: 0,
|
|
|
|
totalCount: 0
|
|
|
|
});
|
|
|
|
|
|
|
|
const xtlCount = ref(0);
|
|
|
|
const mxlCount = ref(0);
|
|
|
|
const wsqCount = ref(0);
|
|
|
|
const totalCount = ref(0);
|
|
|
|
|
2023-11-25 17:18:28 +08:00
|
|
|
const onXtlCLick = () => {
|
|
|
|
console.log('xtl')
|
|
|
|
}
|
|
|
|
|
|
|
|
const onMxlCLick = () => {
|
|
|
|
console.log('mxl')
|
|
|
|
}
|
|
|
|
|
|
|
|
const onWsqCLick = () => {
|
|
|
|
console.log('wsq')
|
|
|
|
}
|
|
|
|
|
|
|
|
const onTotalCLick = () => {
|
|
|
|
console.log('total')
|
|
|
|
}
|
|
|
|
|
|
|
|
const onManClick = () => {
|
|
|
|
console.log('man')
|
|
|
|
}
|
|
|
|
|
|
|
|
const onWomenClick = () => {
|
|
|
|
console.log('women')
|
|
|
|
}
|
|
|
|
|
|
|
|
const onTwoCardCLick = (type) => {
|
|
|
|
console.log('twoCard', type)
|
|
|
|
}
|
|
|
|
|
2023-11-22 18:59:08 +08:00
|
|
|
// 人口
|
|
|
|
axios.get(`app/query/sqlrelease/q3cd32d5`, {}).then(res => {
|
|
|
|
let data = res.data;
|
|
|
|
xtlCount.value = data.xiTu;
|
|
|
|
mxlCount.value = data.minXin;
|
|
|
|
wsqCount.value = data.wanShuiQuan;
|
|
|
|
totalCount.value = data.renKou;
|
|
|
|
|
|
|
|
keyCount.xtl += 1;
|
|
|
|
keyCount.mxl += 1;
|
|
|
|
keyCount.wsq += 1;
|
|
|
|
keyCount.totalCount += 1;
|
|
|
|
}).catch(err => {
|
|
|
|
console.error(err);
|
|
|
|
})
|
|
|
|
|
|
|
|
const manCount = ref(0);
|
|
|
|
const womenCount = ref(0);
|
|
|
|
// 性别
|
|
|
|
axios.get(`app/query/sqlrelease/q1152adc`, {}).then(res => {
|
|
|
|
let data = res.data;
|
|
|
|
manCount.value = data[0].value;
|
|
|
|
womenCount.value = data[1].value;
|
|
|
|
}).catch(err => {
|
|
|
|
console.error(err);
|
|
|
|
});
|
|
|
|
|
|
|
|
const populstionTypeData = reactive({
|
|
|
|
count1: {
|
|
|
|
value: 0,
|
|
|
|
title: '常住人口',
|
|
|
|
unit: '人',
|
|
|
|
percent: 0,
|
|
|
|
color: 'white',
|
|
|
|
},
|
|
|
|
count2: {
|
|
|
|
value: 0,
|
|
|
|
title: '流动人口',
|
|
|
|
unit: '人',
|
|
|
|
percent: 0,
|
|
|
|
color: 'white',
|
|
|
|
},
|
|
|
|
})
|
|
|
|
// 常驻人口
|
|
|
|
axios.get(`app/query/sqlrelease/qdf8f806`, {}).then(res => {
|
|
|
|
let data = res.data;
|
|
|
|
let total = data[0].value + data[1].value;
|
|
|
|
populstionTypeData.count1.value = data[0].value;
|
|
|
|
populstionTypeData.count1.percent = (data[0].value / total).toFixed(2);
|
|
|
|
populstionTypeData.count2.value = data[1].value;
|
|
|
|
populstionTypeData.count2.percent = (data[1].value / total).toFixed(2);
|
|
|
|
}).catch(err => {
|
|
|
|
console.error(err);
|
|
|
|
})
|
|
|
|
|
2023-11-20 18:04:58 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="stylus" scoped>
|
|
|
|
.module-center
|
|
|
|
width 800px
|
|
|
|
height 600px
|
2023-11-25 12:04:39 +08:00
|
|
|
background-image url(/assets/imgs/center-map-box-bg.png)
|
|
|
|
background-size 800px 550px
|
2023-11-20 18:04:58 +08:00
|
|
|
background-repeat no-repeat
|
|
|
|
position relative
|
2023-11-25 12:04:39 +08:00
|
|
|
.map
|
|
|
|
width 785px
|
|
|
|
height 530px
|
|
|
|
background-image url(/assets/imgs/center-map-bg.png)
|
|
|
|
background-size 780px 462px
|
|
|
|
background-repeat no-repeat
|
|
|
|
background-position 15px 45px
|
2023-11-20 18:04:58 +08:00
|
|
|
.item
|
2023-11-25 12:04:39 +08:00
|
|
|
cursor pointer
|
2023-11-20 18:04:58 +08:00
|
|
|
position absolute
|
|
|
|
top 0
|
|
|
|
left 0
|
2023-11-21 17:48:18 +08:00
|
|
|
.stree-icon
|
|
|
|
position absolute
|
|
|
|
top 0
|
|
|
|
left 0
|
|
|
|
width 25px
|
|
|
|
#totalCount
|
2023-11-25 12:04:39 +08:00
|
|
|
top 100px
|
|
|
|
left 590px
|
2023-11-21 17:48:18 +08:00
|
|
|
#xtlIcon
|
2023-11-25 12:04:39 +08:00
|
|
|
top 180px
|
|
|
|
left 250px
|
2023-11-21 17:48:18 +08:00
|
|
|
#xtlCount
|
2023-11-25 12:04:39 +08:00
|
|
|
top 155px
|
|
|
|
left 285px
|
2023-11-21 17:48:18 +08:00
|
|
|
#mxlIcon
|
2023-11-25 12:04:39 +08:00
|
|
|
top 250px
|
2023-11-21 17:48:18 +08:00
|
|
|
left 60px
|
|
|
|
#mxlCount
|
2023-11-25 12:04:39 +08:00
|
|
|
top 225px
|
|
|
|
left 90px
|
2023-11-21 17:48:18 +08:00
|
|
|
#wsqIcon
|
2023-11-25 12:04:39 +08:00
|
|
|
top 350px
|
|
|
|
left 450px
|
2023-11-21 17:48:18 +08:00
|
|
|
#wsqCount
|
2023-11-25 12:04:39 +08:00
|
|
|
top 325px
|
|
|
|
left 480px
|
2023-11-20 18:04:58 +08:00
|
|
|
#manPercent
|
2023-11-25 12:04:39 +08:00
|
|
|
top 560px
|
|
|
|
left 40px
|
|
|
|
transform scale(1.3)
|
2023-11-20 18:04:58 +08:00
|
|
|
#womenPercent
|
2023-11-25 12:04:39 +08:00
|
|
|
top 580px
|
|
|
|
left 120px
|
2023-11-22 18:59:08 +08:00
|
|
|
#cardTwoCount
|
2023-11-25 12:04:39 +08:00
|
|
|
top 580px
|
|
|
|
left 480px
|
2023-11-20 18:04:58 +08:00
|
|
|
</style>
|