parent
802681013c
commit
dbb5794626
@ -1,152 +1,58 @@
|
||||
import moment from "moment"
|
||||
const app = getApp()
|
||||
Component({
|
||||
data: {
|
||||
timelist: ['二十四小时', '最近七天', '最近三十天', '自定义'],
|
||||
valList: ['34', '3', '20', '4'],
|
||||
timelist: [],
|
||||
sStartTime: '',
|
||||
sEndTime: '',
|
||||
sTimeType: '34',
|
||||
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: {
|
||||
attached() {
|
||||
let st = wx.getStorageSync('sTimeType') || ''
|
||||
if(st) {
|
||||
let n = this.data.valList.findIndex(ele => ele == st);
|
||||
this.setData({
|
||||
intervalSel: n
|
||||
})
|
||||
} else {
|
||||
wx.setStorageSync('sTimeType', '34');
|
||||
wx.setStorageSync('sStartTime', '');
|
||||
wx.setStorageSync('sEndTime', '');
|
||||
}
|
||||
|
||||
this.getData().then(() => {
|
||||
let st = wx.getStorageSync('sTimeType') || ''
|
||||
if (st) {
|
||||
let n = this.data.timelist.findIndex(ele => ele.key == st);
|
||||
this.setData({
|
||||
intervalSel: n
|
||||
})
|
||||
} else {
|
||||
wx.setStorageSync('sTimeType', 34);
|
||||
wx.setStorageSync('sStartTime', '');
|
||||
wx.setStorageSync('sEndTime', '');
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
priceSel(e){
|
||||
getData() {
|
||||
return new Promise((resolve, reject) => {
|
||||
app.globalData.request({
|
||||
action: "getTime"
|
||||
}).then(res => {
|
||||
let arr = res || [];
|
||||
this.setData({
|
||||
timelist: arr
|
||||
})
|
||||
resolve(true)
|
||||
})
|
||||
})
|
||||
},
|
||||
priceSel(e) {
|
||||
let row = e.currentTarget.dataset.row;
|
||||
let n = this.data.timelist.findIndex(ele => ele.key == row.key);
|
||||
this.setData({
|
||||
intervalSel: e.currentTarget.dataset.index
|
||||
intervalSel: n
|
||||
})
|
||||
wx.setStorageSync('sTimeType', this.data.valList[this.data.intervalSel]);
|
||||
wx.setStorageSync('sTimeType', row.key);
|
||||
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() {
|
||||
this.setData({
|
||||
show1: true
|
||||
});
|
||||
},
|
||||
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({
|
||||
showDialogs: true,
|
||||
});
|
||||
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,
|
||||
this.triggerEvent('change', {
|
||||
sTimeType: row.key,
|
||||
sStartTime: start,
|
||||
sEndTime: end
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.setData({
|
||||
show: false
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
})
|
@ -1,23 +1,5 @@
|
||||
<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 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