103 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | ||
|   <div class="dashboard-editor-container">
 | ||
|     <el-row :gutter="32">
 | ||
|       <el-col :xs="24" :sm="24" :lg="8">
 | ||
|         <div class="chart-wrapper">
 | ||
|           <raddar-chart />
 | ||
|         </div>
 | ||
|       </el-col>
 | ||
|       <el-col :xs="24" :sm="24" :lg="8">
 | ||
|         <div class="chart-wrapper">
 | ||
|           <pie-chart />
 | ||
|         </div>
 | ||
|       </el-col>
 | ||
|       <el-col :xs="24" :sm="24" :lg="8">
 | ||
|         <div class="chart-wrapper">
 | ||
|           <bar-chart />
 | ||
|         </div>
 | ||
|       </el-col>
 | ||
|     </el-row>
 | ||
|     <el-row :gutter="32">
 | ||
|       <el-calendar v-model="value" id="calendar">
 | ||
|         <!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法-->
 | ||
|         <template slot="dateCell" slot-scope="{date, data}">
 | ||
|           <!--自定义内容-->
 | ||
|           <div>
 | ||
|             <div class="calendar-day">{{ data.day.split('-').slice(2).join('-') }}</div>
 | ||
|             <div v-for="(item,index) in calendarData" :key="index">
 | ||
|               <div v-if="(item.years).indexOf(data.day.split('-').slice(0)[0])!=-1">
 | ||
|                 <div v-if="(item.months).indexOf(data.day.split('-').slice(1)[0])!=-1">
 | ||
|                   <div v-if="(item.days).indexOf(data.day.split('-').slice(2).join('-'))!=-1">
 | ||
|                     <el-tooltip class="item" effect="dark" :content="item.things" placement="right">
 | ||
|                       <div class="is-selected">{{item.things}}</div>
 | ||
|                     </el-tooltip>
 | ||
|                   </div>
 | ||
|                   <div v-else></div>
 | ||
|                 </div>
 | ||
|                 <div v-else></div>
 | ||
|               </div>
 | ||
|               <div v-else></div>
 | ||
|             </div>
 | ||
|           </div>
 | ||
|         </template>
 | ||
|       </el-calendar>
 | ||
|     </el-row>
 | ||
|   </div>
 | ||
| </template>
 | ||
| 
 | ||
| <script>
 | ||
| import RaddarChart from "./dashboard/RaddarChart";
 | ||
| import PieChart from "./dashboard/PieChart";
 | ||
| import BarChart from "./dashboard/BarChart";
 | ||
| import { getSchoolCalendars } from "@/api/benyi/schoolcalendar";
 | ||
| 
 | ||
| export default {
 | ||
|   name: "Index",
 | ||
|   name: "calendar",
 | ||
|   components: {
 | ||
|     RaddarChart,
 | ||
|     PieChart,
 | ||
|     BarChart
 | ||
|   },
 | ||
|   data() {
 | ||
|     return {
 | ||
|       calendarData: [],
 | ||
|       value: new Date(),
 | ||
|       // 查询参数
 | ||
|       queryParams: {}
 | ||
|     };
 | ||
|   },
 | ||
|   created() {
 | ||
|     this.getSchoolCalendarList();
 | ||
|   },
 | ||
|   methods: {
 | ||
|     /** 查询园历列表 */
 | ||
|     getSchoolCalendarList() {
 | ||
|       getSchoolCalendars(this.queryParams).then(response => {
 | ||
|         this.calendarData = response.calendarData;
 | ||
|       });
 | ||
|     }
 | ||
|   }
 | ||
| };
 | ||
| </script>
 | ||
| 
 | ||
| <style lang="scss" scoped>
 | ||
| .dashboard-editor-container {
 | ||
|   padding: 32px;
 | ||
|   background-color: rgb(240, 242, 245);
 | ||
|   position: relative;
 | ||
| 
 | ||
|   .chart-wrapper {
 | ||
|     background: #fff;
 | ||
|     padding: 16px 16px 0;
 | ||
|     margin-bottom: 32px;
 | ||
|   }
 | ||
| }
 | ||
| 
 | ||
| @media (max-width: 1024px) {
 | ||
|   .chart-wrapper {
 | ||
|     padding: 8px;
 | ||
|   }
 | ||
| }
 | ||
| </style>
 |