Bläddra i källkod

修改城市选择

zs 1 år sedan
förälder
incheckning
0ef076bb77
33 ändrade filer med 1343 tillägg och 16474 borttagningar
  1. 1 3
      common/api.js
  2. 64 0
      common/cityData.js
  3. 67 0
      common/hotData.js
  4. 0 8164
      components/cityPicker.vue
  5. 12 0
      pages.json
  6. 224 0
      pagesHome/city/index.vue
  7. 181 13
      pagesHome/match/index.vue
  8. 35 31
      pagesHome/team/index.vue
  9. 21 13
      pagesMy/basic/index.vue
  10. 1 0
      unpackage/dist/dev/mp-weixin/app.js
  11. 1 0
      unpackage/dist/dev/mp-weixin/app.json
  12. 1 3
      unpackage/dist/dev/mp-weixin/common/api.js
  13. 274 0
      unpackage/dist/dev/mp-weixin/common/cityData.js
  14. 70 0
      unpackage/dist/dev/mp-weixin/common/hotData.js
  15. 0 39
      unpackage/dist/dev/mp-weixin/common/vendor.js
  16. 0 7948
      unpackage/dist/dev/mp-weixin/components/cityPicker.js
  17. 0 4
      unpackage/dist/dev/mp-weixin/components/cityPicker.json
  18. 0 1
      unpackage/dist/dev/mp-weixin/components/cityPicker.wxml
  19. 0 179
      unpackage/dist/dev/mp-weixin/components/cityPicker.wxss
  20. 80 0
      unpackage/dist/dev/mp-weixin/pagesHome/city/index.js
  21. 10 0
      unpackage/dist/dev/mp-weixin/pagesHome/city/index.json
  22. 1 0
      unpackage/dist/dev/mp-weixin/pagesHome/city/index.wxml
  23. 94 0
      unpackage/dist/dev/mp-weixin/pagesHome/city/index.wxss
  24. 88 6
      unpackage/dist/dev/mp-weixin/pagesHome/match/index.js
  25. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/match/index.wxml
  26. 44 4
      unpackage/dist/dev/mp-weixin/pagesHome/match/index.wxss
  27. 35 30
      unpackage/dist/dev/mp-weixin/pagesHome/team/index.js
  28. 1 3
      unpackage/dist/dev/mp-weixin/pagesHome/team/index.json
  29. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/team/index.wxml
  30. 32 27
      unpackage/dist/dev/mp-weixin/pagesMy/basic/index.js
  31. 1 3
      unpackage/dist/dev/mp-weixin/pagesMy/basic/index.json
  32. 1 1
      unpackage/dist/dev/mp-weixin/pagesMy/basic/index.wxml
  33. 2 0
      unpackage/dist/dev/mp-weixin/pagesMy/basic/index.wxss

+ 1 - 3
common/api.js

@@ -54,9 +54,7 @@ export const requestFile = (uri, method, data, type) => {
 			url: baseUrl,
 			filePath: data,
 			name: method || 'file',
-			header: {
-				Authorization: "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjU1MjI1MzAyLTZlNmYtNDg3ZS1hYTgzLTM5Yzc3M2RmOGVmYyJ9.h3PrqqCYCXZ9E1r9o80maaGJSLz84ghf2zMhoiuCLti-WviFZOuCNA5eMiPPDRXrOF4ES4j7h2LRqp6rIfWL2w",
-			},
+			header: {},
 			success: (res) => {
 				let data = JSON.parse(res.data);
 				if (data.code != 200) {

+ 64 - 0
common/cityData.js

@@ -0,0 +1,64 @@
+export default {
+	"a": ["北京市", "天津市", "河北省", "山西省", "内蒙古自治区", "辽宁省", "吉林省", "黑龙江省", "上海市", "江苏省", "浙江省", "安徽省", "福建省", "江西省", "山东省",
+		"河南省", "湖北省", "湖南省", "广东省", "广西壮族自治区", "海南省", "重庆市", "四川省", "贵州省", "云南省", "西藏自治区", "陕西省", "甘肃省", "青海省",
+		"宁夏回族自治区", "新疆维吾尔自治区", "台湾省", "香港特别行政区", "澳门特别行政区"
+	],
+	"o": {
+		"0": ["北京市"],
+		"1": ["天津市"],
+		"2": ["石家庄市", "唐山市", "秦皇岛市", "邯郸市", "邢台市", "保定市", "张家口市", "承德市", "沧州市", "廊坊市", "衡水市", "省直辖县级行政区划"],
+		"3": ["太原市", "大同市", "阳泉市", "长治市", "晋城市", "朔州市", "晋中市", "运城市", "忻州市", "临汾市", "吕梁市"],
+		"4": ["呼和浩特市", "包头市", "乌海市", "赤峰市", "通辽市", "鄂尔多斯市", "呼伦贝尔市", "巴彦淖尔市", "乌兰察布市", "兴安盟", "锡林郭勒盟", "阿拉善盟"],
+		"5": ["沈阳市", "大连市", "鞍山市", "抚顺市", "本溪市", "丹东市", "锦州市", "营口市", "阜新市", "辽阳市", "盘锦市", "铁岭市", "朝阳市", "葫芦岛市"],
+		"6": ["长春市", "吉林市", "四平市", "辽源市", "通化市", "白山市", "松原市", "白城市", "延边朝鲜族自治州"],
+		"7": ["哈尔滨市", "齐齐哈尔市", "鸡西市", "鹤岗市", "双鸭山市", "大庆市", "伊春市", "佳木斯市", "七台河市", "牡丹江市", "黑河市", "绥化市", "大兴安岭地区"],
+		"8": ["上海市"],
+		"9": ["南京市", "无锡市", "徐州市", "常州市", "苏州市", "南通市", "连云港市", "淮安市", "盐城市", "扬州市", "镇江市", "泰州市", "宿迁市"],
+		"10": ["杭州市", "宁波市", "温州市", "嘉兴市", "湖州市", "绍兴市", "金华市", "衢州市", "舟山市", "台州市", "丽水市"],
+		"11": ["合肥市", "芜湖市", "蚌埠市", "淮南市", "马鞍山市", "淮北市", "铜陵市", "安庆市", "黄山市", "滁州市", "阜阳市", "宿州市", "六安市", "亳州市", "池州市",
+			"宣城市"
+		],
+		"12": ["福州市", "厦门市", "莆田市", "三明市", "泉州市", "漳州市", "南平市", "龙岩市", "宁德市"],
+		"13": ["南昌市", "景德镇市", "萍乡市", "九江市", "新余市", "鹰潭市", "赣州市", "吉安市", "宜春市", "抚州市", "上饶市"],
+		"14": ["济南市", "青岛市", "淄博市", "枣庄市", "东营市", "烟台市", "潍坊市", "济宁市", "泰安市", "威海市", "日照市", "莱芜市", "临沂市", "德州市", "聊城市",
+			"滨州市", "菏泽市"
+		],
+		"15": ["郑州市", "开封市", "洛阳市", "平顶山市", "安阳市", "鹤壁市", "新乡市", "焦作市", "濮阳市", "许昌市", "漯河市", "三门峡市", "南阳市", "商丘市",
+			"信阳市", "周口市", "驻马店市", "省直辖县级行政区划"
+		],
+		"16": ["武汉市", "黄石市", "十堰市", "宜昌市", "襄阳市", "鄂州市", "荆门市", "孝感市", "荆州市", "黄冈市", "咸宁市", "随州市", "恩施土家族苗族自治州",
+			"省直辖县级行政区划"
+		],
+		"17": ["长沙市", "株洲市", "湘潭市", "衡阳市", "邵阳市", "岳阳市", "常德市", "张家界市", "益阳市", "郴州市", "永州市", "怀化市", "娄底市",
+			"湘西土家族苗族自治州"
+		],
+		"18": ["广州市", "韶关市", "深圳市", "珠海市", "汕头市", "佛山市", "江门市", "湛江市", "茂名市", "肇庆市", "惠州市", "梅州市", "汕尾市", "河源市", "阳江市",
+			"清远市", "东莞市", "中山市", "潮州市", "揭阳市", "云浮市"
+		],
+		"19": ["南宁市", "柳州市", "桂林市", "梧州市", "北海市", "防城港市", "钦州市", "贵港市", "玉林市", "百色市", "贺州市", "河池市", "来宾市", "崇左市"],
+		"20": ["海口市", "三亚市", "三沙市", "儋州市", "省直辖县级行政区划"],
+		"21": ["重庆市"],
+		"22": ["成都市", "自贡市", "攀枝花市", "泸州市", "德阳市", "绵阳市", "广元市", "遂宁市", "内江市", "乐山市", "南充市", "眉山市", "宜宾市", "广安市", "达州市",
+			"雅安市", "巴中市", "资阳市", "阿坝藏族羌族自治州", "甘孜藏族自治州", "凉山彝族自治州"
+		],
+		"23": ["贵阳市", "六盘水市", "遵义市", "安顺市", "毕节市", "铜仁市", "黔西南布依族苗族自治州", "黔东南苗族侗族自治州", "黔南布依族苗族自治州"],
+		"24": ["昆明市", "曲靖市", "玉溪市", "保山市", "昭通市", "丽江市", "普洱市", "临沧市", "楚雄彝族自治州", "红河哈尼族彝族自治州", "文山壮族苗族自治州",
+			"西双版纳傣族自治州", "大理白族自治州", "德宏傣族景颇族自治州", "怒江傈僳族自治州", "迪庆藏族自治州"
+		],
+		"25": ["拉萨市", "日喀则市", "昌都市", "林芝市", "山南市", "那曲地区", "阿里地区"],
+		"26": ["西安市", "铜川市", "宝鸡市", "咸阳市", "渭南市", "延安市", "汉中市", "榆林市", "安康市", "商洛市"],
+		"27": ["兰州市", "嘉峪关市", "金昌市", "白银市", "天水市", "武威市", "张掖市", "平凉市", "酒泉市", "庆阳市", "定西市", "陇南市", "临夏回族自治州",
+			"甘南藏族自治州"
+		],
+		"28": ["西宁市", "海东市", "海北藏族自治州", "黄南藏族自治州", "海南藏族自治州", "果洛藏族自治州", "玉树藏族自治州", "海西蒙古族藏族自治州"],
+		"29": ["银川市", "石嘴山市", "吴忠市", "固原市", "中卫市"],
+		"30": ["乌鲁木齐市", "克拉玛依市", "吐鲁番市", "哈密市", "昌吉回族自治州", "博尔塔拉蒙古自治州", "巴音郭楞蒙古自治州", "阿克苏地区", "克孜勒苏柯尔克孜自治州", "喀什地区",
+			"和田地区", "伊犁哈萨克自治州", "塔城地区", "阿勒泰地区", "自治区直辖县级行政区划"
+		],
+		"31": ["台北市", "高雄市", "台南市", "台中市", "金门县", "南投县", "基隆市", "新竹市", "嘉义市", "新北市", "宜兰县", "新竹县", "桃园县", "苗栗县", "彰化县",
+			"嘉义县", "云林县", "屏东县", "台东县", "花莲县", "澎湖县"
+		],
+		"32": ["香港岛", "九龙", "新界"],
+		"33": ["澳门半岛", "氹仔岛", "路环岛"]
+	}
+}

+ 67 - 0
common/hotData.js

@@ -0,0 +1,67 @@
+export default [{
+		name: "上海市",
+	},
+	{
+		name: "广州市",
+	},
+	{
+		name: "北京市",
+	},
+	{
+		name: "天津市",
+	},
+	{
+		name: "重庆市",
+	},
+	{
+		name: "深圳市",
+	},
+	{
+		name: "佛山市",
+	},
+	{
+		name: "东莞市",
+	},
+	{
+		name: "杭州市",
+	},
+	{
+		name: "宁波市",
+	},
+	{
+		name: "南京市",
+	},
+	{
+		name: "苏州市",
+	},
+	{
+		name: "福州市",
+	},
+	{
+		name: "厦门市",
+	},
+	{
+		name: "泉州市",
+	},
+	{
+		name: "济南市",
+	},
+	{
+		name: "青岛市",
+	},
+	{
+		name: "武汉市",
+	},
+	{
+		name: "成都市",
+	},
+	{
+		name: "郑州市",
+	},
+	{
+		name: "长沙市",
+	}, 
+	{
+		name: "其他城市",
+	},
+]

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 8164
components/cityPicker.vue


+ 12 - 0
pages.json

@@ -44,6 +44,18 @@
 						"backgroundColorBottom": "#F4F5F6"
 					}
 				},
+				{
+					"path": "city/index",
+					"style": {
+						"navigationBarTitleText": "城市选择",
+						"enablePullDownRefresh": false,
+						"navigationBarTextStyle": "black",
+						"navigationBarBackgroundColor": "#F8F8F8",
+						"backgroundColor": "#F8F8F8",
+						"backgroundColorTop": "#F4F5F6",
+						"backgroundColorBottom": "#F4F5F6"
+					}
+				},
 				{
 					"path": "team/index",
 					"style": {

+ 224 - 0
pagesHome/city/index.vue

@@ -0,0 +1,224 @@
+<template>
+	<view class="city">
+		<view class="city_item flex1">
+			<!-- 左侧滑动导航栏 -->
+			<view class="city_item_left color81">
+				<scroll-view :scroll-y="true" style="height:calc(100vh - 88rpx);">
+					<view :class="indexsp == 'hot' ? 'active' : ''" @tap="setProvince" data-index="hot">
+						常见&热门
+					</view>
+					<view :class="indexsp == index ? 'active' : ''" v-for="(item,index) in province.a"
+						@tap="setProvince" :data-index="index">{{item}}</view>
+				</scroll-view>
+			</view>
+			<!-- 右侧选择导航栏 -->
+			<view class="city_item_right">
+				<!-- 选中城市展示 -->
+				<view class="current">
+					<text class="hot_title">当前选择城市:</text>
+					<view class="flex1">
+						<view>
+							<text>{{city}}</text>
+						</view>
+					</view>
+				</view>
+				<!-- 城市选项展示 -->
+				<view>
+					<!-- 热门城市选项 -->
+					<view class="hot" v-if="indexsp == 'hot'">
+						<button v-for="item in hotlist" :class="indexOfs(current,item.name) ? 'active' : ''"
+							@tap="setCity(item.name)">{{item.name}}</button>
+					</view>
+					<!-- 城市选项 -->
+					<view class="hot">
+						<button v-for="item in province.o[indexsp]" @tap="setCity(item)"
+							:class="indexOfs(current,item) ? 'active' : ''">{{item}}</button>
+					</view>
+					<!-- 确认按钮 -->
+					<button class="submit f08btn" @tap="toBack">确定</button>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script setup lang="ts">
+	import { ref } from 'vue';
+	//该依赖已内置不需要单独安装
+	import { onLoad } from "@dcloudio/uni-app";
+	// 导入省市数据
+	import cityData from '@/common/cityData.js';
+	// 导入热门城市数据
+	import hotData from '@/common/hotData.js';
+	// 省市数据
+	const province = ref(cityData);
+	// 侧边导航选项索引
+	const indexsp = ref('hot');
+	// 选中城市数组
+	const current = ref<string[]>([]);
+	// 热门城市数据
+	const hotlist = ref(hotData);
+	//选择城市
+	const city = ref('');
+
+	onLoad((options : any) => {
+		setCity(options.city)
+	})
+	const indexOfs = (list : any, name : string) => {
+		return list.indexOf(name) != -1;
+	};
+	// city 当前点击的城市
+	const setCity = (name : any) => {
+		city.value = name
+		if (current.value.length === 0) {
+			current.value.push(name);
+		} else {
+			current.value = []
+			current.value.push(name);
+		}
+	};
+	// 确定按钮触发函数
+	const toBack = () => {
+		if (city.value) {
+			uni.$emit('setCity', city.value);
+			// 返回上一个页面
+			uni.navigateBack({
+				delta: 1
+			})
+		} else {
+			uni.showToast({
+				title: '未选择城市',
+				icon: 'none'
+			});
+		}
+	};
+	// 侧边导航点击处理函数
+	const setProvince = (e : any) => {
+		// 将点击元素的索引赋值到变量indexsp中
+		indexsp.value = e.currentTarget.dataset.index;
+	};
+</script>
+
+<style lang="scss" scoped>
+	.submit {
+		position: fixed;
+		bottom: 10rpx;
+		width: 500rpx
+	}
+
+	.f08btn {
+		background-color: #FF0000 !important;
+		color: #fff;
+		font-size: 28rpx;
+	}
+
+	.city {
+		width: 100%;
+
+		&_title {
+			margin-bottom: 60rpx;
+		}
+
+		&_item {
+			padding-bottom: 20rpx;
+			align-items: flex-start;
+
+			&_left {
+				width: 210rpx;
+				display: inline-block;
+				background: #fafafa;
+
+				view {
+					text-align: center;
+					padding: 20rpx;
+				}
+
+				.active {
+					color: #FF0000;
+					background: #fff;
+				}
+			}
+
+			&_right {
+				width: 500rpx;
+				display: inline-block;
+				padding-left: 20rpx;
+				position: fixed;
+
+				button {
+					border: 1rpx solid #f6f6f6;
+				}
+
+				.current {
+					padding: 20rpx 30rpx 0 0;
+
+					// 当前城市样式
+					.hot_title {
+						width: 100%;
+						display: inline-block;
+						color: #bfbfbf;
+						vertical-align: middle;
+						margin-bottom: 22rpx;
+					}
+
+					.flex1 {
+						color: #FF0000;
+
+						.data-v-57280228 {}
+
+						text {
+							font-size: 14px;
+						}
+					}
+
+					.icon {
+						width: 30rpx;
+						height: 35rpx;
+						display: inline-block;
+						vertical-align: middle;
+					}
+
+					view {
+
+						justify-content: space-between;
+
+						view {
+							width: calc(100% - 40rpx);
+
+							text {
+								display: inline-block;
+							}
+						}
+					}
+				}
+
+				.hot {
+					button {
+						color: #484848;
+						min-width: calc(50% - 20rpx);
+						background: #fff;
+						padding: 0 12rpx;
+						display: inline-block;
+						font-size: 24rpx;
+						margin: 18rpx 20rpx 0 0;
+					}
+
+					button:after {
+						border-color: #eee;
+					}
+
+					.active {
+						color: #FF0000;
+						border: 1rpx solid #FF0000;
+					}
+
+					.active:after {
+						border-color: #FF0000;
+					}
+
+				}
+			}
+		}
+
+	}
+</style>

+ 181 - 13
pagesHome/match/index.vue

@@ -1,23 +1,138 @@
 <template>
 	<view class="content">
 		<view class="one">
-			赛事
+		</view>
+		<view class="two">
+			<text>设置队徽</text>
+		</view>
+		<view class="thr">
+			<form @submit="formSubmit">
+				<view class="logo">
+					<image class="image" mode="aspectFill" :src="form.logo||'/static/qiudui.png'" @tap="Preview">
+					</image>
+				</view>
+				<view class="value other">
+					<view class="title">名称</view>
+					<view class="label">
+						<input class="input" :value="form.name" placeholder="请输入名称" />
+					</view>
+				</view>
+				<view class="value other">
+					<view class="title">类型</view>
+					<view class="label">
+						<picker @change="typeChange" :value="index" :range="typeList" range-key="dictLabel">
+							<view class="picker">{{form.type||'请选择类型'}}</view>
+						</picker>
+					</view>
+				</view>
+				<view class="value other">
+					<view class="title">城市</view>
+					<view class="label" @tap="toCity">
+						<text v-if="form.city">{{form.city}}</text>
+						<text v-else>请选择城市</text>
+					</view>
+				</view>
+				<view class="value other">
+					<view class="title">成立时间</view>
+					<view class="label">
+						<picker mode="date" @change="dateChange" :value="index" fields="month">
+							<view class="picker">{{form.date||'请选择成立时间'}}</view>
+						</picker>
+					</view>
+				</view>
+				<view class="value other">
+					<view class="title">队服颜色</view>
+					<view class="label">
+						<input class="input" :value="form.color" placeholder="请输入队服颜色" />
+					</view>
+				</view>
+				<view class="remark">
+					<view class="title">简介</view>
+					<view class="label">
+						<textarea :value="form.brief" placeholder="请简单描述球队" />
+					</view>
+				</view>
+				<view class="button">
+					<button type="warn" size="mini" form-type="submit">创建</button>
+				</view>
+			</form>
 		</view>
 	</view>
 </template>
 
 <script setup lang="ts">
-	import { ref } from 'vue';
+	import { getCurrentInstance, computed, ref } from 'vue';
 	//该依赖已内置不需要单独安装
 	import { onShow } from "@dcloudio/uni-app";
-	// 基本信息
-	const config = ref({});
-	onShow(() => {
-		searchConfig();
+	// 请求接口
+	const $api = getCurrentInstance()?.appContext.config.globalProperties.$api;
+	const $config = getCurrentInstance()?.appContext.config.globalProperties.$config;
+	const $apifile = getCurrentInstance()?.appContext.config.globalProperties.$apifile;
+	// openid
+	const openid = computed(() => {
+		return uni.getStorageSync('openid');
+	})
+	// 用户信息
+	const form = ref({ icon: '' });
+	// 字典表
+	const typeList = ref([]);
+	onShow(async () => {
+		await searchOther();
+		await search();
+		uni.$on('setCity', function (city) {
+			form.value.city = city
+		})
 	})
-	// config信息
-	const searchConfig = async () => {
-		config.value = uni.getStorageSync('config');
+	// 查询其他信息
+	const searchOther = async () => {
+		let res;
+		// 类型
+		res = await $api(`dict/data/list`, 'GET', { dictType: 'sys_user_type' });
+		if (res.code === 200 && res.total > 0) typeList.value = res.rows
+	};
+	// 查询
+	const search = async () => { };
+	// 类型选择
+	const typeChange = (e) => {
+		const data = typeList.value[e.detail.value]
+		if (data) form.value.type = data.dictLabel
+	};
+	// 时间选择器
+	const dateChange = (e) => {
+		form.value.date = e.detail.value
+	};
+	// 城市选择
+	const toCity = () => {
+		if (form.value.city) {
+			uni.navigateTo({
+				url: `/pagesHome/city/index?city=${form.value.city}`,
+			})
+		} else {
+			uni.navigateTo({
+				url: `/pagesHome/city/index`,
+			})
+		}
+	};
+	// 上传图片
+	const Preview = () => {
+		uni.chooseImage({
+			count: 1,
+			sizeType: ['original', 'compressed'],
+			sourceType: ['album', 'camera'],
+			success: async function (res) {
+				let tempFile = JSON.parse(JSON.stringify(res.tempFilePaths));
+				const arr = await $apifile(`/common/upload`, 'file', tempFile[0],
+					'file');
+				if (arr.code == 200) {
+					form.value.logo = arr.url
+				} else {
+					uni.showToast({
+						title: arr.msg,
+						icon: 'none'
+					});
+				}
+			}
+		});
 	};
 </script>
 <style lang="scss" scoped>
@@ -28,11 +143,64 @@
 		height: 100vh;
 
 		.one {
-			padding: 2vw;
+			height: 25vw;
+			background-color: var(--f00Color);
+		}
+
+		.two {
+			margin: 10vw 0 0 0;
+			text-align: center;
+			font-size: var(--font16Size);
+			font-weight: bold;
+		}
+
+		.thr {
+			.logo {
+				position: fixed;
+				top: 12vw;
+				right: 40vw;
+
+				.image {
+					width: 20vw;
+					height: 20vw;
+					border-radius: 20vw;
+					background-color: var(--mainColor);
+				}
+			}
+
+			.other {
+				padding: 3vw 2vw;
+				border-bottom: 1px solid var(--footColor);
+			}
+
+			.remark {
+				padding: 3vw 2vw 0 2vw;
+
+				.title {
+					padding: 0 0 3vw 0;
+				}
+			}
+
+			.value {
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				background-color: var(--mainColor);
+
+				.label {
+					.input {
+						text-align: right;
+					}
+				}
+			}
+
+			.button {
+				text-align: center;
 
-			.rich-img {
-				width: 100% !important;
-				display: block;
+				button {
+					width: 80vw;
+					font-size: var(--font16Size);
+				}
 			}
 		}
 	}

+ 35 - 31
pagesHome/team/index.vue

@@ -17,12 +17,6 @@
 						<input class="input" :value="form.name" placeholder="请输入名称" />
 					</view>
 				</view>
-				<view class="value other">
-					<view class="title">昵称</view>
-					<view class="label">
-						<input class="input" :value="form.nickname" placeholder="请输入昵称" />
-					</view>
-				</view>
 				<view class="value other">
 					<view class="title">类型</view>
 					<view class="label">
@@ -32,16 +26,24 @@
 					</view>
 				</view>
 				<view class="value other">
-					<view class="title">手机号</view>
+					<view class="title">城市</view>
+					<view class="label" @tap="toCity">
+						<text v-if="form.city">{{form.city}}</text>
+						<text v-else>请选择城市</text>
+					</view>
+				</view>
+				<view class="value other">
+					<view class="title">成立时间</view>
 					<view class="label">
-						<input class="input" :value="form.phone" placeholder="请输入手机号" />
+						<picker mode="date" @change="dateChange" :value="index" fields="month">
+							<view class="picker">{{form.date||'请选择成立时间'}}</view>
+						</picker>
 					</view>
 				</view>
 				<view class="value other">
-					<view class="title">城市</view>
+					<view class="title">队服颜色</view>
 					<view class="label">
-						<cityPicker :showSheetView="showSheetView" :defaultIndexs="[0,0,0]" @onSelected="onSelected">
-						</cityPicker>
+						<input class="input" :value="form.color" placeholder="请输入队服颜色" />
 					</view>
 				</view>
 				<view class="remark">
@@ -62,53 +64,55 @@
 	import { getCurrentInstance, computed, ref } from 'vue';
 	//该依赖已内置不需要单独安装
 	import { onShow } from "@dcloudio/uni-app";
-	import cityPicker from '../../components/cityPicker.vue';
 	// 请求接口
 	const $api = getCurrentInstance()?.appContext.config.globalProperties.$api;
 	const $config = getCurrentInstance()?.appContext.config.globalProperties.$config;
 	const $apifile = getCurrentInstance()?.appContext.config.globalProperties.$apifile;
-	// 基本信息
-	const config = ref({ logoUrl: '' });
 	// openid
 	const openid = computed(() => {
 		return uni.getStorageSync('openid');
 	})
 	// 用户信息
 	const form = ref({ icon: '' });
-	// 城市选择器
-	const showSheetView = ref(true);
 	// 字典表
 	const typeList = ref([]);
 	onShow(async () => {
-		await searchConfig();
 		await searchOther();
-		await search()
+		await search();
+		uni.$on('setCity', function (city) {
+			form.value.city = city
+		})
 	})
-	// config信息
-	const searchConfig = async () => {
-		config.value = uni.getStorageSync('config');
-	};
 	// 查询其他信息
 	const searchOther = async () => {
 		let res;
 		// 类型
-		res = await $api(`dict/data/list`, 'GET', { dictType: 'sys_team_type' });
+		res = await $api(`dict/data/list`, 'GET', { dictType: 'sys_user_type' });
 		if (res.code === 200 && res.total > 0) typeList.value = res.rows
 	};
 	// 查询
-	const search = async () => {
-
-	};
-	// 选择市
-	const onSelected = (row) => {
-		console.log(row, '1');
-		showSheetView.value = false
-	};
+	const search = async () => { };
 	// 类型选择
 	const typeChange = (e) => {
 		const data = typeList.value[e.detail.value]
 		if (data) form.value.type = data.dictLabel
 	};
+	// 时间选择器
+	const dateChange = (e) => {
+		form.value.date = e.detail.value
+	};
+	// 城市选择
+	const toCity = () => {
+		if (form.value.city) {
+			uni.navigateTo({
+				url: `/pagesHome/city/index?city=${form.value.city}`,
+			})
+		} else {
+			uni.navigateTo({
+				url: `/pagesHome/city/index`,
+			})
+		}
+	};
 	// 上传图片
 	const Preview = () => {
 		uni.chooseImage({

+ 21 - 13
pagesMy/basic/index.vue

@@ -5,8 +5,7 @@
 				<view class="value icon">
 					<view class="title">头像</view>
 					<view class="label">
-						<image class="image" mode="aspectFill" :src="form.icon||config.logoUrl"
-							@tap="Preview"></image>
+						<image class="image" mode="aspectFill" :src="form.icon||config.logoUrl" @tap="Preview"></image>
 					</view>
 				</view>
 				<view class="remark">
@@ -40,9 +39,9 @@
 				</view>
 				<view class="value other">
 					<view class="title">城市</view>
-					<view class="label">
-						<cityPicker :showSheetView="showSheetView" :defaultIndexs="[0,0,0]" @onSelected="onSelected">
-						</cityPicker>
+					<view class="label" @tap="toCity">
+						<text v-if="form.city">{{form.city}}</text>
+						<text v-else>请选择城市</text>
 					</view>
 				</view>
 				<view class="value other">
@@ -89,7 +88,6 @@
 
 <script setup lang="ts">
 	import { getCurrentInstance, computed, ref } from 'vue';
-	import cityPicker from '../../components/cityPicker.vue';
 	//该依赖已内置不需要单独安装
 	import { onLoad } from "@dcloudio/uni-app";
 	// 请求接口
@@ -104,8 +102,6 @@
 	const config = ref({ logoUrl: '' });
 	// 用户信息
 	const form = ref({ icon: '' });
-	// 城市选择器
-	const showSheetView = ref(true);
 	// 字典表
 	const sexList = ref([]);
 	const typeList = ref([]);
@@ -113,7 +109,10 @@
 	onLoad(async () => {
 		await searchOther();
 		await searchConfig();
-		await search()
+		await search();
+		uni.$on('setCity', function (city) {
+			form.value.city = city
+		})
 	})
 	// 查询其他信息
 	const searchOther = async () => {
@@ -151,10 +150,17 @@
 			});
 		}
 	};
-	// 选择市
-	const onSelected = (row) => {
-		console.log(row, '1');
-		showSheetView.value = false
+	// 城市选择
+	const toCity = () => {
+		if (form.value.city) {
+			uni.navigateTo({
+				url: `/pagesHome/city/index?city=${form.value.city}`,
+			})
+		} else {
+			uni.navigateTo({
+				url: `/pagesHome/city/index`,
+			})
+		}
 	};
 	// 性别选择
 	const sexChange = (e) => {
@@ -247,6 +253,8 @@
 
 				button {
 					font-size: var(--font14Size);
+					border-radius: 2vw;
+					background: linear-gradient(to right, #00BFFF, #3F94F1, #7B68EE);
 				}
 			}
 		}

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

@@ -8,6 +8,7 @@ if (!Math) {
   "./pages/home/index.js";
   "./pages/login/index.js";
   "./pagesHome/agree/index.js";
+  "./pagesHome/city/index.js";
   "./pagesHome/team/index.js";
   "./pagesHome/match/index.js";
   "./pagesMy/basic/index.js";

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

@@ -9,6 +9,7 @@
       "root": "pagesHome",
       "pages": [
         "agree/index",
+        "city/index",
         "team/index",
         "match/index"
       ]

+ 1 - 3
unpackage/dist/dev/mp-weixin/common/api.js

@@ -57,9 +57,7 @@ const requestFile = (uri, method, data, type) => {
       url: baseUrl,
       filePath: data,
       name: method || "file",
-      header: {
-        Authorization: "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjU1MjI1MzAyLTZlNmYtNDg3ZS1hYTgzLTM5Yzc3M2RmOGVmYyJ9.h3PrqqCYCXZ9E1r9o80maaGJSLz84ghf2zMhoiuCLti-WviFZOuCNA5eMiPPDRXrOF4ES4j7h2LRqp6rIfWL2w"
-      },
+      header: {},
       success: (res) => {
         let data2 = JSON.parse(res.data);
         if (data2.code != 200) {

+ 274 - 0
unpackage/dist/dev/mp-weixin/common/cityData.js

@@ -0,0 +1,274 @@
+"use strict";
+const cityData = {
+  "a": [
+    "北京市",
+    "天津市",
+    "河北省",
+    "山西省",
+    "内蒙古自治区",
+    "辽宁省",
+    "吉林省",
+    "黑龙江省",
+    "上海市",
+    "江苏省",
+    "浙江省",
+    "安徽省",
+    "福建省",
+    "江西省",
+    "山东省",
+    "河南省",
+    "湖北省",
+    "湖南省",
+    "广东省",
+    "广西壮族自治区",
+    "海南省",
+    "重庆市",
+    "四川省",
+    "贵州省",
+    "云南省",
+    "西藏自治区",
+    "陕西省",
+    "甘肃省",
+    "青海省",
+    "宁夏回族自治区",
+    "新疆维吾尔自治区",
+    "台湾省",
+    "香港特别行政区",
+    "澳门特别行政区"
+  ],
+  "o": {
+    "0": ["北京市"],
+    "1": ["天津市"],
+    "2": ["石家庄市", "唐山市", "秦皇岛市", "邯郸市", "邢台市", "保定市", "张家口市", "承德市", "沧州市", "廊坊市", "衡水市", "省直辖县级行政区划"],
+    "3": ["太原市", "大同市", "阳泉市", "长治市", "晋城市", "朔州市", "晋中市", "运城市", "忻州市", "临汾市", "吕梁市"],
+    "4": ["呼和浩特市", "包头市", "乌海市", "赤峰市", "通辽市", "鄂尔多斯市", "呼伦贝尔市", "巴彦淖尔市", "乌兰察布市", "兴安盟", "锡林郭勒盟", "阿拉善盟"],
+    "5": ["沈阳市", "大连市", "鞍山市", "抚顺市", "本溪市", "丹东市", "锦州市", "营口市", "阜新市", "辽阳市", "盘锦市", "铁岭市", "朝阳市", "葫芦岛市"],
+    "6": ["长春市", "吉林市", "四平市", "辽源市", "通化市", "白山市", "松原市", "白城市", "延边朝鲜族自治州"],
+    "7": ["哈尔滨市", "齐齐哈尔市", "鸡西市", "鹤岗市", "双鸭山市", "大庆市", "伊春市", "佳木斯市", "七台河市", "牡丹江市", "黑河市", "绥化市", "大兴安岭地区"],
+    "8": ["上海市"],
+    "9": ["南京市", "无锡市", "徐州市", "常州市", "苏州市", "南通市", "连云港市", "淮安市", "盐城市", "扬州市", "镇江市", "泰州市", "宿迁市"],
+    "10": ["杭州市", "宁波市", "温州市", "嘉兴市", "湖州市", "绍兴市", "金华市", "衢州市", "舟山市", "台州市", "丽水市"],
+    "11": [
+      "合肥市",
+      "芜湖市",
+      "蚌埠市",
+      "淮南市",
+      "马鞍山市",
+      "淮北市",
+      "铜陵市",
+      "安庆市",
+      "黄山市",
+      "滁州市",
+      "阜阳市",
+      "宿州市",
+      "六安市",
+      "亳州市",
+      "池州市",
+      "宣城市"
+    ],
+    "12": ["福州市", "厦门市", "莆田市", "三明市", "泉州市", "漳州市", "南平市", "龙岩市", "宁德市"],
+    "13": ["南昌市", "景德镇市", "萍乡市", "九江市", "新余市", "鹰潭市", "赣州市", "吉安市", "宜春市", "抚州市", "上饶市"],
+    "14": [
+      "济南市",
+      "青岛市",
+      "淄博市",
+      "枣庄市",
+      "东营市",
+      "烟台市",
+      "潍坊市",
+      "济宁市",
+      "泰安市",
+      "威海市",
+      "日照市",
+      "莱芜市",
+      "临沂市",
+      "德州市",
+      "聊城市",
+      "滨州市",
+      "菏泽市"
+    ],
+    "15": [
+      "郑州市",
+      "开封市",
+      "洛阳市",
+      "平顶山市",
+      "安阳市",
+      "鹤壁市",
+      "新乡市",
+      "焦作市",
+      "濮阳市",
+      "许昌市",
+      "漯河市",
+      "三门峡市",
+      "南阳市",
+      "商丘市",
+      "信阳市",
+      "周口市",
+      "驻马店市",
+      "省直辖县级行政区划"
+    ],
+    "16": [
+      "武汉市",
+      "黄石市",
+      "十堰市",
+      "宜昌市",
+      "襄阳市",
+      "鄂州市",
+      "荆门市",
+      "孝感市",
+      "荆州市",
+      "黄冈市",
+      "咸宁市",
+      "随州市",
+      "恩施土家族苗族自治州",
+      "省直辖县级行政区划"
+    ],
+    "17": [
+      "长沙市",
+      "株洲市",
+      "湘潭市",
+      "衡阳市",
+      "邵阳市",
+      "岳阳市",
+      "常德市",
+      "张家界市",
+      "益阳市",
+      "郴州市",
+      "永州市",
+      "怀化市",
+      "娄底市",
+      "湘西土家族苗族自治州"
+    ],
+    "18": [
+      "广州市",
+      "韶关市",
+      "深圳市",
+      "珠海市",
+      "汕头市",
+      "佛山市",
+      "江门市",
+      "湛江市",
+      "茂名市",
+      "肇庆市",
+      "惠州市",
+      "梅州市",
+      "汕尾市",
+      "河源市",
+      "阳江市",
+      "清远市",
+      "东莞市",
+      "中山市",
+      "潮州市",
+      "揭阳市",
+      "云浮市"
+    ],
+    "19": ["南宁市", "柳州市", "桂林市", "梧州市", "北海市", "防城港市", "钦州市", "贵港市", "玉林市", "百色市", "贺州市", "河池市", "来宾市", "崇左市"],
+    "20": ["海口市", "三亚市", "三沙市", "儋州市", "省直辖县级行政区划"],
+    "21": ["重庆市"],
+    "22": [
+      "成都市",
+      "自贡市",
+      "攀枝花市",
+      "泸州市",
+      "德阳市",
+      "绵阳市",
+      "广元市",
+      "遂宁市",
+      "内江市",
+      "乐山市",
+      "南充市",
+      "眉山市",
+      "宜宾市",
+      "广安市",
+      "达州市",
+      "雅安市",
+      "巴中市",
+      "资阳市",
+      "阿坝藏族羌族自治州",
+      "甘孜藏族自治州",
+      "凉山彝族自治州"
+    ],
+    "23": ["贵阳市", "六盘水市", "遵义市", "安顺市", "毕节市", "铜仁市", "黔西南布依族苗族自治州", "黔东南苗族侗族自治州", "黔南布依族苗族自治州"],
+    "24": [
+      "昆明市",
+      "曲靖市",
+      "玉溪市",
+      "保山市",
+      "昭通市",
+      "丽江市",
+      "普洱市",
+      "临沧市",
+      "楚雄彝族自治州",
+      "红河哈尼族彝族自治州",
+      "文山壮族苗族自治州",
+      "西双版纳傣族自治州",
+      "大理白族自治州",
+      "德宏傣族景颇族自治州",
+      "怒江傈僳族自治州",
+      "迪庆藏族自治州"
+    ],
+    "25": ["拉萨市", "日喀则市", "昌都市", "林芝市", "山南市", "那曲地区", "阿里地区"],
+    "26": ["西安市", "铜川市", "宝鸡市", "咸阳市", "渭南市", "延安市", "汉中市", "榆林市", "安康市", "商洛市"],
+    "27": [
+      "兰州市",
+      "嘉峪关市",
+      "金昌市",
+      "白银市",
+      "天水市",
+      "武威市",
+      "张掖市",
+      "平凉市",
+      "酒泉市",
+      "庆阳市",
+      "定西市",
+      "陇南市",
+      "临夏回族自治州",
+      "甘南藏族自治州"
+    ],
+    "28": ["西宁市", "海东市", "海北藏族自治州", "黄南藏族自治州", "海南藏族自治州", "果洛藏族自治州", "玉树藏族自治州", "海西蒙古族藏族自治州"],
+    "29": ["银川市", "石嘴山市", "吴忠市", "固原市", "中卫市"],
+    "30": [
+      "乌鲁木齐市",
+      "克拉玛依市",
+      "吐鲁番市",
+      "哈密市",
+      "昌吉回族自治州",
+      "博尔塔拉蒙古自治州",
+      "巴音郭楞蒙古自治州",
+      "阿克苏地区",
+      "克孜勒苏柯尔克孜自治州",
+      "喀什地区",
+      "和田地区",
+      "伊犁哈萨克自治州",
+      "塔城地区",
+      "阿勒泰地区",
+      "自治区直辖县级行政区划"
+    ],
+    "31": [
+      "台北市",
+      "高雄市",
+      "台南市",
+      "台中市",
+      "金门县",
+      "南投县",
+      "基隆市",
+      "新竹市",
+      "嘉义市",
+      "新北市",
+      "宜兰县",
+      "新竹县",
+      "桃园县",
+      "苗栗县",
+      "彰化县",
+      "嘉义县",
+      "云林县",
+      "屏东县",
+      "台东县",
+      "花莲县",
+      "澎湖县"
+    ],
+    "32": ["香港岛", "九龙", "新界"],
+    "33": ["澳门半岛", "氹仔岛", "路环岛"]
+  }
+};
+exports.cityData = cityData;

+ 70 - 0
unpackage/dist/dev/mp-weixin/common/hotData.js

@@ -0,0 +1,70 @@
+"use strict";
+const hotData = [
+  {
+    name: "上海市"
+  },
+  {
+    name: "广州市"
+  },
+  {
+    name: "北京市"
+  },
+  {
+    name: "天津市"
+  },
+  {
+    name: "重庆市"
+  },
+  {
+    name: "深圳市"
+  },
+  {
+    name: "佛山市"
+  },
+  {
+    name: "东莞市"
+  },
+  {
+    name: "杭州市"
+  },
+  {
+    name: "宁波市"
+  },
+  {
+    name: "南京市"
+  },
+  {
+    name: "苏州市"
+  },
+  {
+    name: "福州市"
+  },
+  {
+    name: "厦门市"
+  },
+  {
+    name: "泉州市"
+  },
+  {
+    name: "济南市"
+  },
+  {
+    name: "青岛市"
+  },
+  {
+    name: "武汉市"
+  },
+  {
+    name: "成都市"
+  },
+  {
+    name: "郑州市"
+  },
+  {
+    name: "长沙市"
+  },
+  {
+    name: "其他城市"
+  }
+];
+exports.hotData = hotData;

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

@@ -1896,10 +1896,6 @@ function triggerEffect(effect, debuggerEventExtraInfo) {
     }
   }
 }
-function getDepFromReactive(object, key) {
-  var _a2;
-  return (_a2 = targetMap.get(object)) === null || _a2 === void 0 ? void 0 : _a2.get(key);
-}
 const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
 const builtInSymbols = new Set(
   /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
@@ -2534,38 +2530,6 @@ const shallowUnwrapHandlers = {
 function proxyRefs(objectWithRefs) {
   return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
 }
-function toRefs(object) {
-  if (!isProxy(object)) {
-    console.warn(`toRefs() expects a reactive object but received a plain one.`);
-  }
-  const ret = isArray$1(object) ? new Array(object.length) : {};
-  for (const key in object) {
-    ret[key] = toRef(object, key);
-  }
-  return ret;
-}
-class ObjectRefImpl {
-  constructor(_object, _key, _defaultValue) {
-    this._object = _object;
-    this._key = _key;
-    this._defaultValue = _defaultValue;
-    this.__v_isRef = true;
-  }
-  get value() {
-    const val = this._object[this._key];
-    return val === void 0 ? this._defaultValue : val;
-  }
-  set value(newVal) {
-    this._object[this._key] = newVal;
-  }
-  get dep() {
-    return getDepFromReactive(toRaw(this._object), this._key);
-  }
-}
-function toRef(object, key, defaultValue) {
-  const val = object[key];
-  return isRef(val) ? val : new ObjectRefImpl(object, key, defaultValue);
-}
 var _a;
 class ComputedRefImpl {
   constructor(getter, _setter, isReadonly2, isSSR) {
@@ -10821,6 +10785,3 @@ exports.resolveComponent = resolveComponent;
 exports.s = s;
 exports.sr = sr;
 exports.t = t;
-exports.toRefs = toRefs;
-exports.unref = unref;
-exports.watch = watch;

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 7948
unpackage/dist/dev/mp-weixin/components/cityPicker.js


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

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

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
unpackage/dist/dev/mp-weixin/components/cityPicker.wxml


+ 0 - 179
unpackage/dist/dev/mp-weixin/components/cityPicker.wxss

@@ -1,179 +0,0 @@
-/* 水平间距 */
-/* 水平间距 */
-.ani_start.data-v-f86c9fd2 {
-  animation: animationShow-f86c9fd2 0.4s;
-}
-.ani_end.data-v-f86c9fd2 {
-  animation: animationHide-f86c9fd2 0.4s;
-}
-@keyframes animationShow-f86c9fd2 {
-from {
-    background-color: rgba(0, 0, 0, 0);
-    opacity: 0;
-}
-to {
-    background-color: rgba(0, 0, 0, 0.2);
-    opacity: 1;
-}
-}
-@keyframes animationHide-f86c9fd2 {
-from {
-    background-color: rgba(0, 0, 0, 0.2);
-    opacity: 1;
-}
-to {
-    background-color: rgba(0, 0, 0, 0);
-    opacity: 0;
-}
-}
-@keyframes slideBottom-f86c9fd2 {
-0% {
-    transform: translateY(100%);
-}
-100% {
-    transform: translateY(0);
-}
-}
-.picker-view.data-v-f86c9fd2 {
-  width: 100%;
-  height: 540rpx;
-}
-.item.data-v-f86c9fd2 {
-  line-height: 100rpx;
-  text-align: center;
-}
-.view-modal.data-v-f86c9fd2 {
-  position: fixed;
-  top: calc(var(--status-bar-height) + 44px);
-  height: calc(100% - var(--status-bar-height) - 44px);
-  width: 100%;
-  z-index: 1;
-  display: flex;
-  flex-direction: column;
-  justify-content: flex-start;
-  align-items: center;
-  background-color: rgba(0, 0, 0, 0.2);
-}
-.ani-btm.data-v-f86c9fd2 {
-  transform: translateY(640rpx);
-}
-.ani-top.data-v-f86c9fd2 {
-  animation: slideBottom-f86c9fd2 0.4s;
-}
-.sheet-view.data-v-f86c9fd2 {
-  position: absolute;
-  bottom: 0rpx;
-  height: 640rpx;
-  width: 100%;
-  transition: all 0.25s;
-  background-color: white;
-  display: flex;
-  flex-direction: column;
-  justify-content: flex-start;
-  align-items: center;
-}
-.head-view.data-v-f86c9fd2 {
-  position: relative;
-  width: calc(100% - 70rpx);
-  height: 100rpx;
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
-  align-items: center;
-}
-.cancel-view.data-v-f86c9fd2 {
-  position: relative;
-  width: 124rpx;
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-  align-items: center;
-}
-.cancel-view text.data-v-f86c9fd2 {
-  position: relative;
-  width: 100%;
-  font-size: 32rpx;
-  color: #333333;
-  text-align: left;
-}
-.title-view.data-v-f86c9fd2 {
-  position: relative;
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-  align-items: center;
-}
-.title-view text.data-v-f86c9fd2 {
-  position: relative;
-  width: 100%;
-  font-size: 30rpx;
-  color: #999999;
-  text-align: left;
-}
-.ok-view.data-v-f86c9fd2 {
-  position: relative;
-  width: 124rpx;
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-  align-items: center;
-}
-.ok-view text.data-v-f86c9fd2 {
-  position: relative;
-  width: 100%;
-  font-size: 32rpx;
-  color: #2197FF;
-  text-align: right;
-}
-.mid-view.data-v-f86c9fd2 {
-  position: relative;
-  width: 100%;
-  height: 106rpx;
-  border-bottom: 1rpx solid #ebebeb;
-  border-top: 1rpx solid #ebebeb;
-  display: flex;
-  flex-direction: row;
-  justify-content: center;
-  align-items: center;
-}
-.btn-view.data-v-f86c9fd2 {
-  position: relative;
-  width: 50%;
-  height: 100%;
-  display: flex;
-  flex-direction: row;
-  justify-content: center;
-  align-items: center;
-}
-.tt-view.data-v-f86c9fd2 {
-  position: relative;
-  width: 100%;
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-  align-items: center;
-}
-.normal-text.data-v-f86c9fd2 {
-  position: relative;
-  width: 100%;
-  font-size: 32rpx;
-  color: #555555;
-  text-align: center;
-}
-.hili-text.data-v-f86c9fd2 {
-  position: relative;
-  width: 100%;
-  font-size: 32rpx;
-  color: #2197FF;
-  text-align: center;
-}
-.active.data-v-f86c9fd2 {
-  background-color: white;
-}
-.non-active.data-v-f86c9fd2 {
-  background-color: whitesmoke;
-}

+ 80 - 0
unpackage/dist/dev/mp-weixin/pagesHome/city/index.js

@@ -0,0 +1,80 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const common_cityData = require("../../common/cityData.js");
+const common_hotData = require("../../common/hotData.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+  __name: "index",
+  setup(__props) {
+    const province = common_vendor.ref(common_cityData.cityData);
+    const indexsp = common_vendor.ref("hot");
+    const current = common_vendor.ref([]);
+    const hotlist = common_vendor.ref(common_hotData.hotData);
+    const city = common_vendor.ref("");
+    common_vendor.onLoad((options) => {
+      setCity(options.city);
+    });
+    const indexOfs = (list, name) => {
+      return list.indexOf(name) != -1;
+    };
+    const setCity = (name) => {
+      city.value = name;
+      if (current.value.length === 0) {
+        current.value.push(name);
+      } else {
+        current.value = [];
+        current.value.push(name);
+      }
+    };
+    const toBack = () => {
+      if (city.value) {
+        common_vendor.index.$emit("setCity", city.value);
+        common_vendor.index.navigateBack({
+          delta: 1
+        });
+      } else {
+        common_vendor.index.showToast({
+          title: "未选择城市",
+          icon: "none"
+        });
+      }
+    };
+    const setProvince = (e) => {
+      indexsp.value = e.currentTarget.dataset.index;
+    };
+    return (_ctx, _cache) => {
+      return common_vendor.e({
+        a: common_vendor.n(indexsp.value == "hot" ? "active" : ""),
+        b: common_vendor.o(setProvince),
+        c: common_vendor.f(province.value.a, (item, index, i0) => {
+          return {
+            a: common_vendor.t(item),
+            b: common_vendor.n(indexsp.value == index ? "active" : ""),
+            c: index
+          };
+        }),
+        d: common_vendor.o(setProvince),
+        e: common_vendor.t(city.value),
+        f: indexsp.value == "hot"
+      }, indexsp.value == "hot" ? {
+        g: common_vendor.f(hotlist.value, (item, k0, i0) => {
+          return {
+            a: common_vendor.t(item.name),
+            b: common_vendor.n(indexOfs(current.value, item.name) ? "active" : ""),
+            c: common_vendor.o(($event) => setCity(item.name))
+          };
+        })
+      } : {}, {
+        h: common_vendor.f(province.value.o[indexsp.value], (item, k0, i0) => {
+          return {
+            a: common_vendor.t(item),
+            b: common_vendor.o(($event) => setCity(item)),
+            c: common_vendor.n(indexOfs(current.value, item) ? "active" : "")
+          };
+        }),
+        i: common_vendor.o(toBack)
+      });
+    };
+  }
+});
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-3361df53"], ["__file", "D:/project/足球比赛/match_applet/pagesHome/city/index.vue"]]);
+wx.createPage(MiniProgramPage);

+ 10 - 0
unpackage/dist/dev/mp-weixin/pagesHome/city/index.json

@@ -0,0 +1,10 @@
+{
+  "navigationBarTitleText": "城市选择",
+  "enablePullDownRefresh": false,
+  "navigationBarTextStyle": "black",
+  "navigationBarBackgroundColor": "#F8F8F8",
+  "backgroundColor": "#F8F8F8",
+  "backgroundColorTop": "#F4F5F6",
+  "backgroundColorBottom": "#F4F5F6",
+  "usingComponents": {}
+}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
unpackage/dist/dev/mp-weixin/pagesHome/city/index.wxml


+ 94 - 0
unpackage/dist/dev/mp-weixin/pagesHome/city/index.wxss

@@ -0,0 +1,94 @@
+/* 水平间距 */
+/* 水平间距 */
+.submit.data-v-3361df53 {
+  position: fixed;
+  bottom: 10rpx;
+  width: 500rpx;
+}
+.f08btn.data-v-3361df53 {
+  background-color: #FF0000 !important;
+  color: #fff;
+  font-size: 28rpx;
+}
+.city.data-v-3361df53 {
+  width: 100%;
+}
+.city_title.data-v-3361df53 {
+  margin-bottom: 60rpx;
+}
+.city_item.data-v-3361df53 {
+  padding-bottom: 20rpx;
+  align-items: flex-start;
+}
+.city_item_left.data-v-3361df53 {
+  width: 210rpx;
+  display: inline-block;
+  background: #fafafa;
+}
+.city_item_left view.data-v-3361df53 {
+  text-align: center;
+  padding: 20rpx;
+}
+.city_item_left .active.data-v-3361df53 {
+  color: #FF0000;
+  background: #fff;
+}
+.city_item_right.data-v-3361df53 {
+  width: 500rpx;
+  display: inline-block;
+  padding-left: 20rpx;
+  position: fixed;
+}
+.city_item_right button.data-v-3361df53 {
+  border: 1rpx solid #f6f6f6;
+}
+.city_item_right .current.data-v-3361df53 {
+  padding: 20rpx 30rpx 0 0;
+}
+.city_item_right .current .hot_title.data-v-3361df53 {
+  width: 100%;
+  display: inline-block;
+  color: #bfbfbf;
+  vertical-align: middle;
+  margin-bottom: 22rpx;
+}
+.city_item_right .current .flex1.data-v-3361df53 {
+  color: #FF0000;
+}
+.city_item_right .current .flex1 text.data-v-3361df53 {
+  font-size: 14px;
+}
+.city_item_right .current .icon.data-v-3361df53 {
+  width: 30rpx;
+  height: 35rpx;
+  display: inline-block;
+  vertical-align: middle;
+}
+.city_item_right .current view.data-v-3361df53 {
+  justify-content: space-between;
+}
+.city_item_right .current view view.data-v-3361df53 {
+  width: calc(100% - 40rpx);
+}
+.city_item_right .current view view text.data-v-3361df53 {
+  display: inline-block;
+}
+.city_item_right .hot button.data-v-3361df53 {
+  color: #484848;
+  min-width: calc(50% - 20rpx);
+  background: #fff;
+  padding: 0 12rpx;
+  display: inline-block;
+  font-size: 24rpx;
+  margin: 18rpx 20rpx 0 0;
+}
+.city_item_right .hot button.data-v-3361df53:after {
+  border-color: #eee;
+}
+.city_item_right .hot .active.data-v-3361df53 {
+  color: #FF0000;
+  border: 1rpx solid #FF0000;
+}
+.city_item_right .hot .active.data-v-3361df53:after {
+  border-color: #FF0000;
+}

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

@@ -3,15 +3,97 @@ const common_vendor = require("../../common/vendor.js");
 const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
   __name: "index",
   setup(__props) {
-    const config = common_vendor.ref({});
-    common_vendor.onShow(() => {
-      searchConfig();
+    var _a, _b, _c;
+    const $api = (_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$api;
+    (_b = common_vendor.getCurrentInstance()) == null ? void 0 : _b.appContext.config.globalProperties.$config;
+    const $apifile = (_c = common_vendor.getCurrentInstance()) == null ? void 0 : _c.appContext.config.globalProperties.$apifile;
+    common_vendor.computed(() => {
+      return common_vendor.index.getStorageSync("openid");
     });
-    const searchConfig = async () => {
-      config.value = common_vendor.index.getStorageSync("config");
+    const form = common_vendor.ref({ icon: "" });
+    const typeList = common_vendor.ref([]);
+    common_vendor.onShow(async () => {
+      await searchOther();
+      await search();
+      common_vendor.index.$on("setCity", function(city) {
+        form.value.city = city;
+      });
+    });
+    const searchOther = async () => {
+      let res;
+      res = await $api(`dict/data/list`, "GET", { dictType: "sys_user_type" });
+      if (res.code === 200 && res.total > 0)
+        typeList.value = res.rows;
+    };
+    const search = async () => {
+    };
+    const typeChange = (e) => {
+      const data = typeList.value[e.detail.value];
+      if (data)
+        form.value.type = data.dictLabel;
+    };
+    const dateChange = (e) => {
+      form.value.date = e.detail.value;
+    };
+    const toCity = () => {
+      if (form.value.city) {
+        common_vendor.index.navigateTo({
+          url: `/pagesHome/city/index?city=${form.value.city}`
+        });
+      } else {
+        common_vendor.index.navigateTo({
+          url: `/pagesHome/city/index`
+        });
+      }
+    };
+    const Preview = () => {
+      common_vendor.index.chooseImage({
+        count: 1,
+        sizeType: ["original", "compressed"],
+        sourceType: ["album", "camera"],
+        success: async function(res) {
+          let tempFile = JSON.parse(JSON.stringify(res.tempFilePaths));
+          const arr = await $apifile(
+            `/common/upload`,
+            "file",
+            tempFile[0],
+            "file"
+          );
+          if (arr.code == 200) {
+            form.value.logo = arr.url;
+          } else {
+            common_vendor.index.showToast({
+              title: arr.msg,
+              icon: "none"
+            });
+          }
+        }
+      });
     };
     return (_ctx, _cache) => {
-      return {};
+      return common_vendor.e({
+        a: form.value.logo || "/static/qiudui.png",
+        b: common_vendor.o(Preview),
+        c: form.value.name,
+        d: common_vendor.t(form.value.type || "请选择类型"),
+        e: common_vendor.o(typeChange),
+        f: _ctx.index,
+        g: typeList.value,
+        h: form.value.city
+      }, form.value.city ? {
+        i: common_vendor.t(form.value.city)
+      } : {}, {
+        j: common_vendor.o(toCity),
+        k: common_vendor.t(form.value.date || "请选择成立时间"),
+        l: common_vendor.o(dateChange),
+        m: _ctx.index,
+        n: form.value.color,
+        o: form.value.brief,
+        p: common_vendor.o(
+          //@ts-ignore
+          (...args) => _ctx.formSubmit && _ctx.formSubmit(...args)
+        )
+      });
     };
   }
 });

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/match/index.wxml


+ 44 - 4
unpackage/dist/dev/mp-weixin/pagesHome/match/index.wxss

@@ -7,9 +7,49 @@
   height: 100vh;
 }
 .content .one.data-v-a9622e69 {
-  padding: 2vw;
+  height: 25vw;
+  background-color: var(--f00Color);
 }
-.content .one .rich-img.data-v-a9622e69 {
-  width: 100% !important;
-  display: block;
+.content .two.data-v-a9622e69 {
+  margin: 10vw 0 0 0;
+  text-align: center;
+  font-size: var(--font16Size);
+  font-weight: bold;
+}
+.content .thr .logo.data-v-a9622e69 {
+  position: fixed;
+  top: 12vw;
+  right: 40vw;
+}
+.content .thr .logo .image.data-v-a9622e69 {
+  width: 20vw;
+  height: 20vw;
+  border-radius: 20vw;
+  background-color: var(--mainColor);
+}
+.content .thr .other.data-v-a9622e69 {
+  padding: 3vw 2vw;
+  border-bottom: 1px solid var(--footColor);
+}
+.content .thr .remark.data-v-a9622e69 {
+  padding: 3vw 2vw 0 2vw;
+}
+.content .thr .remark .title.data-v-a9622e69 {
+  padding: 0 0 3vw 0;
+}
+.content .thr .value.data-v-a9622e69 {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  background-color: var(--mainColor);
+}
+.content .thr .value .label .input.data-v-a9622e69 {
+  text-align: right;
+}
+.content .thr .button.data-v-a9622e69 {
+  text-align: center;
+}
+.content .thr .button button.data-v-a9622e69 {
+  width: 80vw;
+  font-size: var(--font16Size);
 }

+ 35 - 30
unpackage/dist/dev/mp-weixin/pagesHome/team/index.js

@@ -1,9 +1,5 @@
 "use strict";
 const common_vendor = require("../../common/vendor.js");
-if (!Math) {
-  cityPicker();
-}
-const cityPicker = () => "../../components/cityPicker.js";
 const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
   __name: "index",
   setup(__props) {
@@ -11,38 +7,45 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     const $api = (_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$api;
     (_b = common_vendor.getCurrentInstance()) == null ? void 0 : _b.appContext.config.globalProperties.$config;
     const $apifile = (_c = common_vendor.getCurrentInstance()) == null ? void 0 : _c.appContext.config.globalProperties.$apifile;
-    const config = common_vendor.ref({ logoUrl: "" });
     common_vendor.computed(() => {
       return common_vendor.index.getStorageSync("openid");
     });
     const form = common_vendor.ref({ icon: "" });
-    const showSheetView = common_vendor.ref(true);
     const typeList = common_vendor.ref([]);
     common_vendor.onShow(async () => {
-      await searchConfig();
       await searchOther();
       await search();
+      common_vendor.index.$on("setCity", function(city) {
+        form.value.city = city;
+      });
     });
-    const searchConfig = async () => {
-      config.value = common_vendor.index.getStorageSync("config");
-    };
     const searchOther = async () => {
       let res;
-      res = await $api(`dict/data/list`, "GET", { dictType: "sys_team_type" });
+      res = await $api(`dict/data/list`, "GET", { dictType: "sys_user_type" });
       if (res.code === 200 && res.total > 0)
         typeList.value = res.rows;
     };
     const search = async () => {
     };
-    const onSelected = (row) => {
-      console.log(row, "1");
-      showSheetView.value = false;
-    };
     const typeChange = (e) => {
       const data = typeList.value[e.detail.value];
       if (data)
         form.value.type = data.dictLabel;
     };
+    const dateChange = (e) => {
+      form.value.date = e.detail.value;
+    };
+    const toCity = () => {
+      if (form.value.city) {
+        common_vendor.index.navigateTo({
+          url: `/pagesHome/city/index?city=${form.value.city}`
+        });
+      } else {
+        common_vendor.index.navigateTo({
+          url: `/pagesHome/city/index`
+        });
+      }
+    };
     const Preview = () => {
       common_vendor.index.chooseImage({
         count: 1,
@@ -68,27 +71,29 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
       });
     };
     return (_ctx, _cache) => {
-      return {
+      return common_vendor.e({
         a: form.value.logo || "/static/qiudui.png",
         b: common_vendor.o(Preview),
         c: form.value.name,
-        d: form.value.nickname,
-        e: common_vendor.t(form.value.type || "请选择类型"),
-        f: common_vendor.o(typeChange),
-        g: _ctx.index,
-        h: typeList.value,
-        i: form.value.phone,
-        j: common_vendor.o(onSelected),
-        k: common_vendor.p({
-          showSheetView: showSheetView.value,
-          defaultIndexs: [0, 0, 0]
-        }),
-        l: form.value.brief,
-        m: common_vendor.o(
+        d: common_vendor.t(form.value.type || "请选择类型"),
+        e: common_vendor.o(typeChange),
+        f: _ctx.index,
+        g: typeList.value,
+        h: form.value.city
+      }, form.value.city ? {
+        i: common_vendor.t(form.value.city)
+      } : {}, {
+        j: common_vendor.o(toCity),
+        k: common_vendor.t(form.value.date || "请选择成立时间"),
+        l: common_vendor.o(dateChange),
+        m: _ctx.index,
+        n: form.value.color,
+        o: form.value.brief,
+        p: common_vendor.o(
           //@ts-ignore
           (...args) => _ctx.formSubmit && _ctx.formSubmit(...args)
         )
-      };
+      });
     };
   }
 });

+ 1 - 3
unpackage/dist/dev/mp-weixin/pagesHome/team/index.json

@@ -1,6 +1,4 @@
 {
   "navigationBarTitleText": "创建球队",
-  "usingComponents": {
-    "city-picker": "../../components/cityPicker"
-  }
+  "usingComponents": {}
 }

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/team/index.wxml


+ 32 - 27
unpackage/dist/dev/mp-weixin/pagesMy/basic/index.js

@@ -1,9 +1,5 @@
 "use strict";
 const common_vendor = require("../../common/vendor.js");
-if (!Math) {
-  cityPicker();
-}
-const cityPicker = () => "../../components/cityPicker.js";
 const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
   __name: "index",
   setup(__props) {
@@ -16,7 +12,6 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
     });
     const config = common_vendor.ref({ logoUrl: "" });
     const form = common_vendor.ref({ icon: "" });
-    const showSheetView = common_vendor.ref(true);
     const sexList = common_vendor.ref([]);
     const typeList = common_vendor.ref([]);
     const placeList = common_vendor.ref([]);
@@ -24,6 +19,9 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
       await searchOther();
       await searchConfig();
       await search();
+      common_vendor.index.$on("setCity", function(city) {
+        form.value.city = city;
+      });
     });
     const searchOther = async () => {
       let res;
@@ -59,9 +57,16 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
         });
       }
     };
-    const onSelected = (row) => {
-      console.log(row, "1");
-      showSheetView.value = false;
+    const toCity = () => {
+      if (form.value.city) {
+        common_vendor.index.navigateTo({
+          url: `/pagesHome/city/index?city=${form.value.city}`
+        });
+      } else {
+        common_vendor.index.navigateTo({
+          url: `/pagesHome/city/index`
+        });
+      }
     };
     const sexChange = (e) => {
       const data = sexList.value[e.detail.value];
@@ -103,7 +108,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
       });
     };
     return (_ctx, _cache) => {
-      return {
+      return common_vendor.e({
         a: form.value.icon || config.value.logoUrl,
         b: common_vendor.o(Preview),
         c: form.value.name,
@@ -113,27 +118,27 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
         g: _ctx.index,
         h: sexList.value,
         i: form.value.phone,
-        j: common_vendor.o(onSelected),
-        k: common_vendor.p({
-          showSheetView: showSheetView.value,
-          defaultIndexs: [0, 0, 0]
-        }),
-        l: form.value.height,
-        m: form.value.weight,
-        n: common_vendor.t(form.value.type || "请选择主要项目"),
-        o: common_vendor.o(typeChange),
-        p: _ctx.index,
-        q: typeList.value,
-        r: form.value.ballYears,
-        s: common_vendor.t(form.value.place || "请选择队内位置"),
-        t: common_vendor.o(placeChange),
-        v: _ctx.index,
-        w: placeList.value,
-        x: common_vendor.o(
+        j: form.value.city
+      }, form.value.city ? {
+        k: common_vendor.t(form.value.city)
+      } : {}, {
+        l: common_vendor.o(toCity),
+        m: form.value.height,
+        n: form.value.weight,
+        o: common_vendor.t(form.value.type || "请选择主要项目"),
+        p: common_vendor.o(typeChange),
+        q: _ctx.index,
+        r: typeList.value,
+        s: form.value.ballYears,
+        t: common_vendor.t(form.value.place || "请选择队内位置"),
+        v: common_vendor.o(placeChange),
+        w: _ctx.index,
+        x: placeList.value,
+        y: common_vendor.o(
           //@ts-ignore
           (...args) => _ctx.formSubmit && _ctx.formSubmit(...args)
         )
-      };
+      });
     };
   }
 });

+ 1 - 3
unpackage/dist/dev/mp-weixin/pagesMy/basic/index.json

@@ -1,6 +1,4 @@
 {
   "navigationBarTitleText": "个人信息",
-  "usingComponents": {
-    "city-picker": "../../components/cityPicker"
-  }
+  "usingComponents": {}
 }

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesMy/basic/index.wxml


+ 2 - 0
unpackage/dist/dev/mp-weixin/pagesMy/basic/index.wxss

@@ -43,4 +43,6 @@
 }
 .content .one .button button.data-v-bf1a7b85 {
   font-size: var(--font14Size);
+  border-radius: 2vw;
+  background: linear-gradient(to right, #00BFFF, #3F94F1, #7B68EE);
 }