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