parent
802681013c
commit
dbb5794626
@ -1,152 +1,58 @@
|
|||||||
import moment from "moment"
|
import moment from "moment"
|
||||||
|
const app = getApp()
|
||||||
Component({
|
Component({
|
||||||
data: {
|
data: {
|
||||||
timelist: ['二十四小时', '最近七天', '最近三十天', '自定义'],
|
timelist: [],
|
||||||
valList: ['34', '3', '20', '4'],
|
|
||||||
sStartTime: '',
|
sStartTime: '',
|
||||||
sEndTime: '',
|
sEndTime: '',
|
||||||
sTimeType: '34',
|
sTimeType: '34',
|
||||||
intervalSel: 0,
|
intervalSel: 0,
|
||||||
show: false,
|
|
||||||
start: moment().format("YYYY-MM-DD"),
|
|
||||||
startTime: moment().valueOf(),
|
|
||||||
end: moment().format("YYYY-MM-DD"),
|
|
||||||
endTime: moment().valueOf(),
|
|
||||||
show1: false,
|
|
||||||
show2: false,
|
|
||||||
dt: '',
|
|
||||||
dt1: '',
|
|
||||||
showDialog: false
|
|
||||||
},
|
},
|
||||||
lifetimes: {
|
lifetimes: {
|
||||||
attached() {
|
attached() {
|
||||||
|
this.getData().then(() => {
|
||||||
let st = wx.getStorageSync('sTimeType') || ''
|
let st = wx.getStorageSync('sTimeType') || ''
|
||||||
if(st) {
|
if (st) {
|
||||||
let n = this.data.valList.findIndex(ele => ele == st);
|
let n = this.data.timelist.findIndex(ele => ele.key == st);
|
||||||
this.setData({
|
this.setData({
|
||||||
intervalSel: n
|
intervalSel: n
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
wx.setStorageSync('sTimeType', '34');
|
wx.setStorageSync('sTimeType', 34);
|
||||||
wx.setStorageSync('sStartTime', '');
|
wx.setStorageSync('sStartTime', '');
|
||||||
wx.setStorageSync('sEndTime', '');
|
wx.setStorageSync('sEndTime', '');
|
||||||
}
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
priceSel(e){
|
getData() {
|
||||||
this.setData({
|
return new Promise((resolve, reject) => {
|
||||||
intervalSel: e.currentTarget.dataset.index
|
app.globalData.request({
|
||||||
|
action: "getTime"
|
||||||
|
}).then(res => {
|
||||||
|
let arr = res || [];
|
||||||
|
this.setData({
|
||||||
|
timelist: arr
|
||||||
})
|
})
|
||||||
wx.setStorageSync('sTimeType', this.data.valList[this.data.intervalSel]);
|
resolve(true)
|
||||||
let start = "";
|
|
||||||
let end = "";
|
|
||||||
if(this.data.intervalSel === 3) {
|
|
||||||
wx.setStorageSync('sStartTime', this.data.start);
|
|
||||||
wx.setStorageSync('sEndTime', this.data.end);
|
|
||||||
start = this.data.start;
|
|
||||||
end = this.data.end;
|
|
||||||
this.setData({
|
|
||||||
show: true
|
|
||||||
})
|
})
|
||||||
} else {
|
|
||||||
wx.setStorageSync('sStartTime', '');
|
|
||||||
wx.setStorageSync('sEndTime', '');
|
|
||||||
start = '';
|
|
||||||
end = '';
|
|
||||||
this.setData({
|
|
||||||
show: false
|
|
||||||
})
|
})
|
||||||
}
|
|
||||||
this.triggerEvent('change', {sTimeType: this.data.valList[this.data.intervalSel], sStartTime: start, sEndTime: end})
|
|
||||||
},
|
},
|
||||||
onDisplay() {
|
priceSel(e) {
|
||||||
this.setData({
|
let row = e.currentTarget.dataset.row;
|
||||||
show1: true
|
let n = this.data.timelist.findIndex(ele => ele.key == row.key);
|
||||||
});
|
|
||||||
},
|
|
||||||
onDisplay1() {
|
|
||||||
this.setData({
|
|
||||||
show2: true
|
|
||||||
});
|
|
||||||
},
|
|
||||||
onInput(event) {
|
|
||||||
let dt = moment(event.detail).format("YYYY-MM-DD");
|
|
||||||
|
|
||||||
this.setData({
|
|
||||||
dt: dt
|
|
||||||
});
|
|
||||||
},
|
|
||||||
onInput1(event) {
|
|
||||||
let dt = moment(event.detail).format("YYYY-MM-DD");
|
|
||||||
|
|
||||||
this.setData({
|
|
||||||
dt1: dt,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
onConfirm() {
|
|
||||||
let isBefore = moment(this.data.dt).isBefore(this.data.dt1)
|
|
||||||
let timeCha =Math.floor((moment(this.data.dt1).diff(moment(this.data.dt))/(1000*60))/60)<24*7
|
|
||||||
if(!isBefore) {
|
|
||||||
this.setData({
|
|
||||||
showDialog: true,
|
|
||||||
});
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if(!timeCha) {
|
|
||||||
this.setData({
|
this.setData({
|
||||||
showDialogs: true,
|
intervalSel: n
|
||||||
});
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.setData({
|
|
||||||
show1: false,
|
|
||||||
start: this.data.dt
|
|
||||||
});
|
|
||||||
wx.setStorageSync('sStartTime', this.data.start);
|
|
||||||
this.triggerEvent('change', {sTimeType: this.data.valList[this.data.intervalSel], sStartTime: this.data.start, sEndTime: this.data.end})
|
|
||||||
},
|
|
||||||
onConfirm1() {
|
|
||||||
let isBefore = moment(this.data.dt).isBefore(this.data.dt1)
|
|
||||||
if(!isBefore) {
|
|
||||||
this.setData({
|
|
||||||
showDialog: true,
|
|
||||||
});
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.setData({
|
|
||||||
show2: false,
|
|
||||||
end: this.data.dt1
|
|
||||||
});
|
|
||||||
wx.setStorageSync('sEndTime', this.data.end);
|
|
||||||
this.triggerEvent('change', {sTimeType: this.data.valList[this.data.intervalSel], sStartTime: this.data.start, sEndTime: this.data.end})
|
|
||||||
},
|
|
||||||
onCancel() {
|
|
||||||
this.setData({
|
|
||||||
show1: false,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
onCancel1() {
|
|
||||||
this.setData({
|
|
||||||
show2: false,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
cdialog() {
|
|
||||||
this.setData({
|
|
||||||
showDialog: false,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
cdialogs(){
|
|
||||||
this.setData({
|
|
||||||
showDialogs: false,
|
|
||||||
})
|
})
|
||||||
},
|
wx.setStorageSync('sTimeType', row.key);
|
||||||
close() {
|
let start = "";
|
||||||
this.setData({
|
let end = "";
|
||||||
show: false
|
this.triggerEvent('change', {
|
||||||
|
sTimeType: row.key,
|
||||||
|
sStartTime: start,
|
||||||
|
sEndTime: end
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
@ -1,23 +1,5 @@
|
|||||||
<view class="timelist">
|
<view class="timelist">
|
||||||
<view wx:for="{{timelist}}" class="{{index === intervalSel?'active':''}}" wx:key="index" data-index="{{index}}" bindtap="priceSel">{{item}}
|
<view wx:for="{{timelist}}" class="{{index === intervalSel?'active':''}}" wx:key="index" data-row="{{item}}" bindtap="priceSel">{{item.value}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view style="background: #fff; z-index: 2000;" wx:if="{{show}}">
|
|
||||||
<van-cell title="选择开始时间" is-link value="{{ start }}" bind:click="onDisplay" />
|
|
||||||
<van-cell title="选择结束时间" is-link value="{{ end }}" bind:click="onDisplay1" />
|
|
||||||
<view class="tp-btn" bindtap="close">收起</view>
|
|
||||||
<van-popup show="{{ show1 }}" position="bottom">
|
|
||||||
<van-datetime-picker type="date" value="{{startTime}}" bind:input="onInput" bind:confirm="onConfirm"
|
|
||||||
bind:cancel="onCancel" />
|
|
||||||
</van-popup>
|
|
||||||
<van-popup show="{{ show2 }}" position="bottom">
|
|
||||||
<van-datetime-picker type="date" value="{{endTime}}" bind:input="onInput1" bind:confirm="onConfirm1"
|
|
||||||
bind:cancel="onCancel1" />
|
|
||||||
</van-popup>
|
|
||||||
<van-dialog use-slot title="注意" show="{{ showDialog }}" bind:confirm="cdialog">
|
|
||||||
<view class="tc-d-t">结束时间不能小于开始时间</view>
|
|
||||||
</van-dialog>
|
|
||||||
<van-dialog use-slot title="注意" show="{{ showDialogs }}" bind:confirm="cdialogs">
|
|
||||||
<view class="tc-d-t">开始时间与结束时间在七天内</view>
|
|
||||||
</van-dialog>
|
|
||||||
</view>
|
|
||||||
|
Loading…
Reference in new issue