json

<code>$calendar.fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek, agendaDay'
},

selectable: true,
selectHelper: true,

dayClick: function (start, end, allDay) { //创建工作记录
var $dialogContent = $("#div_editcontainer");
var project = $("#Project").val();
var bu = $("#SaleBU").val();
var starttime = (start.month() + 1) + "/" + start.date() + "/" + start.year() + " 00:00";
var worktype = $("#WorkType").val();
if (worktype == null || worktype == "") {
show_message("WorkType is required");
return false;
}
if (project == null || project == "") {
show_message("Project Code is required");
return false;
}
if (bu == null || bu == "") {
show_message("BU is required");
return false;
}
$dialogContent.find(".form-control").val("");
$('#ProjectCode').val(project);
$("#BU").val(bu);
$("#WorkTypeName").val($('#WorkType option:selected').text());
$("#StartTime").val(starttime);
$("#EndTime").val(starttime);
$dialogContent.dialog({
model: false,
title: "Add a new record",
width: 500,
resizable: false,
close: function () {
$dialogContent.hide();
},
buttons: {
Save: function () {
if ($("#StartTime").val() == starttime) {
show_message("请选择开始时间");
return false;
}
if ($("#EndTime").val() == starttime) {
show_message("请选择结束时间");
return false;
}
var startval = $("#StartTime").val().toString();
var endval = $("#EndTime").val().toString();
var startDate = startval.substr(6, 4).toString() + startval.substr(0, 2).toString() + startval.substr(3, 2).toString();
var endDate = endval.substr(6, 4).toString() + endval.substr(0, 2).toString() + endval.substr(3, 2).toString();
if (startDate > endDate) {
show_message("开始时间不能大于结束时间");
return false;
}
if (startDate == endDate) {
var startValue = startval.substr(11, 2).toString() + startval.substr(14, 2).toString();
var endValue = endval.substr(11, 2).toString() + endval.substr(14, 2).toString();
if (startValue >= endValue) {
show_message("开始时间不能大于结束时间");
return false;
}
}
$.ajax({
type: "POST",
url: '@Url.Action("CreateRecord")',
data: $dialogContent.find(".form-control").serialize(),
dataType: "json",
success: function (data) {
if (!data.Result) {
show_message(data.Message);
$dialogContent.dialog("close");
return false;
}
$calendar.fullCalendar('renderEvent', {
id: data.Value,
title: $("#Description").val(),
start: $("#StartTime").val(),
end: $("#EndTime").val(),
allDay: false
}, true);
$calendar.fullCalendar("unselect");
$dialogContent.dialog("close");
}
})
},
Cancel: function () {
$dialogContent.dialog("close");
}
}
}).show();
},

editable: false,
eventSources: function (start, end, callback) { //加载日程
var startTime = start.year() + "-" + (start.month() + 1) + "-" + start.date();
var endTime = end.year() + "-" + (end.month() + 1) + "-" + end.date();
$.ajax({
type: "GET",
url: '@Url.Action("GetRecords")',
data: { start: startTime, end: endTime },
dataType: "json",
success: function (data) {
if (!data.Result) {
show_message(data.Message);
return false;
}
$calendar.fullCalendar("removeEvents");
$.each(data.Value, function (index, text) {
$calendar.fullCalendar('renderEvent', {
id: text.ID,
title: text.Description,
start: text.StartTime,
end: text.EndTime,
allDay: false
}, true);
$calendar.fullCalendar("unselect");
});
}
})
},

eventClick: function (calEvent) { //展现、修改或者删除已经填写的内容
var $dialogContent = $('#div_editcontainer');
$.ajax({
type: "POST",
url: '@Url.Action("LoadRrecord")',
data: { id: calEvent.id },
dataType: "json",
success: function (data) {
if (!data.Result) {
$dialogContent.dialog("close");
return false;
}
var starttime = (calEvent.start.month() + 1) + "/" + calEvent.start.date() + "/" + calEvent.start.year() + " " + data.Value.StartTime;
var endtime = (calEvent.end.month() + 1) + "/" + calEvent.end.date() + "/" + calEvent.end.year() + " " + data.Value.EndTime;
$("#ID").val(data.Value.ID);
$("#ProjectCode").val(data.Value.ProjectCode);
$("#BU").val(data.Value.BU);
$("#WorkTypeName").val(data.Value.WorkTypeName);
$("#StartTime").val(starttime);
$("#EndTime").val(endtime);
$("#Description").val(data.Value.Description);
$dialogContent.dialog({
modal: true,
title: "A Work Record",
width: 500,
resizable: false,
close: function () {
$dialogContent.dialog("destroy");
$dialogContent.hide();
},
buttons: {
Cancel: function () {
$dialogContent.dialog("close");
},
Delete: function () { //删除
$.ajax({
type: "POST",
url: '@Url.Action("DeleteRecord")',
data: { id: calEvent.id },
dataType: "json",
success: function (data) {
if (!data.Result) {
show_message(data.Message);
return false;
}
$calendar.fullCalendar('removeEvents', calEvent.id);
$dialogContent.dialog("close");
}
})
},
Save: function () { //修改
var startTime = (calEvent.start.year() + "/" + (calEvent.start.month() + 1) + "/" + calEvent.start.date()) + " " + $("#StartTime").val();
var endTime = (calEvent.start.year() + "/" + (calEvent.start.month() + 1) + "/" + calEvent.start.date()) + " " + $("#EndTime").val();
//alert(calEvent.id);
$("#ID").val(calEvent.id);
$.ajax({
type: "POST",
url: '@Url.Action("UpdateRecord")',
data: $dialogContent.find(".form-control").serialize(),
dataType: "json",
success: function (data) {
if (!data.Result) {
show_message(data.Message);
return false;
}
$calendar.fullCalendar('removeEvents', calEvent.id);
$calendar.fullCalendar('renderEvent', {
id: data.Value,
title: $("#Description").val(),
start: $("#StartTime").val(),
end: $("#EndTime").val(),
allDay: false
}, true);
$calendar.fullCalendar("unselect");
$dialogContent.dialog("close");
}
})
}
}
}).show();
}
})
}
});
});
</script>
}

</code>

 

ViewBag.Title = "CreateRecord";

//Layout = "~/Views/Shared/_Layout_Management_Content.cshtml";
Layout = null;
}

<h2>CreateRecord</h2>
@using (Html.BeginForm())
{

@Html.HiddenFor(model => model.ID, new { @class = "form-control" })
<div class="div-input-group-table">
<div>
<div class="div-input-group-title" style="width:100px;">@Html.DisplayNameFor(model => model.ProjectCode)</div>
<div class="div-input-group-content">
@Html.TextBoxFor(model => model.ProjectCode, new { ReadOnly = true, @class = "form-control" })

</div>
</div>
</div>
@Html.ValidationMessageFor(model => model.ProjectCode)
<div class="div-input-group-table">
<div>
<div class="div-input-group-title" style="width:100px;">@Html.DisplayNameFor(model => model.BU)</div>
<div class="div-input-group-content">
@Html.TextBoxFor(model => model.BU, new { ReadOnly = true, @class = "form-control" })

</div>
</div>
</div>
@Html.ValidationMessageFor(model => model.BU)
<div class="div-input-group-table">
<div>
<div class="div-input-group-title" style="width:100px;">@Html.DisplayNameFor(model => model.WorkTypeName)</div>
<div class="div-input-group-content">
@Html.TextBoxFor(model => model.WorkTypeName, new { ReadOnly = true, @class = "form-control" })

</div>
</div>
</div>
<div>@Html.ValidationMessageFor(model => model.WorkTypeName)</div>
<div class="div-input-group-table">
<div>
<div class="div-input-group-title" style="width:100px;">@Html.DisplayNameFor(model => model.StartTime)</div>
<div class="div-input-group-content">
@Html.TextBoxFor(model => model.StartTime, new { @class = "form-control" })

</div>
</div>
</div>
@Html.ValidationMessageFor(model => model.StartTime)
<div class="div-input-group-table">
<div>
<div class="div-input-group-title" style="width:100px;">@Html.DisplayNameFor(model => model.EndTime)</div>
<div class="div-input-group-content">
@Html.TextBoxFor(model => model.EndTime, new { @class = "form-control" })

</div>
</div>
</div>
@Html.ValidationMessageFor(model => model.EndTime)
<div class="div-input-group-table">
<div>
<div class="div-input-group-title div-input-group-header">@Html.DisplayNameFor(model => model.Description)</div>
</div>
<div>
<div class="div-input-group-content">
@Html.TextAreaFor(model => model.Description, new { @class = "form-control" })
</div>
</div>
</div>
@Html.ValidationMessageFor(model => model.Description)
}

 

 

[HttpPost]
public JsonResult CreateRecord(TRMS.Timecard.Models.RecordModel recordmodel)
{
long logID = 0;
TRMS.BLL.Project.IProjectCode ProjectGroup = TRMS.BLL.FactoryManager.GetProjectFac();

TRMS.Model.TimeCard.WorkRecord record = new Model.TimeCard.WorkRecord()
{
StartTime = DateTime.Parse(recordmodel.StartTime),
EndTime = DateTime.Parse(recordmodel.EndTime),
ProjectID = ProjectGroup.GetByProjectAndBU(recordmodel.ProjectCode, recordmodel.BU).ID,
WorkType = (TRMS.Model.TimeCard.WorkType)Enum.Parse(typeof(TRMS.Model.TimeCard.WorkType), recordmodel.WorkTypeName, true),
Description = recordmodel.Description,
Duration = (DateTime.Parse(recordmodel.EndTime) - DateTime.Parse(recordmodel.StartTime)).TotalHours,
UserID = User.Identity.Name,
};
TRMS.BLL.TimeCard.IWorkRecord RecordGroup = TRMS.BLL.FactoryManager.GetWorkRecordFac();
if (RecordGroup.Add(record, User.Identity.Name, out logID))
{
var JsonData = new Model.ActionResult { Result = true, Value = record.ID.ToString(), LogID = logID.ToString() };
return Json(JsonData);
}
else
{
var JsonData = new Model.ActionResult { Result = false, Message = "增加WorkRecord失败, 请确认后重试" };
return Json(JsonData);
}
}

posted @ 2018-01-18 23:41  起个名字真麻烦  阅读(178)  评论(0编辑  收藏  举报