提交 | 用户 | age
|
d8c37e
|
1 |
type timeType = 'startTime'|'endTime'; |
S |
2 |
Page({ |
|
3 |
/** |
|
4 |
* 页面的初始数据 |
|
5 |
*/ |
|
6 |
data: { |
|
7 |
isShowStartDatePopup:false, |
|
8 |
isShowEndDatePopup:false, |
|
9 |
minStartDate: new Date().getTime() + 1000 * 60 * 15, |
|
10 |
maxStartDate: new Date().getTime() + 1000 * 60 * 60 * 24 * 180, |
|
11 |
startDate: new Date().getTime() + 1000 * 60 * 60, //new Date().getTime(), |
|
12 |
startTime: '', |
|
13 |
startDateAndTime: [] as any, |
|
14 |
minEndDate: new Date().getTime() + 1000 * 60 * 45, |
|
15 |
maxEndDate: new Date().getTime() + 1000 * 60 * 60 * 24 * 180, |
|
16 |
endDate: new Date().getTime() + 1000 * 60 * 240, //new Date().getTime(), |
|
17 |
endTime: '', |
|
18 |
endDateAndTime: [] as any, |
|
19 |
formatter(type:string, value:string) { |
|
20 |
// console.log(type,value) |
|
21 |
if (type === "year") { |
|
22 |
return `${value}年`; |
|
23 |
} else if (type === "month") { |
|
24 |
return `${value}月`; |
|
25 |
} else if (type === "day") { |
|
26 |
return `${value}日`; |
|
27 |
} |
|
28 |
return value; |
|
29 |
}, |
|
30 |
doccode:'', |
|
31 |
qrCodeUrl:"", //https://res.wx.qq.com/op_res/BbVNeczA1XudfjVqCVoKgfuWe7e3aUhokktRVOqf_F0IqS6kYR--atCpVNUUC3zr |
|
32 |
}, |
|
33 |
|
|
34 |
|
|
35 |
/** |
|
36 |
* 检查 |
|
37 |
*/ |
|
38 |
|
|
39 |
async onSubmit() { |
|
40 |
let data = { |
|
41 |
docCode:this.data.doccode, |
|
42 |
startTime:`${this.data.startTime}:00`, |
|
43 |
endTime:`${this.data.endTime}:00`, |
|
44 |
}; |
|
45 |
let checkStartTime = this.checkTime("startTime", "请选择计划开始时间"); |
|
46 |
let checkEndTime = this.checkTime("endTime", "请选择计划结束时间"); |
|
47 |
console.log('待提交数据',data); |
|
48 |
if (!checkStartTime||!checkEndTime){ |
|
49 |
return; |
|
50 |
} |
|
51 |
let [error, result] = await wx.$utils.to( |
|
52 |
wx.$http.request({ |
|
53 |
url:`/shopping/panicBuyingLive/saveRoomStep3.do`, |
|
54 |
data, |
|
55 |
method: 'POST' |
|
56 |
}) |
|
57 |
) |
|
58 |
if (error){ |
|
59 |
console.log(error); |
|
60 |
return; |
|
61 |
} |
|
62 |
console.log("新建房间--第三步",result); |
|
63 |
if (result.qrcodeUrl){ |
|
64 |
let authentication =this.selectComponent('#my-anchor-authentication'); |
|
65 |
authentication.showQrCodeDialog(result.qrcodeUrl); |
|
66 |
return; |
|
67 |
} |
|
68 |
if (result.state=='success'){ |
|
69 |
wx.navigateBack({ |
|
70 |
delta: 3 |
|
71 |
}) |
|
72 |
} |
|
73 |
}, |
|
74 |
|
|
75 |
/** |
|
76 |
* 生命周期函数--监听页面加载 |
|
77 |
*/ |
|
78 |
onLoad: function (options) { |
|
79 |
let doccode = options.doccode || ''; |
|
80 |
let currentLiveRoomData = wx.globalData.currentLiveRoomData; |
|
81 |
console.log('正在编辑的直播间数据',currentLiveRoomData); |
|
82 |
if (currentLiveRoomData&&JSON.stringify(currentLiveRoomData) != '{}'){ |
|
83 |
let startDate = this.data.startDate; |
|
84 |
let endDate = this.data.endDate; |
|
85 |
let lives = { |
|
86 |
startTime: currentLiveRoomData.StartTime, |
|
87 |
endTime: currentLiveRoomData.EndTime, |
|
88 |
startDate: currentLiveRoomData.StartTime?new Date(currentLiveRoomData.StartTime).getTime():startDate, |
|
89 |
endDate: currentLiveRoomData.EndTime?new Date(currentLiveRoomData.EndTime).getTime():endDate, |
|
90 |
}; |
|
91 |
// if (currentLiveRoomData.StartTime){ |
|
92 |
// startDate = new Date(currentLiveRoomData.StartTime).getTime() |
|
93 |
// } |
|
94 |
// if (currentLiveRoomData.EndTime){ |
|
95 |
// endDate = new Date(currentLiveRoomData.EndTime).getTime() |
|
96 |
// } |
|
97 |
console.log('已有时间',lives); |
|
98 |
this.setData({ |
|
99 |
...lives, |
|
100 |
}) |
|
101 |
} |
|
102 |
this.handleDateAndTime() |
|
103 |
this.setData({ |
|
104 |
doccode, |
|
105 |
}) |
|
106 |
}, |
|
107 |
/** |
|
108 |
* 生命周期函数--监听页面显示 |
|
109 |
*/ |
|
110 |
onShow: function () {}, |
|
111 |
handleDateAndTime(){ |
|
112 |
let waitHandle = this.data; |
3fc241
|
113 |
let startTime = waitHandle.startTime|| wx.$utils.formatTime(new Date().getTime() + 1000 * 60 * 60); |
S |
114 |
let endTime =waitHandle.endTime|| wx.$utils.formatTime(new Date().getTime() + 1000 * 60 * 240); |
d8c37e
|
115 |
this.setData({ |
S |
116 |
startTime, |
|
117 |
endTime, |
|
118 |
startDateAndTime: startTime.split(' '), |
|
119 |
endDateAndTime: endTime.split(' '), |
|
120 |
}) |
|
121 |
|
|
122 |
}, |
|
123 |
showStartDatePopup(){ |
|
124 |
this.setData({ |
|
125 |
isShowStartDatePopup: true |
|
126 |
}) |
|
127 |
}, |
|
128 |
onStartDatePopupClose(){ |
|
129 |
this.setData({ |
|
130 |
isShowStartDatePopup: false |
|
131 |
}) |
|
132 |
}, |
|
133 |
onEnterStartDate(event: { detail: any; }) { |
|
134 |
let detail = event.detail; |
3fc241
|
135 |
const dateTime:any = wx.$utils.formatTime(event.detail); |
d8c37e
|
136 |
console.log("选择开播时间", dateTime,detail); |
S |
137 |
this.setData({ |
|
138 |
startDate: detail, |
|
139 |
startTime: dateTime, |
|
140 |
minEndDate: detail + 1000 * 60 * 30, |
|
141 |
}); |
|
142 |
this.handleDateAndTime(); |
|
143 |
this.onStartDatePopupClose(); |
|
144 |
this.checkTime("startTime", "请选择计划开始时间"); |
|
145 |
}, |
|
146 |
showEndDatePopup(){ |
|
147 |
this.setData({ |
|
148 |
isShowEndDatePopup: true |
|
149 |
}) |
|
150 |
}, |
|
151 |
onEndDatePopupClose(){ |
|
152 |
this.setData({ |
|
153 |
isShowEndDatePopup: false |
|
154 |
}) |
|
155 |
}, |
|
156 |
onEnterEndDate(event: { detail: any; }) { |
3fc241
|
157 |
const date:any = wx.$utils.formatTime(event.detail); |
d8c37e
|
158 |
console.log("选择下播时间", date,event.detail); |
S |
159 |
this.setData({ |
|
160 |
endTime: date, |
|
161 |
endDate: event.detail, |
|
162 |
}); |
|
163 |
// this.triggerEvent('selectedEndTime',{ |
|
164 |
// endTime: date |
|
165 |
// }); |
|
166 |
this.handleDateAndTime(); |
|
167 |
this.onEndDatePopupClose(); |
|
168 |
this.checkTime("endTime", "请选择计划结束时间"); |
|
169 |
}, |
|
170 |
checkTime(time:timeType, msg:string) { |
|
171 |
if (this.data[time] == '') { |
|
172 |
this.setData({ |
|
173 |
[time + "Error"]: msg, |
|
174 |
}); |
|
175 |
console.log(this.data.startTime); |
|
176 |
return false; |
|
177 |
} |
|
178 |
let startDate = this.data.startDate; |
|
179 |
let endDate = this.data.endDate; |
|
180 |
console.log(this.data); |
|
181 |
if (time==='startTime'){ |
|
182 |
if (startDate&&endDate&&(startDate - endDate > 0)) { |
|
183 |
this.setData({ |
|
184 |
["startTimeError"]: "开始时间需小于结束时间", |
|
185 |
}); |
|
186 |
return false; |
|
187 |
} |
|
188 |
} |
|
189 |
if (time==='endTime'){ |
|
190 |
if (startDate&&endDate&&(endDate - startDate < 0)) { |
|
191 |
this.setData({ |
|
192 |
["endTimeError"]: "结束时间需大于开始时间", |
|
193 |
}); |
|
194 |
return false; |
|
195 |
} |
|
196 |
} |
|
197 |
if (startDate&&endDate&&(Math.abs(startDate - endDate)<1000*60*30)){ |
|
198 |
this.setData({ |
|
199 |
[time + "Error"]: "所选时间范围间隔不得短于30分钟", |
|
200 |
}); |
|
201 |
return false; |
|
202 |
} |
f46177
|
203 |
if (startDate&&endDate&&(Math.abs(startDate - endDate)>1000*60*60*24)){ |
d8c37e
|
204 |
this.setData({ |
f46177
|
205 |
[time + "Error"]: "所选时间范围必须在24小时以内", |
d8c37e
|
206 |
}); |
S |
207 |
return false; |
|
208 |
} |
|
209 |
this.setData({ |
|
210 |
["startTimeError"]: "", |
|
211 |
["endTimeError"]: "", |
|
212 |
}); |
|
213 |
return true; |
|
214 |
// this.handleLiveTime() |
|
215 |
}, |
|
216 |
}); |
|
217 |
|
|
218 |
export {} |