feat: 迭代三大模块 + 全系统 Bug 修复
新功能: - 账单筛选统计:多维度筛选面板 + 保存方案 + 结果统计 - 通知公告:系统公告/群组通知/个人提醒 + 通知中心页面 - 管理员后台:数据看板 + 用户管理 + 发布公告 Bug 修复: - 统计页 fetchPrevMonthData/fetchMaxSingle 添加 group_id - 群组视图添加 t.group_id 过滤,防止私人数据泄露 - 通知列表添加群组通知条件 - 通知标记已读添加错误处理 - 管理员 API 添加 affectedRows 检查 - 筛选面板金额为 0 时正确回填 - profile onShow 补充 userStore.fetchUserInfo - 全系统样式修复(overflow/box-sizing)
This commit is contained in:
@@ -62,11 +62,8 @@
|
||||
<view class="group-info">
|
||||
<view class="group-name-row">
|
||||
<text class="group-name">{{ group.name }}</text>
|
||||
<view v-if="group.role === 'owner'" class="role-badge owner">
|
||||
<text class="role-badge-text">群主</text>
|
||||
</view>
|
||||
<view v-else class="role-badge member">
|
||||
<text class="role-badge-text">成员</text>
|
||||
<view class="role-badge" :style="{ background: group.role === 'owner' ? '#FFE8E0' : '#F0E0D6' }">
|
||||
<text class="role-badge-text" :style="{ color: group.role === 'owner' ? '#FF8C69' : '#8B7E7E' }">{{ group.role === 'owner' ? '群主' : '成员' }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<text class="group-meta">{{ group.member_count }} 人</text>
|
||||
@@ -122,7 +119,9 @@
|
||||
<image class="member-avatar" :src="getAvatarUrl(m.avatar_url)" mode="aspectFill" />
|
||||
<view class="member-info">
|
||||
<text class="member-name">{{ m.nickname || '用户' + m.user_id }}</text>
|
||||
<text class="member-role" :class="m.role">{{ m.role === 'owner' ? '群主' : '成员' }}</text>
|
||||
<view class="member-role-wrap">
|
||||
<text class="member-role-text" :style="{ color: m.role === 'owner' ? '#FF8C69' : '#BFB3B3' }">{{ m.role === 'owner' ? '群主' : '成员' }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="m.role !== 'owner' && currentGroup?.role === 'owner'" class="member-remove" @tap="handleRemoveMember(m)">
|
||||
<text class="member-remove-text">移除</text>
|
||||
@@ -514,17 +513,11 @@ function handleDissolve(group: Group) {
|
||||
.role-badge {
|
||||
padding: 2rpx 12rpx;
|
||||
border-radius: 8rpx;
|
||||
|
||||
&.owner { background: #FFE8E0; }
|
||||
&.member { background: #F0E0D6; }
|
||||
}
|
||||
|
||||
.role-badge-text {
|
||||
font-size: 20rpx;
|
||||
font-weight: 500;
|
||||
|
||||
.owner & { color: #FF8C69; }
|
||||
.member & { color: #8B7E7E; }
|
||||
}
|
||||
|
||||
.group-meta {
|
||||
@@ -623,6 +616,8 @@ function handleDissolve(group: Group) {
|
||||
border-radius: 40rpx 40rpx 0 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
@@ -667,6 +662,8 @@ function handleDissolve(group: Group) {
|
||||
.member-list {
|
||||
max-height: 60vh;
|
||||
padding: 16rpx 40rpx 40rpx;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.member-item {
|
||||
@@ -675,6 +672,8 @@ function handleDissolve(group: Group) {
|
||||
padding: 20rpx 0;
|
||||
gap: 20rpx;
|
||||
border-bottom: 2rpx solid #F8F0EB;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
|
||||
&:last-child { border-bottom: none; }
|
||||
}
|
||||
@@ -697,15 +696,17 @@ function handleDissolve(group: Group) {
|
||||
font-weight: 500;
|
||||
color: #2D1B1B;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.member-role {
|
||||
font-size: 22rpx;
|
||||
display: block;
|
||||
.member-role-wrap {
|
||||
margin-top: 4rpx;
|
||||
}
|
||||
|
||||
&.owner { color: #FF8C69; }
|
||||
&.member { color: #BFB3B3; }
|
||||
.member-role-text {
|
||||
font-size: 22rpx;
|
||||
}
|
||||
|
||||
.member-remove {
|
||||
|
||||
Reference in New Issue
Block a user