@ -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": "党群列表" |
|||
} |
@ -1,2 +1,11 @@ |
|||
<!--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 |
|||
} |