|
|
@@ -17,6 +17,10 @@ Component({
|
|
|
onChange: {
|
|
|
type: Function,
|
|
|
},
|
|
|
+ grading: {
|
|
|
+ type: String,
|
|
|
+ value: "year-month"
|
|
|
+ }
|
|
|
},
|
|
|
lifetimes: {
|
|
|
attached: function () {
|
|
|
@@ -28,7 +32,8 @@ Component({
|
|
|
value: item,
|
|
|
color: item == this.data.dateType ? "#3874F6" : ""
|
|
|
}
|
|
|
- })
|
|
|
+ }),
|
|
|
+ "whereType.begdate": formatTime(new Date(), "-").split(' ')[0].slice(0, this.data.grading === "year-month" ? 7 : 10),
|
|
|
})
|
|
|
this.setRange();
|
|
|
}
|
|
|
@@ -37,7 +42,6 @@ Component({
|
|
|
actionShow: false,
|
|
|
whereType: {
|
|
|
value: "begdate",
|
|
|
- begdate: formatTime(new Date(), "-").split(' ')[0].slice(0, 7),
|
|
|
enddate: "",
|
|
|
begTimestamp: new Date().getTime(),
|
|
|
endTimestamp: "",
|
|
|
@@ -96,21 +100,22 @@ Component({
|
|
|
/* 日期选择器 */
|
|
|
datetimeOnInput(event) {
|
|
|
let type = event.currentTarget.dataset.name,
|
|
|
- whereType = this.data.whereType;
|
|
|
+ whereType = this.data.whereType,
|
|
|
+ grading = this.data.grading || "year-month"; // 获取粒度,默认值为 "year-month"
|
|
|
if (type == "begdate") {
|
|
|
- whereType.begTimestamp = event.detail;
|
|
|
- whereType.begdate = formatTime(new Date(event.detail), "-").split(' ')[0].slice(0, 7);
|
|
|
- if (whereType.begTimestamp > whereType.endTimestamp) {
|
|
|
- whereType.engTimestamp = whereType.begTimestamp
|
|
|
- whereType.enddate = '';
|
|
|
- }
|
|
|
+ whereType.begTimestamp = event.detail;
|
|
|
+ whereType.begdate = formatTime(new Date(event.detail), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
|
|
|
+ if (whereType.begTimestamp > whereType.endTimestamp) {
|
|
|
+ whereType.endTimestamp = whereType.begTimestamp;
|
|
|
+ whereType.enddate = '';
|
|
|
+ }
|
|
|
} else {
|
|
|
- whereType.endTimestamp = event.detail;
|
|
|
- whereType.enddate = formatTime(new Date(event.detail), "-").split(' ')[0].slice(0, 7);
|
|
|
+ whereType.endTimestamp = event.detail;
|
|
|
+ whereType.enddate = formatTime(new Date(event.detail), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
|
|
|
}
|
|
|
this.setData({
|
|
|
- whereType
|
|
|
- })
|
|
|
+ whereType
|
|
|
+ });
|
|
|
},
|
|
|
//切换日期类型
|
|
|
changeDateType(e) {
|
|
|
@@ -154,9 +159,10 @@ Component({
|
|
|
},
|
|
|
setRange() {
|
|
|
let dateType = this.data.dateType,
|
|
|
+ grading = this.data.grading, // 获取粒度
|
|
|
whereType = {
|
|
|
value: "begdate",
|
|
|
- begdate: formatTime(new Date(), "-").split(' ')[0].slice(0, 7),
|
|
|
+ begdate: formatTime(new Date(), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10),
|
|
|
enddate: "",
|
|
|
begTimestamp: new Date().getTime(),
|
|
|
endTimestamp: "",
|
|
|
@@ -166,44 +172,44 @@ Component({
|
|
|
const currentMonth = new Date().getMonth() + 1;
|
|
|
switch (dateType) {
|
|
|
case '本年':
|
|
|
- begdate = formatTime(new Date(), "-").split(' ')[0].slice(0, 4) + "-01";
|
|
|
- enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, 4) + "-12";
|
|
|
+ begdate = formatTime(new Date(), "-").split(' ')[0].slice(0, 4) + (grading === "year-month" ? "-01" : "-01-01");
|
|
|
+ enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, 4) + (grading === "year-month" ? "-12" : "-12-31");
|
|
|
whereType.begdate = begdate;
|
|
|
whereType.enddate = enddate;
|
|
|
break;
|
|
|
case '本月':
|
|
|
- begdate = formatTime(new Date(), "-").split(' ')[0].slice(0, 7);
|
|
|
- enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, 7);
|
|
|
+ begdate = formatTime(new Date(), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
|
|
|
+ enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
|
|
|
whereType.begdate = begdate;
|
|
|
whereType.enddate = enddate;
|
|
|
break;
|
|
|
case '本季':
|
|
|
- begdate = formatTime(new Date(), "-").split(' ')[0].slice(0, 4) + "-" + (Math.floor((new Date().getMonth() + 1) / 3) * 3 - 2);
|
|
|
- enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, 4) + "-" + (Math.floor((new Date().getMonth() + 1) / 3) * 3);
|
|
|
+ begdate = formatTime(new Date(), "-").split(' ')[0].slice(0, 4) + "-" + (Math.floor((new Date().getMonth() + 1) / 3) * 3 - 2) + (grading === "year-month" ? "" : "-01");
|
|
|
+ enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, 4) + "-" + (Math.floor((new Date().getMonth() + 1) / 3) * 3) + (grading === "year-month" ? "" : "-30");
|
|
|
whereType.begdate = begdate;
|
|
|
whereType.enddate = enddate;
|
|
|
break;
|
|
|
case '近一年':
|
|
|
- begdate = formatTime(new Date(new Date().getFullYear() - 1, new Date().getMonth(), 1), "-").split(' ')[0].slice(0, 7);
|
|
|
- enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, 7);
|
|
|
+ begdate = formatTime(new Date(new Date().getFullYear() - 1, new Date().getMonth(), 1), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
|
|
|
+ enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
|
|
|
whereType.begdate = begdate;
|
|
|
whereType.enddate = enddate;
|
|
|
break;
|
|
|
case '近三个月':
|
|
|
- begdate = formatTime(new Date(new Date().getFullYear(), new Date().getMonth() - 3, 1), "-").split(' ')[0].slice(0, 7);
|
|
|
- enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, 7);
|
|
|
+ begdate = formatTime(new Date(new Date().getFullYear(), new Date().getMonth() - 3, 1), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
|
|
|
+ enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
|
|
|
whereType.begdate = begdate;
|
|
|
whereType.enddate = enddate;
|
|
|
break;
|
|
|
case '近九个月':
|
|
|
- begdate = formatTime(new Date(new Date().getFullYear(), currentMonth - 9 - 1, 1), "-").split(' ')[0].slice(0, 7);
|
|
|
- enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, 7);
|
|
|
+ begdate = formatTime(new Date(new Date().getFullYear(), currentMonth - 9 - 1, 1), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
|
|
|
+ enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
|
|
|
whereType.begdate = begdate;
|
|
|
whereType.enddate = enddate;
|
|
|
break;
|
|
|
case '近六个月':
|
|
|
- begdate = formatTime(new Date(new Date().getFullYear(), currentMonth - 6 - 1, 1), "-").split(' ')[0].slice(0, 7);
|
|
|
- enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, 7);
|
|
|
+ begdate = formatTime(new Date(new Date().getFullYear(), currentMonth - 6 - 1, 1), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
|
|
|
+ enddate = formatTime(new Date(), "-").split(' ')[0].slice(0, grading === "year-month" ? 7 : 10);
|
|
|
whereType.begdate = begdate;
|
|
|
whereType.enddate = enddate;
|
|
|
break;
|
|
|
@@ -211,14 +217,14 @@ Component({
|
|
|
break;
|
|
|
}
|
|
|
if (dateType != "全部") {
|
|
|
- whereType.begTimestamp = new Date(begdate + '-01').getTime();
|
|
|
- whereType.endTimestamp = new Date(enddate + '-30').getTime();
|
|
|
+ whereType.begTimestamp = new Date(begdate + (grading === "year-month" ? '-01' : '')).getTime();
|
|
|
+ whereType.endTimestamp = new Date(enddate + (grading === "year-month" ? '-30' : '')).getTime();
|
|
|
}
|
|
|
this.setData({
|
|
|
whereType,
|
|
|
begdate,
|
|
|
enddate
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
})
|