reservation.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  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. let second = res?.data?.result?.cursecondrent;
  148. second.forEach(series => {
  149. series.starttime = series.reservChargeStartTime.substr(11,5);
  150. series.endtime = series.reservChargeEndTime.substr(11,5);
  151. });
  152. let three = res?.data?.result?.three;
  153. three.forEach(series => {
  154. series.starttime = series.reservChargeStartTime.substr(11,5);
  155. series.endtime = series.reservChargeEndTime.substr(11,5);;
  156. });
  157. let four = res?.data?.result?.four;
  158. four.forEach(series => {
  159. series.starttime = series.reservChargeStartTime.substr(11,5);
  160. series.endtime = series.reservChargeEndTime.substr(11,5);
  161. });
  162. let now = new Date();
  163. let dayFlag1 = (now.getMonth() + 1) + "." + now.getDate()
  164. now = new Date(now.setDate(now.getDate() + 1));
  165. let dayFlag2 = (now.getMonth() + 1) + "." + now.getDate()
  166. now = new Date(now.setDate(now.getDate() + 1));
  167. let dayFlag3 = (now.getMonth() + 1) + "." + now.getDate()
  168. now = new Date(now.setDate(now.getDate() + 1));
  169. let dayFlag4 = (now.getMonth() + 1) + "." + now.getDate()
  170. that.setData({
  171. earliestReservTime,
  172. advanceReservDays,
  173. minReservTime,
  174. maxReservTime,
  175. maxEarlyExerciseTime,
  176. maxReservOvertime,
  177. current,
  178. second,
  179. three,
  180. four,
  181. timeList: current,
  182. dayFlag1,
  183. dayFlag2,
  184. dayFlag3,
  185. dayFlag4
  186. })
  187. }
  188. });
  189. },
  190. /**
  191. * 生命周期函数--监听页面隐藏
  192. */
  193. onHide() {
  194. },
  195. /**
  196. * 生命周期函数--监听页面卸载
  197. */
  198. onUnload() {
  199. },
  200. /**
  201. * 页面相关事件处理函数--监听用户下拉动作
  202. */
  203. onPullDownRefresh() {
  204. },
  205. /**
  206. * 页面上拉触底事件的处理函数
  207. */
  208. onReachBottom() {
  209. },
  210. /**
  211. * 用户点击右上角分享
  212. */
  213. onShareAppMessage() {
  214. }
  215. })