社群码整合

This commit is contained in:
aixianling
2023-03-17 10:21:06 +08:00
parent 0ab6121473
commit ccbaf345df
2 changed files with 143 additions and 244 deletions

View File

@@ -0,0 +1,143 @@
<template>
<div class="AppWxworkQrcode">
<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 flex column">
<div>请先去个人中心进行实名认证</div>
<div class="mar-t8 btn pad-v8 pad-h16" @click="goAuth">去实名</div>
</div>
</div>
</div>
</template>
<script>
import {mapState} from 'vuex'
export default {
name: "AppWxworkQrcode",
appName: "群二维码",
computed: {
...mapState(['user'])
},
data() {
return {
info: {}
}
},
onShow() {
this.getDetail()
},
methods: {
getDetail() {
const {areaId} = this.user
areaId && this.$instance.post(`/app/wxcp/wxgroup/listByAreaId`, null, {
params: {areaId}
}).then(res => {
if (res?.data) {
this.info = res.data
}
})
},
goAuth() {
uni.navigateTo({url: "/mods/AppAuth/AppAuth"})
}
},
onShareAppMessage() {
return {
title: '入群二维码',
path: `/mods/AppWxworkQrcode/AppWxworkQrcode`
}
}
}
</script>
<style scoped lang="scss">
.AppWxworkQrcode {
width: 100vw;
height: auto;
padding-top: 30px;
background-color: #f3f6f9;
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;
justify-content: center;
::v-deep .qrcode-img {
width: 420px;
height: 420px;
margin-bottom: 24px;
image {
width: 420px;
height: 420px;
}
}
div {
font-size: 26px;
font-family: PingFangSC-Regular, PingFang SC;
color: #333;
line-height: 36px;
text-align: center;
}
.btn {
background: #26f;
color: #fff;
border-radius: 8px;
}
}
}
}
</style>

View File

@@ -1,244 +0,0 @@
<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 flex column">
<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: {}
}
},
onShow() {
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?.data) {
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;
justify-content: center;
::v-deep .qrcode-img {
width: 420px;
height: 420px;
margin-bottom: 24px;
image {
width: 420px;
height: 420px;
}
}
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>