公司團隊製作,主要用於內部使用,覺得這個感覺不錯,所以推薦出來,讓大家試試~
日曆功能
日曆基本功能,自定義樣式
先睹為快
使用方法:
1、 在微信小程式管理後臺——設定——第三方服務,按 AppID( wx23a9cef3522e4f7c)搜尋到該外掛並申請授權。
2、在要使用該外掛的小程式 app.json 檔案中引入外掛宣告。
"plugins": {
"calendar": {
"version": "1.0.0",
"provider": "wx23a9cef3522e4f7c"
}
}
複製程式碼
3、在需要使用到該外掛的小程式頁面的 JSON 配置檔案中,做以下配置:
{
"usingComponents": {
"calendar": "plugin://calendar/calendar"
}
}
複製程式碼
4、在相應的 HTML 頁面中新增以下語句即可完成外掛的嵌入。
<calendar />
複製程式碼
5、說明:預設的用法,將具備以下樣式特點:
- 顯示當前月份的日曆;
- 顯示日曆標題、顯示上下月按鈕;
- 顯示周標題,周標題預設為 cn 型別,即中文簡寫;
- 顯示日期下方的小圓點;
屬性名 | 型別 | 預設值 | 說明 |
---|---|---|---|
curYear |
Number |
當前年份 | 年份 |
curMonth |
Number |
當前月份 | 月份 (0 - 11) |
day |
Number |
當前日期 | 日期 (1-31 若日期超過該月天數,月份自動增加) |
header_show |
Boolean |
true |
主標題是否顯示 |
next |
Boolean |
true |
是否顯示下個月按鈕 |
prev |
Boolean |
true |
是否顯示下個月按鈕 |
remark_show |
Boolean |
false |
備註是否顯示 |
remark_style |
String |
headline |
備註型別 |
count_num |
Number |
0 | 備註型別為date 備註資訊1 |
count_ber |
Number |
0 | 備註型別為date 備註資訊2 |
count_txt |
String |
此處為備註資訊 | 備註型別為headline 備註資訊 |
weekTitle_show |
Boolean |
true |
周標題是否顯示 |
week_type |
String |
cn |
周標題型別 |
active_type |
String |
circle |
選中日期樣式 |
circle_show |
Boolean |
true |
日期下方的點是否顯示(每過一天新增一個) |
pitch_on |
String |
circle |
日期下方的點樣式 |
appear |
Boolean |
false |
樣式線是否顯示 |
mystatus |
Array |
[ ] | 想要的對應日期的狀態 |
<calendar
cur-year="{{curYear}}"
cur-month="{{curMonth}}"
day="{{day}}"
header_show='{{header_show}}'
prev='{{prev}}'
next='{{next}}'
/>
複製程式碼
data: {
curYear: new Date().getFullYear(), // 年份
curMonth: new Date().getMonth(),// 月份 0-11
day: new Date().getDate(), // 日期 1-31 若日期超過該月天數,月份自動增加
header_show: true, // 主標題是否顯示
prev: true, // 上一個月按鈕是否顯示
next: true, // 下一個月按鈕是否顯示
},
複製程式碼
remark_style 有效值
值 | 說明 |
---|---|
headline |
普通備註 |
date |
出勤備註 |
week_type 有效值
值 | 說明 |
---|---|
cn |
顯示為:日, 一, 二, 三, 四, 五, 六 |
en |
顯示為:S, M, T, W, T, F, S |
full-en |
顯示為:Sun, Mon, Tue, Wed, Thu, Fri, Sat |
active_type 有效值
值 | 說明 |
---|---|
circle |
圓形背景 |
square |
方形背景 |
pitch_on 有效值
值 | 說明 |
---|---|
circle |
圓形背景 |
square |
方形背景 |
事件
注: 在js寫方法 在html傳入
事件方法 | 說明 |
---|---|
nextMonth |
點選下個月 |
prevMonth |
點選上個月 |
selectDate |
點選日期 |
<calendar bindselectDate='selectDate' bindnextMonth='nextMonth' bindprevMonth='prevMonth'/>
複製程式碼
/**
* 點選上個月
*/
nextMonth: function (e) {
console.log(e)
const currentYear = e.detail.currentYear;
const currentMonth = e.detail.currentMonth;
wx.showModal({
title: '當前日期',
content: '當前年份:' + currentYear + '年\n當前月份:' + currentMonth + '月'
});
},
複製程式碼
樣式
類名 | 說明 |
---|---|
calendar-style |
日曆整體樣式 |
header-style |
主標題樣式 |
weektitle-style |
周標題皮膚樣式 |
datatitle-style |
日期皮膚樣式 |
dotcolor-o |
對應日期的狀態為1 日期下方的點顏色變化 demo模擬的出勤情況 0:未出勤 1:正常出勤 2:事假 3:病假 9:休息 |
dotcolor-t |
對應日期的狀態為其他 日期下方的點顏色變化 demo模擬的出勤情況 0:未出勤 1:正常出勤 2:事假 3:病假 9:休息 |
headline-style |
備註型別為headline的備註資訊樣式 |
atefont-style |
日期字型樣式 |
注: 在wxss自定義寫樣式 在html傳入
例:
/* 主題皮膚樣式 */
.header-style{
background: #188be4 ;
color: #fff;
}
複製程式碼
<calendar header-style='header-style' />
複製程式碼