businessSetting.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. // pages/store/businessSetting.js
  2. const app = getApp()
  3. import * as API_Shop from '../../api/shop.js'
  4. import {
  5. $wuxToptips,
  6. $wuxToast,
  7. $wuxLoading,
  8. $wuxDialog
  9. } from '../../wux/index.js'
  10. Page({
  11. /**
  12. * 页面的初始数据
  13. */
  14. data: {
  15. weekdays: ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'],
  16. checkedDays: ['星期一', '星期二'],
  17. startTimePicker: [8, 0],
  18. startTime: '08:00',
  19. endTimePicker: [18, 0],
  20. endTime: '18:00',
  21. currentShopName: ''
  22. },
  23. /**
  24. * 生命周期函数--监听页面加载
  25. */
  26. onLoad: function(options) {
  27. },
  28. /**
  29. * 生命周期函数--监听页面初次渲染完成
  30. */
  31. onReady: function() {
  32. },
  33. /**
  34. * 生命周期函数--监听页面显示
  35. */
  36. onShow: function() {
  37. let business_date = app.globalData.sellerShop.business_date
  38. const checkcodes = business_date.split('')
  39. const checkdays = this.data.weekdays.filter((p, i) => {
  40. if (parseInt(checkcodes[i]) === 1) return p
  41. })
  42. this.setData({
  43. currentShopName: app.globalData.sellerShop.shop_name,
  44. checkedDays: checkdays,
  45. startTime: app.globalData.sellerShop.start_time ? app.globalData.sellerShop.start_time.replace(/:[0-9]{2}$/g, '') : '08:00',
  46. endTime: app.globalData.sellerShop.end_time ? app.globalData.sellerShop.end_time.replace(/:[0-9]{2}$/g, '') : '18:00',
  47. shop_state:app.globalData.sellerShop.shop_state==='1'?true:false
  48. })
  49. },
  50. /**
  51. * 生命周期函数--监听页面隐藏
  52. */
  53. onHide: function() {
  54. },
  55. /**
  56. * 生命周期函数--监听页面卸载
  57. */
  58. onUnload: function() {
  59. },
  60. /**
  61. * 页面相关事件处理函数--监听用户下拉动作
  62. */
  63. onPullDownRefresh: function() {
  64. },
  65. /**
  66. * 页面上拉触底事件的处理函数
  67. */
  68. onReachBottom: function() {
  69. },
  70. /**
  71. * 用户点击右上角分享
  72. */
  73. onShareAppMessage: function() {
  74. },
  75. onStartTimePickerChange(e) {
  76. let {
  77. label,
  78. value
  79. } = e.detail
  80. let labels = label.split(':')
  81. if (parseInt(labels[0]) !== parseInt(value[0]) || parseInt(labels[1]) !== parseInt(value[1])) {
  82. value = [parseInt(labels[0]), parseInt(labels[1])]
  83. }
  84. this.setData({
  85. startTime: label,
  86. startTimePicker: value
  87. })
  88. },
  89. onEndTimePickerChange(e) {
  90. let {
  91. label,
  92. value
  93. } = e.detail
  94. let labels = label.split(':')
  95. if (parseInt(labels[0]) !== parseInt(value[0]) || parseInt(labels[1]) !== parseInt(value[1])) {
  96. value = [parseInt(labels[0]), parseInt(labels[1])]
  97. }
  98. this.setData({
  99. endTime: label,
  100. endTimePicker: value
  101. })
  102. },
  103. onCheckboxChange(e) {
  104. const {
  105. value
  106. } = e.detail
  107. const data = this.data.checkedDays
  108. const index = data.indexOf(value)
  109. const checkedDays = index === -1 ? [...data, value] : data.filter((n) => n !== value)
  110. this.setData({
  111. checkedDays
  112. })
  113. },
  114. onStateChange(e){
  115. this.setData({
  116. shop_state:e.detail.value
  117. })
  118. },
  119. submit(e) {
  120. var date=new Date()
  121. let startHM=this.data.startTime.split(':')
  122. let endHM=this.data.endTime.split(':')
  123. if (date.setHours(parseInt(startHM[0]), parseInt(startHM[1])) > date.setHours(parseInt(endHM[0]), parseInt(endHM[1]))){
  124. $wuxToptips().error({
  125. icon: 'cancel',
  126. hidden: false,
  127. text: '营业开始时间不能大于结束时间!',
  128. duration: 2000
  129. })
  130. return false
  131. }
  132. let param = {
  133. businessDate: (this.data.weekdays.map(p => this.data.checkedDays.indexOf(p) > -1 ? 1 : 0).join(',')).replace(/,/g, ''),
  134. startTime: this.data.startTime + ':00',
  135. endTime: this.data.endTime + ':00',
  136. shopId: app.globalData.sellerShop.shop_id,
  137. shopState:this.data.shop_state?'1':'0'
  138. }
  139. API_Shop.setShopBusinessHour(param).then(res => {
  140. $wuxToptips().success({
  141. hidden: false,
  142. text: '设置成功',
  143. duration: 3000,
  144. success: () => {
  145. wx.navigateBack({
  146. detal:1
  147. })
  148. }
  149. })
  150. }).catch(error => {
  151. $wuxToptips().error({
  152. icon: 'cancel',
  153. hidden: false,
  154. text: error.message,
  155. duration: 3000
  156. })
  157. })
  158. }
  159. })