2021-04-20

作者:zlf_j
鏈接:http://www.reibang.com/p/3e652dc44633
來源:簡書
著作權(quán)歸作者所有嘀略。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
引用怕自己找不到

一趁啸、下載

npm install vue-fullcalendar

http://www.reibang.com/p/1b4858e06662

二、顯示在頁面上

1、main.js

import FullCalendar from 'vue-fullcalendar'
Vue.use(FullCalendar)

2算柳、用到日歷的組件

<template>
<div>
   <full-calendar :events="monthData" class="test-fc"
                     first-day='1' locale="fr"
                     @changeMonth="changeMonth"    // 切換月時的事件,可自己定義事件
                     @eventClick="eventClick"      // 點擊當天的事件姓言,可自己定義事件
                     @dayClick="dayClick"          // 點擊當月的事件瞬项,可自己定義事件
                     @moreClick="moreClick"></full-calendar>    // 點擊 more, 展示當天所有事件,可自己定義事件
</div>
</template>
<script>
import { FullCalendar } from 'vue-fullcalendar'
export default {
  data() {
      return {
        monthData: []
      }
  },
  methods: {
     // 選擇月份
      changeMonth (start, end, current) {
       console.log('changeMonth', start.format(), end.format(), current.format())
      },
      // 點擊事件
      eventClick (event, jsEvent, pos) {
        console.log('eventClick', event, jsEvent, pos)
      },
      // 點擊當天
      dayClick (day, jsEvent) {
         console.log('dayClick', day, jsEvent)
      },
      // 查看更多
      moreClick (day, events, jsEvent) {
        console.log('moreCLick', day, events, jsEvent)
      },
  },
  components: {
      'full-calendar': require('vue-fullcalendar')
  },
</script>

參考:https://github.com/Wanderxx/vue-fullcalendar

3何荚、事件返回的值囱淋,可依照以下格式(可以添加值,顯示出來的值餐塘,可從插件中自行修改)

monthData: [
    {
      title : 'eeeeeeeee',  // 事件內(nèi)容
      start : '2018-12-11', // 事件開始時間
      end : '2018-12-30',   // 事件結(jié)束時間
      cssClass: 'red'       // 事件的樣式   class名(由后臺返回數(shù)據(jù))  red為自己定義的class名
    },
    {
      title : 'sssss',
      start : '2018-12-25',
      end : '2018-12-30',
      cssClass: 'blue'  
    },
    {
      title : 'dddddddd',
      start : '2018-12-09',
      end : '2018-12-30',
      cssClass: 'blue'  
    },
    {
      title : 'cccccc',
      start : '2018-12-20',
      end : '2018-12-30'
      cssClass: 'red'  
    },
    {
      title : 'aaaaaa',
      start : '2018-12-01',
      end : '2018-12-30',
      cssClass: 'red'  
    },
    {
      title : 'bbbbbb',
      start : '2018-12-05',
      end : '2019-1-10',
      cssClass: 'blue'
    }
  ]

<style>
.red {
  background: red;
}
.blue {
  background: blue;
}
</style>

4妥衣、修改點擊事件(添加刪除等功能,可以通過插件所給事件自行修改)

5戒傻、插件顯示效果

image

6税手、注意:

如果要修改插件內(nèi)容的話,盡量不要通過下載引入需纳,可在改完后芦倒,將插件引入assets中(即在本地引入),以防代碼更新覆蓋掉已修改的內(nèi)容不翩。

個人用法

  • npm install vue-fullcalendar 下載插件熙暴,只引用node_modules/vue-fullcalendar/src文件夾,改名為vue-fullcalendar

  • 修改下載的插件慌盯,并在本地引入(不是全局引入),是為了防止 npm install 覆蓋掉修改
    的內(nèi)容掂器。

  • 按以下結(jié)構(gòu)引入了src/assets中

    image
  • 可以執(zhí)行 npm uninstall vue-fullcalendar 將下載的日歷插件刪掉(不需要全局調(diào)用)

  • 引用日歷的組件

import FullCalendar from '../../../../assets/vue-fullcalendar/fullCalendar.vue'
export default {
    ......
    components: {
        'full-calendar': FullCalendar
    },
}

  • 修改案例:(改本地引入的vue-fullcalendar)

1亚皂、修改 點擊更多時,顯示的內(nèi)容及樣式 (body.vue)
判斷顯示title還是content值国瓮,cssClass為后臺返回灭必,用于自定義樣式

image
// 當前日歷的數(shù)據(jù)(后臺返回)
[{
  content: "BBB [ 研發(fā)3 ] 002003 / 難度:D / 結(jié)束時間:2019-05-23"
  cssClass: "B"
  end: "2019-05-23"
  field_shot_number: "002003"
  id: 1154
  project_id: 4
  start: "2019-03-26"
  status: 1
  title: "BBB [ 研發(fā)3 ] 002003"
  type: 0
}]
// 代碼
        <div class="more-body">
          <ul class="body-list">
            <li v-for="event in selectDay.events"
              v-show="event.isShow" :class="event.cssClass"
              @click="dayClick(event,$event)">
              {{event.content ? event.content: event.title}}
            </li>
          </ul>
        </div>

image

2狞谱、修改 日歷中的 more,改為當天事件個數(shù)(body.vue)

image
// 代碼
<!--顯示條數(shù)-->
              <p v-if="day.events.length > eventLimit"
                 class="more-link" @click.stop="selectThisDay(day, $event)">
                {{day.events.length - getEventsLength(day.events)}} 條
              </p>
<!--獲取事件個數(shù)-->
methods : {
      getEventsLength (events) {
        let arr = []
        events.forEach((item, index) => {
          if (item.isShow == false) {
            arr.push(item)
          }
        }, this)
        return arr.length
      }
}

image

3禁漓、修改日歷中的中文英文

image

4跟衅、修改日歷上的內(nèi)容(body.vue)
文章用以下方法定義內(nèi)容
{{isBegin(event, day.date, day.weekDay)}}

image
image

event.title即為日歷上展示的文字,后臺返回數(shù)據(jù)時播歼,可以用title直接返回伶跷,也可以自己定義參數(shù)名∶啬可以參考上面的數(shù)據(jù)結(jié)構(gòu)

5叭莫、修改點擊日歷事件,彈框展示的數(shù)據(jù)(直接修改插件body.vue中的如圖部分)

image
  • 報錯:

failed to mount component :template or render function

  • 解決辦法:
    修改 fc-body和fc-header的引入方法:
    fullCalendar.vue
import header from './components/header.vue'
import body from './components/body.vue'

 export default {
   components : {
      'fc-body'   : body,
      'fc-header' : header
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末烁试,一起剝皮案震驚了整個濱河市雇初,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌减响,老刑警劉巖靖诗,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異支示,居然都是意外死亡刊橘,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門悼院,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伤为,“玉大人,你說我怎么就攤上這事据途〗视蓿” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵颖医,是天一觀的道長位衩。 經(jīng)常有香客問我,道長熔萧,這世上最難降的妖魔是什么糖驴? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮佛致,結(jié)果婚禮上贮缕,老公的妹妹穿的比我還像新娘。我一直安慰自己俺榆,他們只是感情好感昼,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著罐脊,像睡著了一般定嗓。 火紅的嫁衣襯著肌膚如雪蜕琴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天宵溅,我揣著相機與錄音凌简,去河邊找鬼。 笑死恃逻,一個胖子當著我的面吹牛雏搂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辛块,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼畔派,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了润绵?” 一聲冷哼從身側(cè)響起线椰,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎尘盼,沒想到半個月后憨愉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡卿捎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年配紫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片午阵。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡躺孝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出底桂,到底是詐尸還是另有隱情植袍,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布籽懦,位于F島的核電站于个,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏暮顺。R本人自食惡果不足惜厅篓,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捶码。 院中可真熱鬧羽氮,春花似錦、人聲如沸惫恼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至汇荐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盆繁,已是汗流浹背掀淘。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留油昂,地道東北人革娄。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像冕碟,于是被迫代替她去往敵國和親拦惋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容