reservation.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  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 + '&pileId=' + chargPileIdId + '&stationId=' + chargStationId + '&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 new Date(a.reservChargeStartTime) - new Date(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 new Date(a.reservChargeStartTime) - new Date(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 new Date(a.reservChargeStartTime) - new Date(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 new Date(a.reservChargeStartTime) - new Date(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. dayIndex:1
  199. })
  200. }
  201. });
  202. },
  203. /**
  204. * 生命周期函数--监听页面隐藏
  205. */
  206. onHide() {
  207. },
  208. /**
  209. * 生命周期函数--监听页面卸载
  210. */
  211. onUnload() {
  212. },
  213. /**
  214. * 页面相关事件处理函数--监听用户下拉动作
  215. */
  216. onPullDownRefresh() {
  217. },
  218. /**
  219. * 页面上拉触底事件的处理函数
  220. */
  221. onReachBottom() {
  222. },
  223. /**
  224. * 用户点击右上角分享
  225. */
  226. onShareAppMessage() {
  227. }
  228. })