@ -0,0 +1,27 @@ |
|||||
|
Component({ |
||||
|
data: { |
||||
|
|
||||
|
}, |
||||
|
properties: { |
||||
|
associationList: { |
||||
|
type: Array, |
||||
|
value: [], |
||||
|
observer: function (value) { |
||||
|
if (value.length > 0) { |
||||
|
console.log(value) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
navigateToAss (e) { |
||||
|
console.log('navigateToAss') |
||||
|
if (e.currentTarget.dataset.join === '0'){ |
||||
|
this.triggerEvent('joinGroupCallBack',{partyGroupId: e.currentTarget.dataset.code}) |
||||
|
} |
||||
|
wx.navigateTo({ |
||||
|
url: `/subpages/associationNew/pages/community/community?code=${e.currentTarget.dataset.code}` |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}) |
@ -0,0 +1,3 @@ |
|||||
|
{ |
||||
|
"component": true |
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
<view class="community-list"> |
||||
|
<view class="community-item" |
||||
|
wx:for="{{associationList}}" |
||||
|
wx:for-index="index" |
||||
|
wx:for-item="item" |
||||
|
wx:key="index"> |
||||
|
<image src="{{item.partyGroupAvatar}}"/> |
||||
|
<view class="cover-image"> |
||||
|
<text class="community-name">{{item.partyGroupName}}</text> |
||||
|
<button bindtap="navigateToAss"data-join="{{item.isJoin}}" data-code="{{item.id}}" class="community-add" plain='true' hover-class="hover-btn"><image src="../../images/add.png"/></button> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
@ -0,0 +1,43 @@ |
|||||
|
.hover-btn { |
||||
|
box-shadow: 0 0 10rpx rgba(63, 63, 63, 0.1); |
||||
|
} |
||||
|
.community-item{ |
||||
|
width: 690rpx; |
||||
|
height: 300rpx; |
||||
|
border-radius: 10rpx; |
||||
|
position: relative; |
||||
|
margin: 0 auto; |
||||
|
margin-top: 28rpx; |
||||
|
} |
||||
|
.community-item image{ |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
position: absolute; |
||||
|
border-radius: 10rpx; |
||||
|
} |
||||
|
.community-item .cover-image{ |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
position: absolute; |
||||
|
background: rgba(0, 0, 0, 0.6); |
||||
|
border-radius: 10rpx; |
||||
|
text-align: center; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: center; |
||||
|
} |
||||
|
.community-item .cover-image .community-name{ |
||||
|
color: white; |
||||
|
font-size: 48rpx; |
||||
|
} |
||||
|
.community-item .cover-image .community-add{ |
||||
|
width: 150rpx; |
||||
|
height: 46rpx; |
||||
|
text-align: left; |
||||
|
padding: 0; |
||||
|
margin-top: 32rpx; |
||||
|
} |
||||
|
.community-item .cover-image .community-add image{ |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
} |
@ -0,0 +1,100 @@ |
|||||
|
Component({ |
||||
|
data: { |
||||
|
}, |
||||
|
properties: { |
||||
|
currentUser: { |
||||
|
type: Object, |
||||
|
value: {} |
||||
|
}, |
||||
|
gMembersList: { |
||||
|
type: Array, |
||||
|
value: [], |
||||
|
observer: function (value) { |
||||
|
if (value.length > 0) { |
||||
|
console.log(value) |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
gOfficialsList: { |
||||
|
type: Array, |
||||
|
value: [], |
||||
|
observer: function (value) { |
||||
|
if (value.length > 0) { |
||||
|
console.log(value) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
onNoSpeak (e) { |
||||
|
var _this = this; |
||||
|
wx.showActionSheet({ |
||||
|
itemList: ['取消禁言','禁言1天', '禁言1周', '禁言1月', '永久禁言'], |
||||
|
success (res) { |
||||
|
console.log(e.currentTarget.dataset.userId,res.tapIndex) |
||||
|
let data = { |
||||
|
userId: e.currentTarget.dataset.userId, |
||||
|
bannedFlag: res.tapIndex.toString() |
||||
|
} |
||||
|
_this.triggerEvent('bannedChange',data) |
||||
|
}, |
||||
|
fail (res) { |
||||
|
console.log(e.currentTarget.dataset.userId,res.errMsg) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
onPhone (e) { |
||||
|
if (this.getSysInfo()){ |
||||
|
wx.showModal({ |
||||
|
title: '拨打电话', |
||||
|
content: `您确定拨打${e.currentTarget.dataset.number}`, |
||||
|
cancelColor: '#29B9A5', |
||||
|
confirmColor: '#29B9A5', |
||||
|
success: (res) => { |
||||
|
if (res.confirm) { |
||||
|
console.log('用户点击确定') |
||||
|
wx.makePhoneCall({ |
||||
|
phoneNumber: e.currentTarget.dataset.number |
||||
|
}) |
||||
|
} else if (res.cancel) { |
||||
|
console.log('用户点击取消') |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
wx.makePhoneCall({ |
||||
|
phoneNumber: e.currentTarget.dataset.number |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
getSysInfo () { |
||||
|
wx.getSystemInfo({ |
||||
|
success:function(res){ |
||||
|
if(res.platform == "devtools"){ |
||||
|
return false |
||||
|
}else if(res.platform == "ios"){ |
||||
|
return false |
||||
|
}else if(res.platform == "android"){ |
||||
|
return true |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
gLevelUp (e) { |
||||
|
console.log(e.currentTarget.dataset.userId) |
||||
|
let parm = { |
||||
|
groupUserId: e.currentTarget.dataset.userId, |
||||
|
identityFlag: '2' |
||||
|
} |
||||
|
this.triggerEvent('modifyIdentity',parm) |
||||
|
}, |
||||
|
gLevelDown (e) { |
||||
|
console.log(e.currentTarget.dataset.userId) |
||||
|
let parm = { |
||||
|
groupUserId: e.currentTarget.dataset.userId, |
||||
|
identityFlag: '0' |
||||
|
} |
||||
|
this.triggerEvent('modifyIdentity',parm) |
||||
|
} |
||||
|
} |
||||
|
}) |
@ -0,0 +1,3 @@ |
|||||
|
{ |
||||
|
"component": true |
||||
|
} |
@ -0,0 +1,64 @@ |
|||||
|
<wxs module="filters" src="../../utils/filters.wxs"></wxs> |
||||
|
<view class="members-list"> |
||||
|
<block wx:if="{{gMembersList.length > 0}}"> |
||||
|
<view class="members-item" |
||||
|
wx:for="{{gMembersList}}" |
||||
|
wx:for-index="index" |
||||
|
wx:for-item="item" |
||||
|
wx:key="index"> |
||||
|
<view class="item-top"> |
||||
|
<image class="head-icon" src="{{item.userAvatar}}"></image> |
||||
|
<text class="user-name">{{item.nickname}}</text><image wx:if="{{item.identityFlag === '0'}}" class="leader-logo" src="../../images/leader-logo.png"></image> |
||||
|
</view> |
||||
|
<view class="line"></view> |
||||
|
<view class="item-bottom"> |
||||
|
<button bindtap="gLevelUp" data-user-id="{{item.userId}}" class="levelup-btn" plain='true' hover-class="hover-btn" wx:if="{{filters.getIdentity(0,currentUser.identityFlag,item.identityFlag)}}"> |
||||
|
<text>升级副群主</text> |
||||
|
<image src="../../images/btn1.png"/> |
||||
|
</button> |
||||
|
<button bindtap="gLevelDown" data-user-id="{{item.userId}}" class="levelup-btn" plain='true' hover-class="hover-btn" wx:if="{{filters.getIdentity(1,currentUser.identityFlag,item.identityFlag)}}"> |
||||
|
<text>降为群成员</text> |
||||
|
<image src="../../images/btn1.png"/> |
||||
|
</button> |
||||
|
<!-- <button class="takeout-btn" plain='true' hover-class="hover-btn"> |
||||
|
<text>踢出群</text> |
||||
|
<image src="../../images/btn2.png"/> |
||||
|
</button> --> |
||||
|
<block wx:if="{{item.bannedFlag==='0'}}"> |
||||
|
<button bindtap="onNoSpeak" data-user-id="{{item.userId}}" class="forbidden-btn disForbidden-btn" plain='true' hover-class="hover-btn" wx:if="{{filters.getIdentity(2,currentUser.identityFlag,item.identityFlag)}}"> |
||||
|
<text space="ensp"> 未禁言</text> |
||||
|
<image src="../../images/arrowd2.png"/> |
||||
|
</button> |
||||
|
</block> |
||||
|
<block wx:else> |
||||
|
<button bindtap="onNoSpeak" data-user-id="{{item.userId}}" class="forbidden-btn" plain='true' hover-class="hover-btn" wx:if="{{filters.getIdentity(2,currentUser.identityFlag,item.identityFlag)}}"> |
||||
|
<text>{{filters.getBanned(item.bannedFlag)}}</text> |
||||
|
<image src="../../images/arrowd.png"/> |
||||
|
</button> |
||||
|
</block> |
||||
|
</view> |
||||
|
</view> |
||||
|
</block> |
||||
|
<block wx:if="{{gOfficialsList.length > 0}}"> |
||||
|
<view class="members-item" |
||||
|
wx:for="{{gOfficialsList}}" |
||||
|
wx:for-index="index" |
||||
|
wx:for-item="item" |
||||
|
wx:key="index"> |
||||
|
<view class="item-top"> |
||||
|
<image class="head-icon" src="{{item.faceImg}}"></image> |
||||
|
<view class="np-info"> |
||||
|
<text class="user-name">{{item.name}}</text> |
||||
|
<text class="user-phone">{{item.mobile}}</text> |
||||
|
</view> |
||||
|
<button class="call-btn" plain='true' hover-class="hover-btn" bindtap="onPhone" data-number="{{item.mobile}}"> |
||||
|
<image src="../../images/call.png"/> |
||||
|
</button> |
||||
|
</view> |
||||
|
<view class="line"></view> |
||||
|
<view class="item-bottom2"> |
||||
|
<text class="member-label">{{item.motto}}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
</block> |
||||
|
</view> |
@ -0,0 +1,164 @@ |
|||||
|
.hover-btn { |
||||
|
box-shadow: 0 0 10rpx rgba(63, 63, 63, 0.1); |
||||
|
} |
||||
|
.line { |
||||
|
width: 690rpx; |
||||
|
height: 2rpx; |
||||
|
margin: 0 auto; |
||||
|
background: rgba(240, 240, 240, 1); |
||||
|
} |
||||
|
.members-item{ |
||||
|
background: rgba(255, 255, 255, 1); |
||||
|
margin-top: 20rpx; |
||||
|
position: relative; |
||||
|
} |
||||
|
.members-item .item-top{ |
||||
|
width: 750rpx; |
||||
|
height: 130rpx; |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: left; |
||||
|
align-items: center; |
||||
|
} |
||||
|
.members-item .item-top .head-icon{ |
||||
|
width: 90rpx; |
||||
|
height: 90rpx; |
||||
|
border-radius: 50%; |
||||
|
margin-left: 29rpx; |
||||
|
} |
||||
|
.members-item .item-top .user-name{ |
||||
|
font-size: 32rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
color: rgba(0, 0, 0, 1); |
||||
|
margin-left: 20rpx; |
||||
|
} |
||||
|
.members-item .item-top .leader-logo{ |
||||
|
width: 59rpx; |
||||
|
height: 28rpx; |
||||
|
margin-left: 8rpx; |
||||
|
} |
||||
|
.members-item .item-bottom{ |
||||
|
height: 100rpx; |
||||
|
width: 750rpx; |
||||
|
position: relative; |
||||
|
} |
||||
|
.members-item .item-bottom .levelup-btn{ |
||||
|
display: inline-block; |
||||
|
width: 180rpx; |
||||
|
height: 48rpx; |
||||
|
padding: 0; |
||||
|
position: relative; |
||||
|
border: none; |
||||
|
margin-left: 29rpx; |
||||
|
margin-top: 26rpx; |
||||
|
} |
||||
|
.members-item .item-bottom .takeout-btn{ |
||||
|
display: inline-block; |
||||
|
width: 140rpx; |
||||
|
height: 48rpx; |
||||
|
padding: 0; |
||||
|
position: relative; |
||||
|
border: none; |
||||
|
z-index: 0; |
||||
|
margin-left: 20rpx; |
||||
|
} |
||||
|
.members-item .item-bottom .forbidden-btn{ |
||||
|
display: inline-block; |
||||
|
width: 170rpx; |
||||
|
height: 48rpx; |
||||
|
padding: 0; |
||||
|
position: absolute; |
||||
|
z-index: 0; |
||||
|
margin-left: 20rpx; |
||||
|
right: 32rpx; |
||||
|
top: 26rpx; |
||||
|
border: 1rpx solid rgba(241, 86, 28, 1); |
||||
|
border-radius: 23rpx; |
||||
|
} |
||||
|
.levelup-btn image, .takeout-btn image, .forbidden-btn image, .call-btn image{ |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
position: absolute; |
||||
|
left: 0; |
||||
|
top: 0; |
||||
|
} |
||||
|
.forbidden-btn image{ |
||||
|
width: 24rpx; |
||||
|
height: 14rpx; |
||||
|
position: absolute; |
||||
|
left: 135rpx; |
||||
|
top: 18rpx; |
||||
|
} |
||||
|
.levelup-btn text, .takeout-btn text{ |
||||
|
font-size: 26rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: bold; |
||||
|
color: rgba(255, 255, 255, 1); |
||||
|
z-index: 1; |
||||
|
position: absolute; |
||||
|
left: 25rpx; |
||||
|
top: 0; |
||||
|
height: 48rpx; |
||||
|
line-height: 48rpx; |
||||
|
} |
||||
|
.forbidden-btn text{ |
||||
|
font-size: 26rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
color: rgba(242, 80, 27, 1); |
||||
|
z-index: 1; |
||||
|
position: absolute; |
||||
|
left: 28rpx; |
||||
|
top: 0; |
||||
|
height: 48rpx; |
||||
|
line-height: 48rpx; |
||||
|
} |
||||
|
.disForbidden-btn { |
||||
|
border: 1rpx solid rgba(170, 170, 170, 1) !important; |
||||
|
} |
||||
|
.disForbidden-btn text{ |
||||
|
color: rgba(170, 170, 170, 1) !important; |
||||
|
} |
||||
|
|
||||
|
.members-item .item-top .call-btn{ |
||||
|
width: 156rpx; |
||||
|
height: 56rpx; |
||||
|
padding: 0; |
||||
|
position: absolute; |
||||
|
border: none; |
||||
|
right: 31rpx; |
||||
|
} |
||||
|
.members-item .item-top .np-info{ |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
} |
||||
|
.members-item .item-top .user-phone{ |
||||
|
font-size: 32rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
color: rgba(240, 133, 38, 1); |
||||
|
margin-left: 20rpx; |
||||
|
} |
||||
|
.members-item .item-bottom2{ |
||||
|
height: 100rpx; |
||||
|
width: 750rpx; |
||||
|
position: relative; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
} |
||||
|
.member-label{ |
||||
|
margin-left: 30rpx; |
||||
|
margin-right: 37rpx; |
||||
|
font-size: 28rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
color: rgba(153, 153, 153, 1); |
||||
|
display: -webkit-box; |
||||
|
overflow: hidden; |
||||
|
text-overflow: ellipsis; |
||||
|
word-wrap: break-word; |
||||
|
white-space: normal !important; |
||||
|
-webkit-line-clamp: 2; |
||||
|
-webkit-box-orient: vertical; |
||||
|
} |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 417 B |
After Width: | Height: | Size: 402 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 912 B |
@ -1,4 +1,7 @@ |
|||||
{ |
{ |
||||
"usingComponents": {}, |
"usingComponents": { |
||||
|
"load-more": "../../../../components/loadMore/loadMore", |
||||
|
"community-list": "../../components/communityList/communityList" |
||||
|
}, |
||||
"navigationBarTitleText": "党群列表" |
"navigationBarTitleText": "党群列表" |
||||
} |
} |
@ -1,2 +1,11 @@ |
|||||
<!--subpages/associationNew/pages/associationlist/associationlist.wxml--> |
<!--subpages/associationNew/pages/associationlist/associationlist.wxml--> |
||||
<text>subpages/associationNew/pages/associationlist/associationlist.wxml</text> |
<view class="association-list"> |
||||
|
<community-list |
||||
|
associationList="{{associationList}}" |
||||
|
bind:joinGroupCallBack="joinGroupCallBack"> |
||||
|
</community-list> |
||||
|
<load-more |
||||
|
loadMoreVisible="{{loadMoreVisible}}" |
||||
|
loadMoreType="{{loadMoreType}}"> |
||||
|
</load-more> |
||||
|
</view> |
@ -1 +1,7 @@ |
|||||
/* subpages/associationNew/pages/associationlist/associationlist.wxss */ |
/* subpages/associationNew/pages/associationlist/associationlist.wxss */ |
||||
|
page { |
||||
|
width:100%; |
||||
|
height: auto; |
||||
|
overflow-y: auto; |
||||
|
background: #f7f7f7; |
||||
|
} |
@ -0,0 +1,66 @@ |
|||||
|
import { getImageUrl} from '../../utils/api' |
||||
|
Page({ |
||||
|
|
||||
|
/** |
||||
|
* 页面的初始数据 |
||||
|
*/ |
||||
|
data: { |
||||
|
partyGroupId: '', |
||||
|
imageUrlList: [], |
||||
|
pageNo: 1, |
||||
|
pageSize: 10 |
||||
|
}, |
||||
|
onLoad: function (options) { |
||||
|
this.data.partyGroupId = options.code |
||||
|
getImageUrl().then(res => { |
||||
|
this.setData({ |
||||
|
imageUrlList: [...res.data] |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 页面相关事件处理函数--监听用户下拉动作 |
||||
|
*/ |
||||
|
onPullDownRefresh: function () { |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 页面上拉触底事件的处理函数 |
||||
|
*/ |
||||
|
onReachBottom: function () { |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 用户点击右上角分享 |
||||
|
*/ |
||||
|
onShareAppMessage: function () { |
||||
|
|
||||
|
}, |
||||
|
//跳转页面
|
||||
|
navToGroupMembers (e) { |
||||
|
console.log(this.data.partyGroupId) |
||||
|
wx.navigateTo({ |
||||
|
url: `/subpages/associationNew/pages/gMembersList/gMembersList?partyGroupId=${this.data.partyGroupId}` |
||||
|
}) |
||||
|
}, |
||||
|
navToNewPage (e) { |
||||
|
// console.log(e.currentTarget.dataset.page);
|
||||
|
if (e.currentTarget.dataset.page === 'help') { |
||||
|
wx.navigateTo({ |
||||
|
url: `/subpages/associationNew/pages/gOfficialsList/gOfficialsList?partyGroupId=${this.data.partyGroupId}` |
||||
|
}) |
||||
|
} else if (e.currentTarget.dataset.page === 'gather') { |
||||
|
console.log('/subpages/associationNew/pages/community/community.js') |
||||
|
wx.navigateTo({ |
||||
|
url: `#/话对捧个场` |
||||
|
}) |
||||
|
} else if (e.currentTarget.dataset.page === 'applause') { |
||||
|
wx.navigateTo({ |
||||
|
url: `#/事好鼓个掌` |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}) |
@ -0,0 +1,6 @@ |
|||||
|
{ |
||||
|
"usingComponents": { |
||||
|
"load-more": "../../../../components/loadMore/loadMore" |
||||
|
}, |
||||
|
"navigationBarTitleText": "党群 1+1" |
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
<view class="community"> |
||||
|
<view class="func-top"> |
||||
|
<text>群成员</text> |
||||
|
<button hover-class="hover-class" class="top-right" bindtap="navToGroupMembers" plain='true'><image src="../../images/next.png"/></button> |
||||
|
</view> |
||||
|
<view class="func-item" |
||||
|
wx:for="{{imageUrlList}}" |
||||
|
wx:for-index="index" |
||||
|
wx:for-item="item" |
||||
|
wx:key="index"> |
||||
|
<image bindtap="navToNewPage" data-page="{{item.imgCode}}" src="{{item.imgUrl}}"/> |
||||
|
</view> |
||||
|
</view> |
@ -0,0 +1,49 @@ |
|||||
|
page { |
||||
|
width:100%; |
||||
|
height: auto; |
||||
|
overflow-y: auto; |
||||
|
background: #f7f7f7; |
||||
|
} |
||||
|
.hover-btn { |
||||
|
box-shadow: 0 0 10rpx rgba(63, 63, 63, 0.1); |
||||
|
} |
||||
|
.community .func-top{ |
||||
|
height: 94rpx; |
||||
|
width: 750rpx; |
||||
|
position: relative; |
||||
|
background: rgba(255, 255, 255, 1); |
||||
|
} |
||||
|
.community .func-top text{ |
||||
|
height: 94rpx; |
||||
|
font-size: 32rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: bold; |
||||
|
color: rgba(51, 51, 51, 1); |
||||
|
line-height: 94rpx; |
||||
|
position: absolute; |
||||
|
left: 29rpx; |
||||
|
} |
||||
|
.community .func-top .top-right{ |
||||
|
width: 40rpx; |
||||
|
height: 94rpx; |
||||
|
padding: 0; |
||||
|
border: none; |
||||
|
position: absolute; |
||||
|
right: 34rpx; |
||||
|
} |
||||
|
.community .func-top .top-right image{ |
||||
|
width: 18rpx; |
||||
|
height: 24rpx; |
||||
|
margin: 0; |
||||
|
position: absolute; |
||||
|
top: 30rpx; |
||||
|
} |
||||
|
.community .func-item{ |
||||
|
width: 720rpx; |
||||
|
height: 270rpx; |
||||
|
margin: 0 auto; |
||||
|
} |
||||
|
.community .func-item image{ |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
} |
@ -0,0 +1,124 @@ |
|||||
|
import { |
||||
|
getPartyUserList, |
||||
|
postUserBanned, |
||||
|
postModifyIdentity, |
||||
|
getCurrentUserInfo |
||||
|
} from '../../utils/api' |
||||
|
Page({ |
||||
|
|
||||
|
/** |
||||
|
* 页面的初始数据 |
||||
|
*/ |
||||
|
data: { |
||||
|
currentUser: {}, |
||||
|
gMembersList: [], |
||||
|
loadMoreVisible: false, |
||||
|
loadMoreType: 'none', |
||||
|
preloadVisible: true, |
||||
|
pageNo: 1, |
||||
|
pageSize: 10, |
||||
|
partyGroupId: '' |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 生命周期函数--监听页面加载 |
||||
|
*/ |
||||
|
onLoad: function (options) { |
||||
|
this.data.partyGroupId = options.partyGroupId |
||||
|
this.getCurrentUserInfo().then(res => { |
||||
|
if (res) { |
||||
|
this.getPartyUserList(); |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 页面相关事件处理函数--监听用户下拉动作 |
||||
|
*/ |
||||
|
onPullDownRefresh: function () { |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 页面上拉触底事件的处理函数 |
||||
|
*/ |
||||
|
onReachBottom: function () { |
||||
|
this.setData({ |
||||
|
loadMoreVisible: true |
||||
|
}) |
||||
|
if (this.data.loadMoreType === 'loading') { |
||||
|
this.setData({ |
||||
|
pageNo: this.data.pageNo + 1 |
||||
|
}) |
||||
|
this.getPartyUserList() |
||||
|
} |
||||
|
}, |
||||
|
//获取当前用户信息
|
||||
|
getCurrentUserInfo () { |
||||
|
return new Promise ((resolve,reject) => { |
||||
|
getCurrentUserInfo (this.data.partyGroupId).then(res => { |
||||
|
console.log('获取当前用户信息', res) |
||||
|
this.setData({ |
||||
|
currentUser: {...res.data} |
||||
|
}) |
||||
|
resolve(true) |
||||
|
}).catch(err =>{ |
||||
|
console.log(err) |
||||
|
this.data.currentUser = {} |
||||
|
reject(false) |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
// 获取群成员列表
|
||||
|
getPartyUserList () { |
||||
|
const para = { |
||||
|
pageIndex: this.data.pageNo, |
||||
|
pageSize: this.data.pageSize, |
||||
|
partyGroupId: this.data.partyGroupId |
||||
|
} |
||||
|
getPartyUserList(para).then(res => { |
||||
|
console.log('获取群成员列表', res) |
||||
|
this.setData({ |
||||
|
// currentUser: {...res.data.currentUser},
|
||||
|
gMembersList: [...this.data.gMembersList, ...res.data], |
||||
|
loadMoreType: res.data.length === this.data.pageSize ? 'loading': 'none', |
||||
|
preloadVisible: false |
||||
|
}) |
||||
|
}).catch(err => { |
||||
|
console.log(err) |
||||
|
this.setData({ |
||||
|
gMembersList: [], |
||||
|
loadMoreType: 'none', |
||||
|
preloadVisible: false |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
bannedChangeCallBack (e) { |
||||
|
console.log(e.detail) |
||||
|
const para = {...e.detail} |
||||
|
postUserBanned(para).then(res => { |
||||
|
console.log('用户禁言', res) |
||||
|
this.data.gMembersList = this.data.gMembersList.map( item => { |
||||
|
if (item.userId === e.detail.userId) { |
||||
|
item.bannedFlag = e.detail.bannedFlag |
||||
|
} |
||||
|
return item |
||||
|
}) |
||||
|
this.setData({ |
||||
|
gMembersList: this.data.gMembersList |
||||
|
}) |
||||
|
}).catch(err => { |
||||
|
console.log(err) |
||||
|
}) |
||||
|
}, |
||||
|
modifyIdentityCallBack (e) { |
||||
|
console.log(e.detail) |
||||
|
const para = {...e.detail} |
||||
|
postModifyIdentity(para).then(res => { |
||||
|
console.log('修改用户身份', res) |
||||
|
this.getPartyUserList(); |
||||
|
}).catch(err => { |
||||
|
console.log(err) |
||||
|
}) |
||||
|
} |
||||
|
}) |
@ -0,0 +1,7 @@ |
|||||
|
{ |
||||
|
"usingComponents": { |
||||
|
"load-more": "../../../../components/loadMore/loadMore", |
||||
|
"members-list": "../../components/membersList/membersList" |
||||
|
}, |
||||
|
"navigationBarTitleText": "群成员" |
||||
|
} |
@ -0,0 +1,12 @@ |
|||||
|
<view class="gmembers-list"> |
||||
|
<members-list |
||||
|
gMembersList="{{gMembersList}}" |
||||
|
currentUser="{{currentUser}}" |
||||
|
bind:modifyIdentity="modifyIdentityCallBack" |
||||
|
bind:bannedChange="bannedChangeCallBack"> |
||||
|
</members-list> |
||||
|
<load-more |
||||
|
loadMoreVisible="{{loadMoreVisible}}" |
||||
|
loadMoreType="{{loadMoreType}}"> |
||||
|
</load-more> |
||||
|
</view> |
@ -0,0 +1,7 @@ |
|||||
|
/* subpages/associationNew/pages/associationlist/associationlist.wxss */ |
||||
|
page { |
||||
|
width:100%; |
||||
|
height: auto; |
||||
|
overflow-y: auto; |
||||
|
background: #f7f7f7; |
||||
|
} |
@ -0,0 +1,69 @@ |
|||||
|
import { getOfficialsList } from '../../utils/api' |
||||
|
Page({ |
||||
|
/** |
||||
|
* 页面的初始数据 |
||||
|
*/ |
||||
|
data: { |
||||
|
partyGroupId: '', |
||||
|
gOfficialsList: [], |
||||
|
loadMoreVisible: false, |
||||
|
loadMoreType: 'none', |
||||
|
preloadVisible: true, |
||||
|
pageNo: 1, |
||||
|
pageSize: 10 |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 生命周期函数--监听页面加载 |
||||
|
*/ |
||||
|
onLoad: function (options) { |
||||
|
this.data.partyGroupId = options.partyGroupId |
||||
|
this.getOfficialsList(); |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 页面相关事件处理函数--监听用户下拉动作 |
||||
|
*/ |
||||
|
onPullDownRefresh: function () { |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 页面上拉触底事件的处理函数 |
||||
|
*/ |
||||
|
onReachBottom: function () { |
||||
|
this.setData({ |
||||
|
loadMoreVisible: true |
||||
|
}) |
||||
|
if (this.data.loadMoreType === 'loading') { |
||||
|
this.setData({ |
||||
|
pageNo: this.data.pageNo + 1 |
||||
|
}) |
||||
|
this.getOfficialsList() |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
// 官小带个长 列表
|
||||
|
getOfficialsList () { |
||||
|
const para = { |
||||
|
pageIndex: this.data.pageNo, |
||||
|
pageSize: this.data.pageSize, |
||||
|
partyGroupId: this.data.partyGroupId |
||||
|
} |
||||
|
getOfficialsList(para).then(res => { |
||||
|
console.log('获取官小带个长列表', res) |
||||
|
this.setData({ |
||||
|
gOfficialsList: [...this.data.gOfficialsList, ...res.data], |
||||
|
loadMoreType: res.data.length === this.data.pageSize ? 'loading': 'none', |
||||
|
preloadVisible: false |
||||
|
}) |
||||
|
}).catch(err => { |
||||
|
console.log(err) |
||||
|
this.setData({ |
||||
|
gOfficialsList: [], |
||||
|
loadMoreType: 'none', |
||||
|
preloadVisible: false |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
}) |
@ -0,0 +1,7 @@ |
|||||
|
{ |
||||
|
"usingComponents": { |
||||
|
"load-more": "../../../../components/loadMore/loadMore", |
||||
|
"members-list": "../../components/membersList/membersList" |
||||
|
}, |
||||
|
"navigationBarTitleText": "群成员" |
||||
|
} |
@ -0,0 +1,9 @@ |
|||||
|
<view class="gmembers-list"> |
||||
|
<members-list |
||||
|
gOfficialsList="{{gOfficialsList}}"> |
||||
|
</members-list> |
||||
|
<load-more |
||||
|
loadMoreVisible="{{loadMoreVisible}}" |
||||
|
loadMoreType="{{loadMoreType}}"> |
||||
|
</load-more> |
||||
|
</view> |
@ -0,0 +1,6 @@ |
|||||
|
page { |
||||
|
width:100%; |
||||
|
height: auto; |
||||
|
overflow-y: auto; |
||||
|
background: #f7f7f7; |
||||
|
} |
@ -0,0 +1,66 @@ |
|||||
|
const request = require('../../../utils/request') |
||||
|
/** |
||||
|
*获取图片 |
||||
|
*/ |
||||
|
export function getImageUrl() { |
||||
|
return request.get('imgConfig/getImgUrl/1') |
||||
|
} |
||||
|
/** |
||||
|
*进入党群 |
||||
|
*/ |
||||
|
export function getJoinGroup({partyGroupId}) { |
||||
|
return request.get('partyGroup/group/join',{ |
||||
|
partyGroupId |
||||
|
}) |
||||
|
} |
||||
|
/** |
||||
|
*党群名称列表 |
||||
|
*/ |
||||
|
export function getPartyGroupList() { |
||||
|
return request.get('partyGroup/group/list') |
||||
|
} |
||||
|
/** |
||||
|
* 群成员列表 |
||||
|
*/ |
||||
|
export function getPartyUserList({pageIndex, pageSize, partyGroupId}) { |
||||
|
return request.get('partyGroup/user/list',{ |
||||
|
pageIndex, |
||||
|
pageSize, |
||||
|
partyGroupId |
||||
|
}) |
||||
|
} |
||||
|
/** |
||||
|
* 官小带个长列表 |
||||
|
*/ |
||||
|
export function getOfficialsList({pageIndex, pageSize, partyGroupId}) { |
||||
|
return request.get('partyGroup/officials/list',{ |
||||
|
pageIndex, |
||||
|
pageSize, |
||||
|
partyGroupId |
||||
|
}) |
||||
|
} |
||||
|
/** |
||||
|
* 当前用户信息 |
||||
|
*/ |
||||
|
export function getCurrentUserInfo(partyGroupId) { |
||||
|
return request.get('partyGroup/user/currentUserInfo/'+partyGroupId) |
||||
|
} |
||||
|
/** |
||||
|
* 用户身份修改 |
||||
|
*/ |
||||
|
export function postModifyIdentity({groupUserId, identityFlag}) { |
||||
|
return request.post('partyGroup/user/modifyIdentity',{ |
||||
|
groupUserId, |
||||
|
identityFlag |
||||
|
}) |
||||
|
} |
||||
|
/** |
||||
|
* 用户禁言 |
||||
|
*/ |
||||
|
export function postUserBanned({groupUserId, bannedFlag}) { |
||||
|
return request.post('partyGroup/user/banned',{ |
||||
|
groupUserId, |
||||
|
bannedFlag |
||||
|
}) |
||||
|
} |
||||
|
|
@ -0,0 +1,41 @@ |
|||||
|
var GROUP_LEADER='0'; |
||||
|
var GROUP_LEADER_2='1'; |
||||
|
var GROUP_MEMBER='2'; |
||||
|
|
||||
|
var getIdentity = function (btnType,mypower,userpower) { |
||||
|
if (btnType === 0) { |
||||
|
if (mypower === GROUP_LEADER && userpower === GROUP_MEMBER) { |
||||
|
return true |
||||
|
} else { |
||||
|
return false |
||||
|
} |
||||
|
} else if (btnType === 1) { |
||||
|
if (mypower === GROUP_LEADER && userpower === GROUP_LEADER_2) { |
||||
|
return true |
||||
|
} else { |
||||
|
return false |
||||
|
} |
||||
|
} else { |
||||
|
if (mypower === GROUP_LEADER && userpower !== GROUP_LEADER) { |
||||
|
return true |
||||
|
} else if (mypower === GROUP_LEADER_2 && userpower === GROUP_MEMBER) { |
||||
|
return true |
||||
|
} else { |
||||
|
return false |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
var getBanned = function (code) { |
||||
|
var index = parseInt(code) |
||||
|
return [ |
||||
|
' 未禁言', |
||||
|
'禁言1天', |
||||
|
'禁言1周', |
||||
|
'禁言1月', |
||||
|
'永久禁言' |
||||
|
][index] |
||||
|
} |
||||
|
module.exports = { |
||||
|
getIdentity: getIdentity, |
||||
|
getBanned: getBanned |
||||
|
} |