diff --git a/components/timecomponent/index.js b/components/timecomponent/index.js index b3aa350..e8932f5 100644 --- a/components/timecomponent/index.js +++ b/components/timecomponent/index.js @@ -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 - }) } - } }) \ No newline at end of file diff --git a/components/timecomponent/index.wxml b/components/timecomponent/index.wxml index 84f24d3..240512c 100644 --- a/components/timecomponent/index.wxml +++ b/components/timecomponent/index.wxml @@ -1,23 +1,5 @@ - {{item}} + {{item.value}} - - - - 收起 - - - - - - - - 结束时间不能小于开始时间 - - - 开始时间与结束时间在七天内 - - \ No newline at end of file +