166 lines
4.8 KiB
JavaScript
166 lines
4.8 KiB
JavaScript
// packageA/mycomponent/goodsComponent/plugin/timeAppointment/timeAppointment.js
|
||
var app = getApp();
|
||
Component({
|
||
/**
|
||
* 组件的属性列表
|
||
*/
|
||
properties: {
|
||
goods_plugin:{
|
||
type:Object,
|
||
value:{}
|
||
},
|
||
goodsInfo:{
|
||
type:Object,
|
||
value:{}
|
||
}
|
||
},
|
||
|
||
/**
|
||
* 组件的初始数据
|
||
*/
|
||
data: {
|
||
personnel:[],
|
||
radio:0,
|
||
personnel_obj:{},
|
||
|
||
dateArr: [],
|
||
day_index:0,
|
||
time_index:null,
|
||
day_obj:{},
|
||
time_obj:{},
|
||
|
||
service_text:"服务",
|
||
reserve_obj_text:"预约人员"
|
||
|
||
},
|
||
lifetimes:{
|
||
attached(){
|
||
// let dateArr = this.GetDateStr(14);
|
||
// this.setData({dateArr});
|
||
wx.getStorage({
|
||
key: "yz_basic_info",
|
||
success: (res)=> {
|
||
this.setData({
|
||
service_text:res.data.lang.reserve_simple.service||'服务',
|
||
reserve_obj_text:res.data.lang.reserve_simple.reserve_obj||'预约人员',
|
||
});
|
||
},
|
||
});
|
||
|
||
if(this.data.goods_plugin && this.data.goods_plugin.reserve_simple_goods && this.data.goods_plugin.reserve_simple_goods.objs){
|
||
let personnel = this.data.goods_plugin.reserve_simple_goods.objs;
|
||
let changeData={personnel};
|
||
if(personnel.length>0){
|
||
changeData.radio = personnel[0].id;
|
||
changeData.personnel_obj = personnel[0];
|
||
}
|
||
this.setData(changeData);
|
||
if(personnel.length>0){
|
||
this.getWorkTime(personnel[0].id);
|
||
}
|
||
|
||
}
|
||
}
|
||
},
|
||
/**
|
||
* 组件的方法列表
|
||
*/
|
||
methods: {
|
||
getWeek(dateString) {
|
||
let dateArray = dateString.split("-");
|
||
let date = new Date(dateArray[0], parseInt(dateArray[1] - 1), dateArray[2]);
|
||
return "周" + "日一二三四五六".charAt(date.getDay());
|
||
},
|
||
onChangeRadio(event) {
|
||
this.setData({
|
||
radio: event.detail,
|
||
});
|
||
let obj = this.data.personnel.find((item)=>{
|
||
return item.id==event.detail;
|
||
});
|
||
this.setData({personnel_obj:obj});
|
||
this.getWorkTime(event.detail);
|
||
},
|
||
setDayIndex(evt){
|
||
let {item,index} = evt.currentTarget.dataset;
|
||
if(item.status==0) return;
|
||
this.setData({
|
||
day_index:index,
|
||
day_obj:item,
|
||
time_index:null
|
||
});
|
||
},
|
||
setTimeIndex(evt){
|
||
let {item,index} = evt.currentTarget.dataset;
|
||
if(item.status==0) return;
|
||
this.setData({
|
||
time_index:index,
|
||
time_obj:item
|
||
});
|
||
},
|
||
gotoOrder(){
|
||
if(this.data.time_index==null) return app.tips("请选择预约时间");
|
||
let {service_id,id,goods_option_id,name} = this.data.personnel_obj;
|
||
let begin_time = this.data.dateArr[this.data.day_index].work_date+" "+this.data.dateArr[this.data.day_index].periods[this.data.time_index].period_time_start_str;
|
||
let reserve_order = {service_id,obj_id:id,begin_time,name};
|
||
wx.navigateTo({
|
||
url: "/packageD/buy/myOrder_v2/myOrder_v2?tag=-2&total=1&optionsId="+goods_option_id+"&goodsId=" + this.data.goodsInfo.id + "&reserve_order=" + JSON.stringify(reserve_order)
|
||
});
|
||
},
|
||
gotoUserDe(evt){
|
||
let id = evt.currentTarget.dataset.id;
|
||
wx.navigateTo({
|
||
url: '/packageF/timeAppointment/AppointmentUserDe/AppointmentUserDe?id='+id,
|
||
});
|
||
},
|
||
getWorkTime(id){
|
||
let obj = this.data.personnel.find((item)=>{
|
||
return item.id==id;
|
||
});
|
||
console.log(obj);
|
||
if(!obj) return;
|
||
let urlStr = app.getNetAddresss("plugin.reserve-simple.frontend.work-time.get-service-obj-periods");
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
data:{
|
||
obj_id:obj.id,
|
||
service_id:obj.service_id
|
||
},
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result != 1) return app.tips(res.msg);
|
||
|
||
let list = res.data;
|
||
list.forEach((item)=>{
|
||
item.week = this.getWeek(item.work_date);
|
||
item.day = item.work_date.substr(-2,2);
|
||
item.month = item.work_date.substr(-5,5);
|
||
});
|
||
console.log(list);
|
||
this.setData({
|
||
dateArr:list,
|
||
day_obj:list[0]
|
||
});
|
||
}
|
||
});
|
||
},
|
||
GetDateStr(AddDayCount) {
|
||
let dateArr = [];
|
||
for (let i = 0; i < AddDayCount; i++) {
|
||
var dd = new Date();
|
||
dd.setDate(dd.getDate() + i); //获取AddDayCount天后的日期
|
||
var y = dd.getFullYear();
|
||
var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1; //获取当前月份的日期,不足10补0
|
||
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate(); //获取当前几号,不足10补0
|
||
let weekStr = this.getWeek(y + "-" + m + "-" + d);
|
||
let str = {
|
||
day: d,
|
||
week: weekStr
|
||
};
|
||
dateArr.push(str);
|
||
}
|
||
return dateArr;
|
||
}
|
||
}
|
||
});
|