Explorar o código

去掉开关前边的房间名称
香薰机灯光控制
香薰机和空调控制条

hanchong hai 1 ano
pai
achega
8cf65fa2ac

+ 24 - 2
pages/data/data.js

@@ -1703,8 +1703,11 @@ Page({
 	rhxstop_arrFrequency: 0,//呼吸暂停次数
 	sleep_durationCountA: 0,//睡眠时间
 	sns: [],
+	tvEntityIds: [],
 	selectedValue: '', // 用于存储选中的值  
+	tvEntityIdsValue: '', // 用于存储选中的值 
 	selectedIndex: 0, // 默认选中第一个选项
+	tvEntityIdsIndex: 0, // 默认选中第一个选项
 	hotelcode: '',//酒店编码
 	roomcode: '',//房间编码
 	
@@ -1846,6 +1849,24 @@ Page({
          this.intervalId = null;  
        }  
      },
+	 tvEntityIdsChange: function(e) {
+	  var that = this;
+	  console.log('this.data.tvEntityIds_tv='+JSON.stringify(this.data.tvEntityIds))
+	  var selectedOption = this.data.tvEntityIds[e.detail.value]; 
+	  console.log('selectedOption_tv='+JSON.stringify(selectedOption))
+	  if(!this.data.tvEntityIds || !selectedOption){
+		  wx.showToast({
+		    title: '请选择需要推送的电视',  
+		    icon: 'none'  
+		  });  
+		  return;
+	  }
+	  this.setData({
+		tvEntityIdsIndex: e.detail.value,  
+		tvEntityIdsValue: selectedOption.friendly_name1,
+	  }); 
+	  this.telScreeProjection(selectedOption.entity_id);
+	},
 	onPickerChange: function(e) {
 	 var that = this;
 	 var selectedOption = this.data.sns[e.detail.value];  
@@ -3191,7 +3212,7 @@ initChart00(canvas, width, height,reportId){
 				    // 在这里可以添加其他点击后的逻辑,比如调用接口等  
 				  },
 				  
-				  telScreeProjection: function() {
+				  telScreeProjection: function(tvEntityId) {
 					  var that = this;
 					  that.setData({
 						isLoading: true,  
@@ -3208,6 +3229,7 @@ initChart00(canvas, width, height,reportId){
 						},
 						success(ress) {
 							console.log('wx.getStorageSync(tvEntityId)='+wx.getStorageSync('tvEntityId'));
+							console.log('tvEntityId='+tvEntityId);
 							if(ress && ress.data && wx.getStorageSync('tvEntityId')){
 								console.log("ress.data=="+JSON.stringify(ress.data.url));
 								console.log("wx.getStorageSync(tvEntityId)=="+wx.getStorageSync('tvEntityId'));
@@ -3501,6 +3523,7 @@ initChart00(canvas, width, height,reportId){
 														sleep_efficiency:sleep_efficiency_temp,
 														sleep_durationCountA:that.convertTimeToHoursAndMinutes(sleep_durationCount?sleep_durationCount.toString():'0'),
 														sns:res.data,
+														tvEntityIds:wx.getStorageSync('tvEntityIds'),
 														hotelname:res.data[0].hn,
 														rdeep_duration_efficiency:rdeep_duration_efficiency_temp,
 														rlight_duration_efficiency:rlight_duration_efficiency_temp,
@@ -3829,7 +3852,6 @@ onLoad(option){
 	  
 	  hotelcodeTemp = wx.getStorageSync('res').result.split('|')[0];
 	  roomcodeTemp = wx.getStorageSync('res').result.split('|')[1];
-	  
 	  this.getData(null,hotelcodeTemp,roomcodeTemp,null);
 	  // const result = await this.getData();
 	  // console.log('result='+JSON.stringify(result));

+ 3 - 0
pages/data/data.wxml

@@ -79,6 +79,9 @@
   		<image class="data-image_c00" src="/static/images/report/tuisong_new.png" mode="aspectFit"></image>
   		<text class="data-text_c00" bindtap="telScreeProjection">推送电视  </text>
   		<!-- <text class="data-text_c001">就寝目标23:00</text> -->
+		<!-- <picker mode="selector" range-key="friendly_name1" range="{{tvEntityIds}}" value="{{tvEntityIdsIndex}}" bindchange="tvEntityIdsChange">
+			<text class="data-text_c00">推送电视  </text>  
+		</picker> -->
       </view>  
       <view class="data-item_c00 right_c00">   
         <picker mode="selector" range-key="pos" range="{{sns}}" value="{{selectedIndex}}" bindchange="onPickerChange">

+ 58 - 10
pages/index/index.js

@@ -553,6 +553,7 @@ Page({
 	value:60 , // 当前得分
 	total:100, // 总分值
 	tvEntityId:'',// 电视实体Id
+	tvEntityIds:[],// 电视实体
 	entityName:'',//
 	sleep_duration:'50',
 	ecHumidifier: {
@@ -849,6 +850,32 @@ onSelect_vangrid(url,entity_id) {
 	});
 	
   },
+
+tvFanChange(e) {	
+	var that = this;
+	// 获取绑定的参数
+	var entity_id = e.currentTarget.dataset.id;
+	//模式
+	var fan = e.currentTarget.dataset.fan;
+	wx.request({
+	  url: `${homeApi_https}`+'/services/media_player/select_source', 
+	  method: 'POST',
+	  data: {
+	      "entity_id":entity_id,
+		  "source": fan
+	    },
+	   header: {
+		  'content-type': 'application/json', // 默认值
+	      'Authorization': 'Bearer ' + token // 在头部设置认证信息,例如使用Bearer Token
+	    },
+	  success(res) {
+		// if(res.data){
+		// 	that.getSwitch(res.data,that)
+		// }
+	  },
+	});
+	
+  },
   
 onSelect_All(e) {	
 	var that = this;
@@ -2445,6 +2472,7 @@ onSelect_beep1(e) {
 					  var listTextTemp = [];
 					  
 					  var tvEntityIdTemp = '';
+					  var tvEntityIdsTemp = [];
 					  var climateModeTemp = '';
 					  var temperatureHumidifyNameTemp = '温度';
 					  
@@ -2498,6 +2526,8 @@ onSelect_beep1(e) {
 									obj.imgSrc = '/static/images/temp.png';
 								}else if(obj.friendly_name.includes("空调")){
 									obj.imgSrc = '/static/images/alarm.png';
+								}else if(obj.friendly_name.includes("电视")){
+									obj.imgSrc = '/static/images/light.png';
 								}else{
 									obj.imgSrc = '/static/images/temp.png';
 								}
@@ -2663,10 +2693,14 @@ onSelect_beep1(e) {
 									  obj.media_late = resData[i].attributes.media_position + '/' + resData[i].attributes.media_duration;
 									  // obj["speaker.volume"] = resData[i].attributes["speaker.volume"];
 									  // console.log('media-player-mitv-obj=='+obj);
-									  if(obj.entity_id && obj.state && obj.friendly_name && obj.domain && !listMitvMediaPlayerTemp){
+									  obj.device_class = resData[i].attributes.device_class;
+									  obj.app_id = resData[i].attributes.app_id;
+									  obj.app_name = resData[i].attributes.app_name;
+									  if(obj.entity_id && obj.state && obj.friendly_name && obj.domain){
 											listMitvMediaPlayerTemp.push(obj);
 									  }
-									  
+									  obj.friendly_name1 = resData[i].attributes.friendly_name;
+									  tvEntityIdsTemp.push(obj);
 									  tvEntityIdTemp = obj.entity_id;
 									  // console.log('obj===='+obj);
 									  // console.log('tvEntityIdTemp='+tvEntityIdTemp);
@@ -2679,8 +2713,8 @@ onSelect_beep1(e) {
 								  obj.min_humidity = resData[i].attributes.min_humidity;
 								  obj.max_humidity = resData[i].attributes.max_humidity;
 								  obj.humidity = resData[i].attributes.humidity;
-								  obj.min = resData[i].attributes.min;
-								  obj.max = resData[i].attributes.max;
+								  obj.min = resData[i].attributes.min_humidity;
+								  obj.max = resData[i].attributes.max_humidity;
 								  // console.log('humidifier-obj=='+JSON.stringify(obj));
 								  if(obj.entity_id && obj.state && obj.friendly_name && obj.domain){
 									listHumidifierTemp.push(obj);
@@ -2762,14 +2796,19 @@ onSelect_beep1(e) {
 						  listSensor:listSensorTemp,
 						  listText:listTextTemp,
 						  tvEntityId:tvEntityIdTemp,
+						  tvEntityIds:tvEntityIdsTemp,
 						  climateMode:climateModeTemp,
 						  temperatureHumidifyName:temperatureHumidifyNameTemp,
 						  listCover:listCoverTemp,
 					  })
+					  wx.setStorageSync('tvEntityIds',tvEntityIdsTemp);
 					  // console.log('listMiotMediaPlayerTemp='+JSON.stringify(listMiotMediaPlayerTemp));
 						// console.log('listHumidityTemp='+JSON.stringify(listHumidityTemp));
 						// console.log('listClimateTemp='+JSON.stringify(listClimateTemp));
-						console.log('listSwitchTemp='+JSON.stringify(listSwitchTemp));
+						// console.log('listSwitchTemp='+JSON.stringify(listSwitchTemp));
+						console.log('tvEntityIdsTemp='+JSON.stringify(tvEntityIdsTemp));
+						// console.log('listMitvMediaPlayerTemp='+JSON.stringify(listMitvMediaPlayerTemp));
+						console.log('listHumidifierTemp='+JSON.stringify(listHumidifierTemp));
 						},
 						});
 				
@@ -2900,6 +2939,8 @@ onSelect_beep1(e) {
 				  var listTextTemp = [];
 				  
 				  var tvEntityIdTemp = '';
+				  var tvEntityIdsTemp = [];
+				  
 				  var climateModeTemp = '';
 				  var temperatureHumidifyNameTemp = '温度';
 				  
@@ -2954,6 +2995,8 @@ onSelect_beep1(e) {
 								obj.imgSrc = '/static/images/temp.png';
 							}else if(obj.friendly_name.includes("空调")){
 								obj.imgSrc = '/static/images/alarm.png';
+							}else if(obj.friendly_name.includes("电视")){
+									obj.imgSrc = '/static/images/light.png';
 							}else{
 								obj.imgSrc = '/static/images/temp.png';
 							}
@@ -3118,10 +3161,14 @@ onSelect_beep1(e) {
 								  obj.media_late = resData[i].attributes.media_position + '/' + resData[i].attributes.media_duration;
 								  // obj["speaker.volume"] = resData[i].attributes["speaker.volume"];
 								  // console.log('media-player-mitv-obj=='+obj);
-								  if(obj.entity_id && obj.state && obj.friendly_name && obj.domain && !listMitvMediaPlayerTemp){
+								  obj.device_class = resData[i].attributes.device_class;
+								  obj.app_id = resData[i].attributes.app_id;
+								  obj.app_name = resData[i].attributes.app_name;
+								  if(obj.entity_id && obj.state && obj.friendly_name && obj.domain){
 										listMitvMediaPlayerTemp.push(obj);
 								  }
-								  
+								  obj.friendly_name1 = resData[i].attributes.friendly_name;
+								  tvEntityIdsTemp.push(obj);
 								  tvEntityIdTemp = obj.entity_id;
 								  // console.log('obj===='+obj);
 								  // console.log('tvEntityIdTemp='+tvEntityIdTemp);
@@ -3134,8 +3181,8 @@ onSelect_beep1(e) {
 							  obj.min_humidity = resData[i].attributes.min_humidity;
 							  obj.max_humidity = resData[i].attributes.max_humidity;
 							  obj.humidity = resData[i].attributes.humidity;
-							  obj.min = resData[i].attributes.min;
-							  obj.max = resData[i].attributes.max;
+							  obj.min = resData[i].attributes.min_humidity;
+							  obj.max = resData[i].attributes.max_humidity;
 							  // console.log('humidifier-obj=='+JSON.stringify(obj));
 							  if(obj.entity_id && obj.state && obj.friendly_name && obj.domain){
 								listHumidifierTemp.push(obj);
@@ -3217,12 +3264,13 @@ onSelect_beep1(e) {
 					  listSensor:listSensorTemp,
 					  listText:listTextTemp,
 					  tvEntityId:tvEntityIdTemp,
+					  tvEntityIds:tvEntityIdsTemp,
 					  climateMode:climateModeTemp,
 					  temperatureHumidifyName:temperatureHumidifyNameTemp,
 					  listCover:listCoverTemp,
 					  isLoading: false,
 				  })
-				  
+				  wx.setStorageSync('tvEntityIds',tvEntityIdsTemp);
 					},
 					});
 					let mid = Date.now(); // 获取当前时间(毫秒)

+ 32 - 1
pages/index/index.wxml

@@ -122,9 +122,25 @@
 		</view>
 	</view>
 	
+	<view wx:for="{{listMitvMediaPlayer}}" wx:for-index="index" wx:for-item="item" class="sliderItem">
+		<view class="data-card">
+		  <image class="data-card__icon" src="{{item.imgSrc}}"/>
+		  <view class="data-card__text">
+			<view class="data-card__title">
+				<text class="text-content">{{item.friendly_name}}</text>
+			</view>
+			<view class="data-card__value">
+				<view class="tv_button-container">
+				  <button class=" {{(item.app_id=='com.xiaomi.mitv.tvplayer'||item.app_name=='模拟电视')?'tv_disabled-button':'tv_custom-button'}}" bindtap="tvFanChange" data-id="{{item.entity_id}}" data-fan="TV">电视模式</button>  
+				  <button class=" {{(item.app_id=='com.xiaomi.mitv.tvplayer'||item.app_name=='模拟电视')?'tv_custom-button':'tv_disabled-button'}}" bindtap="tvFanChange" data-id="{{item.entity_id}}" data-fan="HDMI2">机顶盒模式</button>  
+				</view>
+			</view>
+		  </view>
+		</view>
+	</view>
+	
   </view>
 
-
   <view class="body-wrapper" style="width: 694rpx; height: 800rpx; display: block; box-sizing: border-box">
     <view class="body" style="width: 694rpx; height: 800rpx; display: block; box-sizing: border-box; left: 0rpx; top: 0rpx">
 
@@ -240,6 +256,21 @@
 	</view>
 </view>
 
+<!-- <view wx:for="{{listMitvMediaPlayer}}" wx:for-index="index" wx:for-item="item" class="sliderItem">
+		 <view class="data-media-player" style="{{item.entity_picture}}  ">
+			 <view class="center-view">
+			   <text class="gray-text">{{item.friendly_name}}</text>  
+			 </view>
+			  
+			  <view class="tv_button-container">  
+			    <button class="tv_custom-button" bindtap="tvFanChange" data-id="{{item.entity_id}}" data-fan="TV" disabled="{{item.device_class!='tv'}}">电视模式</button>  
+			    <button class="tv_custom-button tv_disabled-button" bindtap="tvFanChange" data-id="{{item.entity_id}}" data-fan="HDMI1" disabled="{{item.device_class!='hdmi1'}}">机顶盒模式</button>  
+			  </view>
+			  
+		  </view>
+	</view> -->
+	
+
 	<view wx:for="{{listMiotMediaPlayer}}" wx:for-index="index" wx:for-item="item" class="sliderItem">
 		 <!-- 一行 -->
 		 <view class="data-media-player" style="{{item.entity_picture}}  ">

+ 25 - 0
pages/index/index.wxss

@@ -767,4 +767,29 @@ page {
   /* 定义你的动画 */  
   from { transform: scale(1); }  
   to { transform: scale(0.95); }  
+}
+
+.tv_button-container {
+  display: flex;  
+  justify-content: space-between;  
+}  
+  
+.tv_custom-button {  
+  padding: 10rpx 10rpx;  
+  font-size: 18rpx;  
+  border: none;  
+  border-radius: 5rpx;  
+  background-color: #007aff;
+  color: white;  
+  cursor: pointer;  
+}  
+  
+.tv_disabled-button {  
+  padding: 10rpx 10rpx;
+  font-size: 18rpx;  
+  border: none;  
+  border-radius: 5rpx;  
+  color: #b1b1b1;  
+  background-color: #f8f8f8;  
+  cursor: not-allowed; /* 更改鼠标指针样式 */  
 }

+ 177 - 20
pages/sleepEvaluation/sleepEvaluation.js

@@ -1,11 +1,33 @@
 Page({  
   data: {  
     gender: '',  
-    // ... 其他数据  
-    satisfactionOptions: [  
-      { value: 'verySatisfied', label: '非常满意' },  
-      { value: 'satisfied', label: '满意' },  
-      // ... 其他选项  
+    ageOptions: [
+      { value: '0', label: '20岁以下' },  
+      { value: '1', label: '20-29岁' },
+	  { value: '2', label: '30-39岁' },
+	  { value: '3', label: '40-49岁' },
+	  { value: '4', label: '50岁以上' },
+    ],
+	careerOptions: [
+	  { value: '0', label: '学生' },  
+	  { value: '1', label: '上班族' },
+	  { value: '2', label: '自由职业者' },
+	  { value: '3', label: '企业经营者' },
+	  { value: '4', label: '政府、事业等单位人员' },
+	  { value: '5', label: '其他(请注明)' },
+	], 
+	noSatisfiedOptions: [
+	  { value: '0', label: '设备操作有困难' },  
+	  { value: '1', label: '对睡眠帮助较小' },
+	  { value: '2', label: '其他原因(请详细说明)' },
+	],
+	careerInput:'',
+    stayExperOptions: [  
+      { value: '0', label: '非常好' },  
+      { value: '1', label: '较好' },  
+      { value: '2', label: '一般' }, 
+	  { value: '3', label: '较差' }, 
+	  { value: '4', label: '非常差' }, 
     ],  
     comfortOptions: [  
       { value: 'veryComfortable', label: '非常舒适' },  
@@ -16,13 +38,62 @@ Page({
       { value: 'comfort', label: '舒适度' },  
       { value: 'functionality', label: '功能性' },  
       // ... 其他选项  
-    ],  
-    sleepEnvironmentQuietness: '',  
+    ], 
+	 //哪些方式来帮助改善睡眠
+	improvementSleepOptions: [
+	  { value: '0', label: '调整作息时间' },  
+	  { value: '1', label: '锻炼' },  
+	  { value: '2', label: '使用助眠产品(如香薰、耳塞、眼罩等)' },
+	  { value: '3', label: '冥想或深呼吸' },
+	  { value: '4', label: '寻求医疗帮助' },
+	  { value: '5', label: '不采取措施' },
+	],
+	//哪些方面让您比较满意
+	satisfiedOptions: [
+	  { value: '0', label: '便捷的设备操作' },  
+	  { value: '1', label: '适宜的睡眠环境' },  
+	  { value: '2', label: '人性化的睡眠监测' }, 
+	  { value: '3', label: '体贴的睡眠辅助设施(如助眠视频、音乐等)' }, 
+	  
+	],  
+	wayImprovementSleepOptions: [
+	  { value: '0', label: '监测睡眠质量和提供反馈' },  
+	  { value: '1', label: '自动调整睡眠环境(如温度、光线)' },  
+	  { value: '2', label: '提供个性化的睡眠建议' }, 
+	  { value: '3', label: '远程医疗咨询或诊断' }, 
+	  { value: '4', label: '其他[请在此区域内作答]' }, 
+	],
+	getSleepHealthOptions: [
+	  { value: '0', label: '互联网' },  
+	  { value: '1', label: '社交媒体' },  
+	  { value: '2', label: '书籍或杂志' }, 
+	  { value: '3', label: '医疗专业人士' }, 
+	  { value: '4', label: '朋友或家人' }, 
+	  { value: '5', label: '其他[请在此区域内作答]' },
+	],
+	influenceSleepOptions: [
+	  { value: '0', label: '工作压力' },  
+	  { value: '1', label: '生活压力' },  
+	  { value: '2', label: '环境噪音' }, 
+	  { value: '3', label: '光线过亮' }, 
+	  { value: '4', label: '身体不适(如疼痛、消化不良等)' }, 
+	  { value: '5', label: '心理问题(如焦虑、抑郁等)' },
+	  { value: '6', label: '其他(请注明)' },
+	],
+    stayExperOptions: '',  
     sleepEnvironmentComfort: '',  
     productComfort: '',  
 	improvementAreas: [], // 使用数组来存储多选答案  
-    suggestion: '', // 文本输入的建议  
-    // ... 其他数据  
+	ImprovementSleep: [],//哪些方式来帮助改善睡眠
+	satisfied: [],// 哪些方面让您比较满意
+    suggestion: '', // 文本输入的建议
+	thirdPlatformsInput: '',//填写第三方平台
+	noSatisfied: '',//体验不满意的原因
+	wayImprovementSleep: '',//哪些方式来帮助改善睡眠
+	wayImprovementSleepInput: '',//请填写帮助改善睡眠方式文本
+	getSleepHealth: [],// 从哪里获取关于睡眠健康的信息
+	getSleepHealthInput: '',//您通常从哪里获取关于睡眠健康的信息文本
+	influenceSleepInput: '',//您认为以下哪些因素会影响您的睡眠文本
   },  
   
     // 处理性别选择  
@@ -32,10 +103,10 @@ Page({
       });  
     },  
     
-    // 处理睡眠环境安静程度的选择  
-    bindSleepEnvironmentQuietness: function(e) {  
+    // 处理入住体验的选择  
+    bindStayExperOptions: function(e) {  
       this.setData({  
-        sleepEnvironmentQuietness: e.detail.value  
+        stayExperOptions: e.detail.value  
       });  
     },  
     
@@ -60,23 +131,108 @@ Page({
       });  
     },  
     
+	// 改善睡眠
+	bindImprovementSleep: function(e) {  
+	  this.setData({  
+	    improvementSleep: e.detail.value // 直接将选中项的值数组设置为data中的improvementAreas  
+	  });  
+	}, 
+	
+	// 改善睡眠
+	bindGetSleepHealth: function(e) {  
+	  this.setData({  
+	    getSleepHealth: e.detail.value // 直接将选中项的值数组设置为data中的improvementAreas  
+	  });  
+	}, 
+	
+	//您认为以下哪些因素会影响您的睡眠
+	bindInfluenceSleep: function(e) {
+	  this.setData({  
+	    influenceSleep: e.detail.value // 直接将选中项的值数组设置为data中的improvementAreas  
+	  });  
+	}, 
+	
+	// 体验不满意的原因
+	bindNoSatisfiedChange: function(e) {  
+	  this.setData({  
+	    noSatisfied: e.detail.value  
+	  });  
+	},  
+	
+	// 哪些方面的多选问题
+	bindSatisfied: function(e) {  
+	  this.setData({
+	    satisfied: e.detail.value // 直接将选中项的值数组设置为data中的improvementAreas  
+	  });  
+	},
+	
+	// 哪些方式来帮助改善睡眠
+	bindWayImprovementSleep: function(e) {  
+	  this.setData({  
+	    wayImprovementSleep: e.detail.value  
+	  });  
+	},  
+	
+	
     // 处理文本输入的建议  
-    bindSuggestionInput: function(e) {  
+    bindCareerInputInput: function(e) {  
       this.setData({  
-        suggestion: e.detail.value  
+        careerInput: e.detail.value  
       });  
     },  
-    
+	
+	// 处理文本输入的建议
+	bindGetSleepHealthInput: function(e) {  
+	  this.setData({  
+	    getSleepHealthInput: e.detail.value  
+	  });  
+	},  
+	
+	// 处理文本输入的建议
+	bindInfluenceSleepInput: function(e) {  
+	  this.setData({  
+	    influenceSleepInput: e.detail.value  
+	  });  
+	}, 
+	
+	// 方式来帮助改善睡眠文本输入
+	bindWayImprovementSleepInput: function(e) {  
+	  this.setData({  
+	    wayImprovementSleepInput: e.detail.value  
+	  });  
+	}, 
+	
+	bindThirdPlatformsInputInput: function(e) {
+	  this.setData({  
+	    thirdPlatformsInput: e.detail.value  
+	  });  
+	}, 
+	
+	// 职业填写
+	bindSuggestionInput: function(e) {  
+	  this.setData({  
+	    suggestion: e.detail.value  
+	  }); 
+    },
     // 提交问卷的函数  
     submitSurvey: function() {  
       let surveyData = {  
         gender: this.data.gender,  
-        sleepEnvironmentQuietness: this.data.sleepEnvironmentQuietness,  
+        stayExperOptions: this.data.stayExperOptions,  
         sleepEnvironmentComfort: this.data.sleepEnvironmentComfort,  
         productComfort: this.data.productComfort,  
-        improvementAreas: this.data.improvementAreas,  
+        improvementAreas: this.data.improvementAreas, 
+		satisfied: this.data.satisfied, 
         suggestion: this.data.suggestion,  
-        // ... 其他需要提交的数据  
+		careerInput: this.data.careerInput, 
+		thirdPlatformsInput: this.data.thirdPlatformsInput, 
+		noSatisfied: this.data.noSatisfied,
+		improvementSleep: this.data.improvementSleep,
+		wayImprovementSleep: this.data.wayImprovementSleep,
+		wayImprovementSleepInput: this.data.wayImprovementSleepInput,
+		getSleepHealth: this.data.getSleepHealth,
+		influenceSleepInput: this.data.influenceSleepInput,
+		
       };  
     
       // 将surveyData发送到服务器  
@@ -118,10 +274,11 @@ Page({
 	  // 清空表单:  
       // this.setData({  
       //   gender: '',  
-      //   sleepEnvironmentQuietness: '',  
+      //   stayExperOptions: '',  
 	  //   sleepEnvironmentComfort: '', 
 	  //   productComfort: '', 
-	  //   improvementAreas: '',   
+	  //   improvementAreas: [],   
+	  //   satisfied: [],   
 	  //   suggestion: '',   
       //   // ... 重置其他数据  
       // });  

+ 112 - 8
pages/sleepEvaluation/sleepEvaluation.wxml

@@ -1,24 +1,128 @@
 <view class="container">  
   <!-- 基本信息 -->  
   <view class='title'>服务满意度调查问卷</view>
+  <view class="section">
+    <text>指导语:</text>  
+    <text>您好!非常感谢您在百忙之中填写这份问卷。为了更好地了解您的入住体验,并根据您的建议进行持续完善。我们特此开展此次调查。请您根据自己的实际情况如实回答,所有数据将严格保密,仅用于研究分析。本问卷大约需要5-10分钟时间,请您耐心完成。您的意见对于我们而言至关重要。</text> 
+  </view> 
+  <view class='title_1'>一、基本信息</view>
+  <view class="section">
+    <text>1.您的年龄:</text>  
+    <radio-group bindchange="bindGenderChange">
+      <block wx:for="{{ageOptions}}" wx:key="index">  
+        <label><radio value="{{item.value}}">{{item.label}}</radio></label>  
+      </block>  
+    </radio-group> 
+  </view>
+  <view class="section">
+    <text>2.您的职业:</text>  
+    <radio-group bindchange="bindGenderChange">
+      <block wx:for="{{careerOptions}}" wx:key="index">  
+        <label wx:if="{{index<5}}"><radio value="{{item.value}}">{{item.label}}</radio></label>
+		<label wx:else><radio value="{{item.value}}">{{item.label}}</radio>
+			<input type="text" placeholder="请填写您的职业" bindinput="bindCareerInputInput" />
+		</label>
+      </block>  
+    </radio-group> 
+  </view>
   <view class="section">  
-    <text>性别:</text>  
+    <text>3.您的性别:</text>  
     <radio-group bindchange="bindGenderChange">  
-      <label><radio value="male">男</radio></label>  
-      <label><radio value="female">女</radio></label>  
+      <label><radio value="0">男</radio></label>  
+      <label><radio value="1">女</radio></label> 
+	  <label><radio value="2">不愿透露</radio></label>
     </radio-group>
-  </view>  
-  
+  </view> 
+   
+   <view class="section">
+     <text>3.您是通过什么渠道预定到的本酒店睡眠房?</text>  
+     <radio-group bindchange="bindGenderChange">  
+       <label><radio value="0">酒店散客</radio></label>  
+       <label><radio value="1">第三方平台(如携程、去哪儿网、飞猪、同程等)</radio>
+		<input type="text" placeholder="请填写第三方平台" bindinput="bindThirdPlatformsInputInput" />
+	   </label> 
+   	  <label><radio value="2">朋友推荐</radio></label>
+     </radio-group>
+   </view>
+  <view class='title_1'>二、用户体验</view>
   <!-- 睡眠环境评价 -->  
   <view class="section">  
-    <text>您对睡眠环境的安静程度满意吗?</text>  
-    <radio-group bindchange="bindSleepEnvironmentQuietness">  
-      <block wx:for="{{satisfactionOptions}}" wx:key="index">  
+    <text>5、睡眠房的入住体验怎么样?</text>  
+    <radio-group bindchange="bindStayExperOptions">  
+      <block wx:for="{{stayExperOptions}}" wx:key="index">  
         <label><radio value="{{item.value}}">{{item.label}}</radio></label>  
       </block>  
     </radio-group>  
   </view>  
   
+  <view class="section">  
+    <text>6、入住之后,您觉得哪些方面让您比较满意?(多选)</text>  
+    <checkbox-group bindchange="bindSatisfied">  
+      <block wx:for="{{satisfiedOptions}}" wx:key="index">  
+        <label><checkbox value="{{item.value}}">{{item.label}}</checkbox></label>  
+      </block>  
+    </checkbox-group>  
+  </view> 
+  
+  <view class="section">
+    <text>7、让您对本次睡眠房入住体验不满意的原因是?</text>  
+    <radio-group bindchange="bindNoSatisfiedChange">
+      <block wx:for="{{noSatisfiedOptions}}" wx:key="index">  
+        <label wx:if="{{index<2}}"><radio value="{{item.value}}">{{item.label}}</radio></label>
+  		<label wx:else><radio value="{{item.value}}">{{item.label}}</radio>
+  			<input type="text" placeholder="请填写体验不满意的原因" bindinput="bindNoSatisfiedInput" />
+  		</label>
+      </block>  
+    </radio-group> 
+  </view>
+  
+  <!-- 多选问题示例 -->
+  <view class="section">  
+    <text>8、您通常采取什么措施来改善睡眠?(多选)</text>  
+    <checkbox-group bindchange="bindImprovementSleep">  
+      <block wx:for="{{improvementSleepOptions}}" wx:key="index">  
+        <label><checkbox value="{{item.value}}">{{item.label}}</checkbox></label>  
+      </block>  
+    </checkbox-group>  
+  </view>  
+  
+  <view class="section">
+    <text>9、您倾向于下面哪些方式来帮助改善睡眠?</text>  
+    <radio-group bindchange="bindWayImprovementSleep">
+      <block wx:for="{{wayImprovementSleepOptions}}" wx:key="index">  
+        <label wx:if="{{index<4}}"><radio value="{{item.value}}">{{item.label}}</radio></label>
+  		<label wx:else><radio value="{{item.value}}">{{item.label}}</radio>
+  			<input type="text" placeholder="请填写帮助改善睡眠方式" bindinput="bindWayImprovementSleepInput" />
+  		</label>
+      </block>  
+    </radio-group> 
+  </view>
+  
+  
+  <view class="section">
+    <text>10、您通常从哪里获取关于睡眠健康的信息?(多选)</text>  
+    <checkbox-group bindchange="bindGetSleepHealth">  
+      <block wx:for="{{getSleepHealthOptions}}" wx:key="index">  
+        <label wx:if="{{index<5}}"><checkbox value="{{item.value}}">{{item.label}}</checkbox></label> 
+		 <label wx:else><radio value="{{item.value}}">{{item.label}}</radio>
+		 	<input type="text" placeholder="请填写从哪里获取关于睡眠健康的信息" bindinput="bindGetSleepHealthInput" />
+		 </label>
+      </block>  
+    </checkbox-group>  
+  </view>  
+  <view class='title_1'>三、影响睡眠的因素</view>
+  <view class="section">
+    <text>11、您认为以下哪些因素会影响您的睡眠?(多选)</text>  
+    <checkbox-group bindchange="bindInfluenceSleep">  
+      <block wx:for="{{influenceSleep}}" wx:key="index">  
+        <label wx:if="{{index<6}}"><checkbox value="{{item.value}}">{{item.label}}</checkbox></label> 
+  		 <label wx:else><radio value="{{item.value}}">{{item.label}}</radio>
+  		 	<input type="text" placeholder="请填写影响您的睡眠因素" bindinput="bindInfluenceSleepInput" />
+  		 </label>
+      </block>  
+    </checkbox-group>  
+  </view>  
+  
   <view class="section">  
     <text>您对睡眠环境的温度、湿度感觉如何?</text>  
     <radio-group bindchange="bindSleepEnvironmentComfort">  

+ 10 - 2
pages/sleepEvaluation/sleepEvaluation.wxss

@@ -13,13 +13,21 @@
 }
 
 .title {
-  position: fixed; 
   text-align: center;
   font-size: 38rpx;
   color: #000000;
   font-weight: bold;
   margin: auto;
-  top: 10rpx;
+  margin-top: 10rpx;
+}
+
+.title_1 {
+  text-align: left;
+  font-size: 30rpx;
+  color: #000000;
+  font-weight: bold;
+  margin: auto;
+  margin-top: 10rpx;
 }
 
 /* 标题样式 */