sleepReport.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. // pages/sleepReport/sleepReport.js
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. page: 1,
  8. show: false,
  9. minDate: new Date(2024, 4, 1).getTime(),
  10. maxDate: new Date().getTime(),
  11. defaultDate: [new Date().getTime(), new Date().getTime()],
  12. mData: [],
  13. formatter(day) {
  14. const month = day.date.getMonth() + 1;
  15. const date = day.date.getDate();
  16. if (month === 5) {
  17. if (date === 1) {
  18. day.topInfo = '劳动节';
  19. } else if (date === 4) {
  20. day.topInfo = '五四青年节';
  21. } else if (date === 11) {
  22. day.text = '今天';
  23. }
  24. }
  25. if (day.type === 'start') {
  26. day.bottomInfo = '入住';
  27. } else if (day.type === 'end') {
  28. day.bottomInfo = '离店';
  29. }
  30. // else if (day.type === 'start-end') {
  31. // return '入住/离店';
  32. // }
  33. return day;
  34. },
  35. },
  36. onDisplay() {
  37. this.setData({ show: true });
  38. },
  39. onClose() {
  40. this.setData({ show: false });
  41. },
  42. // formatDate(date) {
  43. // date = new Date(date);
  44. // return `${date.getMonth() + 1}/${date.getDate()}`;
  45. // },
  46. formatDate(date) {
  47. if (!date || date == null) {
  48. return "";
  49. }
  50. date = new Date(date);
  51. let year = date.getFullYear();
  52. let month = (date.getMonth() + 1).toString().padStart(2, '0'); // 月份是从0开始的,所以要+1
  53. let day = date.getDate().toString().padStart(2, '0');
  54. return `${year}-${month}-${day}`;
  55. },
  56. onConfirm(event) {
  57. console.log(event.detail);
  58. var dateArr = event.detail || [];
  59. if (!dateArr[1] || dateArr[1] == null) {
  60. console.log("单选");
  61. } else {
  62. console.log("多选");
  63. }
  64. this.setData({
  65. show: false,
  66. page: 1,
  67. startdateStr: this.formatDate(event.detail[0]),
  68. enddateStr: this.formatDate(event.detail[1]),
  69. });
  70. this.getList(this.data.startdateStr, this.data.enddateStr || this.data.startdateStr);
  71. },
  72. /**
  73. * 生命周期函数--监听页面加载
  74. */
  75. onLoad(options) {
  76. },
  77. /**
  78. * 生命周期函数--监听页面初次渲染完成
  79. */
  80. onReady() {
  81. this.getList()
  82. },
  83. toDetails(e) {
  84. console.log(e.currentTarget.dataset.item);
  85. let item = e.currentTarget.dataset.item;
  86. wx.navigateTo({
  87. url: `/subpages/data/data?rpids=${item.rpids}`
  88. })
  89. },
  90. /**
  91. * 生命周期函数--监听页面显示
  92. */
  93. onShow() {
  94. // const app = getApp();
  95. // app.globalData.selectedTabIndex = 2;
  96. // this.getTabBar().setData({
  97. // selected: 2
  98. // })
  99. },
  100. /**
  101. * 生命周期函数--监听页面隐藏
  102. */
  103. onHide() {
  104. },
  105. /**
  106. * 生命周期函数--监听页面卸载
  107. */
  108. onUnload() {
  109. },
  110. /**
  111. * 页面相关事件处理函数--监听用户下拉动作
  112. */
  113. onPullDownRefresh() {
  114. this.setData({
  115. page: 1
  116. })
  117. this.getList();
  118. },
  119. /**
  120. * 页面上拉触底事件的处理函数
  121. */
  122. onReachBottom() {
  123. console.log("上拉加载更多");
  124. var page = this.data.page;
  125. page += 1;
  126. this.setData({
  127. page: page
  128. })
  129. this.getList();
  130. },
  131. checkTime(timeStr) {
  132. let hours = 0;
  133. let minutes = 0;
  134. if (timeStr && timeStr.indexOf("小时") != -1) {
  135. let parts = timeStr.split("小时");
  136. hours = parseInt(parts[0], 10); // 将小时部分转换为整数
  137. }
  138. if (timeStr && timeStr.indexOf("分钟") != -1) {
  139. let parts = timeStr.split("小时");
  140. let minutesStr = parts[1].split("分钟")[0]; // 获取分钟部分的字符串
  141. minutes = parseInt(minutesStr, 10); // 将分钟部分转换为整数
  142. }
  143. console.log("小时:", hours); // 输出小时
  144. console.log("分钟:", minutes); // 输出分钟
  145. return {
  146. hours: hours || 0,
  147. minutes: minutes || 0
  148. }
  149. },
  150. getList(startdateStr, enddateStr) {
  151. const that = this;
  152. wx.request({
  153. url: 'https://aipush.aidsleep.cn/srpwithrange',
  154. method: 'POST',
  155. data: {
  156. startdate: startdateStr,
  157. enddate: enddateStr,
  158. token: "89835e65993fee4a6a6cbbe4c271da51e5521822934e13769e61cadabaed72c3" || wx.getStorageSync('token'),
  159. udi: wx.getStorageSync('unionid'),
  160. pg: that.data.page,
  161. lm: 20
  162. },
  163. success: (res) => {
  164. var mDataTemp = that.data.mData || [];
  165. var loadData = res.data.data;
  166. if (res.data.data) {
  167. for (const key in loadData) {
  168. if (Object.prototype.hasOwnProperty.call(loadData, key)) {
  169. const element = loadData[key];
  170. let subItems = [];
  171. for (const k in element) {
  172. if (Object.prototype.hasOwnProperty.call(element, k)) {
  173. const subElement = element[k];
  174. for (let i = 0; i < subElement.length; i++) {
  175. var item = subElement[i];
  176. var dateItem = that.checkTime(item.rinbed_duration);
  177. item.hours = dateItem.hours;
  178. item.minutes = dateItem.minutes;
  179. }
  180. subItems = subItems.concat(subElement);
  181. }
  182. }
  183. var data = {
  184. dateTitle: key,
  185. subItem: subItems
  186. }
  187. mDataTemp.push(data)
  188. }
  189. }
  190. console.log(mDataTemp);
  191. that.setData({
  192. mData: mDataTemp
  193. })
  194. } else {
  195. }
  196. },
  197. fail: () => {
  198. }
  199. });
  200. },
  201. /**
  202. * 用户点击右上角分享
  203. */
  204. onShareAppMessage() {
  205. }
  206. })