|
|
@@ -1,46 +1,15 @@
|
|
|
<template>
|
|
|
<view class="page-container">
|
|
|
- <u-navbar title="团队管理" :autoBack="true" :placeholder="true"></u-navbar>
|
|
|
+ <u-navbar title="团餐活动" :autoBack="true" :placeholder="true"></u-navbar>
|
|
|
+ <image class="bg" src="/static/groupMeal/bg_baoming.png" mode="widthFix"></image>
|
|
|
|
|
|
- <!-- 成员列表 -->
|
|
|
- <view class="member-list">
|
|
|
- <view class="member-card" v-for="(member, index) in memberList" :key="member.id">
|
|
|
- <view class="member-info">
|
|
|
- <view class="info-header">
|
|
|
- <text class="name">{{ member.name }}</text>
|
|
|
- <text class="phone">{{ member.phone }}</text>
|
|
|
- <view class="actions">
|
|
|
- <text class="action-btn edit" @click="editMember(member)">编辑</text>
|
|
|
- <text class="action-btn delete" @click="confirmDelete(member, index)">删除</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="address-list">
|
|
|
- <text class="address-title">管理地址:</text>
|
|
|
- <view class="address-item" v-for="addr in member.addresses" :key="addr.id">
|
|
|
- <text>{{ addr.fullAddress }}</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
<!-- 底部操作栏 -->
|
|
|
<view class="footer-bar">
|
|
|
<u-button
|
|
|
- text="添加人员"
|
|
|
- @click="addMember"
|
|
|
- ></u-button>
|
|
|
+ shape="circle"
|
|
|
+ @click="onSave"
|
|
|
+ >立即报名</u-button>
|
|
|
</view>
|
|
|
-
|
|
|
- <!-- 删除确认弹窗 -->
|
|
|
- <u-modal
|
|
|
- :show="showDeleteConfirm"
|
|
|
- title="确认删除"
|
|
|
- :content="`确定要删除成员 ${selectedMember.name} 吗?`"
|
|
|
- showCancelButton
|
|
|
- @confirm="deleteMember"
|
|
|
- @cancel="showDeleteConfirm = false"
|
|
|
- ></u-modal>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
@@ -48,135 +17,56 @@
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
- memberList: [
|
|
|
- // 模拟数据
|
|
|
- {
|
|
|
- id: 1,
|
|
|
- name: '张三',
|
|
|
- phone: '13834556988',
|
|
|
- addresses: [
|
|
|
- { id: 101, fullAddress: '山西省太原市万柏林区 千峰街道 中海学士里小区五号楼' },
|
|
|
- { id: 102, fullAddress: '山西省太原市万柏林区 千峰街道 中海学士里小区七号楼' },
|
|
|
- ]
|
|
|
- },
|
|
|
- ],
|
|
|
- showDeleteConfirm: false,
|
|
|
- selectedMember: {},
|
|
|
- selectedIndex: -1
|
|
|
+ query: {
|
|
|
+ activityId: ''
|
|
|
+ },
|
|
|
};
|
|
|
+ },
|
|
|
+ onLoad(query) {
|
|
|
+ if (query.activityId) {
|
|
|
+ this.query.activityId = query.activityId;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+
|
|
|
},
|
|
|
methods: {
|
|
|
- // 编辑成员
|
|
|
- editMember(member) {
|
|
|
- uni.navigateTo({
|
|
|
- // 传递成员信息和编辑模式
|
|
|
- url: `/packageC/pages/foreman/team-edit?mode=edit&member=${encodeURIComponent(JSON.stringify(member))}`
|
|
|
- });
|
|
|
+ // 按钮点击事件
|
|
|
+ onSave() {
|
|
|
+ let url = `/packageB/pages/activity/form?activityId=${this.query.activityId}`;
|
|
|
+ if (this.$p.checkLogin()) {
|
|
|
+ url = '/pages/login/login?isBack=1';
|
|
|
+ // #ifdef MP
|
|
|
+ url = '/pages/login/wxLogin?isBack=1';
|
|
|
+ // #endif
|
|
|
+ }
|
|
|
+ this.$p.navTo(url);
|
|
|
},
|
|
|
- // 添加新成员
|
|
|
- addMember() {
|
|
|
- uni.navigateTo({
|
|
|
- url: '/packageC/pages/result/index?type=order&state=1'
|
|
|
- });
|
|
|
- return
|
|
|
- uni.navigateTo({
|
|
|
- // 仅传递添加模式,并指定为多选
|
|
|
- url: '/packageC/pages/foreman/team-edit?mode=add&selectionMode=multi'
|
|
|
- });
|
|
|
- },
|
|
|
- // 弹出删除确认框
|
|
|
- confirmDelete(member, index) {
|
|
|
- this.selectedMember = member;
|
|
|
- this.selectedIndex = index;
|
|
|
- this.showDeleteConfirm = true;
|
|
|
- },
|
|
|
- // 执行删除
|
|
|
- deleteMember() {
|
|
|
- // 在实际项目中,这里应该是调用API
|
|
|
- this.memberList.splice(this.selectedIndex, 1);
|
|
|
- this.showDeleteConfirm = false;
|
|
|
- uni.showToast({ title: '删除成功', icon: 'success' });
|
|
|
- }
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.page-container {
|
|
|
- background-color: #f5f5f5;
|
|
|
min-height: 100vh;
|
|
|
-}
|
|
|
-.member-card {
|
|
|
- background-color: #ffffff;
|
|
|
- padding: 30rpx;
|
|
|
- margin: 24rpx;
|
|
|
- border-radius: 16rpx;
|
|
|
- box-shadow: 0 4rpx 12rpx rgba(0,0,0,0.05);
|
|
|
-}
|
|
|
-.info-header {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- border-bottom: 1rpx solid #eee;
|
|
|
- padding-bottom: 20rpx;
|
|
|
- margin-bottom: 20rpx;
|
|
|
- .name {
|
|
|
- font-size: 32rpx;
|
|
|
- font-weight: bold;
|
|
|
- color: #303133;
|
|
|
- }
|
|
|
- .phone {
|
|
|
- font-size: 28rpx;
|
|
|
- color: #606266;
|
|
|
- margin-left: 24rpx;
|
|
|
- }
|
|
|
- .actions {
|
|
|
- margin-left: auto;
|
|
|
- .action-btn {
|
|
|
- font-size: 26rpx;
|
|
|
- margin-left: 30rpx;
|
|
|
- }
|
|
|
- .edit {
|
|
|
- color: #2979ff;
|
|
|
- }
|
|
|
- .delete {
|
|
|
- color: #fa3534;
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-.address-list {
|
|
|
- .address-title {
|
|
|
- font-size: 28rpx;
|
|
|
- color: #909399;
|
|
|
- }
|
|
|
- .address-item {
|
|
|
- font-size: 28rpx;
|
|
|
- color: #606266;
|
|
|
- margin-top: 16rpx;
|
|
|
- padding-left: 20rpx;
|
|
|
- position: relative;
|
|
|
- &::before {
|
|
|
- content: '';
|
|
|
- position: absolute;
|
|
|
- left: 0;
|
|
|
- top: 50%;
|
|
|
- transform: translateY(-50%);
|
|
|
- width: 8rpx;
|
|
|
- height: 8rpx;
|
|
|
- border-radius: 50%;
|
|
|
- background-color: #ccc;
|
|
|
- }
|
|
|
+ padding-bottom: 120rpx;
|
|
|
+ background: #F7F8FC;
|
|
|
+
|
|
|
+ .bg {
|
|
|
+ width: 100vw;
|
|
|
+ height: 100vh;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.footer-bar {
|
|
|
- ::v-deep .u-button {
|
|
|
+ ::v-deep .u-btn {
|
|
|
width: 100%;
|
|
|
height: 76rpx;
|
|
|
font-weight: 500;
|
|
|
font-size: 28rpx;
|
|
|
color: #FFFFFF;
|
|
|
- margin: 0;
|
|
|
- background: linear-gradient(90deg, #FF004E 0%, #FF004E 100%);
|
|
|
- border-radius: 8rpx;
|
|
|
+ border: none;
|
|
|
+ background: linear-gradient(90deg, #77B6FF 0%, #449AFF 100%);
|
|
|
}
|
|
|
}
|
|
|
</style>
|