diff --git a/src/assets/js/toolbox-data.js b/src/assets/js/toolbox-data.js index e5be450..853ddfb 100644 --- a/src/assets/js/toolbox-data.js +++ b/src/assets/js/toolbox-data.js @@ -312,6 +312,17 @@ export const toolList = [ version: '1', enabled: true, }, + { + id: 'visualized-working-hours', + component: 'Other/VisualizedWorkingHours/VisualizedWorkingHours', + title: '工作时间可视化', + iconClass: 'mdi mdi-clock-digital', + desc: '用趣味化的方式呈现工作收益与时间进度,让薪资进度和下班期待看得见。', + createdAt: '', + updatedAt: '', + version: '0', + enabled: false, + }, ], }, ]; diff --git a/src/views/ToolboxView/Other/VisualizedWorkingHours/VisualizedWorkingHours.vue b/src/views/ToolboxView/Other/VisualizedWorkingHours/VisualizedWorkingHours.vue new file mode 100644 index 0000000..5973296 --- /dev/null +++ b/src/views/ToolboxView/Other/VisualizedWorkingHours/VisualizedWorkingHours.vue @@ -0,0 +1,243 @@ + + + + + diff --git a/src/views/ToolboxView/Other/VisualizedWorkingHours/data.js b/src/views/ToolboxView/Other/VisualizedWorkingHours/data.js new file mode 100644 index 0000000..44c7e5b --- /dev/null +++ b/src/views/ToolboxView/Other/VisualizedWorkingHours/data.js @@ -0,0 +1,50 @@ +import { useLocalStorage } from '@vueuse/core'; +import { KEY_PREFIX } from '@/assets/js/local-storage'; + +/** 模块名称 */ +const STORAGE_PREFIX = KEY_PREFIX + 'visualized-working-hours/'; + +/** 配置选项 */ +export const configData = { + + /** 收入币种 */ + currencyOfIncome: useLocalStorage(STORAGE_PREFIX + 'currencyOfIncome', ''), + + /** 日薪 */ + dailyWage: useLocalStorage(STORAGE_PREFIX + 'dailyWage', 100), + + /** 午休时长 */ + lunchBreakDuration: useLocalStorage(STORAGE_PREFIX + 'lunchBreakDuration', 1), + + /** 工作开始时间 */ + workTimeStart: useLocalStorage(STORAGE_PREFIX + 'workTimeStart', ''), + + /** 工作结束时间 */ + workTimeStop: useLocalStorage(STORAGE_PREFIX + 'workTimeStop', ''), + +}; + +/** 初始化数据 */ +export function initData() { + + let { + currencyOfIncome, + workTimeStart, + workTimeStop, + } = configData; + + let timeRegExp = new RegExp(/^\d{2}:\d{2}$/); + + if (!currencyOfIncome.value) { + currencyOfIncome.value = '¥'; + } + + if (!workTimeStart.value.match(timeRegExp)) { + workTimeStart.value = '09:00'; + } + + if (!workTimeStop.value.match(timeRegExp)) { + workTimeStop.value = '18:00'; + } + +}