色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue排班表組件

排班表在很多場(chǎng)景下都非常有用,例如醫(yī)院的醫(yī)生排班、工地的工人排班、機(jī)場(chǎng)的機(jī)組排班等等。但是手動(dòng)制作排班表非常耗費(fèi)時(shí)間和人力,因此使用Vue編寫(xiě)一個(gè)排班表組件是非常有必要的。下面將介紹一個(gè)功能完善的Vue排班表組件。

在Vue排班表組件中,擁有一個(gè)簡(jiǎn)單卻重要的功能:顯示時(shí)間范圍。這個(gè)時(shí)間范圍分為三個(gè)部分:第一個(gè)是可以選擇日期的日歷部分,第二個(gè)是可以選擇班次的班次列表,第三個(gè)則是用于顯示排班表的表組件。在日歷部分和班次列表部分,使用了Vue自帶的Select組件,用戶可以通過(guò)點(diǎn)擊展開(kāi)下拉框來(lái)選擇日期和班次。在表組件上,使用了CSS Grid布局方式來(lái)構(gòu)建格子,通過(guò)計(jì)算模塊的高度和寬度,使其能夠顯示所有班次的信息。

.grid-container {
display: inline-grid;
grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
grid-auto-rows: 40px;
grid-gap: 1px;
border: 1px solid #ccc;
}

作為一個(gè)排班表組件,最核心的部分自然是排班表部分。排班表可以說(shuō)是整個(gè)組件的靈魂所在,因此在設(shè)計(jì)排班表時(shí)需要考慮的東西非常多,例如排版、顏色、字體等等。在排班表的時(shí)間上,可以使用Moment.js等日期處理庫(kù)來(lái)幫助處理時(shí)間數(shù)據(jù);在處理排班信息時(shí),則需要使用狀態(tài)管理庫(kù)Vuex來(lái)進(jìn)行數(shù)據(jù)傳輸和信息儲(chǔ)存。在這個(gè)排班表組件中,通過(guò)使用Vuex儲(chǔ)存班次信息和排班信息,從而實(shí)現(xiàn)了更新、保存、導(dǎo)入和導(dǎo)出排班表等各種基本功能。

import Vuex, { Store } from 'vuex'
const store = new Store({
state: {
shiftList: [],
schedule: []
},
mutations: {
SET_SHIFT(state, shifts) {
state.shiftList = shifts
},
ADD_SCHEDULE(state, data) {
state.schedule.push(data)
},
DELETE_SCHEDULE(state, data) {
state.schedule.splice(state.schedule.findIndex(item =>item.id === data.id), 1)
},
IMPORT_SCHEDULE(state, data) {
state.schedule = data
},
EXPORT_SCHEDULE(state) {
const a = document.createElement('a')
const blob = new Blob([JSON.stringify(state.schedule)], { type: 'application/json' })
a.href = URL.createObjectURL(blob)
a.download = `schedule-${moment().format('YYYYMMDD')}.json`
a.click()
URL.revokeObjectURL(a.href)
}
}
})

總的來(lái)說(shuō),通過(guò)使用Vue框架和相關(guān)的庫(kù),編寫(xiě)一個(gè)排班表組件是非常簡(jiǎn)單而且實(shí)用的。排班表是很多工作必不可少的部分,因此一個(gè)好的排班表組件可以為很多人帶來(lái)福利。當(dāng)然,如果需要使用更高級(jí)的功能,還可以考慮使用D3.js等數(shù)據(jù)可視化庫(kù)來(lái)實(shí)現(xiàn)更好的效果。