Explorar el Código

小程序打分修改

zs hace 7 meses
padre
commit
dddf937b89
Se han modificado 67 ficheros con 1951 adiciones y 426 borrados
  1. 6 0
      config.js
  2. 25 0
      pages.json
  3. 6 0
      pages/my/index.vue
  4. 197 0
      pagesMy/match/add.vue
  5. 420 0
      pagesMy/match/index.vue
  6. 318 0
      pagesMy/match/score.vue
  7. 428 0
      pagesMy/match/sign.vue
  8. 8 0
      static/iconfont-weapp/icon/icon.wxss
  9. 8 0
      static/iconfont-weapp/iconfont-weapp-icon.css
  10. 8 0
      static/iconfont-weapp/iconfont-weapp-icon.wxss
  11. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  12. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  13. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/tabs/index.js.map
  14. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/index.js.map
  15. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  16. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/index.js.map
  17. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/login/index.js.map
  18. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/match/index.js.map
  19. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/match/sign.js.map
  20. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/register/index.js.map
  21. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/about/index.js.map
  22. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/account/basic.js.map
  23. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/account/index.js.map
  24. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/account/password.js.map
  25. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/activity/add.js.map
  26. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/activity/detail.js.map
  27. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/activity/index.js.map
  28. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/agree/index.js.map
  29. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/contact/index.js.map
  30. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map
  31. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js.map
  32. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map
  33. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map
  34. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map
  35. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map
  36. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map
  37. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map
  38. 4 0
      unpackage/dist/dev/mp-weixin/app.json
  39. 6 0
      unpackage/dist/dev/mp-weixin/common/main.wxss
  40. 146 89
      unpackage/dist/dev/mp-weixin/common/vendor.js
  41. 14 14
      unpackage/dist/dev/mp-weixin/components/tabs/index.js
  42. 10 0
      unpackage/dist/dev/mp-weixin/pages/my/index.js
  43. 3 3
      unpackage/dist/dev/mp-weixin/pagesHome/login/index.js
  44. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/match/index.js
  45. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/match/sign.js
  46. 5 5
      unpackage/dist/dev/mp-weixin/pagesHome/register/index.js
  47. 16 16
      unpackage/dist/dev/mp-weixin/pagesMy/about/index.js
  48. 16 16
      unpackage/dist/dev/mp-weixin/pagesMy/account/basic.js
  49. 16 16
      unpackage/dist/dev/mp-weixin/pagesMy/account/index.js
  50. 19 19
      unpackage/dist/dev/mp-weixin/pagesMy/account/password.js
  51. 20 20
      unpackage/dist/dev/mp-weixin/pagesMy/activity/add.js
  52. 17 17
      unpackage/dist/dev/mp-weixin/pagesMy/activity/detail.js
  53. 17 17
      unpackage/dist/dev/mp-weixin/pagesMy/activity/index.js
  54. 16 16
      unpackage/dist/dev/mp-weixin/pagesMy/agree/index.js
  55. 16 16
      unpackage/dist/dev/mp-weixin/pagesMy/contact/index.js
  56. 8 0
      unpackage/dist/dev/mp-weixin/static/iconfont-weapp/icon/icon.wxss
  57. 8 0
      unpackage/dist/dev/mp-weixin/static/iconfont-weapp/iconfont-weapp-icon.css
  58. 8 0
      unpackage/dist/dev/mp-weixin/static/iconfont-weapp/iconfont-weapp-icon.wxss
  59. 16 16
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js
  60. 16 16
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js
  61. 15 15
      unpackage/dist/dev/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js
  62. 14 14
      unpackage/dist/dev/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js
  63. 16 16
      unpackage/dist/dev/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js
  64. 15 15
      unpackage/dist/dev/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js
  65. 15 15
      unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js
  66. 15 15
      unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js
  67. 11 11
      unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.js

+ 6 - 0
config.js

@@ -16,6 +16,12 @@ export default {
 	system: system,
 	share: {},
 	menuList: [{
+			icon: "t-icon-saishi",
+			title: "我的赛事",
+			route: "pagesMy/match/index",
+			type: '0',
+		},
+		{
 			icon: "t-icon-yingyong",
 			title: "我的报名",
 			route: "pagesMy/activity/index",

+ 25 - 0
pages.json

@@ -56,12 +56,37 @@
 		{
 			"root": "pagesMy",
 			"pages": [ //分包
+				{
+					"path": "match/index",
+					"style": {
+						"navigationBarTitleText": "我的赛事"
+					}
+				},
+				{
+					"path": "match/score",
+					"style": {
+						"navigationBarTitleText": "赛事打分"
+					}
+				},
+				{
+					"path": "match/sign",
+					"style": {
+						"navigationBarTitleText": "赛事报名"
+					}
+				},
+				{
+					"path": "match/add",
+					"style": {
+						"navigationBarTitleText": "赛事打分"
+					}
+				},
 				{
 					"path": "activity/index",
 					"style": {
 						"navigationBarTitleText": "我的报名"
 					}
 				},
+
 				{
 					"path": "activity/add",
 					"style": {

+ 6 - 0
pages/my/index.vue

@@ -74,6 +74,12 @@
 			searchOther() {
 				const that = this;
 				let config = that.$config;
+				let isShow = false
+				if (that.user.id) {
+					const hasCompetition = that.user.role.find((f) => f === 'Competition')
+					if (hasCompetition) isShow = true
+				}
+				if (!isShow) config.menuList = config.menuList.filter((f) => f.title !== '我的赛事')
 				that.$set(that, `menuList`, config.menuList);
 			},
 			// 登录或注册

+ 197 - 0
pagesMy/match/add.vue

@@ -0,0 +1,197 @@
+<template>
+	<view class="container main">
+		<view class="one">
+			<uni-forms ref="baseForm" :rules="rules" :modelValue="form" label-width="80px">
+				<uni-forms-item label="流程" required name="matchPath">
+					<uni-data-select v-model="form.matchPath" :localdata="matchPathList"
+						@change="matchPathChange"></uni-data-select>
+				</uni-forms-item>
+				<uni-forms-item label="选手" required name="sign">
+					<uni-data-select v-model="form.sign" :localdata="signList" @change="signChange"></uni-data-select>
+				</uni-forms-item>
+				<uni-forms-item label="分数" required name="score">
+					<uni-easyinput v-model="form.score" placeholder="请输入分数" />
+				</uni-forms-item>
+			</uni-forms>
+			<view class="button">
+				<button type="primary" @click="submit('baseForm')">保存</button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import moment from 'moment';
+	export default {
+		data() {
+			return {
+				id: "",
+				match: "",
+				user: {},
+				form: {
+					sign: "",
+					score: "",
+				},
+				matchPathList: [],
+				signList: [],
+				// 校验规则
+				rules: {
+					sign: {
+						rules: [{
+							required: true,
+							errorMessage: '选手不能为空'
+						}]
+					},
+					score: {
+						rules: [{
+							required: true,
+							errorMessage: '分数不能为空'
+						}]
+					},
+				},
+			}
+		},
+		onLoad: async function(e) {
+			const that = this;
+			that.$set(that, `id`, e && e.id || '');
+			that.$set(that, `match`, e && e.match || '');
+			await that.searchToken();
+			await that.searchOther();
+			await that.search();
+		},
+		methods: {
+			// 用户信息
+			searchToken() {
+				const that = this;
+				try {
+					const res = uni.getStorageSync('token');
+					if (res) {
+						const user = that.$jwt(res);
+						that.$set(that, `user`, user);
+					}
+				} catch (e) {}
+			},
+			async searchOther() {
+				const that = this;
+				let res;
+				// 查询流程
+				res = await that.$api(`/matchPath`, 'GET', {
+					match: that.match,
+					is_use: '0',
+				})
+				if (res.errcode == '0') {
+					for (let val of res.data) {
+						val.text = val.name
+						val.value = val.id
+					}
+					that.$set(that, `matchPathList`, res.data)
+				}
+				// 查询选手
+				res = await that.$api(`/sign`, 'GET', {
+					match: that.match,
+					status: '1',
+				})
+				if (res.errcode == '0') {
+					for (let val of res.data) {
+						val.text = val.name
+						val.value = val.id
+					}
+					that.$set(that, `signList`, res.data)
+				}
+			},
+			// 查询
+			async search() {
+				const that = this;
+				if (that.id) {
+					let res;
+					res = await that.$api(`/score/${that.id}`, 'GET', {})
+					if (res.errcode == '0') {
+						that.$set(that, `form`, res.data)
+					} else {
+						uni.showToast({
+							title: res.errmsg,
+						});
+					}
+				}
+			},
+			// 选择流程
+			matchPathChange(e) {
+				const that = this;
+				let data = that.matchPathList.find(i => i.id == e);;
+				if (data) {
+					that.$set(that.form, `matchPath`, data.id)
+				}
+			},
+			// 选择选手
+			signChange(e) {
+				const that = this;
+				let data = that.signList.find(i => i.id == e);;
+				if (data) {
+					that.$set(that.form, `sign`, data.id)
+				}
+			},
+			// 保存
+			submit(ref) {
+				const that = this;
+				that.$refs[ref].validate().then(async res => {
+					let arr;
+					const data = {
+						match: that.match,
+						time: moment().format('YYYY-MM-DD'),
+					}
+					if (that.id) {
+						arr = await that.$api(`/score/${that.id}`, 'POST', {
+							...res,
+							...data
+						})
+					} else {
+						arr = await that.$api(`/score`, 'POST', {
+							...res,
+							...data
+						})
+					}
+					if (arr.errcode == '0') {
+						uni.showModal({
+							content: "维护成功!",
+							showCancel: false
+						});
+						uni.navigateBack({
+							delta: 1
+						})
+					} else {
+						uni.showToast({
+							title: arr.errmsg,
+						});
+					}
+				}).catch(err => {
+					console.log('err', err);
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.main {
+		padding: 0 3vw;
+
+		.one {
+			.button_remark {
+				margin: 2vw 0;
+				text-indent: 10px;
+				color: var(--fF0Color);
+				font-size: var(--font12Size);
+			}
+
+			.button {
+				margin: 2vw 0 0 0;
+
+				button {
+					background-color: var(--f3CColor);
+					font-size: var(--font14Size);
+					border-radius: 2vw;
+				}
+			}
+		}
+	}
+</style>

+ 420 - 0
pagesMy/match/index.vue

@@ -0,0 +1,420 @@
+<template>
+	<view class="main">
+		<view class="one">
+			<view class="one_1">
+				<input type="text" v-model="searchInfo.name" placeholder="请输入赛事名称">
+			</view>
+			<view class="one_2">
+				<button size="mini" class="button" type="primary" @click="toInput">搜索</button>
+			</view>
+		</view>
+		<view class="two">
+			<tabs :tabs="tabs" @tabsChange="tabsChange">
+				<view class="tabsList">
+					<scroll-view scroll-y="true" class="scroll-view" @scrolltolower="toPage" @scroll="toScroll">
+						<view class="list-scroll-view">
+							<view class="list" v-for="(item, index) in list" :key="index" @tap="toView(item)">
+								<view class="list_1">
+									<image class="image" :src="getUrl(item.file)"></image>
+								</view>
+								<view class="list_2 textOne">{{item.name||'暂无比赛名称'}}</view>
+								<view class="list_3">
+									<view class="list_left">
+										<text class="t-icon t-icon-shizhong"></text>
+										<span>{{getTime(item.start_time,item.end_time)||'暂无'}}</span>
+									</view>
+									<view class="list_left">
+										<text class="t-icon t-icon-zuobiao"></text>
+										<span>{{item.address||'在线活动'}}</span>
+									</view>
+									<view class="list_right"
+										:class="[item.match_status=='0'?'active_1':item.match_status=='1'?'active_2':'active_3']">
+										{{getDict(item.match_status,'status')}}
+									</view>
+								</view>
+								<view class="list_4">
+									<button class="warning" size="mini" type="warn"	@tap.stop="toSign(item)">报名信息</button>
+									<button class="warning" size="mini" type="warn"	@tap.stop="toScore(item)" v-if="item.match_status=='2'">分数列表</button>
+								</view>
+							</view>
+							<view class="is_bottom" v-if="is_bottom">
+								<text>{{config.bottom_title||'到底了!'}}</text>
+							</view>
+						</view>
+					</scroll-view>
+				</view>
+			</tabs>
+		</view>
+	</view>
+</template>
+
+<script>
+	import tabs from '../../components/tabs/index.vue';
+	export default {
+		components: {
+			tabs
+		},
+		data() {
+			return {
+				searchInfo: {},
+				config: {},
+				user: {},
+				tabs: {
+					active: '0',
+					bgColor: '#ffffff',
+					menu: []
+				},
+				list: [],
+				total: 0,
+				skip: 0,
+				limit: 6,
+				page: 0,
+				// 数据是否触底
+				is_bottom: false,
+				scrollTop: 0,
+				statusList: []
+			}
+		},
+		onLoad: async function(e) {
+			const that = this;
+			that.searchToken();
+			that.searchConfig();
+			await that.searchOther();
+		},
+		onShow: async function() {
+			const that = this;
+			that.clearPage();
+			await that.search();
+		},
+		onPullDownRefresh: async function() {
+			const that = this;
+			that.clearPage();
+			await that.search();
+			uni.stopPullDownRefresh();
+		},
+		methods: {
+			searchToken() {
+				const that = this;
+				try {
+					const res = uni.getStorageSync('token');
+					if (res) {
+						const user = that.$jwt(res);
+						that.$set(that, `user`, user);
+					} else {
+						that.$set(that, `user`, {});
+					}
+				} catch (e) {}
+			},
+			searchConfig() {
+				const that = this;
+				try {
+					const res = uni.getStorageSync('config');
+					if (res) that.$set(that, `config`, res);
+				} catch (e) {
+					uni.showToast({
+						title: err.errmsg,
+						icon: 'error',
+						duration: 2000
+					});
+				}
+			},
+			async search() {
+				const that = this;
+				let info = {
+					skip: that.skip,
+					limit: that.limit,
+					status: that.tabs.active,
+					user: that.user.id,
+				}
+				const res = await that.$api(`/match`, 'GET', {
+					...info,
+					...that.searchInfo
+				})
+				if (res.errcode == '0') {
+					let list = [...that.list, ...res.data];
+					that.$set(that, `list`, list)
+					that.$set(that, `total`, res.total)
+				} else {
+					uni.showToast({
+						title: res.errmsg,
+					});
+				}
+			},
+			// 选择选项卡
+			tabsChange(e) {
+				const that = this;
+				that.$set(that.tabs, `active`, e.active)
+				that.clearPage();
+				that.search()
+			},
+			// 查看详情
+			toView(item) {
+				uni.navigateTo({
+					url: `/pagesHome/match/index?id=${item.id||item._id}`
+				})
+			},
+			// 报名信息
+			toSign(item) {
+				uni.navigateTo({
+					url: `/pagesMy/match/sign?id=${item.id||item._id}`
+				})
+			},
+			// 分数列表
+			toScore(item) {
+				uni.navigateTo({
+					url: `/pagesMy/match/score?id=${item.id||item._id}`
+				})
+			},
+			// 输入框
+			toInput() {
+				const that = this;
+				if (!that.searchInfo?.name) that.$set(that, `searchInfo`, {})
+				that.clearPage();
+				that.search();
+			},
+			// 处理时间
+			getTime(start_time, end_time) {
+				if (start_time && end_time) {
+					const start = new Date(start_time);
+					const end = new Date(end_time);
+					const weekdays = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
+					const day = start.getDate();
+					const weekday = weekdays[start.getDay()];
+					const month = start.getMonth();
+					const start_hours = start.getHours();
+					const start_minutes = start.getMinutes();
+					const end_hours = end.getHours();
+					const end_minutes = end.getMinutes();
+					return `${month}/${day < 10 ? '0' + day : day} ${weekday} ${start_hours.toString().padStart(2, '0')}:${start_minutes.toString().padStart(2, '0')} - ${end_hours.toString().padStart(2, '0')}:${end_minutes.toString().padStart(2, '0')} `;
+				}
+			},
+			// 处理字典表
+			getDict(item, model) {
+				const that = this;
+				let res
+				if (model == 'status') res = that.statusList.find(i => i.value == item)
+				if (res) return res.label
+				else return '暂无'
+			},
+			async searchOther() {
+				const that = this;
+				let res;
+				//状态
+				res = await that.$api('/dictData', 'GET', {
+					code: 'examStatus',
+					is_use: '0'
+				})
+				if (res.errcode == '0') {
+					const menu = res.data.map((item) => {
+						if (item.value != '-2') {
+							return {
+								title: item.label,
+								active: item.value
+							}
+						}
+					})
+					that.$set(that.tabs, `menu`, menu)
+				}
+				// 查询状态
+				res = await that.$api(`/dictData`, 'GET', {
+					code: 'matchStatus',
+					is_use: '0',
+				})
+				if (res.errcode == '0') that.$set(that, `statusList`, res.data)
+			},
+			// 图片处理
+			getUrl(e) {
+				const that = this;
+				if (e && e.length > 0) return that.$config.serverFile + e[0].url
+				else return '/static/match.png'
+			},
+			// 分页
+			toPage(e) {
+				const that = this;
+				let list = that.list;
+				let limit = that.limit;
+				if (that.total > list.length) {
+					uni.showLoading({
+						title: '加载中',
+						mask: true
+					})
+					let page = that.page + 1;
+					that.$set(that, `page`, page)
+					let skip = page * limit;
+					that.$set(that, `skip`, skip)
+					that.search();
+					uni.hideLoading();
+				} else that.$set(that, `is_bottom`, true)
+			},
+			toScroll(e) {
+				const that = this;
+				let up = that.scrollTop;
+				that.$set(that, `scrollTop`, e.detail.scrollTop);
+				let num = Math.sign(up - e.detail.scrollTop);
+				if (num == 1) that.$set(that, `is_bottom`, false);
+			},
+			// 清空列表
+			clearPage() {
+				const that = this;
+				that.$set(that, `list`, [])
+				that.$set(that, `skip`, 0)
+				that.$set(that, `limit`, 6)
+				that.$set(that, `page`, 0)
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.main {
+		display: flex;
+		flex-direction: column;
+		width: 100vw;
+		height: 100vh;
+
+		.one {
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			padding: 2vw;
+			background-color: var(--mainColor);
+
+			.one_1 {
+				padding: 0 2vw;
+				width: 75vw;
+
+				input {
+					padding: 2vw;
+					background-color: var(--f1Color);
+					font-size: var(--font14Size);
+					border-radius: 5px;
+				}
+			}
+
+			.one_2 {
+				.button {
+					background-color: var(--f3CColor);
+					color: var(--mainColor);
+				}
+			}
+		}
+
+		.two {
+			background-color: var(--f9Color);
+			margin: 2vw 0 0 0;
+
+			.tabsList {
+				position: relative;
+				width: 100vw;
+				// height: 82vh;
+				height: 90vh;
+
+				.list {
+					background-color: var(--mainColor);
+					padding: 2vw;
+					margin: 2vw 2vw 0 2vw;
+					border-radius: 10px;
+
+					.list_1 {
+						.image {
+							height: 50vw;
+							width: 100%;
+							border-radius: 5px;
+						}
+					}
+
+					.list_2 {
+						margin: 1vw 0;
+						font-weight: bold;
+						font-size: var(--font16Size);
+					}
+
+					.list_3 {
+						display: flex;
+						align-items: center;
+						justify-content: space-between;
+						font-size: var(--font14Size);
+
+						.list_left {
+							display: flex;
+							align-items: center;
+							color: var(--f69Color);
+
+							span {
+								margin: 0 0 0 0.5vw;
+							}
+
+							.t-icon {
+								width: var(--font14Size) !important;
+								height: var(--font14Size) !important;
+							}
+						}
+
+						.list_right {
+							border-radius: 3px;
+							padding: 0 1vw;
+							color: var(--mainColor);
+						}
+
+						.active_1 {
+							background: linear-gradient(to right, #4caf50, #a8f3b2);
+
+						}
+
+						.active_2 {
+							background: linear-gradient(to right, #2196f3, #a2ccec);
+
+						}
+
+						.active_3 {
+							background: linear-gradient(to right, #949698, #c6c9cc);
+
+						}
+					}
+
+					.list_4 {
+						margin: 2vw 0 0 0;
+						text-align: center;
+
+						.warning {
+							background: var(--f3CColor);
+						}
+
+						.danger {
+							background: var(--fF0Color);
+						}
+
+						button {
+							margin: 0 1vw 0 0;
+						}
+					}
+				}
+			}
+		}
+	}
+
+	.scroll-view {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+
+		.list-scroll-view {
+			display: flex;
+			flex-direction: column;
+		}
+	}
+
+	.is_bottom {
+		width: 100%;
+		text-align: center;
+
+		text {
+			padding: 2vw 0;
+			display: inline-block;
+			color: var(--f85Color);
+			font-size: var(--font14Size);
+		}
+	}
+</style>

+ 318 - 0
pagesMy/match/score.vue

@@ -0,0 +1,318 @@
+<template>
+	<view class="container main">
+		<view class="one">
+			<view class="one_1">
+				<input type="text" v-model="searchInfo.name" placeholder="请输入名称" @blur="toInput">
+			</view>
+			<view class="one_2">
+				<button size="mini" class="button" type="primary" @click="toAdd">添加</button>
+			</view>
+		</view>
+		<view class="two">
+			<scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-view" @scrolltolower="toPage"
+				@scroll="toScroll">
+				<view class="list-scroll-view">
+					<view class="list" v-for="(item, index) in list" :key="index">
+						<view class="value">
+							<view class="title">流程名称:</view>
+							<view class="label">{{item.matchPath_name||'暂无'}}</view>
+						</view>
+						<view class="value">
+							<view class="title">选手名称:</view>
+							<view class="label">{{item.sign_name||'暂无'}}</view>
+						</view>
+						<view class="value">
+							<view class="title">分数:</view>
+							<view class="label">{{item.score||'暂无'}}</view>
+						</view>
+						<view class="value">
+							<view class="title">时间:</view>
+							<view class="label">{{item.time||'暂无'}}</view>
+						</view>
+						<view class="bottom">
+							<button class="button button_1" type="default" size="mini"
+								@tap.stop="toEdit(item)">修改</button>
+							<button class="button button_2" type="default" size="mini"
+								@tap.stop="toDelete(item)">删除</button>
+						</view>
+					</view>
+					<view class="is_bottom" v-if="is_bottom">
+						<text>{{config.bottom_title||'到底了!'}}</text>
+					</view>
+				</view>
+			</scroll-view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				id: '',
+				user: {},
+				config: {},
+				searchInfo: {},
+				list: [],
+				total: 0,
+				skip: 0,
+				limit: 5,
+				page: 0,
+				// 数据是否触底
+				is_bottom: false,
+				scrollTop: 0,
+			}
+		},
+		onLoad: async function(e) {
+			const that = this;
+			that.$set(that, `id`, e && e.id || '');
+			await that.searchToken();
+			await that.searchConfig();
+		},
+		onShow: async function() {
+			const that = this;
+			that.clearPage();
+			await that.search();
+		},
+		onPullDownRefresh: async function() {
+			const that = this;
+			that.clearPage();
+			await that.search();
+			uni.stopPullDownRefresh();
+		},
+		methods: {
+			// 用户信息
+			searchToken() {
+				const that = this;
+				try {
+					const res = uni.getStorageSync('token');
+					if (res) {
+						const user = that.$jwt(res);
+						that.$set(that, `user`, user);
+					}
+				} catch (e) {}
+			},
+			searchConfig() {
+				const that = this;
+				try {
+					const res = uni.getStorageSync('config');
+					if (res) that.$set(that, `config`, res);
+				} catch (e) {}
+			},
+			// 查询
+			async search() {
+				const that = this;
+				let info = {
+					skip: that.skip,
+					limit: that.limit,
+					match: that.id,
+				}
+				const res = await that.$api(`/score/list`, 'GET', {
+					...info,
+					...that.searchInfo
+				})
+				if (res.errcode == '0') {
+					let list = [...that.list, ...res.data];
+					that.$set(that, `list`, list)
+					that.$set(that, `total`, res.total)
+				} else {
+					uni.showToast({
+						title: res.errmsg,
+						icon: 'none'
+					});
+				}
+			},
+			// 输入框
+			toInput() {
+				const that = this;
+				if (!that.searchInfo.name) that.$set(that, `searchInfo`, {})
+				that.clearPage();
+				that.search();
+			},
+			// 添加
+			toAdd() {
+				const that = this;
+				uni.navigateTo({
+					url: `/pagesMy/match/add?match=${that.id}`
+				})
+			},
+			// 修改
+			toEdit(item) {
+				const that = this;
+				uni.navigateTo({
+					url: `/pagesMy/match/add?id=${item.id || item._id}&match=${that.id}`
+				})
+			},
+			// 删除
+			async toDelete(item) {
+				const that = this;
+				uni.showModal({
+					title: '提示',
+					content: '确定删除该打分吗?',
+					success: async function(res) {
+						if (res.confirm) {
+							const arr = await that.$api(`/score/${item.id}`, 'DELETE');
+							if (arr.errcode == '0') {
+								uni.showToast({
+									title: '删除信息成功',
+									icon: 'none'
+								})
+								await that.clearPage()
+								await that.search()
+							} else {
+								uni.showToast({
+									title: arr.errmsg,
+									icon: 'none'
+								})
+							}
+						}
+					}
+				});
+			},
+			// 分页
+			toPage(e) {
+				const that = this;
+				let list = that.list;
+				let limit = that.limit;
+				if (that.total > list.length) {
+					uni.showLoading({
+						title: '加载中',
+						mask: true
+					})
+					let page = that.page + 1;
+					that.$set(that, `page`, page)
+					let skip = page * limit;
+					that.$set(that, `skip`, skip)
+					that.search();
+					uni.hideLoading();
+				} else that.$set(that, `is_bottom`, true)
+			},
+			toScroll(e) {
+				const that = this;
+				let up = that.scrollTop;
+				let num = Math.sign(up - e.detail.scrollTop);
+				if (num == 1) that.$set(that, `is_bottom`, false);
+				// 检查滚动位置是否达到div显示的条件
+				if (e.detail.scrollTop >= 300 && !that.showDiv) {
+					that.showDiv = true;
+				} else if (e.detail.scrollTop < 300 && that.showDiv) {
+					that.showDiv = false;
+				}
+			},
+			// 清空列表
+			clearPage() {
+				const that = this;
+				that.$set(that, `list`, [])
+				that.$set(that, `skip`, 0)
+				that.$set(that, `limit`, 5)
+				that.$set(that, `page`, 0)
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.main {
+		.one {
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			padding: 2vw;
+			background-color: var(--mainColor);
+
+			.one_1 {
+				padding: 0 2vw;
+				width: 75vw;
+
+				input {
+					padding: 2vw;
+					background-color: var(--f1Color);
+					font-size: var(--font14Size);
+					border-radius: 5px;
+				}
+			}
+
+			.one_2 {
+				.button {
+					background-color: var(--f3CColor);
+					color: var(--mainColor);
+				}
+			}
+		}
+
+		.two {
+			position: relative;
+			flex-grow: 1;
+			background-color: var(--f1Color);
+
+			.list {
+				background-color: var(--mainColor);
+				border-bottom: 1px solid var(--f5Color);
+				margin: 2vw 2vw 0 2vw;
+				border-radius: 4px;
+				padding: 3vw;
+
+
+				.value {
+					display: flex;
+					align-items: center;
+
+					.title {
+						font-size: var(--font14Size);
+						font-weight: bold;
+					}
+
+					.label {
+						font-size: var(--font12Size);
+						color: var(--f85Color);
+					}
+				}
+
+				.bottom {
+					margin: 2vw 0 0 0;
+					text-align: center;
+
+					.button {
+						color: var(--mainColor);
+						font-size: var(--font14Size);
+						border-radius: 2vw;
+					}
+
+					.button_1 {
+						margin: 0 2vw 0 0;
+						background-color: var(--f3CColor);
+					}
+
+					.button_2 {
+						background-color: var(--fF0Color);
+					}
+				}
+			}
+		}
+	}
+
+	.scroll-view {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+
+		.list-scroll-view {
+			display: flex;
+			flex-direction: column;
+		}
+	}
+
+	.is_bottom {
+		width: 100%;
+		text-align: center;
+
+		text {
+			padding: 2vw 0;
+			display: inline-block;
+			color: var(--f85Color);
+			font-size: var(--font14Size);
+		}
+	}
+</style>

+ 428 - 0
pagesMy/match/sign.vue

@@ -0,0 +1,428 @@
+<template>
+	<view class="container main">
+		<view class="one">
+			<view class="one_1">
+				<input type="text" v-model="searchInfo.name" placeholder="请输入姓名">
+			</view>
+			<view class="one_2">
+				<button size="mini" class="button" type="primary" @click="toInput">搜索</button>
+			</view>
+		</view>
+		<view class="two">
+			<scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-view" @scrolltolower="toPage"
+				@scroll="toScroll">
+				<view class="list-scroll-view">
+					<view class="list" v-for="(item, index) in list" :key="index">
+						<view class="value">
+							<view class="title">姓名:</view>
+							<view class="label">{{item.name||'暂无'}}</view>
+						</view>
+						<view class="value">
+							<view class="title">手机号:</view>
+							<view class="label">{{item.phone||'暂无'}}</view>
+						</view>
+						<view class="value">
+							<view class="title">身份证号:</view>
+							<view class="label">{{item.card||'暂无'}}</view>
+						</view>
+						<view class="value">
+							<view class="title">电子邮箱:</view>
+							<view class="label">{{item.email||'暂无'}}</view>
+						</view>
+						<view class="value">
+							<view class="title">微信/QQ:</view>
+							<view class="label">{{item.communication||'暂无'}}</view>
+						</view>
+						<view class="value">
+							<view class="title">报名时间:</view>
+							<view class="label">{{item.time||'暂无'}}</view>
+						</view>
+						<view class="bottom">
+							<button v-if="item.status=='0'" class="button button_2" type="default" size="mini"
+								@tap.stop="toExam(item)">审核</button>
+						</view>
+					</view>
+					<view class="is_bottom" v-if="is_bottom">
+						<text>{{config.bottom_title||'到底了!'}}</text>
+					</view>
+				</view>
+			</scroll-view>
+		</view>
+		<uni-popup ref="popup" background-color="#fff" type="center" :is-mask-click="false" @change="change">
+			<view class="popup">
+				<view class="close">
+					<text>审核信息</text>
+					<text @click="toClose" class="t-icon t-icon-guanbi"></text>
+				</view>
+				<view class="info_1">
+					<uni-forms ref="baseForm" :rules="rules" :modelValue="form" label-width="80px">
+						<uni-forms-item label="审核状态" required name="status">
+							<uni-data-select v-model="form.status" :localdata="statusList"
+								@change="statusChange"></uni-data-select>
+						</uni-forms-item>
+					</uni-forms>
+					<view class="button">
+						<button type="primary" @click="submit('baseForm')">保存</button>
+					</view>
+				</view>
+			</view>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				id: '',
+				user: {},
+				config: {},
+				searchInfo: {},
+				list: [],
+				total: 0,
+				skip: 0,
+				limit: 5,
+				page: 0,
+				// 数据是否触底
+				is_bottom: false,
+				scrollTop: 0,
+				statusList: [],
+				// 禁止滚动穿透
+				show: false,
+				form: {
+					status: "",
+				},
+				// 校验规则
+				rules: {
+					status: {
+						rules: [{
+							required: true,
+							errorMessage: '状态不能为空'
+						}]
+					}
+				}
+			}
+		},
+		onLoad: async function(e) {
+			const that = this;
+			that.$set(that, `id`, e && e.id || '');
+			await that.searchToken();
+			await that.searchConfig();
+			await that.searchOther();
+		},
+		onShow: async function() {
+			const that = this;
+			that.clearPage();
+			await that.search();
+		},
+		onPullDownRefresh: async function() {
+			const that = this;
+			that.clearPage();
+			await that.search();
+			uni.stopPullDownRefresh();
+		},
+		methods: {
+			// 禁止滚动穿透
+			change(e) {
+				const that = this;
+				that.show = e.show
+			},
+			// 用户信息
+			searchToken() {
+				const that = this;
+				try {
+					const res = uni.getStorageSync('token');
+					if (res) {
+						const user = that.$jwt(res);
+						that.$set(that, `user`, user);
+					}
+				} catch (e) {}
+			},
+			searchConfig() {
+				const that = this;
+				try {
+					const res = uni.getStorageSync('config');
+					if (res) that.$set(that, `config`, res);
+				} catch (e) {}
+			},
+			async searchOther() {
+				const that = this;
+				let res;
+				// 查询证件类型
+				res = await that.$api(`/dictData`, 'GET', {
+					code: 'examStatus',
+					is_use: '0',
+				})
+				if (res.errcode == '0') {
+					for (let val of res.data) {
+						val.text = val.label
+						val.value = val.value
+					}
+					that.$set(that, `statusList`, res.data)
+				}
+			},
+			// 查询
+			async search() {
+				const that = this;
+				let info = {
+					skip: that.skip,
+					limit: that.limit,
+					match: that.id,
+				}
+				const res = await that.$api(`/sign`, 'GET', {
+					...info,
+					...that.searchInfo
+				})
+				if (res.errcode == '0') {
+					let list = [...that.list, ...res.data];
+					that.$set(that, `list`, list)
+					that.$set(that, `total`, res.total)
+				} else {
+					uni.showToast({
+						title: res.errmsg,
+						icon: 'none'
+					});
+				}
+			},
+			// 输入框
+			toInput() {
+				const that = this;
+				if (!that.searchInfo.name) that.$set(that, `searchInfo`, {})
+				that.clearPage();
+				that.search();
+			},
+			// 修改
+			toView(item) {
+				const that = this;
+				console.log(item);
+			},
+			// 审核
+			toExam(item) {
+				const that = this;
+				that.$set(that, `form`, item)
+				that.$refs.popup.open('center')
+			},
+			// 选择状态
+			statusChange(e) {
+				const that = this;
+				let data = that.statusList.find(i => i.value == e);;
+				if (data) {
+					that.$set(that.form, `status`, data.value)
+				}
+			},
+			// 保存
+			submit(ref) {
+				const that = this;
+				that.$refs[ref].validate().then(async res => {
+					let arr = await that.$api(`/sign/${that.id}`, 'POST', res)
+					if (arr.errcode == '0') {
+						uni.showModal({
+							content: "审核成功!",
+							showCancel: false
+						});
+						that.toClose()
+					} else {
+						uni.showToast({
+							title: arr.errmsg,
+						});
+					}
+				}).catch(err => {
+					console.log('err', err);
+				})
+			},
+			// 关闭弹框
+			toClose() {
+				const that = this;
+				that.$set(that, `form`, {});
+				that.$refs.popup.close();
+			},
+			// 分页
+			toPage(e) {
+				const that = this;
+				let list = that.list;
+				let limit = that.limit;
+				if (that.total > list.length) {
+					uni.showLoading({
+						title: '加载中',
+						mask: true
+					})
+					let page = that.page + 1;
+					that.$set(that, `page`, page)
+					let skip = page * limit;
+					that.$set(that, `skip`, skip)
+					that.search();
+					uni.hideLoading();
+				} else that.$set(that, `is_bottom`, true)
+			},
+			toScroll(e) {
+				const that = this;
+				let up = that.scrollTop;
+				let num = Math.sign(up - e.detail.scrollTop);
+				if (num == 1) that.$set(that, `is_bottom`, false);
+				// 检查滚动位置是否达到div显示的条件
+				if (e.detail.scrollTop >= 300 && !that.showDiv) {
+					that.showDiv = true;
+				} else if (e.detail.scrollTop < 300 && that.showDiv) {
+					that.showDiv = false;
+				}
+			},
+			// 清空列表
+			clearPage() {
+				const that = this;
+				that.$set(that, `list`, [])
+				that.$set(that, `skip`, 0)
+				that.$set(that, `limit`, 5)
+				that.$set(that, `page`, 0)
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.main {
+		.one {
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			padding: 2vw;
+			background-color: var(--mainColor);
+
+			.one_1 {
+				padding: 0 2vw;
+				width: 75vw;
+
+				input {
+					padding: 2vw;
+					background-color: var(--f1Color);
+					font-size: var(--font14Size);
+					border-radius: 5px;
+				}
+			}
+
+			.one_2 {
+				.button {
+					background-color: var(--f3CColor);
+					color: var(--mainColor);
+				}
+			}
+		}
+
+		.two {
+			position: relative;
+			flex-grow: 1;
+			background-color: var(--f1Color);
+
+			.list {
+				background-color: var(--mainColor);
+				border-bottom: 1px solid var(--f5Color);
+				margin: 2vw 2vw 0 2vw;
+				border-radius: 4px;
+				padding: 3vw;
+
+
+				.value {
+					display: flex;
+					align-items: center;
+
+					.title {
+						font-size: var(--font14Size);
+						font-weight: bold;
+					}
+
+					.label {
+						font-size: var(--font12Size);
+						color: var(--f85Color);
+					}
+				}
+
+				.bottom {
+					margin: 2vw 0 0 0;
+					text-align: center;
+
+					.button {
+						color: var(--mainColor);
+						font-size: var(--font14Size);
+						border-radius: 2vw;
+					}
+
+					.button_1 {
+						margin: 0 2vw 0 0;
+						background-color: var(--f3CColor);
+					}
+
+					.button_2 {
+						background-color: var(--fF0Color);
+					}
+				}
+			}
+		}
+	}
+
+	.scroll-view {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+
+		.list-scroll-view {
+			display: flex;
+			flex-direction: column;
+		}
+	}
+
+	.is_bottom {
+		width: 100%;
+		text-align: center;
+
+		text {
+			padding: 2vw 0;
+			display: inline-block;
+			color: var(--f85Color);
+			font-size: var(--font14Size);
+		}
+	}
+
+	.uni-popup {
+		z-index: 9999 !important;
+	}
+
+	.popup {
+		display: flex;
+		flex-direction: column;
+		width: 90vw;
+		height: 30vh;
+		padding: 2vw;
+		background-color: var(--mainColor);
+
+
+		.close {
+			display: flex;
+			justify-content: space-between;
+			padding: 2vw;
+
+			text:first-child {
+				font-size: var(--font16Size);
+				font-weight: bold;
+			}
+		}
+
+		.info_1 {
+			position: relative;
+			display: flex;
+			flex-direction: column;
+			height: 20vh;
+			padding: 2vw;
+
+			.button {
+				margin: 2vw 0 0 0;
+
+				button {
+					background-color: var(--f3CColor);
+					font-size: var(--font14Size);
+					border-radius: 2vw;
+				}
+			}
+		}
+	}
+</style>

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 8 - 0
static/iconfont-weapp/icon/icon.wxss


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 8 - 0
static/iconfont-weapp/iconfont-weapp-icon.css


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 8 - 0
static/iconfont-weapp/iconfont-weapp-icon.wxss


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/tabs/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/login/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/match/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/match/sign.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/register/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/about/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/account/basic.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/account/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/account/password.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/activity/add.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/activity/detail.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/activity/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/agree/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesMy/contact/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map


+ 4 - 0
unpackage/dist/dev/mp-weixin/app.json

@@ -17,6 +17,10 @@
     {
       "root": "pagesMy",
       "pages": [
+        "match/index",
+        "match/score",
+        "match/sign",
+        "match/add",
         "activity/index",
         "activity/add",
         "activity/detail",

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 6 - 0
unpackage/dist/dev/mp-weixin/common/main.wxss


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 146 - 89
unpackage/dist/dev/mp-weixin/common/vendor.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 14 - 14
unpackage/dist/dev/mp-weixin/components/tabs/index.js


+ 10 - 0
unpackage/dist/dev/mp-weixin/pages/my/index.js

@@ -264,6 +264,16 @@ var _default = {
     searchOther: function searchOther() {
       var that = this;
       var config = that.$config;
+      var isShow = false;
+      if (that.user.id) {
+        var hasCompetition = that.user.role.find(function (f) {
+          return f === 'Competition';
+        });
+        if (hasCompetition) isShow = true;
+      }
+      if (!isShow) config.menuList = config.menuList.filter(function (f) {
+        return f.title !== '我的赛事';
+      });
       that.$set(that, "menuList", config.menuList);
     },
     // 登录或注册

+ 3 - 3
unpackage/dist/dev/mp-weixin/pagesHome/login/index.js

@@ -101,13 +101,13 @@ var components
 try {
   components = {
     uniForms: function () {
-      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms/uni-forms */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms/uni-forms")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms/uni-forms.vue */ 339))
+      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms/uni-forms */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms/uni-forms")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms/uni-forms.vue */ 371))
     },
     uniFormsItem: function () {
-      return __webpack_require__.e(/*! import() | uni_modules/uni-forms/components/uni-forms-item/uni-forms-item */ "uni_modules/uni-forms/components/uni-forms-item/uni-forms-item").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue */ 348))
+      return __webpack_require__.e(/*! import() | uni_modules/uni-forms/components/uni-forms-item/uni-forms-item */ "uni_modules/uni-forms/components/uni-forms-item/uni-forms-item").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue */ 380))
     },
     uniEasyinput: function () {
-      return __webpack_require__.e(/*! import() | uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput */ "uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue */ 355))
+      return __webpack_require__.e(/*! import() | uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput */ "uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue */ 387))
     },
   }
 } catch (e) {

+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/match/index.js

@@ -101,7 +101,7 @@ var components
 try {
   components = {
     uniPopup: function () {
-      return __webpack_require__.e(/*! import() | uni_modules/uni-popup/components/uni-popup/uni-popup */ "uni_modules/uni-popup/components/uni-popup/uni-popup").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-popup/components/uni-popup/uni-popup.vue */ 316))
+      return __webpack_require__.e(/*! import() | uni_modules/uni-popup/components/uni-popup/uni-popup */ "uni_modules/uni-popup/components/uni-popup/uni-popup").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-popup/components/uni-popup/uni-popup.vue */ 348))
     },
   }
 } catch (e) {

+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/match/sign.js

@@ -130,7 +130,7 @@ var components
 try {
   components = {
     uniDataCheckbox: function () {
-      return Promise.all(/*! import() | uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue */ 323))
+      return Promise.all(/*! import() | uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue */ 355))
     },
   }
 } catch (e) {

+ 5 - 5
unpackage/dist/dev/mp-weixin/pagesHome/register/index.js

@@ -101,19 +101,19 @@ var components
 try {
   components = {
     uniForms: function () {
-      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms/uni-forms */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms/uni-forms")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms/uni-forms.vue */ 339))
+      return Promise.all(/*! import() | uni_modules/uni-forms/components/uni-forms/uni-forms */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-forms/components/uni-forms/uni-forms")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms/uni-forms.vue */ 371))
     },
     uniFormsItem: function () {
-      return __webpack_require__.e(/*! import() | uni_modules/uni-forms/components/uni-forms-item/uni-forms-item */ "uni_modules/uni-forms/components/uni-forms-item/uni-forms-item").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue */ 348))
+      return __webpack_require__.e(/*! import() | uni_modules/uni-forms/components/uni-forms-item/uni-forms-item */ "uni_modules/uni-forms/components/uni-forms-item/uni-forms-item").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue */ 380))
     },
     uniEasyinput: function () {
-      return __webpack_require__.e(/*! import() | uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput */ "uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue */ 355))
+      return __webpack_require__.e(/*! import() | uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput */ "uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue */ 387))
     },
     uniDataCheckbox: function () {
-      return Promise.all(/*! import() | uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue */ 323))
+      return Promise.all(/*! import() | uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue */ 355))
     },
     uniDataSelect: function () {
-      return Promise.all(/*! import() | uni_modules/uni-data-select/components/uni-data-select/uni-data-select */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-data-select/components/uni-data-select/uni-data-select")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue */ 362))
+      return Promise.all(/*! import() | uni_modules/uni-data-select/components/uni-data-select/uni-data-select */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-data-select/components/uni-data-select/uni-data-select")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue */ 394))
     },
   }
 } catch (e) {

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 16 - 16
unpackage/dist/dev/mp-weixin/pagesMy/about/index.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 16 - 16
unpackage/dist/dev/mp-weixin/pagesMy/account/basic.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 16 - 16
unpackage/dist/dev/mp-weixin/pagesMy/account/index.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 19 - 19
unpackage/dist/dev/mp-weixin/pagesMy/account/password.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 20 - 20
unpackage/dist/dev/mp-weixin/pagesMy/activity/add.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 17 - 17
unpackage/dist/dev/mp-weixin/pagesMy/activity/detail.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 17 - 17
unpackage/dist/dev/mp-weixin/pagesMy/activity/index.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 16 - 16
unpackage/dist/dev/mp-weixin/pagesMy/agree/index.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 16 - 16
unpackage/dist/dev/mp-weixin/pagesMy/contact/index.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 8 - 0
unpackage/dist/dev/mp-weixin/static/iconfont-weapp/icon/icon.wxss


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 8 - 0
unpackage/dist/dev/mp-weixin/static/iconfont-weapp/iconfont-weapp-icon.css


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 8 - 0
unpackage/dist/dev/mp-weixin/static/iconfont-weapp/iconfont-weapp-icon.wxss


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 16 - 16
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 16 - 16
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 15 - 15
unpackage/dist/dev/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 14 - 14
unpackage/dist/dev/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 16 - 16
unpackage/dist/dev/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 15 - 15
unpackage/dist/dev/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 15 - 15
unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 15 - 15
unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 11 - 11
unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.js