Commit 4a5cdb4d authored by 郭铭瑶's avatar 郭铭瑶 🤘

12/20 修改 完善 暂存

parent bd773424
...@@ -47,8 +47,6 @@ export default { ...@@ -47,8 +47,6 @@ export default {
GET_PUBLICSAFE_RIGHT_GATE: GET_PUBLICSAFE_RIGHT_GATE:
'/service-special-nandong/public/ironGate/statistical', // 公共安全-右侧-门岗分布 '/service-special-nandong/public/ironGate/statistical', // 公共安全-右侧-门岗分布
GET_PUBLICSAFE_RIGHT_SAFEMAP: '/service-special-nandong/public/peaceMaps', // 公共安全-右侧-平安地图 GET_PUBLICSAFE_RIGHT_SAFEMAP: '/service-special-nandong/public/peaceMaps', // 公共安全-右侧-平安地图
GET_PUBLICSAFE_TRUE_PEOPLE:
'/service-special-nand2ong/public/personnel/statistical', // 公共安全-右侧-实有人口
GET_PUBLICSAFE_HOUSE: '/service-basicdatasync-ddd/public/resource/count', // 公共安全-右侧-居住房屋 GET_PUBLICSAFE_HOUSE: '/service-basicdatasync-ddd/public/resource/count', // 公共安全-右侧-居住房屋
GET_PUBLICSAFE_NONRESIDENT: GET_PUBLICSAFE_NONRESIDENT:
'/service-basicdatasync-ddd/public/nonResident/statistical', // 公共安全-右侧-非居房屋 '/service-basicdatasync-ddd/public/nonResident/statistical', // 公共安全-右侧-非居房屋
...@@ -140,6 +138,7 @@ export default { ...@@ -140,6 +138,7 @@ export default {
GET_DISCOVER_STATISTICS: GET_DISCOVER_STATISTICS:
'/service-special-nandong/public/discover/category/count', // 发现数据 '/service-special-nandong/public/discover/category/count', // 发现数据
GET_DISCOVER_COUNT: '/service-special-nandong/public/discover/count', // 今日及历史发现数 GET_DISCOVER_COUNT: '/service-special-nandong/public/discover/count', // 今日及历史发现数
GET_DISCOVER_LIST: '/service-special-nandong/public/discoverys', // 快处闭环
/** 来福士 */ /** 来福士 */
GET_RAFFLES: '/service-special-nandong/public/lfss', // 来福士列表 GET_RAFFLES: '/service-special-nandong/public/lfss', // 来福士列表
......
...@@ -61,7 +61,6 @@ export default { ...@@ -61,7 +61,6 @@ export default {
dispatch('GET_PUBLICSAFE_RIGHT_GATE') dispatch('GET_PUBLICSAFE_RIGHT_GATE')
dispatch('GET_PUBLICSAFE_RIGHT_SAFEMAP') dispatch('GET_PUBLICSAFE_RIGHT_SAFEMAP')
dispatch('GET_PUBLICSAFE_NEWFIND') dispatch('GET_PUBLICSAFE_NEWFIND')
dispatch('GET_PUBLICSAFE_TRUE_PEOPLE')
dispatch('getEcologyList') dispatch('getEcologyList')
dispatch('getEcologyPoints') dispatch('getEcologyPoints')
dispatch('getEcologyConvenient') dispatch('getEcologyConvenient')
...@@ -182,14 +181,6 @@ export default { ...@@ -182,14 +181,6 @@ export default {
commit('SET_PUBLICSAFE_SAFEMAP', content) commit('SET_PUBLICSAFE_SAFEMAP', content)
}, },
// 公共服务 - 实有人口
async GET_PUBLICSAFE_TRUE_PEOPLE({ commit }: Method): Promise<void> {
const { content } = (
await ajax.get({ url: api.GET_PUBLICSAFE_TRUE_PEOPLE })
).data
commit('SET_PUBLICSAFE_TRUE_PEOPLE', content)
},
// 公共服务 - 实有房屋 // 公共服务 - 实有房屋
async GET_PUBLICSAFE_HOUSE({ commit }: Method): Promise<void> { async GET_PUBLICSAFE_HOUSE({ commit }: Method): Promise<void> {
const { content } = (await ajax.get({ url: api.GET_PUBLICSAFE_HOUSE })).data const { content } = (await ajax.get({ url: api.GET_PUBLICSAFE_HOUSE })).data
......
...@@ -20,6 +20,7 @@ export interface CommunityInfoProp { ...@@ -20,6 +20,7 @@ export interface CommunityInfoProp {
totHous: number //总户数 totHous: number //总户数
communityList: { sectName: string; sectId: string }[] // 小区列表 communityList: { sectName: string; sectId: string }[] // 小区列表
icMember: unknown[] // 业委会列表 icMember: unknown[] // 业委会列表
[key: string]: any
} }
export interface IssueProp { export interface IssueProp {
date: string //日期 date: string //日期
......
...@@ -81,13 +81,6 @@ export default { ...@@ -81,13 +81,6 @@ export default {
): void { ): void {
state.pubulicSafeMap = data state.pubulicSafeMap = data
}, },
SET_PUBLICSAFE_TRUE_PEOPLE(
// 公共安全-实有人口
state: GlobalStateProps,
data: { [key: string]: number }
): void {
state.pubulicSafeTruePeople = data
},
SET_PUBLICSAFE_HOUSE( SET_PUBLICSAFE_HOUSE(
// 公共安全-居住房屋 // 公共安全-居住房屋
state: GlobalStateProps, state: GlobalStateProps,
......
...@@ -25,6 +25,8 @@ export default { ...@@ -25,6 +25,8 @@ export default {
{ name: '第一工作站', type: 'work1', id: '01001' }, { name: '第一工作站', type: 'work1', id: '01001' },
{ name: '第二工作站', type: 'work2', id: '01002' }, { name: '第二工作站', type: 'work2', id: '01002' },
{ name: '第三工作站', type: 'work3', id: '01003' }, { name: '第三工作站', type: 'work3', id: '01003' },
// {name: "振兴小区", type: url: "/community?id=527635870583459840"}
// {name: "威海路62弄", type: url: "/community?id=527635870583459841"}
], ],
showCommunityPoints: false, // 显示地图自带小区门牌幢、勾边点位 showCommunityPoints: false, // 显示地图自带小区门牌幢、勾边点位
communityOptions: [ communityOptions: [
......
<template> <template>
<div id="site-selector" class="site-selector"> <div
id="site-selector"
class="site-selector"
:style="`left:${
isNaN(+curViewType) ? 'calc(20vw + .1rem)' : 'calc(16vw + .1rem)'
}`"
>
<a-select <a-select
:value="curViewType" :value="curViewType"
dropdown-class-name="site-selector-drop-down" dropdown-class-name="site-selector-drop-down"
...@@ -69,7 +75,6 @@ $height = .26rem ...@@ -69,7 +75,6 @@ $height = .26rem
#site-selector.site-selector #site-selector.site-selector
position fixed position fixed
top .45rem top .45rem
left calc(16vw + .1rem)
z-index 99 z-index 99
.ant-select .ant-select
background $bg background $bg
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
:stroke-width="strokeWidth" :stroke-width="strokeWidth"
:gap-degree="gapDegree" :gap-degree="gapDegree"
trail-color="rgba(255,255,255,0.1)" trail-color="rgba(255,255,255,0.1)"
:format="(val) => `${val}%`"
/> />
<slot> <slot>
<p>{{ name }}</p> <p>{{ name }}</p>
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
area="right" area="right"
/> />
</m-animate> </m-animate>
<ViewSelector /> <SiteSelector />
<MapBtns <MapBtns
@change="selectArea" @change="selectArea"
@full="fullScreen = $event" @full="fullScreen = $event"
...@@ -63,7 +63,7 @@ import PublicWork from './right/public-work.vue' ...@@ -63,7 +63,7 @@ import PublicWork from './right/public-work.vue'
import PublicManage from './right/public-manage.vue' import PublicManage from './right/public-manage.vue'
import PublicService from './right/public-service.vue' import PublicService from './right/public-service.vue'
import PublicSafety from './right/public-safety.vue' import PublicSafety from './right/public-safety.vue'
import ViewSelector from './components/view-selector.vue' import SiteSelector from './community/site-selector.vue'
import MapBtns from './components/map-btns.vue' import MapBtns from './components/map-btns.vue'
import CaseDrawer from './drawers/case-drawer.vue' import CaseDrawer from './drawers/case-drawer.vue'
import PopulationDrawer from './drawers/population-drawer.vue' import PopulationDrawer from './drawers/population-drawer.vue'
...@@ -79,7 +79,7 @@ export default defineComponent({ ...@@ -79,7 +79,7 @@ export default defineComponent({
PublicManage, PublicManage,
PublicService, PublicService,
PublicSafety, PublicSafety,
ViewSelector, SiteSelector,
MapBtns, MapBtns,
CaseDrawer, CaseDrawer,
PopulationDrawer, PopulationDrawer,
......
...@@ -146,6 +146,7 @@ export default defineComponent({ ...@@ -146,6 +146,7 @@ export default defineComponent({
await ajax.get({ await ajax.get({
url: api.GET_COMMUNITY_FACILITY, url: api.GET_COMMUNITY_FACILITY,
params: { sectId: id, pageSize: 1000 }, params: { sectId: id, pageSize: 1000 },
showLoading: false,
}) })
).data.content.filter((item: any) => item.classification != '微更新') ).data.content.filter((item: any) => item.classification != '微更新')
memberList.value = memberList.value =
......
...@@ -99,6 +99,7 @@ export default defineComponent({ ...@@ -99,6 +99,7 @@ export default defineComponent({
name: `${item.buildingAddr}通道${item.channelNo}`, name: `${item.buildingAddr}通道${item.channelNo}`,
...item, ...item,
})) }))
videoList.value = list.value
addresses.value.push( addresses.value.push(
...list.value.map((item: any) => ({ ...list.value.map((item: any) => ({
name: item.name, name: item.name,
......
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
{{ item.name }} {{ item.name }}
</p> </p>
<p> <p>
<span><m-count :value="item.value" /></span> <span><m-count :value="item.unit" /></span>
<span><m-count :value="item.area" /></span> <span><m-count :value="item.value" /></span>
</p> </p>
</div> </div>
</div> </div>
...@@ -53,47 +53,134 @@ ...@@ -53,47 +53,134 @@
</m-card> </m-card>
</m-card> </m-card>
<div class="btns"> <div class="btns">
<span>紫华大厦</span> <span v-for="item in buildingList" :key="item.sectId">
<span>文海大楼</span> {{ item.sectName.replace('黄浦区', '').replace('南京街道', '') }}
<span>振兴片区</span> </span>
</div>
</div> </div>
<m-modal
v-model="archiveModal"
width="33%"
offset="-50%"
title="小区档案"
:mask-closable="false"
>
<template v-if="!showRooms">
<div class="subtitle">小区信息</div>
<m-form
label-width="1.3rem"
:template="[
'name:小区名称|address:小区地址',
'c:物业管理单位|d:区',
'e:房办|f:街道',
'g:建筑面积|h:占地面积',
'i:小区性质',
]"
:data="{}"
/>
<div class="subtitle">
门牌详细信息
<span @click="showRooms = true">查看分户</span>
</div> </div>
<m-form
label-width="1.3rem"
:template="[
'i:单元号|j:门牌地址',
'k:门牌属性|l:使用类型',
'm:总层数|n:竣工日期',
]"
:data="{}"
/>
<div class="subtitle">电梯信息</div>
<m-form
label-width="1.3rem"
:template="[
'o:电梯数量|p:电梯注册代码',
'q:使用证号|r:注册登记机构',
's:注册登记人员|t:安装单位名称',
'u:安装单位代码|v:安装地址',
'w:安装竣工日期|x:安装负责人',
'y:安装负责人联系电话|z:电梯编号',
'a2:设备种类|b2:设计使用年限',
'c2:设备型号|d2:管理单元(小区楼宇)',
]"
:data="{}"
/>
</template>
<template v-else>
<div class="subtitle">
分户信息
<span @click="showRooms = false">&lt;&lt; 返回</span>
</div>
<m-table
:template="[
'序号|分户地址*3|分户面积(㎡)*2|房屋性质*2|房屋类型*2|电梯标志*2',
'a|b|c|d|e|f',
]"
:data="[]"
/>
</template>
</m-modal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import icon1 from '@/assets/images/icon31.png' import icon1 from '@/assets/images/icon31.png'
import icon2 from '@/assets/images/icon37.png' import icon2 from '@/assets/images/icon37.png'
import icon3 from '@/assets/images/icon38.png' import icon3 from '@/assets/images/icon38.png'
import { ref } from 'vue' import { computed, ref } from 'vue'
import store from '@/store'
import Brief from '../components/brief.vue' import Brief from '../components/brief.vue'
const situation = [ const buildingList = computed(() => store.state.communityInfo.communityList)
const communityInfo = computed(() => store.state.communityInfo)
const situation = computed(() => {
const { totCmp = 0, totArea = 0, totUnits = 0 } = communityInfo.value
return [
{ {
name: '门牌数', name: '门牌数',
value: 39, value: totUnits,
icon: icon1, icon: icon1,
}, },
{ {
name: '管理面积(㎡)', name: '管理面积(㎡)',
value: 1579.15, value: totArea,
icon: icon2, icon: icon2,
}, },
{ {
name: '物业企业', name: '物业企业',
value: 3, value: totCmp,
icon: icon3, icon: icon3,
}, },
] ]
const pieData1 = ref({ })
const pieData1 = computed(() => {
const { stKindList = [] } = communityInfo.value
const data1 = stKindList.find((e: any) => e.stKindName?.includes('商品房'))
const data2 = stKindList.find((e: any) => e.stKindName?.includes('售后房'))
const data3 = stKindList.find((e: any) => e.stKindName?.includes('直管公房'))
return {
dimensions: [ dimensions: [
{ name: 'name', displayName: '类型' }, { name: 'name', displayName: '类型' },
{ name: 'value', displayName: '幢' }, { name: 'value', displayName: '面积' },
], ],
source: [ source: [
{ name: '商品房', value: 261, area: 1876 }, {
{ name: '售后房', value: 237, area: 1532 }, name: '商品房',
{ name: '公房', value: 218, area: 957 }, unit: data1?.totUnits || 0,
value: +data1?.stCnstArea.toFixed(2) || 0,
},
{
name: '售后房',
unit: data2?.totUnits || 0,
value: +data2?.stCnstArea.toFixed(2) || 0,
},
{
name: '直管公房',
unit: data3?.totUnits || 0,
value: +data3?.stCnstArea.toFixed(2) || 0,
},
], ],
}
}) })
const option1 = { const option1 = {
color: [ color: [
...@@ -104,6 +191,11 @@ const option1 = { ...@@ -104,6 +191,11 @@ const option1 = {
legend: { legend: {
show: false, show: false,
}, },
tooltip: {
formatter: (params: any) => {
return `${params.marker}${params.name}${params.value?.value || 0}`
},
},
series: [ series: [
{ {
type: 'pie', type: 'pie',
...@@ -115,16 +207,19 @@ const option1 = { ...@@ -115,16 +207,19 @@ const option1 = {
}, },
], ],
} }
const pieData2 = ref({ const pieData2 = computed(() => {
const { cspList = [{ cspName: '-', stCnstArea: 0 }] } = communityInfo.value
const data = cspList.map((e: any) => ({
name: e?.cspName || '无',
value: +(e?.stCnstArea?.toFixed(2) || 0),
}))
return {
dimensions: [ dimensions: [
{ name: 'name', displayName: '名称' }, { name: 'name', displayName: '名称' },
{ name: 'value', displayName: '面积' }, { name: 'value', displayName: '面积' },
], ],
source: [ source: data,
{ name: '物业1', value: 1876 }, }
{ name: '物业2', value: 1532 },
{ name: '物业3', value: 957 },
],
}) })
const option2 = { const option2 = {
color: [ color: [
...@@ -135,6 +230,13 @@ const option2 = { ...@@ -135,6 +230,13 @@ const option2 = {
legend: { legend: {
show: false, show: false,
}, },
tooltip: {
formatter: (params: any) => {
return `${params.marker}${params.name}<br/><span style="float:right;">${
params.value?.value || 0
}</span>`
},
},
series: [ series: [
{ {
type: 'pie', type: 'pie',
...@@ -185,6 +287,8 @@ const option3 = { ...@@ -185,6 +287,8 @@ const option3 = {
max: 100, max: 100,
}, },
} }
const archiveModal = ref(false)
const showRooms = ref(false)
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
...@@ -253,4 +357,26 @@ const option3 = { ...@@ -253,4 +357,26 @@ const option3 = {
.score-chart .score-chart
width 100% width 100%
height 1.2rem height 1.2rem
.subtitle
font-weight bold
font-size .12rem
line-height .12rem
margin .06rem 0
>span
color $primary-color
cursor pointer
font-size .09rem
font-weight normal
float right
margin-right .05rem
&:hover
color #fff
text-decoration underline
&:before
content ''
display inline-block
width .04rem
height .1rem
background gold
margin-right .06rem
</style> </style>
...@@ -30,28 +30,43 @@ ...@@ -30,28 +30,43 @@
<m-scroll :length="events.length" :limit="5" mode="2" :step="0.8"> <m-scroll :length="events.length" :limit="5" mode="2" :step="0.8">
<div v-for="(item, i) in events" :key="i" class="event-item"> <div v-for="(item, i) in events" :key="i" class="event-item">
<div class="left"> <div class="left">
<p>{{ item.name }}</p> <p>{{ transName(item.category) }}</p>
<p>发现时间:{{ item.time }}</p> <p>发现时间:{{ item.acceptTime }}</p>
<p> <p>
处置部门:<span class="department">{{ item.department }}</span> 处置部门:<span class="department">
{{ item.disposalOrg || '暂无' }}
</span>
</p> </p>
</div> </div>
<div class="middle"> <div class="middle">
<div :style="`background-image: url(${item.discover})`"> <div
v-show="item.alarmPic"
:style="`background-image: url(data:image/png;base64,${item.alarmPic})`"
@click="viewImage(item.alarmPic)"
>
<span>发现</span> <span>发现</span>
</div> </div>
<div :style="`background-image: url(${item.process})`"> <div
v-show="item.donePic"
:style="`background-image: url(data:image/png;base64,${item.donePic})`"
@click="viewImage(item.donePic)"
>
<span>处置</span> <span>处置</span>
</div> </div>
</div> </div>
<div class="right"> <div class="right">
<div <div
v-for="(step, index) in steps" v-for="(step, index) in steps"
:key="step" :key="step.key"
:class="{ on: index == item.cur, unreach: +item.cur < index }" :class="{
on: step.key == item.disposalStatus,
unreach:
steps.findIndex((e) => e.key == item.disposalStatus) <
index,
}"
> >
<span class="step" /> <span class="step" />
<p>{{ step }}</p> <p>{{ step.name }}</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -59,6 +74,17 @@ ...@@ -59,6 +74,17 @@
</div> </div>
</div> </div>
</m-card> </m-card>
<m-modal
v-model="showImgageModal"
title="图片预览"
width="auto"
offset="-50%"
>
<img
style="max-height: 70vh; width: auto"
:src="`data:image/png;base64,${curImgSrc}`"
/>
</m-modal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
...@@ -154,47 +180,7 @@ ajax ...@@ -154,47 +180,7 @@ ajax
{ name: '群租', value: groupRent }, { name: '群租', value: groupRent },
] ]
}) })
const events = [ const events = ref<any>([
{
name: '占用消防通道',
time: '2020-03-13 13:23:08',
department: '小区物业',
discover: c1,
process: c2,
cur: 2,
},
{
name: '占用消防通道',
time: '2020-03-13 13:23:08',
department: '小区物业',
discover: c1,
process: c2,
cur: 2,
},
{
name: '占用消防通道',
time: '2020-03-13 13:23:08',
department: '小区物业',
discover: c1,
process: c2,
cur: 2,
},
{
name: '占用消防通道',
time: '2020-03-13 13:23:08',
department: '小区物业',
discover: c1,
process: c2,
cur: 2,
},
{
name: '占用消防通道',
time: '2020-03-13 13:23:08',
department: '小区物业',
discover: c1,
process: c2,
cur: 2,
},
{ {
name: '占用消防通道', name: '占用消防通道',
time: '2020-03-13 13:23:08', time: '2020-03-13 13:23:08',
...@@ -203,8 +189,40 @@ const events = [ ...@@ -203,8 +189,40 @@ const events = [
process: c2, process: c2,
cur: 2, cur: 2,
}, },
])
ajax
.get({
url: api.GET_DISCOVER_LIST,
params: { pageSize: 1000 },
})
.then((res) => {
events.value = res?.data?.content || []
})
const steps = [
{ key: 'pending', name: '待处置' },
{ key: 'over', name: '已完结' },
] ]
const steps = ['发现', '接收', '处置', '完成'] const transName = (type: string) => {
switch (type) {
case 'fire':
return '消防通道占用'
case 'batteryCar':
return '电瓶车入梯'
case 'overflowingGarbage':
return '垃圾满溢'
case 'groupRent':
return '违规租赁'
default:
return '无'
}
}
const curImgSrc = ref('')
const showImgageModal = ref(false)
const viewImage = (src: string) => {
curImgSrc.value = src
showImgageModal.value = true
}
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
...@@ -293,6 +311,7 @@ i.dot ...@@ -293,6 +311,7 @@ i.dot
background-repeat no-repeat background-repeat no-repeat
border .02rem solid border .02rem solid
position relative position relative
cursor pointer
&+div &+div
margin-left .05rem margin-left .05rem
&:first-child &:first-child
...@@ -336,7 +355,7 @@ i.dot ...@@ -336,7 +355,7 @@ i.dot
margin-right .05rem margin-right .05rem
z-index 2 z-index 2
p p
color #ccc color #999
font-size .08rem font-size .08rem
&.on &.on
.step .step
......
<template> <template>
<m-card title="业务入口" :mode="mode"> <m-card title="业务入口" :mode="mode">
<div class="content"> <div class="content">
<div v-for="entry in entrys" :key="entry.url" @click="routeTo(entry.url)"> <!-- <div v-for="entry in entrys" :key="entry.url" @click="routeTo(entry.url)">
{{ entry.inputName }} {{ entry.inputName }}
</div> </div> -->
<div @click="routeTo('http://10.101.69.203/shqxj/hp.html')">气象平台</div>
</div> </div>
</m-card> </m-card>
</template> </template>
......
...@@ -57,17 +57,18 @@ export default defineComponent({ ...@@ -57,17 +57,18 @@ export default defineComponent({
const rankList = computed(() => { const rankList = computed(() => {
const data = store.state.analysisRank[curOption.value] || [] const data = store.state.analysisRank[curOption.value] || []
console.log('1111', curOption.value, data)
const total = data.reduce((acc, cur) => acc + cur.num, 0) const total = data.reduce((acc, cur) => acc + cur.num, 0)
const result = data.map((item: any) => ({ const result = data.map((item: any) => ({
name: item.managementType, name: item.managementType,
rate: +Math.ceil((item.num / total) * 100).toFixed(0), rate: +Math.ceil((item.num / total) * 100).toFixed(0),
value: item.num, value: item.num,
})) }))
if (result.length > 0) { // if (result.length > 0) {
const [a, b, c] = result // const [a, b, c] = result
return [c, a, b] // return [c, a, b]
} // }
return [] return result || []
}) })
const placeList = computed(() => { const placeList = computed(() => {
......
...@@ -117,11 +117,11 @@ export default defineComponent({ ...@@ -117,11 +117,11 @@ export default defineComponent({
unit: '件', unit: '件',
color: '#fff', color: '#fff',
})) }))
if (result.length > 0) { // if (result.length > 0) {
const [a, b, c] = result // const [a, b, c] = result
return [b, a, c] // return [b, a, c]
} // }
return [] return result || []
}) })
const placeList = computed(() => { const placeList = computed(() => {
const data = store.state.dutyPlaces[curOption.value] || [] const data = store.state.dutyPlaces[curOption.value] || []
...@@ -190,11 +190,12 @@ export default defineComponent({ ...@@ -190,11 +190,12 @@ export default defineComponent({
const rankType = computed(() => { const rankType = computed(() => {
const data = store.state.dutyRank[curOption.value] || [] const data = store.state.dutyRank[curOption.value] || []
console.log('111', data)
if (data.length === 0) return [] if (data.length === 0) return []
const total = data.reduce((acc, cur) => acc + cur.num, 0) const total = data.reduce((acc, cur) => acc + cur.num, 0)
return data.map((item: any) => { return data.map((item: any) => {
return { return {
name: item.businsessType, name: item.managementType || '无',
value: +Math.ceil((item.num / total) * 100).toFixed(0), value: +Math.ceil((item.num / total) * 100).toFixed(0),
} }
}) })
......
...@@ -181,7 +181,6 @@ export default defineComponent({ ...@@ -181,7 +181,6 @@ export default defineComponent({
const showChart = computed(() => store.state.curTheme === 'service') const showChart = computed(() => store.state.curTheme === 'service')
ajax.get({ url: api.GET_WISDOM_OLD }).then((res) => { ajax.get({ url: api.GET_WISDOM_OLD }).then((res) => {
const data = res?.data?.content || {} const data = res?.data?.content || {}
console.log('养老占比', data)
oldData.value = data oldData.value = data
oldSum.value = [ oldSum.value = [
{ {
......
...@@ -20,23 +20,17 @@ import { computed, defineComponent, ref } from 'vue' ...@@ -20,23 +20,17 @@ import { computed, defineComponent, ref } from 'vue'
import Brief from '../components/brief.vue' import Brief from '../components/brief.vue'
import inImg from '@/assets/images/in.png' import inImg from '@/assets/images/in.png'
import out from '@/assets/images/out.png' import out from '@/assets/images/out.png'
import store from '@/store'
import china from '@/assets/images/china.png' import china from '@/assets/images/china.png'
export default defineComponent({ export default defineComponent({
name: 'Population', name: 'Population',
components: { Brief }, components: { Brief },
setup() { setup() {
const truePeople = computed(() => store.state.pubulicSafeTruePeople)
const summary = computed(() => { const summary = computed(() => {
return [ return [
{ name: '本市户籍', value: 95718, icon: inImg }, { name: '本市户籍', value: 95718, icon: inImg },
{ name: '境外流入', value: 2833, icon: out }, { name: '境外流入', value: 2833, icon: out },
{ name: '境内流入', value: 29052, icon: china }, { name: '境内流入', value: 29052, icon: china },
// { name: '本市户籍', value: truePeople.value.thisCity, icon: inImg },
// { name: '境外流入', value: truePeople.value.outCountry, icon: out },
// { name: '境内流入', value: truePeople.value.inCountry, icon: china },
] ]
}) })
...@@ -48,7 +42,6 @@ export default defineComponent({ ...@@ -48,7 +42,6 @@ export default defineComponent({
return { return {
summary, summary,
population, population,
truePeople,
} }
}, },
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment