SharePoint客户端对象模型—任务日历生成

当前位置 : 首页 > 网页制作 > CSS > SharePoint客户端对象模型—任务日历生成

SharePoint客户端对象模型—任务日历生成

来源: 作者: 时间:2016-01-25 10:02
1,憋了好几天在经理帮助下用Js根据任务列表,生成的个人任务日历。(1)需要用到的CSS样式style type=text cssth ms-vh{ color:white; background-color:rgb(68, 68, 68); line-height:25px;
1,憋了好几天在经理帮助下用Js根据任务列表,生成的个人任务日历。
 
(1)需要用到的样式
 
 
<style type="text/css">
th.ms-vh
{
     color:white;
     background-color:rgb(68, 68, 68);
     line-height:25px;    
}
th.ms-vh td.ms-vb a
{
    color:white !important;
}
.taskstatus
{
    background-position:center center;
    background-repeat:no-repeat;
}
.datespan {
            height: 100%;
            text-align: left;
            overflow: hidden;
            padding-bottom: 5px;
            padding-left: 5px;
            font-family: Segoe UI;
            font-size: 8pt;
            float: left;
            white-space: nowrap;
        }
 
        .dateline {
            border-color: rgb(210, 210, 210);
            height: 100%;
            overflow: hidden;
            border-left-width: 1px;
            border-left-style: solid;
            float: left;
            white-space: nowrap;
        }
 
        .taskitem {
            height: 36px;
            background-color: rgb(216, 216, 216);
        }
 
        .taskitem span {
           color: rgb(68, 68, 68);
           font-family: Segoe UI;
           font-size: 8pt;
        }
        .ms-tl-mainArea{
            position:static !important;
            margin-bottom:10px;
    
        }
        .inline{
            display:none !important;
        }
        .ms-cui-topBarMaximized{
            display:none !important;
        }
        #CSRListViewControlDivQ2{
            display:none;
        }
        #Hero-WPQ2{
            display:none;
        }    
#contentBox
{
    margin-right:5px !important;
}
</style>
 
(2),用到的Js代码
   2.1  页面加载运行该方法
 
$(function () {
            ExecuteOrDelayUntilScriptLoaded(getcanderCertType, "sp.js");
 
        })
   2.2  根据当前项目和当前用户查询数据
 
 
function retrieveListItems() {
            var projectId = getQueryString('projectId');
            var userName = $("#O365_MainLink_Me").attr("title");
 
            var siteUrl = _spPageContextInfo.webServerRelativeUrl;
            var clientContext = new SP.ClientContext(siteUrl);
            //列表名一定要用中文
                var oList = clientContext.get_web().get_lists().getByTitle('项目工作项');
            var camlQuery = new SP.CamlQuery();
            camlQuery.set_viewXml(
                '<View><Query>' +
                '<Where>' +
                    '<And>' +
                    '<Eq>' +
                    '<FieldRef Name=\'Project\' LookupId=\'TRUE\'/><Value Type=\'Lookup\'>' + projectId + '</Value>' +
                    '</Eq>' +
                    '<Eq>' +
                    '<FieldRef Name=\'AssignedTo\'/><Value Type=\'User\'>' + userName + '</Value>' +
                    '</Eq>' +
                    '</And>' +
                '</Where></Query>' +
                '<RowLimit>10</RowLimit></View>'
            );
            this.collListItem = oList.getItems(camlQuery);
            clientContext.load(collListItem);
            clientContext.executeQueryAsync(
                Function.createDelegate(this, this.onQuerySucceeded),
                Function.createDelegate(this, this.onQueryFailed)
            );
        }
        function onQuerySucceeded(sender, args) {
            var listItemInfo = '';
            var listItemEnumerator = collListItem.getEnumerator();
            var today = new Date();
            today.setDate(today.getDate() + 14);
            var nowday = new Date();
            CreateTimeLine(nowday, today, listItemEnumerator);
        }
        function onQueryFailed(sender, args) {
            alert('Request failed. ' + args.get_message() +
                '\n' + args.get_stackTrace());
        }
 
  2.3  开始根据查询出来的数据动态生成HTML
 
 
function CreateTimeLine(startdate, enddate, listItemEnumeratorCertType) {
            //将时间段传进来
            var alldays = 14;
            //将时间段分为6部,每一步的天数
            var steplength = parseInt(alldays / 6);
            //如果小于零,至少有一部!!!我这儿用不到
            //if (steplength == 0) {
            //steplength++;
网友评论

<