diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json
index 07bb2bea1..4852ccf01 100644
--- a/ruoyi-ui/package.json
+++ b/ruoyi-ui/package.json
@@ -1,110 +1,118 @@
-{
-  "name": "ruoyi",
-  "version": "2.2.0",
-  "description": "本一智慧平台管理系统",
-  "author": "本一智慧平台",
-  "license": "MIT",
-  "scripts": {
-    "dev": "vue-cli-service serve",
-    "build:prod": "vue-cli-service build",
-    "build:stage": "vue-cli-service build --mode staging",
-    "preview": "node build/index.js --preview",
-    "lint": "eslint --ext .js,.vue src",
-    "test:unit": "jest --clearCache && vue-cli-service test:unit",
-    "test:ci": "npm run lint && npm run test:unit",
-    "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
-    "new": "plop"
-  },
-  "husky": {
-    "hooks": {
-      "pre-commit": "lint-staged"
-    }
-  },
-  "lint-staged": {
-    "src/**/*.{js,vue}": [
-      "eslint --fix",
-      "git add"
-    ]
-  },
-  "keywords": [
-    "vue",
-    "admin",
-    "dashboard",
-    "element-ui",
-    "boilerplate",
-    "admin-template",
-    "management-system"
-  ],
-  "repository": {
-    "type": "git",
-    "url": "https://gitee.com/y_project/RuoYi-Vue.git"
-  },
-  "dependencies": {
-    "@riophae/vue-treeselect": "0.4.0",
-    "axios": "0.18.1",
-    "clipboard": "2.0.4",
-    "echarts": "4.2.1",
-    "element-ui": "2.13.0",
-    "file-saver": "2.0.1",
-    "fuse.js": "3.4.4",
-    "js-beautify": "^1.10.2",
-    "js-cookie": "2.2.0",
-    "jsencrypt": "3.0.0-rc.1",
-    "normalize.css": "7.0.0",
-    "nprogress": "0.2.0",
-    "path-to-regexp": "2.4.0",
-    "screenfull": "4.2.0",
-    "sortablejs": "1.8.4",
-    "v-distpicker": "^1.2.2",
-    "vue": "2.6.10",
-    "vue-count-to": "1.0.13",
-    "vue-cropper": "0.4.9",
-    "vue-quill-editor": "3.0.6",
-    "vue-router": "3.0.2",
-    "vue-splitpane": "1.0.4",
-    "vuedraggable": "2.20.0",
-    "vuex": "3.1.0"
-  },
-  "devDependencies": {
-    "@babel/core": "7.0.0",
-    "@babel/register": "7.0.0",
-    "@babel/parser": "^7.7.4",
-    "@vue/cli-plugin-babel": "3.5.3",
-    "@vue/cli-plugin-eslint": "^3.9.1",
-    "@vue/cli-plugin-unit-jest": "3.5.3",
-    "@vue/cli-service": "3.5.3",
-    "@vue/test-utils": "1.0.0-beta.29",
-    "autoprefixer": "^9.5.1",
-    "babel-core": "7.0.0-bridge.0",
-    "babel-eslint": "10.0.1",
-    "babel-jest": "23.6.0",
-    "chalk": "2.4.2",
-    "chokidar": "2.1.5",
-    "connect": "3.6.6",
-    "eslint": "5.15.3",
-    "eslint-plugin-vue": "5.2.2",
-    "html-webpack-plugin": "3.2.0",
-    "http-proxy-middleware": "^0.19.1",
-    "husky": "1.3.1",
-    "lint-staged": "8.1.5",
-    "mockjs": "1.0.1-beta3",
-    "node-sass": "^4.9.0",
-    "plop": "2.3.0",
-    "runjs": "^4.3.2",
-    "sass-loader": "^7.1.0",
-    "script-ext-html-webpack-plugin": "2.1.3",
-    "script-loader": "0.7.2",
-    "serve-static": "^1.13.2",
-    "svg-sprite-loader": "4.1.3",
-    "svgo": "1.2.0",
-    "vue-template-compiler": "2.6.10"
-  },
-  "engines": {
-    "node": ">=8.9",
-    "npm": ">= 3.0.0"
-  },
-  "browserslist": [
-    "> 1%",
-    "last 2 versions"
-  ]
-}
+{
+  "name": "ruoyi",
+  "version": "2.2.0",
+  "description": "本一智慧平台管理系统",
+  "author": "本一智慧平台",
+  "license": "MIT",
+  "scripts": {
+    "dev": "vue-cli-service serve",
+    "build:prod": "vue-cli-service build",
+    "build:stage": "vue-cli-service build --mode staging",
+    "preview": "node build/index.js --preview",
+    "lint": "eslint --ext .js,.vue src",
+    "test:unit": "jest --clearCache && vue-cli-service test:unit",
+    "test:ci": "npm run lint && npm run test:unit",
+    "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
+    "new": "plop"
+  },
+  "husky": {
+    "hooks": {
+      "pre-commit": "lint-staged"
+    }
+  },
+  "lint-staged": {
+    "src/**/*.{js,vue}": [
+      "eslint --fix",
+      "git add"
+    ]
+  },
+  "keywords": [
+    "vue",
+    "admin",
+    "dashboard",
+    "element-ui",
+    "boilerplate",
+    "admin-template",
+    "management-system"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://gitee.com/y_project/RuoYi-Vue.git"
+  },
+  "dependencies": {
+    "@fullcalendar/core": "^4.4.0",
+    "@fullcalendar/daygrid": "^4.4.0",
+    "@fullcalendar/interaction": "^4.4.0",
+    "@fullcalendar/list": "^4.4.0",
+    "@fullcalendar/moment": "^4.4.0",
+    "@fullcalendar/timegrid": "^4.4.0",
+    "@fullcalendar/vue": "^4.4.0",
+    "@riophae/vue-treeselect": "0.4.0",
+    "axios": "0.18.1",
+    "clipboard": "2.0.4",
+    "echarts": "4.2.1",
+    "element-ui": "2.13.0",
+    "file-saver": "2.0.1",
+    "fuse.js": "3.4.4",
+    "js-beautify": "^1.10.2",
+    "js-cookie": "2.2.0",
+    "jsencrypt": "3.0.0-rc.1",
+    "normalize.css": "7.0.0",
+    "nprogress": "0.2.0",
+    "path-to-regexp": "2.4.0",
+    "screenfull": "4.2.0",
+    "sortablejs": "1.8.4",
+    "v-distpicker": "^1.2.2",
+    "vue": "2.6.10",
+    "vue-count-to": "1.0.13",
+    "vue-cropper": "0.4.9",
+    "vue-quill-editor": "3.0.6",
+    "vue-router": "3.0.2",
+    "vue-splitpane": "1.0.4",
+    "vuedraggable": "2.20.0",
+    "vuex": "3.1.0"
+  },
+  "devDependencies": {
+    "@babel/core": "7.0.0",
+    "@babel/register": "7.0.0",
+    "@babel/parser": "^7.7.4",
+    "@vue/cli-plugin-babel": "3.5.3",
+    "@vue/cli-plugin-eslint": "^3.9.1",
+    "@vue/cli-plugin-unit-jest": "3.5.3",
+    "@vue/cli-service": "3.5.3",
+    "@vue/test-utils": "1.0.0-beta.29",
+    "autoprefixer": "^9.5.1",
+    "babel-core": "7.0.0-bridge.0",
+    "babel-eslint": "10.0.1",
+    "babel-jest": "23.6.0",
+    "chalk": "2.4.2",
+    "chokidar": "2.1.5",
+    "connect": "3.6.6",
+    "eslint": "5.15.3",
+    "eslint-plugin-vue": "5.2.2",
+    "html-webpack-plugin": "3.2.0",
+    "http-proxy-middleware": "^0.19.1",
+    "husky": "1.3.1",
+    "lint-staged": "8.1.5",
+    "mockjs": "1.0.1-beta3",
+    "node-sass": "^4.9.0",
+    "plop": "2.3.0",
+    "runjs": "^4.3.2",
+    "sass-loader": "^7.1.0",
+    "script-ext-html-webpack-plugin": "2.1.3",
+    "script-loader": "0.7.2",
+    "serve-static": "^1.13.2",
+    "svg-sprite-loader": "4.1.3",
+    "svgo": "1.2.0",
+    "vue-template-compiler": "2.6.10"
+  },
+  "engines": {
+    "node": ">=8.9",
+    "npm": ">= 3.0.0"
+  },
+  "browserslist": [
+    "> 1%",
+    "last 2 versions"
+  ],
+  "main": ".eslintrc.js"
+}
diff --git a/ruoyi-ui/src/api/benyi/calendar.js b/ruoyi-ui/src/api/benyi/calendar.js
index fb512aab5..23e91790a 100644
--- a/ruoyi-ui/src/api/benyi/calendar.js
+++ b/ruoyi-ui/src/api/benyi/calendar.js
@@ -50,4 +50,13 @@ export function exportCalendar(query) {
     method: 'get',
     params: query
   })
+}
+
+// 查询园历列表
+export function getAllSchoolCalendars(query) {
+  return request({
+    url: '/benyi/calendar/getAllSchoolCalendars',
+    method: 'get',
+    params: query
+  })
 }
\ No newline at end of file
diff --git a/ruoyi-ui/src/views/benyi/calendarshow/index.vue b/ruoyi-ui/src/views/benyi/calendarshow/index.vue
new file mode 100644
index 000000000..af0893c33
--- /dev/null
+++ b/ruoyi-ui/src/views/benyi/calendarshow/index.vue
@@ -0,0 +1,164 @@
+<template>
+  <div class="app-container">
+    <el-row :gutter="24">
+      <el-col :span="4" :xs="24">
+        <el-button type="primary">日常活动</el-button>
+        <el-button type="success">教学活动</el-button>
+        <el-button type="info">大型活动</el-button>
+        <el-button type="warning">家长参与</el-button>
+        <el-button type="danger">节假日</el-button>
+        <!-- <Tag type="dot" :color="NORMAL_COLOR">未预约</Tag>
+        <Tag type="dot" :color="USED_COLOR">已预约</Tag>
+        <Tag type="dot" :color="DISABLED_COLOR">已停用</Tag> -->
+      </el-col>
+      <el-col :span="20" :xs="24">
+        <div>
+          <FullCalendar
+            ref="fullCalendar"
+            defaultView="dayGridMonth"
+            locale="zh-cn"
+            :header="header"
+            :buttonText="buttonText"
+            :plugins="calendarPlugins"
+            :weekends="calendarWeekends"
+            :views="views"
+            :events="calendarEvents"
+            :eventLimit="true"
+            :displayEventEnd="true"
+            eventLimitText="更多"
+            @dateClick="handleDateClick"
+            @eventClick="handleEventClick"
+            />
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import FullCalendar from '@fullcalendar/vue'
+import dayGridPlugin from '@fullcalendar/daygrid'
+import timeGridPlugin from '@fullcalendar/timegrid'
+import interactionPlugin from '@fullcalendar/interaction'
+import listPlugin from '@fullcalendar/list';
+import { getAllSchoolCalendars } from "@/api/benyi/calendar"
+export default {
+  name: 'fullcalendar_page',
+  components: {
+    FullCalendar
+  },
+  data () {
+    return {
+      // DISABLED_COLOR: '#c5c8ce',
+      // USED_COLOR: '#19be6b',
+      // NORMAL_COLOR: '#2db7f5',
+      views: {
+          list: {
+              noEventsMessage: '暂无日程'
+          }
+      },
+      header: {
+          left: 'prev,next today',
+          center: 'title',
+          right: 'dayGridMonth,timeGridWeek,timeGridDay listWeek'
+      },
+      buttonText: {
+          today: '今天',
+          month: '月',
+          week: '周',
+          day: '日',
+          list: '周列表'
+      },
+      calendarPlugins: [ // plugins must be defined in the JS
+        dayGridPlugin,
+        // timeGridPlugin,
+        interactionPlugin,// needed for dateClick
+        listPlugin 
+      ],
+      calendarWeekends: true,
+      calendarEvents: [ // initial event data
+        {
+          title: 'Event Now',
+          start: new Date(),
+          color: '#A61000'
+        }
+      ],
+      calendarApi: null,
+      calendarData: [],
+      queryParams: {}
+    }
+  },
+  created() {
+    getAllSchoolCalendars(this.queryParams).then(response => {
+        this.calendarEvents = response.calendarData;
+      });
+  },
+  methods: {
+    getCalendarEvents (info, successCallback, failureCallback) {
+      // const events = this.getSchoolCalendarList();
+      console.log("ceshi11111111");
+      getAllSchoolCalendars(this.queryParams).then(response => {
+        this.calendarData = response.calendarData;
+      });
+      console.log("ceshi22222222");
+      const events = this.calendarData;
+      console.log(this.calendarData);
+      console.log(events);
+      // const events = [
+      //   ...this.calendarEvents,
+      //   {
+      //     title: '五一劳动节',
+      //     start: '2020-05-01 00:00:00',
+      //     end: '2020-05-06 00:00:00',
+      //     color:'orange'
+      //   },
+      //   {
+      //     start: '2020-05-02 10:00:00',
+      //     end: '2020-05-02 14:00:00',
+      //     title: '东南大学计算机学术会议',
+      //     color:'green'
+      //   }
+      // ]
+      successCallback(events)
+    },
+    toggleWeekends () {
+      this.calendarWeekends = !this.calendarWeekends // update a property
+    },
+    gotoPast () {
+      this.calendarApi.gotoDate('2019-08-01') // call a method on the Calendar object
+    },
+    handleDateClick (arg) {
+      if (confirm('Would you like to add an event to ' + arg.dateStr + ' ?')) {
+        this.calendarEvents.push({ // add new event data
+          title: 'New Event',
+          start: arg.date,
+          allDay: arg.allDay
+        })
+      }
+      this.calendarApi.refetchEvents()
+    },
+    handleEventClick (info) {
+      alert('Event: ' + info.event.title)
+    }
+  },
+  mounted () {
+    this.calendarApi = this.$refs.fullCalendar.getApi()
+  }
+}
+</script>
+
+<style  lang="scss" scope>
+// you must include each plugins' css
+// paths prefixed with ~ signify node_modules
+@import '~@fullcalendar/core/main.css';
+@import '~@fullcalendar/daygrid/main.css';
+@import '~@fullcalendar/timegrid/main.css';
+@import '~@fullcalendar/list/main.css';
+.panel {
+    padding-top: 64px;
+    color: deeppink;
+  }
+  .calendar {
+    width: 820px;
+  }
+</style>
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByCalendarController.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByCalendarController.java
index 424f5b6ee..4c64e421c 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByCalendarController.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByCalendarController.java
@@ -1,6 +1,10 @@
 package com.ruoyi.project.benyi.controller;
 
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.List;
+
+import com.ruoyi.project.benyi.domain.ByCalendarShow;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -100,4 +104,34 @@ public class ByCalendarController extends BaseController
     {
         return toAjax(byCalendarService.deleteByCalendarByIds(ids));
     }
+
+    @PreAuthorize("@ss.hasPermi('benyi:schoolcalendar:list')")
+    @GetMapping("/getAllSchoolCalendars")
+    public AjaxResult getAllSchoolCalendars(ByCalendar byCalendar) {
+
+
+        List<ByCalendarShow> listvi= new ArrayList<>();
+        SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        //加载本一园历
+        List<ByCalendar> list = byCalendarService.selectByCalendarList(byCalendar);
+        for (ByCalendar calendar:list) {
+            ByCalendarShow by = new ByCalendarShow();
+            by.setId(calendar.getId());
+            by.setTitle(calendar.getName());
+            by.setStart(formatter.format(calendar.getActivitytime()));
+            by.setEnd(formatter.format(calendar.getActivityendtime()));
+            by.setColor(calendar.getStylecolor());
+            listvi.add(by);
+        }
+        //加载幼儿园园历
+
+        //接在班级园历
+
+
+
+        AjaxResult ajax = AjaxResult.success();
+        ajax.put("calendarData", listvi);
+        return ajax;
+
+    }
 }
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByCalendarShow.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByCalendarShow.java
new file mode 100644
index 000000000..6f72cf7ae
--- /dev/null
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByCalendarShow.java
@@ -0,0 +1,54 @@
+package com.ruoyi.project.benyi.domain;
+
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+
+import java.util.Date;
+
+public class ByCalendarShow {
+
+    private Long id;
+    private String title;
+    private String start;
+    private String end;
+    private String color;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getStart() {
+        return start;
+    }
+
+    public void setStart(String start) {
+        this.start = start;
+    }
+
+    public String getEnd() {
+        return end;
+    }
+
+    public void setEnd(String end) {
+        this.end = end;
+    }
+
+    public String getColor() {
+        return color;
+    }
+
+    public void setColor(String color) {
+        this.color = color;
+    }
+}