mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-17 08:14:25 +08:00
support custom first day of week
This commit is contained in:
+6
-4
@@ -81,13 +81,14 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
register: ({ username, email, nickname, password, defaultCurrency }) => {
|
||||
register: ({ username, email, nickname, password, defaultCurrency, firstDayOfWeek }) => {
|
||||
return axios.post('register.json', {
|
||||
username,
|
||||
email,
|
||||
nickname,
|
||||
password,
|
||||
defaultCurrency
|
||||
defaultCurrency,
|
||||
firstDayOfWeek
|
||||
});
|
||||
},
|
||||
logout: () => {
|
||||
@@ -128,13 +129,14 @@ export default {
|
||||
getProfile: () => {
|
||||
return axios.get('v1/users/profile/get.json');
|
||||
},
|
||||
updateProfile: ({ email, nickname, password, oldPassword, defaultCurrency }) => {
|
||||
updateProfile: ({ email, nickname, password, oldPassword, defaultCurrency, firstDayOfWeek }) => {
|
||||
return axios.post('v1/users/profile/update.json', {
|
||||
email,
|
||||
nickname,
|
||||
password,
|
||||
oldPassword,
|
||||
defaultCurrency
|
||||
defaultCurrency,
|
||||
firstDayOfWeek
|
||||
});
|
||||
},
|
||||
get2FAStatus: () => {
|
||||
|
||||
+20
-9
@@ -110,13 +110,24 @@ function getTodayLastUnixTime() {
|
||||
return moment.unix(getTodayFirstUnixTime()).add(1, 'days').subtract(1, 'seconds').unix();
|
||||
}
|
||||
|
||||
function getThisWeekFirstUnixTime() {
|
||||
function getThisWeekFirstUnixTime(firstDayOfWeek) {
|
||||
const today = moment.unix(getTodayFirstUnixTime());
|
||||
return today.subtract(today.day(), 'days').unix();
|
||||
|
||||
if (!isNumber(firstDayOfWeek)) {
|
||||
firstDayOfWeek = 0;
|
||||
}
|
||||
|
||||
let dayOfWeek = today.day() - firstDayOfWeek;
|
||||
|
||||
if (dayOfWeek < 0) {
|
||||
dayOfWeek += 7;
|
||||
}
|
||||
|
||||
return today.subtract(dayOfWeek, 'days').unix();
|
||||
}
|
||||
|
||||
function getThisWeekLastUnixTime() {
|
||||
return moment.unix(getThisWeekFirstUnixTime()).add(7, 'days').subtract(1, 'seconds').unix();
|
||||
function getThisWeekLastUnixTime(firstDayOfWeek) {
|
||||
return moment.unix(getThisWeekFirstUnixTime(firstDayOfWeek)).add(7, 'days').subtract(1, 'seconds').unix();
|
||||
}
|
||||
|
||||
function getThisMonthFirstUnixTime() {
|
||||
@@ -163,7 +174,7 @@ function getShiftedDateRange(minTime, maxTime, scale) {
|
||||
};
|
||||
}
|
||||
|
||||
function getDateRangeByDateType(dateType) {
|
||||
function getDateRangeByDateType(dateType, firstDayOfWeek) {
|
||||
let maxTime = 0;
|
||||
let minTime = 0;
|
||||
|
||||
@@ -183,11 +194,11 @@ function getDateRangeByDateType(dateType) {
|
||||
maxTime = getUnixTimeBeforeUnixTime(getTodayLastUnixTime(), 1, 'days');
|
||||
minTime = getUnixTimeBeforeUnixTime(getTodayFirstUnixTime(), 29, 'days');
|
||||
} else if (dateType === dateTimeConstants.allDateRanges.ThisWeek.type) { // This week
|
||||
maxTime = getThisWeekLastUnixTime();
|
||||
minTime = getThisWeekFirstUnixTime();
|
||||
maxTime = getThisWeekLastUnixTime(firstDayOfWeek);
|
||||
minTime = getThisWeekFirstUnixTime(firstDayOfWeek);
|
||||
} else if (dateType === dateTimeConstants.allDateRanges.LastWeek.type) { // Last week
|
||||
maxTime = getUnixTimeBeforeUnixTime(getThisWeekLastUnixTime(), 7, 'days');
|
||||
minTime = getUnixTimeBeforeUnixTime(getThisWeekFirstUnixTime(), 7, 'days');
|
||||
maxTime = getUnixTimeBeforeUnixTime(getThisWeekLastUnixTime(firstDayOfWeek), 7, 'days');
|
||||
minTime = getUnixTimeBeforeUnixTime(getThisWeekFirstUnixTime(firstDayOfWeek), 7, 'days');
|
||||
} else if (dateType === dateTimeConstants.allDateRanges.ThisMonth.type) { // This month
|
||||
maxTime = getThisMonthLastUnixTime();
|
||||
minTime = getThisMonthFirstUnixTime();
|
||||
|
||||
Reference in New Issue
Block a user