Преглед на файлове

更新上传附件和订房权限

嘀嘀嘀 преди 1 година
родител
ревизия
021fc5f1e0
променени са 90 файла, в които са добавени 2325 реда и са изтрити 755 реда
  1. 31 2
      App.vue
  2. 175 0
      components/compress/compress.vue
  3. 24 18
      main.js
  4. 10 4
      manifest.json
  5. 27 12
      pages.json
  6. 7 6
      pages/gongyuxiangqing/css/gongyuxiangqing.css
  7. 63 24
      pages/gongyuxiangqing/gongyuxiangqing.vue
  8. 166 45
      pages/index/css/index.css
  9. 348 104
      pages/index/index.vue
  10. 20 2
      pages/liuchengManger/css/liu_manage.css
  11. 5 6
      pages/liuchengManger/detail/teach_detail.css
  12. 65 20
      pages/liuchengManger/detail/teach_detail.vue
  13. 134 38
      pages/liuchengManger/liu_manage.vue
  14. 58 26
      pages/liuchengO/css/liu_other.css
  15. 1 1
      pages/liuchengO/detail/teach_detail.css
  16. 28 1
      pages/liuchengO/detail/teach_detail.vue
  17. 298 29
      pages/liuchengO/liu_other.vue
  18. 10 10
      pages/liuchengTeacher/css/liu_teach.css
  19. 7 5
      pages/liuchengTeacher/liu_teach.vue
  20. 59 30
      pages/my_orderlist/css/my_orderlist.css
  21. 113 79
      pages/my_orderlist/my_orderlist.vue
  22. 6 5
      pages/myself/css/myself.css
  23. 55 21
      pages/myself/myself.vue
  24. 59 41
      pages/order_mark/css/order_mark.css
  25. 126 81
      pages/order_mark/order_mark.vue
  26. 39 18
      pages/order_room/css/order_room.css
  27. 102 31
      pages/order_room/order_room.vue
  28. 10 8
      pages/submit_order/css/submit_order.css
  29. 74 27
      pages/submit_order/submit_order.vue
  30. 7 2
      pages/zhifuchenggong/zhifuchenggong.vue
  31. 18 0
      uni_modules/uni-file-picker/changelog.md
  32. 69 6
      uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js
  33. 26 13
      uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue
  34. 1 0
      uni_modules/uni-file-picker/components/uni-file-picker/utils.js
  35. 6 8
      uni_modules/uni-file-picker/package.json
  36. 1 0
      uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue
  37. 1 1
      uni_modules/uni-icons/components/uni-icons/uniicons.css
  38. 1 1
      uni_modules/uni-list/components/uni-list/uni-list.vue
  39. 2 1
      uni_modules/uv-count-down/components/uv-count-down/uv-count-down.vue
  40. BIN
      unpackage/dist/build/web.zip
  41. 1 1
      unpackage/dist/build/web/index.html
  42. 0 1
      unpackage/dist/build/web/static/img/index_kongtiao.6f925cef.svg
  43. 0 1
      unpackage/dist/build/web/static/img/index_lock.5ed04036.svg
  44. 0 1
      unpackage/dist/build/web/static/img/index_nosmoking.3995cd99.svg
  45. 0 1
      unpackage/dist/build/web/static/img/index_wifi.71255d6e.svg
  46. 0 0
      unpackage/dist/build/web/static/js/chunk-vendors.-v1.0.0-1736911552785.js
  47. 0 1
      unpackage/dist/build/web/static/js/index.-v1.0.0-1722930270552.js
  48. 1 0
      unpackage/dist/build/web/static/js/index.-v1.0.0-1736911552785.js
  49. 0 1
      unpackage/dist/build/web/static/js/pages-gongyuxiangqing-gongyuxiangqing.-v1.0.0-1722930270552.js
  50. 1 0
      unpackage/dist/build/web/static/js/pages-gongyuxiangqing-gongyuxiangqing.-v1.0.0-1736911552785.js
  51. 0 0
      unpackage/dist/build/web/static/js/pages-huoquCode-huoquCode.-v1.0.0-1736911552785.js
  52. 0 0
      unpackage/dist/build/web/static/js/pages-huoquanshibai-huoquanshibai.-v1.0.0-1736911552785.js
  53. 0 1
      unpackage/dist/build/web/static/js/pages-index-index.-v1.0.0-1722930270552.js
  54. 1 0
      unpackage/dist/build/web/static/js/pages-index-index.-v1.0.0-1736911552785.js
  55. 1 1
      unpackage/dist/build/web/static/js/pages-index-index~pages-liuchengManger-detail-teach_detail~pages-liuchengManger-liu_manage~pages-liu~84f00681.-v1.0.0-1722930270552.js
  56. 0 0
      unpackage/dist/build/web/static/js/pages-index-index~pages-my_orderlist-my_orderlist~pages-order_mark-order_mark~pages-order_room-order_room.-v1.0.0-1736911552785.js
  57. 0 0
      unpackage/dist/build/web/static/js/pages-index-index~pages-my_orderlist-my_orderlist~pages-order_room-order_room.-v1.0.0-1736911552785.js
  58. 0 1
      unpackage/dist/build/web/static/js/pages-liuchengManger-detail-teach_detail.-v1.0.0-1722930270552.js
  59. 1 0
      unpackage/dist/build/web/static/js/pages-liuchengManger-detail-teach_detail.-v1.0.0-1736911552785.js
  60. 3 0
      unpackage/dist/build/web/static/js/pages-liuchengManger-detail-teach_detail~pages-liuchengManger-liu_manage~pages-liuchengO-detail-teac~646efc90.-v1.0.0-1736911552785.js
  61. 0 3
      unpackage/dist/build/web/static/js/pages-liuchengManger-detail-teach_detail~pages-liuchengManger-liu_manage~pages-liuchengO-detail-teac~9f805c02.-v1.0.0-1722930270552.js
  62. 0 1
      unpackage/dist/build/web/static/js/pages-liuchengManger-detail-teach_detail~pages-liuchengO-detail-teach_detail~pages-liuchengO-liu_oth~7842fc60.-v1.0.0-1722930270552.js
  63. 1 0
      unpackage/dist/build/web/static/js/pages-liuchengManger-detail-teach_detail~pages-liuchengO-detail-teach_detail~pages-liuchengO-liu_oth~7842fc60.-v1.0.0-1736911552785.js
  64. 0 1
      unpackage/dist/build/web/static/js/pages-liuchengManger-liu_manage.-v1.0.0-1722930270552.js
  65. 1 0
      unpackage/dist/build/web/static/js/pages-liuchengManger-liu_manage.-v1.0.0-1736911552785.js
  66. 1 1
      unpackage/dist/build/web/static/js/pages-liuchengManger-liu_manage~pages-liuchengO-liu_other~pages-liuchengTeacher-liu_teach.-v1.0.0-1722930270552.js
  67. 0 1
      unpackage/dist/build/web/static/js/pages-liuchengO-detail-teach_detail.-v1.0.0-1722930270552.js
  68. 1 0
      unpackage/dist/build/web/static/js/pages-liuchengO-detail-teach_detail.-v1.0.0-1736911552785.js
  69. 0 1
      unpackage/dist/build/web/static/js/pages-liuchengO-liu_other.-v1.0.0-1722930270552.js
  70. 1 0
      unpackage/dist/build/web/static/js/pages-liuchengO-liu_other.-v1.0.0-1736911552785.js
  71. 0 0
      unpackage/dist/build/web/static/js/pages-liuchengTeacher-detail-teach_detail.-v1.0.0-1736911552785.js
  72. 0 1
      unpackage/dist/build/web/static/js/pages-liuchengTeacher-liu_teach.-v1.0.0-1722930270552.js
  73. 1 0
      unpackage/dist/build/web/static/js/pages-liuchengTeacher-liu_teach.-v1.0.0-1736911552785.js
  74. 0 1
      unpackage/dist/build/web/static/js/pages-my_orderlist-my_orderlist.-v1.0.0-1722930270552.js
  75. 1 0
      unpackage/dist/build/web/static/js/pages-my_orderlist-my_orderlist.-v1.0.0-1736911552785.js
  76. 1 0
      unpackage/dist/build/web/static/js/pages-my_orderlist-my_orderlist~pages-order_mark-order_mark~pages-submit_order-submit_order.-v1.0.0-1736911552785.js
  77. 0 1
      unpackage/dist/build/web/static/js/pages-my_orderlist-my_orderlist~pages-submit_order-submit_order.-v1.0.0-1722930270552.js
  78. 0 1
      unpackage/dist/build/web/static/js/pages-myself-myself.-v1.0.0-1722930270552.js
  79. 1 0
      unpackage/dist/build/web/static/js/pages-myself-myself.-v1.0.0-1736911552785.js
  80. 0 1
      unpackage/dist/build/web/static/js/pages-order_mark-order_mark.-v1.0.0-1722930270552.js
  81. 1 0
      unpackage/dist/build/web/static/js/pages-order_mark-order_mark.-v1.0.0-1736911552785.js
  82. 0 1
      unpackage/dist/build/web/static/js/pages-order_room-order_room.-v1.0.0-1722930270552.js
  83. 1 0
      unpackage/dist/build/web/static/js/pages-order_room-order_room.-v1.0.0-1736911552785.js
  84. 0 0
      unpackage/dist/build/web/static/js/pages-ruzhuxuzhi-ruzhuxuzhi.-v1.0.0-1736911552785.js
  85. 0 1
      unpackage/dist/build/web/static/js/pages-submit_order-submit_order.-v1.0.0-1722930270552.js
  86. 1 0
      unpackage/dist/build/web/static/js/pages-submit_order-submit_order.-v1.0.0-1736911552785.js
  87. 0 1
      unpackage/dist/build/web/static/js/pages-zhifuchenggong-zhifuchenggong.-v1.0.0-1722930270552.js
  88. 1 0
      unpackage/dist/build/web/static/js/pages-zhifuchenggong-zhifuchenggong.-v1.0.0-1736911552785.js
  89. 49 1
      utils/api_hotel.js
  90. 2 2
      utils/request.js

+ 31 - 2
App.vue

@@ -1,15 +1,44 @@
 <script>
+	import {
+		getpayOpenId
+	} from './utils/api_hotel.js'
+	// https://chtech.ncjti.edu.cn/hotel/ihotel/auto/appletLogin/login
+	// https%3A%2F%2Fchtech.ncjti.edu.cn%2Fhotel%2Fh5%2F
 	export default {
 		onLaunch: function() {
 			console.log('App Launch')
-			if(localStorage.getItem('token')=='null' && localStorage.getItem('errorMsg')=='null') {
-				// alert(window.location.href,'p')
+			// alert(localStorage.getItem('errorMsg')+'token')
+			if(localStorage.getItem('token')=='null'){
+				// alert(333)
+				window.location.href ='https://open.wecard.qq.com/connect/oauth/authorize?app_key=4FD5599032819781&response_type=code&scope=snsapi_userinfo&ocode=1015730314&redirect_uri=https://chtech.ncjti.edu.cn/hotel/ihotel/auto/appletLogin/login&state=https://chtech.ncjti.edu.cn/hotel/ihotel/auto/appletLogin/login';
+				// window.location.href ='https://open.wecard.qq.com/connect/oauth/authorize?app_key=4FD5599032819781&response_type=code&scope=snsapi_userinfo&ocode=1015730314&redirect_uri=https://chtech.ncjti.edu.cn/testingServer/ihotel/auto/appletLogin/login&state=https://chtech.ncjti.edu.cn/testingServer/ihotel/auto/appletLogin/login';
+			}else if(localStorage.getItem('token')=='null' && localStorage.getItem('errorMsg')=='null') {
+				
 				window.location.href ='https://open.wecard.qq.com/connect/oauth/authorize?app_key=4FD5599032819781&response_type=code&scope=snsapi_userinfo&ocode=1015730314&redirect_uri=https://chtech.ncjti.edu.cn/hotel/ihotel/auto/appletLogin/login&state=https://chtech.ncjti.edu.cn/hotel/ihotel/auto/appletLogin/login';
 			} else if (localStorage.getItem('token')=='null' && localStorage.getItem('errorMsg')=='获取用户信息失败') {
 				uni.navigateTo({
 					url:'pages/huoquanshibai/huoquanshibai'
 				})
 			}
+			// alert((localStorage.getItem('code')=='null'|| localStorage.getItem('code')=='undefined' || localStorage.getItem('code')==null),'2')
+			if((!localStorage.getItem('openId2')&&localStorage.getItem('code')) || (localStorage.getItem('openId2')=='null'&&localStorage.getItem('code'))){
+				this.getOpenId()
+			}else if(localStorage.getItem('code')=='null'|| localStorage.getItem('code')=='undefined' || localStorage.getItem('code')==null){
+				window.location.href ='https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd87cbe1db0437303&redirect_uri=https%3A%2F%2Fchtech.ncjti.edu.cn%2Fhotel%2Fh5%2F&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect';
+			}
+		},
+		methods:{
+			getOpenId(){
+				var data='?wxcode='+localStorage.getItem('code')
+				getpayOpenId(data).then((res) => {
+					if (res.success) {
+						localStorage.setItem('openId2',res.message)
+					} else if(res.code=='500'){
+						window.location.href ='https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd87cbe1db0437303&redirect_uri=https%3A%2F%2Fchtech.ncjti.edu.cn%2Fhotel%2Fh5%2F&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect';
+					}
+				}).catch((err) => {
+				});
+			}
 		},
 		onShow: function() {
 			console.log('App Show')

+ 175 - 0
components/compress/compress.vue

@@ -0,0 +1,175 @@
+<template>
+	<view class="compress">
+		<canvas :style="{ width: canvasSize.width,height: canvasSize.height}" canvas-id="myCanvas"></canvas>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			pic:'',
+			canvasSize: {
+				width: 0,
+				height: 0
+			}
+		}
+	},
+	methods: {
+		// 压缩
+		compress(params) {
+			return new Promise(async (resolve, reject) => {
+				// 等待图片信息
+				let info = await this.getImageInfo(params.src).then(info=>info).catch(err=>err);
+				
+				if(!info){
+					reject('获取图片信息异常');
+					return;
+				}
+				
+				// 设置最大 & 最小 尺寸
+				const maxSize = params.maxSize || 1080;
+				const minSize = params.minSize || 640;
+				
+				// 当前图片尺寸
+				let {width,height} = info;
+				
+				// 非 H5 平台进行最小尺寸校验
+				// #ifndef H5
+				if(width <= minSize && height <= minSize){
+					resolve(params.src);
+					return;
+				}
+				// #endif
+				
+				// 最大尺寸计算
+				if (width > maxSize || height > maxSize) {
+					if (width > height) {
+						height = Math.floor(height / (width / maxSize));
+						width = maxSize;
+					} else {
+						width = Math.floor(width / (height / maxSize));
+						height = maxSize;
+					}
+				}
+
+				// 设置画布尺寸
+				this.$set(this,"canvasSize",{
+					width: `${width}rpx`,
+					height: `${height}rpx`
+				});
+				
+				// Vue.nextTick 回调在 App 有异常,则使用 setTimeout 等待DOM更新
+				setTimeout(() => {
+					const ctx = uni.createCanvasContext('myCanvas', this);
+					ctx.clearRect(0,0,width, height)
+					ctx.drawImage(info.path, 0, 0, uni.upx2px(width), uni.upx2px(height));
+					ctx.draw(false, () => {
+						uni.canvasToTempFilePath({
+							x: 0,
+							y: 0,
+							width: uni.upx2px(width),
+							height: uni.upx2px(height),
+							destWidth: width,
+							destHeight: height,
+							canvasId: 'myCanvas',
+							fileType: params.fileType || 'png',
+							quality: params.quality || 0.9,
+							success: (res) => {
+								// 在H5平台下,tempFilePath 为 base64
+								resolve(res.tempFilePath);
+							},
+							fail:(err)=>{
+								reject(null);
+							}
+						},this);
+					});
+				}, 300);
+			});
+		},
+		// 获取图片信息
+		getImageInfo(src){
+			return new Promise((resolve, reject)=>{
+				uni.getImageInfo({
+					src,
+					success: (info)=> {
+						resolve(info);
+					},
+					fail: () => {
+						reject(null);
+					}
+				});
+			});
+		},
+		// 批量压缩
+		batchCompress(params){
+			// index:进度,done:成功,fail:失败
+			let [index,done,fail] = [0,0,0];
+			// 压缩完成的路径集合
+			let paths = [];
+			// 批量压缩方法
+			let batch = ()=>{
+				return new Promise((resolve, reject)=>{
+					// 开始
+					let start = async ()=>{
+						params.progress && params.progress({
+							done,
+							fail,
+							count:params.batchSrc.length
+						});
+						// 等待图片压缩方法返回
+						let path = await next();
+						if(path){
+							done++;
+							paths.push(path);
+						}else{
+							fail++;
+						}
+						
+						index++;
+						// 压缩完成
+						if(index >= params.batchSrc.length){
+							resolve(true);
+						}else{
+							start();
+						}
+					}
+					start();
+				});
+			}
+			// 依次调用压缩方法
+			let next = ()=>{
+				return this.compress({
+					src:params.batchSrc[index],
+					maxSize:params.maxSize,
+					fileType:params.fileType,
+					quality:params.quality,
+					minSize:params.minSize
+				})
+			}
+			
+			// 全部压缩完成后调用
+			return new Promise(async (resolve, reject)=>{
+				// 批量压缩方法回调
+				let res = await batch();
+				if(res){
+					resolve(paths);
+				}else{
+					reject(null);
+				}
+			});
+		}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+.compress{
+	position: fixed;
+	width: 12px;
+	height: 12px;
+	overflow: hidden;
+	top: -99999px;
+	left: 0;
+}
+</style>

+ 24 - 18
main.js

@@ -6,24 +6,30 @@ import axios from "axios"
 import qs from 'qs'
 import getUrlKey from './utils/getToken.js'
 // alert(localStorage.getItem('errorMsg')+'09'+getUrlKey('token'))
-localStorage.setItem('token',getUrlKey('token'))
-localStorage.setItem('user_head',getUrlKey('user_head'))
-// localStorage.setItem('token',"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwYXNzd29yZCI6IlBCL2tVMDRZSkswVG54c0l5RHRlNlZxa20rUURhdkZ3UWxxcEtnR0pEMEpRWXlSSS9QdWFCd1h4dW5CR0poTjVKOE92ZndVMUFVaHBSMEx1SVA3UmhHbFpMdGZaaTJyNnZmbkFOcWR0QlhPQlAyL3gxays0OTFHTGJET0ZqeXhYUmtrRDZ1MWsyeTNsWnY0djlWdEFPV1k0T1VYUHJnNE1CUE14WlBVK1pTdz0iLCJleHAiOjE3MTUxNjA1NDIsImlhdCI6MTcxNTA3NDE0MiwiYWNjb3VudCI6ImFkbWluIn0.uGnaiXAg3UD9tYWiaPw9_uqhJzrMf5a9Naw50pxdvFc")
-// localStorage.setItem('user_head',"756D1D9856695F71029C45B16D407517")
-localStorage.setItem('errorMsg',getUrlKey('errorMsg'))
-localStorage.setItem('openId',getUrlKey('openId'))
-localStorage.setItem('usersId',getUrlKey('usersId'))
-localStorage.setItem('adminMenuId',getUrlKey('adminMenuId'))
-localStorage.setItem('adminMenuName',getUrlKey('adminMenuName'))
-localStorage.setItem('telephone',getUrlKey('telephone'))
-localStorage.setItem('name',getUrlKey('name'))
-localStorage.setItem('user_head',getUrlKey('user_head'))
-localStorage.setItem('department',getUrlKey('department'))//部门,0是其他,4是教师
-localStorage.setItem('manager',getUrlKey('manager'))//管理员1,0不是
-// alert(localStorage.getItem('token'))
-console.log(localStorage.getItem('token'),getUrlKey('usersId'))
-console.log(localStorage.getItem('errorMsg'))
-console.log(localStorage.getItem('openId'))
+// if(getUrlKey('usersId')!=null){
+	localStorage.setItem('token',getUrlKey('token'))//
+	localStorage.setItem('head_image',getUrlKey('head_image'))
+	localStorage.setItem('parentId',getUrlKey('parentId'))//0是最上级,1不是
+	localStorage.setItem('OrgIds',getUrlKey('OrgIds'))//0是最上级,1不是
+	// localStorage.setItem('token',"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwYXNzd29yZCI6IlBCL2tVMDRZSkswVG54c0l5RHRlNlZxa20rUURhdkZ3UWxxcEtnR0pEMEpRWXlSSS9QdWFCd1h4dW5CR0poTjVKOE92ZndVMUFVaHBSMEx1SVA3UmhHbFpMdGZaaTJyNnZmbkFOcWR0QlhPQlAyL3gxays0OTFHTGJET0ZqeXhYUmtrRDZ1MWsyeTNsWnY0djlWdEFPV1k0T1VYUHJnNE1CUE14WlBVK1pTdz0iLCJleHAiOjE3MTUxNjA1NDIsImlhdCI6MTcxNTA3NDE0MiwiYWNjb3VudCI6ImFkbWluIn0.uGnaiXAg3UD9tYWiaPw9_uqhJzrMf5a9Naw50pxdvFc")
+	// localStorage.setItem('user_head',"756D1D9856695F71029C45B16D407517")
+	localStorage.setItem('errorMsg',getUrlKey('errorMsg'))
+	localStorage.setItem('openId',getUrlKey('openId'))
+	localStorage.setItem('usersId',getUrlKey('usersId'))//320
+	localStorage.setItem('adminMenuId',getUrlKey('adminMenuId'))//
+	localStorage.setItem('adminId',getUrlKey('adminId'))
+	localStorage.setItem('adminMenuName',getUrlKey('adminMenuName'))
+	localStorage.setItem('telephone',getUrlKey('telephone'))
+	localStorage.setItem('name',getUrlKey('name'))
+	localStorage.setItem('user_head',getUrlKey('user_head'))
+	localStorage.setItem('department',getUrlKey('department'))//部门,0是其他,4是教师
+	localStorage.setItem('manager',getUrlKey('manager'))//管理员1,0不是1
+	// alert(localStorage.getItem('head_image'))
+	console.log(localStorage.getItem('token'),getUrlKey('usersId'))
+	console.log(localStorage.getItem('errorMsg'))
+	console.log(localStorage.getItem('openId'))
+// }
+// alert()
 // alert('管理员'+localStorage.getItem('manager')+'身份'+localStorage.getItem('department'))
 
 //引入公共接口

+ 10 - 4
manifest.json

@@ -16,7 +16,9 @@
             "autoclose" : true,
             "delay" : 0
         },
-        "modules" : {},
+        "modules" : {
+            "Maps" : {}
+        },
         /* 模块配置 */
         "distribute" : {
             /* 应用发布信息 */
@@ -70,15 +72,18 @@
             "proxy" : {
                 //使用代理
                 // https://chtech.ncjti.edu.cn/hotel/ihotel-api/ihotel/roomType/list
-                "/ihotel/auto" : {
+				// /testingServer/ihotel/auto
+                "/hotel/ihotel/auto/" : {
                     "target" : "https://chtech.ncjti.edu.cn/hotel/ihotel/auto/", //目标地址
+                    // "target" : "https://chtech.ncjti.edu.cn/testingServer/ihotel/auto/", //测试地址
+
                     // "target" : "http://192.168.161.190:8090/ihotel/auto", //目标地址
                     "changeOrigin" : true,
                     "secure" : true, // 设置支持https协议的代理
 
                     // 设置地址重定向,把程序中/api开头的路径替换成:http://t.yushu.im"
                     "pathRewrite" : {
-                        "/ihotel/auto" : "" // 设置/api路径重定向
+                        "/hotel/ihotel/auto/" : "" // 设置/api路径重定向
                     }
                 }
             }
@@ -91,7 +96,8 @@
             }
         },
         "router" : {
-            "base" : "/hotel/h5"
+            "base" : "/hotel/h5"//正式
+            // "base" : "/testingServer/h5" //测试
         }
     }
 }

+ 27 - 12
pages.json

@@ -10,19 +10,22 @@
 	{
 		"path": "pages/myself/myself",
 		"style": {
-			"navigationBarTitleText": "我的"
+			"navigationBarTitleText": "我的",
+			"navigationStyle": "custom"
 		}
 	},
 	{
 		"path": "pages/order_room/order_room",
 		"style": {
-			"navigationBarTitleText": "填写订单"
+			"navigationBarTitleText": "填写订单",
+			"navigationStyle": "custom"
 		}
 	},
 	{
 		"path": "pages/my_orderlist/my_orderlist",
 		"style": {
 			"navigationBarTitleText": "我的订单",
+			"navigationStyle": "custom",
 			"enablePullDownRefresh":true,//下拉刷新
 			"onReachBottomDistance": 150//上拉触底的距离
 		}
@@ -31,6 +34,7 @@
 		"path": "pages/liuchengTeacher/liu_teach",
 		"style": {
 			"navigationBarTitleText": "流程管理",
+			"navigationStyle": "custom",
 			"enablePullDownRefresh":true,//下拉刷新
 			"onReachBottomDistance": 150//上拉触底的距离
 		}
@@ -38,13 +42,15 @@
 	{
 		"path": "pages/liuchengTeacher/detail/teach_detail",
 		"style": {
-			"navigationBarTitleText": "详情"
+			"navigationBarTitleText": "详情",
+			"navigationStyle": "custom"
 		}
 	},
 	{
 		"path": "pages/liuchengO/liu_other",
 		"style": {
 			"navigationBarTitleText": "流程管理",
+			"navigationStyle": "custom",
 			"enablePullDownRefresh":true,//下拉刷新
 			"onReachBottomDistance": 150//上拉触底的距离
 		}
@@ -52,13 +58,15 @@
 	{
 		"path": "pages/liuchengO/detail/teach_detail",
 		"style": {
-			"navigationBarTitleText": "详情"
+			"navigationBarTitleText": "详情",
+			"navigationStyle": "custom"
 		}
 	},
 	{
 		"path": "pages/liuchengManger/liu_manage",
 		"style": {
 			"navigationBarTitleText": "流程管理",
+			"navigationStyle": "custom",
 			"enablePullDownRefresh":true,//下拉刷新
 			"onReachBottomDistance": 150//上拉触底的距离
 		}
@@ -66,49 +74,56 @@
 	{
 		"path": "pages/liuchengManger/detail/teach_detail",
 		"style": {
-			"navigationBarTitleText": "详情"
+			"navigationBarTitleText": "详情",
+			"navigationStyle": "custom"
 		}
 	},
 	{
 		"path": "pages/order_mark/order_mark",
 		"style": {
-			"navigationBarTitleText": "订单详情"
+			"navigationBarTitleText": "订单详情",
+			"navigationStyle": "custom"
 		}
 	},
 	{
 		"path": "pages/ruzhuxuzhi/ruzhuxuzhi",
 		"style":{
-			"navigationBarTitleText": "入住须知"
+			"navigationBarTitleText": "入住须知",
+			"navigationStyle": "custom"
 		}
 	},
 	{
 		"path": "pages/submit_order/submit_order",
 		"style":{
-			"navigationBarTitleText": "支付订单"
+			"navigationBarTitleText": ""
 		}
 	},
 	{
 		"path": "pages/zhifuchenggong/zhifuchenggong",
 		"style":{
-			"navigationBarTitleText": "支付成功"
+			"navigationBarTitleText": "支付成功",
+			"navigationStyle": "custom"
 		}
 	},
 	{
 		"path": "pages/huoquanshibai/huoquanshibai",
 		"style":{
-			"navigationBarTitleText": "获权失败"
+			"navigationBarTitleText": "获权失败",
+			"navigationStyle": "custom"
 		}
 	},
 	{
 		"path": "pages/huoquCode/huoquCode",
 		"style":{
-			"navigationBarTitleText": "获取code"
+			"navigationBarTitleText": "获取code",
+			"navigationStyle": "custom"
 		}
 	},
 	{
 		"path": "pages/gongyuxiangqing/gongyuxiangqing",
 		"style":{
-			"navigationBarTitleText": "公寓详情"
+			"navigationBarTitleText": "公寓详情",
+			"navigationStyle": "custom"
 		}
 	}
 	],

+ 7 - 6
pages/gongyuxiangqing/css/gongyuxiangqing.css

@@ -7,9 +7,9 @@
 	}
 	.xuzhi{
 		display: revert;
-		margin-top: 20rpx;
+		/* margin-top: 20rpx; */
 		width: 750rpx;
-		height: 664rpx;
+		/* height: 664rpx; */
 		background: rgba(255, 255, 255, 1);
 		color: rgba(102, 102, 102, 1);
 		font-size: 28rpx;
@@ -24,9 +24,10 @@
 		font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
 	}
 	.xiang_txt{
-		margin-left: 50rpx;
+		/* margin-left: 50rpx;
 		margin-top: 15rpx;
-		margin-right: 15rpx;
+		margin-right: 15rpx; */
+		margin: 10px;
 		color: rgba(128, 128, 128, 1);
 		font-size: 28rpx;
 		font-weight: 400;
@@ -71,8 +72,8 @@
 		font-weight: 400;
 	}
 	.sheshi_txt_right{
-		position: absolute;
-		float: right;
+		/* position: absolute;
+		float: right; */
 		margin-left: 420rpx;
 		/* margin-top: -430rpx; */
 		margin-right: 15rpx;

+ 63 - 24
pages/gongyuxiangqing/gongyuxiangqing.vue

@@ -3,29 +3,31 @@
 		<view class="xuzhi">
 			<view class="xiang_title">公寓介绍</view>
 			<view class="xiang_txt">
-				         我们从分享时机、分享形式、分享动机、分享场景4个维度来聊聊「社交分享」的那些事儿。<br>
-				<text style="display: block;text-indent: 56rpx;">所以监听用户的截图操作,提示用户进行分享,既缩短了以前分享截图的操作路径,避免了在之前长路径中的行为流失(比如截图完成后忘记分享或觉得麻烦放弃分享等等),也让用户觉得更加贴心。</text>
-				         <text style="display: block;text-indent: 56rpx;">用户分享内容到社交媒体或好友,不应该是一种粗暴的强制行为,我们应该在保证产品本身内容有吸引力的核心前提下,仔细揣摩用户心理,结合产品本身的特色,在不同情境下提供给用户最合适的分享平台及方式,让用户分享成为一种水到渠。</text>
-				        <text style="display: block;text-indent: 56rpx;">营业时间:24小时</text>
-				         <text style="display: block;text-indent: 56rpx;">联系电话:<text @click="telphone(phone)" style="color:rgba(41, 109, 227, 1);">{{phone}}</text></text>
+				<!-- <view>{{intorduc}}</view> -->
+				<rich-text :nodes="intorduc"></rich-text>
+				<!-- <text style="display: block;text-indent: 56rpx;margin-top: 10px;">开业时间:{{yingye}}</text> -->
+				<text style="display: block;text-indent: 56rpx;margin-top: 10px;">联系电话:<text @click="telphone(phone)" style="color:rgba(41, 109, 227, 1);">{{phone}}</text></text>
 			</view>
 		</view>
 		<!-- 第二部分,公寓设施 -->
 		<view class="sheshi">
 			<view class="sheshi_title">公寓设施</view>
-			<view class="sheshi_txt_left">
-				<view style="margin-top: 30rpx;" class="sheshi_txt" v-for="(item,index) in sheshiList" :key="index">
-					<image class="sheshi_icon" src="../../static/gongyuxiangqing/sheshi_icon.png"></image>{{item.list}}
+			<view v-for="(item,index) in sheshiList" :key="index">
+				<view class="sheshi_txt_left" v-if="index%2===0">
+					<view class="sheshi_txt" style="margin-top: 30rpx;">
+						<!-- ../../static/gongyuxiangqing/sheshi_icon.png -->
+						<image class="sheshi_icon" :src="item.iconPath"></image>{{item.houseService}}
+					</view>
 				</view>
-			</view>
-			<view class="sheshi_txt_right">
-				<view style="margin-top: 30rpx;" v-for="(item,index) in sheshiList2" :key="index">
-					<image class="sheshi_icon" src="../../static/gongyuxiangqing/sheshi_icon.png"></image>{{item.list}}
+				<view class="sheshi_txt_right" v-else>
+					<view style="margin-top: 30rpx;">
+						<image class="sheshi_icon" :src="item.iconPath"></image>{{item.houseService}}
+					</view>
 				</view>
 			</view>
 		</view>
 		<!-- 第三部分 入住须知 -->
-		<view class="xuzhi">
+		<!-- <view class="xuzhi">
 			<view class="xiang_title">入住须知</view>
 			<view class="xiang_txt">
 				         我们从分享时机、分享形式、分享动机、分享场景4个维度来聊聊「社交分享」的那些事儿。<br>
@@ -34,14 +36,19 @@
 				        <text style="display: block;text-indent: 56rpx;">营业时间:24小时</text>
 				         <text style="display: block;text-indent: 56rpx;">联系电话:<text @click="telphone(phone)" style="color:rgba(41, 109, 227, 1);">{{phone}}</text></text>
 			</view>
-		</view>
+		</view> -->
 	</view>
 </template>
 
 <script>
+	import {
+		apartSet,
+		gongyusheshi
+	} from '../../utils/api_hotel.js'
 	export default {
 		data() {
 			return {
+				intorduc:'',
 				sheshiList:[
 					{id:1,list:'免费洗刷用品'},
 					{id:2,list:'24小时热水'},
@@ -50,19 +57,13 @@
 					{id:5,list:'电吹风'},
 					{id:6,list:'分体式空调'},
 				],
-				sheshiList2:[
-					{id:1,list:'吹风机'},
-					{id:2,list:'宽带上网接口'},
-					{id:3,list:'独立卫生间'},
-					{id:4,list:'拖鞋'},
-					{id:5,list:'电水壶'},
-					{id:6,list:'免费瓶装水'},
-				],
-				phone:'0791-82293574'
+				phone:'',
+				yingye:'',
 			}
 		},
 		onLoad() {
-			
+			this.getAllset()
+			this.getsheshi()
 		},
 		methods: {
 			//拨打电话
@@ -71,6 +72,44 @@
 					phoneNumber: phone ,
 				}) // 传参带入号码即可
 			},
+			getsheshi(){
+				let _self = this
+				_self.sheshiList=[]
+				gongyusheshi().then((res) => {
+					if (res.success) {
+						this.sheshiList=res.data
+						return;
+					} else {
+						uni.showModal({
+							content:"没有符合条件的数据!"
+						})
+					}
+				}).catch((err) => {
+					  uni.showModal({
+						content:err.message
+					  })
+				});
+			},
+			//公寓整体配置
+			getAllset(){
+				let _self = this
+				apartSet().then((res) => {
+					if (res.success) {
+						this.intorduc=res.data.introductory
+						this.phone=res.data.phoneNumbr
+						this.yingye=res.data.openingTime
+						return;
+					} else {
+						uni.showModal({
+							content:"没有符合条件的数据!"
+						})
+					}
+				}).catch((err) => {
+					  uni.showModal({
+						content:err.message
+					  })
+				});
+			},
 		}
 	}
 </script>

+ 166 - 45
pages/index/css/index.css

@@ -27,8 +27,8 @@
 }
 .welcome_img{
 	position: absolute;
-	margin-left: 14rpx;
-	margin-top: 5rpx;
+	/* margin-left: 14rpx;
+	margin-top: 5rpx; */
 	/* width: 86rpx;
 	height: 31rpx; */
 	width: 750rpx;
@@ -150,7 +150,7 @@
 	margin-top: 20rpx;
 	margin-left: 5px;
 	background-color: rgba(255, 255, 255, 1);
-	border-radius: 8px;
+	/* border-radius: 8px; */
 }
 .allday{
 	width: 385rpx;
@@ -164,19 +164,20 @@
 .hourday_no{
 	background-color: rgba(230, 230, 230, 1);
 	width: 406rpx;
-	height: 40px;
+	height: 37px;
 	margin-left: 304rpx;
-	border-radius: 8px;
-	line-height: 41px;
+	/* border-radius: 8px; */
+	line-height: 37px;
 	text-align: center;
+	display: block;
 }
 .allday2{
 	width: 406rpx;
-	height: 40px;
-	border-radius: 8px;
+	height: 37px;
+	/* border-radius: 8px; */
 	background-color: rgba(230, 230, 230, 1);
 	float: left;
-	line-height: 41px;
+	line-height: 37px;
 	text-align: center;
 }
 .hourday_no2{
@@ -189,6 +190,7 @@
 	margin-left: 304rpx;
 	line-height: 41px;
 	text-align: center;
+	display: block;
 }
 /* 选择住房日期 */
 .select-time{
@@ -272,35 +274,52 @@
 	height: 1px;
 	background: rgba(41, 109, 227, 1);
 }
+/* 全日房日历按钮 */
+.riliQueren{
+	border-radius: 35px;
+	color: #fff;
+	height: 40px;
+	font-size: 18px;
+	line-height: 40px;
+	text-align: center;
+	background: rgba(41, 109, 227, 1);
+	margin: 10px;
+	position: absolute;
+	width: 330px;
+}
 /* 房型列表 */
 .room-kuang{
 	display: block; 
 	margin-top: 150rpx;
 }
 .room-xinxi{
-	display: -webkit-box;
-	flex-direction: column;
-	align-items: center;
+	display: flex;
+	/* flex-direction: column; */
+	/* align-items: center; */
 	width: 710rpx;
-	height: 213rpx;
+	/* height: 213rpx; */
 	margin-top: 20rpx;
+	padding-bottom: 5px;
 }
 .room-image{
-	position: absolute;
+	/* position: absolute; */
+	margin-top: 10px;
 	margin-left: 31rpx;
 	width: 213rpx;
 	height: 161rpx;
 	border-radius: 5px;
 }
 .room-name{
-	position: absolute;
-	margin-left: 260rpx;
+	/* position: absolute; */
+	/* margin-left: 260rpx; */
+	margin-left: 5px;
 	color: rgba(0, 0, 0, 1);
 	font-size: 34rpx;
 	font-weight: 400;
+	display: block ruby;
 }
 .room-mark{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 260rpx;
 	margin-top: 46rpx;
 	color: rgba(153, 153, 153, 1);
@@ -308,48 +327,73 @@
 	font-weight: 400;
 }
 .room-time2{
-	position: absolute;
-	margin-left: 260rpx;
-	margin-top: 45px;
-	color: rgba(153, 153, 153, 1);
-	font-size: 24rpx;
+	/* position: absolute; */
+	/* width: 150px; */
+	/* margin-left: -160rpx; */
+	/* margin-top: 45px; */
+}
+.zhongtime{
+	color: rgba(41, 109, 227, 1);
+	font-size: 16rpx;
 	font-weight: 400;
+	border-radius: 4px;
+	border: 1px solid rgba(41, 109, 227, 1);
+	margin-left: 5px;
 }
 .room-time3{
-	position: absolute;
-	margin-left: 142px;
-	margin-top: 80px;
-	color: rgba(153, 153, 153, 1);
-	font-size: 24rpx;
+	/* position: absolute; */
+	width: 38px;
+	height: 18px;
+	opacity: 1;
+	border-radius: 7rpx;
+	background: rgba(235, 242, 255, 1);
+	/* margin-left: 142px;
+	margin-top: 80px; */
+	margin-top: 6px;
+	color: rgba(0, 0, 0, 1);
+	font-size: 12px;
 	font-weight: 400;
+	line-height: 18px;
+	text-align: center;
 }
 .room-icon{
-	position: absolute;
-	margin-left: 261rpx;
-	margin-top: 66px;
+	/* position: absolute; */
+	/* margin-left: -125rpx; */
+	/* margin-top: 26px; */
 }
 .before-price{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 606rpx;
 	color: rgba(153, 153, 153, 1);
 	font-size: 24rpx;
 	font-weight: 400;
 }
 .room-price{
-	position: absolute;
+	/* position: absolute; */
 	/* margin-left: 605rpx; */
-	margin-top: 46rpx;
-	margin-left: 265px;
-	width: 84px;
+	margin-top: 43px;
+	/* margin-left: 215px; */
+	width: 74px;
+	text-align: center;
+	color: rgba(255, 87, 51, 1);
+	font-size: 42rpx;
+	font-weight: 500;
+}
+.room-price2{
+	/* position: absolute; */
+	/* margin-left: 605rpx; */
+	margin-top: 23px;
+	margin-left: 15px;
+	width: 50px;
 	text-align: center;
 	color: rgba(255, 87, 51, 1);
 	font-size: 42rpx;
 	font-weight: 500;
 }
 .room-button{
-	position: absolute;
-	margin-left: 579rpx;
-	margin-top: 64px;
+	/* position: absolute; */
+	/* margin-left: 579rpx; */
+	margin-top: 38px;
 	width: 100rpx;
 	height: 66rpx;
 	background: rgba(41, 109, 227, 1);
@@ -361,10 +405,10 @@
 	line-height: 66rpx;
 }
 .room-button2{
-	position: absolute;
-	margin-left: 569rpx;
-	margin-top: 64px;
-	width: 120rpx;
+	/* position: absolute; */
+	/* margin-left: 569rpx; */
+	margin-top: 38px;
+	width: 55px;
 	height: 66rpx;
 	background: rgba(128, 127, 131, 0.5);
 	border-radius: 11px;
@@ -374,10 +418,43 @@
 	text-align: center;
 	line-height: 66rpx;
 }
+.room-buttonZ{
+	/* position: absolute; */
+	margin-left: 12px;
+	/* margin-top: 38px; */
+	width: 100rpx;
+	height: 66rpx;
+	background: rgba(41, 109, 227, 1);
+	border-radius: 11px;
+	color: rgba(255, 255, 255, 1);
+	font-size: 36rpx;
+	font-weight: 500;
+	text-align: center;
+	line-height: 66rpx;
+	margin-bottom: 3px;
+}
+.room-button2Z{
+	/* position: absolute; */
+	margin-left: 22px;
+	/* margin-top: 38px; */
+	width: 55px;
+	height: 66rpx;
+	background: rgba(128, 127, 131, 0.5);
+	border-radius: 11px;
+	color: rgba(255, 255, 255, 1);
+	font-size: 36rpx;
+	font-weight: 500;
+	text-align: center;
+	line-height: 66rpx;
+}
+.shengyu-jian{
+	margin-left: 5px;
+	color: crimson;
+}
 .room-line{
 	position: absolute;
-	margin-left: 0rpx;
-	margin-top: 194rpx;
+	/* margin-left: -355px; */
+	/* margin-top: 194rpx; */
 	width: 710rpx;
 	height: 1px;
 	background: rgba(220, 225, 230, 1);
@@ -578,4 +655,48 @@
 	line-height: 150rpx;
 	text-align: center;
 	background-color: #fff;
-}
+}
+
+/* 判断是否有预订资格时弹框 */
+  .popup-content {
+    width: 350px;
+    /* height: 300px; */
+	background-color: #fff;
+	border-radius: 10px;
+  }
+  .popup-zige{
+	  padding: 20px 0 0px 20px;
+	  color: #0055ff;
+	  font-size: 18px;
+  }
+  .popup-content radio-group {
+    display: grid;
+	padding-top: 10px;
+  }
+  .popup-content radio {
+    display: block;
+	text-align: center;
+	margin-top: 5px;
+  }
+  .xuanzesuccess{
+	  border-radius: 10px;
+	  background-color: #0055ff;
+	  color: #FFFFFF;
+	  font-size: 18px;
+	  height: 30px;
+	  line-height: 30px;
+	  text-align: center;
+	  width: 90%;
+	  margin-top: 20px;
+  }
+  .xuanzesuccess2{
+	  border-radius: 10px;
+	  background-color: rgba(128, 127, 131, 0.5);
+	  color: #FFFFFF;
+	  font-size: 18px;
+	  height: 30px;
+	  line-height: 30px;
+	  text-align: center;
+	  width: 90%;
+	  margin-top: 20px;
+  }

+ 348 - 104
pages/index/index.vue

@@ -53,6 +53,7 @@
 			<uni-popup-dialog :type="msgType" cancelText="关闭" confirmText="确定" content="请先订房!" @confirm="dialogConfirm"
 				@close="dialogClose"></uni-popup-dialog>
 		</uni-popup>
+		
 		<!-- 切换全日房和钟点房 -->
 		<view class="select-type" v-if="roomtype==1" @click="changeType">
 			<view class="allday">全日房</view>
@@ -84,8 +85,8 @@
 			<!-- 钟点房 -->
 			<view class="select-time" v-else>
 				<view class="hourtime">
-					<uni-datetime-picker type="date" v-model="hourruzhu" @change="changezhong" :start="mindate">
-						入住时
+					<uni-datetime-picker type="date" v-model="hourruzhu" @change="changezhong" :start="mindate" :end="info.endDate">
+						入住时
 						<text class="select-list-time" style="margin-left: 26rpx;">{{hourruzhu}}</text>
 						<image class="hour_right" src="../../static/index/hour_right.png"></image>
 					</uni-datetime-picker>
@@ -95,35 +96,54 @@
 			</view>
 			<!-- 全日房选择时间 -->
 			<uni-popup ref="popup_picker" :mask-click="true">
-				<view class=popup_bg_picker>
-					<!-- <text class="popup_title">取消</text>
-					<text class="popup_error" style="margin-left: 272px;" @click="popup_pickerClose">确定</text> -->
+				<!-- <view class=popup_bg_picker> -->
+					<!-- <text class="popup_title">取消</text> -->
+					
 				<uni-calendar :selected="info.selected" class="uni-calendar--hook" :clear-date="true" :date="info.date" :insert="info.insert" :lunar="info.lunar" :startDate="info.startDate"
 				:endDate="info.endDate" :range="info.range" @change="change"/>
+				<view style="height: 60px; background-color: #fff;">
+					<view class="riliQueren" @click="popup_pickerClose">确定{{ruzhu_num}}晚</view>
 				</view>
+				<!-- </view> -->
 			</uni-popup>
 			<!-- 房型列表-->
 			<view class="room-kuang">
 				<view class="room-xinxi" v-for="(item,index) in roomType" :key="index">
 					<image class="room-image" :src="item.roomPicture" @click="inputDialogToggle(item.id)"></image>
-					<view class="room-name">{{item.roomName}}</view>
-					<view class="room-mark" v-if="item.roomConfiguration.length>11">{{item.roomConfiguration.substring(0,11)}}...</view>
-					<view class="room-mark" v-else>{{item.roomConfiguration}}</view>
-					<view class="room-time2" v-if="item.roomType==2">{{apartList.hourTime}}</view>
-					<view class="room-time3" v-if="item.roomType==2">{{item.roomLiveTime}}小时</view>
-					<view class="room-icon">
-						<image src="../../static/index/index_wifi.svg" style="width: 30rpx;height: 30rpx;"></image>
-						<image src="../../static/index/index_kongtiao.svg" style="width: 26rpx;height: 26rpx;margin-left: 10rpx;"></image>
-						<image src="../../static/index/index_nosmoking.svg" style="width: 30rpx;height: 30rpx;margin-left: 10rpx;"></image>
-						<image src="../../static/index/index_lock.svg" style="width: 30rpx;height: 30rpx;margin-left: 10rpx;"></image>
+					<view style="padding-top: 10px;display: grid;width: 47%;">
+						<text class="room-name">
+							{{item.roomName}}
+							<view class="room-time3" v-if="item.roomType==2">{{item.roomLiveTime}}小时</view>
+						</text>
+						<view class="room-icon">
+							<image :src="item2.iconPath" v-for="(item2,index2) in item.roomConfigurationPicture" :key="index2" style="width: 30rpx;height: 30rpx;margin-left: 10rpx;"></image>
+							<!-- <image src="../../static/index/index_kongtiao.svg" style="width: 26rpx;height: 26rpx;margin-left: 10rpx;"></image>
+							<image src="../../static/index/index_nosmoking.svg" style="width: 30rpx;height: 30rpx;margin-left: 10rpx;"></image>
+							<image src="../../static/index/index_lock.svg" style="width: 30rpx;height: 30rpx;margin-left: 10rpx;"></image>
+							<image src="../../static/index/index_wifi.svg" style="width: 30rpx;height: 30rpx;"></image>
+							<image src="../../static/index/index_kongtiao.svg" style="width: 26rpx;height: 26rpx;margin-left: 10rpx;"></image> -->
+						</view>
+						<view class="room-time2" v-if="item.roomType==2">
+						  <text class="zhongtime" v-for="(item3,index3) in apartList.hourTime.split(',')" :key="index3">{{item3}}</text>
+						</view>
+						<view class="shengyu-jian">剩余{{item.surplusCount}}间</view>
+					</view>
+					<view style="display: flex;align-items: end;flex: 1;margin-right: 5px;" v-if="item.roomType==1">
+						<view class="room-price">¥{{item.roomPrice}}</view>
+						<view class="room-button" :class="{'room-button2': item.houseStatus == 2}">
+							<text v-if="item.houseStatus==2">已满</text>
+							<text v-else-if="item.houseStatus==1" @click="navigateToOrderRoom(item.houseStatus,item.id,item.roomName,item)">订</text>
+						</view>
 					</view>
-					<!-- <view class="before-price"><strike>¥{{item.usualPrice}}</strike></view> -->
-					<view class="room-price">¥{{item.roomPrice}}</view>
-					<view class="room-button" :class="{'room-button2': item.houseStatus == 2}">
-						<text v-if="item.houseStatus==2">已满</text>
-						<text v-else-if="item.houseStatus==1" @click="navigateToOrderRoom(item.houseStatus,item.id,item.roomName,item)">订</text>
+					
+					<view v-if="item.roomType==2" style="display: grid;align-items: end;flex: 1;margin-right: 5px;">
+						<view class="room-price2">¥{{item.roomPrice}}</view>
+						<view class="room-buttonZ" :class="{'room-button2Z': item.houseStatus == 2}">
+							<text v-if="item.houseStatus==2">已满</text>
+							<text v-else-if="item.houseStatus==1" @click="navigateToOrderRoom(item.houseStatus,item.id,item.roomName,item)">订</text>
+						</view>
 					</view>
-					<view class="room-line"  v-if="index<(roomType.length-1)"></view>
+					<view class="room-line"  v-if="index<(roomType.length) && index>0"></view>
 				</view>
 			</view>
 			
@@ -194,6 +214,26 @@
 			<uni-popup-dialog cancelText="关闭" confirmText="确定" content="请先订房"
 				@close="dialogClose"></uni-popup-dialog>
 		</uni-popup>
+		
+		<!-- 预订时判断是否有入住资格弹框 -->
+		<uni-popup ref="popupRuzhu" :mask-click="false">
+		  <view class="popup-content">
+			<view class="popup-zige">免费入住资格筛选</view>
+			<!-- 多选框组 -->
+			 <!--" -->
+			<radio-group v-model="selectedValue" @change="radioChange">
+			  <radio v-for="(item, index) in options" :key="index" :value="item.name" :disabled="item.count == 0">
+				{{ item.name }}
+				<text style="margin-left: 30px;">{{item.count}}间</text>
+			  </radio>
+			</radio-group>
+			<!-- 确认和取消按钮 -->
+			<button @click="confirmSelection" class="xuanzesuccess">选择完成</button>
+			<!-- <button class="xuanzesuccess2" v-else>选择完成</button> -->
+			<!-- <button @click="quxiaoyuding" class="xuanzesuccess">取消</button> -->
+			<view style="height: 20px;"></view>
+		  </view>
+		</uni-popup>
 			
 	</view>
 </template>
@@ -238,7 +278,9 @@
 		getroomtype,
 		getroomtypeinfo,
 		getorderpage,
-		apartSet
+		apartSet,
+		getpayOpenId,
+		ifyuding
 	} from '../../utils/api_hotel.js'
 	// 导入图片
 	import AMap from "../../lib/qqmap-wx-jssdk.js"
@@ -281,51 +323,6 @@
 					endDate:''
 				},
 				roomType:[
-					{
-					                "id": 1,
-					                "roomName": "标准房",
-					                "roomType": 1,
-					                "roomPrice": 250,
-					                "number": 3,
-					                "roomArea": "25",
-					                "roomLiveTime": "1",
-					                "receivingTime": "15:08-16:08",
-					                "visible": "1,2",
-					                "roomConfiguration": "1,浴室,投影机",
-					                "roomPicture": "http://192.168.161.224:12345/6/f/5/6f51cacb44f94ef09acd08ad65135371.jpg",
-					                "houseStatus": "1",
-					                "surplusCount": 1
-					            },
-					            {
-					                "id": 4,
-					                "roomName": "豪华别墅",
-					                "roomType": 1,
-					                "roomPrice": 2500,
-					                "number": 6,
-					                "roomArea": "100",
-					                "roomLiveTime": "1",
-					                "receivingTime": "16:31-17:31",
-					                "visible": "1,2,3",
-					                "roomConfiguration": "2",
-					                "roomPicture": "http://192.168.161.224:12345/1/b/3/1b38ab1658724de0875fd575f6533c42.jpg",
-					                "houseStatus": "1",
-					                "surplusCount": 6
-					            },
-					            {
-					                "id": 5,
-					                "roomName": "豪华单间",
-					                "roomType": 1,
-					                "roomPrice": 800,
-					                "number": 2,
-					                "roomArea": "50",
-					                "roomLiveTime": "1",
-					                "receivingTime": "16:52-17:52",
-					                "visible": "1,2",
-					                "roomConfiguration": "2",
-					                "roomPicture": "http://192.168.161.224:12345/f/6/4/f64bd3ee73ef4c03a1d266bba3ac4a0f.jpg",
-					                "houseStatus": "1",
-					                "surplusCount": 2
-					            }
 				],
 				typeText:'',//房型详细描述
 				indicatorDots: true,//滚动图片提示条默认出现
@@ -351,14 +348,22 @@
 				totalCount: 0,
 				apartList:{},
 				hourTime:'',//钟点房营业时间
+				
+				selectedValue: '', // 选中的值
+				sourceId:'',
+				options: [],
+				xuanId:'',
+				xuanroomName:'',
+				itenxuan:{},//选中的数据
 			}
 		},
+		onShow() {
+			this.getLocationInfo()
+			this.getAllset()
+		},
 		onLoad() {
 			this.getAllset()
 			this.handleUrlCode()
-			// uni.showToast({
-			// 	title: 'openId'+localStorage.getItem('openId')
-			// })
 		},
 		
 		mounted() {
@@ -375,17 +380,17 @@
 				// console.log('endDate:'+getDate(new Date(),6).fullDate)
 				this.info.date = getDate(new Date()).fullDate
 				this.info.startDate = getDate(new Date()).fullDate
-				this.info.endDate =  getDate(new Date(),6).fullDate
+				this.info.endDate =  getDate(new Date(),8).fullDate
 				this.infoXu.date = getDate(new Date()).fullDate
 				this.infoXu.startDate = getDate(new Date()).fullDate
-				this.infoXu.endDate =  getDate(new Date(),6).fullDate
+				this.infoXu.endDate =  getDate(new Date(),8).fullDate
 				this.startTime = getDate(new Date()).fullTime
 				this.endTime = getDate(new Date(),1).fullTime
 				this.hourruzhu= getDate(new Date()).fullDate
 				this.startWeek = getDate(new Date()).sWeek
 				this.endWeek = getDate(new Date(),1).eWeek
 			}, 1)
-			
+			this.getLocationInfo()
 			//   wx请求获取位置权限
 			this.getAuthorize()
 				.then(() => {
@@ -397,6 +402,7 @@
 					uni.getLocation({
 						type: "gcj02",
 						success: function(res) {
+							// alert(res.latitude)
 							// 暂时
 							that.longitude = res.longitude;
 							that.latitude = res.latitude;
@@ -459,6 +465,29 @@
 				
 				}
 			},
+			//获取支付openId
+			getOpenId(){
+				let _self = this
+				// alert('p'+localStorage.getItem('code'))
+				var data='?wxcode='+localStorage.getItem('code')
+				// {
+				// 	'wxcode':'061NSw100t8LAS1pXH0004UsUs1NSw1c'//
+				// }
+				getpayOpenId(data).then((res) => {
+					if (res.success) {
+						localStorage.setItem('openId2',res.message)
+						// alert('openid时'+localStorage.getItem('openId2'))
+					} else if(res.code=='500'){
+						// uni.showModal({
+						// 	content:res.message
+						// })
+					}
+				}).catch((err) => {
+					// uni.showModal({
+					// 	content:err.message
+					// })
+				});
+			},
 			//公寓整体配置
 			getAllset(){
 				let _self = this
@@ -471,7 +500,18 @@
 						localStorage.setItem('leaveTime',this.apartList.leaveTime)
 						this.startDate = getDate(new Date()).fullDate+" "+this.apartList.liveTime
 						this.endDate =  getDate(new Date(),1).fullDate+" "+this.apartList.leaveTime
+						
+						this.startTime = getDate(new Date()).fullTime
+						this.endTime = getDate(new Date(),1).fullTime
+						this.ruzhu_num=1
+						this.startWeek = getDate(new Date()).sWeek
+						this.endWeek = getDate(new Date(),1).eWeek
+						this.hourruzhu= getDate(new Date()).fullDate
+						
 						this.hourTime=this.apartList.hourTime
+						// alert('8')
+						this.selectedValue=''
+						this.sourceId=''
 						this.getRoomType()
 						return;
 					} else {
@@ -480,9 +520,9 @@
 						})
 					}
 				}).catch((err) => {
-					  uni.showModal({
-						content:err.message
-					  })
+					 //  uni.showModal({
+						// content:err.message
+					 //  })
 				});
 			},
 			onReachBottom: function() {
@@ -508,7 +548,7 @@
 					this.page = 1;
 					this.startDate = getDate(new Date()).fullDate+" "+getDate(new Date()).fullDate2.substring(11,19)
 					this.endDate =  getDate(new Date()).fullDate+" "+"23:59:00"
-					this.startTime = getDate(new Date()).fullDate.substring(5,7)+'月'+getDate(new Date()).fullDate.substring(8,10)+'日'
+					this.hourruzhu = getDate(new Date()).fullDate.substring(5,7)+'月'+getDate(new Date()).fullDate.substring(8,10)+'日'
 					this.getRoomType();
 				}else if(this.roomtype==2){
 					this.roomtype=1
@@ -517,6 +557,12 @@
 					this.endDate =  getDate(new Date(),1).fullDate+" "+this.apartList.leaveTime
 					this.getRoomType();
 				}
+				this.startTime = getDate(new Date()).fullTime
+				this.endTime = getDate(new Date(),1).fullTime
+				this.ruzhu_num=1
+				this.startWeek = getDate(new Date()).sWeek
+				this.endWeek = getDate(new Date(),1).eWeek
+				this.hourruzhu= getDate(new Date()).fullDate
 			},
 			//钟点房选择日期
 			changezhong(e){
@@ -529,13 +575,12 @@
 					this.startDate = e+" "+getDate(new Date()).fullDate2.substring(11,19)
 					this.endDate = e+" "+"23:59:00"
 				}
-				this.startTime = e.substring(5,7)+'月'+e.substring(8,10)+'日'
+				this.hourruzhu = e.substring(5,7)+'月'+e.substring(8,10)+'日'
 				this.getRoomType();
 			},
 			// 房型接口
 			getRoomType() {
 			  let _self = this
-			  _self.roomType = []
 			  var data="?page="+_self.page+"&size="+_self.size+"&type="+_self.roomtype+"&startTime="+_self.startDate+"&endTime="+_self.endDate
 			  getroomtype(data).then((res) => {
 			  	if (res.success) {
@@ -559,9 +604,9 @@
 			  		// this.$message.warning('没有符合条件的数据!')
 			  	}
 			  }).catch((err) => {
-				  uni.showModal({
-				  	content:err.message
-				  })
+				  // uni.showModal({
+				  // 	content:err.message
+				  // })
 			  	// this.$message.error(err.message)
 			  });
 			},
@@ -633,28 +678,204 @@
 			// 跳转到入住须知
 			navigateToXuzhi(){
 				uni.navigateTo({
-				  url: "../ruzhuxuzhi/ruzhuxuzhi",
+				  url: "/pages/ruzhuxuzhi/ruzhuxuzhi",
 				});
 			},
 			// 跳转到公寓详情
 			navigateToXiangqing(){
 				uni.navigateTo({
-				  url: "../gongyuxiangqing/gongyuxiangqing",
+				  url: "/pages/gongyuxiangqing/gongyuxiangqing",
 				});
 			},
 			// 订房间 
 			navigateToOrderRoom(houseStatus,id,roomName,item) {
+				this.xuanId=id
+				this.xuanroomName=roomName
+				this.itenxuan=item
+				this.ifRuzhu()
+				// let _self = this
+				// _self.roomType = []
+				// if (houseStatus==1){
+				// 	uni.navigateTo({
+				// 	  url: "/pages/order_room/order_room?roomTypeId="+id +"&enableStartTime="+this.startDate+"&enableEndTime="+this.endDate+"&startTime="+this.startTime+"&endTime="+this.endTime+"&typeName="+roomName+"&ruzhu_num="+this.ruzhu_num+"&roomArea="
+				// 	  +item.roomArea+"&roomType="+item.roomType+"&roomConfiguration="+item.roomConfiguration+"&roomPrice="+item.roomPrice+'&surplusCount='+item.surplusCount+'&zhongTime='+this.apartList.hourTime+'&zhongshi='+item.roomLiveTime+'&source='+this.selectedValue,
+				// 	});
+				// }
+				// this.getRoomType()
+			},
+			//订房前判断是否有入住资格
+			ifRuzhu(){
+				// alert('订房')
+				this.options=[]
 				let _self = this
-				_self.roomType = []
-				if (houseStatus==1){
-					uni.navigateTo({
-					  url: "../order_room/order_room?roomTypeId="+id +"&enableStartTime="+this.startDate+"&enableEndTime="+this.endDate+"&startTime="+this.startTime+"&endTime="+this.endTime+"&typeName="+roomName+"&ruzhu_num="+this.ruzhu_num+"&roomArea="
-					  +item.roomArea+"&roomType="+item.roomType+"&roomConfiguration="+item.roomConfiguration+"&roomPrice="+item.roomPrice+'&surplusCount='+item.surplusCount+'&zhongTime='+this.apartList.hourTime+'&zhongshi='+item.roomLiveTime,
-					});
+				var data='?userId='+localStorage.getItem('usersId')+
+				'&liveTime='+_self.startDate+'&leaveTime='+_self.endDate
+				ifyuding(data).then((res) => {
+					if (res.success) {
+						_self.options=res.data
+						console.log(_self.options,'iii')
+						if(_self.options.length>0){
+							_self.$refs.popupRuzhu.open();
+						}else{
+							_self.selectedValue=''
+							_self.sourceId=''
+							let temporaryObj = {
+								roomTypeId:_self.xuanId,
+								enableStartTime:_self.startDate,
+								enableEndTime:_self.endDate,
+								startTime:_self.startTime,
+								endTime:_self.endTime,
+								typeName:_self.xuanroomName,
+								ruzhu_num:_self.ruzhu_num,
+								roomArea:_self.itenxuan.roomArea,
+								roomType:_self.itenxuan.roomType,
+								roomConfiguration:_self.itenxuan.roomConfiguration,
+								roomPrice:_self.itenxuan.roomPrice,
+								surplusCount:_self.itenxuan.surplusCount,
+								zhongTime:_self.apartList.hourTime,
+								zhongshi:_self.itenxuan.roomLiveTime,
+								source:_self.selectedValue,
+								sourceId:_self.sourceId
+							}
+							//传参对象,使用encodeURIComponent编码
+							let str = JSON.stringify(temporaryObj)
+							//注意这里——————————————————————
+							str = str.replace(/%/g, '%25')
+							//这里———————————————————————————
+							let query = encodeURIComponent(str)
+							uni.navigateTo({
+								url: "/pages/order_room/order_room?data="+query
+							  // url: "/pages/order_room/order_room?roomTypeId="+_self.xuanId +"&enableStartTime="+_self.startDate+"&enableEndTime="+_self.endDate+"&startTime="+_self.startTime+"&endTime="+_self.endTime+"&typeName="+_self.xuanroomName+"&ruzhu_num="+_self.ruzhu_num+"&roomArea="
+							  // +_self.itenxuan.roomArea+"&roomType="+_self.itenxuan.roomType+"&roomConfiguration="+_self.itenxuan.roomConfiguration+"&roomPrice="+_self.itenxuan.roomPrice+'&surplusCount='+_self.itenxuan.surplusCount+'&zhongTime='+_self.apartList.hourTime+'&zhongshi='+_self.itenxuan.roomLiveTime
+							  // +'&source='+_self.selectedValue+'&sourceId='+_self.sourceId,
+							});
+						}
+					} else if(res.code=='500'){
+						uni.showModal({
+						  title: '提示',
+						  content: res.message,
+						  success: function (res) {
+						    if (res.confirm) {
+								_self.selectedValue=''
+								_self.sourceId=''
+								let temporaryObj = {
+									roomTypeId:_self.xuanId,
+									enableStartTime:_self.startDate,
+									enableEndTime:_self.endDate,
+									startTime:_self.startTime,
+									endTime:_self.endTime,
+									typeName:_self.xuanroomName,
+									ruzhu_num:_self.ruzhu_num,
+									roomArea:_self.itenxuan.roomArea,
+									roomType:_self.itenxuan.roomType,
+									roomConfiguration:_self.itenxuan.roomConfiguration,
+									roomPrice:_self.itenxuan.roomPrice,
+									surplusCount:_self.itenxuan.surplusCount,
+									zhongTime:_self.apartList.hourTime,
+									zhongshi:_self.itenxuan.roomLiveTime,
+									source:_self.selectedValue,
+									sourceId:_self.sourceId
+								}
+								//传参对象,使用encodeURIComponent编码
+								let str = JSON.stringify(temporaryObj)
+								//注意这里——————————————————————
+								str = str.replace(/%/g, '%25')
+								//这里———————————————————————————
+								let query = encodeURIComponent(str)
+								uni.navigateTo({
+									url: "/pages/order_room/order_room?data="+query
+								});
+						    } else if (res.cancel) {
+								_self.selectedValue=''
+								_self.sourceId=''
+						    }
+						  }
+						});
+					}
+				}).catch((err) => {
+					// alert(err)
+					uni.showModal({
+						content:err
+					})
+				});
+			},
+			radioChange(e){
+				// console.log(e,'ll')
+				for (let i = 0; i < this.options.length; i++) {
+					if (this.options[i].name === e.detail.value) {
+						this.selectedValue=this.options[i].source
+						this.sourceId=this.options[i].sourceId
+						break;
+					}
 				}
-				// this.getRoomType()
-				
-				
+			},
+			//订房选中流程
+			  confirmSelection() {
+				console.log('选中的值:', this.selectedValue);
+				this.$refs.popupRuzhu.close()
+				// alert('跳转')
+				let temporaryObj = {
+					roomTypeId:this.xuanId,
+					enableStartTime:this.startDate,
+					enableEndTime:this.endDate,
+					startTime:this.startTime,
+					endTime:this.endTime,
+					typeName:this.xuanroomName,
+					ruzhu_num:this.ruzhu_num,
+					roomArea:this.itenxuan.roomArea,
+					roomType:this.itenxuan.roomType,
+					roomConfiguration:this.itenxuan.roomConfiguration,
+					roomPrice:this.itenxuan.roomPrice,
+					surplusCount:this.itenxuan.surplusCount,
+					zhongTime:this.apartList.hourTime,
+					zhongshi:this.itenxuan.roomLiveTime,
+					source:this.selectedValue,
+					sourceId:this.sourceId
+				}
+				//传参对象,使用encodeURIComponent编码
+				let str = JSON.stringify(temporaryObj)
+				//注意这里——————————————————————
+				str = str.replace(/%/g, '%25')
+				//这里———————————————————————————
+				let query = encodeURIComponent(str)
+				uni.navigateTo({
+					url: "/pages/order_room/order_room?data="+query,
+				  // url: "/pages/order_room/order_room?roomTypeId="+this.xuanId +"&enableStartTime="+this.startDate+"&enableEndTime="+this.endDate+"&startTime="+this.startTime+"&endTime="+this.endTime+"&typeName="+this.xuanroomName+"&ruzhu_num="+this.ruzhu_num+"&roomArea="
+				  // +this.itenxuan.roomArea+"&roomType="+this.itenxuan.roomType+"&roomConfiguration="+this.itenxuan.roomConfiguration+"&roomPrice="+this.itenxuan.roomPrice+'&surplusCount='+this.itenxuan.surplusCount+'&zhongTime='+this.apartList.hourTime+'&zhongshi='+this.itenxuan.roomLiveTime+'&source='+this.selectedValue+'&sourceId='+_self.sourceId,
+				});
+			  },
+			//取消预订
+			quxiaoyuding(){
+				this.selectedValue=''
+				this.sourceId=''
+				this.$refs.popupRuzhu.close()
+				let temporaryObj = {
+					roomTypeId:this.xuanId,
+					enableStartTime:this.startDate,
+					enableEndTime:this.endDate,
+					startTime:this.startTime,
+					endTime:this.endTime,
+					typeName:this.xuanroomName,
+					ruzhu_num:this.ruzhu_num,
+					roomArea:this.itenxuan.roomArea,
+					roomType:this.itenxuan.roomType,
+					roomConfiguration:this.itenxuan.roomConfiguration,
+					roomPrice:this.itenxuan.roomPrice,
+					surplusCount:this.itenxuan.surplusCount,
+					zhongTime:this.apartList.hourTime,
+					zhongshi:this.itenxuan.roomLiveTime,
+					source:this.selectedValue,
+					sourceId:this.sourceId
+				}
+				//传参对象,使用encodeURIComponent编码
+				let str = JSON.stringify(temporaryObj)
+				//注意这里——————————————————————
+				str = str.replace(/%/g, '%25')
+				//这里———————————————————————————
+				let query = encodeURIComponent(str)
+				uni.navigateTo({
+					url: "/pages/order_room/order_room?data="+query
+				});
 			},
 			//办理入住跳转
 			navigateToDairuzhu(type){
@@ -672,7 +893,7 @@
 					}
 					if(this.dai_panduan.length>=1) {
 						uni.navigateTo({
-							url:"../my_orderlist/my_orderlist?Inv=2"
+							url:"/pages/my_orderlist/my_orderlist?Inv=2"
 						})
 					}else if(this.dai_panduan.length<1) {
 						this.msgType = type
@@ -697,7 +918,7 @@
 					}
 					if(this.tui_panduan.length>=1) {
 						uni.navigateTo({
-							url:"../my_orderlist/my_orderlist?Inv=3"
+							url:"/pages/my_orderlist/my_orderlist?Inv=3"
 						})
 					}else if(this.tui_panduan.length<1) {
 						this.msgType = type
@@ -730,7 +951,7 @@
 					console.log(this.xuzhu_panduan)
 					if(this.xuzhu_panduan.length>1) {
 						uni.navigateTo({
-							url:"../my_orderlist/my_orderlist?Inv=3"
+							url:"/pages/my_orderlist/my_orderlist?Inv=3"
 						})
 					}else if(this.xuzhu_panduan.length==1) {
 						this.$refs.popup_xuzhu.open()
@@ -750,6 +971,10 @@
 			openCalendar() {
 				this.$refs.popup_picker.open()
 			},
+			// 关闭全日房日历
+			popup_pickerClose(){
+				this.$refs.popup_picker.close()
+			},
 			change(e) {
 				this.info.selected=[
 					{
@@ -767,6 +992,23 @@
 					if((new Date(e.range.after).getTime())<(new Date(e.range.before).getTime())) {
 						this.order_txt='离店日期不能小于到店日期'
 						this.$refs.popup_order.open()
+						this.info.selected=[]
+					}else if(parseInt(((new Date(e.range.after).getTime())-(new Date(e.range.before).getTime()))/1000/60/60/24)>2){
+						this.order_txt='预订时间不能超过两晚'
+						this.$refs.popup_order.open()
+						this.info.selected=[]
+					}else if(parseInt(((new Date(e.range.after).getTime())-(new Date(e.range.before).getTime()))/1000/60/60/24)==2){
+						this.order_txt='您此次申请了两晚,请注意若只住一晚可能会导致流程管理次数失效。'
+						this.$refs.popup_order.open()
+						this.endWeek='周'+e.lunar.ncWeek.substring(2,3)
+						this.startTime=e.range.before.substring(5,7)+'月'+e.range.before.substring(8,10)+'日'
+						this.endTime=e.range.after.substring(5,7)+'月'+e.range.after.substring(8,10)+'日'
+						this.startDate = e.range.before +' '+this.apartList.liveTime
+						this.endDate =  e.range.after +' '+this.apartList.leaveTime
+						this.ruzhu_num=parseInt(((new Date(e.range.after).getTime())-(new Date(e.range.before).getTime()))/1000/60/60/24)
+						if(this.endDate !=this.apartList.leaveTime) {
+							this.getRoomType()
+						}
 					}else{
 						this.endWeek='周'+e.lunar.ncWeek.substring(2,3)
 						this.startTime=e.range.before.substring(5,7)+'月'+e.range.before.substring(8,10)+'日'
@@ -823,7 +1065,9 @@
 			getLocationInfo() {
 				const that = this;
 				uni.getLocation({
-					type: "gcj02",
+					type: "wgs84",
+					geocode: true,
+					highAccuracyExpireTime: 100,
 					success: function(res) {
 						// 暂时
 						that.longitude = res.longitude; //118.787575;
@@ -845,9 +1089,8 @@
 								lat = parseFloat(longlatsplit1[0] === "" ? 0 : longlatsplit1[0]) + parseFloat("." + longlatsplit1[1].slice(0,6));
 							}
 						}
-						console.log("纬度", lat);
 						that.distance = that.getMapDistance(lat,long,'28.788671','115.387261');
-						console.log(that.distance)
+						// alert(that.distance)
 						that.markers = [{
 							id: "",
 							latitude: res.latitude,
@@ -857,6 +1100,12 @@
 							height: that.markerHeight, //高
 						}, ];
 					},
+					fail: function () {
+										uni.showToast({
+										    title: '获取地址失败,将导致部分功能不可用',
+											icon:'none'
+										});
+									}
 				});
 			},
 			// 拒绝授权后,弹框提示是否手动打开位置授权
@@ -904,11 +1153,6 @@
 			 默认单位km
 			*/
 			getMapDistance(lat1, lng1, lat2, lng2) {
-				// console.log(this.Rad(lat1))
-				// console.log(this.Rad(lng1))
-				// console.log(this.Rad(lat2))
-				// console.log(this.Rad(lng2))
-				// console.log(this.Rad(28.678651))
 				var radLat1 = this.Rad(lat1);
 				var radLat2 = this.Rad(lat2);
 				var a = radLat1 - radLat2;

+ 20 - 2
pages/liuchengManger/css/liu_manage.css

@@ -34,7 +34,7 @@
 .submit-list{
 	margin: 11rpx 0 0 20rpx;
 	width: 710rpx;
-	height: 370rpx;
+	/* height: 370rpx; */
 	opacity: 0.9;
 	border-radius: 10rpx;
 	background: rgba(255, 255, 255, 1);
@@ -46,7 +46,7 @@
 .submit-list2{
 	margin: 11rpx 0 0 20rpx;
 	width: 710rpx;
-	height: 432rpx;
+	/* height: 432rpx; */
 	opacity: 0.9;
 	border-radius: 10rpx;
 	background: rgba(255, 255, 255, 1);
@@ -73,6 +73,10 @@
 }
 .submit-start{
 	margin: 22rpx 0 0 21rpx;
+	/* 自动换行 */
+	word-wrap: break-word;
+	word-break: break-all;
+	white-space: pre-line;
 }
 .submit-end{
 	margin: 7rpx 0 0 21rpx;
@@ -82,6 +86,10 @@
 }
 .submit-remark{
 	margin: 7rpx 0 0 21rpx;
+	/* 自动换行 */
+	word-wrap: break-word;
+	word-break: break-all;
+	white-space: pre-line;
 }
 .submit-type{
 	margin: 11rpx 0 0 573rpx;
@@ -103,6 +111,16 @@
 	color: rgba(212, 48, 48, 1);
 	text-align: center;
 }
+.submit-type2{
+	margin: 11rpx 0 0 573rpx;
+	width: 118rpx;
+	height: 55rpx;
+	border-radius: 7rpx;
+	background: rgba(245, 228, 228, 1);
+	line-height: 55rpx;
+	color: rgba(212, 48, 48, 1);
+	text-align: center;
+}
 .submit-disagree{
 	margin: 16rpx 0 0 374rpx;
 	width: 118rpx;

+ 5 - 6
pages/liuchengManger/detail/teach_detail.css

@@ -60,7 +60,6 @@
 .request_detail{
 	margin-top: 20rpx;
 	width: 750rpx;
-	height: 428rpx;
 	opacity: 0.9;
 	background: rgba(255, 255, 255, 1);
 }
@@ -108,8 +107,8 @@
 .request_remark{
 	padding-left: 20px;
 	margin-top: 20rpx;
-	width: 750rpx;
-	height: 277rpx;
+	/* width: 750rpx; */
+	/* height: 277rpx; */
 	opacity: 0.9;
 	background: rgba(255, 255, 255, 1);
 }
@@ -122,9 +121,9 @@
 	border-radius: 10rpx;
 }
 .textsrea-txt{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 317px;
-	margin-top: -57rpx;
+	/* margin-top: -57rpx; */
 	font-size: 28rpx;
 	font-weight: 400;
 	color: rgba(128, 128, 128, 1);
@@ -139,7 +138,7 @@
 .request_list{
 	margin-top: 27rpx;
 	width: 750rpx;
-	height: 208rpx;
+	/* height: 208rpx; */
 	opacity: 0.9;
 	background: rgba(255, 255, 255, 1);
 }

+ 65 - 20
pages/liuchengManger/detail/teach_detail.vue

@@ -2,8 +2,8 @@
 	<view class="content">
 		<!-- 申请类型 -->
 		<view class="request_type">
-			<text class="type_title" v-if="department=='7'">临时人员</text>
-			<text class="type_title" v-if="department=='4'">教师换课</text>
+			<text class="type_title" v-if="department=='4'">临时人员</text>
+			<!-- <text class="type_title" v-if="department=='4'">教师换课</text> -->
 			<view class="type_time">{{list.submissionTime}}</view>
 			<view class="type_zhuang2" v-if="list.status==0">已拒绝</view>
 			<view class="type_zhuang3" v-if="list.status==1">待审批</view>
@@ -37,13 +37,25 @@
 				</uni-forms-item>
 				<view class="form-line"></view>
 				<uni-forms-item label="申请部门" name="companyName" required>
+					<view class="uni-input">{{list.orgName}}
+						<!-- <template v-if="list.orgName=='0'">其他</template>
+						<template v-if="list.orgName=='1'">学生</template>
+						<template v-if="list.orgName=='4'">教职工</template>
+						<template v-if="list.orgName=='5'">校友</template>
+						<template v-if="list.orgName=='6'">访客</template>
+						<template v-if="list.orgName=='7'">临时人员</template> -->
+					</view>
+				</uni-forms-item>
+				<view class="form-line"></view>
+				<uni-forms-item label="提交人" name="companyName" required>
+					<view class="uni-input">
+						{{list.usersName}}
+					</view>
+				</uni-forms-item>
+				<view class="form-line"></view>
+				<uni-forms-item label="房间数量" name="companyName" required>
 					<view class="uni-input">
-						<template v-if="list.department=='0'">其他</template>
-						<template v-if="list.department=='1'">学生</template>
-						<template v-if="list.department=='4'">教职工</template>
-						<template v-if="list.department=='5'">校友</template>
-						<template v-if="list.department=='6'">访客</template>
-						<template v-if="list.department=='7'">临时人员</template>
+						{{list.houseCount}}
 					</view>
 				</uni-forms-item>
 				<view class="form-line" v-if="department=='4'"></view>
@@ -56,11 +68,21 @@
 		</view>
 		<!-- 申请备注 -->
 		<view class="request_remark">
-			<uni-forms-item label="备注" name="companyName" required>
+			<uni-forms-item label="申请原因" name="companyName" required>
 			</uni-forms-item>
 			<view class="liyou">{{list.reasonApplication}}</view>
 			<text class="textsrea-txt">{{zishunum}}</text>
 		</view>
+		<view class="request_remark" style="height: 100%;">
+			<view class="submit-start" style="color: rgba(0, 0, 0, 1);">附件:</view>
+			<view class="submit-start" style="color: rgba(0, 0, 0, 1);">
+				<!-- {{item.imageUrl!=null&&item.imageUrl!=''}}3{{(item.imageUrl).split(',')}} -->
+				<text v-if="list.imageUrl!=null&&list.imageUrl!=''">
+					<image @click.stop="clickImg2(item2)" style="color: rgba(0, 97, 255, 1);width: 200rpx;height: 200rpx;margin-left: 20rpx;" :src="item2" v-for="(item2,index2) in (list.imageUrl).split(',')" :key="index2">
+					</image>
+				</text>
+			</view>
+		</view>
 		<!-- 审批记录 -->
 		<view class="request_list" v-if="list.status==0 || list.status==3">
 			<view class="list_title">审批记录</view>
@@ -92,7 +114,7 @@
 		<view class="option_title" v-if="list.status==1 || list.status==2">审批意见</view>
 		<view class="request_list" v-if="list.status==1 || list.status==2">
 			<uni-easyinput type="textarea" v-model="option" placeholder="请输入审批意见" @input="input"></uni-easyinput>
-			<text class="textsrea-txt" style="margin-left: 337px;">{{textNum}}/800</text>
+			<text class="textsrea-txt" style="">{{textNum}}/800</text>
 		</view>
 		<view class="submit-disagree" v-if="list.status==1 || list.status==2" @click="disagree()">驳回</view>
 		<view class="submit-agree" v-if="list.status==1 || list.status==2" @click="agree()">同意</view>
@@ -125,6 +147,17 @@
 		mounted() {
 		},
 		methods: {
+			//点击放大图片
+			clickImg2(item2) {
+				// console.log(item.srcUrl)
+				uni.previewImage({
+					urls: [item2], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+					current: '', // 当前显示图片的http链接,默认是第一个
+					success: function(res) {},
+					fail: function(res) {},
+					complete: function(res) {},
+				})
+			},
 			//输入审批意见
 			input(e){
 				this.option=e
@@ -138,8 +171,8 @@
 				var data="?department="+_self.department+"&id="+_self.id
 				getlistXiang(data).then((res) => {
 					if (res.success) {
-						this.list=res.data
-						this.zishunum=res.data.reasonApplication.length
+						_self.list=res.data
+						_self.zishunum=res.data.reasonApplication.length
 						return;
 					} else {
 						uni.showToast({
@@ -178,9 +211,9 @@
 				this.$axios.defaults.headers.common['Content-Type'] ='application/json'
 				var data={
 					"id": _self.id, //审批表id
-					"adminMenuId": localStorage.getItem('manager'),//1管理员,0不是管理员
+					"adminMenuId": localStorage.getItem('adminMenuId'),//
 					"status": _self.agreestatu, //审批状态   1:同意 0:拒绝
-					"adminId": localStorage.getItem('usersId'),//管理端id
+					"adminId": localStorage.getItem('adminId'),//管理端id
 					"remark": _self.option ,//审批备注
 				}
 				shenpiLinshi(data).then((res) => {
@@ -188,10 +221,16 @@
 						uni.showToast({
 							title: '审批成功',
 							icon: 'success',
-							duration: 1000
+							duration: 1500
 						})
-						_self.getXiang()
+						setTimeout(function(){
+							_self.getXiang()
+						},1500);
 					} else {
+						uni.showToast({
+							title: res.message,
+							duration: 1500
+						})
 					}
 				}).catch((err) => {
 					uni.showToast({
@@ -207,9 +246,9 @@
 				this.$axios.defaults.headers.common['Content-Type'] ='application/json'
 				var data={
 					"id": _self.id, //审批表id
-					"adminMenuId": localStorage.getItem('manager'),//1管理员,0不是管理员
+					"adminMenuId": localStorage.getItem('adminMenuId'),//1管理员,0不是管理员
 					"status": _self.agreestatu, //审批状态   1:同意 0:拒绝
-					"adminId": localStorage.getItem('usersId'),//管理端id
+					"adminId": localStorage.getItem('adminId'),//管理端id
 					"remark": _self.option ,//审批备注
 				}
 				shenpiTeacher(data).then((res) => {
@@ -217,10 +256,16 @@
 						uni.showToast({
 							title: '审批成功',
 							icon: 'success',
-							duration: 1000
+							duration: 1500
 						})
-						_self.getXiang()
+						setTimeout(function(){
+							_self.getXiang()
+						},1500);
 					} else {
+						uni.showToast({
+							title: res.message,
+							duration: 1500
+						})
 					}
 				}).catch((err) => {
 					uni.showToast({

+ 134 - 38
pages/liuchengManger/liu_manage.vue

@@ -1,9 +1,9 @@
 <template>
 	<view class="content">
 		<!-- 提交记录 -->
-		<view>
+		<view style="min-height: 100vh;">
 			<view class="select_submit">
-				<view style="width: 80px;margin-left: 9rpx;position: absolute;">
+				<view style="width: 100px;margin-left: 9rpx;position: absolute;">
 					<uni-data-select
 						v-model="value3"
 						:localdata="shenfen"
@@ -25,23 +25,60 @@
 					  ></uni-data-select>
 				</view>
 				<!-- 不同状态的记录 -->
-				<view :class="item.department=='4'?'submit-list2':'submit-list'" v-for="(item,index) in submit" :key="index">
+				<view :class="item.department=='4'?'submit-list2':'submit-list'" v-for="(item,index) in submit" :key="index" v-if="item.department=='4'">
 					<text @click="clickDetail(item.id,item.department)">
-						<text class="submit-title" v-if="item.department=='7'">临时人员</text>
-						<text class="submit-title" v-if="item.department=='4'">教师换课</text>
+						<text class="submit-title" v-if="item.department=='4'">临时人员</text>
+						<!-- <text class="submit-title" v-if="item.department=='4'">教师换课</text> -->
 						<text class="submit-time">{{item.submissionTime}}</text>
 						<view class="submit-line"></view>
+						<view class="submit-start" style="color: rgba(0, 0, 0, 1);">附件:</view>
+						<view class="submit-start" style="color: rgba(0, 0, 0, 1);">
+							<!-- {{item.imageUrl!=null&&item.imageUrl!=''}}3{{(item.imageUrl).split(',')}} -->
+							<text v-if="item.imageUrl!=null&&item.imageUrl!=''">
+								<image @click.stop="clickImg2(item2)" style="color: rgba(0, 97, 255, 1);width: 200rpx;height: 200rpx;margin-left: 20rpx;" :src="item2" v-for="(item2,index2) in (item.imageUrl).split(',')" :key="index2">
+								</image>
+							</text>
+						</view>
 						<view class="submit-start">开始时间:{{item.startTime}}</view>
 						<view class="submit-end">结束时间:{{item.endTime}}</view>
 						<view class="submit-teacher" v-if="item.department=='4'">换课老师:{{item.changeUsersName}}</view>
-						<view class="submit-remark">备注:{{item.reasonApplication}}</view>
+						<view class="submit-remark">
+							部门:{{item.orgName}}
+							<!-- <template v-if="item.orgName=='0'">其他</template>
+							<template v-if="item.orgName=='1'">学生</template>
+							<template v-if="item.orgName=='4'">教职工</template>
+							<template v-if="item.orgName=='5'">校友</template>
+							<template v-if="item.orgName=='6'">访客</template>
+							<template v-if="item.orgName=='7'">临时人员</template> -->
+						</view>
+						<view class="submit-remark">提交人:{{item.usersName}}</view>
+						<view class="submit-remark">房间数量:{{item.houseCount}}</view>
+						<view class="submit-remark">申请原因:{{item.reasonApplication}}</view>
 						<view class="submit-type1" v-if="item.status==0">已拒绝</view>
 						<view class="submit-type1" v-if="item.status==1">待审批</view>
 						<view class="submit-type2" v-if="item.status==2">处理中</view>
 						<view class="submit-type" v-if="item.status==3">已同意</view>
 					</text>
-					<view class="submit-disagree" v-if="item.status==1 || item.status==2" @click="disagree(item.id)">驳回</view>
-					<view class="submit-agree" v-if="item.status==1 || item.status==2" @click="agree(item.id)">同意</view>
+					<template v-if="approverType=='1'">
+						<template v-if="dengji==0">
+							<view class="submit-disagree" v-if="item.status==1 || item.status==2" @click="disagree(item.id)">驳回</view>
+							<view class="submit-agree" v-if="item.status==1 || item.status==2" @click="agree(item.id)">同意</view>
+						</template>
+						<template v-else>
+						</template>
+					</template>
+					<template v-if="approverType=='2'">
+						<template v-if="dengji==0">
+							<view class="submit-disagree" v-if="item.status==2" @click="disagree(item.id)">驳回</view>
+							<view class="submit-agree" v-if="item.status==2" @click="agree(item.id)">同意</view>
+						</template>
+						<template v-else>
+							<view class="submit-disagree" v-if="item.status==1" @click="disagree(item.id)">驳回</view>
+							<view class="submit-agree" v-if="item.status==1" @click="agree(item.id)">同意</view>
+						</template>
+					</template>
+					
+					<view style="height: 20px;"></view>
 				</view>
 
 			</view>
@@ -51,6 +88,7 @@
 
 <script>
 	import {
+			shenpiguiju,
 			getManaLinlist,
 			getManaTealist,
 			shenpiLinshi,
@@ -63,7 +101,7 @@
 				value3: 0,
 				shenfen: [
 				  { value: 0, text: "临时人员" },
-				  { value: 1, text: "教师换课" },
+				  // { value: 1, text: "教师换课" },
 				],
 				value: '',
 				zhuangtai: [
@@ -87,33 +125,68 @@
 				nowTime: new Date().toISOString().slice(0, 10),//当前日期2024-07-23
 				totalCount:0,
 				agreestatu:'',//1:同意 0:拒绝
+				
+				dengji:localStorage.getItem('parentId'),//当前人等级,0最上级
+				approverType:'',//审批规则,1最上级审,2批次审
 			}
 		},
 		onLoad() {
-			this.getManageLin()
+			this.shenpiGui()
 		},
 		mounted() {
 			
 		},
 		methods: {
+			//点击放大图片
+			clickImg2(item2) {
+				// console.log(item.srcUrl)
+				uni.previewImage({
+					urls: [item2], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+					current: '', // 当前显示图片的http链接,默认是第一个
+					success: function(res) {},
+					fail: function(res) {},
+					complete: function(res) {},
+				})
+			},
+			//审批规则
+			shenpiGui(){
+				let _self = this
+				shenpiguiju().then((res) => {
+					if (res.success) {
+						_self.approverType=res.data.approverType
+						_self.getManageLin()
+					} else {
+						uni.showToast({
+							title: res.message
+						})
+					}
+				}).catch((err) => {
+					uni.showToast({
+						title: err.message
+					})
+				});
+			},
 			//管理员查看临时人员记录
 			getManageLin(){
 				let _self = this
 				// adminMenuId身份类型,localStorage.getItem('manager'),//1管理员,0不是管理员
 				// 状态,0:已拒绝,1:待审批,2:处理中,3:已同意
-				var data="?adminMenuId="+localStorage.getItem('manager')+"&startTime="+this.startTime+"&endTime="+this.endTime+"&status="+this.value+"&page="+this.page+"&size="+this.size
+				var data="?adminMenuId="+localStorage.getItem('adminMenuId')+"&startTime="+this.startTime+"&endTime="+this.endTime+"&status="+this.value
+				+"&page="+this.page+"&size="+this.size+'&OrgIds='+localStorage.getItem('OrgIds')
 				getManaLinlist(data).then((res) => {
 					if (res.success) {
-						this.totalCount=res.data.total
-						if (this.page == 1) {
-							this.submit = res.data.records
+						_self.totalCount=res.data.totalCount
+						if (_self.page == 1) {
+							_self.submit = res.data.list
 						} else {
-							this.submit = [...this.submit, ...res.data.records]
+							_self.submit = [..._self.submit, ...res.data.list]
 						}
 						uni.stopPullDownRefresh();
 						uni.hideLoading()
 					} else {
-						console.log('获取记录失败')
+						uni.showToast({
+							title: res.message
+						})
 					}
 				}).catch((err) => {
 					uni.showToast({
@@ -126,19 +199,21 @@
 				let _self = this
 				// adminMenuId身份类型,localStorage.getItem('manager'),//1管理员,0不是管理员
 				// 状态,0:已拒绝,1:待审批,2:处理中,3:已同意
-				var data="?adminMenuId="+localStorage.getItem('manager')+"&startTime="+this.startTime+"&endTime="+this.endTime+"&status="+this.value+"&page="+this.page+"&size="+this.size
+				var data="?adminMenuId="+localStorage.getItem('adminMenuId')+"&startTime="+this.startTime+"&endTime="+this.endTime+"&status="+this.value+"&page="+this.page+"&size="+this.size
 				getManaTealist(data).then((res) => {
 					if (res.success) {
-						this.totalCount=res.data.totalCount
-						if (this.page == 1) {
-							this.submit = res.data.list
+						_self.totalCount=res.data.totalCount
+						if (_self.page == 1) {
+							_self.submit = res.data.list
 						} else {
-							this.submit = [...this.submit, ...res.data.list]
+							_self.submit = [..._self.submit, ...res.data.list]
 						}
 						uni.stopPullDownRefresh();
 						uni.hideLoading()
 					} else {
-						console.log('获取记录失败')
+						uni.showToast({
+							title: res.message
+						})
 					}
 				}).catch((err) => {
 					uni.showToast({
@@ -175,9 +250,9 @@
 				this.$axios.defaults.headers.common['Content-Type'] ='application/json'
 				var data={
 					"id": id, //审批表id
-					"adminMenuId": localStorage.getItem('manager'),//1管理员,0不是管理员
+					"adminMenuId": localStorage.getItem('adminMenuId'),//1管理员,0不是管理员
 					"status": _self.agreestatu, //审批状态   1:同意 0:拒绝
-					"adminId": localStorage.getItem('usersId'),//管理端id
+					"adminId": localStorage.getItem('adminId'),//管理端id
 					"remark": "" ,//审批备注
 				}
 				shenpiLinshi(data).then((res) => {
@@ -185,15 +260,24 @@
 						uni.showToast({
 							title: '审批成功',
 							icon: 'success',
-							duration: 1000
+							duration: 1500
 						})
-						if(_self.value3==1){
-							_self.getManageTeacher()
-						}else if(_self.value3==0){
-							_self.getManageLin()
-						}
+						setTimeout(function(){
+							if(_self.value3==1){
+								_self.page=1
+								_self.getManageTeacher()
+							}else if(_self.value3==0){
+								_self.page=1
+								_self.getManageLin()
+							}
+						},1500);
 					} else {
+						uni.showToast({
+							title: res.message,
+							duration: 1500
+						})
 					}
+					
 				}).catch((err) => {
 					uni.showToast({
 						title: err.message
@@ -208,9 +292,9 @@
 				this.$axios.defaults.headers.common['Content-Type'] ='application/json'
 				var data={
 					"id": id, //审批表id
-					"adminMenuId": localStorage.getItem('manager'),//1管理员,0不是管理员
+					"adminMenuId": localStorage.getItem('adminMenuId'),//1管理员,0不是管理员
 					"status": _self.agreestatu, //审批状态   1:同意 0:拒绝
-					"adminId": localStorage.getItem('usersId'),//管理端id
+					"adminId": localStorage.getItem('adminId'),//管理端id
 					"remark": "" ,//审批备注
 				}
 				shenpiTeacher(data).then((res) => {
@@ -218,14 +302,22 @@
 						uni.showToast({
 							title: '审批成功',
 							icon: 'success',
-							duration: 1000
+							duration: 1500
 						})
-						if(_self.value3==1){
-							_self.getManageTeacher()
-						}else if(_self.value3==0){
-							_self.getManageLin()
-						}
+						setTimeout(function(){
+							if(_self.value3==1){
+								_self.page=1
+								_self.getManageTeacher()
+							}else if(_self.value3==0){
+								_self.page=1
+								_self.getManageLin()
+							}
+						},1500);
 					} else {
+						uni.showToast({
+							title: res.message,
+							duration: 1500
+						})
 					}
 				}).catch((err) => {
 					uni.showToast({
@@ -328,6 +420,10 @@
 						this.getManageLin()
 					}
 				} else {
+					uni.showToast({
+						title: '已经到底了',
+						icon: 'none'
+					})
 				}
 			},
 			onPullDownRefresh: function() {

+ 58 - 26
pages/liuchengO/css/liu_other.css

@@ -7,14 +7,14 @@
 }
 /* 切换发起提交与提交记录 */
 .select-type{
-	width: 750rpx;
+	width: 100%;
 	height: 89rpx;
 	margin-left: 5px;
 	background-color: rgba(255, 255, 255, 1);
-	border-radius: 8px;
+	/* border-radius: 8px; */
 }
 .allday{
-	width: 385rpx;
+	width: 57%;
 	height: 89rpx;
 	background-image: url('../../static/index/allday.png');
 	background-size: 100%;
@@ -24,30 +24,30 @@
 }
 .hourday_no{
 	background-color: rgba(230, 230, 230, 1);
-	width: 234px;
-	height: 40px;
-	margin-left: 304rpx;
-	border-radius: 8px;
-	line-height: 41px;
+	width: 50%;
+	height: 37px;
+	margin-left: 50%;
+	/* border-radius: 8px; */
+	line-height: 37px;
 	text-align: center;
 }
 .allday2{
-	width: 234px;
-	height: 40px;
-	border-radius: 8px;
+	width: 50%;
+	height: 37px;
+	/* border-radius: 8px; */
 	background-color: rgba(230, 230, 230, 1);
 	float: left;
-	line-height: 41px;
+	line-height: 37px;
 	text-align: center;
 }
 .hourday_no2{
-	width: 385rpx;
+	width: 55%;
 	height: 89rpx;
 	z-index: 3;
 	position: absolute;
 	background-image: url('../../static/index/hourday.png');
 	background-size: 100%;
-	margin-left: 170px;
+	margin-left: 40%;
 	line-height: 41px;
 	text-align: center;
 }
@@ -95,7 +95,7 @@
 .uni-input-placeholder {
     position: absolute;
     top: auto!important;
-    left: 0;
+    left: 100%;
     color: #CCCCCC;
     overflow: hidden;
     text-overflow: clip;
@@ -145,17 +145,9 @@ uni-picker {
     border-radius: 4rpx;
     border: 0px solid #e5e5e5;
 }
->>>.uni-forms-item__content[data-v-61dfc0d0] {
-    position: relative;
-    font-size: 28rpx;
-	color: #CCCCCC;
-    flex: 1;
-    box-sizing: border-box;
-    flex-direction: row;
-    text-align: right;
-}
+
 >>>.uni-icons[data-v-a2e81f6e] {
-    font-family: monospace;/*控制时间选择图标*/
+    font-family: monospace;
     text-decoration: none;
     text-align: revert;
 }
@@ -199,6 +191,38 @@ uni-picker {
     top: 22rpx;
     overflow: hidden;
 }
+>>>.uni-input-wrapper {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+  position: relative;
+  width: 50%;
+  height: 100%;
+  -webkit-box-orient: vertical;
+  -webkit-box-direction: normal;
+  -webkit-flex-direction: column;
+  flex-direction: column;
+  -webkit-box-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+}
+>>>.uni-input-input {
+  position: relative;
+  display: block;
+  height: 100%;
+  background: none;
+  color: inherit;
+  opacity: 1;
+  font: inherit;
+    line-height: inherit;
+  line-height: inherit;
+  letter-spacing: inherit;
+  text-align: inherit;
+  text-indent: inherit;
+  text-transform: inherit;
+  text-shadow: inherit;
+  left: 100%;
+}
 >>>.uni-textarea-textarea {
 	width: 690rpx;
 	height: 120px;
@@ -259,7 +283,7 @@ uni-picker {
 .submit-list{
 	margin: 11rpx 0 0 20rpx;
 	width: 710rpx;
-	height: 320rpx;
+	/* height: 320rpx; */
 	opacity: 0.9;
 	border-radius: 10rpx;
 	background: rgba(255, 255, 255, 1);
@@ -286,6 +310,10 @@ uni-picker {
 }
 .submit-start{
 	margin: 22rpx 0 0 21rpx;
+	/* 自动换行 */
+	word-wrap: break-word;
+	word-break: break-all;
+	white-space: pre-line;
 }
 .submit-end{
 	margin: 7rpx 0 0 21rpx;
@@ -295,6 +323,10 @@ uni-picker {
 }
 .submit-remark{
 	margin: 7rpx 0 0 21rpx;
+	/* 自动换行 */
+	word-wrap: break-word;
+	word-break: break-all;
+	white-space: pre-line;
 }
 .submit-type{
 	margin: 11rpx 0 0 573rpx;

+ 1 - 1
pages/liuchengO/detail/teach_detail.css

@@ -60,7 +60,7 @@
 .request_detail{
 	margin-top: 20rpx;
 	width: 750rpx;
-	height: 428rpx;
+	/* height: 428rpx; */
 	opacity: 0.9;
 	background: rgba(255, 255, 255, 1);
 }

+ 28 - 1
pages/liuchengO/detail/teach_detail.vue

@@ -41,15 +41,31 @@
 					</view>
 				</uni-forms-item>
 				<view class="form-line"></view>
+				<uni-forms-item label="房间数量" name="companyName" required>
+					<view class="uni-input">
+						{{list.houseCount}}
+					</view>
+				</uni-forms-item>
 			</uni-forms>
 		</view>
 		<!-- 申请备注 -->
 		<view class="request_remark">
-			<uni-forms-item label="备注" name="companyName" required>
+			<uni-forms-item label="申请原因" name="companyName" required>
 			</uni-forms-item>
 			<view class="liyou">{{list.reasonApplication}}</view>
 			<text class="textsrea-txt">{{zishunum}}</text>
 		</view>
+		<view class="request_remark" style="height: 100%;">
+			<view class="submit-start" style="color: rgba(0, 0, 0, 1);">附件:</view>
+			<view class="submit-start" style="color: rgba(0, 0, 0, 1);">
+				<!-- {{item.imageUrl!=null&&item.imageUrl!=''}}3{{(item.imageUrl).split(',')}} -->
+				<text v-if="list.imageUrl!=null&&list.imageUrl!=''">
+					<image @click.stop="clickImg2(item2)" style="color: rgba(0, 97, 255, 1);width: 200rpx;height: 200rpx;margin-left: 20rpx;" :src="item2" v-for="(item2,index2) in (list.imageUrl).split(',')" :key="index2">
+					</image>
+				</text>
+			</view>
+		</view>
+		
 		<!-- 审批记录 -->
 		<view class="request_list">
 			<view class="list_title">审批记录</view>
@@ -101,6 +117,17 @@
 		mounted() {
 		},
 		methods: {
+			//点击放大图片
+			clickImg2(item2) {
+				// console.log(item.srcUrl)
+				uni.previewImage({
+					urls: [item2], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+					current: '', // 当前显示图片的http链接,默认是第一个
+					success: function(res) {},
+					fail: function(res) {},
+					complete: function(res) {},
+				})
+			},
 			// 临时人员提交记录
 			getXiang(){
 				let _self = this

+ 298 - 29
pages/liuchengO/liu_other.vue

@@ -1,11 +1,11 @@
 <template>
 	<view class="content">
 		<!-- 切换发起提交与提交记录 -->
-		<view class="select-type" v-if="liutype" @click="changeType">
+		<view class="select-type" v-if="liutype" @click.stop="changeType">
 			<view class="allday">发起提交</view>
 			<view class="hourday_no">提交记录</view>
 		</view>
-		<view class="select-type" v-else @click="changeType">
+		<view class="select-type" v-else @click.stop="changeType">
 			<view class="allday2">发起提交</view>
 			<view class="hourday_no2">提交记录</view>
 		</view>
@@ -24,17 +24,34 @@
 						<!-- </picker> -->
 					</uni-forms-item>
 					<view class="form-line"></view>
+					<uni-forms-item label="上传附件" name="companyName">
+						<uni-file-picker limit="9"
+						@select='selectUpload'
+						@delete="deleteHandle"
+						@success='uploadSuccess'	
+						@fail='uploadFail' 
+						v-model='fileList'
+						></uni-file-picker>
+					</uni-forms-item>
+					<view class="form-line"></view>
 					<uni-forms-item label="开始时间" name="companyName" required>
-						<uni-datetime-picker type="dateTime" return-type="datetime" @change="changeStartTime" v-model="baseFormData.startTime" :start="baseFormData.mindate"/>
+						<uni-datetime-picker type="date" return-type="datetime" @change="changeStartTime" v-model="baseFormData.startTime" :start="baseFormData.mindate" :end="baseFormData.houDate"/>
 					</uni-forms-item>
 					<view class="form-line"></view>
 					<uni-forms-item label="结束时间" name="companyName" required>
-						<uni-datetime-picker type="date" return-type="datetime" @change="changeEndTime" v-model="baseFormData.endTime" :start="baseFormData.mindate"/>
+						<uni-datetime-picker type="date" return-type="datetime" @change="changeEndTime" v-model="baseFormData.endTime" :start="baseFormData.mindate" :end="baseFormData.houDate"/>
 					</uni-forms-item>
 					<view class="form-line"></view>
-					<uni-forms-item label="申请部门" name="companyName" required>
+					<uni-forms-item label="房间数量" name="companyName" required>
 						<view class="uni-input" style="margin-right: 40px;color: black;">
 							<!-- <template v-if="baseFormData.indextype==null">请选择</template> -->
+							<!-- <template>{{roomNum}}</template> -->
+							<input type="number" v-model="roomNum" @input="shuInput" style="margin-top: 10px;"/>
+							<!-- <text class="jiantou">〉</text> -->
+						</view>
+					</uni-forms-item>
+					<!-- <uni-forms-item label="申请部门" name="companyName" required>
+						<view class="uni-input" style="margin-right: 40px;color: black;">
 							<template>
 								<template v-if="baseFormData.bumen=='0'">其他</template>
 								<template v-if="baseFormData.bumen=='1'">学生</template>
@@ -43,13 +60,12 @@
 								<template v-if="baseFormData.bumen=='6'">访客</template>
 								<template v-if="baseFormData.bumen=='7'">临时人员</template>
 							</template>
-							<!-- <text class="jiantou">〉</text> -->
 						</view>
-					</uni-forms-item>
+					</uni-forms-item> -->
 					<view style="width: 750rpx;height: 20rpx;background-color: rgba(242, 243, 245, 1);margin-left: -20px;"></view>
-					<uni-forms-item label="备注" name="companyName" required>
+					<uni-forms-item label="申请原因" name="companyName" required>
 					</uni-forms-item>
-					<uni-easyinput type="textarea" v-model="baseFormData.remark" placeholder="请输入备注" maxlength="800" @input="input"></uni-easyinput>
+					<uni-easyinput type="textarea" v-model="baseFormData.remark" placeholder="请输入原因" maxlength="800" @input="input"></uni-easyinput>
 					<text class="textsrea-txt">{{textNum}}/800</text>
 					<view style="width:100%;height: 30px;"></view>
 				</uni-forms>
@@ -57,7 +73,7 @@
 			<view class="submit_button" @click="submitshen">提交</view>
 		</view>
 		<!-- 提交记录 -->
-		<view v-else>
+		<view v-else style="min-height: 100vh;">
 			<view class="select_submit">
 				<view style="width: 80px;margin-left: 9rpx;position: absolute;">
 					<uni-data-select
@@ -78,26 +94,51 @@
 					<text class="submit-title">临时人员</text>
 					<text class="submit-time">{{item.submissionTime}}</text>
 					<view class="submit-line"></view>
+					<view class="submit-start" style="color: rgba(0, 0, 0, 1);">附件:</view>
+					<view class="submit-start" style="color: rgba(0, 0, 0, 1);">
+						<!-- {{item.imageUrl!=null&&item.imageUrl!=''}}3{{(item.imageUrl).split(',')}} -->
+						<text v-if="item.imageUrl!=null&&item.imageUrl!=''">
+							<image @click.stop="clickImg2(item2)" style="color: rgba(0, 97, 255, 1);width: 200rpx;height: 200rpx;margin-left: 20rpx;" :src="item2" v-for="(item2,index2) in (item.imageUrl).split(',')" :key="index2">
+							</image>
+						</text>
+					</view>
 					<view class="submit-start">开始时间:{{item.startTime}}</view>
 					<view class="submit-end">结束时间:{{item.endTime}}</view>
-					<view class="submit-remark">备注:{{item.reasonApplication}}</view>
+					<view class="submit-remark">
+						部门:{{item.orgName}}
+						<!-- <template v-if="item.orgName=='0'">其他</template>
+						<template v-if="item.orgName=='1'">学生</template>
+						<template v-if="item.orgName=='4'">教职工</template>
+						<template v-if="item.orgName=='5'">校友</template>
+						<template v-if="item.orgName=='6'">访客</template>
+						<template v-if="item.orgName=='7'">临时人员</template> -->
+					</view>
+					<view class="submit-remark">提交人:{{item.usersName}}</view>
+					<view class="submit-remark">房间数量:{{item.houseCount}}</view>
+					<view class="submit-remark">申请原因:{{item.reasonApplication}}</view>
 					<view class="submit-type1" v-if="item.status==0">已拒绝</view>
 					<view class="submit-type1" v-if="item.status==1">待审批</view>
 					<view class="submit-type2" v-if="item.status==2">处理中</view>
 					<view class="submit-type" v-if="item.status==3">已同意</view>
+					<view style="height: 10px;"></view>
 				</view>
 
 			</view>
 		</view>
+		<!-- 图片压缩 -->
+		<Compress ref="Compress" />
 	</view>
 </template>
 
 <script>
+// 引入压缩组件
+	import Compress from '@/components/compress/compress.vue'
 	import {
 		postLingshi,
 		getOtherlist
 	} from '../../utils/api_hotel.js'
 	export default {
+		components: { Compress },
 		data() {
 			return {
 				liutype:true,//切换流程状态
@@ -106,6 +147,7 @@
 					startTime:'',
 					endTime:'',
 					mindate:new Date().toISOString().slice(0, 10),
+					houDate:'',
 					remark:'',//备注
 					bumen:localStorage.getItem('department'),
 				},
@@ -144,14 +186,43 @@
 				endTime:'',
 				nowTime: new Date().toISOString().slice(0, 10),//当前日期2024-07-23
 				totalCount:0,
+				roomNum:0,//房间数量
+				fileList: [],//上传附件
+				fileList2: [],
+				fileList22:'',
+				// 压缩后的图片路径(用于上传)
+				file: null,
+				// 预览base64图片
+				base: null
 			}
 		},
 		onLoad() {
 		},
-		mounted() {
-			
+		onShow() {
+			console.log(this.baseFormData.startTime)
+			this.baseFormData.houDate=this.GetDateStr(8)
 		},
 		methods: {
+			//点击放大图片
+			clickImg2(item2) {
+				// console.log(item.srcUrl)
+				uni.previewImage({
+					urls: [item2], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+					current: '', // 当前显示图片的http链接,默认是第一个
+					success: function(res) {},
+					fail: function(res) {},
+					complete: function(res) {},
+				})
+			},
+			//获取日期
+			GetDateStr(AddDayCount){
+			var dd = new Date();
+			dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
+			var y = dd.getFullYear();
+			var m = dd.getMonth()+1;//获取当前月份的日期
+			var d = dd.getDate();
+			return y+"-"+m+"-"+d;
+			},
 			//切换
 			changeType(){
 				this.liutype=!this.liutype
@@ -165,11 +236,27 @@
 				this.baseFormData.remark=e
 				this.textNum=e.length
 			},
+			//输入房间数量
+			shuInput(e){
+				this.roomNum=e.detail.value
+			},
 			changeStartTime(e){
 				this.baseFormData.startTime=e
 			},
 			changeEndTime(e){
 				this.baseFormData.endTime=e
+				if(parseInt(((new Date(this.baseFormData.endTime).getTime())-(new Date(this.baseFormData.startTime).getTime()))/1000/60/60/24)>2){
+					uni.showToast({
+						title: '预订时间不能超过两晚',
+						icon: 'error',
+						duration: 1500
+					})
+					this.baseFormData.endTime=''
+					// this.roomNum=0
+				}else{
+					this.baseFormData.endTime=e
+					// this.roomNum=parseInt(((new Date(this.baseFormData.endTime).getTime())-(new Date(this.baseFormData.startTime).getTime()))/1000/60/60/24)
+				}
 			},
 			//提交审核
 			submitshen(){
@@ -177,7 +264,7 @@
 					uni.showToast({
 						title: '开始时间不能大于结束时间',
 						icon: 'error',
-						duration: 1000
+						duration: 1500
 					})
 					return
 				}
@@ -191,23 +278,31 @@
 					"endTime": this.baseFormData.endTime, //结束时间
 					"department": localStorage.getItem('department'), //部门
 					"reasonApplication": this.baseFormData.remark ,//申请原因
+					"houseCount":this.roomNum,
+					"imageUrl":this.fileList22 //附件上传url
 				}
 				postLingshi(data).then((res) => {
 					if (res.success) {
 						uni.showToast({
 							title: '提交成功',
 							icon: 'success',
-							duration: 1000
+							duration: 1500
 						})
-						this.liutype=false
-						this.getOtherlist()
-						// setTimeout(function() {
-						// 	this.liutype=false
-						// 	// uni.switchTab({
-						// 	// 	url:'/pages/myself/myself'
-						// 	// })
-						// }, 2000);
+						setTimeout(function(){
+							_self.fileList22=''
+							_self.fileList2=[]
+							_self.baseFormData.startTime=''
+							_self.baseFormData.endTime=''
+							_self.roomNum=0
+							_self.baseFormData.remark=''
+							_self.liutype=false
+							_self.getOtherlist()
+						},1500);
 					} else {
+						uni.showToast({
+							title: res.message,
+							duration: 1500
+						})
 					}
 				}).catch((err) => {
 					uni.showToast({
@@ -220,7 +315,7 @@
 				let _self = this
 				// adminMenuId身份类型,4为教职工,7为临时人员localStorage.getItem('department')
 				// 状态,0:已拒绝,1:待审批,2:处理中,3:已同意
-				var data="?department="+localStorage.getItem('department')+"&userId=13"+"&startTime="+this.startTime+"&endTime="+this.endTime+"&status="+this.value+"&page="+this.page+"&size="+this.size
+				var data="?department="+localStorage.getItem('department')+"&userId="+localStorage.getItem('usersId')+"&startTime="+this.startTime+"&endTime="+this.endTime+"&status="+this.value+"&page="+this.page+"&size="+this.size
 				getOtherlist(data).then((res) => {
 					if (res.success) {
 						this.totalCount=res.data.totalCount
@@ -229,6 +324,7 @@
 						} else {
 							this.submit = [...this.submit, ...res.data.list]
 						}
+						console.log(this.submit,'ooo')
 						uni.stopPullDownRefresh();
 						uni.hideLoading()
 					} else {
@@ -250,10 +346,10 @@
 					this.page = this.page + 1;
 					this.getOtherlist()
 				} else {
-					// uni.showToast({
-					// 	title: '已经到底了',
-					// 	icon: 'none'
-					// })
+					uni.showToast({
+						title: '已经到底了',
+						icon: 'none'
+					})
 				}
 			},
 			onPullDownRefresh: function() {
@@ -323,7 +419,180 @@
 				uni.navigateTo({
 					url: "../liuchengO/detail/teach_detail?id="+id+"&department="+department
 				})
-			}
+			},
+			
+			// 上传附件
+			uploadSuccess(e) {
+			console.log('上传成功', e)
+			},
+			uploadFail(e) {
+				console.log('上传失败:', e)
+			},
+			//删除文件
+			deleteHandle(index){
+				console.log(index)
+				this.fileList2.splice(index.index,1)
+				// console.log(this.fileList2)
+				this.fileList22=this.fileList2.join(",")
+			},
+			selectUpload(e) {
+				console.log('上传:', e)
+				console.log((e.tempFiles[0].size / 1024 > 1024 * 2),'大小')
+				for (let i = 0; i < e.tempFilePaths.length; i++) {
+				   if ((e.tempFiles[i].size / 1024 > 1024 * 2)) {
+				   	console.log('过大')
+				   	this.yaimg(e.tempFilePaths[i])
+				   }else{
+				   	this.imgUpload(e.tempFiles[i].file);
+				   }
+				}
+				
+				 
+			},
+			//上传图片
+			// const base_url = '/ihotel/auto'//线下
+			// const base_url = '/hotel/ihotel/auto/'//线上
+			async imgUpload(result){
+				uni.showLoading({
+					title: '上传中',
+					mask: true, // 是否显示透明蒙层,防止触摸穿透
+				});
+				let data = new FormData();
+				  data.set("file", result);
+				  let res = await this.$axios({
+				    method: "post",
+				    url: "/hotel/ihotel/auto" + "/upload/save",
+				    headers: {
+						// tokenW: localStorage.getItem("token"),
+						"Content-Type": "multipart/form-data"
+				    },
+				    data: data,
+				  });
+					// return res
+				  console.log(res, "图片上传成功");
+				  if (res.data.code == 200) {
+				    this.fileList2.push(res.data.data.url);
+					this.fileList22=this.fileList2.join(",")
+					uni.hideLoading();
+				  }else {
+			    		uni.showToast({
+							title: res.message,
+							icon: 'none',
+							duration:800
+						});
+						uni.hideLoading();
+				    }
+			},
+			/**
+			 * 压缩图片
+			 * @description 由组件处理,只需传入临时路径
+			 * @param {Object} url - 临时路径
+			 * @return void
+			 */
+			yaimg(url) {
+				uni.showLoading({
+					title: '压缩中',
+					mask: true, // 是否显示透明蒙层,防止触摸穿透
+				});
+				// 组件参数也有文档,详见文章的最底部!
+				// const config = {
+				// 	src: url,//要压缩的临时路径
+				// 	maxSize: 800,//压缩后的最大尺寸
+				// 	fileType: 'png',//压缩后的文件类型,可选值 jpg、png
+				// 	quality: 0.6,//压缩后的质量(仅jpg类型有效,原因可自行阅读官方canvas文档),可选值 0 ~ 1,值越大越清晰(图片也越大)
+				// }
+				// console.log(config)
+				// 调用压缩方法
+				this.$refs.Compress.compress({
+					src: url,//要压缩的临时路径
+					maxSize: 800,//压缩后的最大尺寸
+					fileType: 'png',//压缩后的文件类型,可选值 jpg、png
+					quality: 0.6,//压缩后的质量(仅jpg类型有效,原因可自行阅读官方canvas文档),可选值 0 ~ 1,值越大越清晰(图片也越大)
+				}).then((res) => {
+					// console.log('返回的base64编码', res)
+					this.base = res
+			
+					// 时间戳 + 随机数, 防止文件名重复
+					let timestamp = new Date().getTime();
+					let sunumber = Math.floor(Math.random()*999);
+					// H5需要将base64转为file对象进行上传
+					// 第一个参数是base64编码, 第二个是文件名
+					var file = this.base64ToFile(res, timestamp + sunumber)
+					
+					// 最终压缩完毕的file对象
+					console.log('压缩后的图片(File对象)', file)
+					this.upload(file)
+					this.file = file
+					
+					uni.hideLoading();
+					//上传到服务器
+					// this.upload(file)
+				}).catch((err) => {
+					console.log('压缩失败',err)
+					uni.hideLoading();
+				})
+			},
+			/**
+			 * 压缩后上传到服务器
+			 * @description 这块需要您自行处理
+			 * @param {Object} file - 要上传的file对象
+			 * @return void
+			 */
+			async upload(file){
+				uni.showLoading({
+					title: '上传中',
+					mask: true, // 是否显示透明蒙层,防止触摸穿透
+				});
+				let data = new FormData();
+				  data.set("file", file);
+				console.log(data)
+				  let res = await this.$axios({
+				    method: "post",
+				    url: "/testingServer/ihotel/auto" + "/upload/save",
+				    headers: {
+						// tokenW: localStorage.getItem("token"),
+						"Content-Type": "multipart/form-data"
+				    },
+				    data: data,
+				  });
+					// return res
+				  console.log(res, "图片上传成功",res.data.code == 200);
+				  if (res.data.code == 200) {
+				    this.fileList2.push(res.data.data.url);
+					this.fileList22=this.fileList2.join(",")
+					console.log(this.fileList22)
+					uni.hideLoading();
+				  }else {
+			    		uni.showToast({
+							title: res.message,
+							icon: 'none',
+							duration:800
+						});
+						uni.hideLoading();
+				   }
+			},
+			/**
+			 * base64 → File
+			 * @description 转换函数
+			 * @param {String} base64- base64完整字符串
+			 * @param {String} name - 文件名
+			 * @return Object
+			 */
+			base64ToFile(base64, name) {
+			  if (typeof base64 != 'string') { return; }
+				var arr = base64.split(',')
+				var type = arr[0].match(/:(.*?);/)[1]
+				var fileExt = type.split('/')[1]
+				var bstr = atob(arr[1])
+				var n = bstr.length
+				var u8arr = new Uint8Array(n)
+				while (n--) {
+					u8arr[n] = bstr.charCodeAt(n)
+				}
+				return new File([u8arr], `${name}.` + fileExt, {
+					type: type
+				})
+			},
 		}
 	}
 </script>

+ 10 - 10
pages/liuchengTeacher/css/liu_teach.css

@@ -8,10 +8,10 @@
 /* 切换发起提交与提交记录 */
 .select-type{
 	width: 750rpx;
-	height: 89rpx;
+	height: 87rpx;
 	margin-left: 5px;
 	background-color: rgba(255, 255, 255, 1);
-	border-radius: 8px;
+	/* border-radius: 8px; */
 }
 .allday{
 	width: 385rpx;
@@ -25,24 +25,24 @@
 .hourday_no{
 	background-color: rgba(230, 230, 230, 1);
 	width: 234px;
-	height: 40px;
+	height: 37px;
 	margin-left: 304rpx;
-	border-radius: 8px;
-	line-height: 41px;
+	/* border-radius: 8px; */
+	line-height: 37px;
 	text-align: center;
 }
 .allday2{
 	width: 234px;
-	height: 40px;
-	border-radius: 8px;
+	height: 37px;
+	/* border-radius: 8px; */
 	background-color: rgba(230, 230, 230, 1);
 	float: left;
-	line-height: 41px;
+	line-height: 37px;
 	text-align: center;
 }
 .hourday_no2{
 	width: 385rpx;
-	height: 89rpx;
+	height: 87rpx;
 	z-index: 3;
 	position: absolute;
 	background-image: url('../../static/index/hourday.png');
@@ -155,7 +155,7 @@ uni-picker {
     text-align: right;
 }
 >>>.uni-icons[data-v-a2e81f6e] {
-    font-family: monospace;/*控制时间选择图标*/
+    /* font-family: monospace;*//*控制时间选择图标*/
     text-decoration: none;
     text-align: revert;
 }

+ 7 - 5
pages/liuchengTeacher/liu_teach.vue

@@ -204,7 +204,7 @@ import {
 					uni.showToast({
 						title: '开始时间不能大于结束时间',
 						icon: 'error',
-						duration: 1000
+						duration: 1500
 					})
 					return
 				}
@@ -225,10 +225,12 @@ import {
 						uni.showToast({
 							title: '提交成功',
 							icon: 'success',
-							duration: 1000
+							duration: 1500
 						})
-						this.liutype=false
-						this.getOtherlist()
+						setTimeout(function(){
+							this.liutype=false
+							this.getOtherlist()
+						},1500);
 					} else {
 					}
 				}).catch((err) => {
@@ -242,7 +244,7 @@ import {
 				let _self = this
 				// adminMenuId身份类型,4为教职工,7为临时人员localStorage.getItem('department')
 				// 状态,0:已拒绝,1:待审批,2:处理中,3:已同意
-				var data="?department="+localStorage.getItem('department')+"&userId=13"+"&startTime="+this.startTime+"&endTime="+this.endTime+"&status="+this.value+"&page="+this.page+"&size="+this.size
+				var data="?department="+localStorage.getItem('department')+"&userId="+localStorage.getItem('usersId')+"&startTime="+this.startTime+"&endTime="+this.endTime+"&status="+this.value+"&page="+this.page+"&size="+this.size
 				getOtherlist(data).then((res) => {
 					if (res.success) {
 						this.totalCount=res.data.totalCount

+ 59 - 30
pages/my_orderlist/css/my_orderlist.css

@@ -65,7 +65,7 @@
 	flex-direction: column;
 	align-items: center;
 	width: 710rpx;
-	height: 283rpx;
+	/* height: 283rpx; */
 	margin-top: 20rpx;
 }
 .room-image{
@@ -77,64 +77,91 @@
 	border-radius: 5px;
 }
 .room-name{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 236rpx;
 	margin-top: 10rpx;
 	color: rgba(0, 0, 0, 1);
-	font-size: 34rpx;
+	font-size: 30rpx;
 	font-weight: 400;
+	display: flex;
+	line-height: 20px;
+	height: 20px;
+}
+.room-time3{
+	/* position: absolute; */
+	/* float: right; */
+	width: 48px;
+	height: 18px;
+	opacity: 1;
+	border-radius: 7rpx;
+	background: rgba(235, 242, 255, 1);
+	/* margin-left: 142px;
+	margin-top: 80px; */
+	margin: 3px 0 0 3px;
+	color: rgba(0, 0, 0, 1);
+	font-size: 24rpx;
+	font-weight: 400;
+	line-height: 18px;
+	text-align: center;
 }
 .room-time{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 236rpx;
-	margin-top: 56rpx;
+	margin-top: 5px;
 	color: rgba(166, 166, 166, 1);
 	font-size: 24rpx;
 	font-weight: 400;
 }
 .room-order{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 236rpx;
-	margin-top: 96rpx;
+	/* margin-top: 96rpx; */
 	color: rgba(166, 166, 166, 1);
 	font-size: 24rpx;
 	font-weight: 400;
 }
 .room-type{
-	position: absolute;
-	margin-left: 627rpx;
-	color: rgba(128, 128, 128, 1);
-	font-size: 24rpx;
+	/* position: absolute; */
+	color: rgba(166, 166, 166, 1);
+	font-size: 12px;
+	font-weight: 400;
+}
+.room-type2{
+	flex: 2;
+	text-align: right;
+	color: rgba(166, 166, 166, 1);
+	font-size: 12px;
 	font-weight: 400;
 }
 .room-price{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 601rpx;
-	margin-top: 46rpx;
+	/* margin-top: 46rpx; */
 	color: rgba(56, 56, 56, 1);
 	font-size: 42rpx;
 	font-weight: 500;
 }
 .room-count{
-	position: absolute;
-	margin-left: 51rpx;
-	margin-top: 155rpx;
+	/* position: absolute; */
+	margin-left: 5px;
+	/* margin-top: -20px; */
 	font-size: 24rpx;
 	font-weight: 400;
 	color:#FF5733;
 }
 .room-count-txt{
-	position: absolute;
-	margin-left: 205rpx;
-	margin-top: 155rpx;
+	/* position: absolute; */
+	margin-left: 5px;
+	/* margin-top: 155rpx; */
 	color: rgba(128, 128, 128, 1);
 	font-size: 24rpx;
 	font-weight: 400;
 }
 .room-button{
-	position: absolute;
-	margin-left: 381rpx;
-	margin-top: 146rpx;
+	/* position: absolute; */
+	/* margin-left: 190px; */
+	/* margin-top: 146rpx; */
+	float: left;
 	width: 146rpx;
 	height: 56rpx;
 	border: 1px solid rgba(41, 109, 227, 1);
@@ -144,9 +171,10 @@
 	color: rgba(41, 109, 227, 1);
 }
 .room-button2{
-	position: absolute;
-	margin-left: 551rpx;
-	margin-top: 186rpx;
+	/* position: absolute;
+	margin-left: 280px; */
+	/* margin-top: 186rpx; */
+	float: right;
 	width: 146rpx;
 	height: 56rpx;
 	border: 1px solid rgba(41, 109, 227, 1);
@@ -156,9 +184,10 @@
 	color: rgba(41, 109, 227, 1);
 }
 .room-button3{
-	position: absolute;
-	margin-left: 551rpx;
-	margin-top: 146rpx;
+	/* position: absolute;
+	margin-left: 290px; */
+	/* margin-top: 146rpx; */
+	float: right;
 	width: 146rpx;
 	height: 56rpx;
 	background: rgba(41, 109, 227, 1);
@@ -169,9 +198,9 @@
 	font-size: 28rpx;
 }
 .room-line{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 20rpx;
-	margin-top: 265rpx;
+	margin-top: 8px;
 	width: 710rpx;
 	height: 1px;
 	background: rgba(220, 225, 230, 1);

+ 113 - 79
pages/my_orderlist/my_orderlist.vue

@@ -7,7 +7,9 @@
 			<view :class="['inv-h',Inv==3?'inv-h-se':'']" @click="changeTab(3)">待入住</view>
 			<view :class="['inv-h',Inv==4?'inv-h-se':'']" @click="changeTab(4)">已入住</view>
 			<view :class="['inv-h',Inv==9?'inv-h-se':'']" @click="changeTab(9)">已取消</view>
+			<view :class="['inv-h',Inv==7?'inv-h-se':'']" @click="changeTab(7)">已退款</view>
 			<view :class="['inv-h',Inv==5?'inv-h-se':'']" @click="changeTab(5)">待结账</view>
+			<view :class="['inv-h',Inv==10?'inv-h-se':'']" @click="changeTab(10)">已支付未入住</view>
 			<view :class="['inv-h',Inv==8?'inv-h-se':'']" @click="changeTab(8)">已完成</view>
 		</scroll-view>
 		<!-- 订单样式 -->
@@ -15,41 +17,62 @@
 			<view class="room-xinxi" v-for="(item,index) in troom" :key="index">
 				<view @click="navigateToOrderMark(item.id)">
 					<image class="room-image" :src="item.url"></image>
-					<view class="room-name">{{item.roomNumber}}</view>
-					<view class="room-time">{{item.reserveLiveTime|snippet}}-{{item.reserveLeaveTime|snippet}}</view>
-					<view class="room-order">订单号:{{item.orderNumber}}</view>
-					<view class="room-type">
-						<text v-if="item.orderStatus==9">已取消</text>
-						<text v-if="item.orderStatus==1">待支付</text>
-						<text v-if="item.orderStatus==3">待入住</text>
-						<text v-if="item.orderStatus==4">已入住</text>
-						<text v-if="item.orderStatus==5">
-							待结账
-						</text>
-						<text v-if="item.orderStatus==8">已完成</text>
+					<view class="room-name">
+						<!-- {{item.roomNumber}} -->
+						<view class="room-time3" v-if="item.roomType==1">全日房</view>
+						<view class="room-time3" v-if="item.roomType==2">钟点房</view>
+						<view v-if="item.orderStatus == 1" style="float: right;display: block ruby;margin-left: 10px;">
+							<view class="room-type">
+								<text>待支付</text>
+							</view>
+							<text class="room-count-txt">剩余</text>
+							<uv-count-down class="room-count" color="#FF5733" :time="new Date((item.createTime).replace(/-/g,'/')).getTime() + 2 * 60 * 1000 - new Date().getTime()" format="mm:ss" @finish="finish(timeupSecond,item)"></uv-count-down>
+						</view>
+						
+						<view class="room-type2" v-else>
+							<text v-if="item.orderStatus==10">已支付未入住</text>
+							<text v-if="item.orderStatus==9">已取消</text>
+							<text v-if="item.orderStatus==7">已退款</text>
+							<text v-if="item.orderStatus==3">待入住</text>
+							<text v-if="item.orderStatus==4">已入住</text>
+							<text v-if="item.orderStatus==5">
+								待结账
+							</text>
+							<text v-if="item.orderStatus==8">已完成</text>
+						</view>
+						
+						
 					</view>
+					<view class="room-time" v-if="item.roomType==1">{{item.reserveLiveTime|snippet}}-{{item.reserveLeaveTime|snippet}}</view>
+					<view class="room-time" v-if="item.roomType==2">{{item.reserveLiveTime}}-{{item.reserveLeaveTime|snippet2}}</view>
+					<view class="room-order">订单号:{{item.orderNumber}}</view>
+					
 					<view class="room-price">¥{{item.payPrice}}</view>
 				</view>
-				<uv-count-down v-if="item.orderStatus == 1" class="room-count" color="#FF5733" :time="new Date(item.createTime).getTime() + 15 * 60 * 1000 - new Date().getTime()" format="mm:ss" @finish="finish(timeupSecond,item)"></uv-count-down>
-				<!-- <uni-countdown v-if="item.orderStatus == 1" class="room-count" color="#FF5733" :show-day="false" :second="timeupSecond" @timeup="timeup(item.createTime)" /> -->
-				<text v-if="item.orderStatus == 1" class="room-count-txt">之后取消</text>
 				<!--  v-if="item.orderStatus != 5 && item.orderStatus != 3 && item.orderStatus != 4" 无删除时-->
-				<view class="room-button" v-if="item.orderStatus == 1 || item.orderStatus == 3">
-					<!-- <text v-if="item.orderStatus == 9" @click="openDel(item.id,'warn')">删除</text> -->
-					<text v-if="item.orderStatus == 1" @click="openQu(item.orderNumber,item.houseNumberId,'warn')">取消订单</text>
-					<!-- <text v-if="item.orderStatus == 8" @click="openDel(item.id,'warn')">删除</text> -->
-					<text v-if="item.orderStatus == 3" @click="openQu(item.orderNumber,item.houseNumberId,'warn')">办理退款</text>
-					<!-- <text v-if="item.orderStatu == 4" @click="navigateToXuzhu">续住</text> -->
-				</view>
-				<view class="room-button2" :class="{'room-button3': item.orderStatus == 1 || item.orderStatus == 3}">
-					<text v-if="item.orderStatus == 9" @click="navigateToZaici(item.reserveLiveTime,item.reserveLeaveTime,item.id,item)">再次预定</text>
-					<text v-if="item.orderStatus == 1" @click="getOrderPay(item.id,item.price)">支付</text>
-					<text v-if="item.orderStatus == 5" @click="navigateToJiezhang(item.id)">去处理</text>
-					<text v-if="item.orderStatus == 8" @click="navigateToWanchengZaici(item.id,item)">再次预定</text>
-					<text v-if="item.orderStatus == 3" @click="openRu(item.id,'warn')">办理入住</text>
-					<text v-if="item.orderStatus == 4" @click="openTui(item.orderNumber,item.houseNumberId,'warn')">退房</text>
-					
+				<view style="position: relative;height: 30px; margin-left: 50%;">
+					<view class="room-button2" :class="{'room-button3': item.orderStatus == 1}" v-if="item.orderStatus != 10">
+						<text v-if="item.orderStatus == 9||item.orderStatus == 7" @click="navigateToZaici(item.reserveLiveTime,item.reserveLeaveTime,item.id,item)">再次预定</text>
+						<text v-if="item.orderStatus == 1" @click="getOrderPay(item.id,item.price)">支付</text>
+						<text v-if="item.orderStatus == 5" @click="navigateToJiezhang(item.id)">去处理</text>
+						<text v-if="item.orderStatus == 8" @click="navigateToWanchengZaici(item.id,item)">再次预定</text>
+						<!-- <text v-if="item.orderStatus == 3" @click="openRu(item.id,'warn')">办理入住</text> -->
+						<text v-if="item.orderStatus == 4" @click="openTui(item.orderNumber,item.houseNumberId,'warn')">退房</text>
+						
+						<text v-if="item.orderStatus == 3 && item.payPrice==0" @click="openQu(item.orderNumber,item.houseNumberId,'warn')">取消订单</text>
+						<text v-else-if="item.orderStatus == 3 && item.payPrice!=0" @click="openQu(item.orderNumber,item.houseNumberId,'warn')">办理退款</text>
+						
+					</view>
+					<view class="room-button" v-if="item.orderStatus == 1">
+						<!-- <text v-if="item.orderStatus == 9" @click="openDel(item.id,'warn')">删除</text> -->
+						<text v-if="item.orderStatus == 1" @click="openQu(item.orderNumber,item.houseNumberId,'warn')">取消订单</text>
+						<!-- <text v-if="item.orderStatus == 8" @click="openDel(item.id,'warn')">删除</text> -->
+						<!-- <text v-if="item.orderStatus == 3 && item.payPrice==0" @click="openQu(item.orderNumber,item.houseNumberId,'warn')">取消订单</text>
+						<text v-else @click="openQu(item.orderNumber,item.houseNumberId,'warn')">办理退款</text> -->
+						<!-- <text v-if="item.orderStatu == 4" @click="navigateToXuzhu">续住</text> -->
+					</view>
 				</view>
+				
 				<view class="room-line"  v-if="index<(troom.length-1)"></view>
 			</view>
 		</uni-list>
@@ -150,7 +173,7 @@
 		data(){
 			return {
 				Inv: 6,
-				room:[],
+				// room:[],
 				troom:[],
 				timeupSecond:null,
 				//续住里选择器
@@ -193,15 +216,22 @@
 					return value.slice(0,4)+'/'+value.slice(5,7)+'/'+value.slice(8, 10);
 				}
 			},
+			//字过长变为...
+			snippet2: function(value) {
+				if(value.length>10) {
+					return value.slice(11,19);
+				}
+			},
 		},
 		onShow() {
 			// 模拟从后台拿到的数据
-			var room = []
+			// var room = []
 			// list数组中为每一项添加双向绑定的属性---这个属性要在页面显示(onShow)添加
-			room.forEach(el => el.isChecked = false);
-			this.room = room;
-			this.troom = room;//真实数据赋值给页面数据
+			// room.forEach(el => el.isChecked = false);
+			// this.room = room;
+			// this.troom = room;//真实数据赋值给页面数据
 			this.changeTab(this.Inv)
+			this.getOrderPage(this.Inv)
 		},
 		
 		//下拉刷新
@@ -253,8 +283,8 @@
 			getOrderPage() {
 				  let _self = this
 				  var Inv2=this.Inv
-				  _self.troom = []
-				  _self.room = []
+				  // _self.troom = []
+				  // _self.room = []
 				  if (this.Inv==6) {
 					  Inv2=''
 				  }
@@ -263,24 +293,25 @@
 				  	if (res.success) {
 						if (this.curPage == 1) {
 							_self.troom = res.data.records
-							_self.room = res.data.records
+							// _self.room = res.data.records
 						} else {
 							_self.troom = [..._self.troom, ...res.data.records]
-							_self.room = [..._self.room, ...res.data.records]
+							// _self.room = [..._self.room, ...res.data.records]
 						}
 						uni.stopPullDownRefresh();
 						uni.hideLoading()
 				  		_self.total=res.data.total
+						console.log(_self.troom,'_self.troom')
 				  		return;
 				  	} else {
-						uni.showModal({
-							content:"没有符合条件的数据!"
-						})
+						// uni.showModal({
+						// 	content:"没有符合条件的数据!"
+						// })
 				  	}
 				  }).catch((err) => {
-					  uni.showModal({
-					  	content:err.message
-					  })
+					  // uni.showModal({
+					  // 	content:err.message
+					  // })
 				  });
 			},
 			//待确认的弹框操作
@@ -334,12 +365,13 @@
 			},
 			// 支付订单
 			getOrderPay(id,price) {
-				if(localStorage.getItem('code')=='undefined'){
-					uni.navigateTo({
-						url:'/pages/huoquCode/huoquCode'
-					})
-					return
-				}
+				// alert('支付',localStorage.getItem('openId2'))
+				// if(!localStorage.getItem('openId2')){
+				// 	uni.navigateTo({
+				// 		url:'/pages/huoquCode/huoquCode'
+				// 	})
+				// 	return
+				// }
 				  let _self = this
 				  var data={
 						"houseOrderId": id, //订单号id
@@ -348,22 +380,22 @@
 					}
 				  getorderpay(data).then((res) => {
 				  	if (res.success) {
-				  		_self.appId=res.data.appId
-				  		_self.timeStamp=res.data.timeStamp
-				  		_self.nonceStr=res.data.nonceStr
-				  		_self.package=res.data.packageVal
-				  		_self.signType=res.data.signType
-				  		_self.paySign=res.data.paySign
-				  		_self.onBridgeReady();
+				  		if(res.data){
+				  			_self.appId=res.data.appId
+				  			_self.timeStamp=res.data.timeStamp
+				  			_self.nonceStr=res.data.nonceStr
+				  			_self.package=res.data.packageVal
+				  			_self.signType=res.data.signType
+				  			_self.paySign=res.data.paySign
+				  			_self.onBridgeReady();
+				  		}else{
+				  			uni.navigateTo({
+				  				url:'/pages/zhifuchenggong/zhifuchenggong'
+				  			})
+				  		}
 				  	} else if(res.code=='500'){
-						uni.navigateTo({
-							url:'/pages/huoquCode/huoquCode'
-						})
 				  	}
 				  }).catch((err) => {
-				  	uni.navigateTo({
-				  		url:'/pages/huoquCode/huoquCode'
-				  	})
 				  });
 			},
 			onBridgeReady() {
@@ -377,7 +409,7 @@
 			    },
 			    function(res) {
 			        if (res.err_msg == "get_brand_wcpay_request:ok") {
-			        	uni.navigateTo({
+			        	uni.reLaunch({
 			        		url:'/pages/my_orderlist/my_orderlist?Inv=3'
 			        	})
 			            // 使用以上方式判断前端返回,微信团队郑重提示:
@@ -413,9 +445,9 @@
 					} else {
 					}
 				}).catch((err) => {
-					uni.showModal({
-						content:err.message
-					})
+					// uni.showModal({
+					// 	content:err.message
+					// })
 				});
 			},
 			// 办理退房
@@ -548,7 +580,7 @@
 			// 订单取消再次预订
 			navigateToZaici(enableStartTime,enableEndTime,roomTypeId,item){
 				uni.reLaunch({
-					url:"../index/index"
+					url:"/pages/index/index"
 					// url: "../order_room/order_room?roomTypeId="+roomTypeId +"&enableStartTime="+enableStartTime+"&enableEndTime="+enableEndTime+"&startTime="+enableStartTime.substring(5,7)+'月'+enableStartTime.substring(8,10)+'日'+"&endTime="+enableEndTime.substring(5,7)+'月'+enableEndTime.substring(8,10)+'日'+"&typeName="+item.roomName+"&roomArea="+item.roomArea+"&roomType="+item.roomType+"&roomConfiguration="+item.roomConfiguration+"&roomPrice="+item.roomPrice+'&surplusCount='+item.surplusCount,
 					// url:"../order_room/order_room?enableStartTime="+enableStartTime+"&enableEndTime="+enableEndTime+"&startTime="+enableStartTime.substring(5,7)+'月'+enableStartTime.substring(8,10)+'日'+"&endTime="+enableEndTime.substring(5,7)+'月'+enableEndTime.substring(8,10)+'日'+"&roomTypeId="+roomTypeId
 				})
@@ -556,14 +588,14 @@
 			// 订单已完成再次预订
 			navigateToWanchengZaici(roomTypeId){
 				uni.reLaunch({
-					url:"../index/index"
+					url:"/pages/index/index"
 					// url:'../order_room/order_room?roomTypeId='+roomTypeId
 				})
 			},
 			//处理结账
 			navigateToJiezhang(id) {
 				uni.navigateTo({
-					url:"../order_mark/order_mark?orderId="+id
+					url:"/pages/order_mark/order_mark?orderId="+id
 				})
 			},
 			/*
@@ -575,12 +607,12 @@
 				this.Inv =Inv
 				var arr = [];
 				this.getOrderPage(this.Inv)
-				that.room.map(item => {//遍历真实数据,拿到所需要的数据放在页面数据tlist中,展示在页面上
-					if(item.orderStatus == this.Inv){
-						arr.push(item);
-					}
-				})
-				that.troom = arr;
+				// that.room.map(item => {//遍历真实数据,拿到所需要的数据放在页面数据tlist中,展示在页面上
+				// 	if(item.orderStatus == this.Inv){
+				// 		arr.push(item);
+				// 	}
+				// })
+				// that.troom = arr;
 				// if(this.Inv == 6){//获取全部数据
 				// 	that.troom = that.room;
 				// }
@@ -597,10 +629,12 @@
 			},
 			// 跳转到订单详情
 			navigateToOrderMark(id) {
-				// console.log(id)
 				uni.navigateTo({
-					url: "../order_mark/order_mark?orderId="+id,
+					url: "/pages/order_mark/order_mark?orderId="+id,
 				})
+				uni.setStorageSync('orderId', id);
+				// alert(localStorage.getItem('usersId'))
+				
 			},
 			//办理续住弹窗
 			navigateToXuzhu(){

+ 6 - 5
pages/myself/css/myself.css

@@ -57,7 +57,7 @@
 	margin-left: 31rpx;
 	margin-right: 30rpx;
 	width: 689rpx;
-	height: 397rpx;
+	/* height: 397rpx; */
 	background: rgba(255, 255, 255, 1);
 	border-radius: 9rpx;
 }
@@ -79,8 +79,8 @@
 	display: flex;
 	flex-direction: row;
 	justify-content: flex-start;
-	width: 71rpx;
-	height: 121rpx;
+	/* width: 71rpx; */
+	/* height: 121rpx; */
 	margin-top: 20rpx;
 	margin-left: 10rpx;
 	background: rgba(255, 255, 255, 1);
@@ -90,16 +90,17 @@
 	display: flex;
 	flex-direction: column;
 	align-items: center;
-	width: 150rpx;
+	/* width: 150rpx; */
 	margin-right: 30rpx;
 	margin-top: 20rpx;
+	margin-left: 25px;
 }
 .img-btn{
 	width: 59rpx;
 	height: 54rpx;
 }
 .list-txt{
-	width: 150rpx;
+	/* width: 150rpx; */
 	text-align: center;
 	font-size: 28rpx;
 	margin-top: 10rpx;

+ 55 - 21
pages/myself/myself.vue

@@ -1,8 +1,10 @@
 <template>
 	<view class="content">
 		<view class="person">
-			<image class="person_touxiang" v-if="touxiang=='' || touxiang==null" src="../../static/my/touxiang.png"></image>
-			<image class="person_touxiang" v-else :src="touxiang"></image>
+		<!-- {{touxiang}} -->
+			<!-- <image class="person_touxiang" v-else v-if="touxiang=='' || touxiang==null" src="../../static/my/touxiang.png"></image> -->
+			<image class="person_touxiang" :src="touxiang"></image>
+			<!-- <image class="person_touxiang" src="//wxprivate-1251448646.file.myqcloud.com/campus/avatars/26957/tmp/a2aa26a56e684bcbdc3ceb8c1e791a6b.png?sign=ROA9R0Ny4POhoBnYy00uhMkznzthPTEyNTE0NDg2NDYmYj13eHByaXZhdGUmaz1BS0lEcGFEZzNYNFJhWUs2dVZ0NkI4MnFZN1ZrbGJKckhUVk0mZT0xNzIzMTkwNTU0JnQ9MTcyMzE5MDI1NCZyPTEzNTUxMzc4OTYmZj0vMTI1MTQ0ODY0Ni93eHByaXZhdGUvY2FtcHVzL2F2YXRhcnMvMjY5NTcvdG1wL2EyYWEyNmE1NmU2ODRiY2JkYzNjZWI4YzFlNzkxYTZiLnBuZw==">ww</image> -->
 			<text class="person_name">{{cardName}}</text>
 			<text class="person_phone">{{cardNum}}</text>
 			<text class="person_identity">
@@ -36,6 +38,10 @@
 			  </view>
 			</view>
 			<view class="item-list">
+				<view class="item-list-one" @click="navigateToYiqtuikuan">
+				  <image src="../../static/my/yiquxiao.svg" class="img-btn"></image>
+				  <text class="list-txt">已退款</text>
+				</view>
 			  <view class="item-list-one" @click="navigateToDaijiezhang">
 			    <image src="../../static/my/no_pay.svg" class="img-btn"></image>
 			    <text class="list-txt">待结账</text>
@@ -45,6 +51,7 @@
 			    <text class="list-txt">已完成</text>
 			  </view>
 			</view>
+			<view style="height: 10px;"></view>
 		</view>
 		<!-- 第三部分,我的服务 -->
 		<view class="my_help">
@@ -55,16 +62,18 @@
 			    <text class="list-txt">人工热线</text>
 			  </view>
 			   <!-- -->
-			  <view class="item-list-one" @click="navigateToLiucheng" v-if="cardIdentity=='7'">
+			  <view class="item-list-one" @click="navigateToLiucheng" v-if="cardIdentity=='4'">
+				   <!-- -->
 			    <image src="../../static/my/liucheng.png" class="img-btn"></image>
 			    <text class="list-txt">流程管理</text>
 			  </view>
-			   <!-- v-if="cardIdentity=='4'" -->
-			  <view class="item-list-one" @click="navigateToLiucheng2">
+			   <!-- -->
+			  <!-- <view class="item-list-one" @click="navigateToLiucheng2" v-if="cardIdentity=='4'">
 			    <image src="../../static/my/liucheng.png" class="img-btn"></image>
 			    <text class="list-txt">教师流程</text>
-			  </view>
+			  </view> -->
 			  <view class="item-list-one" @click="navigateToLiucheng3" v-if="manager=='1'">
+				   <!-- -->
 			    <image src="../../static/my/liucheng.png" class="img-btn"></image>
 			    <text class="list-txt">管理员流程</text>
 			  </view>
@@ -75,22 +84,26 @@
 
 <script>
 	import {
-		getuserinfo
+		getuserinfo,
+		apartSet
 	} from '../../utils/api_hotel.js'
 	export default {
 		data() {
 			return {
-				phone:'0791-82293574',//客服热线电话
+				phone:'',//客服热线电话
 				cardName:localStorage.getItem('name'),//用户名
 				cardIdentity:localStorage.getItem('department'),//身份
 				cardNum:localStorage.getItem('telephone'),//卡号
-				touxiang:localStorage.getItem('user_head'),
+				touxiang:localStorage.getItem('head_image'),
 				manager:localStorage.getItem('manager'),//1管理员,0不是管理员
 			}
 		},
 		onLoad() {
 		},
 		onShow() {
+			// alert(localStorage.getItem('manager'))
+			this.getAllset()
+			// alert(localStorage.getItem('usersId'),'id')
 			// this.getUserInfo()
 		},
 		mounted() {
@@ -123,9 +136,8 @@
 				getuserinfo(data).then((res) => {
 					if (res.success) {
 						_self.cardName=res.data.userName
-						_self.cardNum=res.data.phone
 						_self.cardIdentity=res.data.idCardInformation
-						_self.touxiang=res.data.headImage
+						// _self.touxiang=res.data.headImage
 						return;
 					} else {
 						console.log('获取用户信息失败')
@@ -134,46 +146,68 @@
 					this.$message.error(err.message)
 				});
 			},
+			//公寓整体配置
+			getAllset(){
+				let _self = this
+				_self.roomType = []
+				apartSet().then((res) => {
+					if (res.success) {
+						this.phone=res.data.phoneNumbr
+						return;
+					} else {
+					}
+				}).catch((err) => {
+					 //  uni.showModal({
+						// content:err.message
+					 //  })
+				});
+			},
 			//跳转到全部订单
 			navigateToAll(){
 				uni.navigateTo({
-					url:"../my_orderlist/my_orderlist?Inv=6"
+					url:"/pages/my_orderlist/my_orderlist?Inv=6"
 				})
 			},
 			//跳转到待支付订单
 			navigateToDaizhifu(){
 				uni.navigateTo({ 
-					url: "../my_orderlist/my_orderlist?Inv=1",
+					url: "/pages/my_orderlist/my_orderlist?Inv=1",
 				})
 			},
 			//跳转到待入住订单
 			navigateToDairuzhu(){
 				uni.navigateTo({ 
-					url: "../my_orderlist/my_orderlist?Inv=3"
+					url: "/pages/my_orderlist/my_orderlist?Inv=3"
 				})
 			},
 			//跳转到已入住订单
 			navigateToYiruzhu(){
 				uni.navigateTo({ 
-					url: "../my_orderlist/my_orderlist?Inv=4"
+					url: "/pages/my_orderlist/my_orderlist?Inv=4"
 				})
 			},
 			//跳转到已取消订单
 			navigateToYiquxiao(){
 				uni.navigateTo({ 
-					url: "../my_orderlist/my_orderlist?Inv=9"
+					url: "/pages/my_orderlist/my_orderlist?Inv=9"
+				})
+			},
+			//已退款
+			navigateToYiqtuikuan(){
+				uni.navigateTo({
+					url: "/pages/my_orderlist/my_orderlist?Inv=7"
 				})
 			},
 			//跳转到待结账订单
 			navigateToDaijiezhang(){
 				uni.navigateTo({ 
-					url: "../my_orderlist/my_orderlist?Inv=5"
+					url: "/pages/my_orderlist/my_orderlist?Inv=5"
 				})
 			},
 			//跳转到已完成订单
 			navigateToYiwancheng(){
 				uni.navigateTo({ 
-					url: "../my_orderlist/my_orderlist?Inv=8"
+					url: "/pages/my_orderlist/my_orderlist?Inv=8"
 				})
 			},
 			//拨打人工热线
@@ -183,13 +217,13 @@
 			//跳转到临时人员流程管理
 			navigateToLiucheng(){
 				uni.navigateTo({
-					url: "../liuchengO/liu_other"
+					url: "/pages/liuchengO/liu_other"
 				})
 			},
 			//跳转到流程管理
 			navigateToLiucheng2(){
 				uni.navigateTo({
-					url: "../liuchengTeacher/liu_teach"
+					url: "/pages/liuchengTeacher/liu_teach"
 					// url: "../liuchengO/liu_other"
 					// url:"../liuchengManger/liu_manage"
 				})
@@ -199,7 +233,7 @@
 				uni.navigateTo({
 					// url: "../liuchengTeacher/liu_teach"
 					// url: "../liuchengO/liu_other"
-					url:"../liuchengManger/liu_manage"
+					url:"/pages/liuchengManger/liu_manage"
 				})
 			},
 			//跳转到房间报修

+ 59 - 41
pages/order_mark/css/order_mark.css

@@ -8,13 +8,13 @@
 /* 第一层模块 */
 .one-order3{
 	width: 750rpx;
-	height: 438rpx;
+	/* height: 438rpx; */
 	background: rgba(41, 109, 227, 1);
 }
 .room-button-6{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 159rpx;
-	margin-top: 250rpx;
+	/* margin-top: 250rpx; */
 	width: 175rpx;
 	height: 82rpx;
 	border: 1px solid rgba(255, 255, 255, 1);
@@ -26,9 +26,9 @@
 	line-height: 82rpx;
 }
 .room-button2-6{
-	position: absolute;
-	margin-left: 410rpx;
-	margin-top: 250rpx;
+	/* position: absolute; */
+	margin-left: 136px;
+	/* margin-top: 250rpx; */
 	width: 175rpx;
 	height: 82rpx;
 	border: 1px solid rgba(255, 255, 255, 1);
@@ -41,11 +41,11 @@
 }
 .one-order{
 	width: 750rpx;
-	height: 646rpx;
+	/* height: 646rpx; */
 	background: rgba(41, 109, 227, 1);
 }
 .one-order-title{
-	position: absolute;
+	/* position: absolute; */
 	width: 720rpx;
 	margin-left: 30rpx;
 	margin-top: 34rpx;
@@ -60,10 +60,10 @@
 	font-size: 32rpx;
 }
 .one-order-menshi{
-	position: absolute;
+	/* position: absolute; */
 	width: 720rpx;
 	margin-left: 30rpx;
-	margin-top: 135rpx;
+	margin-top: 30rpx;
 	color: rgba(255, 255, 255, 1);
 	font-size: 28rpx;
 	font-weight: 400;
@@ -113,7 +113,7 @@
 .room-button{
 	position: absolute;
 	margin-left: 164rpx;
-	margin-top: 491rpx;
+	/* margin-top: 491rpx; */
 	width: 175rpx;
 	height: 82rpx;
 	border: 1px solid rgba(255, 255, 255, 1);
@@ -125,9 +125,9 @@
 	line-height: 82rpx;
 }
 .room-button2{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 415rpx;
-	margin-top: 491rpx;
+	/* margin-top: 491rpx; */
 	width: 175rpx;
 	height: 82rpx;
 	border: 1px solid rgba(255, 255, 255, 1);
@@ -141,11 +141,29 @@
 .buttonNo{
 	margin-left: 285rpx;
 }
+
+.room-count{
+	/* position: absolute; */
+	float: right;
+	margin-right: 13px;
+	/* margin-top: 155rpx; */
+	font-size: 24rpx;
+	font-weight: 400;
+	color:#FF5733;
+}
+.room-count-txt{
+	/* position: absolute; */
+	margin-left: 16px;
+	/* margin-top: 155rpx; */
+	color: rgba(255, 255, 255, 1);
+	font-size: 24rpx;
+	font-weight: 400;
+}
 /* 第二层模块 */
 .two-order{
 	margin-top: -30rpx;
 	width: 690rpx;
-	height: 500rpx;
+	/* height: 500rpx; */
 	background: rgba(255, 255, 255, 1);
 	border-radius: 7px;
 	color: rgba(166, 166, 166, 1);
@@ -155,7 +173,7 @@
 .two-order3{
 	margin-top: -30rpx;
 	width: 690rpx;
-	height: 673rpx;
+	/* height: 673rpx; */
 	background: rgba(255, 255, 255, 1);
 	border-radius: 7px;
 	color: rgba(166, 166, 166, 1);
@@ -165,7 +183,7 @@
 .two-order4{
 	margin-top: -30rpx;
 	width: 690rpx;
-	height: 738rpx;
+	/* height: 738rpx; */
 	background: rgba(255, 255, 255, 1);
 	border-radius: 7px;
 	color: rgba(166, 166, 166, 1);
@@ -174,7 +192,7 @@
 	font-weight: 400;
 }
 .two-order-title{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
 	margin-top: 30rpx;
 	color: rgba(0, 0, 0, 1);
@@ -182,34 +200,34 @@
 	font-weight: 400;
 }
 .two-order-name{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
-	margin-top: 101rpx;
+	/* margin-top: 101rpx; */
 }
 .two-order-phone{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
-	margin-top: 156rpx;
+	/* margin-top: 156rpx; */
 }
 .two-order-count{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
-	margin-top: 211rpx;
+	/* margin-top: 211rpx; */
 }
 .two-order-time{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
-	margin-top: 266rpx;
+	/* margin-top: 266rpx; */
 }
 .two-order-xing{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
-	margin-top: 321rpx;
+	/* margin-top: 321rpx; */
 }
 .two-order-zhuTime{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
-	margin-top: 376rpx;
+	/* margin-top: 376rpx; */
 	width: 480rpx;
 }
 .two-order-txt{
@@ -217,34 +235,34 @@
 	line-height: 55rpx;
 }
 .two-order-shui{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
-	margin-top: 486rpx;
+	/* margin-top: 486rpx; */
 }
 .two-order-dian{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
-	margin-top: 541rpx;
+	/* margin-top: 541rpx; */
 }
 .two-order-secret{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
-	margin-top: 596rpx;
+	/* margin-top: 596rpx; */
 }
 .two-order-shui2{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
-	margin-top: 596rpx;
+	/* margin-top: 596rpx; */
 }
 .two-order-dian2{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
-	margin-top: 651rpx;
+	/* margin-top: 651rpx; */
 }
 .two-order-lidian2{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 30rpx;
-	margin-top: 706rpx;
+	/* margin-top: 706rpx; */
 }
 .order-mark{
 	margin-top: 174rpx;

+ 126 - 81
pages/order_mark/order_mark.vue

@@ -1,17 +1,18 @@
 <template>
 	<view class="content">
 		<!-- 第一层模块 -->
-		<view class="one-order3" v-if="orderList.houseOrder.orderStatus == 8">
-			<view class="one-order-title">订单已完成 / 期待您再次光临<text class="all-price">¥{{orderList.houseOrder.payPrice}}</text></view>
+		<view class="one-order3" v-if="hourOrder.orderStatus == 8">
+			<view class="one-order-title">订单已完成 / 期待您再次光临<text class="all-price">¥{{hourOrder.payPrice}}</text></view>
 			<view class="one-order-menshi">水电扣除<text class="menshi-price">¥{{orderList.totalFree}}</text></view>
-			<!-- <view class="room-button-6"@click="getOrderDelete(orderList.houseOrder.orderNumber)">
+			<!-- <view class="room-button-6"@click="getOrderDelete(hourOrder.orderNumber)">
 				<text>删除订单</text>
 			</view> -->
-			<view class="room-button2-6" @click="navigateToWanchengZaici(orderList.houseOrder.houseId)">
+			<view style="height: 20px;"></view>
+			<view class="room-button2-6" style="margin-bottom: 30px;" @click="navigateToWanchengZaici(hourOrder.houseId)">
 				<text>再次预定</text>
 			</view>
 		</view>
-		<view class="one-order3" v-else-if="orderList.houseOrder.orderStatus == 5">
+		<view class="one-order3" v-else-if="hourOrder.orderStatus == 5">
 			<view class="one-order-title">待结账</view>
 			<view class="one-order-menshi" v-if="billXin.flag==1">
 				预退款<text class="menshi-price">¥{{billXin.refundFee}}</text>
@@ -22,6 +23,7 @@
 			<!-- <view class="room-button-6">
 				<text>删除订单</text>
 			</view> -->
+			<view style="height: 20px;"></view>
 			<view class="room-button2-6" v-if="billXin.flag==1">
 				<text>退款</text>
 			</view>
@@ -31,12 +33,16 @@
 		</view>
 		<view class="one-order" v-else>
 			<view class="one-order-title">
-				<text v-if="orderList.houseOrder.orderStatus == 9">订单已取消 / 期待您再次光临</text>
-				<text v-if="orderList.houseOrder.orderStatus == 1">请在15分钟之内支付</text>
-				<text v-if="orderList.houseOrder.orderStatus == 3">预定成功 / 等待您的入住</text>
-				<text v-if="orderList.houseOrder.orderStatus == 4">办理成功 / 期待您的到来</text>
-				<text class="all-price">¥{{orderList.houseOrder.payPrice}}</text>
+				<text v-if="hourOrder.orderStatus == 10">订单已支付未入住 / 请去前台处理</text>
+				<text v-if="hourOrder.orderStatus == 9">订单已取消 / 期待您再次光临</text>
+				<text v-if="hourOrder.orderStatus == 7">订单已退款 / 期待您再次光临</text>
+				<text v-if="hourOrder.orderStatus == 1" style="font-weight: 600;">待支付</text>
+				<text v-if="hourOrder.orderStatus == 3">预定成功 / 等待您的入住</text>
+				<text v-if="hourOrder.orderStatus == 4">办理成功 / 期待您的到来</text>
+				<text class="all-price">¥{{hourOrder.payPrice}}</text>
 			</view>
+			<text v-if="hourOrder.orderStatus == 1" class="room-count-txt">酒店房间有限,请尽快支付,超时订单将自动取消</text>
+			<uv-count-down v-if="hourOrder.orderStatus == 1" class="room-count" color="#FF5733" :time="new Date((hourOrder.createTime).replace(/-/g,'/')).getTime() + 2 * 60 * 1000 - new Date().getTime()" format="mm:ss" @finish="finish(timeupSecond,item)"></uv-count-down>
 			<!-- <view class="one-order-menshi">门市价<text class="menshi-price">¥{{orderList.roomTypeUsualPrice}}</text></view>
 			<view class="one-order-fuli">教师福利<text class="fuli-price">¥{{orderList.roomTypeDiscountPrice}}</text></view>
 			<view class="one-order-yufukuan">
@@ -47,38 +53,46 @@
 				数为10度,超出标准需在预付款中扣除,未超出原路返回预
 				付款
 			</view> -->
-			<view class="room-button" v-if="orderList.houseOrder.orderStatus != 4&&orderList.houseOrder.orderStatus != 9">
+			<view style="height: 50px;" v-if="hourOrder.orderStatus == 1"></view>
+			<view style="height: 20px;" v-else></view>
+			<view class="room-button" v-if="hourOrder.orderStatus==1">
 				
-				<text v-if="orderList.houseOrder.orderStatus == 1" @click="openQu(orderList.houseOrder.orderNumber,'warn',orderList.houseOrder.houseNumberId)">取消订单</text>
-				<text v-if="orderList.houseOrder.orderStatus == 3" @click="openQu(orderList.houseOrder.orderNumber,'warn',orderList.houseOrder.houseNumberId)">办理退款</text>
+				<text v-if="hourOrder.orderStatus == 1" @click="openQu(hourOrder.orderNumber,'warn',hourOrder.houseNumberId)">取消订单</text>
+				<!-- <text v-if="hourOrder.orderStatus == 3" @click="openQu(hourOrder.orderNumber,'warn',hourOrder.houseNumberId)">办理退款</text> -->
 			</view>
-			<view class="room-button2" :class="{'buttonNo': orderList.houseOrder.orderStatus == 4}">
-				<text v-if="orderList.houseOrder.orderStatus == 9" @click="navigateToZaici(orderList.houseOrder.reserveLiveTime,orderList.houseOrder.reserveLeaveTime,orderList.houseOrder.houseId)">再次预定</text>
-				<!-- <text v-if="orderList.houseOrder.orderStatus == 9" @click="openDel(orderList.houseOrder.orderNumber,'warn',orderList.houseOrder.houseNumberId)">删除</text> -->
-				<text v-if="orderList.houseOrder.orderStatus == 1" @click="getOrderPay(orderList.houseOrder.id,orderList.houseOrder.price)">支付</text>
-				<text v-if="orderList.houseOrder.orderStatus == 4" @click="openTui(orderList.houseOrderid.orderNumber,'warn')">办理退房</text>
-				<text v-if="orderList.houseOrder.orderStatus == 3" @click="openRu(orderList.houseOrder.id,'warn')">办理入住</text>
+			<view class="room-button2" v-if="hourOrder.orderStatus != 10" :class="{'buttonNo': hourOrder.orderStatus == 4 ||hourOrder.orderStatus == 9||hourOrder.orderStatus == 7||hourOrder.orderStatus == 3}">
+				<text v-if="hourOrder.orderStatus == 9||hourOrder.orderStatus == 7" @click="navigateToZaici(hourOrder.reserveLiveTime,hourOrder.reserveLeaveTime,hourOrder.houseId)">再次预定</text>
+				<!-- <text v-if="hourOrder.orderStatus == 9" @click="openDel(hourOrder.orderNumber,'warn',hourOrder.houseNumberId)">删除</text> -->
+				<text v-if="hourOrder.orderStatus == 1" @click="getOrderPay(hourOrder.id,hourOrder.price)">支付</text>
+				<text v-if="hourOrder.orderStatus == 4" @click="openTui(hourOrder.orderNumber,hourOrder.houseNumberId,'warn')">办理退房</text>
+				<!-- <text v-if="hourOrder.orderStatus == 3" @click="openRu(hourOrder.id,'warn')">办理入住</text> -->
+				
+				<text v-if="hourOrder.orderStatus == 3 && hourOrder.payPrice==0" @click="openQu(hourOrder.orderNumber,'warn',hourOrder.houseNumberId)">取消订单</text>
+				<text v-else-if="hourOrder.orderStatus == 3 && hourOrder.payPrice!=0" @click="openQu(hourOrder.orderNumber,'warn',hourOrder.houseNumberId)">办理退款</text>
 			</view>
+			<view style="height: 50px;"></view>
 		</view>
 		<!-- 第二层模块 -->
-		<view class="two-order" :class="{'two-order3': orderList.houseOrder.orderStatus == 4,'two-order4': orderList.houseOrder.orderStatus == 8||orderList.houseOrder.orderStatus == 5}">
+		<view class="two-order" :class="{'two-order3': hourOrder.orderStatus == 4,'two-order4': hourOrder.orderStatus == 8||hourOrder.orderStatus == 5}">
 			<view class="two-order-title">订单信息</view>
-			<view class="two-order-name">预定人信息:<text class="two-order-txt">{{orderList.houseOrder.reserveName}}</text></view>
-			<view class="two-order-phone">手机号码:<text class="two-order-txt">{{orderList.houseOrder.reservePhone}}</text></view>
-			<view class="two-order-count">订  单  号:<text class="two-order-txt">{{orderList.houseOrder.orderNumber}}</text></view>
-			<view class="two-order-time">下单时间:<text class="two-order-txt">{{orderList.houseOrder.createTime}}</text></view>
-			<view class="two-order-xing">户         型:<text class="two-order-txt">{{orderList.house.roomName}}</text></view>
+			<view class="two-order-name">预定人信息:<text class="two-order-txt">{{hourOrder.reserveName}}</text></view>
+			<view class="two-order-phone">手机号码:<text class="two-order-txt">{{hourOrder.reservePhone}}</text></view>
+			<view class="two-order-count">订  单  号:<text class="two-order-txt">{{hourOrder.orderNumber}}</text></view>
+			<view class="two-order-time">下单时间:<text class="two-order-txt">{{hourOrder.createTime}}</text></view>
+			<view class="two-order-xing">户         型:<text class="two-order-txt">{{houde.roomName}}</text></view>
 			<view class="two-order-zhuTime">入离时间:
-				<text class="two-order-txt" v-if="orderList.houseOrder.reserveLiveTime,orderList.houseOrder.reserveLeaveTime">
-				<view>入住日{{orderList.houseOrder.reserveLiveTime}}后   </view>
-				<view>离店日{{orderList.houseOrder.reserveLeaveTime}}前</view></text>
+				<text class="two-order-txt" v-if="hourOrder.reserveLiveTime,hourOrder.reserveLeaveTime">
+				<view>入住日{{hourOrder.reserveLiveTime}}后   </view>
+				<view>离店日{{hourOrder.reserveLeaveTime}}前</view></text>
 			</view>
-			<view class="two-order-secret" v-if="orderList.houseOrder.orderStatus ==4">房间门锁密码:{{orderList.passWord}}</view>
-			<view class="two-order-shui" v-if="orderList.houseOrder.orderStatus == 8||orderList.houseOrder.orderStatus ==5||orderList.houseOrder.orderStatus ==4">水起码:{{orderList.startOfWater}}吨</view>
-			<view class="two-order-dian" v-if="orderList.houseOrder.orderStatus == 8||orderList.houseOrder.orderStatus ==5||orderList.houseOrder.orderStatus ==4">电起码:{{orderList.startOfElectric}}度</view>
-			<view class="two-order-shui2" v-if="orderList.houseOrder.orderStatus == 8||orderList.houseOrder.orderStatus == 5">水止码:{{orderList.endOfWater}}吨</view>
-			<view class="two-order-dian2" v-if="orderList.houseOrder.orderStatus == 8||orderList.houseOrder.orderStatus == 5">电止码:{{orderList.endOfElectric}}度</view>
-			<view class="two-order-lidian2" v-if="orderList.houseOrder.orderStatus == 8">退房时间:{{}}</view>
+			<view class="two-order-secret" v-if="hourOrder.orderStatus ==4||hourOrder.orderStatus == 8"><text class="two-order-txt">入住时间:{{time_data(hourOrder.liveTime)}}</text></view>
+			<view class="two-order-secret" v-if="hourOrder.orderStatus == 8"><text class="two-order-txt">退房时间:{{time_data(hourOrder.leaveTime)}}</text></view>
+			<view class="two-order-secret" v-if="hourOrder.orderStatus ==4||hourOrder.orderStatus ==3"><text class="two-order-txt">房间门锁密码:{{hourOrder.keyPassWord	}}</text></view>
+			<view class="two-order-shui" v-if="hourOrder.orderStatus == 8||hourOrder.orderStatus ==5"><text class="two-order-txt">水能耗:{{hourOrder.waterConsume}}吨</text></view>
+			<view class="two-order-dian" v-if="hourOrder.orderStatus == 8||hourOrder.orderStatus ==5"><text class="two-order-txt">电能耗:{{hourOrder.electricConsume}}度</text></view>
+			<view class="two-order-shui2" v-if="hourOrder.orderStatus == 8||hourOrder.orderStatus == 5"><text class="two-order-txt">水费:{{hourOrder.waterCost}}元</text></view>
+			<view class="two-order-dian2" v-if="hourOrder.orderStatus == 8||hourOrder.orderStatus == 5"><text class="two-order-txt">电费:{{hourOrder.electricCost}}元</text></view>
+			<!-- <view class="two-order-lidian2" v-if="hourOrder.orderStatus == 8">退房时间:{{}}</view> -->
 		</view>
 		
 		<view class="order-mark">您的满意是我们最大的追求</view>
@@ -108,6 +122,8 @@
 		data(){
 			return {
 				orderList:{},//订单整体
+				hourOrder:{},
+				houde:{},
 				orderId:'',//订单号
 				billXin:'',//结账信息
 				order_txt:'',//弹框提示信息
@@ -118,6 +134,7 @@
 				tankuang:false,//弹框是否确定
 				order_txt_id:'',
 				houseNumberId:'',
+				orderNumber:'',
 				
 				appId: "",     //公众号ID,由商户传入
 				timeStamp: "",     //时间戳,自1970年以来的秒数     
@@ -127,28 +144,46 @@
 				paySign:'',
 			}
 		},
+		// destroyed() {
+		// 	console.log('销毁')
+		//     // uni.removeStorageSync('orderId');
+		// },
 		onShow() {
-			// 获取当前小程序的页面栈
-			let pages = getCurrentPages();
-			// 数组中索引最大的页面--当前页面
-			let currentPage = pages[pages.length-1];
-			// 打印出当前页面中的 options
-			this.orderId=currentPage.options.orderId
+			// console.log(new Date('2024-08-19T02:25:06.000+00:00').getHours(),'poo')
+			this.orderId=uni.getStorageSync('orderId');
 			this.getOrderInfo(this.orderId)
-			this.getOrderBill(this.orderId)
-		},
-		onload(option){
-			console.log('不能执行onload')
+			
 		},
 		methods:{
+			// 倒计时结束回调
+			finish(timeupSecond,item) {
+				// this.countDownTime = new Date(item.createTime).getTime() + 15 * 60 * 1000 - new Date().getTime()
+				this.getOrderCancel(item.orderNumber,item.houseNumberId)
+			},
+			//转换时间格式
+			time_data (date) {
+			  var dd = new Date(date)
+			  const y = dd.getFullYear()
+			  const m = (dd.getMonth()+1) < 10 ? '0' + (dd.getMonth()+1) : (dd.getMonth()+1)
+			  const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate()
+			  const h = dd.getHours() < 10 ? '0' + dd.getHours() : dd.getHours()
+			  const f = dd.getMinutes() < 10 ? '0' + dd.getMinutes() : dd.getMinutes()
+			  const s = dd.getSeconds() < 10 ? '0' + dd.getSeconds() : dd.getSeconds()
+			  var resDate = y + '-' + m + '-' + d+" "+h+":"+f+":"+s
+			  return resDate
+			},
 			//获取每个订单详情
 			getOrderInfo() {
 				  let _self = this
-				  _self.orderList = []
+				  _self.orderList = {}
+				  _self.hourOrder={}
+				  _self.houde={}
 				  var data="?houseOrderId="+_self.orderId
 				  getorderdetail(data).then((res) => {
 					if (res.success) {
 						_self.orderList=res.data
+						_self.hourOrder=res.data.houseOrder
+						_self.houde=res.data.house
 						return;
 						} else {
 							console.log('获取订单列表失败')
@@ -167,7 +202,7 @@
 					if(this.order_txt2=='确定删除?') {
 						this.getOrderDelete(this.order_txt_id)
 					} else if(this.order_txt2=='确定退房?') {
-						this.getOrderReturn(this.order_txt_id)
+						this.getOrderReturn(this.orderNumber,this.houseNumberId)
 					} else if(this.order_txt2=='确定入住?') {
 						this.getOrderHold(this.order_txt_id)
 					} else if(this.order_txt2=='确定取消订单?') {
@@ -186,8 +221,9 @@
 				this.$refs.popup_order2.open()
 			},
 			//退房弹框
-			openTui(orderId,type) {
-				this.order_txt_id=orderId
+			openTui(orderNumber,houseNumberId,type) {
+				this.orderNumber=orderNumber
+				this.houseNumberId=houseNumberId
 				this.msgType2 = type
 				this.order_txt2='确定退房?'
 				this.$refs.popup_order2.open()
@@ -200,21 +236,21 @@
 				this.$refs.popup_order2.open()
 			},
 			//取消订单弹框
-			openQu(orderId,type,houseNumberId) {
-				this.order_txt_id=orderId
+			openQu(order_txt_id,type,houseNumberId) {
+				this.order_txt_id=order_txt_id
 				this.houseNumberId=houseNumberId
 				this.msgType2 = type
 				this.order_txt2='确定取消订单?'
 				this.$refs.popup_order2.open()
 			},
 			// 订单结账信息
-			getOrderBill() {
+			getOrderBill2() {
 				  let _self = this
 				  var data=_self.orderId
 				  getorderbill(data).then((res) => {
 					if (res.success) {
 						if(res.data.flag!='3') {
-							this.billXin=res.data
+							_self.billXin=res.data
 						}
 						return;
 						} else {
@@ -244,7 +280,7 @@
 			// 订单取消再次预订
 			navigateToZaici(enableStartTime,enableEndTime,roomTypeId){
 				uni.reLaunch({
-					url:"../index/index"
+					url:"/pages/index/index"
 					// url:'../order_room/order_room?roomTypeId='+roomTypeId
 				})
 			},
@@ -274,12 +310,13 @@
 			},
 			// 支付订单
 			getOrderPay(id,price) {
-				if(localStorage.getItem('code')=='undefined'){
-					uni.navigateTo({
-						url:'/pages/huoquCode/huoquCode'
-					})
-					return
-				}
+				// alert('支付',localStorage.getItem('openId2'))
+				// if(!localStorage.getItem('openId2')){
+				// 	uni.navigateTo({
+				// 		url:'/pages/huoquCode/huoquCode'
+				// 	})
+				// 	return
+				// }
 				  let _self = this
 				  var data={
 						"houseOrderId": id, //订单号id
@@ -288,22 +325,22 @@
 					}
 				  getorderpay(data).then((res) => {
 				  	if (res.success) {
-				  		_self.appId=res.data.appId
-				  		_self.timeStamp=res.data.timeStamp
-				  		_self.nonceStr=res.data.nonceStr
-				  		_self.package=res.data.packageVal
-				  		_self.signType=res.data.signType
-				  		_self.paySign=res.data.paySign
-				  		_self.onBridgeReady();
+						if(res.data){
+							_self.appId=res.data.appId
+							_self.timeStamp=res.data.timeStamp
+							_self.nonceStr=res.data.nonceStr
+							_self.package=res.data.packageVal
+							_self.signType=res.data.signType
+							_self.paySign=res.data.paySign
+							_self.onBridgeReady();
+						}else{
+							uni.navigateTo({
+								url:'/pages/zhifuchenggong/zhifuchenggong'
+							})
+						}
 				  	} else if(res.code=='500'){
-				  		uni.navigateTo({
-				  			url:'/pages/huoquCode/huoquCode'
-				  		})
 				  	}
 				  }).catch((err) => {
-				  	uni.navigateTo({
-				  		url:'/pages/huoquCode/huoquCode'
-				  	})
 				  });
 				 //  this.$axios.get(`/hotel/ihotel-api/ihotel/hotelOrder/user/order/pay/${orderId}`,
 				 //  {
@@ -338,7 +375,7 @@
 			    },
 			    function(res) {
 			        if (res.err_msg == "get_brand_wcpay_request:ok") {
-			        	uni.navigateTo({
+			        	uni.reLaunch({
 			        		url:'/pages/my_orderlist/my_orderlist?Inv=3'
 			        	})
 			            // 使用以上方式判断前端返回,微信团队郑重提示:
@@ -411,14 +448,15 @@
 			// 订单已完成再次预订
 			navigateToWanchengZaici(roomTypeId){
 				uni.reLaunch({
-					url:"../index/index"
+					url:"/pages/index/index"
 					// url:'../order_room/order_room?roomTypeId='+roomTypeId
 				})
 			},
 			// 办理入住
 			getOrderHold(order_txt_id) {
 				let _self = this
-				getorderhold(_self.order_txt_id).then((res) => {
+				var data="?houseOrderId="+_self.order_txt_id+"&userId="+localStorage.getItem('usersId')
+				getorderhold(data).then((res) => {
 					if (res.success) {
 						this.order_txt='办理入住成功'
 						this.$refs.popup_order.open()
@@ -429,7 +467,9 @@
 							this.$refs.popup_order.open()
 						}
 					}).catch((err) => {
-						this.$message.error(err.message)
+						uni.showModal({
+							content:err.message
+						})
 					});
 				// this.$axios.defaults.headers.common['token'] = localStorage.getItem('token');
 				// this.$axios.put(`/hotel/ihotel-api/ihotel/hotelOrder/user/order/hold/${this.order_txt_id}`,).then(res => {
@@ -445,21 +485,26 @@
 				// });
 			},
 			// 办理退房
-			getOrderReturn(order_txt_id) {
+			getOrderReturn(orderNumber,houseNumberId) {
 				let _self = this
-				getorderreturn(_self.order_txt_id).then((res) => {
+				var data={
+					"orderNumber":orderNumber ,//订单号
+					"houseNumberId": houseNumberId//房间号id
+				}
+				getorderreturn(data).then((res) => {
 					if (res.success) {
 						this.order_txt='退房成功'
 						this.$refs.popup_order.open()
 						this.getOrderInfo()
-						this.getOrderBill()
 						return;
 					} else {
 						this.order_txt=res.message
 						this.$refs.popup_order.open()
 					}
 					}).catch((err) => {
-						this.$message.error(err.message)
+						uni.showModal({
+							content:err.message
+						})
 					});
 				// this.$axios.defaults.headers.common['token'] = localStorage.getItem('token');
 				// this.$axios.put(`/hotel/ihotel-api/ihotel/hotelOrder/user/order/return/${this.order_txt_id}`,).then(res => {
@@ -468,7 +513,7 @@
 				// 		this.order_txt='退房成功'
 				// 		this.$refs.popup_order.open()
 				// 		this.getOrderInfo()
-				// 		this.getOrderBill()
+				// 		this.getOrderBill2()
 				// 	} else {
 				// 		this.order_txt=res.message
 				// 		this.$refs.popup_order.open()

+ 39 - 18
pages/order_room/css/order_room.css

@@ -18,7 +18,7 @@
 	flex-direction: row;
 	justify-content: flex-start;
 	position: absolute;
-	height: 38px;
+	height: 30px;
 	margin-top: 20rpx;
 	background: rgba(255, 255, 255, 1);
 }
@@ -73,8 +73,8 @@
 	background: rgba(41, 109, 227, 1);
 }
 .select_name{
-	margin: 81rpx 0 0 31rpx;
-	font-size: 28rpx;
+	margin: 45px 0 0 31rpx;
+	font-size: 16px;
 	font-weight: 500;
 	color: rgba(0, 0, 0, 1);
 }
@@ -96,6 +96,19 @@
 	font-weight: 400;
 	color: rgba(128, 128, 128, 1);
 }
+/* 全日房日历按钮 */
+.riliQueren{
+	border-radius: 35px;
+	color: #fff;
+	height: 40px;
+	font-size: 18px;
+	line-height: 40px;
+	text-align: center;
+	background: rgba(41, 109, 227, 1);
+	margin: 10px;
+	position: absolute;
+	width: 330px;
+}
 /* 第二层基本信息 */
 .second_basic{
 	margin: 21rpx 0 0 20rpx;
@@ -120,7 +133,8 @@
 	margin-top: 87rpx;
 	width: 650rpx;
 	background: rgba(204, 204, 204, 1);
-	border: 1rpx solid rgba(230, 230, 230, 1);
+	height: 1rpx;
+	/* border: 1rpx solid rgba(230, 230, 230, 1); */
 }
 .form-num{
 	position: absolute;
@@ -140,7 +154,8 @@
 	margin-top: 184rpx;
 	width: 650rpx;
 	background: rgba(204, 204, 204, 1);
-	border: 1px solid rgba(230, 230, 230, 1);
+	height: 1px;
+	/* border: 1px solid rgba(230, 230, 230, 1); */
 }
 .form-line{
 	position: absolute;
@@ -148,7 +163,8 @@
 	margin-top: 281rpx;
 	width: 650rpx;
 	background: rgba(204, 204, 204, 1);
-	border: 1px solid rgba(230, 230, 230, 1);
+	height: 1px;
+	/* border: 1px solid rgba(230, 230, 230, 1); */
 }
 .form-phone{
 	position: absolute;
@@ -197,7 +213,9 @@
 	margin-left: 26rpx;
 	margin-top: 92rpx;
 	width: 650rpx;
-	border: 1rpx solid rgba(230, 230, 230, 1);
+	height: 1px;
+	background: rgba(204, 204, 204, 1);
+	/* border: 1rpx solid rgba(230, 230, 230, 1); */
 }
 .third-num{
 	position: absolute;
@@ -217,7 +235,7 @@
 .four_basic{
 	margin: 21rpx 0 0 20rpx;
 	width: 710rpx;
-	height: 252rpx;
+	/* height: 252rpx; */
 	opacity: 0.9;
 	border-radius: 15rpx;
 	background: rgba(255, 255, 255, 1);
@@ -226,35 +244,38 @@
 	color: rgba(0, 0, 0, 1);
 }
 .four_title{
-	position: absolute;
+	/* position: absolute; */
 	margin: 22rpx 0 0 26rpx;
 	font-weight: 500;
 	color: rgba(0, 0, 0, 1);
 }
 .four-line1{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 26rpx;
-	margin-top: 92rpx;
+	margin-top: 12rpx;
 	width: 650rpx;
-	border: 1rpx solid rgba(230, 230, 230, 1);
+	height: 1px;
+	background: rgba(204, 204, 204, 1);
+	/* border: 1rpx solid rgba(230, 230, 230, 1); */
 }
 .four-num{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 28rpx;
-	margin-top: 121rpx;
+	margin-top: 10rpx;
 	color: rgba(128, 128, 128, 1);
 }
 .four-num2{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 28rpx;
-	margin-top: 184rpx;
+	margin-top: 10rpx;
 	color: rgba(128, 128, 128, 1);
 }
 .four-all{
-	position: absolute;
+	/* position: absolute; */
 	margin-left: 579rpx;
-	margin-top: 158rpx;
+	/* margin-top: 158rpx; */
 	color: rgba(0, 0, 0, 1);
+	margin-bottom: 10px;
 }
 /* 支付框 */
 .fukuan{

+ 102 - 31
pages/order_room/order_room.vue

@@ -2,7 +2,8 @@
 	<view class="content">
 		<!-- 第一层表单 -->
 		<view class="two_all">
-			<view class="select-time" @click="openCalendar" v-if="roomType==1">
+			 <!-- @click="openCalendar" -->
+			<view class="select-time" v-if="roomType==1">
 				<view class="select-time-one">
 				  <text class="select-list-time">{{startTime}}
 					<text class="select-list">{{startWeek}}</text>
@@ -26,7 +27,7 @@
 				  </text>
 				</view>
 				<view class="select-time-one">
-				  <text class="select-list-time" style="font-size: 12px;">{{zhongTime}}
+				  <!-- <text class="select-list-time" style="font-size: 12px;">{{zhongTime}} -->
 				  <text class="select-list">{{zhongshi}}小时</text>
 				  </text>
 				</view>
@@ -41,10 +42,13 @@
 				<!-- <text style="margin-left: 20px;">窗户位于走廊/窗户较小</text> -->
 			</view>
 			<uni-popup ref="popup_picker" :mask-click="true">
-				<view class=popup_bg_picker>
+				<!-- <view class=popup_bg_picker> -->
 				<uni-calendar :selected="info.selected" class="uni-calendar--hook" :clear-date="true" :date="info.date" :insert="info.insert" :lunar="info.lunar" :startDate="info.startDate"
 				:endDate="info.endDate" :range="info.range" @change="change"/>
+				<view style="height: 60px; background-color: #fff;">
+					<view class="riliQueren" @click="popup_pickerClose">确定{{ruzhu_num}}晚</view>
 				</view>
+				<!-- </view> -->
 			</uni-popup>
 		</view>
 		<!-- 第二层基本信息 -->
@@ -60,13 +64,13 @@
 			<view class="form-phone">联系电话:
 			<text class="list-text">{{cardPhone}}</text></view>
 			<view class="form-line" style="margin-top: 381rpx;"></view>
-			<view class="uni-list-cell-db" v-if="roomType==1">预计到店:
+			<!-- <view class="uni-list-cell-db" v-if="roomType==1">预计到店:
 				<picker style="margin-left: 70px;margin-top: -22px;"
 				 @change="bindPickerChange" :value="index" :range="array">
 					<view class="uni-input" style="color: rgba(0, 0, 0, 1);">{{array[index]}}</view>
 					<text class="jiantou">〉</text>
 				</picker>
-			</view>
+			</view> -->
 			<view class="uni-list-cell-db" v-if="roomType==2">入住时段:
 				<picker style="margin-left: 70px;margin-top: -22px;"
 				 @change="bindPickerChange2" :value="index2" :range="array2">
@@ -95,9 +99,23 @@
 				<text style="margin-left: 533rpx;">¥{{payMount}}</text>
 			</view>
 			<view class="four-line1"></view>
-			<view class="four-num">{{startDate}}</view>
-			<view class="four-num2">{{endDate}}</view>
-			<view class="four-all">{{ruzhu_num}} x ¥{{roomPrice}}</view>
+			<view v-if="roomType==1">
+				<view v-for="(item,index) in wanPrice" :key="index">
+					<view class="four-num">
+						{{item.date}}
+						<text style="margin-left: 30rpx;">1晚共{{item.price}}</text>
+					</view>
+				</view>
+				<view class="four-all">1间 x {{ruzhu_num}}晚</view>
+			</view>
+			
+			<view v-if="roomType==2">
+				<view>
+					<view class="four-num">{{startDate}}</view>
+					<view class="four-num2">{{endDate}}</view>
+				</view>
+				<view class="four-all">{{ruzhu_num}} x ¥{{roomPrice}}</view>
+			</view>
 		</view>
 		<!-- 支付框 -->
 		<view class="fukuan">
@@ -121,6 +139,7 @@
 	import {
 		getuserinfo,
 		getprice,
+		getMeiprice,
 		postOrder,
 		getZhongTime
 	} from '../../utils/api_hotel.js'
@@ -204,29 +223,38 @@
 				zhongshi:'',//钟点房时间
 				startDateZ:'',//钟点房默认到店日期接口数据
 				endDateZ:'',//钟点房默认离店日期接口数据
+				wanPrice:[],
+				source:'',
+				sourceId:'',
+				data:{},
 			}
 		},
 		onLoad(option) {
-			console.log(option)
-			// this.payMount=Number(option.payMount)
-			this.ruzhu_num=option.ruzhu_num
-			this.roomArea=option.roomArea
-			this.roomType=option.roomType
-			this.roomConfiguration=option.roomConfiguration
-			this.roomPrice=option.roomPrice
-			this.freeRoom=option.surplusCount
-			this.zhongTime=option.zhongTime
-			this.zhongshi=option.zhongshi
-			localStorage.setItem('roomTypeId',option.roomTypeId)
-			localStorage.setItem('typeName',option.typeName)
-			localStorage.setItem('startTime',option.startTime)
-			localStorage.setItem('endTime',option.endTime)
-			localStorage.setItem('enableStartTime',option.enableStartTime)
-			localStorage.setItem('enableEndTime',option.enableEndTime)
-			localStorage.setItem('zhongTime',option.zhongTime)
+			this.data=JSON.parse(decodeURIComponent(option.data))
+			console.log(JSON.parse(decodeURIComponent(option.data)))
+			// this.payMount=Number(this.data.payMount)
+			this.ruzhu_num=this.data.ruzhu_num
+			this.roomArea=this.data.roomArea
+			this.roomType=this.data.roomType
+			this.roomConfiguration=this.data.roomConfiguration
+			this.roomPrice=this.data.roomPrice
+			this.freeRoom=this.data.surplusCount
+			this.zhongTime=this.data.zhongTime
+			this.zhongshi=this.data.zhongshi
+			localStorage.setItem('roomTypeId',this.data.roomTypeId)
+			localStorage.setItem('typeName',this.data.typeName)
+			localStorage.setItem('startTime',this.data.startTime)
+			localStorage.setItem('endTime',this.data.endTime)
+			localStorage.setItem('enableStartTime',this.data.enableStartTime)
+			localStorage.setItem('enableEndTime',this.data.enableEndTime)
+			localStorage.setItem('zhongTime',this.data.zhongTime)
+			localStorage.setItem('source',this.data.source)
+			localStorage.setItem('sourceId',this.data.sourceId)
 			
 		},
 		mounted() {
+			this.source=localStorage.getItem('source')
+			this.sourceId=localStorage.getItem('sourceId')
 			this.roomTypeId=localStorage.getItem('roomTypeId')
 			this.typeName=localStorage.getItem('typeName')
 			this.startTime=localStorage.getItem('startTime')
@@ -239,7 +267,9 @@
 			this.endWeek=this.getweekday(this.endDate)
 			this.mayTime=this.startDate.substring(0,11)+"18:00:00"
 			// console.log(this.getweekday(this.startDate))
-			this.getZhongTime()
+			if(this.roomType==2){
+				this.getZhongTime()
+			}
 			// window.location.href ='https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxa46ef222053a1047&redirect_uri=https://chtech.ncjti.edu.cn/hotel/ihotel-api/ihotel/hotelUser/weixinAuth&response_type=code&scope=snsapi_base&state=pages/order_room/order_room#wechat_redirect';
 			this.getUserInfo()
 		},
@@ -251,7 +281,7 @@
 			setTimeout(() => {
 				this.info.date = getDate(new Date()).fullDate
 				this.info.startDate = getDate(new Date()).fullDate
-				this.info.endDate =  getDate(new Date(),6).fullDate
+				this.info.endDate =  getDate(new Date(),8).fullDate
 				// this.startTime = getDate(new Date()).fullTime
 				// this.endTime = getDate(new Date(),1).fullTime
 				// this.startWeek = getDate(new Date()).sWeek
@@ -270,6 +300,7 @@
 						_self.cardPhone=res.data.phone
 						_self.cardIdentity=res.data.idCardInformation
 						this.getjisuanprice()
+						this.getWanPrice()
 						return;
 					} else {
 						console.log('获取用户信息失败')
@@ -303,6 +334,26 @@
 						})
 					});
 			},
+			// 计算每晚价格
+			getWanPrice(){
+				  let _self = this
+				  var data="?houseId="+_self.roomTypeId+"&startTime="+_self.startDate
+				  +"&endTime="+_self.endDate
+				  getMeiprice(data).then((res) => {
+					if (res.success) {
+						_self.wanPrice=res.data
+						return;
+					} else {
+						uni.showModal({
+							content:res.message
+						})
+					}
+					}).catch((err) => {
+						uni.showModal({
+							content:err.message
+						})
+					});
+			},
 			// 计算订单金额
 			getjisuanprice() {
 				this.payMount=0
@@ -310,7 +361,7 @@
 				  var data="?userId="+localStorage.getItem('usersId') 
 				  +
 				  "&houseId="+_self.roomTypeId+"&liveTime="+_self.startDate
-				  +"&leaveTime="+_self.endDate+"&houseOrderNumber=1"
+				  +"&leaveTime="+_self.endDate+"&houseOrderNumber=1"+"&source="+this.source
 				  getprice(data).then((res) => {
 					if (res.success) {
 						_self.payMount=res.data
@@ -378,7 +429,9 @@
 					"reserveLiveTime": startDate,
 					"reserveLeaveTime": endDate,
 					"reservePhone": this.cardPhone,
-					"reserveName": this.cardName
+					"reserveName": this.cardName,
+					"source":this.source,
+					"sourceId":this.sourceId
 				}
 				postOrder(data).then((res) => {
 					if (res.success) {
@@ -414,8 +467,13 @@
 			openCalendar() {
 				this.$refs.popup_picker.open()
 			},
+			// 关闭全日房日历
+			popup_pickerClose(){
+				this.$refs.popup_picker.close()
+				this.getjisuanprice()
+				this.getWanPrice()
+			},
 			change(e) {
-				console.log('1change 返回:', e)
 				// 模拟动态打卡
 				// if (this.info.selected.length > 5) return
 				this.info.selected=[
@@ -434,6 +492,20 @@
 					if((new Date(e.range.after).getTime())<(new Date(e.range.before).getTime())) {
 						this.order_txt='离店日期不能小于到店日期'
 						this.$refs.popup_order.open()
+						this.info.selected=[]
+					}else if(parseInt(((new Date(e.range.after).getTime())-(new Date(e.range.before).getTime()))/1000/60/60/24)>2){
+						this.order_txt='预订时间不能超过两晚'
+						this.$refs.popup_order.open()
+						this.info.selected=[]
+					}else if(parseInt(((new Date(e.range.after).getTime())-(new Date(e.range.before).getTime()))/1000/60/60/24)==2){
+						this.order_txt='您此次申请了两晚,请注意若只住一晚可能会导致流程管理次数失效。'
+						this.$refs.popup_order.open()
+						this.endWeek='周'+e.lunar.ncWeek.substring(2,3)
+						this.startTime=e.range.before.substring(5,7)+'月'+e.range.before.substring(8,10)+'日'
+						this.endTime=e.range.after.substring(5,7)+'月'+e.range.after.substring(8,10)+'日'
+						this.startDate = e.range.before +' '+localStorage.getItem('liveTime')
+						this.endDate =  e.range.after +' '+localStorage.getItem('leaveTime')
+						this.ruzhu_num=parseInt(((new Date(e.range.after).getTime())-(new Date(e.range.before).getTime()))/1000/60/60/24)
 					}else{
 						this.endWeek='周'+e.lunar.ncWeek.substring(2,3)
 						this.startTime=e.range.before.substring(5,7)+'月'+e.range.before.substring(8,10)+'日'
@@ -443,7 +515,6 @@
 						this.ruzhu_num=parseInt(((new Date(e.range.after).getTime())-(new Date(e.range.before).getTime()))/1000/60/60/24)
 					}
 				}
-				this.getjisuanprice()
 			},
 			//选择器
 			bindPickerChange: function(e) {

+ 10 - 8
pages/submit_order/css/submit_order.css

@@ -7,14 +7,14 @@
 	}
 	/* 支付剩余时间 */
 	.break_time{
-		margin: 24rpx 0 0 0;
-		width: 750rpx;
+		margin: 0px 0 0 20px;
+		/* width: 750rpx; */
 		text-align: center;
 		font-size: 24rpx;
 		color: rgba(128, 128, 128, 1);
 	}
 	.break_money{
-		margin: 10px 0 0 0;
+		margin: 20px 0 0 0;
 		width: 750rpx;
 		height: 72rpx;
 		text-align: center;
@@ -101,6 +101,7 @@
 	}
 	.select_name{
 		margin: 88rpx 0 0 31rpx;
+		height: 20rpx;
 		font-size: 28rpx;
 		font-weight: 500;
 		color: rgba(0, 0, 0, 1);
@@ -132,6 +133,7 @@
 		color: rgba(128, 128, 128, 1);
 	}
 	.pay-list{
+		display: flex;
 		margin: 17rpx 0 0 0rpx;
 		width: 710rpx;
 		height: 100%;
@@ -148,20 +150,20 @@
 		color: #36cb59;
 	}
 	.item{
-		margin-left: 45px;
+		margin-left: 5px;
 		font-size: 28rpx;
 		font-weight: 400;
 		line-height: 50px;
 		color: rgba(0, 0, 0, 1);
 	}
 	.radio{
-		position: absolute;
-		margin-left: 320px;
-		margin-top: -35px;
+		margin-left: 170px;
+		align-items: center;
+		display: grid;
 	}
 	/* 确认支付 */
 	.quwer{
-		margin-top: 683rpx;
+		margin-top: 80px;
 		width: 710rpx;
 		height: 96rpx;
 		border-radius: 64rpx;

+ 74 - 27
pages/submit_order/submit_order.vue

@@ -1,9 +1,14 @@
 <template>
 	<view class="content">
 		<!-- 支付剩余时间 -->
-		<view class="break_time">
-			交易剩余时间<uv-count-down :time="new Date(allTime).getTime() + 15 * 60 * 1000 - new Date().getTime()" format="mm:ss" @change="change" @finish="finish(countDownTime,allTime)"></uv-count-down>
+		<view style="display: block ruby;">
+			<view class="break_time">
+				交易剩余时间
+			</view>
+			<uv-count-down style="margin-top: 10px;margin-left: 10px;" :time="new Date(allTime).getTime() + 2 * 60 * 1000 - new Date().getTime()" format="mm:ss" @change="change" @finish="finish(countDownTime,allTime)"></uv-count-down>
+			
 		</view>
+		
 		<!-- <uv-count-down :time="56687" format="mm:ss" @finish="finish(countDownTime)"></uv-count-down> -->
 		<!-- <view class="break_time">交易剩余时间15:00</view> -->
 		<view class="break_money">¥{{countMoney}}</view>
@@ -28,7 +33,9 @@
 				</view>
 			</view>
 			<!-- 房型信息 -->
-			<view class="select_name">{{roomName}}</view>
+			<view class="select_name">
+			<!-- {{roomName}} -->
+			</view>
 			<view class="select_type" v-if="roomType==1">全日房</view>
 			<view class="select_type" v-else-if="roomType==2">钟点房</view>
 			<view class="select_detail">
@@ -43,7 +50,7 @@
 			<view class="iconweixin"></view>
 			<view class="item">微信支付</view>
 			<label class="radio">
-				<radio value="" color="rgba(0, 97, 255, 1)" :checked="pay_way == '微信支付'" :disabled="money <= 0" />
+				<radio value="" color="rgba(0, 97, 255, 1)" :checked="pay_way == '微信支付'" :disabled="money > 0" />
 				</radio>
 			</label>
 		</view>
@@ -86,6 +93,7 @@
 				package: "",
 				signType: "",     //微信签名方式:     
 				paySign:'',
+				flag: true //是否弹出返回提示框
 			}
 		},
 		onLoad(option) {
@@ -94,6 +102,30 @@
 		onShow() {
 			this.getorderXiang()
 		},
+		onBackPress() {
+			if (this.flag) {
+				uni.showModal({
+					title: "提示",
+					content: "您确定要放弃付款吗?",
+					duration: 1500,
+					success: (res) => {
+						if (res.confirm) {
+							this.flag = false
+							uni.navigateBack({
+								delta: 1, //返回层数,2则上上页
+							})
+							return true
+						} else {
+							this.flag = true
+							return true
+						}
+					}
+				})
+				return true
+			} else {
+				return false
+			}
+		},
 		methods: {
 			// 截取 url中的code方法
 			handleUrlCode() {
@@ -156,12 +188,6 @@
 			},
 			//确认支付
 			queZhifu1(){
-				if(localStorage.getItem('code')=='undefined'){
-					uni.navigateTo({
-						url:'/pages/huoquCode/huoquCode'
-					})
-					return
-				}
 				let _self = this 
 				var data={
 					"usersId": localStorage.getItem('usersId'),
@@ -169,27 +195,38 @@
 					"totalPrice":this.countMoney  //支付金额
 				}
 				getorderpay(data).then((res) => {
-					// alert(res.message+res.code)
 					if (res.success) {
-						_self.appId=res.data.appId
-						_self.timeStamp=res.data.timeStamp
-						_self.nonceStr=res.data.nonceStr
-						_self.package=res.data.packageVal
-						_self.signType=res.data.signType
-						_self.paySign=res.data.paySign
-						_self.onBridgeReady();
+						if(res.data){
+							_self.appId=res.data.appId
+							_self.timeStamp=res.data.timeStamp
+							_self.nonceStr=res.data.nonceStr
+							_self.package=res.data.packageVal
+							_self.signType=res.data.signType
+							_self.paySign=res.data.paySign
+							_self.onBridgeReady();
+						}else{
+							//免费
+							uni.showModal({
+								content:'若需取消预订,应在入住当日 13 点之前进行操作;若不取消,则需在 18 点前携带身份证或电子身份证至前台办理入住手续,否则可能被加入黑名单。退房时间为次日 13 点之前。另外,公寓提醒你注意节约水电,一旦超出正常使用额度,将会产生额外费用。',
+								success: (res) => {
+									uni.reLaunch({
+										url:'/pages/zhifuchenggong/zhifuchenggong'
+									})
+								},
+								fail: (e) => {
+									uni.reLaunch({
+										url:'/pages/zhifuchenggong/zhifuchenggong'
+									})
+								},
+							})
+						}
+						
 					} else if(res.code=='500'){
-						uni.navigateTo({
-							url:'/pages/huoquCode/huoquCode'
-						})
 						// uni.showModal({
 						// 	content:res.message
 						// })
 					}
 				}).catch((err) => {
-					uni.navigateTo({
-						url:'/pages/huoquCode/huoquCode'
-					})
 				});
 			},
 			onBridgeReady() {
@@ -205,8 +242,18 @@
 					// alert('p1'+res.err_msg)
 			        if (res.err_msg == "get_brand_wcpay_request:ok") {
 						// alert('pp')
-						uni.navigateTo({
-							url:'/pages/my_orderlist/my_orderlist?Inv=3'
+						uni.showModal({
+							content:'若需取消预订,应在入住当日 13 点之前进行操作;若不取消,则需在 18 点前携带身份证或电子身份证至前台办理入住手续,否则可能被加入黑名单。退房时间为次日 13 点之前。',
+							success: (res) => {
+								uni.reLaunch({
+									url:'/pages/my_orderlist/my_orderlist?Inv=3'
+								})
+							},
+							fail: (e) => {
+								uni.reLaunch({
+									url:'/pages/my_orderlist/my_orderlist?Inv=3'
+								})
+							},
 						})
 			            // 使用以上方式判断前端返回,微信团队郑重提示:
 			            //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
@@ -226,7 +273,7 @@
 							uni.showModal({
 								content:'支付成功',
 								success: (res) => {
-									uni.navigateTo({
+									uni.reLaunch({
 										url:'/pages/my_orderlist/my_orderlist?Inv=3'
 									})
 								},

+ 7 - 2
pages/zhifuchenggong/zhifuchenggong.vue

@@ -25,8 +25,13 @@
 		},
 		methods: {
 			success() {
-				uni.navigateTo({
-					url:'../order_mark/order_mark?orderId='+this.orderId
+				// uni.reLaunch({
+				// 	// url:'../order_mark/order_mark?orderId='+this.orderId
+				// 	url:'/pages/my_orderlist/my_orderlist?Inv=3'
+				// })
+				uni.switchTab({
+					// url:'../order_mark/order_mark?orderId='+this.orderId
+					url:'/pages/index/index'
 				})
 			},
 		}

+ 18 - 0
uni_modules/uni-file-picker/changelog.md

@@ -1,3 +1,21 @@
+## 1.0.11(2024-07-19)
+- 修复 vue3 使用value报错的bug
+## 1.0.10(2024-07-09)
+- 优化 vue3兼容性
+## 1.0.9(2024-07-09)
+- 修复 value 属性不兼容vue3的bug
+## 1.0.8(2024-03-20)
+- 补充 删除文件时返回文件下标
+## 1.0.7(2024-02-21)
+- 新增 微信小程序选择视频时改用chooseMedia,并返回视频缩略图
+## 1.0.6(2024-01-06)
+- 新增 微信小程序不再调用chooseImage,而是调用chooseMedia
+## 1.0.5(2024-01-03)
+- 新增 上传文件至云存储携带本地文件名称
+## 1.0.4(2023-03-29)
+- 修复 手动上传删除一个文件后不能再上传的bug
+## 1.0.3(2022-12-19)
+- 新增 sourceType 属性, 可以自定义图片和视频选择的来源
 ## 1.0.2(2022-07-04)
 - 修复 在uni-forms下样式不生效的bug
 ## 1.0.1(2021-11-23)

+ 69 - 6
uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js

@@ -7,10 +7,32 @@ function chooseImage(opts) {
 	const {
 		count,
 		sizeType = ['original', 'compressed'],
-		sourceType = ['album', 'camera'],
+		sourceType,
 		extension
 	} = opts
 	return new Promise((resolve, reject) => {
+		// 微信由于旧接口不再维护,针对微信小程序平台改用chooseMedia接口
+		// #ifdef MP-WEIXIN
+		uni.chooseMedia({
+			count,
+			sizeType,
+			sourceType,
+			mediaType: ['image'],
+			extension,
+			success(res) {
+				res.tempFiles.forEach(item => {
+					item.path = item.tempFilePath;
+				})
+				resolve(normalizeChooseAndUploadFileRes(res, 'image'));
+			},
+			fail(res) {
+				reject({
+					errMsg: res.errMsg.replace('chooseImage:fail', ERR_MSG_FAIL),
+				});
+			},
+		})
+		// #endif
+		// #ifndef MP-WEIXIN
 		uni.chooseImage({
 			count,
 			sizeType,
@@ -25,18 +47,60 @@ function chooseImage(opts) {
 				});
 			},
 		});
+		// #endif
+
 	});
 }
 
 function chooseVideo(opts) {
 	const {
+		count,
 		camera,
 		compressed,
 		maxDuration,
-		sourceType = ['album', 'camera'],
+		sourceType,
 		extension
 	} = opts;
 	return new Promise((resolve, reject) => {
+		// 微信由于旧接口不再维护,针对微信小程序平台改用chooseMedia接口
+		// #ifdef MP-WEIXIN
+		uni.chooseMedia({
+			count,
+			compressed,
+			maxDuration,
+			sourceType,
+			extension,
+			mediaType: ['video'],
+			success(res) {
+				const {
+					tempFiles,
+				} = res;
+				resolve(normalizeChooseAndUploadFileRes({
+					errMsg: 'chooseVideo:ok',
+					tempFiles: tempFiles.map(item => {
+						return {
+							name: item.name || '',
+							path: item.tempFilePath,
+							thumbTempFilePath: item.thumbTempFilePath,
+							size:item.size,
+							type: (res.tempFile && res.tempFile.type) || '',
+							width:item.width,
+							height:item.height,
+							duration:item.duration,
+							fileType: 'video',
+							cloudPath: '',
+						}
+					}),
+				}, 'video'));
+			},
+			fail(res) {
+				reject({
+					errMsg: res.errMsg.replace('chooseVideo:fail', ERR_MSG_FAIL),
+				});
+			},
+		})
+		// #endif
+		// #ifndef MP-WEIXIN
 		uni.chooseVideo({
 			camera,
 			compressed,
@@ -54,8 +118,7 @@ function chooseVideo(opts) {
 				resolve(normalizeChooseAndUploadFileRes({
 					errMsg: 'chooseVideo:ok',
 					tempFilePaths: [tempFilePath],
-					tempFiles: [
-					{
+					tempFiles: [{
 						name: (res.tempFile && res.tempFile.name) || '',
 						path: tempFilePath,
 						size,
@@ -74,6 +137,7 @@ function chooseVideo(opts) {
 				});
 			},
 		});
+		// #endif
 	});
 }
 
@@ -211,8 +275,7 @@ function chooseAndUploadFile(opts = {
 }) {
 	if (opts.type === 'image') {
 		return uploadFiles(chooseImage(opts), opts);
-	}
-	else if (opts.type === 'video') {
+	} else if (opts.type === 'video') {
 		return uploadFiles(chooseVideo(opts), opts);
 	}
 	return uploadFiles(chooseAll(opts), opts);

+ 26 - 13
uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue

@@ -89,24 +89,18 @@
 		},
 		emits: ['select', 'success', 'fail', 'progress', 'delete', 'update:modelValue', 'input'],
 		props: {
-			// #ifdef VUE3
 			modelValue: {
 				type: [Array, Object],
 				default () {
 					return []
 				}
 			},
-			// #endif
-
-			// #ifndef VUE3
 			value: {
 				type: [Array, Object],
 				default () {
 					return []
 				}
 			},
-			// #endif
-
 			disabled: {
 				type: Boolean,
 				default: false
@@ -185,6 +179,16 @@
 				default () {
 					return ['original', 'compressed']
 				}
+			},
+			sourceType: {
+				type: Array,
+				default () {
+					return  ['album', 'camera']
+				}
+			},
+			provider: {
+				type: String,
+				default: '' // 默认上传到 unicloud 内置存储 extStorage 扩展存储
 			}
 		},
 		data() {
@@ -194,22 +198,18 @@
 			}
 		},
 		watch: {
-			// #ifndef VUE3
 			value: {
 				handler(newVal, oldVal) {
 					this.setValue(newVal, oldVal)
 				},
 				immediate: true
 			},
-			// #endif
-			// #ifdef VUE3
 			modelValue: {
 				handler(newVal, oldVal) {
 					this.setValue(newVal, oldVal)
 				},
 				immediate: true
 			},
-			// #endif
 		},
 		computed: {
 			filesList() {
@@ -325,7 +325,6 @@
 			 * 选择文件
 			 */
 			choose() {
-
 				if (this.disabled) return
 				if (this.files.length >= Number(this.limitLength) && this.showType !== 'grid' && this.returnType ===
 					'array') {
@@ -349,9 +348,11 @@
 						type: this.fileMediatype,
 						compressed: false,
 						sizeType: this.sizeType,
+						sourceType: this.sourceType,
 						// TODO 如果为空,video 有问题
 						extension: _extname.length > 0 ? _extname : undefined,
-						count: this.limitLength - this.files.length, //默认9
+						// count: this.limitLength - this.files.length, //默认9
+						count: 1, //默认9
 						onChooseFile: this.chooseFileCallback,
 						onUploadProgress: progressEvent => {
 							this.setProgress(progressEvent, progressEvent.index)
@@ -411,6 +412,13 @@
 				if (!this.autoUpload || this.noSpace) {
 					res.tempFiles = []
 				}
+				res.tempFiles.forEach((fileItem, index) => {
+					this.provider && (fileItem.provider = this.provider);
+					const fileNameSplit = fileItem.name.split('.')
+					const ext = fileNameSplit.pop()
+					const fileName = fileNameSplit.join('.').replace(/[\s\/\?<>\\:\*\|":]/g, '_')
+					fileItem.cloudPath = fileName + '_' + Date.now() + '_' + index + '.' + ext
+				})
 			},
 
 			/**
@@ -516,6 +524,7 @@
 			 */
 			delFile(index) {
 				this.$emit('delete', {
+					index,
 					tempFile: this.files[index],
 					tempFilePath: this.files[index].url
 				})
@@ -576,7 +585,11 @@
 						path: v.path,
 						size: v.size,
 						fileID:v.fileID,
-						url: v.url
+						url: v.url,
+						// 修改删除一个文件后不能再上传的bug, #694
+            uuid: v.uuid,
+            status: v.status,
+            cloudPath: v.cloudPath
 					})
 				})
 				return newFilesData

+ 1 - 0
uni_modules/uni-file-picker/components/uni-file-picker/utils.js

@@ -90,6 +90,7 @@ export const get_file_data = async (files, type = 'image') => {
 		extname: extname || '',
 		cloudPath: files.cloudPath,
 		fileType: files.fileType,
+		thumbTempFilePath: files.thumbTempFilePath,
 		url: files.path || files.path,
 		size: files.size, //单位是字节
 		image: {},

+ 6 - 8
uni_modules/uni-file-picker/package.json

@@ -1,7 +1,7 @@
 {
   "id": "uni-file-picker",
   "displayName": "uni-file-picker 文件选择上传",
-  "version": "1.0.2",
+  "version": "1.0.11",
   "description": "文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间",
   "keywords": [
     "uni-ui",
@@ -16,11 +16,7 @@
   "directories": {
     "example": "../../temps/example_temps"
   },
-  "dcloudext": {
-    "category": [
-      "前端组件",
-      "通用组件"
-    ],
+"dcloudext": {
     "sale": {
       "regular": {
         "price": "0.00"
@@ -37,7 +33,8 @@
       "data": "无",
       "permissions": "无"
     },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
+    "type": "component-vue"
   },
   "uni_modules": {
     "dependencies": ["uni-scss"],
@@ -45,7 +42,8 @@
     "platforms": {
       "cloud": {
         "tcb": "y",
-        "aliyun": "y"
+        "aliyun": "y",
+        "alipay": "n"
       },
       "client": {
         "App": {

+ 1 - 0
uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue

@@ -500,6 +500,7 @@
 			position: relative;
 			font-size: 14px;
 			flex: 1;
+			text-align: right;
 			/* #ifndef APP-NVUE */
 			box-sizing: border-box;
 			/* #endif */

+ 1 - 1
uni_modules/uni-icons/components/uni-icons/uniicons.css

@@ -207,7 +207,7 @@
 }
 
 .uniui-calendar:before {
-  content: "\e6a0";
+  /* content: "\e6a0"; */
 }
 
 .uniui-fire:before {

+ 1 - 1
uni_modules/uni-list/components/uni-list/uni-list.vue

@@ -101,7 +101,7 @@ $uni-border-color:#e5e5e5;
 	height: 1px;
 	-webkit-transform: scaleY(0.5);
 	transform: scaleY(0.5);
-	background-color: $uni-border-color;
+	//background-color: $uni-border-color;
 }
 
 /* #endif */

+ 2 - 1
uni_modules/uv-count-down/components/uv-count-down/uv-count-down.vue

@@ -161,9 +161,10 @@
 	$uv-count-down-text-line-height: 22px !default;
 	.uv-count-down {
 		&__text {
-			color: $uv-count-down-text-color;
+			color: #FF8D1A;
 			font-size: $uv-count-down-text-font-size;
 			line-height: $uv-count-down-text-line-height;
+			// position: absolute;
 		}
 	}
 </style>

BIN
unpackage/dist/build/web.zip


Файловите разлики са ограничени, защото са твърде много
+ 1 - 1
unpackage/dist/build/web/index.html


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/img/index_kongtiao.6f925cef.svg


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/img/index_lock.5ed04036.svg


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/img/index_nosmoking.3995cd99.svg


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/img/index_wifi.71255d6e.svg


unpackage/dist/build/web/static/js/chunk-vendors.-v1.0.0-1722930270552.js → unpackage/dist/build/web/static/js/chunk-vendors.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/index.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/index.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-gongyuxiangqing-gongyuxiangqing.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-gongyuxiangqing-gongyuxiangqing.-v1.0.0-1736911552785.js


unpackage/dist/build/web/static/js/pages-huoquCode-huoquCode.-v1.0.0-1722930270552.js → unpackage/dist/build/web/static/js/pages-huoquCode-huoquCode.-v1.0.0-1736911552785.js


unpackage/dist/build/web/static/js/pages-huoquanshibai-huoquanshibai.-v1.0.0-1722930270552.js → unpackage/dist/build/web/static/js/pages-huoquanshibai-huoquanshibai.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-index-index.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-index-index.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 1
unpackage/dist/build/web/static/js/pages-index-index~pages-liuchengManger-detail-teach_detail~pages-liuchengManger-liu_manage~pages-liu~84f00681.-v1.0.0-1722930270552.js


unpackage/dist/build/web/static/js/pages-index-index~pages-my_orderlist-my_orderlist~pages-order_mark-order_mark~pages-order_room-order_room.-v1.0.0-1722930270552.js → unpackage/dist/build/web/static/js/pages-index-index~pages-my_orderlist-my_orderlist~pages-order_mark-order_mark~pages-order_room-order_room.-v1.0.0-1736911552785.js


unpackage/dist/build/web/static/js/pages-index-index~pages-my_orderlist-my_orderlist~pages-order_room-order_room.-v1.0.0-1722930270552.js → unpackage/dist/build/web/static/js/pages-index-index~pages-my_orderlist-my_orderlist~pages-order_room-order_room.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-liuchengManger-detail-teach_detail.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-liuchengManger-detail-teach_detail.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 3 - 0
unpackage/dist/build/web/static/js/pages-liuchengManger-detail-teach_detail~pages-liuchengManger-liu_manage~pages-liuchengO-detail-teac~646efc90.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 3
unpackage/dist/build/web/static/js/pages-liuchengManger-detail-teach_detail~pages-liuchengManger-liu_manage~pages-liuchengO-detail-teac~9f805c02.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-liuchengManger-detail-teach_detail~pages-liuchengO-detail-teach_detail~pages-liuchengO-liu_oth~7842fc60.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-liuchengManger-detail-teach_detail~pages-liuchengO-detail-teach_detail~pages-liuchengO-liu_oth~7842fc60.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-liuchengManger-liu_manage.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-liuchengManger-liu_manage.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 1
unpackage/dist/build/web/static/js/pages-liuchengManger-liu_manage~pages-liuchengO-liu_other~pages-liuchengTeacher-liu_teach.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-liuchengO-detail-teach_detail.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-liuchengO-detail-teach_detail.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-liuchengO-liu_other.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-liuchengO-liu_other.-v1.0.0-1736911552785.js


unpackage/dist/build/web/static/js/pages-liuchengTeacher-detail-teach_detail.-v1.0.0-1722930270552.js → unpackage/dist/build/web/static/js/pages-liuchengTeacher-detail-teach_detail.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-liuchengTeacher-liu_teach.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-liuchengTeacher-liu_teach.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-my_orderlist-my_orderlist.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-my_orderlist-my_orderlist.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-my_orderlist-my_orderlist~pages-order_mark-order_mark~pages-submit_order-submit_order.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-my_orderlist-my_orderlist~pages-submit_order-submit_order.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-myself-myself.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-myself-myself.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-order_mark-order_mark.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-order_mark-order_mark.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-order_room-order_room.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-order_room-order_room.-v1.0.0-1736911552785.js


unpackage/dist/build/web/static/js/pages-ruzhuxuzhi-ruzhuxuzhi.-v1.0.0-1722930270552.js → unpackage/dist/build/web/static/js/pages-ruzhuxuzhi-ruzhuxuzhi.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-submit_order-submit_order.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-submit_order-submit_order.-v1.0.0-1736911552785.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
unpackage/dist/build/web/static/js/pages-zhifuchenggong-zhifuchenggong.-v1.0.0-1722930270552.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
unpackage/dist/build/web/static/js/pages-zhifuchenggong-zhifuchenggong.-v1.0.0-1736911552785.js


+ 49 - 1
utils/api_hotel.js

@@ -11,6 +11,17 @@ export const apartSet = (params) => {
 			'user_head':localStorage.getItem('user_head'),
 		}
     })
+}
+//查看公寓设施
+export const gongyusheshi = (params) => {
+    return request({
+        url: '/facility-services/appletList',
+        method: 'get',
+		header:{
+			'token':localStorage.getItem('token'),
+			'user_head':localStorage.getItem('user_head'),
+		}
+    })
 }
 // 房型接口
 export const getroomtype = (params) => {
@@ -44,6 +55,16 @@ export const getorderpage = (params) => {
 		}
     })
 }
+// 获取支付openId
+export const getpayOpenId = (params) => {
+    return request({
+        url: '/house-order/getPayOpenId'+params,
+        method: 'post',
+		// data:params,
+		header:{
+		}
+    })
+}
 // 支付订单
 export const getorderpay = (params) => {
     return request({
@@ -52,7 +73,7 @@ export const getorderpay = (params) => {
 		data:params,
 		header:{
 			'token':localStorage.getItem('token'),
-			'wxcode' :localStorage.getItem('code')
+			'openId' :localStorage.getItem('openId2')
 		}
     })
 }
@@ -138,6 +159,17 @@ export const getsubmittoken = (params) => {
 		}
     })
 }
+// 每晚金额详情
+export const getMeiprice = (params) => {
+    return request({
+        url: '/house-price/housePriceOrder'+params,
+        method: 'get',
+		header:{
+			'token':localStorage.getItem('token'),
+			'user_head':localStorage.getItem('user_head'),
+		}
+    })
+}
 //计算订单金额
 export const getprice = (params) => {
     return request({
@@ -210,6 +242,14 @@ export const postTeacher = (params,header) => {
 		header:header
     })
 }
+//查看是否能预订,能选的流程列表
+export const ifyuding = (params,header) => {
+    return request({
+        url: '/house-order/remainFree'+params,
+        method: 'get',
+		header:header
+    })
+}
 //获取换课老师下拉框
 export const getChange = (params,header) => {
     return request({
@@ -219,6 +259,14 @@ export const getChange = (params,header) => {
 		header:header
     })
 }
+//审批规则
+export const shenpiguiju = (params,header) => {
+    return request({
+        url: '/application-procedure-setting/get',
+        method: 'get',
+		header:header
+    })
+}
 //管理员查看临时人员记录
 export const getManaLinlist = (params,header) => {
     return request({

+ 2 - 2
utils/request.js

@@ -1,6 +1,6 @@
 // 全局请求封装
-// const base_url = '/ihotel/auto'//线下
-const base_url = '/hotel/ihotel/auto/'//线上
+// const base_url = '/testingServer/ihotel/auto'//线下
+const base_url = '/hotel/ihotel/auto'//线上
 // 需要修改token,和根据实际修改请求头
 export default (params) => {
     let url = params.url;