sleepEvaluation.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707
  1. const baseUrl = "https://fare.somnisix.top/";
  2. const authorization = "eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6Ijk5YzI3MjI2LTdkOWQtNDhiOC1hYjlhLWM4YjVjYWZiZGNkNyIsInVzZXJuYW1lIjoiYWRtaW4ifQ.zITQOINFkHs19_1RAgHS4I9YMaVxVq0Dsn3t6r_K7rv3rXvJy0sMtodejIMi_PNa_m4uQYxnU-6k3wC2LZht_Q";
  3. const api = "system/sleepEvaluation";
  4. const homeApi = "https://fare.somnisix.top";
  5. const homeApiTest = "http://localhost:8080";
  6. const token = "eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6Ijk5YzI3MjI2LTdkOWQtNDhiOC1hYjlhLWM4YjVjYWZiZGNkNyIsInVzZXJuYW1lIjoiYWRtaW4ifQ.zITQOINFkHs19_1RAgHS4I9YMaVxVq0Dsn3t6r_K7rv3rXvJy0sMtodejIMi_PNa_m4uQYxnU-6k3wC2LZht_Q";
  7. Page({
  8. data: {
  9. activeIcon: "/subpages/icons/ic_selected_radio.svg",
  10. normalIcon: "/subpages/icons/ic_radio.svg",
  11. activeColor: "color:#0BC3AA;",
  12. normalColor: "color:#666666;",
  13. ageOptions: [
  14. { value: '0', label: '20岁以下' },
  15. { value: '1', label: '20-29岁' },
  16. { value: '2', label: '30-39岁' },
  17. { value: '3', label: '40-49岁' },
  18. { value: '4', label: '50岁以上' },
  19. ],
  20. careerOptions: [
  21. { value: '0', label: '学生' },
  22. { value: '1', label: '上班族' },
  23. { value: '2', label: '自由职业者' },
  24. { value: '3', label: '企业经营者' },
  25. { value: '4', label: '政府、事业等单位人员' },
  26. { value: '5', label: '其他(请注明)' },
  27. ],
  28. noSatisfiedOptions: [
  29. { value: '0', label: '设备操作有困难' },
  30. { value: '1', label: '对睡眠帮助较小' },
  31. { value: '2', label: '都满意' },
  32. { value: '3', label: '其他原因(请详细说明)' },
  33. ],
  34. career: '',
  35. careerInput: '',
  36. stayExperOptions: [
  37. { value: '0', label: '非常好' },
  38. { value: '1', label: '较好' },
  39. { value: '2', label: '一般' },
  40. { value: '3', label: '较差' },
  41. { value: '4', label: '非常差' },
  42. ],
  43. stayExper: '',
  44. comfortOptions: [
  45. { value: '0', label: '非常舒适' },
  46. { value: '1', label: '舒适' },
  47. // ... 其他选项
  48. ],
  49. improvementOptions: [
  50. { value: '0', label: '舒适度' },
  51. { value: '1', label: '功能性' },
  52. // ... 其他选项
  53. ],
  54. //哪些方式来帮助改善睡眠
  55. improvementSleepOptions: [
  56. { value: '0', label: '调整作息时间' },
  57. { value: '1', label: '锻炼' },
  58. { value: '2', label: '使用助眠产品(如香薰、耳塞、眼罩等)' },
  59. { value: '3', label: '冥想或深呼吸' },
  60. { value: '4', label: '寻求医疗帮助' },
  61. { value: '5', label: '不采取措施' },
  62. ],
  63. //哪些方面让您比较满意
  64. satisfiedOptions: [
  65. { value: '0', label: '便捷的设备操作' },
  66. { value: '1', label: '适宜的睡眠环境' },
  67. { value: '2', label: '人性化的睡眠监测' },
  68. { value: '3', label: '体贴的睡眠辅助设施(如助眠视频、音乐等)' },
  69. ],
  70. wayImprovementSleepOptions: [
  71. { value: '0', label: '监测睡眠质量和提供反馈' },
  72. { value: '1', label: '自动调整睡眠环境(如温度、光线)' },
  73. { value: '2', label: '提供个性化的睡眠建议' },
  74. { value: '3', label: '远程医疗咨询或诊断' },
  75. { value: '4', label: '其他[请在此区域内作答]' },
  76. ],
  77. getSleepHealthOptions: [
  78. { value: '0', label: '互联网' },
  79. { value: '1', label: '社交媒体' },
  80. { value: '2', label: '书籍或杂志' },
  81. { value: '3', label: '医疗专业人士' },
  82. { value: '4', label: '朋友或家人' },
  83. { value: '5', label: '其他[请在此区域内作答]' },
  84. ],
  85. influenceSleepOptions: [
  86. { value: '0', label: '工作压力' },
  87. { value: '1', label: '生活压力' },
  88. { value: '2', label: '环境噪音' },
  89. { value: '3', label: '光线过亮' },
  90. { value: '4', label: '身体不适(如疼痛、消化不良等)' },
  91. { value: '5', label: '心理问题(如焦虑、抑郁等)' },
  92. { value: '6', label: '其他(请注明)' },
  93. ],
  94. improvSleepMethodsOptions: [
  95. { value: '0', label: '听轻音乐' },
  96. { value: '1', label: '喝热牛奶' },
  97. { value: '2', label: '进行放松训练(如深呼吸、冥想等)' },
  98. { value: '3', label: '使用助眠药物' },
  99. { value: '4', label: '其他(请注明)' },
  100. ],
  101. gender: '',
  102. sleepEnvironmentComfort: '',
  103. productComfort: '',
  104. improvementAreas: [], // 使用数组来存储多选答案
  105. ImprovementSleep: [],//哪些方式来帮助改善睡眠
  106. improvementSleep: [],
  107. satisfied: [],// 哪些方面让您比较满意
  108. suggestion: '', // 文本输入的建议
  109. thirdPlatformsInput: '',//填写第三方平台
  110. noSatisfied: [],//体验不满意的原因
  111. wayImprovementSleep: [],//哪些方式来帮助改善睡眠
  112. wayImprovementSleepInput: '',//请填写帮助改善睡眠方式文本
  113. getSleepHealth: [],// 从哪里获取关于睡眠健康的信息
  114. getSleepHealthInput: '',//您通常从哪里获取关于睡眠健康的信息文本
  115. influenceSleep: [],//您认为以下哪些因素会影响您的睡眠
  116. influenceSleepInput: '',//您认为以下哪些因素会影响您的睡眠文本
  117. improvSleepMethods: [],//您认为以下哪些因素会影响您的睡眠
  118. improvSleepMethodsInput: '',//您认为以下哪些因素会影响您的睡眠文本
  119. age: '',//您的年龄
  120. noSatisfiedInput: '',//让您对本次睡眠房入住体验不满意的原因是文本
  121. channel: '',//您是通过什么渠道预定到的本酒店睡眠房?
  122. hotel: '',//酒店
  123. room: '',//房间
  124. mInputId: '',//自动滚动用的
  125. intervalId1: null,
  126. intervalId2: null,//授权解除定时任务
  127. },
  128. // 处理性别选择
  129. bindGenderChange: function (e) {
  130. this.setData({
  131. gender: e.detail
  132. });
  133. },
  134. // 处理入住体验的选择
  135. bindStayExperOptions: function (e) {
  136. this.setData({
  137. stayExper: e.detail
  138. });
  139. },
  140. // 处理睡眠环境舒适度(温度、湿度)的选择
  141. bindSleepEnvironmentComfort: function (e) {
  142. this.setData({
  143. sleepEnvironmentComfort: e.detail.value
  144. });
  145. },
  146. // 处理睡眠产品舒适度的选择
  147. bindProductComfort: function (e) {
  148. this.setData({
  149. productComfort: e.detail.value
  150. });
  151. },
  152. // 处理改进空间的多选问题
  153. bindImprovementAreas: function (e) {
  154. this.setData({
  155. improvementAreas: e.detail.value
  156. });
  157. },
  158. bindChannelChange: function (e) {
  159. this.setData({
  160. channel: e.detail
  161. });
  162. },
  163. // 改善睡眠
  164. bindImprovementSleep: function (e) {
  165. this.setData({
  166. improvementSleep: e.detail
  167. });
  168. },
  169. // 改善睡眠
  170. bindGetSleepHealth: function (e) {
  171. this.setData({
  172. getSleepHealth: e.detail
  173. });
  174. },
  175. //您认为以下哪些因素会影响您的睡眠
  176. bindInfluenceSleep: function (e) {
  177. this.setData({
  178. influenceSleep: e.detail
  179. });
  180. },
  181. //您通常使用什么方法来改善睡眠质量
  182. bindImprovSleepMethods: function (e) {
  183. this.setData({
  184. improvSleepMethods: e.detail
  185. });
  186. },
  187. // 体验不满意的原因
  188. bindNoSatisfiedChange: function (e) {
  189. this.setData({
  190. noSatisfied: e.detail
  191. });
  192. },
  193. bindCareerChange: function (e) {
  194. this.setData({
  195. career: e.detail
  196. });
  197. },
  198. bindAgeChange: function (e) {
  199. this.setData({
  200. age: e.detail
  201. });
  202. },
  203. // 哪些方面的多选问题
  204. bindSatisfied: function (e) {
  205. console.log(e)
  206. this.setData({
  207. satisfied: e.detail
  208. });
  209. },
  210. // 哪些方式来帮助改善睡眠
  211. bindWayImprovementSleep: function (e) {
  212. this.setData({
  213. wayImprovementSleep: e.detail
  214. });
  215. },
  216. bindNoSatisfiedInput: function (e) {
  217. this.setData({
  218. noSatisfiedInput: e.detail.value
  219. });
  220. },
  221. bindCareerInputInput: function (e) {
  222. this.setData({
  223. careerInput: e.detail.value
  224. });
  225. },
  226. bindGetSleepHealthInput: function (e) {
  227. this.setData({
  228. getSleepHealthInput: e.detail.value
  229. });
  230. },
  231. bindInfluenceSleepInput: function (e) {
  232. this.setData({
  233. influenceSleepInput: e.detail.value
  234. });
  235. },
  236. bindImprovSleepMethodsInput: function (e) {
  237. this.setData({
  238. improvSleepMethodsInput: e.detail.value
  239. });
  240. },
  241. // 方式来帮助改善睡眠文本输入
  242. bindWayImprovementSleepInput: function (e) {
  243. this.setData({
  244. wayImprovementSleepInput: e.detail.value
  245. });
  246. },
  247. bindThirdPlatformsInputInput: function (e) {
  248. this.setData({
  249. thirdPlatformsInput: e.detail.value
  250. });
  251. },
  252. // 职业填写
  253. bindSuggestionInput: function (e) {
  254. this.setData({
  255. suggestion: e.detail.value
  256. });
  257. },
  258. checkBoxInputValue(e) {
  259. var valueList = e.currentTarget.dataset.list || [];
  260. var value = e.currentTarget.dataset.name;
  261. var type = e.currentTarget.dataset.type;
  262. const that = this;
  263. setTimeout(() => {
  264. if (type == "wayImprovementSleep") {
  265. var tempList = that.data.wayImprovementSleep
  266. if (!tempList || (Array.isArray(tempList) && (!tempList.length || !tempList.includes(value)))) {
  267. valueList[valueList.length] = value
  268. that.setData({
  269. wayImprovementSleep: valueList
  270. })
  271. }
  272. } else if (type == "getSleepHealth") {
  273. var tempList = that.data.getSleepHealth
  274. if (!tempList || (Array.isArray(tempList) && (!tempList.length || !tempList.includes(value)))) {
  275. valueList[valueList.length] = value
  276. that.setData({
  277. getSleepHealth: valueList
  278. })
  279. }
  280. } else if (type == "influenceSleep") {
  281. var tempList = that.data.influenceSleep
  282. if (!tempList || (Array.isArray(tempList) && (!tempList.length || !tempList.includes(value)))) {
  283. valueList[valueList.length] = value
  284. that.setData({
  285. influenceSleep: valueList
  286. })
  287. }
  288. } else if (type == "improvSleepMethods") {
  289. var tempList = that.data.improvSleepMethods
  290. if (!tempList || (Array.isArray(tempList) && (!tempList.length || !tempList.includes(value)))) {
  291. valueList[valueList.length] = value
  292. that.setData({
  293. improvSleepMethods: valueList
  294. })
  295. }
  296. }
  297. }, 150);
  298. // careerInput: this.data.careerInput,
  299. // thirdPlatformsInput: this.data.thirdPlatformsInput,
  300. // noSatisfied: this.data.noSatisfied,
  301. // noSatisfiedInput: this.data.noSatisfiedInput,
  302. // wayImprovementSleep: this.data.wayImprovementSleep,
  303. // wayImprovementSleepInput: this.data.wayImprovementSleepInput,
  304. // getSleepHealth: this.data.getSleepHealth,
  305. // getSleepHealthInput: this.data.getSleepHealthInput,
  306. // influenceSleep: this.data.influenceSleep,
  307. // influenceSleepInput: this.data.influenceSleepInput,
  308. // improvSleepMethods: this.data.improvSleepMethods,
  309. // improvSleepMethodsInput: this.data.improvSleepMethodsInput,
  310. },
  311. // 提交问卷的函数
  312. submitSurvey: function () {
  313. var that = this;
  314. const { nickName } = wx.getStorageSync('userInfo');
  315. const unionid = wx.getStorageSync('unionid');
  316. console.log('nickName==' + nickName);
  317. console.log('unionid==' + unionid);
  318. let surveyData = {
  319. hotel: this.data.hotel,
  320. room: this.data.room,
  321. gender: this.data.gender,
  322. stayExper: this.data.stayExper,
  323. userId: nickName,
  324. id2: unionid,
  325. //sleepEnvironmentComfort: this.data.sleepEnvironmentComfort,
  326. //productComfort: this.data.productComfort,
  327. //improvementAreas: this.data.improvementAreas,
  328. satisfied: (!this.data.satisfied || this.data.satisfied.length === 0) ? '' : (Array.isArray(this.data.satisfied) ? this.data.satisfied.map(item => String(item)).join(',') : this.data.satisfied),
  329. suggestion: this.data.suggestion,
  330. career: this.data.career,
  331. careerInput: this.data.careerInput,//1
  332. thirdPlatformsInput: this.data.thirdPlatformsInput,//2
  333. noSatisfied: (!this.data.noSatisfied || this.data.noSatisfied.length === 0) ? '' : (Array.isArray(this.data.noSatisfied) ? this.data.noSatisfied.map(item => String(item)).join(',') : this.data.noSatisfied),
  334. noSatisfiedInput: this.data.noSatisfiedInput,//3
  335. improvementSleep: (!this.data.improvementSleep || this.data.improvementSleep.length === 0) ? '' : (Array.isArray(this.data.improvementSleep) ? this.data.improvementSleep.map(item => String(item)).join(',') : this.data.improvementSleep),
  336. wayImprovementSleep: (!this.data.wayImprovementSleep || this.data.wayImprovementSleep.length === 0) ? '' : (Array.isArray(this.data.wayImprovementSleep) ? this.data.wayImprovementSleep.map(item => String(item)).join(',') : this.data.wayImprovementSleep),
  337. wayImprovementSleepInput: this.data.wayImprovementSleepInput,//4
  338. getSleepHealth: (!this.data.getSleepHealth || this.data.getSleepHealth.length === 0) ? '' : (Array.isArray(this.data.getSleepHealth) ? this.data.getSleepHealth.map(item => String(item)).join(',') : this.data.getSleepHealth),
  339. getSleepHealthInput: this.data.getSleepHealthInput,//5
  340. influenceSleep: (!this.data.influenceSleep || this.data.influenceSleep.length === 0) ? '' : (Array.isArray(this.data.influenceSleep) ? this.data.influenceSleep.map(item => String(item)).join(',') : this.data.influenceSleep),
  341. influenceSleepInput: this.data.influenceSleepInput,//6
  342. improvSleepMethods: (!this.data.improvSleepMethods || this.data.improvSleepMethods.length === 0) ? '' : (Array.isArray(this.data.improvSleepMethods) ? this.data.improvSleepMethods.map(item => String(item)).join(',') : this.data.improvSleepMethods),
  343. improvSleepMethodsInput: this.data.improvSleepMethodsInput,//7
  344. age: this.data.age,
  345. channel: this.data.channel,
  346. //数据库存的是:bindGetSleepHealth bindGetSleepHealthInput
  347. bindGetSleepHealth: (!this.data.getSleepHealth || this.data.getSleepHealth.length === 0) ? '' : (Array.isArray(this.data.getSleepHealth) ? this.data.getSleepHealth.map(item => String(item)).join(',') : this.data.getSleepHealth),
  348. bindGetSleepHealthInput: this.data.getSleepHealthInput,
  349. };
  350. let checkList = {
  351. age: this.data.age,
  352. career: this.data.career,
  353. gender: this.data.gender,
  354. channel: this.data.channel,
  355. stayExper: this.data.stayExper,
  356. satisfied: this.data.satisfied,
  357. noSatisfied: this.data.noSatisfied,
  358. improvementSleep: this.data.improvementSleep,
  359. wayImprovementSleep: this.data.wayImprovementSleep,
  360. getSleepHealth: this.data.getSleepHealth,
  361. influenceSleep: this.data.influenceSleep,
  362. improvSleepMethods: this.data.improvSleepMethods,
  363. suggestion: this.data.suggestion,
  364. // sleepEnvironmentComfort: this.data.sleepEnvironmentComfort,
  365. // productComfort: this.data.productComfort,
  366. // improvementAreas: this.data.improvementAreas,
  367. // thirdPlatformsInput: this.data.thirdPlatformsInput,
  368. }
  369. let checkInputList = [
  370. {
  371. name: "career",
  372. type: "radio",
  373. checkList: this.data.career,
  374. checkValue: "5",
  375. checkInput: this.data.careerInput
  376. }, {
  377. name: "channel",
  378. type: "radio",
  379. checkList: this.data.channel,
  380. checkValue: "2",
  381. checkInput: this.data.thirdPlatformsInput
  382. }, {
  383. name: "noSatisfied",
  384. type: "radio",
  385. checkList: this.data.noSatisfied,
  386. checkValue: "3",
  387. checkInput: this.data.noSatisfiedInput
  388. }, {
  389. name: "wayImprovementSleep",
  390. type: "checkbox",
  391. checkList: this.data.wayImprovementSleep,
  392. checkValue: "4",
  393. checkInput: this.data.wayImprovementSleepInput
  394. }, {
  395. name: "getSleepHealth",
  396. type: "checkbox",
  397. checkList: this.data.getSleepHealth,
  398. checkValue: "5",
  399. checkInput: this.data.getSleepHealthInput
  400. }, {
  401. name: "influenceSleep",
  402. type: "checkbox",
  403. checkList: this.data.influenceSleep,
  404. checkValue: "6",
  405. checkInput: this.data.influenceSleepInput
  406. }, {
  407. name: "improvSleepMethods",
  408. type: "checkbox",
  409. checkList: this.data.improvSleepMethods,
  410. checkValue: "4",
  411. checkInput: this.data.improvSleepMethodsInput
  412. }
  413. ]
  414. var isFinish = true;
  415. var emptyKey = "";
  416. for (const key in checkList) {
  417. if (checkList.hasOwnProperty(key)) {
  418. const element = checkList[key];
  419. if (!element || (Array.isArray(element) && element.length <= 0)) { // 检查属性值是否为空
  420. // 这里可以添加更复杂的判断,比如仅针对字符串检查是否为空字符串
  421. // if (typeof obj[key] === 'string' && obj[key].trim() === '') {
  422. isFinish = false;
  423. emptyKey = key;
  424. wx.showModal({
  425. title: '无法提交',
  426. content: '您还有部分题目未完成,请检查后重新提交',
  427. showCancel: false,
  428. confirmColor: '#0BC3AA',
  429. confirmText: "好的",
  430. success(res) {
  431. console.log(emptyKey.toString());
  432. that.setData({
  433. mInputId: emptyKey.toString()
  434. })
  435. }
  436. })
  437. return; // 停止循环
  438. }
  439. }
  440. }
  441. for (let i = 0; i < checkInputList.length; i++) {
  442. const element = checkInputList[i];
  443. if ((element.type == 'checkbox' && Array.isArray(element.checkList) && element.checkList.includes(element.checkValue) && !element.checkInput) || (element.type == 'radio' && element.checkList == element.checkValue && !element.checkInput)) { // 检查属性值是否为空
  444. // 这里可以添加更复杂的判断,比如仅针对字符串检查是否为空字符串
  445. // if (typeof obj[key] === 'string' && obj[key].trim() === '') {
  446. isFinish = false;
  447. emptyKey = element.name;
  448. wx.showModal({
  449. title: '无法提交',
  450. content: '您还有部分题目未完成,请检查后重新提交',
  451. showCancel: false,
  452. confirmColor: '#0BC3AA',
  453. confirmText: "好的",
  454. success(res) {
  455. console.log(emptyKey.toString());
  456. that.setData({
  457. mInputId: emptyKey.toString()
  458. })
  459. }
  460. })
  461. return; // 停止循环
  462. }
  463. }
  464. if (!isFinish) {
  465. wx.showModal({
  466. title: '无法提交',
  467. content: '您还有部分题目未完成,请检查后重新提交',
  468. showCancel: false,
  469. confirmColor: '#0BC3AA',
  470. confirmText: "好的",
  471. success(res) {
  472. console.log(emptyKey.toString());
  473. that.setData({
  474. mInputId: emptyKey.toString()
  475. })
  476. }
  477. })
  478. return;
  479. }
  480. // 将surveyData发送到服务器
  481. console.log('提交的问卷数据:', surveyData);
  482. if (!that.data.intervalId1) {
  483. that.data.intervalId1 = setInterval(() => {
  484. //提交到数据库:这里可能存在一次提交不成功,所以加了定时任务,跑直到成功提交
  485. wx.request({
  486. url: `${homeApi}/system/sleepEvaluation`, //
  487. method: 'POST',
  488. header: {
  489. 'content-type': 'application/json', // 默认值
  490. 'Authorization': 'Bearer ' + token // 在头部设置认证信息,例如使用Bearer Token
  491. },
  492. data: surveyData,
  493. success(res) {
  494. console.log('res===' + JSON.stringify(res));
  495. console.log('res.code===' + res.code);
  496. if (res && res.data && res.data.code == 200) {
  497. if (that.data.intervalId1) {
  498. clearInterval(that.data.intervalId1);
  499. that.data.intervalId1 = null;
  500. }
  501. wx.showToast({
  502. title: '问卷提交成功',
  503. icon: 'success',
  504. duration: 2000,
  505. success() {
  506. setTimeout(() => {
  507. wx.navigateBack()
  508. }, 1500);
  509. }
  510. });
  511. }
  512. },
  513. fail: function (error) {
  514. console.error('error', error);
  515. },
  516. complete: function (e) {
  517. }
  518. });
  519. }, 1000);
  520. }
  521. // wx.showToast({
  522. // title: '问卷提交成功',
  523. // icon: 'success',
  524. // duration: 2000
  525. // });
  526. // 清空表单:
  527. // this.setData({
  528. // gender: '',
  529. // careerInput:'',
  530. // stayExper:'',
  531. // sleepEnvironmentComfort: '',
  532. // productComfort: '',
  533. // improvementAreas: [], // 使用数组来存储多选答案
  534. // ImprovementSleep: [],//哪些方式来帮助改善睡眠
  535. // satisfied: [],// 哪些方面让您比较满意
  536. // suggestion: '', // 文本输入的建议
  537. // thirdPlatformsInput: '',//填写第三方平台
  538. // noSatisfied: '',//体验不满意的原因
  539. // wayImprovementSleep: '',//哪些方式来帮助改善睡眠
  540. // wayImprovementSleepInput: '',//请填写帮助改善睡眠方式文本
  541. // getSleepHealth: [],// 从哪里获取关于睡眠健康的信息
  542. // getSleepHealthInput: '',//您通常从哪里获取关于睡眠健康的信息文本
  543. // influenceSleep: [],//您认为以下哪些因素会影响您的睡眠
  544. // influenceSleepInput: '',//您认为以下哪些因素会影响您的睡眠文本
  545. // improvSleepMethods: [],//您认为以下哪些因素会影响您的睡眠
  546. // improvSleepMethodsInput: '',//您认为以下哪些因素会影响您的睡眠文本
  547. // age: '',//您的年龄
  548. // noSatisfiedInput: '',//让您对本次睡眠房入住体验不满意的原因文本
  549. // channel: '',
  550. // });
  551. },
  552. onLoad(option) {
  553. var that = this;
  554. console.log("sleepEvaluation页面");
  555. // wx.clearStorage();
  556. if ((!wx.getStorageSync('res') || !wx.getStorageSync('res').result) && !wx.getStorageSync('hotelEmpower') && !wx.getStorageSync('roomEmpower')) {
  557. wx.showModal({
  558. title: '提示',
  559. content: '请先扫描房间二维码',
  560. showCancel: false
  561. });
  562. setTimeout(function () {
  563. wx.reLaunch({
  564. url: '/subpages/scan/scan',
  565. })
  566. }, 2000) // 设置延时时间,单位为毫秒
  567. } else {
  568. let hotelcodeTemp = '';
  569. let roomcodeTemp = '';
  570. if (wx.getStorageSync('res') && wx.getStorageSync('res').result && wx.getStorageSync('res').result.split('|').length != 2) {
  571. if (!wx.getStorageSync('hotelEmpower') || !wx.getStorageSync('roomEmpower')) {
  572. wx.showModal({
  573. title: '提示',
  574. content: '房间二维码不正确,请重新扫码',
  575. showCancel: false
  576. });
  577. setTimeout(function () {
  578. wx.reLaunch({
  579. url: '/subpages/scan/scan',
  580. })
  581. }, 2000) // 设置延时时间,单位为毫秒
  582. }
  583. }
  584. if (wx.getStorageSync('res') && wx.getStorageSync('res').result) {
  585. hotelcodeTemp = wx.getStorageSync('res').result.split('|')[0];
  586. roomcodeTemp = wx.getStorageSync('res').result.split('|')[1];
  587. } else {
  588. hotelcodeTemp = wx.getStorageSync('hotelEmpower');
  589. roomcodeTemp = wx.getStorageSync('roomEmpower');
  590. }
  591. this.setData({
  592. hotel: hotelcodeTemp,
  593. room: roomcodeTemp,
  594. });
  595. }
  596. },
  597. submitDB: function () {
  598. var that = this;
  599. if (!that.data.intervalId1) {
  600. that.data.intervalId1 = setInterval(() => {
  601. that.submitSurvey();
  602. }, 1000);
  603. }
  604. },
  605. onShow: function (options) {
  606. // var that = this;
  607. // if (!that.data.intervalId2) {
  608. // that.data.intervalId2 = setInterval(() => {
  609. // // 这里执行你的代码
  610. // console.log('sleepEvaluation页面:'+Date.now());
  611. // }, 10000);
  612. // }
  613. },
  614. // startInterval: function () {
  615. // var that = this;
  616. // if (!that.data.intervalId) {
  617. // that.data.intervalId = setInterval(() => {
  618. // that.submitSurvey();
  619. // }, 1000);
  620. // }
  621. // },
  622. // clearInterval: function () {
  623. // var that = this;
  624. // if (that.data.intervalId) {
  625. // clearInterval(that.data.intervalId);
  626. // that.data.intervalId = null;
  627. // }
  628. // },
  629. /**
  630. * 生命周期函数--监听页面隐藏
  631. */
  632. onHide: function () {
  633. var that = this;
  634. if (that.data.intervalId1) {
  635. clearInterval(that.data.intervalId1);
  636. that.data.intervalId1 = null;
  637. }
  638. // if (this.data.intervalId2) {
  639. // clearInterval(this.data.intervalId2);
  640. // this.data.intervalId2 = null; // 可选,但建议清除以避免潜在的错误
  641. // }
  642. },
  643. /**
  644. * 生命周期函数--监听页面卸载
  645. */
  646. onUnload: function () {
  647. var that = this;
  648. if (that.data.intervalId1) {
  649. clearInterval(that.data.intervalId1);
  650. that.data.intervalId1 = null;
  651. }
  652. // if (this.data.intervalId2) {
  653. // clearInterval(this.data.intervalId2);
  654. // this.data.intervalId2 = null; // 可选,但建议清除以避免潜在的错误
  655. // }
  656. },
  657. });