sleepEvaluation.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428
  1. Page({
  2. data: {
  3. gender: '',
  4. ageOptions: [
  5. { value: '0', label: '20岁以下' },
  6. { value: '1', label: '20-29岁' },
  7. { value: '2', label: '30-39岁' },
  8. { value: '3', label: '40-49岁' },
  9. { value: '4', label: '50岁以上' },
  10. ],
  11. careerOptions: [
  12. { value: '0', label: '学生' },
  13. { value: '1', label: '上班族' },
  14. { value: '2', label: '自由职业者' },
  15. { value: '3', label: '企业经营者' },
  16. { value: '4', label: '政府、事业等单位人员' },
  17. { value: '5', label: '其他(请注明)' },
  18. ],
  19. noSatisfiedOptions: [
  20. { value: '0', label: '设备操作有困难' },
  21. { value: '1', label: '对睡眠帮助较小' },
  22. { value: '2', label: '其他原因(请详细说明)' },
  23. ],
  24. career:'',
  25. careerInput:'',
  26. stayExperOptions: [
  27. { value: '0', label: '非常好' },
  28. { value: '1', label: '较好' },
  29. { value: '2', label: '一般' },
  30. { value: '3', label: '较差' },
  31. { value: '4', label: '非常差' },
  32. ],
  33. stayExper:'',
  34. comfortOptions: [
  35. { value: '0', label: '非常舒适' },
  36. { value: '1', label: '舒适' },
  37. // ... 其他选项
  38. ],
  39. improvementOptions: [
  40. { value: '0', label: '舒适度' },
  41. { value: '1', label: '功能性' },
  42. // ... 其他选项
  43. ],
  44. //哪些方式来帮助改善睡眠
  45. improvementSleepOptions: [
  46. { value: '0', label: '调整作息时间' },
  47. { value: '1', label: '锻炼' },
  48. { value: '2', label: '使用助眠产品(如香薰、耳塞、眼罩等)' },
  49. { value: '3', label: '冥想或深呼吸' },
  50. { value: '4', label: '寻求医疗帮助' },
  51. { value: '5', label: '不采取措施' },
  52. ],
  53. //哪些方面让您比较满意
  54. satisfiedOptions: [
  55. { value: '0', label: '便捷的设备操作' },
  56. { value: '1', label: '适宜的睡眠环境' },
  57. { value: '2', label: '人性化的睡眠监测' },
  58. { value: '3', label: '体贴的睡眠辅助设施(如助眠视频、音乐等)' },
  59. ],
  60. wayImprovementSleepOptions: [
  61. { value: '0', label: '监测睡眠质量和提供反馈' },
  62. { value: '1', label: '自动调整睡眠环境(如温度、光线)' },
  63. { value: '2', label: '提供个性化的睡眠建议' },
  64. { value: '3', label: '远程医疗咨询或诊断' },
  65. { value: '4', label: '其他[请在此区域内作答]' },
  66. ],
  67. getSleepHealthOptions: [
  68. { value: '0', label: '互联网' },
  69. { value: '1', label: '社交媒体' },
  70. { value: '2', label: '书籍或杂志' },
  71. { value: '3', label: '医疗专业人士' },
  72. { value: '4', label: '朋友或家人' },
  73. { value: '5', label: '其他[请在此区域内作答]' },
  74. ],
  75. influenceSleepOptions: [
  76. { value: '0', label: '工作压力' },
  77. { value: '1', label: '生活压力' },
  78. { value: '2', label: '环境噪音' },
  79. { value: '3', label: '光线过亮' },
  80. { value: '4', label: '身体不适(如疼痛、消化不良等)' },
  81. { value: '5', label: '心理问题(如焦虑、抑郁等)' },
  82. { value: '6', label: '其他(请注明)' },
  83. ],
  84. improvSleepMethodsOptions: [
  85. { value: '0', label: '听轻音乐' },
  86. { value: '1', label: '喝热牛奶' },
  87. { value: '2', label: '进行放松训练(如深呼吸、冥想等)' },
  88. { value: '3', label: '使用助眠药物' },
  89. { value: '4', label: '其他(请注明)' },
  90. ],
  91. sleepEnvironmentComfort: '',
  92. productComfort: '',
  93. improvementAreas: [], // 使用数组来存储多选答案
  94. ImprovementSleep: [],//哪些方式来帮助改善睡眠
  95. satisfied: [],// 哪些方面让您比较满意
  96. suggestion: '', // 文本输入的建议
  97. thirdPlatformsInput: '',//填写第三方平台
  98. noSatisfied: '',//体验不满意的原因
  99. wayImprovementSleep: '',//哪些方式来帮助改善睡眠
  100. wayImprovementSleepInput: '',//请填写帮助改善睡眠方式文本
  101. getSleepHealth: [],// 从哪里获取关于睡眠健康的信息
  102. getSleepHealthInput: '',//您通常从哪里获取关于睡眠健康的信息文本
  103. influenceSleep: [],//您认为以下哪些因素会影响您的睡眠
  104. influenceSleepInput: '',//您认为以下哪些因素会影响您的睡眠文本
  105. improvSleepMethods: [],//您认为以下哪些因素会影响您的睡眠
  106. improvSleepMethodsInput: '',//您认为以下哪些因素会影响您的睡眠文本
  107. age: '',//您的年龄
  108. noSatisfiedInput: '',//让您对本次睡眠房入住体验不满意的原因是文本
  109. channel: '',//您是通过什么渠道预定到的本酒店睡眠房?
  110. hotel: '',//酒店
  111. room: '',//房间
  112. },
  113. // 处理性别选择
  114. bindGenderChange: function(e) {
  115. this.setData({
  116. gender: e.detail.value
  117. });
  118. },
  119. // 处理入住体验的选择
  120. bindStayExperOptions: function(e) {
  121. this.setData({
  122. stayExper: e.detail.value
  123. });
  124. },
  125. // 处理睡眠环境舒适度(温度、湿度)的选择
  126. bindSleepEnvironmentComfort: function(e) {
  127. this.setData({
  128. sleepEnvironmentComfort: e.detail.value
  129. });
  130. },
  131. // 处理睡眠产品舒适度的选择
  132. bindProductComfort: function(e) {
  133. this.setData({
  134. productComfort: e.detail.value
  135. });
  136. },
  137. // 处理改进空间的多选问题
  138. bindImprovementAreas: function(e) {
  139. this.setData({
  140. improvementAreas: e.detail.value
  141. });
  142. },
  143. bindChannelChange: function(e) {
  144. this.setData({
  145. channel: e.detail.value
  146. });
  147. },
  148. // 改善睡眠
  149. bindImprovementSleep: function(e) {
  150. this.setData({
  151. improvementSleep: e.detail.value
  152. });
  153. },
  154. // 改善睡眠
  155. bindGetSleepHealth: function(e) {
  156. this.setData({
  157. getSleepHealth: e.detail.value
  158. });
  159. },
  160. //您认为以下哪些因素会影响您的睡眠
  161. bindInfluenceSleep: function(e) {
  162. this.setData({
  163. influenceSleep: e.detail.value
  164. });
  165. },
  166. //您通常使用什么方法来改善睡眠质量
  167. bindImprovSleepMethods: function(e) {
  168. this.setData({
  169. improvSleepMethods: e.detail.value
  170. });
  171. },
  172. // 体验不满意的原因
  173. bindNoSatisfiedChange: function(e) {
  174. this.setData({
  175. noSatisfied: e.detail.value
  176. });
  177. },
  178. bindCareerChange: function(e) {
  179. this.setData({
  180. career: e.detail.value
  181. });
  182. },
  183. bindAgeChange: function(e) {
  184. this.setData({
  185. age: e.detail.value
  186. });
  187. },
  188. // 哪些方面的多选问题
  189. bindSatisfied: function(e) {
  190. this.setData({
  191. satisfied: e.detail.value
  192. });
  193. },
  194. // 哪些方式来帮助改善睡眠
  195. bindWayImprovementSleep: function(e) {
  196. this.setData({
  197. wayImprovementSleep: e.detail.value
  198. });
  199. },
  200. bindNoSatisfiedInput: function(e) {
  201. this.setData({
  202. noSatisfiedInput: e.detail.value
  203. });
  204. },
  205. bindCareerInputInput: function(e) {
  206. this.setData({
  207. careerInput: e.detail.value
  208. });
  209. },
  210. bindGetSleepHealthInput: function(e) {
  211. this.setData({
  212. getSleepHealthInput: e.detail.value
  213. });
  214. },
  215. bindInfluenceSleepInput: function(e) {
  216. this.setData({
  217. influenceSleepInput: e.detail.value
  218. });
  219. },
  220. bindImprovSleepMethodsInput: function(e) {
  221. this.setData({
  222. improvSleepMethodsInput: e.detail.value
  223. });
  224. },
  225. // 方式来帮助改善睡眠文本输入
  226. bindWayImprovementSleepInput: function(e) {
  227. this.setData({
  228. wayImprovementSleepInput: e.detail.value
  229. });
  230. },
  231. bindThirdPlatformsInputInput: function(e) {
  232. this.setData({
  233. thirdPlatformsInput: e.detail.value
  234. });
  235. },
  236. // 职业填写
  237. bindSuggestionInput: function(e) {
  238. this.setData({
  239. suggestion: e.detail.value
  240. });
  241. },
  242. // 提交问卷的函数
  243. submitSurvey: function() {
  244. let surveyData = {
  245. hotel: this.data.hotel,
  246. room: this.data.room,
  247. gender: this.data.gender,
  248. stayExper: this.data.stayExper,
  249. sleepEnvironmentComfort: this.data.sleepEnvironmentComfort,
  250. productComfort: this.data.productComfort,
  251. improvementAreas: this.data.improvementAreas,
  252. satisfied: this.data.satisfied,
  253. suggestion: this.data.suggestion,
  254. career: this.data.career,
  255. careerInput: this.data.careerInput,
  256. thirdPlatformsInput: this.data.thirdPlatformsInput,
  257. noSatisfied: this.data.noSatisfied,
  258. noSatisfiedInput: this.data.noSatisfiedInput,
  259. improvementSleep: this.data.improvementSleep,
  260. wayImprovementSleep: this.data.wayImprovementSleep,
  261. wayImprovementSleepInput: this.data.wayImprovementSleepInput,
  262. getSleepHealth: this.data.getSleepHealth,
  263. bindGetSleepHealthInput: this.data.bindGetSleepHealthInput,
  264. influenceSleep: this.data.influenceSleep,
  265. influenceSleepInput: this.data.influenceSleepInput,
  266. improvSleepMethods: this.data.improvSleepMethods,
  267. improvSleepMethodsInput: this.data.improvSleepMethodsInput,
  268. age: this.data.age,
  269. channel: this.data.channel,
  270. };
  271. // 将surveyData发送到服务器
  272. console.log('提交的问卷数据:', surveyData);
  273. //后边会提交到数据库
  274. // wx.request({
  275. // url: `${aipushApi}/getdatefromsn`, //
  276. // method: 'POST',
  277. // header: {
  278. // 'content-type': 'application/json', // 默认值
  279. // 'Authorization': 'Bearer ' + token // 在头部设置认证信息,例如使用Bearer Token
  280. // },
  281. // data:{
  282. //     "surveyData":surveyData,"token":"token_push"
  283. // },
  284. // success(res) {
  285. // wx.showToast({
  286. // title: '问卷提交成功',
  287. // icon: 'success',
  288. // duration: 2000
  289. // });
  290. // },
  291. // fail: function (error) {
  292. // console.error('error', error);
  293. // } ,
  294. // complete: function (e) {
  295. // }
  296. // });
  297. wx.showToast({
  298. title: '问卷提交成功',
  299. icon: 'success',
  300. duration: 2000
  301. });
  302. // 清空表单:
  303. // this.setData({
  304. // gender: '',
  305. // careerInput:'',
  306. // stayExper:'',
  307. // sleepEnvironmentComfort: '',
  308. // productComfort: '',
  309. // improvementAreas: [], // 使用数组来存储多选答案
  310. // ImprovementSleep: [],//哪些方式来帮助改善睡眠
  311. // satisfied: [],// 哪些方面让您比较满意
  312. // suggestion: '', // 文本输入的建议
  313. // thirdPlatformsInput: '',//填写第三方平台
  314. // noSatisfied: '',//体验不满意的原因
  315. // wayImprovementSleep: '',//哪些方式来帮助改善睡眠
  316. // wayImprovementSleepInput: '',//请填写帮助改善睡眠方式文本
  317. // getSleepHealth: [],// 从哪里获取关于睡眠健康的信息
  318. // getSleepHealthInput: '',//您通常从哪里获取关于睡眠健康的信息文本
  319. // influenceSleep: [],//您认为以下哪些因素会影响您的睡眠
  320. // influenceSleepInput: '',//您认为以下哪些因素会影响您的睡眠文本
  321. // improvSleepMethods: [],//您认为以下哪些因素会影响您的睡眠
  322. // improvSleepMethodsInput: '',//您认为以下哪些因素会影响您的睡眠文本
  323. // age: '',//您的年龄
  324. // noSatisfiedInput: '',//让您对本次睡眠房入住体验不满意的原因文本
  325. // channel: '',
  326. // });
  327. },
  328. onLoad(option){
  329. var that = this;
  330. console.log("sleepEvaluation页面");
  331. // wx.clearStorage();
  332. console.log('option.res='+JSON.stringify(wx.getStorageSync('res')));
  333. if(!wx.getStorageSync('res') || !wx.getStorageSync('res').result){
  334. wx.showModal({
  335. title: '提示',
  336. content: '请先扫描房间二维码',
  337. showCancel: false
  338. });
  339. setTimeout(function() {
  340. wx.reLaunch({
  341. url: '/pages/scan/scan',
  342. })
  343. }, 2000) // 设置延时时间,单位为毫秒
  344. }else if(wx.getStorageSync('res').result.split('|').length != 2){
  345. wx.showModal({
  346. title: '提示',
  347. content: '房间二维码不正确,请重新扫码',
  348. showCancel: false
  349. });
  350. setTimeout(function() {
  351. wx.reLaunch({
  352. url: '/pages/scan/scan',
  353. })
  354. }, 2000) // 设置延时时间,单位为毫秒
  355. }else{
  356. // const expiresAt = wx.getStorageSync('scanResultExpiresAt');
  357. // const now = Date.now()
  358. // if (expiresAt || expiresAt < now) {
  359. // // 扫码结果已过期
  360. // wx.showToast({
  361. // title: '扫码结果失效或已过期,请重新扫码',
  362. // icon: 'none'
  363. // });
  364. // // 清除过期的扫码结果
  365. // wx.removeStorageSync('scanResultExpiresAt');
  366. // setTimeout(function() {
  367. // wx.reLaunch({
  368. // url: '/pages/scan/scan',
  369. // })
  370. // }, 2000) // 设置延时时间,单位为毫秒
  371. // }else{
  372. // //续期
  373. // wx.setStorageSync('scanResultExpiresAt', Date.now() + 2 * 60 * 60 * 1000)
  374. // }
  375. let hotelTemp = '';
  376. let roomTemp = '';
  377. hotelTemp = wx.getStorageSync('res').result.split('|')[0];
  378. roomTemp = wx.getStorageSync('res').result.split('|')[1];
  379. this.setData({
  380. hotel: hotelTemp,
  381. room: roomTemp,
  382. });
  383. }
  384. },
  385. /**
  386. * 生命周期函数--监听页面隐藏
  387. */
  388. onHide: function() {
  389. },
  390. /**
  391. * 生命周期函数--监听页面卸载
  392. */
  393. onUnload: function() {
  394. },
  395. });