reservationEdit.js 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  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.finishparams;
  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. console.info(Util.formatTimePicker(estime))
  42. console.info(Util.formatTimePicker(eetime))
  43. console.info(endparams?.pText)
  44. if(endparams?.pText){
  45. let currEndTime = new Date(endparams.pText);
  46. if(currEndTime<=currTime){
  47. console.info("111111111111111111111111111111111111111111111111111")
  48. this.setData({
  49. "finishparams.pText":'',
  50. });
  51. }
  52. }
  53. this.selectComponent("#start").initData()
  54. this.setData({
  55. "finishparams.startDateTime":Util.formatTimePicker(estime),
  56. "finishparams.endDateTime":Util.formatTimePicker(eetime),
  57. }
  58. );
  59. console.info(this.data.finishparams.startDateTime)
  60. console.info(this.data.finishparams.endDateTime)
  61. console.info(this.data.finishparams.pText)
  62. },
  63. bindFinishparamsChange(e){
  64. let startparams = this.data.startparams;
  65. let finishparams = this.data.finishparams;
  66. finishparams.pText = e.detail
  67. this.setData({
  68. finishparams:finishparams
  69. })
  70. console.info("finishparams " + finishparams.pText)
  71. },
  72. /**
  73. * 生命周期函数--监听页面加载
  74. */
  75. onLoad(options) {
  76. let {
  77. chargStationId,
  78. chargPileName,
  79. chargPileId,
  80. chargPileIdId,
  81. userId,
  82. chargStationName,
  83. earliestReservTime,
  84. advanceReservDays,
  85. minReservTime,
  86. maxReservTime,
  87. maxEarlyExerciseTime,
  88. maxReservOvertime
  89. } = options;
  90. console.info(options);
  91. let curTime = new Date();
  92. let sstime = new Date(curTime.setMinutes(curTime.getMinutes() + parseInt(earliestReservTime)));
  93. let curTime2 = new Date();
  94. let setime = new Date(curTime2.setMinutes(curTime2.getMinutes() + (parseInt(advanceReservDays)) * 60 * 24));
  95. setime.setHours(23, 59, 0)
  96. let curTime3 = new Date(sstime);
  97. let estime = new Date(curTime3.setMinutes(curTime3.getMinutes() + parseInt(minReservTime)));
  98. let curTime4 = new Date(setime);
  99. let eetime = new Date(curTime4.setMinutes(curTime4.getMinutes() + parseInt(maxReservTime)));
  100. this.setData({
  101. chargStationId,
  102. chargPileName,
  103. chargPileId,
  104. chargPileIdId,
  105. userId,
  106. chargStationName,
  107. earliestReservTime,
  108. advanceReservDays,
  109. minReservTime,
  110. maxReservTime,
  111. maxEarlyExerciseTime,
  112. maxReservOvertime,
  113. "startparams.startDateTime":Util.formatTimePicker(sstime),
  114. // "startparams.pText":Util.formatTimePicker(sstime),
  115. "startparams.endDateTime":Util.formatTimePicker(setime),
  116. "finishparams.startDateTime":Util.formatTimePicker(estime),
  117. // "finishparams.pText":Util.formatTimePicker(estime),
  118. "finishparams.endDateTime":Util.formatTimePicker(eetime),
  119. }
  120. );
  121. },
  122. SubmitBtn(){
  123. // 预约充电站ID * 预约充电桩ID * 预约用户ID * 预约充电开始时间 * 预约充电结束时间
  124. let reservChargeStartTime = this.data.startparams.pText
  125. let reservChargeEndTime = this.data.finishparams.pText
  126. let reservPileId = this.data.chargPileIdId;
  127. let reservStationId = this.data.chargStationId;
  128. let sysUserId = this.data.userId;
  129. if(!reservChargeStartTime){
  130. wx.showModal({
  131. title: '提示',
  132. content: '请先选择预约开始充电时间',
  133. showCancel:false,
  134. confirmColor:'#00AADD',
  135. });
  136. return;
  137. }
  138. reservChargeStartTime = reservChargeStartTime + ':00'
  139. if(!reservChargeEndTime){
  140. wx.showModal({
  141. title: '提示',
  142. content: '请先选择预约结束充电时间',
  143. showCancel:false,
  144. confirmColor:'#00AADD',
  145. });
  146. return;
  147. }
  148. reservChargeEndTime = reservChargeEndTime + ':00'
  149. wx.requestSubscribeMessage({
  150. tmplIds: ['DA80dlHRpvYMfZVICp-SVPPKuZOKtUd8PT0Rl7PZzuI'],
  151. success (res) {
  152. wx.request({
  153. // url: getApp().globalData.postHeadAgreement +'/restapi/wechat/reserv2?reservChargeStartTime=' + reservChargeStartTime +
  154. // '&reservChargeEndTime=' + reservChargeEndTime +
  155. // '&reservPile.id=' + reservPileId +
  156. // '&reservStation.id=' + reservStationId +
  157. // '&sysUser.id=' + sysUserId,
  158. url: getApp().globalData.postHeadAgreement +'/restapi/wechat/reserv',
  159. data: {
  160. reservChargeStartTime:reservChargeStartTime,
  161. reservChargeEndTime:reservChargeEndTime,
  162. reservPile:{
  163. id:reservPileId
  164. },
  165. reservStation:{
  166. id:reservStationId
  167. },
  168. sysUser:{
  169. userId:sysUserId
  170. },
  171. },
  172. method: 'POST',
  173. success(res) {
  174. console.info(res)
  175. if(res?.data?.msg=="操作成功"){
  176. wx.showModal({
  177. title: '提示',
  178. content: '预约成功',
  179. showCancel:false,
  180. confirmColor:'#00AADD',
  181. complete: (res) => {
  182. if (res.cancel) {
  183. }
  184. if (res.confirm) {
  185. wx.navigateBack()
  186. }
  187. }
  188. });
  189. }else{
  190. wx.showModal({
  191. title: '提示',
  192. content: '预约失败',
  193. showCancel:false,
  194. confirmColor:'#00AADD',
  195. });
  196. }
  197. }
  198. });
  199. }
  200. })
  201. },
  202. /**
  203. * 生命周期函数--监听页面初次渲染完成
  204. */
  205. onReady() {
  206. },
  207. /**
  208. * 生命周期函数--监听页面显示
  209. */
  210. onShow() {
  211. },
  212. /**
  213. * 生命周期函数--监听页面隐藏
  214. */
  215. onHide() {
  216. },
  217. /**
  218. * 生命周期函数--监听页面卸载
  219. */
  220. onUnload() {
  221. },
  222. /**
  223. * 页面相关事件处理函数--监听用户下拉动作
  224. */
  225. onPullDownRefresh() {
  226. },
  227. /**
  228. * 页面上拉触底事件的处理函数
  229. */
  230. onReachBottom() {
  231. },
  232. /**
  233. * 用户点击右上角分享
  234. */
  235. onShareAppMessage() {
  236. }
  237. })