reservation.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. // pages/reservation/reservation.js
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. timeList:[],
  8. chargStationId:'',
  9. chargPileName:'加载中',
  10. chargPileId:'',
  11. chargPileIdId:'',
  12. userId:'',
  13. chargStationName:'',
  14. earliestReservTime:'',
  15. advanceReservDays:'',
  16. minReservTime:'',
  17. maxReservTime:'',
  18. maxEarlyExerciseTime:'',
  19. maxReservOvertime:'',
  20. current:[],
  21. second:[],
  22. three:[],
  23. four:[],
  24. dayIndex:1,
  25. dayFlag1:'',
  26. dayFlag2:'',
  27. dayFlag3:'',
  28. dayFlag4:'',
  29. reservationBtn: false,
  30. },
  31. goReservation(){
  32. let {
  33. chargStationId,
  34. chargPileName,
  35. chargPileId,
  36. chargPileIdId,
  37. chargStationName,
  38. userId,
  39. earliestReservTime,
  40. advanceReservDays,
  41. minReservTime,
  42. maxReservTime,
  43. maxEarlyExerciseTime,
  44. maxReservOvertime
  45. } = this.data;
  46. let url = `/pages/reservation/reservationEdit?chargStationId=` + chargStationId + `&chargPileName=` + chargPileName +
  47. `&chargPileId=` + chargPileId +
  48. `&chargPileIdId=` + chargPileIdId +
  49. "&chargStationName=" + chargStationName +
  50. "&earliestReservTime=" + earliestReservTime +
  51. "&advanceReservDays=" + advanceReservDays+
  52. "&minReservTime=" + minReservTime +
  53. "&maxReservTime=" + maxReservTime +
  54. "&maxEarlyExerciseTime=" + maxEarlyExerciseTime +
  55. "&maxReservOvertime=" + maxReservOvertime +
  56. "&userId=" + userId;
  57. wx.navigateTo({
  58. url
  59. });
  60. },
  61. switchDay(e){
  62. let dayIndex = e.currentTarget.dataset.idx;
  63. let timeList = [];
  64. if(dayIndex==1){
  65. timeList = this.data.current;
  66. }else if(dayIndex==2){
  67. timeList = this.data.second;
  68. }else if(dayIndex==3){
  69. timeList = this.data.three;
  70. }else if(dayIndex==4){
  71. timeList = this.data.four;
  72. };
  73. this.setData({
  74. dayIndex,
  75. timeList
  76. })
  77. },
  78. /**
  79. * 生命周期函数--监听页面加载
  80. */
  81. onLoad(options) {
  82. let that = this;
  83. let {
  84. chargStationId,
  85. chargPileName,
  86. chargPileId,
  87. chargPileIdId,
  88. userId,
  89. chargStationName
  90. } = options;
  91. this.setData({
  92. chargStationId,
  93. chargPileName,
  94. chargPileId,
  95. chargPileIdId,
  96. userId,
  97. chargStationName
  98. }
  99. )
  100. },
  101. /**
  102. * 生命周期函数--监听页面初次渲染完成
  103. */
  104. onReady() {
  105. },
  106. /**
  107. * 生命周期函数--监听页面显示
  108. */
  109. onShow() {
  110. let that = this;
  111. let {
  112. chargStationId,
  113. chargPileName,
  114. chargPileId,
  115. chargPileIdId,
  116. userId,
  117. chargStationName
  118. } = this.data;
  119. wx.request({
  120. url: getApp().globalData.postHeadAgreement +'/restapi/wechat/ReservOrder?userId=' + userId + '&reservPileNo=' + chargPileId,
  121. data: {
  122. },
  123. method: 'POST',
  124. success(res) {
  125. if(res?.data?.result?.reservationConfig){
  126. that.setData({
  127. reservationBtn: true
  128. })
  129. }
  130. let earliestReservTime = res?.data?.result?.reservationConfig?.earliestReservTime
  131. earliestReservTime = earliestReservTime?earliestReservTime:0;
  132. let advanceReservDays = res?.data?.result?.reservationConfig?.advanceReservDays
  133. advanceReservDays = advanceReservDays?advanceReservDays:0;
  134. let minReservTime = res?.data?.result?.reservationConfig?.minReservTime
  135. minReservTime = minReservTime?minReservTime:0;
  136. let maxReservTime = res?.data?.result?.reservationConfig?.maxReservTime
  137. maxReservTime = maxReservTime?maxReservTime:0;
  138. let maxEarlyExerciseTime = res?.data?.result?.reservationConfig?.maxEarlyExerciseTime
  139. maxEarlyExerciseTime = maxEarlyExerciseTime?maxEarlyExerciseTime:0;
  140. let maxReservOvertime = res?.data?.result?.reservationConfig?.maxReservOvertime
  141. maxReservOvertime = maxReservOvertime?maxReservOvertime:0;
  142. let current = res?.data?.result?.current;
  143. current.forEach(series => {
  144. series.starttime = series.reservChargeStartTime.substr(11,5);
  145. series.endtime = series.reservChargeEndTime.substr(11,5);
  146. });
  147. current.sort((a,b)=>{
  148. return a.reservChargeStartTime - b.reservChargeStartTime
  149. })
  150. let second = res?.data?.result?.cursecondrent;
  151. second.forEach(series => {
  152. series.starttime = series.reservChargeStartTime.substr(11,5);
  153. series.endtime = series.reservChargeEndTime.substr(11,5);
  154. });
  155. second.sort((a,b)=>{
  156. return a.reservChargeStartTime - b.reservChargeStartTime
  157. })
  158. let three = res?.data?.result?.three;
  159. three.forEach(series => {
  160. series.starttime = series.reservChargeStartTime.substr(11,5);
  161. series.endtime = series.reservChargeEndTime.substr(11,5);;
  162. });
  163. three.sort((a,b)=>{
  164. return a.reservChargeStartTime - b.reservChargeStartTime
  165. })
  166. let four = res?.data?.result?.four;
  167. four.forEach(series => {
  168. series.starttime = series.reservChargeStartTime.substr(11,5);
  169. series.endtime = series.reservChargeEndTime.substr(11,5);
  170. });
  171. four.sort((a,b)=>{
  172. return a.reservChargeStartTime - b.reservChargeStartTime
  173. })
  174. let now = new Date();
  175. let dayFlag1 = (now.getMonth() + 1) + "." + now.getDate()
  176. now = new Date(now.setDate(now.getDate() + 1));
  177. let dayFlag2 = (now.getMonth() + 1) + "." + now.getDate()
  178. now = new Date(now.setDate(now.getDate() + 1));
  179. let dayFlag3 = (now.getMonth() + 1) + "." + now.getDate()
  180. now = new Date(now.setDate(now.getDate() + 1));
  181. let dayFlag4 = (now.getMonth() + 1) + "." + now.getDate()
  182. that.setData({
  183. earliestReservTime,
  184. advanceReservDays,
  185. minReservTime,
  186. maxReservTime,
  187. maxEarlyExerciseTime,
  188. maxReservOvertime,
  189. current,
  190. second,
  191. three,
  192. four,
  193. timeList: current,
  194. dayFlag1,
  195. dayFlag2,
  196. dayFlag3,
  197. dayFlag4
  198. })
  199. }
  200. });
  201. },
  202. /**
  203. * 生命周期函数--监听页面隐藏
  204. */
  205. onHide() {
  206. },
  207. /**
  208. * 生命周期函数--监听页面卸载
  209. */
  210. onUnload() {
  211. },
  212. /**
  213. * 页面相关事件处理函数--监听用户下拉动作
  214. */
  215. onPullDownRefresh() {
  216. },
  217. /**
  218. * 页面上拉触底事件的处理函数
  219. */
  220. onReachBottom() {
  221. },
  222. /**
  223. * 用户点击右上角分享
  224. */
  225. onShareAppMessage() {
  226. }
  227. })