dev
xiaowen 3 years ago
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…
Cancel
Save