var types = new MeetingList.EventList(msg);

$(".divclass").html(types.Build(new Date($("#_start").val()), new Date($("#_end").val())));

/**
*
*
*
*/
var MeetingList;
(function (MeetingList) {
var TimeItem = (function () {
function TimeItem() {
}
return TimeItem;
})();
MeetingList.TimeItem = TimeItem;
var Type = (function () {
function Type() {
}
return Type;
})();
MeetingList.Type = Type;
var TypeEvent = (function () {
function TypeEvent() {
}
return TypeEvent;
})();
MeetingList.TypeEvent = TypeEvent;
var EventList = (function () {
function EventList(myJson) {
this.TypeEvent = myJson.TypeEvent;
this.Type = myJson.Type;
}
EventList.prototype.Build = function (date1, date2) {
//打印列表标题
var ListTitle = "<div class=\"tie_more clearfix color_f font12\"><ul><li class=\"www1\">日期</li><li class=\"www2 tc\">会议标题</li><li class=\"www3 tc\">会议时间</li><li class=\"www4 tc\">会议室</li><li class=\"www5 tc\">主持人</li><li class=\"www6 tc\">召集部门</li></ul></div>";
//列表正文
var ListBody = "<div class=\"tab_con font12\"><table width=\"100%\" border=\"0\"><tbody>";

//获取2个日期间所有天数
var dateArr = this.GetAllDays(date1, date2);

for (var i = 0; i < dateArr.length; i++) {
var curList = "<tr class=\"bor_b\">";
////获取当前日期的数据
var curDatas = this.GetCurDateDatas(dateArr[i]);
//第一列
var weekDay = this.GetWeekDay(dateArr[i]);

if (curDatas.length == 0) {
curList += "<td class=\"color_6 tc wbg1 pb10 pt10\" width=\"79\">{0}<br>{1}</td>";
}
else {
curList += "<td class=\"color_6 tc wbg1 pb10\" width=\"79\">{0}<br>{1}</td>";

}
curList = curList.replace("{0}", weekDay);

curList = curList.replace("{1}", this.FormatDate1(dateArr[i]));

//第二列
curList += "<td class=\"pb10\">";
for (var ii = 0; ii < curDatas.length; ii++) {
var curItemData = curDatas[ii];
var curBeginTime = new Date(curItemData.BeginTime.toString().replace(/-/g, "/"));
var curEndTime = new Date(curItemData.EndTime.toString().replace(/-/g, "/"));
curList += "<div class=\"f_w clearfix tc\"><div class=\"fl www2 mart1\">{0}</div><div class=\"fl www3 color_6\">{1}</div><div class=\"fl www4 color_6\">{2}</div><div class=\"fl www5\">{3}</div><div class=\"fl www61 color_6\">{4}</div></div><div class=\"clearfix mart15\"><h3 class=\"fl color_lh www4 tc\">{5}</h3><div class=\"fl color_6 www111\">{6}</div></div>"

curList = curList.replace("{0}", curItemData.Name);

curList = curList.replace("{1}", this.FormatDate2(curBeginTime) + "-" + this.FormatDate2(curEndTime));
curList = curList.replace("{2}", this.GetMeetingRoomByTypeID(curItemData.TypeID));
curList = curList.replace("{3}", curItemData.Host);
curList = curList.replace("{4}", curItemData.CallDepartment);
curList = curList.replace("{5}", "出席部门");
curList = curList.replace("{6}", curItemData.AttendingDepartment);

}
curList += "</td>";
curList += "</tr>";
ListBody += curList;
}
ListBody += "</div></tbody></table>";

return ListTitle + ListBody;

};
//获取2个日期间所有的天数
EventList.prototype.GetAllDays = function (date1, date2) {
var dateArr = new Array();

var curDate = new Date(date1.toString());

while (curDate <= date2) {

dateArr.push(new Date(curDate.toString()));
var curDate = this.AddDate(curDate, 1);

}

return dateArr;
};
//日期加减
EventList.prototype.AddDate = function (date, days) {

var d = new Date(date.toString());

d.setDate(d.getDate() + days);
var m = d.getMonth();
return new Date(d.getFullYear(), m, d.getDate());
};
//日期转星期
EventList.prototype.GetWeekDay = function (date) {
var weekDay = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];

return weekDay[date.getDay()];
};
//获取当前日期对应的会议室信息
EventList.prototype.GetCurDateDatas = function (date) {
var curDatas = new Array();

for (var i = 0; i < this.TypeEvent.length; i++) {

var item = this.TypeEvent[i];

var curBeginTime = new Date(item.BeginTime.toString().replace(/-/g, "/"));

if (this.FormatDate1(curBeginTime) == this.FormatDate1(date)) {
curDatas.push(item);
}
}
return curDatas;

};
//获取当前会议室ID对应的会议室name
EventList.prototype.GetMeetingRoomByTypeID = function (typeID) {
for (var i = 0; i < this.Type.length; i++) {
var item = this.Type[i];
if (item.ID == typeID) {
return item.Name;
}
}
}
//返回2015-11-11格式
EventList.prototype.FormatDate1 = function (date) {

return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
};
//返回H:mm格式
EventList.prototype.FormatDate2 = function (date) {
return date.getHours() + ':' + date.getMinutes();
};

return EventList;
})();
MeetingList.EventList = EventList;

})(MeetingList || (MeetingList = {}));

JS命名空间实例的更多相关文章

  1. js命名空间笔记

    在量比较大或者多人编写的情况下,命名冲突就很有可能发生,同一个页面引用了两个命名相同功能不同的文件,调用的时候就会出问题.因此使用JS命名空间很重要. 1.采用字面量方法创建命名空间: var a={ ...

  2. Node.js入门实例程序

    在使用Node.js创建实际“Hello, World!”应用程序之前,让我们看看Node.js的应用程序的部分.Node.js应用程序由以下三个重要组成部分: 导入需要模块: 我们使用require ...

  3. js命名空间的使用

    js命名空间的使用: test.html 代码如下: <!DOCTYPE HTML><html lang="en-US"><head>    & ...

  4. jQuery图片懒加载插件jquery.lazyload.js使用实例注意事项说明

    jQuery图片懒加载插件jquery.lazyload.js使用实例注意事项说明 jquery.lazyload.js是一个用JavaScript编写的jQuery插件.它可以延迟加载长页面中的图片 ...

  5. jQuery懒加载插件jquery.lazyload.js使用说明实例

    jQuery懒加载插件jquery.lazyload.js使用说明实例很多网站都会用到‘图片懒加载’这种方式对网站进行优化,即延迟加载图片或符合某些条件才开始加载图片.懒加载原理:浏览器会自动对页面中 ...

  6. js分页实例

    js分页实例 案例1 1.js_pageusers.html <!DOCTYPE html> <html> <head> <title>js_pageu ...

  7. JS hashMap实例详解

    链接:http://www.jb51.net/article/85111.htm JS hashMap实例详解 作者:囧侠 字体:[增加 减小] 类型:转载 时间:2016-05-26我要评论 这篇文 ...

  8. Python爬虫教程-16-破解js加密实例(有道在线翻译)

    python爬虫教程-16-破解js加密实例(有道在线翻译) 在爬虫爬取网站的时候,经常遇到一些反爬虫技术,比如: 加cookie,身份验证UserAgent 图形验证,还有很难破解的滑动验证 js签 ...

  9. Python3.2官方文档翻译--作用域和命名空间实例

    6.2.1 作用域和命名空间实例 以下的实例主要用来示范怎样引用不同的作用域和命名空间,keywordglobal和nonlocalru怎样影响变量绑定. 实例执行结果是: After local a ...

随机推荐

  1. 使用Graph工具观察FFT波形

    2014年8月1日,经过很长时间的上网查阅资料,走了很多弯路,终于可以成功使用Graph工具仿真波形了,虽然这个的确很简单,但是经过自己摸索出来的,兴奋之情难于言表. 明天就是七夕了,刚和女朋友分手的 ...

  2. 第十章 DOM

    10.1节点层次 html元素通过元素节点表示,特性节点通过特性节点表示,文档类型节点通过文档类型节点访问,这些类型都继承一个基类型. 10.1.1 Node类型 JavaScript中的所有节点类型 ...

  3. angularjs(二)模板终常用的指令的使用方法

    通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板 ...

  4. [转载] Android动态加载Dex机制解析

    本文转载自: http://blog.csdn.net/wy353208214/article/details/50859422 1.什么是类加载器? 类加载器(class loader)是 Java ...

  5. iOS架构基础

    1.概念:架构其实是一个设计上的东西,它可以小到类类之间的交互,可以大到不痛的模块之间,可以说不痛的业务部门之间的交互都可以从架构的层面去理解它. 2.解耦 方法一:代理 方法二:通知

  6. 安卓开发 想要获取某个View的高度(我是在做滚动浮层的时候用到的)

    1.activity中有个onWindowFocusChanged()方法,可以获取控件的大小,别的地方可能会调用过早导致获取不到实际的大小 @Override public void onWindo ...

  7. [goa]golang微服务框架学习(三)-- 使用swagger-ui展示API

    既然goa框架自动生成啦swagger-json文件,那么如何用swagger-ui展示出来呢? 这里分三步: 1.下载swagger-ui的web代码 2.添加swagger.json 和 swag ...

  8. command line

    command line terminal vim 编辑工具 vim 编辑命令 j 光标上移 k 光标下移 l 光标左移 h 光标右移 x / dd 删除一行 v 多行模式 :w 保存 :q 不保存退 ...

  9. 传统B2B中小型企业如何做好全网营销

    优网特独创全网营销服务理念,全网营销即以企业网站推广为核心,通过SEO.SEM.BBS营销.博客营销.微营销.即时通讯营销.网络口碑营销.视频营销.邮件营销.SNS营销等网络营销手段,全面提升企业网站 ...

  10. Ubuntu 16 安装odoo10 实录

    安装Ubuntu 16,省略 安装时,默认用户名为 odoo ubuntu 16开始 使用 systemd 管理服务,但是systemd 兼容 sysv init 脚本 下载 odoo源码 从 htt ...