reservationEdit.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. let Util = require("../../utils/util");
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. chargStationId:'',
  8. chargPileName:'加载中',
  9. chargPileId:'',
  10. chargPileIdId:'',
  11. userId:'',
  12. chargStationName:'',
  13. startparams:{
  14. placeholder: '请选择时间',
  15. startDateTime: '2020-01-01 00:00',
  16. endDateTime: '2040-01-01 00:00',
  17. // pText: Util.formatTimePicker(new Date()) //'2022-04-30 00:00'
  18. pText: '' //'2022-04-30 00:00'
  19. },
  20. finishparams:{
  21. placeholder: '请选择时间',
  22. startDateTime: '2020-01-01 00:00',
  23. endDateTime: '2040-01-01 00:00',
  24. // pText: Util.formatTimePicker(new Date()) //'2022-04-30 00:00'
  25. pText: ''
  26. },
  27. },
  28. bindStartparamsChange(e){
  29. let startparams = this.data.startparams;
  30. let endparams = this.data.endparams;
  31. startparams.pText = e.detail
  32. this.setData({
  33. startparams:startparams
  34. })
  35. let currTime = new Date(e.detail );
  36. console.info(currTime)
  37. let curTime3 = new Date(currTime);
  38. let estime = new Date(curTime3.setMinutes(curTime3.getMinutes() + parseInt(this.data.minReservTime)));
  39. let curTime4 = new Date(currTime);
  40. let eetime = new Date(curTime4.setMinutes(curTime4.getMinutes() + parseInt(this.data.maxReservTime)));
  41. if(endparams?.pText){
  42. let currEndTime = new Date(endparams.pText);
  43. if(currEndTime<=currTime){
  44. this.setData({
  45. "finishparams.pText":'',
  46. });
  47. }
  48. }
  49. this.setData({
  50. "finishparams.startDateTime":Util.formatTimePicker(estime),
  51. // "finishparams.pText":Util.formatTimePicker(estime),
  52. "finishparams.endDateTime":Util.formatTimePicker(eetime),
  53. }
  54. );
  55. },
  56. bindFinishparamsChange(e){
  57. let finishparams = this.data.finishparams;
  58. finishparams.pText = e.detail
  59. this.setData({
  60. finishparams:finishparams
  61. })
  62. console.info("finishparams " + finishparams.pText)
  63. },
  64. /**
  65. * 生命周期函数--监听页面加载
  66. */
  67. onLoad(options) {
  68. let {
  69. chargStationId,
  70. chargPileName,
  71. chargPileId,
  72. chargPileIdId,
  73. userId,
  74. chargStationName,
  75. earliestReservTime,
  76. advanceReservDays,
  77. minReservTime,
  78. maxReservTime,
  79. maxEarlyExerciseTime,
  80. maxReservOvertime
  81. } = options;
  82. console.info(options);
  83. let curTime = new Date();
  84. let sstime = new Date(curTime.setMinutes(curTime.getMinutes() + parseInt(earliestReservTime)));
  85. let curTime2 = new Date();
  86. let setime = new Date(curTime2.setMinutes(curTime2.getMinutes() + parseInt(advanceReservDays) * 60 * 24));
  87. let curTime3 = new Date(sstime);
  88. let estime = new Date(curTime3.setMinutes(curTime3.getMinutes() + parseInt(minReservTime)));
  89. let curTime4 = new Date(sstime);
  90. let eetime = new Date(curTime4.setMinutes(curTime4.getMinutes() + parseInt(maxReservTime)));
  91. this.setData({
  92. chargStationId,
  93. chargPileName,
  94. chargPileId,
  95. chargPileIdId,
  96. userId,
  97. chargStationName,
  98. earliestReservTime,
  99. advanceReservDays,
  100. minReservTime,
  101. maxReservTime,
  102. maxEarlyExerciseTime,
  103. maxReservOvertime,
  104. "startparams.startDateTime":Util.formatTimePicker(sstime),
  105. // "startparams.pText":Util.formatTimePicker(sstime),
  106. "startparams.endDateTime":Util.formatTimePicker(setime),
  107. "finishparams.startDateTime":Util.formatTimePicker(estime),
  108. // "finishparams.pText":Util.formatTimePicker(estime),
  109. "finishparams.endDateTime":Util.formatTimePicker(eetime),
  110. }
  111. );
  112. },
  113. SubmitBtn(){
  114. // 预约充电站ID * 预约充电桩ID * 预约用户ID * 预约充电开始时间 * 预约充电结束时间
  115. let reservChargeStartTime = this.data.startparams.pText
  116. let reservChargeEndTime = this.data.finishparams.pText
  117. let reservPileId = this.data.chargPileIdId;
  118. let reservStationId = this.data.chargStationId;
  119. let sysUserId = this.data.userId;
  120. if(!reservChargeStartTime){
  121. wx.showModal({
  122. title: '提示',
  123. content: '请先选择预约开始充电时间',
  124. showCancel:false,
  125. confirmColor:'#00AADD',
  126. });
  127. return;
  128. }
  129. reservChargeStartTime = reservChargeStartTime + ':00'
  130. if(!reservChargeEndTime){
  131. wx.showModal({
  132. title: '提示',
  133. content: '请先选择预约结束充电时间',
  134. showCancel:false,
  135. confirmColor:'#00AADD',
  136. });
  137. return;
  138. }
  139. reservChargeEndTime = reservChargeEndTime + ':00'
  140. wx.requestSubscribeMessage({
  141. tmplIds: ['DA80dlHRpvYMfZVICp-SVPPKuZOKtUd8PT0Rl7PZzuI'],
  142. success (res) {
  143. wx.request({
  144. // url: getApp().globalData.postHeadAgreement +'/restapi/wechat/reserv2?reservChargeStartTime=' + reservChargeStartTime +
  145. // '&reservChargeEndTime=' + reservChargeEndTime +
  146. // '&reservPile.id=' + reservPileId +
  147. // '&reservStation.id=' + reservStationId +
  148. // '&sysUser.id=' + sysUserId,
  149. url: getApp().globalData.postHeadAgreement +'/restapi/wechat/reserv',
  150. data: {
  151. reservChargeStartTime:reservChargeStartTime,
  152. reservChargeEndTime:reservChargeEndTime,
  153. reservPile:{
  154. id:reservPileId
  155. },
  156. reservStation:{
  157. id:reservStationId
  158. },
  159. sysUser:{
  160. userId:sysUserId
  161. },
  162. },
  163. method: 'POST',
  164. success(res) {
  165. console.info(res)
  166. if(res?.data?.msg=="操作成功"){
  167. wx.showModal({
  168. title: '提示',
  169. content: '预约成功',
  170. showCancel:false,
  171. confirmColor:'#00AADD',
  172. complete: (res) => {
  173. if (res.cancel) {
  174. }
  175. if (res.confirm) {
  176. wx.navigateBack()
  177. }
  178. }
  179. });
  180. }else{
  181. wx.showModal({
  182. title: '提示',
  183. content: '预约失败',
  184. showCancel:false,
  185. confirmColor:'#00AADD',
  186. });
  187. }
  188. }
  189. });
  190. }
  191. })
  192. },
  193. /**
  194. * 生命周期函数--监听页面初次渲染完成
  195. */
  196. onReady() {
  197. },
  198. /**
  199. * 生命周期函数--监听页面显示
  200. */
  201. onShow() {
  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. })