社群码整合
This commit is contained in:
143
src/mods/wxwork/AppWxworkQrcode/AppWxworkQrcode.vue
Normal file
143
src/mods/wxwork/AppWxworkQrcode/AppWxworkQrcode.vue
Normal 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>
|
||||||
@@ -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>
|
|
||||||
Reference in New Issue
Block a user