|                                                                                                                                                                                                                                                                           |  | <template>	<view class="applyLaundryStore">		<navbar title="申请水洗店" leftClick @leftClick="$utils.navigateBack" />
		<view class="frame">			<view class="title">				<span					style="width: 10rpx;height: 40rpx;background-color: #f78142;border-radius: 10rpx;overflow: hidden;"></span>				<span>店铺信息</span>			</view>			<view class="shopName">				<view>店铺名称</view>				<view>					<input v-model="form.name" placeholder="请输入店铺名称" clearable></input>				</view>			</view>			<view class="shopName">				<view>您的姓名</view>				<view>					<input v-model="form.userName" placeholder="请输入您的姓名" clearable></input>				</view>			</view>			<view class="shopName">				<view>联系方式</view>				<view>					<input v-model="form.phone" type="number" placeholder="请输入联系方式" clearable></input>				</view>			</view>
			<view class="currentRegion">				<view>所在地区</view>				<view>					<input class="input" v-model="form.currentRegion" placeholder="请选择所在地区"></input>					<view class="orientation" @click.stop="selectAddr">						定位						<image src="../static/address/selectIcon.png"							style="width:30rpx;height: 30rpx;margin:5rpx 5rpx 5rpx 5rpx;"></image>					</view>				</view>			</view>			<view class="shopName">				<view>详细地址</view>				<view>					<input v-model="form.address" placeholder="详细地址" clearable></input>				</view>			</view>		</view>
		<!-- 底部按钮 -->		<bottomBtn @confirm='submitApplication()' :color='bottomBtnStyle.color'			:backgroundColor='bottomBtnStyle.backgroundColor' :fontSize='bottomBtnStyle.fontSize'			:text='bottomBtnStyle.text' :width="bottomBtnStyle.width" :height="bottomBtnStyle.height"			:borderRadius='bottomBtnStyle.borderRadius' :bottom='bottomBtnStyle.bottom'>		</bottomBtn>
	</view></template>
<script>	import Position from '@/utils/position.js'	import bottomBtn from "../../components/bottom/bottomBtn.vue"	export default {		components: {			bottomBtn,		},		data() {			return {				form: {					userName: '',					name: '',					phone: '',					currentRegion: '',					address: '',					latitude: '',					longitude: '',				},
				bottomBtnStyle: {					color: '#FFF',					backgroundColor: '#fd5100',					fontSize: '34rpx',					text: '提交',					width: '400rpx',					height: '80rpx',					borderRadius: '100rpx',					bottom: '40rpx'				},			}		},		computed: {
		},		onShow() {
		},		methods: {
			// 提交按钮
			submitApplication() {				this.form.address = this.form.currentRegion + this.form.address				this.$api('applyShopHotel', this.form, res => {					if (res.code == 200) {						uni.showToast({							title: '申请成功待审核', // 提示的内容
							icon: 'success', // 图标,可选值有 'success', 'loading', 'none'
							duration: 1500 // 提示的持续时间,默认是1500毫秒
						});						setTimeout(() => {							uni.navigateTo({								url: '/pages/index/center'							})						}, 1500)					}				})			},
			//地图上选择地址
			selectAddr() {				Position.getLocation(res => {					Position.selectAddress(res.longitude, res.latitude, success => {						this.setAddress(success)					})				})				Position.getLocationDetail(res => {					console.log(res);					this.form.address = res				})			},
			//提取用户选择的地址信息复制给表单数据
			setAddress(res) {				//经纬度信息
				this.form.latitude = res.latitude				this.form.longitude = res.longitude
				if (!res.address && res.name) { //用户直接选择城市的逻辑
					return this.form.currentRegion = res.name
				}				if (res.address || res.name) {					return this.form.currentRegion = res.address + res.name				}				this.form.currentRegion = '' //用户啥都没选就点击勾选
			},
		}	}</script>
<style lang="scss" scoped>	* {		box-sizing: border-box;	}
	.applyLaundryStore {		padding: 0 20rpx 0 20rpx;		background-color: #f5f5f5;
		.frame {			display: flex;			flex-direction: column;			gap: 20rpx;			background-color: #FFF;			margin-top: 20rpx;			padding: 20rpx;
			.title {				display: flex;				// padding-top: 40rpx;
				font-size: 34rpx;				font-weight: 700;				padding: 0 0 0 20rpx;
				>span:nth-of-type(1) {					margin: 4rpx 0 0 8rpx;					background-color: #FFF;				}
				>span:nth-of-type(2) {					margin: 0 0 0 8rpx;					background-color: #FFF;				}			}
			.shopName {				display: flex;				align-items: center;				background-color: #FFF;				height: 80rpx;				// margin: 10rpx 0 0 0;
				padding: 10rpx 0 0 20rpx;
				>view:nth-of-type(1) {					width: 30%;					// font-weight: 700;
				}
				>view:nth-of-type(2) {					width: 70%;					// padding: 0 20rpx 0 0;
					border-radius: 10rpx;					overflow: hidden;
					input {						background-color: #f5f5f5;						// color: #a4a4a4;
						font-size: 28rpx;						padding: 8rpx 8rpx 8rpx 15rpx;					}				}			}
			.name {				display: flex;				align-items: center;				background-color: #FFF;				height: 80rpx;				// margin: 10rpx 0 0 0;
				padding: 10rpx 0 0 20rpx;
				>view:nth-of-type(1) {					width: 30%;					font-weight: 700;				}
				>view:nth-of-type(2) {					width: 70%;					padding: 0 20rpx 0 0;				}			}
			.phone {				display: flex;				align-items: center;				background-color: #FFF;				height: 80rpx;				// margin: 10rpx 0 0 0;
				padding: 10rpx 0 0 20rpx;
				>view:nth-of-type(1) {					width: 30%;					font-weight: 700;				}
				>view:nth-of-type(2) {					width: 70%;					padding: 0 20rpx 0 0;				}			}
			.currentRegion {				display: flex;				align-items: center;				background-color: #FFF;				height: 80rpx;				// margin: 10rpx 0 0 0;
				padding: 10rpx 0 0 20rpx;
				>view:nth-of-type(1) {					width: 30%;					// font-weight: 700;
				}
				>view:nth-of-type(2) {					width: 70%;					padding: 0 20rpx 0 0;					display: flex;
					.input {						background-color: #f5f5f5;						// color: #a4a4a4;
						font-size: 28rpx;						padding: 8rpx 8rpx 8rpx 15rpx;						width: 300rpx;					}
					.orientation {						display: flex;						padding: 10rpx 10rpx 10rpx 20rpx;						font-size: 30rpx;						color: #FBAB32;					}
				}			}
			.detailedAddress {				display: flex;				align-items: center;				background-color: #FFF;				height: 80rpx;				// margin: 10rpx 0 0 0;
				padding: 10rpx 0 0 20rpx;
				>view:nth-of-type(1) {					width: 30%;					font-weight: 700;				}
				>view:nth-of-type(2) {					width: 70%;					padding: 0 20rpx 0 0;				}			}
		}	}</style>
 |