// pages/room/add.js const api = require('../../config/api.js'); const util = require('../../utils/util.js'); Page({ /** * 页面的初始数据 */ data: { sceneList: [], hostList: [], currentUser: {}, dateMinute: '', assistantList: [], detail: { name: '', scene: "", //直播label brandId: '', //直播场景ID anchorUserId: '', //主持人ID assistantUserId: '', //助理用户iD assistant: "", // 助理label effectiveStartTime: '', effectiveEndTime: '', }, fetcherData: { type: 32, address: "", page: 1, size: 20, name: "", } }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { this.getSceneList() }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ async onShow() { this.getAssistantsList(); this.getSceneList(); let user = await wx.getStorageSync('userinfoDetail') this.setData({ currentUser: user, "detail.anchorUserId": user.userId }) // debugger }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { }, async getAssistantsList() { try { const res = await util.request(api.getAssistants, this.data.fetcherData, 'POST', 'application/json') console.log('getAssistantsList', res.data); if (res.code === 200) { if (Array.isArray(res.data)) { Array.from(res.data).forEach(assistant => { assistant.name = assistant.username assistant.id = assistant.userId }) this.setData({ assistantList: res.data }) } } } catch (error) { console.log('getAssistantsList::error', error) } }, async getSceneList() { try { const res = await util.request(api.BrandList, this.data.fetcherData, 'POST') console.log('getSceneList', res.data.data); if (res.code === 200) { this.setData({ sceneList: res.data.data }) } } catch (error) { console.log('getSceneList::error', error) } }, pickerChange: function (e) { const abj = { 'scene': this.data.sceneList, 'host': this.data.hostList, 'assistant': this.data.assistantList, } const { type, name } = e.currentTarget.dataset let item = abj[name][e.detail.value]; let detail = this.data.detail; detail[type] = e.detail.value; detail[name] = item.name; this.setData({ [name]: item.id, detail, }, () => { console.log('picker值为', type, name, detail, item, ) }) }, handleRoomName: function (e) { this.setData({ 'detail.name': e.detail.value }) }, sceneChange: function (e) { const index = e.detail.value if (index > -1) { const select = this.data.sceneList[index] console.log('picker值为', select) this.setData({ 'detail.scene': select.name, "detail.brandId": select.id }) } }, assistantChange: function (e) { const index = e.detail.value if (index > -1) { const select = this.data.assistantList[index] console.log('picker值为', select) this.setData({ 'detail.assistant': select.username, "detail.assistantUserId": select.userId }) } }, /** * 年月日时分选择类型的回调函数,可以在该函数得到选择的时间 */ selectDateMinuteChange(ev) { const { type } = ev.currentTarget.dataset let detail = this.data.detail detail[type] = ev.detail.value //判断大小 console.log(detail) if (detail.effectiveEndTime && detail.effectiveStartTime) { let value = new Date(detail.effectiveEndTime.replace(/-/g, "/")) - new Date(detail.effectiveStartTime.replace(/-/g, "/")); console.log(value, detail.effectiveEndTime, detail.effectiveStartTime) if (value < 0) { return wx.showToast({ title: '结束时间大于开始时间', icon: 'error', duration: 1000 }) } } this.setData({ detail }) }, bindMultiPickerChange: function (e) { console.log('picker发送选择改变,携带值为', e.detail.value) this.setData({ multiIndex: e.detail.value }) }, sbmit: async function () { const { name, id, brandId, anchorUserId, effectiveStartTime, effectiveEndTime, assistantUserId } = this.data.detail let err = '' if (!name) { err = '请输入房间名称' } else if (!brandId) { err = '请选择直播场景' } else if (!anchorUserId) { err = '请选择主持人' } else if (!anchorUserId) { err = '请选择主持人' } else if (!effectiveStartTime) { err = '请选择开始时间' } else if (!effectiveEndTime) { err = '请选择结束时间' } if (err) { return wx.showToast({ title: err, icon: 'error', duration: 1000 }) } let res = await util.request(api.createOrUpdate, { name, brandId, //直播场景ID anchorUserId, //主持人ID assistantUserId, //助理用户iD effectiveStartTime: new Date(effectiveStartTime.replace(/-/g, "/")).getTime() , effectiveEndTime: new Date(effectiveEndTime.replace(/-/g, "/")).getTime() , }, "POST", 'application/json') // debugger if (res.code == 200) { wx.showToast({ title: '创建成功!!', icon: "success" }) // wx.navigateBack({ // delta: 0, // }) wx.navigateTo({ url: '/pages/roomManger/roomManger', }) } else { wx.showToast({ title: res.error || '创建失败!!', icon: "error" }) } } })