钉钉E应用(小程序)之日历
唠叨几句:其实钉钉E应用的编写类似支付宝小程序(毕竟是阿里爸爸下的产业),而支付宝小程序又是借鉴微信小程序(只不过人家是wxml / wxss ,他是 axml / acss罢了),这三者可以说是同源了(大概)。只要熟悉微信小程序的,看着文档开发钉钉E应用便木有什么难度!!!
效果:

axml
<view class="page">
<text class="toptip"> 显示可选择的天数:{{booklist_len}}天
</text>
<view class='box1' style='width: {{ sysW * 7 }}rpx'>
<view class='dateBox'>{{ year }} 年 {{ month}} 月
</view>
<view class="weeklist">
<block a:for='{{ weekArr }}'>
<view key="{{item}}" style='width: {{ sysW }}rpx; height: {{ sysW }}rpx; line-height: {{ sysW }}rpx;'>
{{ item }}
</view>
</block>
</view>
<view class="daylist">
</view>
<block a:for='{{ arr }}'>
<view class="isrela" key="{{item}}">
<view
style='{{ index == 0 ? "margin-left:" + sysW * marLet + "rpx;" : "" }}width: {{ sysW }}rpx; height: {{ sysW }}rpx; line-height: {{ sysW }}rpx;'
class='{{ item.isbook?"isbook":"nobook"}}'>{{ item.day }}
</view>
<view class='{{item.day == getDate ? "dateOn" : "" }}'>
</view>
</view>
</block>
</view>
</view>
js
Page({
    data: {
        arr: [],
        sysW: null,
        lastDay: null,
        firstDay: null,
        weekArr: ['日', '一', '二', '三', '四', '五', '六'],
        year: null,
     //选中的日期,高亮显示
        booklist: ["1", "3", "10", "20", "23", "24", "25", "26"],
        booklist_len: '',
    },
    //获取日历相关参数
    dataTime: function () {
        var date = new Date();
        var year = date.getFullYear();
        var month = date.getMonth();
        var months = date.getMonth() + 1;
        //获取现今年/月/日/几号/星期几
        this.data.year = year;
        this.data.month = months;
        this.data.getDate = date.getDate();
        var d = new Date(year, months, 0);
        this.data.lastDay = d.getDate();
        let firstDay = new Date(year, month, 1);
        this.data.firstDay = firstDay.getDay();
    },
    onShow: function (options) {
        this.dataTime();
        //先清空数组,根据得到今月的最后一天日期遍历 得到所有日期
        if (this.data.arr) {
            this.data.arr = [];
        }
        for (var i = 0; i < this.data.lastDay; i++) {
            var obj = {};
            obj.day = i + 1;
            this.data.arr.push(obj);
            for (var j = 0; j < this.data.booklist.length; j++) {
                if (this.data.arr[i].day == this.data.booklist[j]) {
                    this.data.arr[i].isbook = 1
                }
            }
        }
        var res = dd.getSystemInfoSync();
        this.setData({
            sysW: res.windowHeight / 6.5,
            marLet: this.data.firstDay,
            arr: this.data.arr,
            year: this.data.year,
            getDate: this.data.getDate,
            month: this.data.month,
            booklist_len: this.data.booklist.length
        });
    },
});
acss
.toptip {
    font-size: 34rpx;
    color: #aaa;
}
.box1 .dateBox {
    width: 100%;
    height: 60rpx;
    line-height: 60rpx;
    text-align: center;
    margin-top: 40rpx;
    font-size: 50rpx;
    color: #282828;
}
.box1 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}
.box1>view {
    text-align: center;
    font-size: 34rpx;
}
.isrela {
    position: relative;
}
.weeklist {
    display: flex;
    justify-content: space-around;
    font-weight: bold;
    border-bottom: 1rpx solid #d0d0d0;
    color: #333;
}
.dateOn {
    position: absolute;
    bottom: 10rpx;
    left: 50%;
    width: 10rpx;
    height: 10rpx;
    margin-left: -3rpx;
    border-radius: 50%;
    background-color: blue;
}
.isbook {
    box-sizing: border-box;
    color: #3777b1;
    background-color: #9cbbd1;
    border: 1rpx solid #fff;
}
.nobook {
    color: #555;
}
注:转载请标明出处...
钉钉E应用(小程序)之日历的更多相关文章
- 微信小程序——极点日历使用方法
		
极点日历github项目地址 添加至自己的小程序方法 极点日历属性接口文档 代码实例: xml: <calendar calendar-style="calendar" he ...
 - 微信小程序组件   日历
		
js文件 'use strict'; let choose_year = null, choose_month = null; const conf = { data: { hasEm ...
 - 【微信小程序】日历插件,适用于酒店订房类小程序
		
本插件在原作者(传送门:http://blog.csdn.net/lengyue1084/article/details/71248778)基础上升级. 增加了点击选择具体日期和数据传输功能. 效果图 ...
 - 微信小程序酒店日历超强功能
		
首先利用date拿到年月日 月记得+1 ,因为是从0开始的 先遍历月份,跨年年+1 ,月归至1: 然后遍历天数, lastDat = new Date(val.year,val.month,0).ge ...
 - .NET平台下,钉钉微应用开发之:获取userid
		
工作需求,开发钉钉微应用和小程序,之前有接触过支付宝小程序和生活号的开发,流程没有很大的差别,这里记录下我用ASP.NET MVC实现钉钉微应用的开发,并实现获取用户的userid.小弟我技术有限,本 ...
 - 钉钉、阿里云和PaaS平台的整合开发
		
钉钉在企业移动办公领域有着很高的占有率,但是可能大家都会觉得,他在企业定制化,数据分析等领域有着很大的短板. 而我们的kintone作为PaaS平台,可以补足这个短板.很多开发者想知道如何利用钉钉还有 ...
 - 钉钉/支付宝小程序和微信小程序的区别及转换方案
		
最近接到一个工作任务,是把钉钉小程序转微信小程序... 对,居然还有这种操作,之前只听过微信小程序转支付宝小程序的,钉钉转微信是什么鬼
 - 钉钉小程序----使用阿里的F2图表
		
在钉钉小程序中使用F2的图表遇见很多问题 不能点击或者点击错乱的问题还没有解决,因为我解决不了........................... ------------------------- ...
 - 钉钉小程序不用canvas在后端绘图前端用image标签获取图片的实践
		
公司的需求要用电子员工卡代替用了N久的工作证,在各种场合刷二维码来代替刷卡.在钉钉小程序里实现.感觉这回又要躺坑里了. 钉钉小程序第一次做.我这个自封的GDI+大神才不要想用钉钉jsapi的方式用ca ...
 
随机推荐
- Windows完成端口编程
			
Windows完成端口编程目录一 基本概念二 OVERLAPPED数据结构三 完成端口的内部机制创建完成端口完成端口线程的工作原理线程间数据传递线程的安全退出 一 基本概念 设备---wi ...
 - ASP.NET 5 (vNext) 牛刀小試:自帶 DI 容器
			
小引 在 ASP.NET 5(vNext)之前,亦即 MVC 4/5.Web API 2 的时代,MVC 与 Web API 框架彼此有非常相似的设计,却是以不同的代码来实现.现在,ASP.NET 5 ...
 - jquery事件和动画操作集锦
			
一,事件 1,加载事件 1 2 3 4 5 6 $(document).ready(function(){ //todo }); //dom准备就绪后执行ready里面的函数,此时dom对应的相关 ...
 - java多线程之管道流
			
java语言中提供了各种各样的流供我们操纵数据,其中管道流(pipeStream)是一种特殊的流,用于在不同线程间直接传送数据. 一个线程发送数据到输出管道,另一个线程从输入管道读取数据,通过使用管道 ...
 - ZooKeeper学习第六期---ZooKeeper机制架构(转)
			
转载来源:https://www.cnblogs.com/sunddenly/p/4133784.html 一.ZooKeeper权限管理机制 1.1 权限管理ACL(Access Control L ...
 - Swagger API文档集中化注册管理
			
接口文档是前后端开发对接时很重要的一个组件.手动编写接口文档既费时,又存在文档不能随代码及时更新的问题,因此产生了像swagger这样的自动生成接口文档的框架.swagger文档一般是随项目代码生成与 ...
 - 【转】php7对redis的扩展及redis主从搭建
			
一:redis安装 1:下载并安装 cd /home/software wget http://download.redis.io/releases/redis-3.2.3.tar.gz ta ...
 - Laravel --- 【转】安装调试利器 Laravel Debugbar
			
[转]http://www.tuicool.com/articles/qYfmmur 1.简介 Laravel Debugbar 在 Laravel 5 中集成了 PHP Debug Bar ,用于显 ...
 - Laravel ---【转】PhpStorm下Laravel代码智能提示
			
[转]http://blog.csdn.net/pangchengyong0724/article/details/54706775 第一步:在项目的composer.json中添加如下一行 &quo ...
 - Hexo+NexT(五):Hexo第三方插件提供功能及配置
			
本篇文章介绍NexT中通过第三方实现的功能,有的需要通过额外的插件,有的需要通过第三方提供的功能.这些功能丰富了网站内容,弥补了原生静态网站的不足. Hexo博客专题索引页 增加百度统计分析功能 访问 ...