Browse Source

feat: 订单bug

2912631854@qq.com 1 year ago
parent
commit
c2210aaf98
4 changed files with 145 additions and 34 deletions
  1. 1 1
      pages/my/index.vue
  2. 0 1
      pages/statistics/index.vue
  3. 139 28
      pagesMy/stayInfo/roomPosition.vue
  4. 5 4
      pagesMy/stayInfo/stayInfo.vue

+ 1 - 1
pages/my/index.vue

@@ -23,7 +23,7 @@
 				</view>
 			</view>
 		</view>
-		<view class="menu box" @click="toTurn('/pagesMy/stayInfo/stayInfo')">
+		<view class="menu box" @click="toTurn('/pagesMy/stayInfo/roomPosition')">
 			<text>酒店民宿信息</text>
 			<u-icon name="arrow-right" color="#999999" size="28"></u-icon>
 		</view>

+ 0 - 1
pages/statistics/index.vue

@@ -86,7 +86,6 @@
 					入住率
 				</view>
 				<view class="title1">
-
 					入住率(%)
 				</view>
 			</view>

+ 139 - 28
pagesMy/stayInfo/roomPosition.vue

@@ -1,35 +1,43 @@
 <template>
-	<view class="pages" :style="{'height':(h)+'px','padding-top':mt+'px'}">
-		<c-nav-bar title="位置定位" :showIcon="true"></c-nav-bar>
+	<!-- <view class="pages" :style="{'height':(h)+'px','padding-top':mt+'px'}"> -->
+	<view class="pages">
+		<!-- <c-nav-bar title="位置定位" :showIcon="true"></c-nav-bar> -->
 		<view class="content">
 			<view class="card">
 				<view class="card1" @tap="open()">
-					<text>所属城市
-						<text style="margin-left: 30rpx;" v-if="str.name==undefined||str.name==''">请选择所属城市</text>
-						<text style="margin-left: 30rpx;" v-else>{{str.name}}</text>
+					<text style="font-size: 30rpx; color: #333; font-weight: Regular; ">
+						<text>所属城市</text>
+						<text style="margin-left: 30rpx; text-align: right; width: 100%;"
+							v-if="str.name==undefined||str.name==''">请选择所属城市</text>
+						<text style="margin-left: 30rpx; text-align: right; width: 100%;" v-else>{{str.name}}</text>
 					</text>
 					<u-icon name="arrow-right" size="24"></u-icon>
-
 				</view>
 			</view>
 			<view class="card">
 				<view class="card1">
-					<text style="margin-right: 30rpx;">详细地址</text>
-					<u--input placeholder="请输入您的地址" border="none" v-model="formData.areaDetail"></u--input>
+					<text style="margin-right: 30rpx; font-size: 30rpx; color: #333; font-weight: Regular; ">详细地址</text>
+					<u--input class="card-input" inputAlign="right" placeholder="请输入您的地址" border="none"
+						v-model="formData.areaDetail" style="text-align: right; font-size: Regular;"></u--input>
 				</view>
 			</view>
 			<view class="card">
 				<view class="card1">
-					<text>单元、门牌号</text>
+					<text class="label">联系电话</text>
+					<u--input inputAlign="right" placeholder="请输入内容" border="none" v-model="stayInfo.landlinePhone"
+						style="text-align: right;"></u--input>
 				</view>
-				<view style="margin-top: 20rpx;">
-					<span>
-						<u--textarea border='none' :maxlength='300' count v-model="formData.introduction"
-							placeholder="请输入单元、门牌号" height='250'></u--textarea>
-					</span>
+			</view>
+			<view class="card c2">
+				<view class="tit">内饰照片</view>
+				<view class="imgs">
+					<!-- <image src="" v-for="(item,index) in imgUrlList" :key="index"></image> -->
+					<u-upload ref="uUpload" uploadText="上传图片" :fileList="imgUrlList" :maxSize="10 * 1024 * 1024"
+						width="180" height="120" @afterRead="afterRead" @delete="deletePic">
+					</u-upload>
 				</view>
 			</view>
-			<view class="card" style="padding-bottom: 180rpx;">
+			<view class="card" style="padding-bottom: 190rpx;">
 				<view class="card1">
 					<text>地图位置</text>
 				</view>
@@ -46,9 +54,7 @@
 			<cityPicker :column="column" :default-value="defaultValue" :mask-close-able="maskCloseAble"
 				@confirm="confirm" @cancel="cancel" :visible="visible" />
 		</view>
-
-
-		<view class="bottom">
+		<view class="bottom" @click="save">
 			<view class="btn">
 				确定
 			</view>
@@ -68,7 +74,6 @@
 	export default {
 		data() {
 			return {
-
 				selectIndex: undefined,
 				selectAddr: {},
 				searchWords: "",
@@ -102,21 +107,18 @@
 				// defaultValue: ['河北省','唐山市','丰南区'],
 				column: 3,
 				address: '',
-				formData: {}
+				formData: {},
+				stayInfo: {
+					picList: []
+				},
+				homestayId: uni.getStorageSync('homestayId') || 0,
 			}
 		},
 		components: {
 			cityPicker
 		},
 		onLoad(option) {
-			if (option) {
-				this.formData = JSON.parse(option.item)
-				this.latitude = this.formData.lat
-				this.longitude = this.formData.lon
-				this.markers[0].latitude = this.formData.lat
-				this.markers[0].longitude = this.formData.lon
-			}
-
+			this.getStayInfo()
 			// var self = this;
 			// this.myPosition()
 			// uni.getLocation({
@@ -151,6 +153,92 @@
 			// });
 		},
 		methods: {
+
+			getStayInfo() {
+				this.$api.get('/merchant/hotel/mine/getMerchantHomestayInfo/' + this.homestayId).then(res => {
+					if (res.data.code == 0) {
+						this.stayInfo = res.data.data;
+						this.formData = this.stayInfo
+						this.latitude = this.formData.lat
+						this.longitude = this.formData.lon
+						this.markers[0].latitude = this.formData.lat
+						this.markers[0].longitude = this.formData.lon
+						this.stayInfo.picList.forEach((item) => {
+							this.imgUrlList.push({
+								url: item
+							})
+						})
+					}
+				})
+			},
+			// 确定保存
+			save() {
+				// if (!this.$u.test.mobile(this.stayInfo.landlinePhone)) {
+				// 	this.$showToast('请输入正确手机号');
+				// 	return
+				// }
+				this.stayInfo.picList = [];
+				this.imgUrlList.forEach((i) => {
+					if (i.url) {
+						this.stayInfo.picList.push(i.url)
+					}
+				})
+				this.$api.post('/merchant/hotel/mine/updMHomestayInfo', this.stayInfo).then(res => {
+					console.log(res)
+				})
+			},
+			// 删除图片
+			deletePic(event) {
+				this.imgUrlList.splice(event.index, 1)
+			},
+			// 新增图片
+			async afterRead(event) {
+				let lists = [].concat(event.file)
+				let fileListLen = this.imgUrlList.length
+				lists.map((item) => {
+					this.imgUrlList.push({
+						...item,
+						status: 'uploading',
+						message: '上传中'
+					})
+				})
+				for (let i = 0; i < lists.length; i++) {
+					const result = await this.uploadFilePromise(lists[i].url)
+					let item = this.imgUrlList[fileListLen]
+					this.imgUrlList.splice(fileListLen, 1, Object.assign(item, {
+						status: 'success',
+						message: '',
+						url: result
+					}))
+					fileListLen++
+				}
+				console.log(this.imgUrlList)
+			},
+			uploadFilePromise(url) {
+				return new Promise((resolve, reject) => {
+					let a = uni.uploadFile({
+						url: 'https://i.ringzle.com/island-cloud-server/oss/file/upload', // 仅为示例,非真实的接口地址
+						filePath: url,
+						name: 'file',
+						formData: {
+							user: 'test'
+						},
+						success: (res) => {
+							console.log(res)
+							let data = JSON.parse(res.data);
+							console.log(data)
+							resolve(data.data.url)
+						}
+					});
+				})
+			},
+
+
+
+
+
+
+
 			changeBegin() {
 				this.visible = true
 			},
@@ -211,7 +299,17 @@
 		}
 	}
 </script>
+<style lang="less">
+	.u-upload__wrap__preview__image {
+		width: 190rpx !important;
+		height: 120rpx !important;
+	}
 
+	.u-upload__button {
+		width: 190rpx !important;
+		height: 120rpx !important;
+	}
+</style>
 <style lang="scss" scoped>
 	/deep/.u-cell__body {
 		padding: 0;
@@ -270,8 +368,21 @@
 					justify-content: space-between;
 					align-items: center;
 
+					text {
+						font-size: 30rpx;
+						color: #333;
+						font-weight: Regular;
+					}
+
+					.card-input {
+						font-size: 30rpx;
+						color: #333;
+						font-weight: Regular;
+					}
+
 					.as-content {
 						color: #a5a5a5;
+
 					}
 				}
 			}

+ 5 - 4
pagesMy/stayInfo/stayInfo.vue

@@ -137,11 +137,12 @@
 					});
 				})
 			},
+			// 确定保存
 			save() {
-				if (!this.$u.test.mobile(this.stayInfo.landlinePhone)) {
-					this.$showToast('请输入正确手机号');
-					return
-				}
+				// if (!this.$u.test.mobile(this.stayInfo.landlinePhone)) {
+				// 	this.$showToast('请输入正确手机号');
+				// 	return
+				// }
 				this.stayInfo.picList = [];
 				this.imgUrlList.forEach((i) => {
 					if (i.url) {