xiaoxin 2 年 前
コミット
e291b689db
100 ファイル変更4683 行追加2063 行削除
  1. 16 2
      pages.json
  2. 93 6
      pages/addOrEdit/addOrEdit.vue
  3. 58 17
      pages/affirmOrder/affirmOrder.vue
  4. 179 5
      pages/binding/binding.vue
  5. 40 41
      pages/common/common.vue
  6. 131 79
      pages/detail/detail.vue
  7. 71 12
      pages/detailInfo/detailInfo.vue
  8. 67 35
      pages/home/home.vue
  9. 3 3
      pages/index/index.vue
  10. 23 26
      pages/login/login.vue
  11. 86 12
      pages/my/my.vue
  12. 73 40
      pages/orderDetail/orderDetail.vue
  13. 92 88
      pages/orderManage/orderManage.vue
  14. 26 13
      pages/pay/pay.vue
  15. 476 0
      pages/push/push.vue
  16. 11 2
      pages/set/set.vue
  17. 2 2
      pages/shop/shop.vue
  18. 61 0
      pages/shop2/shop2.vue
  19. 17 5
      pages/shopInfo/shopInfo.vue
  20. BIN
      static/my/right3.png
  21. BIN
      static/my/shop2.png
  22. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  23. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  24. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/addOrEdit/addOrEdit.js.map
  25. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/affirmOrder/affirmOrder.js.map
  26. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/binding/binding.js.map
  27. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/common/common.js.map
  28. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/detail/detail.js.map
  29. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/detailInfo/detailInfo.js.map
  30. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/home.js.map
  31. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  32. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  33. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map
  34. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/orderDetail/orderDetail.js.map
  35. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/orderManage/orderManage.js.map
  36. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/pay/pay.js.map
  37. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/payStatus/payStatus.js.map
  38. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/push/push.js.map
  39. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/search/search.js.map
  40. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/set/set.js.map
  41. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/setMeal/setMeal.js.map
  42. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/shop/shop.js.map
  43. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/shop2/shop2.js.map
  44. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/shopInfo/shopInfo.js.map
  45. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/shouquan/shouquan.js.map
  46. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.js.map
  47. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-button/components/uv-button/uv-button.js.map
  48. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-calendar/components/uv-calendar/header.js.map
  49. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-calendar/components/uv-calendar/month.js.map
  50. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-calendar/components/uv-calendar/uv-calendar.js.map
  51. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-count-down/components/uv-count-down/uv-count-down.js.map
  52. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-icon/components/uv-icon/uv-icon.js.map
  53. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-loading-icon/components/uv-loading-icon/uv-loading-icon.js.map
  54. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-overlay/components/uv-overlay/uv-overlay.js.map
  55. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-picker/components/uv-picker/uv-picker.js.map
  56. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-picker/components/uv-toolbar/uv-toolbar.js.map
  57. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-popup/components/uv-popup/uv-popup.js.map
  58. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-row/components/uv-row/uv-row.js.map
  59. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-safe-bottom/components/uv-safe-bottom/uv-safe-bottom.js.map
  60. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-status-bar/components/uv-status-bar/uv-status-bar.js.map
  61. 3 1
      unpackage/dist/dev/mp-weixin/app.json
  62. 1 1
      unpackage/dist/dev/mp-weixin/common/main.js
  63. 848 906
      unpackage/dist/dev/mp-weixin/common/vendor.js
  64. 144 20
      unpackage/dist/dev/mp-weixin/pages/addOrEdit/addOrEdit.js
  65. 1 1
      unpackage/dist/dev/mp-weixin/pages/addOrEdit/addOrEdit.wxml
  66. 96 31
      unpackage/dist/dev/mp-weixin/pages/affirmOrder/affirmOrder.js
  67. 1 1
      unpackage/dist/dev/mp-weixin/pages/affirmOrder/affirmOrder.wxml
  68. 264 20
      unpackage/dist/dev/mp-weixin/pages/binding/binding.js
  69. 1 1
      unpackage/dist/dev/mp-weixin/pages/binding/binding.wxml
  70. 1 0
      unpackage/dist/dev/mp-weixin/pages/binding/binding.wxss
  71. 233 185
      unpackage/dist/dev/mp-weixin/pages/common/common.js
  72. 1 1
      unpackage/dist/dev/mp-weixin/pages/common/common.wxml
  73. 136 91
      unpackage/dist/dev/mp-weixin/pages/detail/detail.js
  74. 1 1
      unpackage/dist/dev/mp-weixin/pages/detail/detail.wxml
  75. 15 0
      unpackage/dist/dev/mp-weixin/pages/detail/detail.wxss
  76. 102 22
      unpackage/dist/dev/mp-weixin/pages/detailInfo/detailInfo.js
  77. 1 1
      unpackage/dist/dev/mp-weixin/pages/detailInfo/detailInfo.wxml
  78. 0 3
      unpackage/dist/dev/mp-weixin/pages/detailInfo/detailInfo.wxss
  79. 128 79
      unpackage/dist/dev/mp-weixin/pages/home/home.js
  80. 1 0
      unpackage/dist/dev/mp-weixin/pages/home/home.json
  81. 1 1
      unpackage/dist/dev/mp-weixin/pages/home/home.wxml
  82. 19 19
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  83. 42 45
      unpackage/dist/dev/mp-weixin/pages/login/login.js
  84. 140 32
      unpackage/dist/dev/mp-weixin/pages/my/my.js
  85. 1 1
      unpackage/dist/dev/mp-weixin/pages/my/my.wxml
  86. 6 0
      unpackage/dist/dev/mp-weixin/pages/my/my.wxss
  87. 64 30
      unpackage/dist/dev/mp-weixin/pages/orderDetail/orderDetail.js
  88. 1 1
      unpackage/dist/dev/mp-weixin/pages/orderDetail/orderDetail.wxml
  89. 143 84
      unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.js
  90. 1 1
      unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.json
  91. 1 1
      unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.wxml
  92. 35 22
      unpackage/dist/dev/mp-weixin/pages/pay/pay.js
  93. 1 1
      unpackage/dist/dev/mp-weixin/pages/pay/pay.wxml
  94. 16 16
      unpackage/dist/dev/mp-weixin/pages/payStatus/payStatus.js
  95. 376 0
      unpackage/dist/dev/mp-weixin/pages/push/push.js
  96. 6 0
      unpackage/dist/dev/mp-weixin/pages/push/push.json
  97. 1 0
      unpackage/dist/dev/mp-weixin/pages/push/push.wxml
  98. 268 0
      unpackage/dist/dev/mp-weixin/pages/push/push.wxss
  99. 19 19
      unpackage/dist/dev/mp-weixin/pages/search/search.js
  100. 0 0
      unpackage/dist/dev/mp-weixin/pages/set/set.js

+ 16 - 2
pages.json

@@ -10,7 +10,8 @@
 		{
 			"path": "pages/home/home",
 			"style": {
-				"navigationBarTitleText": "靖安民宿"
+				"navigationBarTitleText": "靖安民宿",
+				"enablePullDownRefresh": true
 			}
 		}, {
 			"path": "pages/my/my",
@@ -53,7 +54,7 @@
 			"path": "pages/orderManage/orderManage",
 			"style": {
 				"navigationBarTitleText": "订单",
-				"enablePullDownRefresh": false
+				"enablePullDownRefresh": true
 			}
 		}, {
 			"path": "pages/detail/detail",
@@ -124,6 +125,19 @@
 				"navigationBarTitleText": "我是商户",
 				"enablePullDownRefresh": false
 			}
+		}, {
+			"path": "pages/push/push",
+			"style": {
+				"navigationBarTitleText": "订单详情",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		}, {
+			"path": "pages/shop2/shop2",
+			"style": {
+				"navigationBarTitleText": "我是业主",
+				"enablePullDownRefresh": false
+			}
 		}
 	],
 	"tabBar": {

+ 93 - 6
pages/addOrEdit/addOrEdit.vue

@@ -22,12 +22,12 @@
 				<view class="body_box">
 					<view class="body_box_key">联系电话</view>
 					<view class="body_box_value">
-						<input class="input" type="text" placeholder="请输入联系电话" v-model="phone" />
+						<input class="input" type="text" placeholder="请输入联系电话" maxlength="11" v-model="phone" />
 					</view>
 				</view>
 			</view>
 
-			<view class="btn">确定</view>
+			<view class="btn" @click="handleSub">确定</view>
 		</view>
 	</view>
 </template>
@@ -41,21 +41,108 @@ export default {
 			// 身份证号
 			identity: '',
 			// 电话
-			phone: ''
+			phone: '',
+			type: '',
+			id: ''
 		}
 	},
 	onLoad(options) {
 		// console.log(options)
+		this.type = options.type
 		if (options.type === '2') {
 			// 编辑状态
 			const info = JSON.parse(options.info)
-			this.name = info.name
-			this.identity = info.identity
-			this.phone = info.phone
+			this.name = info.user_name
+			this.identity = info.card_number
+			this.phone = info.user_phone
+			this.id = info.id
 			uni.setNavigationBarTitle({
 				title: '编辑旅客'
 			})
 		}
+	},
+	methods: {
+		// 确定按钮点击回调
+		handleSub() {
+			if (!this.name) {
+				uni.showToast({
+					title: '请输入姓名',
+					icon: 'none',
+					mask: true
+				})
+				return
+			}
+			if (!this.identity) {
+				uni.showToast({
+					title: '请输入身份证号',
+					icon: 'none',
+					mask: true
+				})
+				return
+			}
+			if (!this.phone) {
+				uni.showToast({
+					title: '请输入联系电话',
+					icon: 'none',
+					mask: true
+				})
+				return
+			}
+			if (this.type === '1') {
+				// 添加
+				this.add()
+			} else {
+				// 编辑
+				this.edit()
+			}
+		},
+		// 添加请求
+		async add() {
+			const res = await this.$myRequest({
+				url: '/mhotel/ampAddContact.action',
+				data: {
+					userName: uni.getStorageSync('userInfo').user_name,
+					contactUserName: this.name,
+					contactUserPhone: this.phone,
+					contactUserIdNum: this.identity,
+					userId: uni.getStorageSync('userInfo').id
+				}
+			})
+			// console.log(res)
+			if (res.code === 200) {
+				uni.showToast({
+					title: '添加成功',
+					icon: 'success',
+					mask: true
+				})
+				setTimeout(() => {
+					uni.navigateBack(1)
+				}, 1500)
+			}
+		},
+		// 编辑请求
+		async edit() {
+			const res = await this.$myRequest({
+				url: '/mhotel/ampupdateContact.action',
+				data: {
+					contactUserName: this.name,
+					contactUserPhone: this.phone,
+					contactUserIdNum: this.identity,
+					contactId: this.id
+				}
+			})
+			console.log(res)
+			if (res.code === 200) {
+				uni.showToast({
+					title: '编辑成功',
+					icon: 'success',
+					mask: true
+				})
+				setTimeout(() => {
+					uni.navigateBack(1)
+				}, 1500)
+			}
+		}
 	}
 }
 </script>

+ 58 - 17
pages/affirmOrder/affirmOrder.vue

@@ -14,7 +14,7 @@
 			<!-- 房间信息区域 -->
 			<view class="info">
 				<view class="info_time">
-					{{ info.startTimeMonth }}月{{ info.startTimeMonth }}日
+					{{ info.startTimeMonth }}月{{ info.startTimeDay }}日
 					<text class="gap">星期{{ info.startTimeWeek }}</text>
 					<view class="time_line"></view>
 					<view class="time_num">{{ info.nightNum }}晚</view>
@@ -22,14 +22,14 @@
 					<view class="gap">{{ info.endTimeMonth }}月{{ info.endTimeDay }}日</view>
 					<text>星期{{ info.endTimeWeek }}</text>
 				</view>
-				<view class="info_msg">大床房</view>
+				<view class="info_msg">{{ info.item.hName }}</view>
 				<view class="info_type">
 					<view class="type_item">包吃住型</view>
 					<view class="type_item">包吃住型</view>
 					<view class="type_item">包吃住型</view>
 				</view>
 				<view class="info_tag">
-					<view class="tag_item">16-20㎡</view>
+					<view class="tag_item">{{ info.item.hAreas }}㎡</view>
 					<view class="tag_item">双人床</view>
 					<view class="tag_item">窗户位于走廊/窗户较小</view>
 				</view>
@@ -86,9 +86,9 @@
 				<view class="price_box">
 					<view class="box_key">在线支付</view>
 					<view class="box_value">
-						1间1晚 共
+						{{ roomCount }}间{{ info.nightNum }}晚 共
 						<text>¥</text>
-						<span>280.00</span>
+						<span>{{ roomCount * info.item.price * info.nightNum }}.00</span>
 					</view>
 				</view>
 			</view>
@@ -96,15 +96,14 @@
 			<view class="all">
 				<view class="all_title">
 					<text>房费</text>
-					<text class="mr_30">¥280</text>
+					<text class="mr_30">¥{{ roomCount * info.item.price * info.nightNum }}</text>
 				</view>
 
 				<view class="all_box">
 					<view class="box_list">
-						<view class="list_item">2023-08-01</view>
-						<view class="list_item">2023-08-02</view>
+						<view class="list_item" v-for="(item, index) in info.dayList" :key="index">{{ item }}</view>
 					</view>
-					<view class="box_total">1 x ¥280</view>
+					<view class="box_total">{{ roomCount }}间 x {{ info.nightNum }}晚 x ¥{{ info.item.price }}</view>
 				</view>
 			</view>
 		</view>
@@ -113,7 +112,7 @@
 		<view class="foot">
 			<view class="foot_left">
 				<text>¥</text>
-				{{ info.price }}
+				{{ roomCount * info.item.price * info.nightNum }}
 			</view>
 			<view class="foot_right" @click="goPagePay">提交订单</view>
 		</view>
@@ -128,22 +127,24 @@ export default {
 			// 预定房间数量
 			roomCount: 1,
 			// 住客姓名
-			clientName: '张三',
+			clientName: '',
 			// 联系电话
-			clientPhone: '13659865896',
+			clientPhone: '',
 			// 预计到店时间
 			arriveTime: '',
+			// 当前时间
 			timeValue: Number(new Date())
 		}
 	},
 	onLoad(options) {
 		this.info = JSON.parse(options.info)
-		// console.log(this.info)
+		console.log(this.info)
 		uni.$on('change', this.change)
 	},
 	methods: {
 		change(e) {
 			this.clientName = e.name
+			this.clientPhone = e.phone
 		},
 		handleSelectClient() {
 			uni.navigateTo({
@@ -188,11 +189,51 @@ export default {
 			}
 		},
 		// 提交订单按钮回调
-		goPagePay() {
-			let info = JSON.stringify(this.info)
-			uni.navigateTo({
-				url: `/pages/pay/pay?info=${info}`
+		async goPagePay() {
+			if (!this.clientName) {
+				uni.showToast({
+					title: '请输入住客姓名',
+					icon: 'none',
+					mask: true
+				})
+				return
+			}
+			if (!this.clientPhone) {
+				uni.showToast({
+					title: '请输入联系电话',
+					icon: 'none',
+					mask: true
+				})
+				return
+			}
+
+			const res = await this.$myRequest({
+				url: '/mhotel/abkcreateOrder.action',
+				data: {
+					houseId: this.info.item.id,
+					startTime: this.info.queryStartTime,
+					endTime: this.info.queryEndTime,
+					houseOrderNumber: this.roomCount,
+					userName: this.clientName,
+					userPhone: this.clientPhone,
+					userId: uni.getStorageSync('userInfo').id
+				}
 			})
+			// console.log(res)
+			if (res.code === 200) {
+				let info = JSON.stringify({
+					detaliInfo: this.info,
+					houseOrderNumber: this.roomCount,
+					userName: this.clientName,
+					userPhone: this.clientPhone,
+					price: this.roomCount * this.info.item.price * this.info.nightNum,
+					orderNo: res.data
+				})
+
+				uni.navigateTo({
+					url: `/pages/pay/pay?info=${info}`
+				})
+			}
 		},
 		handleBack() {
 			uni.navigateBack(1)

+ 179 - 5
pages/binding/binding.vue

@@ -9,13 +9,13 @@
 			<view class="form_name">
 				账户
 				<view class="name_input">
-					<input type="text" placeholder="请输入商户超级管理员账号" />
+					<input type="text" placeholder="请输入商户超级管理员账号" v-model="formName" />
 				</view>
 			</view>
 			<view class="form_password">
 				密码
 				<view class="password_input">
-					<input type="text" placeholder="请输入商户超级管理员密码" />
+					<input type="text" password placeholder="请输入商户超级管理员密码" v-model="formPassword" />
 				</view>
 			</view>
 			<view class="form_msg">{{ info }}</view>
@@ -28,11 +28,21 @@
 export default {
 	data() {
 		return {
+			// 绑定解绑类型
 			type: '',
-			info: '绑定失败,请输入正确的账号或者密码'
+			// 身份类型
+			status: '',
+			// 绑定失败,请输入正确的账号或者密码
+			info: '',
+			// 账户
+			formName: '',
+			// 密码
+			formPassword: '',
+			code: ''
 		}
 	},
 	onLoad(options) {
+		this.status = options.status
 		if (options.type) {
 			this.type = options.type
 			uni.setNavigationBarTitle({
@@ -42,9 +52,172 @@ export default {
 	},
 	methods: {
 		handleClickBtn() {
-			uni.navigateTo({
-				url: '/pages/shopInfo/shopInfo'
+			if (!this.formName) {
+				uni.showToast({
+					title: '请输入账户名',
+					icon: 'none',
+					mask: true
+				})
+				return
+			}
+			if (!this.formPassword) {
+				uni.showToast({
+					title: '请输入密码',
+					icon: 'none',
+					mask: true
+				})
+				return
+			}
+			console.log(this.formName)
+			console.log(this.formPassword)
+			uni.login({
+				provider: 'weixin',
+				success: (res) => {
+					this.code = res.code
+					if (this.type === '2') {
+						// 解绑
+						if (this.status === '1') {
+							// 商户解绑
+							this.handleUnbind()
+						} else {
+							// 业主解绑
+							this.handleUnbind2()
+						}
+					} else {
+						// 绑定
+						if (this.status === '1') {
+							// 商户绑定
+							this.handleBinding()
+						} else {
+							// 业主绑定
+							this.handleBinding2()
+						}
+					}
+				}
+			})
+		},
+		// 商户绑定请求
+		async handleBinding() {
+			const res = await this.$myRequest({
+				url: '/mhotel/appmanage_code.action',
+				data: {
+					code: this.code,
+					admin_name: this.formName,
+					password: this.formPassword
+				}
+			})
+			// console.log(res)
+			if (res.code === 200) {
+				uni.showToast({
+					title: res.message,
+					icon: 'success',
+					mask: true
+				})
+				let data = JSON.stringify(res.data)
+
+				setTimeout(() => {
+					uni.redirectTo({
+						url: `/pages/shopInfo/shopInfo?type=1&data=${data}`
+					})
+				}, 1500)
+			} else {
+				uni.showToast({
+					title: res.message,
+					icon: 'none',
+					mask: true
+				})
+			}
+		},
+		// 业主绑定请求
+		async handleBinding2() {
+			const res = await this.$myRequest({
+				url: '/mhotel/appcode.action',
+				data: {
+					code: this.code,
+					admin_name: this.formName,
+					password: this.formPassword
+				}
+			})
+			// console.log(res)
+			if (res.code === 200) {
+				uni.showToast({
+					title: res.message,
+					icon: 'success',
+					mask: true
+				})
+				let data = JSON.stringify(res.data)
+				setTimeout(() => {
+					uni.redirectTo({
+						url: `/pages/shopInfo/shopInfo?type=2&data=${data}`
+					})
+				}, 1500)
+			} else {
+				uni.showToast({
+					title: res.message,
+					icon: 'none',
+					mask: true
+				})
+			}
+		},
+		// 商户解绑请求
+		async handleUnbind() {
+			const res = await this.$myRequest({
+				url: '/mhotel/appuncode_ma.action',
+				data: {
+					code: this.code,
+					admin_name: this.formName,
+					password: this.formPassword
+				}
 			})
+			// console.log(res)
+			if (res.code === 200) {
+				uni.showToast({
+					title: res.message,
+					icon: 'success',
+					mask: true
+				})
+				setTimeout(() => {
+					uni.switchTab({
+						url: '/pages/my/my'
+					})
+				}, 1500)
+			} else {
+				uni.showToast({
+					title: res.message,
+					icon: 'none',
+					mask: true
+				})
+			}
+		},
+		// 业主解绑请求
+		async handleUnbind2() {
+			const res = await this.$myRequest({
+				url: '/mhotel/appuncode.action',
+				data: {
+					code: this.code,
+					admin_name: this.formName,
+					password: this.formPassword
+				}
+			})
+			// console.log(res)
+			if (res.code === 200) {
+				uni.showToast({
+					title: res.message,
+					icon: 'success',
+					mask: true
+				})
+				setTimeout(() => {
+					uni.switchTab({
+						url: '/pages/my/my'
+					})
+				}, 1500)
+			} else {
+				uni.showToast({
+					title: res.message,
+					icon: 'none',
+					mask: true
+				})
+			}
 		}
 	}
 }
@@ -126,6 +299,7 @@ export default {
 
 		.form_msg {
 			margin-top: 23rpx;
+			height: 32rpx;
 			color: #d43030;
 			font-size: 24rpx;
 			text-align: center;

+ 40 - 41
pages/common/common.vue

@@ -22,15 +22,15 @@
 					<view class="list_item" @click="handleClick(item)">
 						<view class="item_box">
 							<view class="box_key">姓名</view>
-							<view class="box_value">{{ item.name }}</view>
+							<view class="box_value">{{ item.user_name }}</view>
 						</view>
 						<view class="item_box">
 							<view class="box_key">身份证号</view>
-							<view class="box_value">{{ item.identity }}</view>
+							<view class="box_value">{{ item.card_number }}</view>
 						</view>
 						<view class="item_box">
 							<view class="box_key">联系电话</view>
-							<view class="box_value">{{ item.phone }}</view>
+							<view class="box_value">{{ item.user_phone }}</view>
 						</view>
 					</view>
 				</uni-swipe-action-item>
@@ -46,38 +46,8 @@
 export default {
 	data() {
 		return {
-			list: [
-				{
-					id: 1,
-					name: '张三',
-					identity: '360730199603164895',
-					phone: '13677985689'
-				},
-				{
-					id: 2,
-					name: '李四',
-					identity: '360730199603164895',
-					phone: '13677985689'
-				},
-				{
-					id: 3,
-					name: '王五',
-					identity: '360730199603164895',
-					phone: '13677985689'
-				},
-				{
-					id: 4,
-					name: '老六',
-					identity: '360730199603164895',
-					phone: '13677985689'
-				},
-				{
-					id: 5,
-					name: '剑八',
-					identity: '360730199603164895',
-					phone: '13677985689'
-				}
-			],
+			// 旅客列表
+			list: [],
 			type: ''
 		}
 	},
@@ -86,11 +56,28 @@ export default {
 			this.type = options.type
 		}
 	},
+	onShow() {
+		this.getDataList()
+	},
 	methods: {
+		// 获取旅客列表
+		async getDataList() {
+			const res = await this.$myRequest({
+				url: '/mhotel/ampgetUserContactList.action',
+				data: {
+					userId: uni.getStorageSync('userInfo').id
+				}
+			})
+			// console.log(res)
+			if (res.code === 200) {
+				this.list = res.data.pageList
+			}
+		},
 		handleClick(item) {
 			if (this.type) {
 				uni.$emit('change', {
-					name: item.name
+					name: item.user_name,
+					phone: item.user_phone
 				})
 				uni.navigateBack(1)
 			}
@@ -108,13 +95,25 @@ export default {
 			console.log(item)
 			uni.showModal({
 				title: '提示',
-				content: `确定删除${item.name}吗?`,
-				success: (res) => {
+				content: `确定删除${item.user_name}吗?`,
+				success: async (res) => {
 					if (res.confirm) {
-						uni.showToast({
-							title: '删除成功',
-							icon: 'success'
+						const res = await this.$myRequest({
+							url: '/mhotel/ampdelContact.action',
+							data: {
+								contactId: item.id
+							}
 						})
+						// console.log(res)
+						if (res.code === 200) {
+							uni.showToast({
+								title: '删除成功',
+								icon: 'success'
+							})
+							setTimeout(() => {
+								this.getDataList()
+							}, 1500)
+						}
 					}
 				}
 			})

+ 131 - 79
pages/detail/detail.vue

@@ -2,7 +2,7 @@
 	<view class="container" :style="'overflow:' + (showPage ? 'hidden' : 'visible')">
 		<!-- 顶部民宿图片区域 -->
 		<view class="banner">
-			<img class="img" :src="info.imgUrl || '../../static/index/banner.png'" />
+			<img class="img" :src="info.coverImg || '../../static/index/banner.png'" />
 
 			<view class="slogan">
 				<img src="../../static/index/slogan.png" />
@@ -11,10 +11,10 @@
 
 		<!-- 民宿详细信息区域 -->
 		<view class="detail">
-			<view class="detail_name">{{ info.hotelName || '默认名字' }}</view>
+			<view class="detail_name">{{ info.hname || '默认名字' }}</view>
 
 			<view class="detail_info">
-				<view class="info_left">2021年装修|2023年开业</view>
+				<view class="info_left">{{ info.fitupTime }}装修|{{ info.openTime }}开业</view>
 				<view class="info_right" @click="goPageDetailInfo">
 					设施/详情
 					<img src="../../static/index/right.png" />
@@ -22,33 +22,25 @@
 			</view>
 
 			<view class="detail_group">
-				<view class="group_item">
-					<img src="../../static/index/meeting.png" />
-					会议室
-				</view>
-				<view class="group_item">
-					<img src="../../static/index/brekker.png" />
-					含早
-				</view>
-				<view class="group_item">
-					<img src="../../static/index/parking.png" />
-					免费停车场
+				<view class="group_item" v-for="item in info.hconfigList" :key="item.id">
+					<img :src="item.fileUrl || '../../static/index/meeting.png'" />
+					{{ item.name }}
 				</view>
 			</view>
 
 			<view class="address">
-				<view class="address_left">宜春市靖安县北高速路口什么路899号</view>
+				<view class="address_left">{{ info.hposition }}</view>
 				<view class="address_right">
 					<view class="right_box" @click="handleMap(info)">
 						<img src="../../static/index/map.png" />
 					</view>
-					<view class="right_box" @click="handlePhone(info.phone)">
+					<view class="right_box" @click="handlePhone(info.managerPhone)">
 						<img src="../../static/index/phone.png" />
 					</view>
 				</view>
 			</view>
 
-			<view class="distance">距离我{{ info.distance }}km</view>
+			<view class="distance" v-if="distance">距离我{{ distance }}km</view>
 		</view>
 
 		<!-- 房型信息区域 -->
@@ -84,24 +76,22 @@
 			></uv-calendar>
 
 			<!-- 房型列表区域 -->
-			<view class="body_content">
+			<view class="body_content" v-if="list.length">
 				<!-- 每一个房型盒子区域 -->
 				<view class="body_box" v-for="item in list" :key="item.id" @click="handleLookDetail(item)">
 					<view class="box_left">
-						<img :src="item.imgUrl" />
+						<img :src="item.fileInfoList[0].url || '../../static/index/banner.png'" />
 					</view>
 
 					<view class="box_center">
-						<view class="center_top">{{ item.name }}</view>
+						<view class="center_top">{{ item.hName }}</view>
 						<view class="center_center">
+							<view class="center_item">{{ item.hAreas }}㎡</view>
 							<view class="center_item">大床</view>
 							<view class="center_item">无早</view>
 						</view>
 						<view class="center_bottom">
-							<img class="img" src="../../static/index/wifi.png" />
-							<img class="img" src="../../static/index/air.png" />
-							<img class="img" src="../../static/index/smoke.png" />
-							<img class="img" src="../../static/index/lock.png" />
+							<img v-for="item2 in item.hConfigList" :key="item2.id" class="img" :src="item2.fileUrl || '../../static/index/wifi.png'" />
 						</view>
 					</view>
 
@@ -110,7 +100,7 @@
 							<text>¥</text>
 							{{ item.price }}
 						</view>
-						<view class="right_btn" :class="{ inactive: !item.active }" @click.stop="goPageAffOrder(item)">订</view>
+						<view class="right_btn" :class="{ inactive: !item.remainRooms }" @click.stop="goPageAffOrder(item)">订</view>
 					</view>
 				</view>
 
@@ -119,18 +109,15 @@
 					<view class="body_pop">
 						<!-- 轮播图区域 -->
 						<swiper indicator-dots circular indicator-color="#FFFFFF" indicator-active-color="#096562" class="pop_swiper">
-							<swiper-item class="pop_swiper_item">
-								<img class="img" src="../../static/index/banner.png" />
-							</swiper-item>
-							<swiper-item class="pop_swiper_item">
-								<img class="img" src="../../static/index/banner.png" />
+							<swiper-item class="pop_swiper_item" v-for="item in roomInfo.fileInfoList" :key="item.id">
+								<img class="img" :src="item.url || '../../static/index/banner.png'" />
 							</swiper-item>
 						</swiper>
 						<!-- 轮播图关闭图标区域 -->
 						<img class="pop_icon" src="../../static/index/close.png" @click="handleClosePop" />
 
 						<view class="pop_body">
-							<view class="body_title">{{ roomInfo.name }}</view>
+							<view class="body_title">{{ roomInfo.hName }}</view>
 							<view class="body_tags">
 								<view class="tags_item">
 									<img class="img" src="../../static/index/bed.png" />
@@ -142,7 +129,7 @@
 								</view>
 								<view class="tags_item">
 									<img class="img" src="../../static/index/place.png" />
-									15-20
+									{{ roomInfo.hAreas }}
 								</view>
 								<view class="tags_item">
 									<img class="img" src="../../static/index/window.png" />
@@ -151,15 +138,15 @@
 							</view>
 							<view class="body_title2">费用明细</view>
 							<view class="body_detail">
-								<view class="detail_old">¥{{ roomInfo.price }}</view>
-								<view class="detail_box">
+								<!-- <view class="detail_old">¥{{ roomInfo.price }}</view> -->
+								<!-- <view class="detail_box">
 									黄金会员9折
 									<text>-¥25</text>
 								</view>
 								<view class="detail_box">
 									活动
 									<text>-¥2.5</text>
-								</view>
+								</view> -->
 
 								<view class="detail_new">
 									每间每晚
@@ -168,20 +155,25 @@
 								</view>
 							</view>
 							<view class="body_bottom">
-								<view class="bottom_left" @click="handlePhone('18320846714')">
+								<view class="bottom_left" @click="handlePhone(info.managerPhone)">
 									<img class="img" src="../../static/index/phone2.png" />
 									联系商家
 								</view>
 								<view class="bottom_right">
 									<text>¥</text>
 									{{ roomInfo.price }}
-									<view class="btn" @click="goPageAffOrder(roomInfo)">预定</view>
+									<view class="btn" :class="{ inactive: !roomInfo.remainRooms }" @click="goPageAffOrder(roomInfo)">预定</view>
 								</view>
 							</view>
 						</view>
 					</view>
 				</uv-popup>
 			</view>
+
+			<view class="noData" v-else>
+				<img src="../../static/images/noData.png" />
+				暂无数据
+			</view>
 		</view>
 	</view>
 </template>
@@ -193,29 +185,7 @@ export default {
 			// 滚动穿透控制
 			showPage: false,
 			// 房型数据数组
-			list: [
-				{
-					id: 1,
-					imgUrl: '../../static/index/banner.png',
-					name: '01户型',
-					price: '323.00',
-					active: true
-				},
-				{
-					id: 2,
-					imgUrl: '../../static/index/banner.png',
-					name: '02户型',
-					price: '283.00',
-					active: false
-				},
-				{
-					id: 3,
-					imgUrl: '../../static/index/banner.png',
-					name: '03户型',
-					price: '223.00',
-					active: true
-				}
-			],
+			list: [],
 			// 住几晚
 			nightNum: 1,
 			// 入住时间-月
@@ -235,26 +205,79 @@ export default {
 			// 酒店信息
 			info: {},
 			// 房间信息
-			roomInfo: {}
+			roomInfo: {},
+			// 民宿Id
+			hotelId: '',
+			// 是否有定位权限
+			showLocation: false,
+			distance: '',
+			queryStartTime: '',
+			queryEndTime: ''
 		}
 	},
 	onLoad(options) {
-		// console.log(JSON.parse(options.info))
-		if (options.info) {
-			this.info = JSON.parse(options.info)
-		}
 		this.getTimes()
+		this.hotelId = options.id
+		this.distance = options.distance === 'undefined' ? false : options.distance
+		uni.getSetting({
+			success: (res) => {
+				this.showLocation = res.authSetting['scope.userLocation']
+				this.getHotelInfo()
+			}
+		})
 	},
 	methods: {
+		async getHotelInfo() {
+			const res = await this.$myRequest({
+				url: '/mhotel/ahpgetHouseByHotelId.action',
+				data: {
+					// hotelId: this.hotelId,
+					hotelId: 2,
+					queryStartTime: this.queryStartTime,
+					queryEndTime: this.queryEndTime
+				}
+			})
+			// console.log(res)
+			if (res.code === 200) {
+				this.info = res.data.data
+				this.list = res.data.data.houseList
+			}
+		},
 		// 点击地图图标回调
 		handleMap(item) {
-			uni.openLocation({
-				latitude: 28.86054,
-				longitude: 115.361744,
-				name: item.hotelName,
-				address: '靖安县---详细地址',
-				success: () => {}
-			})
+			if (this.showLocation) {
+				let lat = item.hpositionWens.split(',')[0] * 1
+				let lng = item.hpositionWens.split(',')[1] * 1
+				uni.openLocation({
+					latitude: lat,
+					longitude: lng,
+					name: item.hname,
+					address: item.hposition,
+					success: () => {}
+				})
+			} else {
+				uni.showModal({
+					content: '当前没有定位权限,是否去设置打开?',
+					confirmText: '确认',
+					cancelText: '取消',
+					success: (res) => {
+						if (res.confirm) {
+							uni.openSetting({
+								success: (res) => {
+									this.showLocation = true
+									this.handleMap(item)
+								}
+							})
+						} else {
+							uni.showToast({
+								title: '获取定位权限失败,无法使用地图功能',
+								icon: 'none',
+								mask: true
+							})
+						}
+					}
+				})
+			}
 		},
 		// 点击电话图标回调
 		handlePhone(phone) {
@@ -269,7 +292,7 @@ export default {
 		},
 		// 点击每一个户型回调
 		handleLookDetail(item) {
-			// console.log(item)
+			console.log(item)
 			this.roomInfo = item
 			this.showPage = true
 			this.$refs.popup.open('bottom')
@@ -277,16 +300,18 @@ export default {
 		// 点击设施详情回调
 		goPageDetailInfo() {
 			uni.navigateTo({
-				url: '/pages/detailInfo/detailInfo'
+				url: `/pages/detailInfo/detailInfo?hotelId=${this.hotelId}`
 			})
 		},
 		// 点击 订 预定 按钮回调
 		goPageAffOrder(item) {
-			let flag = uni.getStorageSync('login')
+			console.log(this.defaultDateMultiple)
+			let flag = uni.getStorageSync('openid')
 			if (flag) {
-				if (item.active) {
+				if (item.remainRooms) {
 					this.$refs.popup.close()
 					this.showPage = false
+
 					let info = JSON.stringify({
 						nightNum: this.nightNum,
 						startTimeDay: this.startTimeDay,
@@ -295,7 +320,10 @@ export default {
 						endTimeDay: this.endTimeDay,
 						endTimeMonth: this.endTimeMonth,
 						endTimeWeek: this.endTimeWeek,
-						price: item.price
+						item: item,
+						queryStartTime: this.queryStartTime,
+						queryEndTime: this.queryEndTime,
+						dayList: this.defaultDateMultiple
 					})
 					uni.navigateTo({
 						url: `/pages/affirmOrder/affirmOrder?info=${info}`
@@ -303,7 +331,8 @@ export default {
 				} else {
 					uni.showToast({
 						title: '该房间已售罄',
-						icon: 'none'
+						icon: 'none',
+						mask: true
 					})
 				}
 			} else {
@@ -325,7 +354,10 @@ export default {
 		},
 		// 选择日历确定按钮回调
 		handleConfirm(e) {
-			// console.log(e)
+			this.defaultDateMultiple = e
+			this.queryStartTime = e[0]
+			this.queryEndTime = e[e.length - 1]
+			this.getHotelInfo()
 			this.startTimeWeek = this.getWeek(e[0])
 			this.endTimeWeek = this.getWeek(e[e.length - 1])
 			let temStart = e[0].split('-')
@@ -355,6 +387,8 @@ export default {
 			this.endTimeDay = tomorrow.getDate().toString().padStart(2, 0)
 			// 日历默认选择的日期
 			this.defaultDateMultiple = [`${today.getFullYear()}-${this.startTimeMonth}-${this.startTimeDay}`, `${tomorrow.getFullYear()}-${this.endTimeMonth}-${this.endTimeDay}`]
+			this.queryStartTime = this.defaultDateMultiple[0]
+			this.queryEndTime = this.defaultDateMultiple[1]
 		},
 
 		// 传入参数获取当前是星期几
@@ -827,11 +861,29 @@ export default {
 								border-radius: 64rpx;
 								background-color: #096562;
 							}
+
+							.inactive {
+								background-color: #cccccc;
+							}
 						}
 					}
 				}
 			}
 		}
+
+		.noData {
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+			padding-bottom: 20rpx;
+
+			img {
+				margin-top: 60rpx;
+				width: 600rpx;
+				height: 600rpx;
+			}
+		}
 	}
 }
 </style>

ファイルの差分が大きいため隠しています
+ 71 - 12
pages/detailInfo/detailInfo.vue


+ 67 - 35
pages/home/home.vue

@@ -2,9 +2,9 @@
 	<view class="container">
 		<!-- 搜索框区域 -->
 		<uv-row custom-style="margin: 10px 0px" gutter="10">
-			<picker @change="bindPickerChange" :value="placeIndex" :range="placeList">
+			<picker @change="bindPickerChange" range-key="name" :value="placeIndex" :range="placeList">
 				<view class="address">
-					<view class="address_text">{{ placeList[placeIndex] }}</view>
+					<view class="address_text">{{ placeList[placeIndex].name }}</view>
 					<img src="../../static/index/bottom.png" />
 				</view>
 			</picker>
@@ -57,7 +57,11 @@ export default {
 			// 民宿列表数组
 			hotelList: [],
 			// 地区数组
-			placeList: ['靖安县', '宝峰镇', '三爪乡'],
+			placeList: [
+				{
+					name: '靖安县'
+				}
+			],
 			// 当前选择地区索引
 			placeIndex: 0,
 			// 当前页
@@ -66,24 +70,52 @@ export default {
 			rows: 6,
 			// 总条数
 			total: null,
-			// 当前用户定位经度
+			// 用户定位经度
 			myLng: 0,
-			// 当前用户定位纬度
-			myLat: 0,
-
-			// 签到点中心经度
-			centerLng: 0,
-			// 签到点中心纬度
-			centerLat: 0,
-			// 距离签到点的距离
-			distance: 0
+			// 用户定位纬度
+			myLat: 0
 		}
 	},
 	onLoad() {
 		this.getLocation()
-		// this.getHotelList()
+		this.getTownList()
+	},
+	// 页面下拉回调
+	onPullDownRefresh() {
+		setTimeout(() => {
+			this.hotelList = []
+			this.page = 1
+			this.getLocation()
+			uni.stopPullDownRefresh()
+		}, 2000)
+	},
+	// 页面下拉到底部回调
+	onReachBottom() {
+		if (this.hotelList.length < this.total) {
+			this.page++
+			this.getHotelList()
+		} else {
+			uni.showToast({
+				title: '没有更多数据了',
+				icon: 'none'
+			})
+		}
 	},
 	methods: {
+		// 获取乡镇集合
+		async getTownList() {
+			const res = await this.$myRequest({
+				url: '/mhotel/hotelqueryList.action',
+				method: 'get',
+				data: {
+					code: 10
+				}
+			})
+			// console.log(res)
+			if (res.code === 200) {
+				this.placeList = [...this.placeList, ...res.data]
+			}
+		},
 		// 获取用户当前位置
 		getLocation() {
 			uni.getSetting({
@@ -100,8 +132,6 @@ export default {
 										this.myLng = res.longitude
 										this.showdDistance = true
 										this.getHotelList()
-										console.log('2当前位置的经度:' + res.longitude)
-										console.log('2当前位置的纬度:' + res.latitude)
 									}
 								})
 							},
@@ -138,8 +168,6 @@ export default {
 								this.myLng = res.longitude
 								this.showdDistance = true
 								this.getHotelList()
-								console.log('当前位置的经度:' + res.longitude)
-								console.log('当前位置的纬度:' + res.latitude)
 							}
 						})
 					}
@@ -153,20 +181,24 @@ export default {
 				data: {
 					queryValue: this.keywords,
 					page: this.page,
-					rows: this.rows
+					rows: this.rows,
+					hotelTownship: this.placeList[this.placeIndex].id || ''
 				}
 			})
 			// console.log(res)
-			this.hotelList = res.pageList
-			console.log(this.myLat)
-			console.log(this.myLng)
-			if (this.showdDistance && this.hotelList.length) {
-				this.hotelList.forEach((ele) => {
-					ele.distance = this.calculateDistance(28.86054, 115.361744)
-				})
+			if (res.code === 200) {
+				this.hotelList = [...this.hotelList, ...res.data.pageList]
+				this.total = res.data.total
+
+				// 如果定位成功则获取和民宿之间的距离
+				if (this.showdDistance && this.hotelList.length) {
+					this.hotelList.forEach((ele) => {
+						let lat = ele.hpositionWens.split(',')[0]
+						let lng = ele.hpositionWens.split(',')[1]
+						ele.distance = this.calculateDistance(lat, lng)
+					})
+				}
 			}
-			console.log(this.hotelList)
-			this.total = res.total
 		},
 		// 计算两个点之间的距离
 		calculateDistance(lat, lng) {
@@ -186,22 +218,22 @@ export default {
 
 		// 搜索按钮点击回调
 		searchHandler() {
-			console.log(this.keywords)
-			// this.page = 1
-			// this.getHotelList()
+			this.hotelList = []
+			this.page = 1
+			this.getHotelList()
 		},
 		// 点击每一个名宿卡片回调
 		goPageDetail(item) {
-			// console.log(item)
-			const info = JSON.stringify(item)
 			uni.navigateTo({
-				url: `/pages/detail/detail?info=${info}`
+				url: `/pages/detail/detail?id=${item.id}&distance=${item.distance}`
 			})
 		},
 		// 选择地区时的回调
 		bindPickerChange(e) {
-			console.log('picker发送选择改变,携带值为', e.detail.value)
 			this.placeIndex = e.detail.value
+			this.hotelList = []
+			this.page = 1
+			this.getHotelList()
 		}
 	}
 }

+ 3 - 3
pages/index/index.vue

@@ -24,9 +24,9 @@ export default {
 		}
 	},
 	onLoad() {
-		// uni.switchTab({
-		// 	url: '/pages/home/home'
-		// })
+		uni.switchTab({
+			url: '/pages/home/home'
+		})
 	},
 	methods: {
 		handleGo() {

+ 23 - 26
pages/login/login.vue

@@ -9,11 +9,7 @@
 <script>
 export default {
 	data() {
-		return {
-			code: '',
-			encryptedData: '',
-			iv: ''
-		}
+		return {}
 	},
 	methods: {
 		// 授权登录按钮回调
@@ -22,36 +18,37 @@ export default {
 			uni.login({
 				//使用微信登录
 				provider: 'weixin',
-				success: (loginRes) => {
-					this.code = loginRes.code
-					// 获取用户加密信息
-					uni.getUserInfo({
-						provider: 'weixin',
-						lang: 'zh_CN',
-						success: (res) => {
-							console.log(res)
-							this.encryptedData = res.encryptedData
-							this.iv = res.iv
-							// 发送请求到后端解密用户信息
-							this.loginReq()
-						}
-					})
+				success: (res) => {
+					console.log(res)
+					this.loginReq(res.code)
 				}
 			})
 		},
 
 		// 解密用户信息请求
-		async loginReq() {
+		async loginReq(code) {
 			const res = await this.$myRequest({
-				url: '/mhotel2/appcode.action',
-				method: 'post',
+				url: '/mhotel/ampauthorizationUser.action',
 				data: {
-					code: this.code,
-					encryptedData: this.encryptedData,
-					iv: this.iv
+					code
 				}
 			})
-			console.log(res)
+			// console.log(res)
+			if (res.code === 200) {
+				uni.setStorageSync('openid', res.data.openid)
+				uni.setStorageSync('userInfo', res.data)
+				uni.showToast({
+					title: '授权成功',
+					icon: 'success',
+					mask: true
+				})
+				uni.$emit('changeFlag', {
+					data: true
+				})
+				setTimeout(() => {
+					uni.navigateBack(1)
+				}, 1500)
+			}
 		}
 	}
 }

+ 86 - 12
pages/my/my.vue

@@ -9,11 +9,11 @@
 			<img class="img" src="../../static/my/portrait.png" />
 
 			<!-- 姓名区域 -->
-			<view class="name" v-if="flag">张三</view>
+			<view class="name" v-if="flag">{{ userInfo.user_name || '游客' }}</view>
 			<!-- 用户id区域 -->
-			<view class="number" v-if="flag">ID:1925689</view>
+			<view class="number" v-if="flag">ID:{{ userInfo.id }}</view>
 			<!-- 是否实名认证区域 -->
-			<view class="real" v-if="real">
+			<view class="real" v-if="userInfo.card_number">
 				<img src="../../static/my/true.png" />
 				已实名认证
 			</view>
@@ -31,24 +31,35 @@
 			<view class="body_item" @click="goPageOrder">
 				<img class="img" src="../../static/my/order.png" />
 				订单管理
+				<img class="img_icon" src="../../static/my/right3.png" />
 			</view>
 
 			<!-- 常用旅客区域 -->
 			<view class="body_item" @click="goPageCommon">
 				<img class="img2" src="../../static/my/people.png" />
 				常用旅客
+				<img class="img_icon" src="../../static/my/right3.png" />
 			</view>
 
 			<!-- 我是商户区域 -->
-			<view class="body_item" @click="goPageShop">
+			<view class="body_item" @click="handleClick(1)">
 				<img class="img2" src="../../static/my/shop.png" />
 				我是商户
+				<img class="img_icon" src="../../static/my/right3.png" />
+			</view>
+
+			<!-- 我是业主区域 -->
+			<view class="body_item" @click="handleClick(2)">
+				<img class="img2" src="../../static/my/shop2.png" />
+				我是业主
+				<img class="img_icon" src="../../static/my/right3.png" />
 			</view>
 
 			<!-- 设置区域 -->
 			<view class="body_item" @click="goPageSet">
 				<img class="img3" src="../../static/my/set.png" />
 				设置
+				<img class="img_icon" src="../../static/my/right3.png" />
 			</view>
 		</view>
 	</view>
@@ -58,25 +69,81 @@
 export default {
 	data() {
 		return {
-			// 是否实名认证
-			real: false,
 			// 是否登录标识
-			flag: false
+			flag: false,
+			// 用户信息
+			userInfo: {}
 		}
 	},
 	onLoad() {
-		this.flag = false
+		uni.$on('changeFlag', this.changeFlag)
+		let openid = uni.getStorageSync('openid')
+		if (openid) {
+			this.flag = true
+			this.userInfo = uni.getStorageSync('userInfo')
+		} else {
+			this.flag = false
+		}
 	},
 	onShow() {
 		// console.log(121)
 	},
 	methods: {
-		// 我是商户点击按钮回调
-		goPageShop() {
-			uni.navigateTo({
-				url: '/pages/shop/shop'
+		changeFlag(e) {
+			// console.log(e)
+			this.flag = e.data
+			this.userInfo = uni.getStorageSync('userInfo')
+		},
+		handleClick(type) {
+			// 1为商户,2为业主
+			uni.login({
+				provider: 'weixin',
+				success: (res) => {
+					this.handleQuery(type, res.code)
+				}
 			})
 		},
+
+		// 查询请求
+		async handleQuery(type, code) {
+			if (type === 1) {
+				// 查询商家是否绑定
+				const res = await this.$myRequest({
+					url: '/mhotel/appget_user_ma.action',
+					data: {
+						code
+					}
+				})
+				if (res.code === 200) {
+					let data = JSON.stringify(res.data)
+					uni.navigateTo({
+						url: `/pages/shopInfo/shopInfo?type=1&data=${data}`
+					})
+				} else {
+					uni.navigateTo({
+						url: '/pages/shop/shop'
+					})
+				}
+			} else if (type === 2) {
+				// 查询业主是否已绑定
+				const res = await this.$myRequest({
+					url: '/mhotel/appgetUser.action',
+					data: {
+						code
+					}
+				})
+				if (res.code === 200) {
+					let data = JSON.stringify(res.data)
+					uni.navigateTo({
+						url: `/pages/shopInfo/shopInfo?type=2&data=${data}`
+					})
+				} else {
+					uni.navigateTo({
+						url: '/pages/shop2/shop2'
+					})
+				}
+			}
+		},
 		// 去登录文字回调
 		goPageLogin() {
 			uni.navigateTo({
@@ -205,6 +272,7 @@ export default {
 			align-items: center;
 			box-sizing: border-box;
 			padding-left: 13rpx;
+			padding-bottom: 5rpx;
 			width: 179rpx;
 			height: 42rpx;
 			font-size: 24rpx;
@@ -261,6 +329,12 @@ export default {
 				width: 50rpx;
 				height: 50rpx;
 			}
+
+			.img_icon {
+				margin-left: auto;
+				width: 49rpx;
+				height: 49rpx;
+			}
 		}
 	}
 }

+ 73 - 40
pages/orderDetail/orderDetail.vue

@@ -9,35 +9,37 @@
 			<!-- 返回图标区域 -->
 			<img class="header_icon" src="../../static/index/left.png" @click="handleBack" />
 
-			<view class="header_type" v-if="type === '1'">代付款</view>
-			<view class="header_info" v-if="type === '1'">超时后,订单将会自动取消</view>
-			<view class="header_type" v-if="type === '2'">支付超时</view>
-			<view class="header_info" v-if="type === '2'">订单已超过可支付时间,请重新下单</view>
-			<view class="header_type" v-if="type === '3'">已支付</view>
-			<view class="header_info" v-if="type === '3'">订单已支付,请等待商家接单</view>
-			<view class="header_type" v-if="type === '4'">已取消</view>
-			<view class="header_info" v-if="type === '4'">订单已取消,请重新下单</view>
-			<view class="header_type" v-if="type === '5'">已退单</view>
-			<view class="header_info" v-if="type === '5'">订单已被商家退单,请重新下单</view>
-			<view class="header_type" v-if="type === '6'">待入住</view>
-			<view class="header_info" v-if="type === '6'">订单已被商家接单,请前往办理入住</view>
-			<view class="header_type" v-if="type === '7'">已入住</view>
-			<view class="header_info" v-if="type === '7'">订单已办理入住</view>
-			<view class="header_type" v-if="type === '8'">已退款</view>
-			<view class="header_info" v-if="type === '8'">订单已退款</view>
-			<view class="header_type" v-if="type === '9'">已消费</view>
-			<view class="header_info" v-if="type === '9'">您的订单已消费,期待您再次预定哦</view>
+			<view class="header_type" v-if="info.orderStatus === '1'">待支付</view>
+			<view class="header_info" v-if="info.orderStatus === '1'">超时后,订单将会自动取消</view>
+			<view class="header_type" v-if="info.orderStatus === '2'">已支付</view>
+			<view class="header_info" v-if="info.orderStatus === '2'">订单已支付,请等待商家接单</view>
+			<view class="header_type" v-if="info.orderStatus === '3'">待入住</view>
+			<view class="header_info" v-if="info.orderStatus === '3'">订单已被商家接单,请前往办理入住</view>
+			<view class="header_type" v-if="info.orderStatus === '4'">已入住</view>
+			<view class="header_info" v-if="info.orderStatus === '4'">订单已办理入住</view>
+			<view class="header_type" v-if="info.orderStatus === '5'">已消费</view>
+			<view class="header_info" v-if="info.orderStatus === '5'">您的订单已消费,期待您再次预定哦</view>
+			<view class="header_type" v-if="info.orderStatus === '6'">支付超时</view>
+			<view class="header_info" v-if="info.orderStatus === '6'">订单已超过可支付时间,请重新下单</view>
+			<view class="header_type" v-if="info.orderStatus === '7'">已取消</view>
+			<view class="header_info" v-if="info.orderStatus === '7'">订单已取消,请重新下单</view>
+			<view class="header_type" v-if="info.orderStatus === '8'">已退单</view>
+			<view class="header_info" v-if="info.orderStatus === '8'">订单已被商家退单,请重新下单</view>
+			<view class="header_type" v-if="info.orderStatus === '9'">已退款</view>
+			<view class="header_info" v-if="info.orderStatus === '9'">订单已被商家退款</view>
+			<view class="header_type" v-if="info.orderStatus === '10'">退款中</view>
+			<view class="header_info" v-if="info.orderStatus === '10'">正在退款中...</view>
 
 			<view class="header_btn">
-				<view class="btn_box" v-if="type === '1'" @click="handlePay">去支付 ¥280.00</view>
-				<view class="btn_box" v-if="type === '3' || type === '6'" @click="handleCancel">取消订单</view>
-				<view class="btn_box" v-if="type === '2' || type === '4' || type === '5' || type === '7' || type === '8' || type === '9'" @click="handleAgain">再次预定</view>
+				<view class="btn_box" v-if="info.orderStatus === '1'" @click="handlePay">去支付 ¥{{ info.houseTotalPrice }}.00</view>
+				<view class="btn_box" v-if="info.orderStatus === '2' || info.orderStatus === '3'" @click="handleCancel">取消订单</view>
+				<view class="btn_box" v-if="info.orderStatus * 1 > 3" @click="handleAgain">再次预定</view>
 				<view class="btn_box" @click="handleDelete">删除订单</view>
 			</view>
 
-			<view class="header_msg" v-if="type === '1'">预定成功后,07月26日12:00前可免费取消</view>
-			<view class="header_msg" v-if="type === '3' || type === '6'">办理入住前,您均可取消订单</view>
-			<view class="header_msg" v-if="type === '8'">您的订单被商家退款了,请重新预定</view>
+			<view class="header_msg" v-if="info.orderStatus === '1'">预定成功后,07月26日12:00前可免费取消</view>
+			<view class="header_msg" v-if="info.orderStatus === '3' || info.orderStatus === '6'">办理入住前,您均可取消订单</view>
+			<view class="header_msg" v-if="info.orderStatus === '8'">您的订单被商家退款了,请重新预定</view>
 		</view>
 
 		<!-- 主体内容区域 -->
@@ -47,7 +49,7 @@
 				<view class="box_title">费用信息</view>
 				<view class="box_container">
 					<view class="container_key">在线支付</view>
-					<view class="container_value price">¥280</view>
+					<view class="container_value price">¥{{ info.houseTotalPrice }}</view>
 				</view>
 				<view class="box_container">
 					<view class="container_key">发票报销</view>
@@ -60,8 +62,8 @@
 				<view class="box_info">
 					<img src="../../static/index/banner.png" />
 					<view class="info_msg">
-						<view class="msg_name">民宿名称</view>
-						<view class="msg_address">详细地址详细地址详细地址详细地址详细地址详细地址详细详细地址详细地址详细地址详</view>
+						<view class="msg_name">{{ info.hotelName }}</view>
+						<view class="msg_address">{{ info.hotelHposition }}</view>
 					</view>
 				</view>
 				<view class="box_btn">
@@ -69,7 +71,7 @@
 						<img class="img" src="../../static/my/map.png" />
 						地图/导航
 					</view>
-					<view class="btn_item" @click="handlePhone('18320846714')">
+					<view class="btn_item" @click="handlePhone(info.hotelPhone)">
 						<img class="img2" src="../../static/my/phone.png" />
 						联系商家
 					</view>
@@ -100,11 +102,11 @@
 				</view>
 				<view class="info_box">
 					<view class="box_key">住客姓名</view>
-					<view class="box_value">张三</view>
+					<view class="box_value">{{ info.userName }}</view>
 				</view>
 				<view class="info_box">
 					<view class="box_key">联系电话</view>
-					<view class="box_value">13677985689</view>
+					<view class="box_value">{{ info.userPhone }}</view>
 				</view>
 				<view class="info_box">
 					<view class="box_key">预计到店</view>
@@ -122,7 +124,7 @@
 				</view>
 				<view class="box_container">
 					<view class="container_key">下单时间</view>
-					<view class="container_value">2023-06-27 15:15:15</view>
+					<view class="container_value">{{ info.createTime }}</view>
 				</view>
 			</view>
 		</view>
@@ -133,12 +135,14 @@
 export default {
 	data() {
 		return {
-			// 订单类型
-			type: null
+			// 详细信息
+			info: {}
 		}
 	},
 	onLoad(options) {
-		this.type = options.type
+		console.log(options)
+		this.info = JSON.parse(options.info)
+		console.log(this.info)
 	},
 	methods: {
 		// 点击复制文字回调
@@ -153,12 +157,41 @@ export default {
 		},
 		// 点击地图/导航文字回调
 		handleMap() {
-			uni.openLocation({
-				latitude: 28.86054,
-				longitude: 115.361744,
-				name: '',
-				address: '靖安县---详细地址',
-				success: () => {}
+			uni.getSetting({
+				success: (res) => {
+					if (res.authSetting['scope.userLocation']) {
+						let lat = this.info.hotelHpositionWens.split(',')[0] * 1
+						let lng = this.info.hotelHpositionWens.split(',')[1] * 1
+						uni.openLocation({
+							latitude: lat,
+							longitude: lng,
+							name: this.info.hotelName,
+							address: this.info.hotelHposition,
+							success: () => {}
+						})
+					} else {
+						uni.showModal({
+							content: '当前没有定位权限,是否去设置打开?',
+							confirmText: '确认',
+							cancelText: '取消',
+							success: (res) => {
+								if (res.confirm) {
+									uni.openSetting({
+										success: (res) => {
+											this.handleMap()
+										}
+									})
+								} else {
+									uni.showToast({
+										title: '获取定位权限失败',
+										icon: 'none',
+										mask: true
+									})
+								}
+							}
+						})
+					}
+				}
 			})
 		},
 		// 点击联系商家文字回调

+ 92 - 88
pages/orderManage/orderManage.vue

@@ -9,39 +9,40 @@
 						<img class="img" src="../../static/my/delete.png" />
 					</view>
 				</template>
-				<view class="order_box" @click="goPageOrderDetail(item.type)">
+				<view class="order_box" @click="goPageOrderDetail(item)">
 					<!-- 标题区域 -->
 					<view class="box_header">
 						<img class="img" src="../../static/my/hotel.png" />
 						<view class="title">{{ item.hotelName }}</view>
-						<view class="type type2" v-if="item.type === 1">
-							待付,剩余
+						<view class="type type2" v-if="item.orderStatus === '1'">
+							待付,剩余
 							<uv-count-down :time="countDownTime" format="mm:ss" @change="change" @finish="finish"></uv-count-down>
 						</view>
-						<view class="type" v-if="item.type === 2">支付超时</view>
-						<view class="type" v-if="item.type === 3">已支付</view>
-						<view class="type" v-if="item.type === 4">已取消</view>
-						<view class="type" v-if="item.type === 5">已退单</view>
-						<view class="type" v-if="item.type === 6">待入住</view>
-						<view class="type" v-if="item.type === 7">已入住</view>
-						<view class="type" v-if="item.type === 8">已退款</view>
-						<view class="type" v-if="item.type === 9">已消费</view>
+						<view class="type" v-if="item.orderStatus === '2'">已支付</view>
+						<view class="type" v-if="item.orderStatus === '3'">待入住</view>
+						<view class="type" v-if="item.orderStatus === '4'">已入住</view>
+						<view class="type" v-if="item.orderStatus === '5'">已消费</view>
+						<view class="type" v-if="item.orderStatus === '6'">支付超时</view>
+						<view class="type" v-if="item.orderStatus === '7'">已取消</view>
+						<view class="type" v-if="item.orderStatus === '8'">已退单</view>
+						<view class="type" v-if="item.orderStatus === '9'">已退款</view>
+						<view class="type" v-if="item.orderStatus === '10'">退款中</view>
 					</view>
 
 					<!-- 酒店信息区域 -->
 					<view class="box_info">
-						<img class="img" :src="item.imgUrl" />
+						<img class="img" :src="item.imgUrl || '../../static/my/test.png'" />
 						<view class="info_right">
-							<view class="info_right_item">1间,大床房</view>
-							<view class="info_right_item">2023-07-26 - 2023-07-27</view>
-							<view class="info_right_item">总价:¥229.00</view>
+							<view class="info_right_item">{{ item.houseOrderNumber }}间,{{ item.houseName }}房</view>
+							<view class="info_right_item">{{ item.orderStartTime }} - {{ item.orderEndTime }}</view>
+							<view class="info_right_item">总价:¥{{ item.houseTotalPrice }}.00</view>
 						</view>
 					</view>
 
 					<!-- 按钮区域 -->
-					<view class="box_btn" v-if="item.type === 1 || item.type === 2">
-						<view class="btn_item" v-if="item.type === 1" @click="goPagePay">预定</view>
-						<view class="btn_item" v-if="item.type === 2" @click="goPageDetail">再次预定</view>
+					<view class="box_btn" v-if="item.orderStatus === '1' || item.orderStatus === '6'">
+						<view class="btn_item" v-if="item.orderStatus === '1'" @click.stop="goPagePay">预定</view>
+						<view class="btn_item" v-if="item.orderStatus === '6'" @click.stop="goPageDetail">再次预定</view>
 					</view>
 				</view>
 			</uni-swipe-action-item>
@@ -53,73 +54,60 @@
 export default {
 	data() {
 		return {
-			/* type
-			1 为待付款  2 为支付超时,
-		    3 为已支付  4 为已取消,
-			5 为已退单  6 为待入住,
-			7 为已入住  8 为已退款,
-			9 为已消费 */
-			orderList: [
-				{
-					id: 1,
-					hotelName: '靖安乡宿',
-					type: 1,
-					imgUrl: '../../static/my/test.png'
-				},
-				{
-					id: 2,
-					hotelName: '开心乡宿',
-					type: 2,
-					imgUrl: '../../static/my/test.png'
-				},
-				{
-					id: 3,
-					hotelName: '健康乡宿',
-					type: 3,
-					imgUrl: '../../static/my/test.png'
-				},
-				{
-					id: 4,
-					hotelName: '幸福乡宿',
-					type: 4,
-					imgUrl: '../../static/my/test.png'
-				},
-				{
-					id: 5,
-					hotelName: '靖安乡宿',
-					type: 5,
-					imgUrl: '../../static/my/test.png'
-				},
-				{
-					id: 6,
-					hotelName: '开心乡宿',
-					type: 6,
-					imgUrl: '../../static/my/test.png'
-				},
-				{
-					id: 7,
-					hotelName: '健康乡宿',
-					type: 7,
-					imgUrl: '../../static/my/test.png'
-				},
-				{
-					id: 8,
-					hotelName: '幸福乡宿',
-					type: 8,
-					imgUrl: '../../static/my/test.png'
-				},
-				{
-					id: 9,
-					hotelName: '幸福乡宿',
-					type: 9,
-					imgUrl: '../../static/my/test.png'
-				}
-			],
+			// 订单列表
+			orderList: [],
 			// 倒计时时间(毫秒)
-			countDownTime: 1000 * 60 * 15
+			countDownTime: 1000 * 60 * 15,
+			// 当前页
+			page: 1,
+			// 每页多少条数据
+			rows: 10,
+			// 一共多少条数据
+			total: ''
+		}
+	},
+	onLoad() {
+		this.getOrderList()
+	},
+	// 下拉刷新
+	onPullDownRefresh() {
+		setTimeout(() => {
+			this.orderList = []
+			this.page = 1
+			this.getOrderList()
+			uni.stopPullDownRefresh()
+		}, 2000)
+	},
+	// 上拉加载
+	onReachBottom() {
+		if (this.orderList.length < this.total) {
+			this.page++
+			this.getOrderList()
+		} else {
+			uni.showToast({
+				title: '没有更多数据了',
+				icon: 'none',
+				mask: true
+			})
 		}
 	},
 	methods: {
+		// 获取订单列表数据
+		async getOrderList() {
+			const res = await this.$myRequest({
+				url: '/mhotel/ampgetBookingList.action',
+				data: {
+					userId: '2008',
+					page: this.page,
+					rows: this.rows
+				}
+			})
+			// console.log(res)
+			if (res.code === 200) {
+				this.orderList = [...this.orderList, ...res.data.pageList]
+				this.total = res.data.total
+			}
+		},
 		// 倒计时变化时触发
 		change(e) {
 			// console.log(e)
@@ -152,23 +140,39 @@ export default {
 			})
 		},
 		// 点击每一个订单回调
-		goPageOrderDetail(type) {
+		goPageOrderDetail(item) {
+			let info = JSON.stringify(item)
 			uni.navigateTo({
-				url: `/pages/orderDetail/orderDetail?type=${type}`
+				url: `/pages/orderDetail/orderDetail?info=${info}`
 			})
 		},
 		// 右侧选项内容删除按钮回调
 		handleDelete(item) {
-			console.log(item.name)
+			// console.log(item)
 			uni.showModal({
 				title: '提示',
 				content: '确定删除吗?删除后不可恢复',
-				success: (res) => {
+				success: async (res) => {
 					if (res.confirm) {
-						uni.showToast({
-							title: '删除成功',
-							icon: 'success'
+						const res = await this.$myRequest({
+							url: '/mhotel/abkdelBooking.action',
+							data: {
+								bookingId: item.id
+							}
 						})
+						// console.log(res)
+						if (res.code === 200) {
+							uni.showToast({
+								title: '删除成功',
+								icon: 'success',
+								mask: true
+							})
+							setTimeout(() => {
+								this.orderList = []
+								this.page = 1
+								this.getOrderList()
+							}, 1500)
+						}
 					}
 				}
 			})

+ 26 - 13
pages/pay/pay.vue

@@ -6,28 +6,28 @@
 		</view>
 		<view class="price">
 			<text>¥</text>
-			{{ info.price || '188.00' }}
+			{{ info.price + '.00' || '188.00' }}
 		</view>
 
 		<view class="title">住房信息</view>
 		<view class="info">
 			<view class="info_time">
-				{{ info.startTimeMonth || 8 }}月{{ info.startTimeDay || 2 }}日
-				<text class="gap">星期{{ info.startTimeWeek || '三' }}</text>
+				{{ info.detaliInfo.startTimeMonth || 8 }}月{{ info.detaliInfo.startTimeDay || 2 }}日
+				<text class="gap">星期{{ info.detaliInfo.startTimeWeek || '三' }}</text>
 				<view class="time_line"></view>
-				<view class="time_num">{{ info.nightNum || 1 }}晚</view>
+				<view class="time_num">{{ info.detaliInfo.nightNum || 1 }}晚</view>
 				<view class="time_line"></view>
-				<view class="gap">{{ info.endTimeMonth || 8 }}月{{ info.endTimeDay || 3 }}日</view>
-				<text>星期{{ info.endTimeWeek || '四' }}</text>
+				<view class="gap">{{ info.detaliInfo.endTimeMonth || 8 }}月{{ info.detaliInfo.endTimeDay || 3 }}日</view>
+				<text>星期{{ info.detaliInfo.endTimeWeek || '四' }}</text>
 			</view>
-			<view class="info_msg">大床房</view>
+			<view class="info_msg">{{ info.detaliInfo.item.hName }}</view>
 			<view class="info_type">
 				<view class="type_item">包吃住型</view>
 				<view class="type_item">包吃住型</view>
 				<view class="type_item">包吃住型</view>
 			</view>
 			<view class="info_tag">
-				<view class="tag_item">16-20㎡</view>
+				<view class="tag_item">{{ info.detaliInfo.item.hAreas }}㎡</view>
 				<view class="tag_item">双人床</view>
 				<view class="tag_item">窗户位于走廊/窗户较小</view>
 			</view>
@@ -43,7 +43,7 @@
 		</view>
 
 		<!-- 提交订单区域 -->
-		<view class="btn" @click="handleSub">提交订单</view>
+		<view class="btn" @click="handleSub">支付</view>
 	</view>
 </template>
 
@@ -64,13 +64,26 @@ export default {
 		console.log(this.info)
 	},
 	methods: {
-		// 点击提交订单按钮回调
+		// 点击支付按钮回调
 		handleSub() {
 			if (this.isChecked) {
+				// const res = await this.$myRequest({
+				// 	url: '/mhotel/abkcreateOrder.action',
+				// 	data: {
+				// 		houseId: this.info.detaliInfo.item.id,
+				// 		startTime: this.info.detaliInfo.queryStartTime,
+				// 		endTime: this.info.detaliInfo.queryEndTime,
+				// 		houseOrderNumber: this.info.houseOrderNumber,
+				// 		userName: this.info.userName,
+				// 		userPhone: this.info.userPhone,
+				// 		userId: uni.getStorageSync('userInfo').id
+				// 	}
+				// })
+				// console.log(res)
 				// 1 支付成功  2 支付失败
-				uni.navigateTo({
-					url: '/pages/payStatus/payStatus?status=1'
-				})
+				// uni.navigateTo({
+				// 	url: '/pages/payStatus/payStatus?status=1'
+				// })
 			} else {
 				uni.showToast({
 					title: '请选择支付方式',

+ 476 - 0
pages/push/push.vue

@@ -0,0 +1,476 @@
+<template>
+	<view class="container">
+		<!-- 顶部订单状态信息区域 -->
+		<view class="header">
+			<!-- 背景图片区域 -->
+			<img src="../../static/my/headerImg.png" />
+			<!-- 标题区域 -->
+			<view class="header_title">订单详情</view>
+			<!-- 返回图标区域 -->
+			<img class="header_icon" src="../../static/index/left.png" @click="handleBack" />
+
+			<view class="header_type">已支付</view>
+			<view class="header_info">订单号:2307311449380724</view>
+
+			<view class="header_type" v-if="type === '1'">代付款</view>
+			<view class="header_info" v-if="type === '1'">超时后,订单将会自动取消</view>
+			<view class="header_type" v-if="type === '2'">支付超时</view>
+			<view class="header_info" v-if="type === '2'">订单已超过可支付时间,请重新下单</view>
+			<view class="header_type" v-if="type === '3'">已支付</view>
+			<view class="header_info" v-if="type === '3'">订单已支付,请等待商家接单</view>
+			<view class="header_type" v-if="type === '4'">已取消</view>
+			<view class="header_info" v-if="type === '4'">订单已取消,请重新下单</view>
+			<view class="header_type" v-if="type === '5'">已退单</view>
+			<view class="header_info" v-if="type === '5'">订单已被商家退单,请重新下单</view>
+			<view class="header_type" v-if="type === '6'">待入住</view>
+			<view class="header_info" v-if="type === '6'">订单已被商家接单,请前往办理入住</view>
+			<view class="header_type" v-if="type === '7'">已入住</view>
+			<view class="header_info" v-if="type === '7'">订单已办理入住</view>
+			<view class="header_type" v-if="type === '8'">已退款</view>
+			<view class="header_info" v-if="type === '8'">订单已退款</view>
+			<view class="header_type" v-if="type === '9'">已消费</view>
+			<view class="header_info" v-if="type === '9'">您的订单已消费,期待您再次预定哦</view>
+		</view>
+
+		<!-- 主体内容区域 -->
+		<view class="body">
+			<!-- 房型信息和用户信息区域 -->
+			<view class="body_box2">
+				<view class="info_time">
+					7月26日
+					<text class="gap">今天</text>
+					<view class="time_line"></view>
+					<view class="time_num">1晚</view>
+					<view class="time_line"></view>
+					<view class="gap">7月26日</view>
+					<text>明天</text>
+				</view>
+				<view class="info_msg">大床房</view>
+				<view class="info_type">
+					<view class="type_item">包吃住型</view>
+					<view class="type_item">包吃住型</view>
+					<view class="type_item">包吃住型</view>
+				</view>
+				<view class="info_tag">
+					<view class="tag_item">16-20㎡</view>
+					<view class="tag_item">双人床</view>
+					<view class="tag_item">窗户位于走廊/窗户较小</view>
+				</view>
+				<view class="info_box">
+					<view class="box_key">住客姓名</view>
+					<view class="box_value">张三</view>
+				</view>
+				<view class="info_box">
+					<view class="box_key">联系电话</view>
+					<view class="box_value">13677985689</view>
+				</view>
+				<view class="info_box">
+					<view class="box_key">预计到店</view>
+					<view class="box_value">7月26日14:00之前</view>
+				</view>
+			</view>
+
+			<!-- 费用信息区域 -->
+			<view class="body_box">
+				<view class="box_title">费用信息</view>
+				<view class="box_container">
+					<view class="container_key">在线支付</view>
+					<view class="container_value price">¥280</view>
+				</view>
+				<view class="box_container">
+					<view class="container_key">发票报销</view>
+					<view class="container_value">如需发票,请先与酒店确认</view>
+				</view>
+			</view>
+
+			<!-- 按钮区域 -->
+
+			<view class="body_btn">
+				<view class="btn_item type">退单</view>
+				<view class="btn_item type2">接单</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			// 订单类型
+			type: null
+		}
+	},
+	onLoad(options) {
+		this.type = options.type
+	},
+	methods: {
+		// 点击复制文字回调
+		handleCopy(text) {
+			uni.setClipboardData({
+				data: text,
+				success: () => {}
+			})
+		},
+		handleBack() {
+			uni.navigateBack(1)
+		},
+		// 点击地图/导航文字回调
+		handleMap() {
+			uni.openLocation({
+				latitude: 28.86054,
+				longitude: 115.361744,
+				name: '',
+				address: '靖安县---详细地址',
+				success: () => {}
+			})
+		},
+		// 点击联系商家文字回调
+		handlePhone(phone) {
+			uni.makePhoneCall({
+				phoneNumber: phone
+			})
+		},
+		// 点击去支付按钮回调
+		handlePay() {
+			uni.navigateTo({
+				url: '/pages/pay/pay'
+			})
+		},
+		// 点击取消订单按钮回调
+		handleCancel() {
+			uni.showModal({
+				title: '提示',
+				content: '确定取消该订单吗?',
+				success: (res) => {
+					if (res.confirm) {
+						uni.showToast({
+							title: '取消成功',
+							icon: 'success'
+						})
+						setTimeout(() => {
+							uni.redirectTo({
+								url: '/pages/orderManage/orderManage'
+							})
+						}, 1500)
+					}
+				}
+			})
+		},
+		// 点击再次预定按钮回调
+		handleAgain() {
+			uni.navigateTo({
+				url: '/pages/detail/detail'
+			})
+		},
+		// 点击删除订单按钮回调
+		handleDelete() {
+			uni.showModal({
+				title: '提示',
+				content: '确定删除该订单吗?',
+				success: (res) => {
+					if (res.confirm) {
+						uni.showToast({
+							title: '删除成功',
+							icon: 'success'
+						})
+						setTimeout(() => {
+							uni.redirectTo({
+								url: '/pages/orderManage/orderManage'
+							})
+						}, 1500)
+					}
+				}
+			})
+		}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+.container {
+	position: relative;
+	height: 100vh;
+	background-color: #f2f2f2;
+
+	.header {
+		height: 480rpx;
+		color: #fff;
+
+		img {
+			width: 100%;
+		}
+
+		.header_title {
+			position: absolute;
+			top: 65rpx;
+			left: 308rpx;
+			color: #fff;
+			font-size: 28rpx;
+		}
+
+		.header_icon {
+			position: absolute;
+			top: 76rpx;
+			left: 10rpx;
+			width: 47rpx;
+			height: 47rpx;
+		}
+
+		.header_type {
+			position: absolute;
+			top: 144rpx;
+			left: 30rpx;
+			font-size: 40rpx;
+			font-weight: bold;
+		}
+
+		.header_info {
+			position: absolute;
+			top: 215rpx;
+			left: 30rpx;
+			font-size: 24rpx;
+		}
+	}
+
+	.body {
+		position: absolute;
+		top: 278rpx;
+		left: 0;
+		right: 0;
+		box-sizing: border-box;
+		padding: 20rpx;
+		height: calc(100vh - 278rpx);
+		border-radius: 20rpx 20rpx 0 0;
+		background-color: #ebeced;
+		overflow-y: auto;
+
+		.body_box {
+			box-sizing: border-box;
+			padding: 0 30rpx;
+			margin-bottom: 20rpx;
+			display: flex;
+			flex-direction: column;
+			height: 240rpx;
+			border-radius: 14rpx;
+			background-color: #fff;
+
+			.box_title {
+				line-height: 90rpx;
+				font-size: 28rpx;
+				font-weight: bold;
+				border-bottom: 1rpx solid #e5e5e5;
+			}
+
+			.box_container {
+				display: flex;
+				margin-top: 25rpx;
+				font-size: 28rpx;
+
+				.container_key {
+					width: 160rpx;
+					color: #808080;
+				}
+
+				.container_value {
+				}
+
+				.container_copy {
+					margin-left: auto;
+					color: #096562;
+				}
+
+				.price {
+					color: #ff5733;
+				}
+			}
+
+			.box_info {
+				display: flex;
+				margin-top: 20rpx;
+				height: 130rpx;
+
+				img {
+					width: 100rpx;
+					height: 100rpx;
+					border-radius: 10rpx;
+				}
+
+				.info_msg {
+					display: flex;
+					flex-direction: column;
+					justify-content: space-around;
+					margin-top: -10rpx;
+					margin-left: 18rpx;
+					width: 540rpx;
+
+					.msg_name {
+						font-size: 28rpx;
+						font-weight: bold;
+					}
+
+					.msg_address {
+						color: #808080;
+						font-size: 24rpx;
+						display: -webkit-box;
+						-webkit-box-orient: vertical;
+						-webkit-line-clamp: 2;
+						overflow: hidden;
+					}
+				}
+			}
+
+			.box_btn {
+				display: flex;
+				justify-content: space-around;
+				align-items: center;
+				height: 110rpx;
+
+				.btn_item {
+					display: flex;
+					align-items: center;
+					width: 200rpx;
+
+					.img {
+						margin-right: 14rpx;
+						width: 38rpx;
+						height: 38rpx;
+					}
+
+					.img2 {
+						width: 66rpx;
+						height: 66rpx;
+					}
+				}
+			}
+		}
+
+		.body_box2 {
+			display: flex;
+			flex-direction: column;
+			box-sizing: border-box;
+			padding: 0 30rpx;
+			margin-bottom: 20rpx;
+			height: 478rpx;
+			border-radius: 15rpx;
+			background-color: #fff;
+
+			.info_time {
+				display: flex;
+				align-items: center;
+				margin-top: 20rpx;
+				font-size: 32rpx;
+				font-weight: bold;
+
+				.time_line {
+					width: 17rpx;
+					height: 1rpx;
+					background-color: #096562;
+				}
+
+				.time_num {
+					box-sizing: border-box;
+					padding: 0 15rpx;
+					height: 46rpx;
+					line-height: 46rpx;
+					font-size: 24rpx;
+					font-weight: 400;
+					border-radius: 66rpx;
+					border: 1rpx solid #096562;
+					background-color: #f0f2f5;
+				}
+
+				.gap {
+					margin: 0 10rpx;
+				}
+
+				text {
+					font-size: 24rpx;
+					font-weight: 400;
+				}
+			}
+
+			.info_msg {
+				margin-top: 15rpx;
+				font-size: 28rpx;
+				font-weight: bold;
+			}
+			.info_type {
+				display: flex;
+				flex-wrap: wrap;
+				margin-top: 15rpx;
+
+				.type_item {
+					box-sizing: border-box;
+					padding: 0 15rpx;
+					margin-right: 20rpx;
+					height: 41rpx;
+					line-height: 41rpx;
+					font-size: 24rpx;
+					color: #fff;
+					border-radius: 34rpx;
+					background-color: #096562;
+				}
+			}
+
+			.info_tag {
+				display: flex;
+				flex-wrap: wrap;
+				margin: 18rpx 0 0;
+				box-sizing: border-box;
+				padding-bottom: 30rpx;
+				color: #808080;
+				font-size: 24rpx;
+				border-bottom: 1rpx solid #e5e5e5;
+
+				.tag_item {
+					margin-right: 20rpx;
+				}
+			}
+
+			.info_box {
+				display: flex;
+				margin-top: 23rpx;
+				font-size: 28rpx;
+
+				.box_key {
+					width: 160rpx;
+					color: #808080;
+				}
+
+				.box_value {
+				}
+			}
+		}
+
+		.body_btn {
+			box-sizing: border-box;
+			padding: 0 32rpx;
+			margin-top: 140rpx;
+			display: flex;
+			justify-content: space-between;
+			height: 96rpx;
+
+			.btn_item {
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				width: 300rpx;
+				height: 96rpx;
+				border-radius: 64rpx;
+				font-size: 32rpx;
+			}
+
+			.type {
+				color: #d43030;
+				border: 1rpx solid #d43030;
+			}
+
+			.type2 {
+				color: #fff;
+				background-color: #096562;
+			}
+		}
+	}
+}
+</style>

+ 11 - 2
pages/set/set.vue

@@ -81,7 +81,7 @@ export default {
 			uni.showModal({
 				title: '请输入账号名',
 				editable: true,
-				success: (res) => {
+				success: async (res) => {
 					if (res.confirm) {
 						if (!res.content) {
 							uni.showToast({
@@ -92,7 +92,16 @@ export default {
 								this.changeName()
 							}, 1500)
 						} else {
-							this.name = res.content
+							const result = await this.$myRequest({
+								url: '/mhotel/ampupdateUserInfo.action',
+								data: {
+									userId: uni.getStorageSync('userInfo').id,
+									userName: res.content,
+									headPhoto: ''
+								}
+							})
+							console.log(result)
+							// this.name = res.content
 						}
 					}
 				}

+ 2 - 2
pages/shop/shop.vue

@@ -18,8 +18,8 @@ export default {
 	methods: {
 		// 前往绑定按钮回调
 		handleBinding() {
-			uni.navigateTo({
-				url: '/pages/binding/binding'
+			uni.redirectTo({
+				url: '/pages/binding/binding?status=1'
 			})
 		}
 	}

+ 61 - 0
pages/shop2/shop2.vue

@@ -0,0 +1,61 @@
+<template>
+	<view class="container">
+		<!-- 图片区域 -->
+		<img src="../../static/my/shopImg.png" />
+
+		<!-- 文字信息区域 -->
+		<view class="msg">您暂未绑定账户,请前往绑定</view>
+		<!-- 按钮区域 -->
+		<view class="btn" @click="handleBinding">前往绑定</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {}
+	},
+	methods: {
+		// 前往绑定按钮回调
+		handleBinding() {
+			uni.redirectTo({
+				url: '/pages/binding/binding?status=2'
+			})
+		}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+.container {
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+	height: 100vh;
+	background-color: #fff;
+
+	img {
+		width: 499rpx;
+		height: 499rpx;
+	}
+
+	.msg {
+		font-size: 32rpx;
+		font-weight: bold;
+	}
+
+	.btn {
+		position: absolute;
+		bottom: 74rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		width: 690rpx;
+		height: 96rpx;
+		color: #fff;
+		font-size: 32rpx;
+		border-radius: 64rpx;
+		background-color: #096562;
+	}
+}
+</style>

+ 17 - 5
pages/shopInfo/shopInfo.vue

@@ -8,11 +8,11 @@
 			<view class="box_title">账户信息</view>
 			<view class="box_hotel">
 				<view class="totel_left">民宿名称</view>
-				<view class="">靖安民宿</view>
+				<view class="">{{ data.userName }}</view>
 			</view>
 			<view class="box_name">
 				<view class="name_left">用户名</view>
-				<view class="">dbhsbjh</view>
+				<view class="">{{ data.adminName }}</view>
 			</view>
 			<view class="box_btn">
 				<view class="btn_item type" @click="handleUnbind">去解绑</view>
@@ -25,19 +25,31 @@
 <script>
 export default {
 	data() {
-		return {}
+		return {
+			data: {},
+			type: ''
+		}
+	},
+	onLoad(options) {
+		this.data = JSON.parse(options.data)
+		this.type = options.type
+		if (options.type === '2') {
+			uni.setNavigationBarTitle({
+				title: '我是业主'
+			})
+		}
 	},
 	methods: {
 		// 去解绑按钮回调
 		handleUnbind() {
 			uni.navigateTo({
-				url: '/pages/binding/binding?type=2'
+				url: `/pages/binding/binding?type=2&status=${this.type}`
 			})
 		},
 		// 重新绑定按钮回调
 		handleAgain() {
 			uni.navigateTo({
-				url: '/pages/binding/binding'
+				url: `/pages/binding/binding?status=${this.type}`
 			})
 		}
 	}

BIN
static/my/right3.png


BIN
static/my/shop2.png


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/addOrEdit/addOrEdit.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/affirmOrder/affirmOrder.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/binding/binding.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/common/common.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/detail/detail.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/detailInfo/detailInfo.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/home.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/orderDetail/orderDetail.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/orderManage/orderManage.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/pay/pay.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/payStatus/payStatus.js.map


ファイルの差分が大きいため隠しています
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/push/push.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/search/search.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/set/set.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/setMeal/setMeal.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/shop/shop.js.map


ファイルの差分が大きいため隠しています
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/shop2/shop2.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/shopInfo/shopInfo.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/shouquan/shouquan.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-button/components/uv-button/uv-button.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-calendar/components/uv-calendar/header.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-calendar/components/uv-calendar/month.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-calendar/components/uv-calendar/uv-calendar.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-count-down/components/uv-count-down/uv-count-down.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-icon/components/uv-icon/uv-icon.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-loading-icon/components/uv-loading-icon/uv-loading-icon.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-overlay/components/uv-overlay/uv-overlay.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-picker/components/uv-picker/uv-picker.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-picker/components/uv-toolbar/uv-toolbar.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-popup/components/uv-popup/uv-popup.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-row/components/uv-row/uv-row.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-safe-bottom/components/uv-safe-bottom/uv-safe-bottom.js.map


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uv-status-bar/components/uv-status-bar/uv-status-bar.js.map


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

@@ -19,7 +19,9 @@
     "pages/login/login",
     "pages/shop/shop",
     "pages/binding/binding",
-    "pages/shopInfo/shopInfo"
+    "pages/shopInfo/shopInfo",
+    "pages/push/push",
+    "pages/shop2/shop2"
   ],
   "subPackages": [],
   "window": {

ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/mp-weixin/common/main.js


ファイルの差分が大きいため隠しています
+ 848 - 906
unpackage/dist/dev/mp-weixin/common/vendor.js


ファイルの差分が大きいため隠しています
+ 144 - 20
unpackage/dist/dev/mp-weixin/pages/addOrEdit/addOrEdit.js


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/addOrEdit/addOrEdit.wxml


ファイルの差分が大きいため隠しています
+ 96 - 31
unpackage/dist/dev/mp-weixin/pages/affirmOrder/affirmOrder.js


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/affirmOrder/affirmOrder.wxml


ファイルの差分が大きいため隠しています
+ 264 - 20
unpackage/dist/dev/mp-weixin/pages/binding/binding.js


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/binding/binding.wxml


+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/binding/binding.wxss

@@ -91,6 +91,7 @@
 }
 .container .form .form_msg.data-v-18847812 {
   margin-top: 23rpx;
+  height: 32rpx;
   color: #d43030;
   font-size: 24rpx;
   text-align: center;

ファイルの差分が大きいため隠しています
+ 233 - 185
unpackage/dist/dev/mp-weixin/pages/common/common.js


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/common/common.wxml


ファイルの差分が大きいため隠しています
+ 136 - 91
unpackage/dist/dev/mp-weixin/pages/detail/detail.js


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/detail/detail.wxml


+ 15 - 0
unpackage/dist/dev/mp-weixin/pages/detail/detail.wxss

@@ -419,4 +419,19 @@
   border-radius: 64rpx;
   background-color: #096562;
 }
+.container .body .body_content .body_pop .pop_body .body_bottom .bottom_right .inactive.data-v-3e159eb4 {
+  background-color: #cccccc;
+}
+.container .body .noData.data-v-3e159eb4 {
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  padding-bottom: 20rpx;
+}
+.container .body .noData ._img.data-v-3e159eb4 {
+  margin-top: 60rpx;
+  width: 600rpx;
+  height: 600rpx;
+}
 

ファイルの差分が大きいため隠しています
+ 102 - 22
unpackage/dist/dev/mp-weixin/pages/detailInfo/detailInfo.js


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/detailInfo/detailInfo.wxml


+ 0 - 3
unpackage/dist/dev/mp-weixin/pages/detailInfo/detailInfo.wxss

@@ -107,9 +107,6 @@
   height: auto;
   line-height: 55rpx;
 }
-.container .body .body_address .address_text.data-v-c0575434 {
-  width: 125rpx;
-}
 .container .body .body_address ._img.data-v-c0575434 {
   margin-left: 20rpx;
   width: 28rpx;

ファイルの差分が大きいため隠しています
+ 128 - 79
unpackage/dist/dev/mp-weixin/pages/home/home.js


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

@@ -1,5 +1,6 @@
 {
   "navigationBarTitleText": "靖安民宿",
+  "enablePullDownRefresh": true,
   "usingComponents": {
     "uv-row": "/uni_modules/uv-row/components/uv-row/uv-row"
   }

ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/home/home.wxml


ファイルの差分が大きいため隠しています
+ 19 - 19
unpackage/dist/dev/mp-weixin/pages/index/index.js


ファイルの差分が大きいため隠しています
+ 42 - 45
unpackage/dist/dev/mp-weixin/pages/login/login.js


ファイルの差分が大きいため隠しています
+ 140 - 32
unpackage/dist/dev/mp-weixin/pages/my/my.js


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/my/my.wxml


+ 6 - 0
unpackage/dist/dev/mp-weixin/pages/my/my.wxss

@@ -94,6 +94,7 @@
   align-items: center;
   box-sizing: border-box;
   padding-left: 13rpx;
+  padding-bottom: 5rpx;
   width: 179rpx;
   height: 42rpx;
   font-size: 24rpx;
@@ -144,4 +145,9 @@
   width: 50rpx;
   height: 50rpx;
 }
+.container .body .body_item .img_icon.data-v-0be17cc6 {
+  margin-left: auto;
+  width: 49rpx;
+  height: 49rpx;
+}
 

ファイルの差分が大きいため隠しています
+ 64 - 30
unpackage/dist/dev/mp-weixin/pages/orderDetail/orderDetail.js


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/orderDetail/orderDetail.wxml


ファイルの差分が大きいため隠しています
+ 143 - 84
unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.js


+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.json

@@ -1,6 +1,6 @@
 {
   "navigationBarTitleText": "订单",
-  "enablePullDownRefresh": false,
+  "enablePullDownRefresh": true,
   "usingComponents": {
     "uni-swipe-action": "/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action",
     "uni-swipe-action-item": "/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item",

ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/orderManage/orderManage.wxml


ファイルの差分が大きいため隠しています
+ 35 - 22
unpackage/dist/dev/mp-weixin/pages/pay/pay.js


ファイルの差分が大きいため隠しています
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/pay/pay.wxml


ファイルの差分が大きいため隠しています
+ 16 - 16
unpackage/dist/dev/mp-weixin/pages/payStatus/payStatus.js


ファイルの差分が大きいため隠しています
+ 376 - 0
unpackage/dist/dev/mp-weixin/pages/push/push.js


+ 6 - 0
unpackage/dist/dev/mp-weixin/pages/push/push.json

@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "订单详情",
+  "enablePullDownRefresh": false,
+  "navigationStyle": "custom",
+  "usingComponents": {}
+}

ファイルの差分が大きいため隠しています
+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/push/push.wxml


+ 268 - 0
unpackage/dist/dev/mp-weixin/pages/push/push.wxss

@@ -0,0 +1,268 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.container.data-v-39f2f546 {
+  position: relative;
+  height: 100vh;
+  background-color: #f2f2f2;
+}
+.container .header.data-v-39f2f546 {
+  height: 480rpx;
+  color: #fff;
+}
+.container .header ._img.data-v-39f2f546 {
+  width: 100%;
+}
+.container .header .header_title.data-v-39f2f546 {
+  position: absolute;
+  top: 65rpx;
+  left: 308rpx;
+  color: #fff;
+  font-size: 28rpx;
+}
+.container .header .header_icon.data-v-39f2f546 {
+  position: absolute;
+  top: 76rpx;
+  left: 10rpx;
+  width: 47rpx;
+  height: 47rpx;
+}
+.container .header .header_type.data-v-39f2f546 {
+  position: absolute;
+  top: 144rpx;
+  left: 30rpx;
+  font-size: 40rpx;
+  font-weight: bold;
+}
+.container .header .header_info.data-v-39f2f546 {
+  position: absolute;
+  top: 215rpx;
+  left: 30rpx;
+  font-size: 24rpx;
+}
+.container .body.data-v-39f2f546 {
+  position: absolute;
+  top: 278rpx;
+  left: 0;
+  right: 0;
+  box-sizing: border-box;
+  padding: 20rpx;
+  height: calc(100vh - 278rpx);
+  border-radius: 20rpx 20rpx 0 0;
+  background-color: #ebeced;
+  overflow-y: auto;
+}
+.container .body .body_box.data-v-39f2f546 {
+  box-sizing: border-box;
+  padding: 0 30rpx;
+  margin-bottom: 20rpx;
+  display: flex;
+  flex-direction: column;
+  height: 240rpx;
+  border-radius: 14rpx;
+  background-color: #fff;
+}
+.container .body .body_box .box_title.data-v-39f2f546 {
+  line-height: 90rpx;
+  font-size: 28rpx;
+  font-weight: bold;
+  border-bottom: 1rpx solid #e5e5e5;
+}
+.container .body .body_box .box_container.data-v-39f2f546 {
+  display: flex;
+  margin-top: 25rpx;
+  font-size: 28rpx;
+}
+.container .body .body_box .box_container .container_key.data-v-39f2f546 {
+  width: 160rpx;
+  color: #808080;
+}
+.container .body .body_box .box_container .container_copy.data-v-39f2f546 {
+  margin-left: auto;
+  color: #096562;
+}
+.container .body .body_box .box_container .price.data-v-39f2f546 {
+  color: #ff5733;
+}
+.container .body .body_box .box_info.data-v-39f2f546 {
+  display: flex;
+  margin-top: 20rpx;
+  height: 130rpx;
+}
+.container .body .body_box .box_info ._img.data-v-39f2f546 {
+  width: 100rpx;
+  height: 100rpx;
+  border-radius: 10rpx;
+}
+.container .body .body_box .box_info .info_msg.data-v-39f2f546 {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-around;
+  margin-top: -10rpx;
+  margin-left: 18rpx;
+  width: 540rpx;
+}
+.container .body .body_box .box_info .info_msg .msg_name.data-v-39f2f546 {
+  font-size: 28rpx;
+  font-weight: bold;
+}
+.container .body .body_box .box_info .info_msg .msg_address.data-v-39f2f546 {
+  color: #808080;
+  font-size: 24rpx;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 2;
+  overflow: hidden;
+}
+.container .body .body_box .box_btn.data-v-39f2f546 {
+  display: flex;
+  justify-content: space-around;
+  align-items: center;
+  height: 110rpx;
+}
+.container .body .body_box .box_btn .btn_item.data-v-39f2f546 {
+  display: flex;
+  align-items: center;
+  width: 200rpx;
+}
+.container .body .body_box .box_btn .btn_item .img.data-v-39f2f546 {
+  margin-right: 14rpx;
+  width: 38rpx;
+  height: 38rpx;
+}
+.container .body .body_box .box_btn .btn_item .img2.data-v-39f2f546 {
+  width: 66rpx;
+  height: 66rpx;
+}
+.container .body .body_box2.data-v-39f2f546 {
+  display: flex;
+  flex-direction: column;
+  box-sizing: border-box;
+  padding: 0 30rpx;
+  margin-bottom: 20rpx;
+  height: 478rpx;
+  border-radius: 15rpx;
+  background-color: #fff;
+}
+.container .body .body_box2 .info_time.data-v-39f2f546 {
+  display: flex;
+  align-items: center;
+  margin-top: 20rpx;
+  font-size: 32rpx;
+  font-weight: bold;
+}
+.container .body .body_box2 .info_time .time_line.data-v-39f2f546 {
+  width: 17rpx;
+  height: 1rpx;
+  background-color: #096562;
+}
+.container .body .body_box2 .info_time .time_num.data-v-39f2f546 {
+  box-sizing: border-box;
+  padding: 0 15rpx;
+  height: 46rpx;
+  line-height: 46rpx;
+  font-size: 24rpx;
+  font-weight: 400;
+  border-radius: 66rpx;
+  border: 1rpx solid #096562;
+  background-color: #f0f2f5;
+}
+.container .body .body_box2 .info_time .gap.data-v-39f2f546 {
+  margin: 0 10rpx;
+}
+.container .body .body_box2 .info_time text.data-v-39f2f546 {
+  font-size: 24rpx;
+  font-weight: 400;
+}
+.container .body .body_box2 .info_msg.data-v-39f2f546 {
+  margin-top: 15rpx;
+  font-size: 28rpx;
+  font-weight: bold;
+}
+.container .body .body_box2 .info_type.data-v-39f2f546 {
+  display: flex;
+  flex-wrap: wrap;
+  margin-top: 15rpx;
+}
+.container .body .body_box2 .info_type .type_item.data-v-39f2f546 {
+  box-sizing: border-box;
+  padding: 0 15rpx;
+  margin-right: 20rpx;
+  height: 41rpx;
+  line-height: 41rpx;
+  font-size: 24rpx;
+  color: #fff;
+  border-radius: 34rpx;
+  background-color: #096562;
+}
+.container .body .body_box2 .info_tag.data-v-39f2f546 {
+  display: flex;
+  flex-wrap: wrap;
+  margin: 18rpx 0 0;
+  box-sizing: border-box;
+  padding-bottom: 30rpx;
+  color: #808080;
+  font-size: 24rpx;
+  border-bottom: 1rpx solid #e5e5e5;
+}
+.container .body .body_box2 .info_tag .tag_item.data-v-39f2f546 {
+  margin-right: 20rpx;
+}
+.container .body .body_box2 .info_box.data-v-39f2f546 {
+  display: flex;
+  margin-top: 23rpx;
+  font-size: 28rpx;
+}
+.container .body .body_box2 .info_box .box_key.data-v-39f2f546 {
+  width: 160rpx;
+  color: #808080;
+}
+.container .body .body_btn.data-v-39f2f546 {
+  box-sizing: border-box;
+  padding: 0 32rpx;
+  margin-top: 140rpx;
+  display: flex;
+  justify-content: space-between;
+  height: 96rpx;
+}
+.container .body .body_btn .btn_item.data-v-39f2f546 {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  width: 300rpx;
+  height: 96rpx;
+  border-radius: 64rpx;
+  font-size: 32rpx;
+}
+.container .body .body_btn .type.data-v-39f2f546 {
+  color: #d43030;
+  border: 1rpx solid #d43030;
+}
+.container .body .body_btn .type2.data-v-39f2f546 {
+  color: #fff;
+  background-color: #096562;
+}
+

ファイルの差分が大きいため隠しています
+ 19 - 19
unpackage/dist/dev/mp-weixin/pages/search/search.js


+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/set/set.js


この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません