Files
dvcp_v2_wechat_app/src/mods/AppVillageInfo/AppVillageInfo.vue
aixianling 6350b1abb9 BUG 27632
2022-03-08 14:36:30 +08:00

244 lines
5.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="AppVillageInfo">
<div class="village-info">
<div class="header-content">
<img src="https://cdn.cunwuyun.cn/dvcp/villgroup/group.png" alt="" class="group-img">
<div class="group-name">{{ info.areaName || '' }}</div>
<p>已有{{ info.peopleNum || 0 }}户居民</p>
<img src="https://cdn.cunwuyun.cn/dvcp/villgroup/head.png" alt="" class="banner-img">
<div v-if="!!info.codeUrl" class="qrcode-content">
<AiImage :src="info.codeUrl" class="qrcode-img" preview/>
<div>长按识别二维码或扫码入群</div>
</div>
<div v-else class="qrcode-content">
<div>本村尚未公开居民群码</div>
<div>请联系管理员添加</div>
</div>
</div>
<!-- <div class="user-content">
<div class="title">联村政干</div>
<div class="item">
<img src="https://cdn.cunwuyun.cn/dvcp/villgroup/group.png" alt="" class="user-img">
<div class="user-info">
<div class="item-line20 flex-b">
<div>余国明<span class="item-position">组长</span></div>
<div class="item-type">在岗</div>
</div>
<div class="item-line18 flex-b">
<div>上街组建新组后街组</div>
<div>13617896755</div>
</div>
</div>
</div>
</div> -->
</div>
</div>
</template>
<script>
import {mapState} from 'vuex'
export default {
name: "AppVillageInfo",
appName: "一村一群",
computed: {
...mapState(['user'])
},
data() {
return {
info: {}
}
},
onLoad() {
this.getArea().then(areaId => this.getDetail(areaId))
},
methods: {
getArea() {
return this.$instance.post(`/app/appresident/detailForWx`, null, {
params: {id: this.user.residentId}
}).then(res => {
if (res?.data) {
return res.data.resident?.currentAreaId || ""
}
})
},
getDetail(areaId) {
areaId && this.$instance.post(`/app/appeveryvillagecode/queryDetailByAreaId`, null, {
params: {areaId}
}).then(res => {
if (res?.code === 0) {
this.info = res.data
}
})
}
},
onShareAppMessage() {
return {
title: '一村一码',
path: `/mods/AppVillageInfo/AppVillageInfo`
}
}
}
</script>
<style scoped lang="scss">
.AppVillageInfo {
width: 100vw;
height: auto;
padding-top: 30px;
background-color: #f3f6f9;
.village-info {
padding-bottom: 48px;
.header-content {
padding: 40px 70px 56px;
width: 690px;
background: #FFF;
border-radius: 16px;
margin: 0 0 24px 30px;
box-sizing: border-box;
.group-img {
width: 92px;
height: 96px;
border-radius: 8px;
margin-bottom: 22px;
}
.group-name {
font-size: 36px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333;
line-height: 50px;
margin-bottom: 4px;
}
p {
font-size: 24px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #999;
line-height: 34px;
margin-bottom: 38px;
}
.banner-img {
width: 100%;
height: 110px;
}
.qrcode-content {
width: 100%;
height: 592px;
background: #F6F9FF;
border-radius: 12px;
border: 2px solid #E6EEFF;
padding: 56px 66px;
box-sizing: border-box;
margin-top: -8px;
::v-deep .qrcode-img {
width: 420px;
height: 420px;
margin-bottom: 24px;
image {
width: inherit;
height: inherit;
}
}
div {
font-size: 26px;
font-family: PingFangSC-Regular, PingFang SC;
color: #333;
line-height: 36px;
text-align: center;
}
}
}
.user-content {
padding: 16px 30px 64px;
width: 690px;
background: #FFF;
border-radius: 16px;
box-sizing: border-box;
margin-left: 30px;
.title {
line-height: 80px;
padding-left: 10px;
color: #333;
font-size: 32px;
font-weight: 500;
}
.item {
width: 100%;
padding: 28px 0 30px 0;
border-bottom: 2px solid #D8DDE6;
.user-img {
display: inline-block;
width: 72px;
height: 72px;
border-radius: 50%;
vertical-align: top;
}
.user-name-bg {
display: inline-block;
width: 72px;
height: 72px;
line-height: 72px;
text-align: center;
border-radius: 50%;
background-color: #4E8EEE;
color: #fff;
font-size: 24px;
vertical-align: top;
}
.user-info {
display: inline-block;
width: calc(100% - 72px);
padding-left: 16px;
box-sizing: border-box;
.flex-b {
display: flex;
justify-content: space-between;
}
.item-line20 {
line-height: 40px;
font-size: 28px;
color: #333;
margin-bottom: 8px;
.item-position {
color: #999;
font-size: 24px;
}
.item-type {
padding: 010px;
background: #E8EFFF;
color: #2266FF;
font-size: 24px;
}
}
.item-line18 {
line-height: 36px;
color: #666;
font-size: 26px;
}
}
}
}
}
}
</style>