zoukankan      html  css  js  c++  java
  • vue2.0 日历日程表 ,可进行二次开发.

    由于工作业务需求,要写一个日程表,日程表写之前 要先生成日历,废话不多说,直接 上代码:

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
        <meta name="renderer" content="webkit">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>日程表</title>
        <link rel="stylesheet" href="/selfsupermarketAdmin/views/common/css/common/app.css">
        <!--<link rel="stylesheet" href="/selfsupermarketAdmin/views/common/plugins/MintUI/style.css">-->
        <!--<link rel="stylesheet" href="/selfsupermarketAdmin/views/common/plugins/bootstrap-3.3.7/css/bootstrap.css">-->
        <link rel="stylesheet" href="/selfsupermarketAdmin/views/common/css/style.css">
        <style>
            * {
                box-sizing: border-box;
    
            }
    
            .rili {
                float: left;
                padding-left: 20px;
                font-size: 12px;
                overflow: hidden;
                min-width: 1050px;
                width: 100%;
            }
    
            .calendar {
                float: left;
                width: 23%;
                border: 1px solid #BEBFC1;
                margin-right: 20px;
                margin-top: 20px;
                height: 230px;
            }
    
            .calendar .calendar_title {
                padding: 0.5em 0 0.5em 0;
                text-align: center;
                border-bottom: 1px solid #BEBFC1;
            }
    
            .calendar .calendar_week {
                padding: 0.5em 0 0.5em 0;
            }
    
            .calendar .calendar_week span {
                width: 14.2857%;
                text-align: center;
                display: inline-block;
            }
    
            .calendar .calendar_dateCon span {
                padding: 0.5em 0 0.5em 0;
                width: 14.2857%;
                text-align: center;
                display: block;
                float: left;
            }
    
        </style>
    </head>
    <body class="container-fluid">
    <div id="vue" v-cloak>
        <div class="rili">
            <div class="calendar" v-for="(items,index) in rili.datas">
                <div class="calendar_title">{{index+1}}月</div>
                <div class="calendar_week">
                    <span>周日</span><span>周一</span><span>周二</span><span>周三</span><span>周四</span><span>周五</span><span>周六</span>
                </div>
                <div class="calendar_dateCon">
                    <span v-for="item in items" v-html="changeDate(item.date)"></span>
    
                </div>
            </div>
        </div>
    
    </div>
    <!--<script src="/selfsupermarketAdmin/views/common/plugins/echarts/echarts.min.js"></script>-->
    <script src="/selfsupermarketAdmin/views/common/plugins/vue/vue.js"></script>
    <script src="/selfsupermarketAdmin/views/common/plugins/jquery/jquery-1.9.1.min.js"></script>
    <!--<script src="./plugins/MintUI/index.js"></script>-->
    <!--<script src="/selfsupermarketAdmin/views/common/plugins/bootstrap-3.3.7/js/bootstrap.min.js"></script>-->
    <script src="/selfsupermarketAdmin/views/common/js/common.js"></script>
    
    <script>
        function getMonth(year) {
            var year = year || 2018;
            var dayMseconds = 86400000;
            var monthArr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
            var resultArr = [];
    
            function isRun() {      //判断是否是闰年
                if ((year % 400 == 0) || (year % 4 == 0) && (year % 100 != 0)) {
                    return true;
                } else {
                    return false;
                }
            }
    
            var run = isRun();
            for (var m = 1; m < 13; m++) {
                var arr = [];
                var firstday = new Date(year + "-" + m + "-01").getTime();//拿到时间戳
                var lastday = 30;
                var weekDay = new Date(firstday).getDay();      //根据时间戳,拿到本月第一天的星期
                var weekLastDay = weekDay + 31;   //拿到本月最后一天的星期
                switch (m) {
                    case 2:
                        if (run) {
                            lastday = new Date(year + "-" + m + "-29").getTime();
                            weekLastDay = weekDay + 29;
                        } else {
                            lastday = new Date(year + "-" + m + "-28").getTime();
                            weekLastDay = weekDay + 28;
                        }
                        break;
                    case 4:
                        lastday = new Date(year + "-" + m + "-30").getTime();
                        weekLastDay = weekDay + 30;
                        break;
                    case 6:
                        lastday = new Date(year + "-" + m + "-30").getTime();
                        weekLastDay = weekDay + 30;
                        break;
                    case 9:
                        lastday = new Date(year + "-" + m + "-30").getTime();
                        weekLastDay = weekDay + 30;
                        break;
                    case 11:
                        lastday = new Date(year + "-" + m + "-30").getTime();
                        weekLastDay = weekDay + 30;
                        break;
    
                    default :
                        lastday = new Date(year + "-" + m + "-31").getTime();//拿到时间戳
                        weekLastDay = weekDay + 31;
                        break;
    
                }
    
                var n = 0;
                for (var i = 0; i < 42; i++) {
                    var content = {date: '', class: ''};
                    if (i < weekDay || i > weekLastDay - 1) {
                        arr.push(content);
                    } else {
                        n++
                        arr.push(
                            {
                                day: new Date(firstday + dayMseconds * n - dayMseconds).getDate(),
                                date: firstday + dayMseconds * n - dayMseconds,
                                class: ''
                            }
                        )
                    }
    
                }
                resultArr.push(arr);
    
            }
            // console.log(resultArr)
            return resultArr
            // document.getElementById('box').innerHTML = JSON.stringify(arr);
        }
    
        //    var date = getMonth(2018);
    
        //  [[{date: '', class: ''}, {date: "当天时间戳", class: '类名'},],  //length:42 没有日期的是空]
        var vue = new Vue({
            el: "#vue",
            data: {
                rili: {
                    year: 2018,
                    datas: getMonth(2018)
    
                }
            },
            computed: {},
            created: function () {
    
            },
            mounted: function () {
    
            },
    
            methods: {
                changeDate: function (date) {
                    if (date) {
                        return new Date(date).getDate()
                    } else {
                        return ''
                    }
    
                }
            },
            watch: {}
        })
    
    
    </script>
    </body>
    
    </html>

    效果图如下:

    需要的朋友可以参考一下

    在下面打个小广告:

    本人在业余时间,可以帮有需要的朋友解决技术上的问题,和接一些 页面定制开发。个人接单,价格实惠,只当是多交些朋友了。

     在下面打个小广告:

    本人在业余时间,可以帮有需要的朋友解决技术上的问题,和接一些 页面定制开发。个人接单,价格实惠,只当是多交些朋友了。

  • 相关阅读:
    Sql Server 2008卸载后再次安装一直报错
    listbox 报错 Cannot have multiple items selected when the SelectionMode is Single.
    Sql Server 2008修改Sa密码
    学习正则表达式
    Sql Server 查询第30条数据到第40条记录数
    Sql Server 复制表
    Sql 常见面试题
    Sql Server 简单查询 异步服务器更新语句
    jQuery stop()用法以及案例展示
    CSS3打造不断旋转的CD封面
  • 原文地址:https://www.cnblogs.com/lguow/p/9791354.html
Copyright © 2011-2022 走看看