| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /* eslint-disable class-methods-use-this */
- /* eslint-disable no-underscore-dangle */
- import moment from "moment";
- export default class OpenTimeUtil {
- constructor(startTime, endTime, week, weekWords) {
- this.startTime = startTime || "08:00:00";
- this.endTime = endTime || "23:00:00";
- this.week = week || "";
- this.weekWords = weekWords || {};
- if (weekWords) {
- this.valueKey = Object.keys(weekWords);
- }
- this.selectStart = this.getTimeSelectValue(this.startTime);
- this.selectEnd = this.getTimeSelectValue(this.endTime);
- }
- getStartTimeStr() {
- return moment(this.startTime, "HH:mm:ss").format("HH:mm");
- }
- getEndTimeStr() {
- return moment(this.endTime, "HH:mm:ss").format("HH:mm");
- }
- getWeekStr() {
- let _weeks = this.week.split(",");
- if (_weeks.length === 7) {
- return this.weekWords.all;
- }
- _weeks = _weeks.map(item => {
- return this.weekWords[item];
- });
- return _weeks.join(",");
- }
- getTimeStr() {
- return `${this.getStartTimeStr()}~${this.getEndTimeStr()}`;
- }
- getShowStr() {
- return `${this.getStartTimeStr()}~${this.getEndTimeStr()} ${this.getWeekStr()}`;
- }
- setStartTime(startTime) {
- this.startTime = moment(startTime, "HH:mm").format("HH:mm:ss");
- }
- setEndTime(endTime) {
- this.endTime = moment(endTime, "HH:mm").format("HH:mm:ss");
- }
- setWeek(week) {
- this.week = week || [];
- }
- getWeek() {
- return this.week.split(",").filter(item => {
- return this.valueKey ? this.valueKey.includes(item) : false;
- });
- }
- setWeekWords(weekWords) {
- this.weekWords = weekWords || {};
- }
- getTimeSelectValue(time) {
- const _time = moment(time, "HH:mm:ss").format("H:m");
- return _time.split(":").map(item => {
- return Number(item);
- });
- }
- }
|