Jelajahi Sumber

修改活动详情

zs 1 tahun lalu
induk
melakukan
00f9e1ca92
36 mengubah file dengan 1524 tambahan dan 178 penghapusan
  1. 6 0
      pages.json
  2. 313 93
      pagesHome/activity/info.vue
  3. 1 0
      pagesHome/create/index.vue
  4. 133 0
      pagesHome/enroll/index.vue
  5. 1 4
      pagesHome/match/info.vue
  6. 1 1
      pagesHome/share/index.vue
  7. 108 4
      pagesHome/team/info.vue
  8. 9 4
      pagesHome/team/person.vue
  9. 1 0
      unpackage/dist/dev/mp-weixin/app.js
  10. 2 1
      unpackage/dist/dev/mp-weixin/app.json
  11. 6 0
      unpackage/dist/dev/mp-weixin/common/vendor.js
  12. 116 21
      unpackage/dist/dev/mp-weixin/pagesHome/activity/info.js
  13. 2 1
      unpackage/dist/dev/mp-weixin/pagesHome/activity/info.json
  14. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/activity/info.wxml
  15. 101 16
      unpackage/dist/dev/mp-weixin/pagesHome/activity/info.wxss
  16. 1 0
      unpackage/dist/dev/mp-weixin/pagesHome/create/index.wxss
  17. 111 0
      unpackage/dist/dev/mp-weixin/pagesHome/enroll/index.js
  18. 7 0
      unpackage/dist/dev/mp-weixin/pagesHome/enroll/index.json
  19. 1 0
      unpackage/dist/dev/mp-weixin/pagesHome/enroll/index.wxml
  20. 40 0
      unpackage/dist/dev/mp-weixin/pagesHome/enroll/index.wxss
  21. 0 3
      unpackage/dist/dev/mp-weixin/pagesHome/match/info.js
  22. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/match/info.wxml
  23. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/share/index.wxss
  24. 55 22
      unpackage/dist/dev/mp-weixin/pagesHome/team/info.js
  25. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/team/info.wxml
  26. 51 1
      unpackage/dist/dev/mp-weixin/pagesHome/team/info.wxss
  27. 4 2
      unpackage/dist/dev/mp-weixin/pagesHome/team/person.js
  28. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/team/person.wxml
  29. 210 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js
  30. 6 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.json
  31. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxml
  32. 101 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxss
  33. 118 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js
  34. 4 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.json
  35. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxml
  36. 8 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxss

+ 6 - 0
pages.json

@@ -140,6 +140,12 @@
 					"style": {
 						"navigationBarTitleText": "邀请好友入队"
 					}
+				},
+				{
+					"path": "enroll/index",
+					"style": {
+						"navigationBarTitleText": "报名队员"
+					}
 				}
 			]
 		},

+ 313 - 93
pagesHome/activity/info.vue

@@ -1,40 +1,103 @@
 <template>
 	<view class="content">
-		<view class="one">
-			<view class="one_1">
-				·{{info.number||0}}制 | 共{{info.wheel||0}}轮
-			</view>
-			<view class="one_2">
-				<view class="left">
-					<image class="image" mode="aspectFill" :src="info?.redInfo?.logo||config.logoUrl">
-					</image>
-					<view class="name">{{info?.redInfo?.name||'暂无红方名称'}}</view>
-				</view>
-				<view class="center">{{info.redScore||0}} : {{info.blueScore||0}}</view>
-				<view class="right">
-					<image class="image" mode="aspectFill" :src="info?.blueInfo?.logo||config.logoUrl">
-					</image>
-					<view class="name">{{info?.blueInfo?.name||'暂无蓝方名称'}}</view>
-				</view>
-			</view>
-			<view class="one_3">
-				<text>{{getDayOfWeek(info.startTime)}}</text>
-				{{info.time||'暂无时间'}}
-			</view>
-			<view class="one_4 textOne"><text>{{info?.matchInfo?.address||'暂无地点'}}</text> </view>
-		</view>
-		<view class="position">
-			<view class="two">
-				<uni-segmented-control :current="current" :values="list" @clickItem="onClickItem" styleType="text"
-					activeColor="#dd524d"></uni-segmented-control>
-				<view class="two_1">
-					<view v-show="current === 0">
-						出勤报名
+		<view class="info">
+			<scroll-view scroll-y="true" class="scroll-view">
+				<view class="list-scroll-view">
+					<view class="one">
+						<view class="one_1" v-if="info.status=='0'&&info.type=='0'">
+							<text>约战</text> ·{{getNumber(info?.matchInfo?.number)}}
+						</view>
+						<view class="one_1" v-else>
+							·{{info.number||0}}制 | 共{{info.wheel||0}}轮
+						</view>
+						<view class="one_2">
+							<view class="left">
+								<image class="image" mode="aspectFill" :src="info?.redInfo?.logo||config.logoUrl">
+								</image>
+								<view class="name">{{info?.redInfo?.name||'暂无红方名称'}}</view>
+							</view>
+							<view class="left" v-if="info.status=='0'">等待对手确认</view>
+							<view class="center" v-else>{{info.redScore||0}} : {{info.blueScore||0}}</view>
+							<view class="right">
+								<image class="image" mode="aspectFill" :src="info?.blueInfo?.logo||config.logoUrl">
+								</image>
+								<view class="name">{{info?.blueInfo?.name||'暂无蓝方名称'}}</view>
+							</view>
+						</view>
+						<view class="one_3">
+							<text>{{getDayOfWeek(info.startTime)}}</text>
+							{{info.time||'暂无时间'}}
+						</view>
+						<view class="one_4 textOne"><text>{{info?.matchInfo?.address||'暂无地点'}}</text> </view>
 					</view>
-					<view v-show="current === 1">
-						数据统计
+					<view class="position">
+						<view class="two">
+							<uni-segmented-control :current="current" :values="list" @clickItem="onClickItem"
+								styleType="text" activeColor="#dd524d"></uni-segmented-control>
+							<view class="two_1">
+								<view v-show="current === 0">
+									<view class="enroll">
+										<view class="left" @tap="toInfo('未回应队员')">
+											未回应<text> {{info?.matchInfo?.member||'0'}}</text>人
+											<uni-icons type="right" size="20" color="#999999"></uni-icons>
+										</view>
+										<view class="right">
+											<button type="primary" size="mini" open-type="share"
+												style="font-size: 12px;border-radius: 20px;line-height: 2;">
+												<uni-icons type="redo-filled" size="15" color="#ffffff"></uni-icons>
+												分享
+											</button>
+										</view>
+									</view>
+									<view class="enroll p4" @tap="toInfo('已回应队员')">
+										<view class="left">
+											已回应<text> {{info?.matchInfo?.member||'0'}}</text>人
+										</view>
+										<view class="right">
+											<uni-icons type="right" size="20" color="#999999"></uni-icons>
+										</view>
+									</view>
+									<view class="count">
+										<view class="count_1">
+											<view class="left"><text>报名</text></view>
+											<view class="right">
+												<text style="color: red;">{{info?.matchInfo?.member||'0'}}</text>
+												<text>人</text>
+											</view>
+										</view>
+										<view class="count_1">
+											<view class="left"><text>请假</text></view>
+											<view class="right">
+												<text style="color: red;">{{info?.matchInfo?.member||'0'}}</text>
+												<text>人</text>
+											</view>
+										</view>
+									</view>
+								</view>
+								<view v-show="current === 1">
+									数据统计
+								</view>
+							</view>
+						</view>
 					</view>
 				</view>
+			</scroll-view>
+		</view>
+		<view class="foot" v-if="info.status=='0'||info.status=='1'">
+			<view class="left">
+				<view class="left_1">
+					<uni-icons @tap="toEdit" type="compose" size="20" color="#696969"></uni-icons>
+					<text>编辑</text>
+				</view>
+				<view class="left_1">
+					<uni-icons @tap="toCopy" custom-prefix="iconfont" type="icon-icon_cz" size="20"
+						color="#696969"></uni-icons>
+					<text>复用</text>
+				</view>
+			</view>
+			<view class="right">
+				<button class="button1" type="warn" size="mini" @tap="onLeave">请假</button>
+				<button class="button2" type="warn" size="mini" @tap="onEnroll">报名</button>
 			</view>
 		</view>
 	</view>
@@ -47,6 +110,7 @@
 	import { onLoad } from "@dcloudio/uni-app";
 	// 请求接口
 	const $api = getCurrentInstance()?.appContext.config.globalProperties.$api;
+	const $config = getCurrentInstance()?.appContext.config.globalProperties.$config;
 	// 基本信息
 	const config = ref({ logoUrl: '' });
 	const info = ref({});
@@ -54,14 +118,32 @@
 	const current = ref(0);
 	// 详情信息id
 	const id = ref('');
+	// 用户信息
+	const user = ref({});
+	// 字典表
+	const numberList = ref([]);
 	onLoad(async (options) => {
 		id.value = options && options.id
 		uni.setNavigationBarTitle({
 			title: options && options.name || '活动详情'
 		});
+		await searchUser();
+		await searchOther();
 		await searchConfig();
 		await search();
+		await searchShare();
 	})
+	// 用户信息
+	const searchUser = async () => {
+		user.value = uni.getStorageSync('user');
+	};
+	// 查询其他信息
+	const searchOther = async () => {
+		let res;
+		// 赛制
+		res = await $api(`dict/data/list`, 'GET', { dictType: 'sys_match_number', status: '0' });
+		if (res.code === 200 && res.total > 0) numberList.value = res.rows
+	};
 	// config信息
 	const searchConfig = async () => {
 		config.value = uni.getStorageSync('config');
@@ -99,6 +181,42 @@
 			return weekdays[dayOfWeek];
 		} else return '暂无日期';
 	};
+	// 换字典表
+	const getNumber = (value) => {
+		if (value) {
+			const data = numberList.value.find(i => i.dictValue == value)
+			if (data) return data.dictLabel
+		} else return 0;
+	};
+	// 查看队员
+	const toInfo = (name : string) => {
+		uni.navigateTo({
+			url: `/pagesHome/enroll/index?id=${info.value.id}&name=${name || ''}`,
+		})
+	};
+	// 编辑
+	const toEdit = async () => {
+		console.log('编辑');
+	};
+	// 复用
+	const toCopy = async () => {
+		console.log('复用');
+	};
+	// 请假
+	const onLeave = async () => {
+		console.log('请假');
+	};
+	// 报名
+	const onEnroll = async () => {
+		console.log('报名');
+	};
+	// 邀请分享配置
+	const searchShare = () => {
+		$config.share = {
+			title: `${user.value.name || '暂无名称'}邀请你报名${info.value.title || '暂无比赛名称'}`,
+			path: `/pagesHome/share/index?id=${info.value.id}` //后面是路径上要传递的参数
+		}
+	}
 </script>
 <style lang="scss" scoped>
 	.content {
@@ -107,97 +225,199 @@
 		width: 100vw;
 		height: 100vh;
 
-		.one {
-			background-color: var(--f12Color);
-			padding: 0 0 10vw 0;
+		.info {
+			position: relative;
+			flex-grow: 1;
 
-			.one_1 {
-				padding: 2vw;
-				text-align: center;
-				font-size: var(--font14Size);
-				color: var(--f99Color);
-			}
+			.one {
+				background-color: var(--f12Color);
+				padding: 0 0 10vw 0;
 
-			.one_2 {
-				display: flex;
-				justify-content: space-around;
-				align-items: center;
-				color: var(--mainColor);
+				.one_1 {
+					padding: 2vw;
+					text-align: center;
+					font-size: var(--font14Size);
+					color: var(--f99Color);
+				}
 
-				.left {
+				.one_2 {
 					display: flex;
-					flex-direction: column;
+					justify-content: space-around;
 					align-items: center;
+					color: var(--mainColor);
+
+					.left {
+						display: flex;
+						flex-direction: column;
+						align-items: center;
+
+						.image {
+							width: 12vw;
+							height: 12vw;
+							border-radius: 12vw;
+						}
 
-					.image {
-						width: 12vw;
-						height: 12vw;
-						border-radius: 12vw;
+						.name {
+							margin: 2vw 0 0 0;
+						}
 					}
 
-					.name {
-						margin: 2vw 0 0 0;
+					.center {
+						font-size: 25px;
 					}
-				}
 
-				.center {
-					font-size: 25px;
+					.right {
+						display: flex;
+						flex-direction: column;
+						align-items: center;
+
+						.image {
+							width: 12vw;
+							height: 12vw;
+							border-radius: 12vw;
+						}
+
+						.name {
+							margin: 2vw 0 0 0;
+						}
+					}
 				}
 
-				.right {
-					display: flex;
-					flex-direction: column;
-					align-items: center;
+				.one_3 {
+					color: var(--mainColor);
+					text-align: center;
+					padding: 2vw;
+					font-size: var(--font16Size);
 
-					.image {
-						width: 12vw;
-						height: 12vw;
-						border-radius: 12vw;
+					text {
+						padding: 2px 5px;
+						background-color: rgba(105, 105, 105, 0.9);
+						border-radius: 2vw;
 					}
+				}
 
-					.name {
-						margin: 2vw 0 0 0;
+				.one_4 {
+					text-align: center;
+					margin: 2vw;
+
+					text {
+						font-size: var(--font14Size);
+						padding: 2px 5px;
+						background-color: rgba(105, 105, 105, 0.9);
+						border-radius: 10vw;
+						color: var(--mainColor);
 					}
 				}
 			}
 
-			.one_3 {
-				color: var(--mainColor);
-				text-align: center;
-				padding: 2vw;
-				font-size: var(--font16Size);
+			.position {
+				position: absolute;
+				top: 50vw;
+
+				.two {
+					width: 100vw;
+					border-top-left-radius: 25px;
+					border-top-right-radius: 25px;
+					background-color: var(--mainColor);
+
+					.two_1 {
+						font-size: var(--font14Size);
+
+						.enroll {
+							display: flex;
+							justify-content: space-between;
+							padding: 2vw 4vw;
+							align-items: center;
+							border-top: 1px solid var(--footColor);
 
-				text {
-					padding: 2px 5px;
-					background-color: rgba(105, 105, 105, 0.9);
-					border-radius: 2vw;
+							.left {
+								display: flex;
+								align-items: center;
+
+								text {
+									color: var(--fF0Color);
+								}
+							}
+						}
+
+						.p4 {
+							padding: 4vw;
+							border-bottom: 1px solid var(--footColor);
+						}
+
+						.count {
+							display: flex;
+							justify-content: space-between;
+							margin: 2vw 4vw;
+
+							.count_1 {
+								display: flex;
+								justify-content: space-between;
+								width: 35vw;
+								padding: 4vw;
+								border-radius: 2px;
+								font-size: var(--font12Size);
+								background-color: var(--footColor);
+							}
+						}
+					}
 				}
 			}
+		}
 
-			.one_4 {
-				text-align: center;
-				margin: 2vw;
+		.foot {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding: 2vw;
+			border-top: 1px solid var(--footColor);
 
-				text {
+			.left {
+				display: flex;
+				align-items: center;
+
+				.left_1 {
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+					padding: 0 2vw;
 					font-size: var(--font14Size);
-					padding: 2px 5px;
-					background-color: rgba(105, 105, 105, 0.9);
-					border-radius: 10vw;
-					color: var(--mainColor);
+					color: var(--f69Color);
+
+					text {
+						margin: 2px 0 0 0;
+					}
 				}
 			}
-		}
 
-		.position {
-			position: absolute;
-			top: 50vw;
+			.right {
+				display: flex;
+
+				.button1 {
+					margin: 0 2vw 0 0;
+					width: 20vw;
+					font-size: var(--font16Size);
+					background-color: var(--f12Color);
+				}
 
-			.two {
-				width: 100vw;
-				border-top-left-radius: 25px;
-				border-top-right-radius: 25px;
-				background-color: var(--mainColor);
+				.button2 {
+					width: 50vw;
+					font-size: var(--font16Size);
+				}
 			}
 		}
 	}
+
+	.scroll-view {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+
+		.list-scroll-view {
+			display: flex;
+			flex-direction: column;
+		}
+	}
 </style>

+ 1 - 0
pagesHome/create/index.vue

@@ -145,6 +145,7 @@
 			justify-content: space-between;
 			align-items: center;
 			padding: 2vw;
+			border-top: 1px solid var(--footColor);
 
 			.left {
 				display: flex;

+ 133 - 0
pagesHome/enroll/index.vue

@@ -0,0 +1,133 @@
+<template>
+	<view class="content">
+		<view class="one">
+			<uni-collapse accordion v-model="accordionVal" @change="change">
+				<uni-collapse-item :title="one">
+					<view class="list" v-for="(item, index) in list" :key="index" @tap="toPerson(item)">
+						<view class="left">
+							<image class="image" mode="aspectFill" :src="item.icon||config.logoUrl">
+							</image>
+							<view class="name">{{item.name||item.phone}}</view>
+						</view>
+					</view>
+				</uni-collapse-item>
+				<uni-collapse-item :title="two">
+					<view class="list" v-for="(item, index) in list" :key="index" @tap="toPerson(item)">
+						<view class="left">
+							<image class="image" mode="aspectFill" :src="item.icon||config.logoUrl">
+							</image>
+							<view class="name">{{item.name||item.phone}}</view>
+						</view>
+					</view>
+				</uni-collapse-item>
+				<uni-collapse-item :title="thr">
+					<view class="list" v-for="(item, index) in list" :key="index" @tap="toPerson(item)">
+						<view class="left">
+							<image class="image" mode="aspectFill" :src="item.icon||config.logoUrl">
+							</image>
+							<view class="name">{{item.name||item.phone}}</view>
+						</view>
+						<view class="right">
+							<button v-if="is_yes" class="button1" type="warn" size="mini" @tap="onLeave">移入报名</button>
+							<button v-else class="button2" type="warn" size="mini" @tap="onLeave">移出报名</button>
+						</view>
+					</view>
+				</uni-collapse-item>
+			</uni-collapse>
+		</view>
+	</view>
+</template>
+
+<script setup lang="ts">
+	import { getCurrentInstance, ref } from 'vue';
+	//该依赖已内置不需要单独安装
+	import { onLoad } from "@dcloudio/uni-app";
+	// 请求接口
+	const $api = getCurrentInstance()?.appContext.config.globalProperties.$api;
+	// 基本信息
+	const config = ref({ logoUrl: '' });
+	const one = ref('报名成功(0)');
+	const two = ref('请假(0)');
+	const thr = ref('未回应队员(6)');
+	const accordionVal = ref('2');
+	const is_yes = ref(true);
+	const list = ref([{ id: 1, phone: '1234567890' }, { id: 1, name: '肝帝集团队' }]);
+	// 详情信息id
+	const id = ref('');
+	onLoad(async (options) => {
+		id.value = options && options.id
+		if (options && options.name && options.name == '已回应队员') {
+			is_yes.value = false
+			thr.value = '已回应队员(6)'
+		}
+		uni.setNavigationBarTitle({
+			title: options && options.name || '报名队员'
+		});
+		await searchConfig();
+		await search();
+	})
+	// config信息
+	const searchConfig = async () => {
+		config.value = uni.getStorageSync('config');
+	};
+	// 查询
+	const search = async () => {
+		if (id.value) { }
+	};
+	const change = async (e) => {
+		console.log(e);
+	};
+	// 报名用户详情
+	const toPerson = async (item) => {
+		console.log(item);
+	};
+</script>
+<style lang="scss" scoped>
+	.content {
+		display: flex;
+		flex-direction: column;
+		width: 100vw;
+		height: 100vh;
+
+		.one {
+			padding: 2vw;
+
+			.list {
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				padding: 3vw 0;
+				border-bottom: 1px solid var(--footColor);
+
+				.left {
+					display: flex;
+					align-items: center;
+
+					.image {
+						width: 10vw;
+						height: 10vw;
+						border-radius: 10vw;
+					}
+
+					.name {
+						width: 60vw;
+						font-size: var(--font16Size);
+						padding: 0 2vw;
+					}
+				}
+
+				.right {
+					.button1 {
+						background-color: var(--f3CColor);
+						font-size: var(--font12Size);
+					}
+
+					.button2 {
+						background-color: var(--fF0Color);
+						font-size: var(--font12Size);
+					}
+				}
+			}
+		}
+	}
+</style>

+ 1 - 4
pagesHome/match/info.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="content">
 		<view class="one">
-			创建
+			报名队员
 		</view>
 	</view>
 </template>
@@ -18,9 +18,6 @@
 	const id = ref('');
 	onLoad(async (options) => {
 		id.value = options && options.id
-		uni.setNavigationBarTitle({
-			title: options && options.name || '创建'
-		});
 		await searchConfig();
 		await search();
 	})

+ 1 - 1
pagesHome/share/index.vue

@@ -140,7 +140,7 @@
 
 			.one_4 {
 				display: flex;
-				justify-content: space-around;
+				justify-content: space-evenly;
 				margin: 2vw 0;
 
 				.list {

+ 108 - 4
pagesHome/team/info.vue

@@ -20,13 +20,37 @@
 		</view>
 		<view class="position">
 			<view class="two">
-				<view class="two_1">
+				<view class="two_1" v-if="is_save">
 					创建活动,还可以微信、短信通知队员报名
 				</view>
-				<view class="two_2">
+				<view class="two_2" v-if="is_save">
 					<button type="warn" size="mini" @tap="toSave">创建</button>
 				</view>
-				<view class="two_3" @tap="toInfo({route: '/pagesHome/activity/index'})">
+				<view class="two_3" v-else>
+					<view class="active" @tap="toActivity(actInfo)">
+						<view class="left">
+							<view class="date1">
+								{{moment(actInfo.startTime).format('MM-DD')||'暂无日期'}}
+							</view>
+							<view class="date2"> {{getDayOfWeek(actInfo.startTime)}}</view>
+							<view class="date1">{{moment(actInfo.startTime).format('HH:mm')||'暂无时间'}}</view>
+						</view>
+						<view class="right">
+							<view class="name">
+								<text class="type" v-if="actInfo.type=='0'">友谊赛</text>
+								<text class="type" v-else>友谊赛</text>
+								<view class="title">VS
+									<image class="image" mode="aspectFill"
+										:src="actInfo?.blueInfo?.logo||'/static/qiudui.png'">
+									</image>
+									{{actInfo?.blueInfo?.name}}
+								</view>
+							</view>
+							<view class="address textOne">{{actInfo?.matchInfo?.address||'暂无地址'}}</view>
+						</view>
+					</view>
+				</view>
+				<view class="two_4" @tap="toInfo({route: '/pagesHome/activity/index'})">
 					<uni-icons type="list" size="18"></uni-icons>
 					<text>查看全部活动</text>
 				</view>
@@ -150,6 +174,10 @@
 	const config = ref({ logoUrl: '' });
 	// 用户信息
 	const user = ref({});
+	// 是否显示创建
+	const is_save = ref(true);
+	// 活动
+	const actInfo = ref({});
 	// 字典表
 	const statusList = ref([]);
 	onLoad(async (options) => {
@@ -188,7 +216,8 @@
 	// 查询
 	const searchGame = async () => {
 		if (id.value) {
-			const res = await $api('game/list', 'GET', {
+			let res;
+			res = await $api('game/list', 'GET', {
 				pageNum: pageNum.value,
 				pageSize: pageSize.value,
 				userId: user.value.id
@@ -202,6 +231,20 @@
 					icon: 'error',
 				});
 			}
+			res = await $api('game/list', 'GET', {
+				pageNum: 1,
+				pageSize: 1,
+				status: '0'
+			});
+			if (res.code === 200 && res.total > 0) {
+				is_save.value = false
+				actInfo.value = res.rows[0]
+			} else {
+				uni.showToast({
+					title: res.msg || '',
+					icon: 'error',
+				});
+			}
 		}
 	};
 	// 标签列表
@@ -333,6 +376,67 @@
 				}
 
 				.two_3 {
+					margin: 0 3vw 3vw 3vw;
+					background-color: var(--f9Color);
+
+					.active {
+						display: flex;
+
+						.left {
+							padding: 4vw;
+							background-color: var(--fF0Color);
+							color: var(--mainColor);
+
+							.date1 {
+								font-size: var(--font12Size);
+							}
+
+							.date2 {
+								font-size: var(--font16Size);
+							}
+						}
+
+						.right {
+							padding: 3vw;
+							width: 60vw;
+
+							.name {
+								display: flex;
+								align-items: center;
+
+								.type {
+									padding: 2px 4px;
+									margin: 0 1vw;
+									border-radius: 2px;
+									font-size: var(--font12Size);
+									color: var(--fF0Color);
+									border: 1px solid var(--fF0Color);
+								}
+
+								.title {
+									display: flex;
+									align-items: center;
+
+									.image {
+										margin: 0 2vw;
+										width: 8vw;
+										height: 8vw;
+										border-radius: 8vw;
+										background-color: var(--mainColor);
+									}
+								}
+							}
+
+							.address {
+								margin: 2vw 0;
+								font-size: var(--font14Size);
+								color: var(--f85Color);
+							}
+						}
+					}
+				}
+
+				.two_4 {
 					display: flex;
 					align-items: center;
 					justify-content: center;

+ 9 - 4
pagesHome/team/person.vue

@@ -31,9 +31,11 @@
 		</view>
 		<view class="thr">
 			<view class="thr_1">临时球员</view>
-			<view class="thr_2" @tap="toCreate">
-				<uni-icons custom-prefix="iconfont" type="icon-yaoqinghuida" size="25" color="#121212"></uni-icons>
-				<text>创建临时成员</text>
+			<view class="thr_2">
+				<button size="mini" style="margin: 0;" @tap="toCreate">
+					<uni-icons custom-prefix="iconfont" type="icon-yaoqinghuida" size="20" color="#121212"></uni-icons>
+					<text>创建临时成员</text>
+				</button>
 			</view>
 		</view>
 		<!-- 添加临时成员 -->
@@ -138,7 +140,10 @@
 			});
 			const res = await $api(`team/${id.value}`, 'GET', {});
 			if (res.code === 200) {
-				if (res.data) teamInfo.value = res.data
+				if (res.data) {
+					teamInfo.value = res.data
+					list.value = res.data.member || []
+				}
 			} else {
 				uni.showToast({
 					title: res.msg || '',

+ 1 - 0
unpackage/dist/dev/mp-weixin/app.js

@@ -24,6 +24,7 @@ if (!Math) {
   "./pagesHome/create/index.js";
   "./pagesHome/create/person.js";
   "./pagesHome/share/index.js";
+  "./pagesHome/enroll/index.js";
   "./pagesMy/basic/index.js";
 }
 const _sfc_main = {

+ 2 - 1
unpackage/dist/dev/mp-weixin/app.json

@@ -23,7 +23,8 @@
         "person/index",
         "create/index",
         "create/person",
-        "share/index"
+        "share/index",
+        "enroll/index"
       ]
     },
     {

+ 6 - 0
unpackage/dist/dev/mp-weixin/common/vendor.js

@@ -11183,6 +11183,12 @@ const subPackages = [
         style: {
           navigationBarTitleText: "邀请好友入队"
         }
+      },
+      {
+        path: "enroll/index",
+        style: {
+          navigationBarTitleText: "报名队员"
+        }
       }
     ]
   },

+ 116 - 21
unpackage/dist/dev/mp-weixin/pagesHome/activity/info.js

@@ -2,30 +2,47 @@
 const common_vendor = require("../../common/vendor.js");
 if (!Array) {
   const _easycom_uni_segmented_control2 = common_vendor.resolveComponent("uni-segmented-control");
-  _easycom_uni_segmented_control2();
+  const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
+  (_easycom_uni_segmented_control2 + _easycom_uni_icons2)();
 }
 const _easycom_uni_segmented_control = () => "../../uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.js";
+const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
 if (!Math) {
-  _easycom_uni_segmented_control();
+  (_easycom_uni_segmented_control + _easycom_uni_icons)();
 }
 const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
   __name: "info",
   setup(__props) {
-    var _a;
+    var _a, _b;
     const $api = (_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$api;
+    const $config = (_b = common_vendor.getCurrentInstance()) == null ? void 0 : _b.appContext.config.globalProperties.$config;
     const config = common_vendor.ref({ logoUrl: "" });
     const info = common_vendor.ref({});
     const list = common_vendor.ref(["出勤报名", "数据统计"]);
     const current = common_vendor.ref(0);
     const id = common_vendor.ref("");
+    const user = common_vendor.ref({});
+    const numberList = common_vendor.ref([]);
     common_vendor.onLoad(async (options) => {
       id.value = options && options.id;
       common_vendor.index.setNavigationBarTitle({
         title: options && options.name || "活动详情"
       });
+      await searchUser();
+      await searchOther();
       await searchConfig();
       await search();
+      await searchShare();
     });
+    const searchUser = async () => {
+      user.value = common_vendor.index.getStorageSync("user");
+    };
+    const searchOther = async () => {
+      let res;
+      res = await $api(`dict/data/list`, "GET", { dictType: "sys_match_number", status: "0" });
+      if (res.code === 200 && res.total > 0)
+        numberList.value = res.rows;
+    };
     const searchConfig = async () => {
       config.value = common_vendor.index.getStorageSync("config");
     };
@@ -63,30 +80,108 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
       } else
         return "暂无日期";
     };
+    const getNumber = (value) => {
+      if (value) {
+        const data = numberList.value.find((i) => i.dictValue == value);
+        if (data)
+          return data.dictLabel;
+      } else
+        return 0;
+    };
+    const toInfo = (name) => {
+      common_vendor.index.navigateTo({
+        url: `/pagesHome/enroll/index?id=${info.value.id}&name=${name || ""}`
+      });
+    };
+    const toEdit = async () => {
+      console.log("编辑");
+    };
+    const toCopy = async () => {
+      console.log("复用");
+    };
+    const onLeave = async () => {
+      console.log("请假");
+    };
+    const onEnroll = async () => {
+      console.log("报名");
+    };
+    const searchShare = () => {
+      $config.share = {
+        title: `${user.value.name || "暂无名称"}邀请你报名${info.value.title || "暂无比赛名称"}`,
+        path: `/pagesHome/share/index?id=${info.value.id}`
+        //后面是路径上要传递的参数
+      };
+    };
     return (_ctx, _cache) => {
-      var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j;
-      return {
-        a: common_vendor.t(info.value.number || 0),
-        b: common_vendor.t(info.value.wheel || 0),
-        c: ((_b = (_a2 = info.value) == null ? void 0 : _a2.redInfo) == null ? void 0 : _b.logo) || config.value.logoUrl,
-        d: common_vendor.t(((_d = (_c = info.value) == null ? void 0 : _c.redInfo) == null ? void 0 : _d.name) || "暂无红方名称"),
-        e: common_vendor.t(info.value.redScore || 0),
-        f: common_vendor.t(info.value.blueScore || 0),
-        g: ((_f = (_e = info.value) == null ? void 0 : _e.blueInfo) == null ? void 0 : _f.logo) || config.value.logoUrl,
-        h: common_vendor.t(((_h = (_g = info.value) == null ? void 0 : _g.blueInfo) == null ? void 0 : _h.name) || "暂无蓝方名称"),
-        i: common_vendor.t(getDayOfWeek(info.value.startTime)),
-        j: common_vendor.t(info.value.time || "暂无时间"),
-        k: common_vendor.t(((_j = (_i = info.value) == null ? void 0 : _i.matchInfo) == null ? void 0 : _j.address) || "暂无地点"),
-        l: common_vendor.o(onClickItem),
-        m: common_vendor.p({
+      var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
+      return common_vendor.e({
+        a: info.value.status == "0" && info.value.type == "0"
+      }, info.value.status == "0" && info.value.type == "0" ? {
+        b: common_vendor.t(getNumber((_b2 = (_a2 = info.value) == null ? void 0 : _a2.matchInfo) == null ? void 0 : _b2.number))
+      } : {
+        c: common_vendor.t(info.value.number || 0),
+        d: common_vendor.t(info.value.wheel || 0)
+      }, {
+        e: ((_d = (_c = info.value) == null ? void 0 : _c.redInfo) == null ? void 0 : _d.logo) || config.value.logoUrl,
+        f: common_vendor.t(((_f = (_e = info.value) == null ? void 0 : _e.redInfo) == null ? void 0 : _f.name) || "暂无红方名称"),
+        g: info.value.status == "0"
+      }, info.value.status == "0" ? {} : {
+        h: common_vendor.t(info.value.redScore || 0),
+        i: common_vendor.t(info.value.blueScore || 0)
+      }, {
+        j: ((_h = (_g = info.value) == null ? void 0 : _g.blueInfo) == null ? void 0 : _h.logo) || config.value.logoUrl,
+        k: common_vendor.t(((_j = (_i = info.value) == null ? void 0 : _i.blueInfo) == null ? void 0 : _j.name) || "暂无蓝方名称"),
+        l: common_vendor.t(getDayOfWeek(info.value.startTime)),
+        m: common_vendor.t(info.value.time || "暂无时间"),
+        n: common_vendor.t(((_l = (_k = info.value) == null ? void 0 : _k.matchInfo) == null ? void 0 : _l.address) || "暂无地点"),
+        o: common_vendor.o(onClickItem),
+        p: common_vendor.p({
           current: current.value,
           values: list.value,
           styleType: "text",
           activeColor: "#dd524d"
         }),
-        n: current.value === 0,
-        o: current.value === 1
-      };
+        q: common_vendor.t(((_n = (_m = info.value) == null ? void 0 : _m.matchInfo) == null ? void 0 : _n.member) || "0"),
+        r: common_vendor.p({
+          type: "right",
+          size: "20",
+          color: "#999999"
+        }),
+        s: common_vendor.o(($event) => toInfo("未回应队员")),
+        t: common_vendor.p({
+          type: "redo-filled",
+          size: "15",
+          color: "#ffffff"
+        }),
+        v: common_vendor.t(((_p = (_o = info.value) == null ? void 0 : _o.matchInfo) == null ? void 0 : _p.member) || "0"),
+        w: common_vendor.p({
+          type: "right",
+          size: "20",
+          color: "#999999"
+        }),
+        x: common_vendor.o(($event) => toInfo("已回应队员")),
+        y: common_vendor.t(((_r = (_q = info.value) == null ? void 0 : _q.matchInfo) == null ? void 0 : _r.member) || "0"),
+        z: common_vendor.t(((_t = (_s = info.value) == null ? void 0 : _s.matchInfo) == null ? void 0 : _t.member) || "0"),
+        A: current.value === 0,
+        B: current.value === 1,
+        C: info.value.status == "0" || info.value.status == "1"
+      }, info.value.status == "0" || info.value.status == "1" ? {
+        D: common_vendor.o(toEdit),
+        E: common_vendor.p({
+          type: "compose",
+          size: "20",
+          color: "#696969"
+        }),
+        F: common_vendor.o(toCopy),
+        G: common_vendor.p({
+          ["custom-prefix"]: "iconfont",
+          type: "icon-icon_cz",
+          size: "20",
+          color: "#696969"
+        }),
+        H: common_vendor.o(onLeave),
+        I: common_vendor.o(onEnroll)
+      } : {});
     };
   }
 });

+ 2 - 1
unpackage/dist/dev/mp-weixin/pagesHome/activity/info.json

@@ -1,6 +1,7 @@
 {
   "navigationBarTitleText": "活动详情",
   "usingComponents": {
-    "uni-segmented-control": "../../uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control"
+    "uni-segmented-control": "../../uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control",
+    "uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
   }
 }

File diff ditekan karena terlalu besar
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/activity/info.wxml


+ 101 - 16
unpackage/dist/dev/mp-weixin/pagesHome/activity/info.wxss

@@ -6,80 +6,165 @@
   width: 100vw;
   height: 100vh;
 }
-.content .one.data-v-24c37ea1 {
+.content .info.data-v-24c37ea1 {
+  position: relative;
+  flex-grow: 1;
+}
+.content .info .one.data-v-24c37ea1 {
   background-color: var(--f12Color);
   padding: 0 0 10vw 0;
 }
-.content .one .one_1.data-v-24c37ea1 {
+.content .info .one .one_1.data-v-24c37ea1 {
   padding: 2vw;
   text-align: center;
   font-size: var(--font14Size);
   color: var(--f99Color);
 }
-.content .one .one_2.data-v-24c37ea1 {
+.content .info .one .one_2.data-v-24c37ea1 {
   display: flex;
   justify-content: space-around;
   align-items: center;
   color: var(--mainColor);
 }
-.content .one .one_2 .left.data-v-24c37ea1 {
+.content .info .one .one_2 .left.data-v-24c37ea1 {
   display: flex;
   flex-direction: column;
   align-items: center;
 }
-.content .one .one_2 .left .image.data-v-24c37ea1 {
+.content .info .one .one_2 .left .image.data-v-24c37ea1 {
   width: 12vw;
   height: 12vw;
   border-radius: 12vw;
 }
-.content .one .one_2 .left .name.data-v-24c37ea1 {
+.content .info .one .one_2 .left .name.data-v-24c37ea1 {
   margin: 2vw 0 0 0;
 }
-.content .one .one_2 .center.data-v-24c37ea1 {
+.content .info .one .one_2 .center.data-v-24c37ea1 {
   font-size: 25px;
 }
-.content .one .one_2 .right.data-v-24c37ea1 {
+.content .info .one .one_2 .right.data-v-24c37ea1 {
   display: flex;
   flex-direction: column;
   align-items: center;
 }
-.content .one .one_2 .right .image.data-v-24c37ea1 {
+.content .info .one .one_2 .right .image.data-v-24c37ea1 {
   width: 12vw;
   height: 12vw;
   border-radius: 12vw;
 }
-.content .one .one_2 .right .name.data-v-24c37ea1 {
+.content .info .one .one_2 .right .name.data-v-24c37ea1 {
   margin: 2vw 0 0 0;
 }
-.content .one .one_3.data-v-24c37ea1 {
+.content .info .one .one_3.data-v-24c37ea1 {
   color: var(--mainColor);
   text-align: center;
   padding: 2vw;
   font-size: var(--font16Size);
 }
-.content .one .one_3 text.data-v-24c37ea1 {
+.content .info .one .one_3 text.data-v-24c37ea1 {
   padding: 2px 5px;
   background-color: rgba(105, 105, 105, 0.9);
   border-radius: 2vw;
 }
-.content .one .one_4.data-v-24c37ea1 {
+.content .info .one .one_4.data-v-24c37ea1 {
   text-align: center;
   margin: 2vw;
 }
-.content .one .one_4 text.data-v-24c37ea1 {
+.content .info .one .one_4 text.data-v-24c37ea1 {
   font-size: var(--font14Size);
   padding: 2px 5px;
   background-color: rgba(105, 105, 105, 0.9);
   border-radius: 10vw;
   color: var(--mainColor);
 }
-.content .position.data-v-24c37ea1 {
+.content .info .position.data-v-24c37ea1 {
   position: absolute;
   top: 50vw;
 }
-.content .position .two.data-v-24c37ea1 {
+.content .info .position .two.data-v-24c37ea1 {
   width: 100vw;
   border-top-left-radius: 25px;
   border-top-right-radius: 25px;
   background-color: var(--mainColor);
+}
+.content .info .position .two .two_1.data-v-24c37ea1 {
+  font-size: var(--font14Size);
+}
+.content .info .position .two .two_1 .enroll.data-v-24c37ea1 {
+  display: flex;
+  justify-content: space-between;
+  padding: 2vw 4vw;
+  align-items: center;
+  border-top: 1px solid var(--footColor);
+}
+.content .info .position .two .two_1 .enroll .left.data-v-24c37ea1 {
+  display: flex;
+  align-items: center;
+}
+.content .info .position .two .two_1 .enroll .left text.data-v-24c37ea1 {
+  color: var(--fF0Color);
+}
+.content .info .position .two .two_1 .p4.data-v-24c37ea1 {
+  padding: 4vw;
+  border-bottom: 1px solid var(--footColor);
+}
+.content .info .position .two .two_1 .count.data-v-24c37ea1 {
+  display: flex;
+  justify-content: space-between;
+  margin: 2vw 4vw;
+}
+.content .info .position .two .two_1 .count .count_1.data-v-24c37ea1 {
+  display: flex;
+  justify-content: space-between;
+  width: 35vw;
+  padding: 4vw;
+  border-radius: 2px;
+  font-size: var(--font12Size);
+  background-color: var(--footColor);
+}
+.content .foot.data-v-24c37ea1 {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  padding: 2vw;
+  border-top: 1px solid var(--footColor);
+}
+.content .foot .left.data-v-24c37ea1 {
+  display: flex;
+  align-items: center;
+}
+.content .foot .left .left_1.data-v-24c37ea1 {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  padding: 0 2vw;
+  font-size: var(--font14Size);
+  color: var(--f69Color);
+}
+.content .foot .left .left_1 text.data-v-24c37ea1 {
+  margin: 2px 0 0 0;
+}
+.content .foot .right.data-v-24c37ea1 {
+  display: flex;
+}
+.content .foot .right .button1.data-v-24c37ea1 {
+  margin: 0 2vw 0 0;
+  width: 20vw;
+  font-size: var(--font16Size);
+  background-color: var(--f12Color);
+}
+.content .foot .right .button2.data-v-24c37ea1 {
+  width: 50vw;
+  font-size: var(--font16Size);
+}
+.scroll-view.data-v-24c37ea1 {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.scroll-view .list-scroll-view.data-v-24c37ea1 {
+  display: flex;
+  flex-direction: column;
 }

+ 1 - 0
unpackage/dist/dev/mp-weixin/pagesHome/create/index.wxss

@@ -19,6 +19,7 @@
   justify-content: space-between;
   align-items: center;
   padding: 2vw;
+  border-top: 1px solid var(--footColor);
 }
 .content .two .left.data-v-fe92273c {
   display: flex;

+ 111 - 0
unpackage/dist/dev/mp-weixin/pagesHome/enroll/index.js

@@ -0,0 +1,111 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+if (!Array) {
+  const _easycom_uni_collapse_item2 = common_vendor.resolveComponent("uni-collapse-item");
+  const _easycom_uni_collapse2 = common_vendor.resolveComponent("uni-collapse");
+  (_easycom_uni_collapse_item2 + _easycom_uni_collapse2)();
+}
+const _easycom_uni_collapse_item = () => "../../uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js";
+const _easycom_uni_collapse = () => "../../uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js";
+if (!Math) {
+  (_easycom_uni_collapse_item + _easycom_uni_collapse)();
+}
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+  __name: "index",
+  setup(__props) {
+    var _a;
+    (_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$api;
+    const config = common_vendor.ref({ logoUrl: "" });
+    const one = common_vendor.ref("报名成功(0)");
+    const two = common_vendor.ref("请假(0)");
+    const thr = common_vendor.ref("未回应队员(6)");
+    const accordionVal = common_vendor.ref("2");
+    const is_yes = common_vendor.ref(true);
+    const list = common_vendor.ref([{ id: 1, phone: "1234567890" }, { id: 1, name: "肝帝集团队" }]);
+    const id = common_vendor.ref("");
+    common_vendor.onLoad(async (options) => {
+      id.value = options && options.id;
+      if (options && options.name && options.name == "已回应队员") {
+        is_yes.value = false;
+        thr.value = "已回应队员(6)";
+      }
+      common_vendor.index.setNavigationBarTitle({
+        title: options && options.name || "报名队员"
+      });
+      await searchConfig();
+      await search();
+    });
+    const searchConfig = async () => {
+      config.value = common_vendor.index.getStorageSync("config");
+    };
+    const search = async () => {
+      if (id.value)
+        ;
+    };
+    const change = async (e) => {
+      console.log(e);
+    };
+    const toPerson = async (item) => {
+      console.log(item);
+    };
+    return (_ctx, _cache) => {
+      return {
+        a: common_vendor.f(list.value, (item, index, i0) => {
+          return {
+            a: item.icon || config.value.logoUrl,
+            b: common_vendor.t(item.name || item.phone),
+            c: index,
+            d: common_vendor.o(($event) => toPerson(item), index)
+          };
+        }),
+        b: common_vendor.p({
+          title: one.value
+        }),
+        c: common_vendor.f(list.value, (item, index, i0) => {
+          return {
+            a: item.icon || config.value.logoUrl,
+            b: common_vendor.t(item.name || item.phone),
+            c: index,
+            d: common_vendor.o(($event) => toPerson(item), index)
+          };
+        }),
+        d: common_vendor.p({
+          title: two.value
+        }),
+        e: common_vendor.f(list.value, (item, index, i0) => {
+          return common_vendor.e({
+            a: item.icon || config.value.logoUrl,
+            b: common_vendor.t(item.name || item.phone)
+          }, is_yes.value ? {
+            c: common_vendor.o(
+              //@ts-ignore
+              (...args) => _ctx.onLeave && _ctx.onLeave(...args),
+              index
+            )
+          } : {
+            d: common_vendor.o(
+              //@ts-ignore
+              (...args) => _ctx.onLeave && _ctx.onLeave(...args),
+              index
+            )
+          }, {
+            e: index,
+            f: common_vendor.o(($event) => toPerson(item), index)
+          });
+        }),
+        f: is_yes.value,
+        g: common_vendor.p({
+          title: thr.value
+        }),
+        h: common_vendor.o(change),
+        i: common_vendor.o(($event) => accordionVal.value = $event),
+        j: common_vendor.p({
+          accordion: true,
+          modelValue: accordionVal.value
+        })
+      };
+    };
+  }
+});
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-aedfc046"], ["__file", "D:/project/足球比赛/match_applet/pagesHome/enroll/index.vue"]]);
+wx.createPage(MiniProgramPage);

+ 7 - 0
unpackage/dist/dev/mp-weixin/pagesHome/enroll/index.json

@@ -0,0 +1,7 @@
+{
+  "navigationBarTitleText": "报名队员",
+  "usingComponents": {
+    "uni-collapse-item": "../../uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item",
+    "uni-collapse": "../../uni_modules/uni-collapse/components/uni-collapse/uni-collapse"
+  }
+}

File diff ditekan karena terlalu besar
+ 1 - 0
unpackage/dist/dev/mp-weixin/pagesHome/enroll/index.wxml


+ 40 - 0
unpackage/dist/dev/mp-weixin/pagesHome/enroll/index.wxss

@@ -0,0 +1,40 @@
+/* 水平间距 */
+/* 水平间距 */
+.content.data-v-aedfc046 {
+  display: flex;
+  flex-direction: column;
+  width: 100vw;
+  height: 100vh;
+}
+.content .one.data-v-aedfc046 {
+  padding: 2vw;
+}
+.content .one .list.data-v-aedfc046 {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  padding: 3vw 0;
+  border-bottom: 1px solid var(--footColor);
+}
+.content .one .list .left.data-v-aedfc046 {
+  display: flex;
+  align-items: center;
+}
+.content .one .list .left .image.data-v-aedfc046 {
+  width: 10vw;
+  height: 10vw;
+  border-radius: 10vw;
+}
+.content .one .list .left .name.data-v-aedfc046 {
+  width: 60vw;
+  font-size: var(--font16Size);
+  padding: 0 2vw;
+}
+.content .one .list .right .button1.data-v-aedfc046 {
+  background-color: var(--f3CColor);
+  font-size: var(--font12Size);
+}
+.content .one .list .right .button2.data-v-aedfc046 {
+  background-color: var(--fF0Color);
+  font-size: var(--font12Size);
+}

+ 0 - 3
unpackage/dist/dev/mp-weixin/pagesHome/match/info.js

@@ -9,9 +9,6 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     const id = common_vendor.ref("");
     common_vendor.onLoad(async (options) => {
       id.value = options && options.id;
-      common_vendor.index.setNavigationBarTitle({
-        title: options && options.name || "创建"
-      });
       await searchConfig();
       await search();
     });

+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/match/info.wxml

@@ -1 +1 @@
-<view class="content data-v-dc3bb826"><view class="one data-v-dc3bb826"> 创建 </view></view>
+<view class="content data-v-dc3bb826"><view class="one data-v-dc3bb826"> 报名队员 </view></view>

+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/share/index.wxss

@@ -56,7 +56,7 @@
 }
 .content .one .one_4.data-v-167827a6 {
   display: flex;
-  justify-content: space-around;
+  justify-content: space-evenly;
   margin: 2vw 0;
 }
 .content .one .one_4 .list.data-v-167827a6 {

+ 55 - 22
unpackage/dist/dev/mp-weixin/pagesHome/team/info.js

@@ -22,6 +22,8 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     const id = common_vendor.ref("");
     const config = common_vendor.ref({ logoUrl: "" });
     const user = common_vendor.ref({});
+    const is_save = common_vendor.ref(true);
+    const actInfo = common_vendor.ref({});
     const statusList = common_vendor.ref([]);
     common_vendor.onLoad(async (options) => {
       id.value = options && options.id;
@@ -56,7 +58,8 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     };
     const searchGame = async () => {
       if (id.value) {
-        const res = await $api("game/list", "GET", {
+        let res;
+        res = await $api("game/list", "GET", {
           pageNum: pageNum.value,
           pageSize: pageSize.value,
           userId: user.value.id
@@ -70,6 +73,20 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
             icon: "error"
           });
         }
+        res = await $api("game/list", "GET", {
+          pageNum: 1,
+          pageSize: 1,
+          status: "0"
+        });
+        if (res.code === 200 && res.total > 0) {
+          is_save.value = false;
+          actInfo.value = res.rows[0];
+        } else {
+          common_vendor.index.showToast({
+            title: res.msg || "",
+            icon: "error"
+          });
+        }
       }
     };
     const menuList = common_vendor.ref([
@@ -116,7 +133,8 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
         return "暂无状态";
     };
     return (_ctx, _cache) => {
-      return {
+      var _a2, _b, _c, _d, _e, _f;
+      return common_vendor.e({
         a: info.value.logo || "/static/qiudui.png",
         b: common_vendor.t(info.value.name || "暂无名称"),
         c: common_vendor.t(info.value.ranking || "暂无排名"),
@@ -127,15 +145,30 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
           color: "#ffffff"
         }),
         f: common_vendor.o(toSave),
-        g: common_vendor.o(toSave),
-        h: common_vendor.p({
+        g: is_save.value
+      }, is_save.value ? {} : {}, {
+        h: is_save.value
+      }, is_save.value ? {
+        i: common_vendor.o(toSave)
+      } : common_vendor.e({
+        j: common_vendor.t(common_vendor.unref(common_vendor.hooks)(actInfo.value.startTime).format("MM-DD") || "暂无日期"),
+        k: common_vendor.t(getDayOfWeek(actInfo.value.startTime)),
+        l: common_vendor.t(common_vendor.unref(common_vendor.hooks)(actInfo.value.startTime).format("HH:mm") || "暂无时间"),
+        m: actInfo.value.type == "0"
+      }, actInfo.value.type == "0" ? {} : {}, {
+        n: ((_b = (_a2 = actInfo.value) == null ? void 0 : _a2.blueInfo) == null ? void 0 : _b.logo) || "/static/qiudui.png",
+        o: common_vendor.t((_d = (_c = actInfo.value) == null ? void 0 : _c.blueInfo) == null ? void 0 : _d.name),
+        p: common_vendor.t(((_f = (_e = actInfo.value) == null ? void 0 : _e.matchInfo) == null ? void 0 : _f.address) || "暂无地址"),
+        q: common_vendor.o(($event) => toActivity(actInfo.value))
+      }), {
+        r: common_vendor.p({
           type: "list",
           size: "18"
         }),
-        i: common_vendor.o(($event) => toInfo({
+        s: common_vendor.o(($event) => toInfo({
           route: "/pagesHome/activity/index"
         })),
-        j: common_vendor.f(menuList.value, (item, index, i0) => {
+        t: common_vendor.f(menuList.value, (item, index, i0) => {
           return {
             a: "b14ffc51-2-" + i0,
             b: common_vendor.p({
@@ -149,41 +182,41 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
             e: common_vendor.o(($event) => toInfo(item), index)
           };
         }),
-        k: common_vendor.t(total.value || 0),
-        l: common_vendor.p({
+        v: common_vendor.t(total.value || 0),
+        w: common_vendor.p({
           pro: 16 / 100,
           border_back_color: "#f1f1f1",
           border_color: "#FF0000",
           content: "16"
         }),
-        m: common_vendor.p({
+        x: common_vendor.p({
           pro: 5 / 100,
           border_back_color: "#f1f1f1",
           border_color: "#35BD7B",
           content: "5"
         }),
-        n: common_vendor.p({
+        y: common_vendor.p({
           pro: 17 / 100,
           border_back_color: "#f1f1f1",
           border_color: "#FFA500",
           content: "17"
         }),
-        o: common_vendor.p({
+        z: common_vendor.p({
           type: "forward",
           size: "25",
           color: "#858585"
         }),
-        p: common_vendor.p({
+        A: common_vendor.p({
           ["custom-prefix"]: "iconfont",
           type: "icon-xiangce",
           size: "20",
           color: "#333333"
         }),
-        q: common_vendor.o(($event) => toInfo({
+        B: common_vendor.o(($event) => toInfo({
           route: "/pagesHome/team/album"
         })),
-        r: common_vendor.f(list.value, (item, index, i0) => {
-          var _a2, _b, _c, _d, _e, _f;
+        C: common_vendor.f(list.value, (item, index, i0) => {
+          var _a3, _b2, _c2, _d2, _e2, _f2;
           return common_vendor.e({
             a: common_vendor.t(common_vendor.unref(common_vendor.hooks)(item.startTime).format("MM-DD") || "暂无日期"),
             b: common_vendor.t(getDayOfWeek(item.startTime)),
@@ -191,21 +224,21 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
             d: common_vendor.n(item.status == "0" ? "status0" : item.status == "1" ? "status1" : item.status == "2" ? "status2" : "status3"),
             e: item.type == "0"
           }, item.type == "0" ? {
-            f: common_vendor.t(((_a2 = item == null ? void 0 : item.matchInfo) == null ? void 0 : _a2.title) || "友谊赛")
+            f: common_vendor.t(((_a3 = item == null ? void 0 : item.matchInfo) == null ? void 0 : _a3.title) || "友谊赛")
           } : {
-            g: common_vendor.t(((_b = item == null ? void 0 : item.leagueInfo) == null ? void 0 : _b.title) || "联赛")
+            g: common_vendor.t(((_b2 = item == null ? void 0 : item.leagueInfo) == null ? void 0 : _b2.title) || "联赛")
           }, {
-            h: common_vendor.t(((_c = item == null ? void 0 : item.redInfo) == null ? void 0 : _c.name) || "暂无红方名称"),
-            i: ((_d = item == null ? void 0 : item.redInfo) == null ? void 0 : _d.logo) || config.value.logoUrl,
+            h: common_vendor.t(((_c2 = item == null ? void 0 : item.redInfo) == null ? void 0 : _c2.name) || "暂无红方名称"),
+            i: ((_d2 = item == null ? void 0 : item.redInfo) == null ? void 0 : _d2.logo) || config.value.logoUrl,
             j: common_vendor.t(item.redScore || 0),
             k: common_vendor.t(item.blueScore || 0),
-            l: ((_e = item == null ? void 0 : item.blueInfo) == null ? void 0 : _e.logo) || config.value.logoUrl,
-            m: common_vendor.t(((_f = item == null ? void 0 : item.blueInfo) == null ? void 0 : _f.name) || "暂无蓝方名称"),
+            l: ((_e2 = item == null ? void 0 : item.blueInfo) == null ? void 0 : _e2.logo) || config.value.logoUrl,
+            m: common_vendor.t(((_f2 = item == null ? void 0 : item.blueInfo) == null ? void 0 : _f2.name) || "暂无蓝方名称"),
             n: index,
             o: common_vendor.o(($event) => toActivity(item), index)
           });
         })
-      };
+      });
     };
   }
 });

File diff ditekan karena terlalu besar
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/team/info.wxml


+ 51 - 1
unpackage/dist/dev/mp-weixin/pagesHome/team/info.wxss

@@ -68,6 +68,56 @@
   font-size: var(--font16Size);
 }
 .content .position .two .two_3.data-v-b14ffc51 {
+  margin: 0 3vw 3vw 3vw;
+  background-color: var(--f9Color);
+}
+.content .position .two .two_3 .active.data-v-b14ffc51 {
+  display: flex;
+}
+.content .position .two .two_3 .active .left.data-v-b14ffc51 {
+  padding: 4vw;
+  background-color: var(--fF0Color);
+  color: var(--mainColor);
+}
+.content .position .two .two_3 .active .left .date1.data-v-b14ffc51 {
+  font-size: var(--font12Size);
+}
+.content .position .two .two_3 .active .left .date2.data-v-b14ffc51 {
+  font-size: var(--font16Size);
+}
+.content .position .two .two_3 .active .right.data-v-b14ffc51 {
+  padding: 3vw;
+  width: 60vw;
+}
+.content .position .two .two_3 .active .right .name.data-v-b14ffc51 {
+  display: flex;
+  align-items: center;
+}
+.content .position .two .two_3 .active .right .name .type.data-v-b14ffc51 {
+  padding: 2px 4px;
+  margin: 0 1vw;
+  border-radius: 2px;
+  font-size: var(--font12Size);
+  color: var(--fF0Color);
+  border: 1px solid var(--fF0Color);
+}
+.content .position .two .two_3 .active .right .name .title.data-v-b14ffc51 {
+  display: flex;
+  align-items: center;
+}
+.content .position .two .two_3 .active .right .name .title .image.data-v-b14ffc51 {
+  margin: 0 2vw;
+  width: 8vw;
+  height: 8vw;
+  border-radius: 8vw;
+  background-color: var(--mainColor);
+}
+.content .position .two .two_3 .active .right .address.data-v-b14ffc51 {
+  margin: 2vw 0;
+  font-size: var(--font14Size);
+  color: var(--f85Color);
+}
+.content .position .two .two_4.data-v-b14ffc51 {
   display: flex;
   align-items: center;
   justify-content: center;
@@ -75,7 +125,7 @@
   font-size: var(--font14Size);
   border-top: 1px solid var(--footColor);
 }
-.content .position .two .two_3 text.data-v-b14ffc51 {
+.content .position .two .two_4 text.data-v-b14ffc51 {
   padding: 0 2vw;
 }
 .content .position .thr.data-v-b14ffc51 {

+ 4 - 2
unpackage/dist/dev/mp-weixin/pagesHome/team/person.js

@@ -54,8 +54,10 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
         });
         const res = await $api(`team/${id.value}`, "GET", {});
         if (res.code === 200) {
-          if (res.data)
+          if (res.data) {
             teamInfo.value = res.data;
+            list.value = res.data.member || [];
+          }
         } else {
           common_vendor.index.showToast({
             title: res.msg || "",
@@ -166,7 +168,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
         f: common_vendor.p({
           ["custom-prefix"]: "iconfont",
           type: "icon-yaoqinghuida",
-          size: "25",
+          size: "20",
           color: "#121212"
         }),
         g: common_vendor.o(toCreate),

File diff ditekan karena terlalu besar
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/team/person.wxml


+ 210 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js

@@ -0,0 +1,210 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "uniCollapseItem",
+  props: {
+    // 列表标题
+    title: {
+      type: String,
+      default: ""
+    },
+    name: {
+      type: [Number, String],
+      default: ""
+    },
+    // 是否禁用
+    disabled: {
+      type: Boolean,
+      default: false
+    },
+    // 是否显示动画
+    showAnimation: {
+      type: Boolean,
+      default: true
+    },
+    // 是否展开
+    open: {
+      type: Boolean,
+      default: false
+    },
+    // 缩略图
+    thumb: {
+      type: String,
+      default: ""
+    },
+    // 标题分隔线显示类型
+    titleBorder: {
+      type: String,
+      default: "auto"
+    },
+    border: {
+      type: Boolean,
+      default: true
+    },
+    showArrow: {
+      type: Boolean,
+      default: true
+    }
+  },
+  data() {
+    const elId = `Uni_${Math.ceil(Math.random() * 1e6).toString(36)}`;
+    return {
+      isOpen: false,
+      isheight: null,
+      height: 0,
+      elId,
+      nameSync: 0
+    };
+  },
+  watch: {
+    open(val) {
+      this.isOpen = val;
+      this.onClick(val, "init");
+    }
+  },
+  updated(e) {
+    this.$nextTick(() => {
+      this.init(true);
+    });
+  },
+  created() {
+    this.collapse = this.getCollapse();
+    this.oldHeight = 0;
+    this.onClick(this.open, "init");
+  },
+  // TODO vue3
+  unmounted() {
+    this.__isUnmounted = true;
+    this.uninstall();
+  },
+  mounted() {
+    if (!this.collapse)
+      return;
+    if (this.name !== "") {
+      this.nameSync = this.name;
+    } else {
+      this.nameSync = this.collapse.childrens.length + "";
+    }
+    if (this.collapse.names.indexOf(this.nameSync) === -1) {
+      this.collapse.names.push(this.nameSync);
+    } else {
+      console.warn(`name 值 ${this.nameSync} 重复`);
+    }
+    if (this.collapse.childrens.indexOf(this) === -1) {
+      this.collapse.childrens.push(this);
+    }
+    this.init();
+  },
+  methods: {
+    init(type) {
+      this.getCollapseHeight(type);
+    },
+    uninstall() {
+      if (this.collapse) {
+        this.collapse.childrens.forEach((item, index) => {
+          if (item === this) {
+            this.collapse.childrens.splice(index, 1);
+          }
+        });
+        this.collapse.names.forEach((item, index) => {
+          if (item === this.nameSync) {
+            this.collapse.names.splice(index, 1);
+          }
+        });
+      }
+    },
+    onClick(isOpen, type) {
+      if (this.disabled)
+        return;
+      this.isOpen = isOpen;
+      if (this.isOpen && this.collapse) {
+        this.collapse.setAccordion(this);
+      }
+      if (type !== "init") {
+        this.collapse.onChange(isOpen, this);
+      }
+    },
+    getCollapseHeight(type, index = 0) {
+      const views = common_vendor.index.createSelectorQuery().in(this);
+      views.select(`#${this.elId}`).fields({
+        size: true
+      }, (data) => {
+        if (index >= 10)
+          return;
+        if (!data) {
+          index++;
+          this.getCollapseHeight(false, index);
+          return;
+        }
+        this.height = data.height;
+        this.isheight = true;
+        if (type)
+          return;
+        this.onClick(this.isOpen, "init");
+      }).exec();
+    },
+    getNvueHwight(type) {
+      dom.getComponentRect(this.$refs["collapse--hook"], (option) => {
+        if (option && option.result && option.size) {
+          this.height = option.size.height;
+          this.isheight = true;
+          if (type)
+            return;
+          this.onClick(this.open, "init");
+        }
+      });
+    },
+    /**
+     * 获取父元素实例
+     */
+    getCollapse(name = "uniCollapse") {
+      let parent = this.$parent;
+      let parentName = parent.$options.name;
+      while (parentName !== name) {
+        parent = parent.$parent;
+        if (!parent)
+          return false;
+        parentName = parent.$options.name;
+      }
+      return parent;
+    }
+  }
+};
+if (!Array) {
+  const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
+  _easycom_uni_icons2();
+}
+const _easycom_uni_icons = () => "../../../uni-icons/components/uni-icons/uni-icons.js";
+if (!Math) {
+  _easycom_uni_icons();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: $props.thumb
+  }, $props.thumb ? {
+    b: $props.thumb
+  } : {}, {
+    c: common_vendor.t($props.title),
+    d: $props.disabled ? 1 : "",
+    e: $props.showArrow
+  }, $props.showArrow ? {
+    f: common_vendor.p({
+      color: $props.disabled ? "#ddd" : "#bbb",
+      size: "14",
+      type: "bottom"
+    }),
+    g: $data.isOpen ? 1 : "",
+    h: $props.showAnimation === true ? 1 : ""
+  } : {}, {
+    i: common_vendor.o(($event) => $options.onClick(!$data.isOpen)),
+    j: $data.isOpen && $props.titleBorder === "auto" ? 1 : "",
+    k: $props.titleBorder !== "none" ? 1 : "",
+    l: $data.elId,
+    m: $data.isheight ? 1 : "",
+    n: $props.border && $data.isOpen ? 1 : "",
+    o: $props.showAnimation ? 1 : "",
+    p: ($data.isOpen ? $data.height : 0) + "px"
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/project/足球比赛/match_applet/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-icons": "../../../uni-icons/components/uni-icons/uni-icons"
+  }
+}

File diff ditekan karena terlalu besar
+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxml


+ 101 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxss

@@ -0,0 +1,101 @@
+/* 水平间距 */
+/* 水平间距 */
+.uni-collapse-item {
+  box-sizing: border-box;
+}
+.uni-collapse-item__title {
+  display: flex;
+  width: 100%;
+  box-sizing: border-box;
+  flex-direction: row;
+  align-items: center;
+  transition: border-bottom-color 0.3s;
+}
+.uni-collapse-item__title-wrap {
+  width: 100%;
+  flex: 1;
+}
+.uni-collapse-item__title-box {
+  padding: 0 15px;
+  display: flex;
+  width: 100%;
+  box-sizing: border-box;
+  flex-direction: row;
+  justify-content: space-between;
+  align-items: center;
+  height: 48px;
+  line-height: 48px;
+  background-color: #fff;
+  color: #303133;
+  font-size: 13px;
+  font-weight: 500;
+}
+.uni-collapse-item__title-box.is-disabled .uni-collapse-item__title-text {
+  color: #999;
+}
+.uni-collapse-item__title.uni-collapse-item-border {
+  border-bottom: 1px solid #ebeef5;
+}
+.uni-collapse-item__title.is-open {
+  border-bottom-color: transparent;
+}
+.uni-collapse-item__title-img {
+  height: 22px;
+  width: 22px;
+  margin-right: 10px;
+}
+.uni-collapse-item__title-text {
+  flex: 1;
+  font-size: 14px;
+  white-space: nowrap;
+  color: inherit;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+.uni-collapse-item__title-arrow {
+  display: flex;
+  box-sizing: border-box;
+  align-items: center;
+  justify-content: center;
+  width: 20px;
+  height: 20px;
+  margin-right: 10px;
+  transform: rotate(0deg);
+}
+.uni-collapse-item__title-arrow-active {
+  transform: rotate(-180deg);
+}
+.uni-collapse-item__wrap {
+  will-change: height;
+  box-sizing: border-box;
+  background-color: #fff;
+  overflow: hidden;
+  position: relative;
+  height: 0;
+}
+.uni-collapse-item__wrap.is--transition {
+  transition-property: height, border-bottom-width;
+  transition-duration: 0.3s;
+  will-change: height;
+}
+.uni-collapse-item__wrap-content {
+  position: absolute;
+  font-size: 13px;
+  color: #303133;
+  border-bottom-color: transparent;
+  border-bottom-style: solid;
+  border-bottom-width: 0;
+}
+.uni-collapse-item__wrap-content.uni-collapse-item--border {
+  border-bottom-width: 1px;
+  border-bottom-color: red;
+  border-bottom-color: #ebeef5;
+}
+.uni-collapse-item__wrap-content.open {
+  position: relative;
+}
+.uni-collapse-item--animation {
+  transition-property: transform;
+  transition-duration: 0.3s;
+  transition-timing-function: ease;
+}

+ 118 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js

@@ -0,0 +1,118 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "uniCollapse",
+  emits: ["change", "activeItem", "input", "update:modelValue"],
+  props: {
+    value: {
+      type: [String, Array],
+      default: ""
+    },
+    modelValue: {
+      type: [String, Array],
+      default: ""
+    },
+    accordion: {
+      // 是否开启手风琴效果
+      type: [Boolean, String],
+      default: false
+    }
+  },
+  data() {
+    return {};
+  },
+  computed: {
+    // TODO 兼容 vue2 和 vue3
+    dataValue() {
+      let value = typeof this.value === "string" && this.value === "" || Array.isArray(this.value) && this.value.length === 0;
+      let modelValue = typeof this.modelValue === "string" && this.modelValue === "" || Array.isArray(this.modelValue) && this.modelValue.length === 0;
+      if (value) {
+        return this.modelValue;
+      }
+      if (modelValue) {
+        return this.value;
+      }
+      return this.value;
+    }
+  },
+  watch: {
+    dataValue(val) {
+      this.setOpen(val);
+    }
+  },
+  created() {
+    this.childrens = [];
+    this.names = [];
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.setOpen(this.dataValue);
+    });
+  },
+  methods: {
+    setOpen(val) {
+      let str = typeof val === "string";
+      let arr = Array.isArray(val);
+      this.childrens.forEach((vm, index) => {
+        if (str) {
+          if (val === vm.nameSync) {
+            if (!this.accordion) {
+              console.warn("accordion 属性为 false ,v-model 类型应该为 array");
+              return;
+            }
+            vm.isOpen = true;
+          }
+        }
+        if (arr) {
+          val.forEach((v) => {
+            if (v === vm.nameSync) {
+              if (this.accordion) {
+                console.warn("accordion 属性为 true ,v-model 类型应该为 string");
+                return;
+              }
+              vm.isOpen = true;
+            }
+          });
+        }
+      });
+      this.emit(val);
+    },
+    setAccordion(self) {
+      if (!this.accordion)
+        return;
+      this.childrens.forEach((vm, index) => {
+        if (self !== vm) {
+          vm.isOpen = false;
+        }
+      });
+    },
+    resize() {
+      this.childrens.forEach((vm, index) => {
+        vm.getCollapseHeight();
+      });
+    },
+    onChange(isOpen, self) {
+      let activeItem = [];
+      if (this.accordion) {
+        activeItem = isOpen ? self.nameSync : "";
+      } else {
+        this.childrens.forEach((vm, index) => {
+          if (vm.isOpen) {
+            activeItem.push(vm.nameSync);
+          }
+        });
+      }
+      this.$emit("change", activeItem);
+      this.emit(activeItem);
+    },
+    emit(val) {
+      this.$emit("input", val);
+      this.$emit("update:modelValue", val);
+    }
+  }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {};
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/project/足球比赛/match_applet/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxml

@@ -0,0 +1 @@
+<view class="uni-collapse"><slot/></view>

+ 8 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxss

@@ -0,0 +1,8 @@
+/* 水平间距 */
+/* 水平间距 */
+.uni-collapse {
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+  background-color: #fff;
+}