来源:自学PHP网 时间:2015-04-14 14:51 作者: 阅读:次
[导读] 1,憋了好几天在经理帮助下用Js根据任务列表,生成的个人任务日历。(1)需要用到的CSS样式style type=text cssth ms-vh{ color:white; background-color:rgb(68, 68, 68); line-height:25px;...
1,憋了好几天在经理帮助下用Js根据任务列表,生成的个人任务日历。
(1)需要用到的CSS样式
<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;
}
#CSRListViewControlDivWPQ2{
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++;
/
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com