add.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. // pages/room/add.js
  2. const api = require('../../config/api.js');
  3. const util = require('../../utils/util.js');
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. sceneList: [{name:'美国',id:0},{name:'中国',id:1},{name:'巴西',id:2},{name:'本',id:3},],
  10. hostList: [{name:'我的测试主持',id:0},{name:'我的测试主持1',id:1},{name:'我的测试主持2',id:2},{name:'我的测试主持3',id:3},],
  11. scene: 0,
  12. host: 0,
  13. assistant:0,
  14. dateMinute: '',
  15. assistantList: [{name:'小黑',id:0},{name:'小白',id:1},{name:'小黄',id:2},{name:'小蓝',id:3},],
  16. detail:{
  17. name:'',
  18. scene:'',
  19. brandId:'',
  20. host:'',
  21. anchorUserId:'',
  22. assistant:'',
  23. assistantUserId:'',
  24. effectiveStartTime:'',
  25. effectiveEndTime:'',
  26. }
  27. },
  28. /**
  29. * 生命周期函数--监听页面加载
  30. */
  31. onLoad(options) {
  32. this.getSceneList()
  33. },
  34. /**
  35. * 生命周期函数--监听页面初次渲染完成
  36. */
  37. onReady() {
  38. },
  39. /**
  40. * 生命周期函数--监听页面显示
  41. */
  42. onShow() {
  43. },
  44. /**
  45. * 生命周期函数--监听页面隐藏
  46. */
  47. onHide() {
  48. },
  49. /**
  50. * 生命周期函数--监听页面卸载
  51. */
  52. onUnload() {
  53. },
  54. /**
  55. * 页面相关事件处理函数--监听用户下拉动作
  56. */
  57. onPullDownRefresh() {
  58. },
  59. /**
  60. * 页面上拉触底事件的处理函数
  61. */
  62. onReachBottom() {
  63. },
  64. /**
  65. * 用户点击右上角分享
  66. */
  67. onShareAppMessage() {
  68. },
  69. getSceneList(){
  70. },
  71. pickerChange: function(e) {
  72. const abj ={
  73. 'scene':this.data.sceneList,
  74. 'host':this.data.hostList,
  75. 'assistant':this.data.assistantList,
  76. }
  77. const { type, name } = e.currentTarget.dataset
  78. let item = abj[name][e.detail.value]
  79. let detail = this.data.detail
  80. detail[type] = e.detail.value,
  81. detail[name] = item.name,
  82. this.setData({
  83. [name]: item.id,
  84. detail,
  85. },()=>{
  86. console.log('picker值为',type, name,detail,item,)
  87. })
  88. },
  89. sceneChange: function(e) {
  90. let index = e.detail.value
  91. console.log('picker值为',index)
  92. this.setData({
  93. index: e.detail.value
  94. })
  95. },
  96. hostChange: function(e) {
  97. let index = e.detail.value
  98. console.log('picker值为',index)
  99. this.setData({
  100. index: e.detail.value
  101. })
  102. },
  103. assistantChange: function(e) {
  104. let index = e.detail.value
  105. console.log('picker值为',index)
  106. this.setData({
  107. index: e.detail.value
  108. })
  109. },
  110. /**
  111. * 年月日时分选择类型的回调函数,可以在该函数得到选择的时间
  112. */
  113. selectDateMinuteChange(ev) {
  114. const { type } = ev.currentTarget.dataset
  115. let detail = this.data.detail
  116. detail[type] = ev.detail.value
  117. //判断大小
  118. console.log(detail)
  119. if(detail.effectiveEndTime && detail.effectiveStartTime){
  120. let value = new Date(detail.effectiveEndTime) - new Date(detail.effectiveStartTime);
  121. console.log(value,detail.effectiveEndTime ,detail.effectiveStartTime )
  122. if(value<0){
  123. return wx.showToast({
  124. title: '结束时间大于开始时间',
  125. icon: 'error',
  126. duration: 1000
  127. })
  128. }
  129. }
  130. this.setData({
  131. detail
  132. })
  133. },
  134. bindMultiPickerChange: function (e) {
  135. console.log('picker发送选择改变,携带值为', e.detail.value)
  136. this.setData({
  137. multiIndex: e.detail.value
  138. })
  139. },
  140. sbmit: async function(){
  141. const {name,id,brandId,anchorUserId,effectiveStartTime,effectiveEndTime,assistantUserId} = this.data.detail
  142. let err = ''
  143. if(!brandId){
  144. err = '请选择直播场景'
  145. }else if(!anchorUserId){
  146. err = '请选择主持人'
  147. }else if(!anchorUserId){
  148. err = '请选择主持人'
  149. }else if(!effectiveStartTime){
  150. err = '请选择开始时间'
  151. }else if(!effectiveEndTime){
  152. err = '请选择结束时间'
  153. }else if(!assistantUserId){
  154. err = '请选择助理'
  155. }
  156. if(err){
  157. return wx.showToast({
  158. title: err,
  159. icon: 'error',
  160. duration: 1000
  161. })
  162. }
  163. let res = await util.request(api.createOrUpdate, {
  164. ...this.data.detail
  165. },"POST")
  166. if (res.errno == 0) {
  167. return res.data
  168. } else if (res.errno == 1) {
  169. return false
  170. }
  171. }
  172. })