114 lines
2.8 KiB
JavaScript
114 lines
2.8 KiB
JavaScript
// 视图
|
|
import { getLastDate, getLastDateTimeEnd, getLastDateTimeStart, getLastMonth, getLastMonthTimeEnd } from '@/utils/index';
|
|
|
|
export const views = {
|
|
}
|
|
|
|
// 日期选择器快捷选项
|
|
export const DatePickerOptions = {
|
|
// 默认
|
|
DEFAULT: {
|
|
shortcuts: [{
|
|
text: '最近一周',
|
|
onClick(picker) {
|
|
const end = getLastDate(0);
|
|
const start = getLastDate(6);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
}, {
|
|
text: '最近一个月',
|
|
onClick(picker) {
|
|
const end = getLastDate(0);
|
|
const start = getLastMonth(1);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
}, {
|
|
text: '最近三个月',
|
|
onClick(picker) {
|
|
const end = getLastDate(0);
|
|
const start = getLastMonth(3);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
}]
|
|
},
|
|
// 未来
|
|
FUTURE: {
|
|
shortcuts: [{
|
|
text: '明天',
|
|
onClick(picker) {
|
|
const end = getLastDateTimeEnd(-1);
|
|
const start = getLastDateTimeStart(-1);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
},{
|
|
text: '未来一周',
|
|
onClick(picker) {
|
|
const end = getLastDateTimeEnd(-6);
|
|
const start = getLastDateTimeStart(0);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
}, {
|
|
text: '未来一个月',
|
|
onClick(picker) {
|
|
const end = getLastMonthTimeEnd(-1);
|
|
const start = getLastDateTimeStart(0);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
}, {
|
|
text: '未来三个月',
|
|
onClick(picker) {
|
|
const end = getLastMonthTimeEnd(-3);
|
|
const start = getLastDateTimeStart(0);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
}]
|
|
},
|
|
// 禁用未来
|
|
DISABLE_FUTURE: {
|
|
disabledDate(date) {
|
|
return parseInt(date.getTime() / 86400000) > parseInt(Date.now() / 86400000) - 1;
|
|
}
|
|
},
|
|
// 禁用过去
|
|
DISABLE_PAST: {
|
|
disabledDate(date) {
|
|
return parseInt(date.getTime() / 86400000) < parseInt(Date.now() / 86400000) - 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
// 进度颜色
|
|
export const ProgressColors = [
|
|
{color: '#5cb87a', percentage: 90},
|
|
{color: '#f3ab40', percentage: 60},
|
|
{color: '#f56c6c', percentage: 30},
|
|
]
|
|
|
|
// 进度条格式化
|
|
export function ProgressFormat(val) {
|
|
if (val == null) {
|
|
return '0%';
|
|
}
|
|
return val.toFixed(0) + '%';
|
|
}
|
|
|
|
// 文件类型
|
|
export const FileType = {
|
|
// 图片
|
|
IMAGE: ['png', 'jpg', 'jpeg', 'gif', 'bmp', 'webp', 'ico'],
|
|
// 办公
|
|
OFFICE: ['doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx'],
|
|
// 音频
|
|
AUDIO: ['mp3', 'wav', 'm4a', 'ogg', 'flac', 'aac'],
|
|
// 视频
|
|
VIDEO: ['mp4', 'avi', 'mov', 'wmv', 'flv', 'mpeg', 'mpg', 'm4v', 'webm', 'mkv'],
|
|
// 压缩文件
|
|
ZIP: ['zip', 'rar', '7z'],
|
|
// 其他
|
|
OTHER: ['exe'],
|
|
// 全部
|
|
all() {
|
|
return [...this.IMAGE, ...this.OFFICE, ...this.AUDIO, ...this.VIDEO, ...this.OTHER, ...this.ZIP];
|
|
}
|
|
}
|