<script type= "text/javascript" charset= "utf-8" >
var TaskAddressArray = new Array(); //任务地址集合
var TaskArray = new Array(); //任务集合
//Array Remove - By James (MIT Licensed)
Array.prototype.remove = function (from, to) {
var rest = this .slice((to || from) + 1 || this .length);
this .length = from < 0 ? this .length + from : from;
return this .push.apply( this , rest);
};
///获取任务对象信息
function gettaskmodel(Addresslist) {
var taskmodel = new Object();
taskmodel.Goal = $( "#obj_tbx" ).val(); //目标对象
taskmodel.Group = $( "#Group_ddl" ).val(); //工作组值
taskmodel.GroupName = $( "#Group_ddl" ).find( "option:selected" ).text(); //工作组名称
taskmodel.ProjectType = $( "#ProjectType_ddl" ).val(); //项目分类值
taskmodel.ProjectTypeName = $( "#ProjectType_ddl" ).find( "option:selected" ).text(); //项目分类名称
taskmodel.Score = $( "#score_ddl" ).val(); //等级积分值
taskmodel.ScoreName = $( "#score_ddl" ).find( "option:selected" ).text(); //等级积分名称
taskmodel.CarryDate = $( "#request_tbx" ).val(); //要求完成时间
taskmodel.Special = $( "#special_tbx" ).val(); //特殊要求
taskmodel.Address = Addresslist; //任务地址集合
taskmodel.UploadFile = eval($( "#hdJSON" ).val()); //获取上传文件
return taskmodel;
}
///获取地址对象信息
function gettaskaddressmodel() {
var taskaddress = new Object(); //调查地址
taskaddress.province = $( "#ddl_province" ).val(); //省份代码
taskaddress.provinceName = $( "#ddl_province" ).find( "option:selected" ).text(); //省份名称
taskaddress.city = $( "#ddl_city" ).val(); //城市代码
taskaddress.cityName = $( "#ddl_city" ).find( "option:selected" ).text(); //城市名称
taskaddress.counties = $( "#ddl_counties" ).val(); //区域代码
taskaddress.countiesName = $( "#ddl_counties" ).find( "option:selected" ).text(); //区域名称
taskaddress.detail = $( "#adress_tbx" ).val(); //详细地址
return taskaddress;
}
//清空表单
function ClearForm() {
$( "#obj_tbx" ).val( "" );
$( ".addForm select" ).find( "option[value='']" ).attr( "selected" , true );
$( "#request_tbx" ).val( "" );
$( "#special_tbx" ).val( "" );
$( "#adress_tbx" ).val( "" );
$( "#hdJSON" ).val( "" );
$( "#tb_fileview" ).attr( "style" , "display:none" );
$( "#tb_fileview" ).find( "tbody" ).html( "" );
TaskAddressArray = []; //清空地址数组
ShowAddress();
}
//表单赋值
function SetForm(index) {
$( "#obj_tbx" ).val(TaskArray[index].Goal);
$( "#Group_ddl" ).find( "option[value='" + TaskArray[index].Group + "']" ).attr( "selected" , true );
$( "#ProjectType_ddl" ).find( "option[value='" + TaskArray[index].ProjectType + "']" ).attr( "selected" , true );
$( "#score_ddl" ).find( "option[value='" + TaskArray[index].Score + "']" ).attr( "selected" , true );
$( "#request_tbx" ).val(TaskArray[index].CarryDate);
$( "#special_tbx" ).val(TaskArray[index].Special);
$( "#hdJSON" ).val(JSON.stringify(TaskArray[index].UploadFile));
TaskAddressArray = TaskArray[index].Address;
ShowAddress();
ShowUpLoadFile(index);
$( "#btn_release,#btn_add" ).attr( "style" , "display:none" );
$( "#btn_update" ).removeAttr( "style" ).attr( "onclick" , "UpdateForm(" + index + ")" );
}
//更新列表
function UpdateForm(index) {
var TaskModel = gettaskmodel(TaskAddressArray);
ClearForm();
TaskArray.splice(index, 1, TaskModel);
ShowTaskView();
$( "#btn_release,#btn_add" ).removeAttr( "style" );
$( "#btn_update" ).removeAttr( "onclick" ).attr( "style" , "display:none" );
}
//添加地址事件
function Address_Click() {
var TaskAddressModel = gettaskaddressmodel();
if (TaskAddressModel.province == "" || TaskAddressModel.city == "" || TaskAddressModel.counties == "" || TaskAddressModel.detail == "" ) {
alert( "您填写的地址不完整,请填写完整!" );
return ;
}
TaskAddressArray.push(TaskAddressModel);
ShowAddress();
}
///显示地址
function ShowAddress() {
$( "#result" ).html( "" );
for ( var i = 0; i < TaskAddressArray.length; i++) {
$( "#result" ).append( "<p>" +
TaskAddressArray[i].provinceName +
TaskAddressArray[i].cityName +
TaskAddressArray[i].countiesName +
TaskAddressArray[i].detail + " <a href=\"javascript:void(0);\" onclick=\"RemoverAddress_Click(" + i + ")\">删除</a></p>" );
}
}
function ShowUpLoadFile(index) {
var FileArray = eval($( "#hdJSON" ).val());
if (FileArray.length > 0) {
$( "#tb_fileview" ).removeAttr( "style" );
$( "#tb_fileview" ).find( "tbody" ).html( "" );
for ( var i = 0; i < FileArray.length; i++) {
var trStr = "<tr>" +
"<td>" + FileArray[i].FileName + "</td>" +
"<td>" + FileArray[i].FileSize + "</td>" +
"<td>" +
"<a href=\"javascript:void(0)\" onclick=\"RemoveFileView_Click(" + i + ")\">删除</a></td>" +
"</tr>" ;
$( "#tb_fileview" ).find( "tbody" ).append(trStr);
}
}
}
//移除上传文件
function RemoveFileView_Click(index) {
var FileArray = eval($( "#hdJSON" ).val());
FileArray.remove(index);
$( "#hdJSON" ).val(JSON.stringify(FileArray));
ShowUpLoadFile();
}
//移除地址数组
function RemoverAddress_Click(id) {
TaskAddressArray.remove(id);
ShowAddress();
}
//移除任务数组
function RemoveTaskView_Click(id) {
TaskArray.remove(id);
ShowTaskView();
}
///添加子任务
function AddSubtasks_Click() {
if (TaskAddressArray.length == 0) {
alert( "您尚未添加任务地址,请正确添加任务地址!" );
return ;
}
var TaskModel = gettaskmodel(TaskAddressArray);
ClearForm();
TaskArray.push(TaskModel);
ShowTaskView();
}
//任务列表
function ShowTaskView() {
$( "#tb_taskview" ).find( "tbody" ).html( "" );
if (TaskArray.length == 0) {
alert( "没有找到有效的任务数据!" );
return ;
}
var ico = "" ;
for ( var i = 0; i < TaskArray.length; i++) {
if (i == 0) {
ico = "<span style=\"color:red;font-weight: bold;\">(主)</span>" ;
} else {
ico = "<span style=\"color:green;font-weight: bold;\">(次)</span>" ;
}
var trStr = "<tr>" +
"<td>" + ico + "</td>" +
"<td>" + TaskArray[i].GroupName + "</td>" +
"<td>" + TaskArray[i].ProjectTypeName + "</td>" +
"<td>" + TaskArray[i].ScoreName + "</td>" +
"<td>" + TaskArray[i].Goal + "</td>" +
"<td>" + TaskArray[i].Address[0].provinceName + "</td>" +
"<td>" + TaskArray[i].Address[0].cityName + "</td>" +
"<td>" + TaskArray[i].Address[0].countiesName + "</td>" +
"<td>" + TaskArray[i].Address[0].detail + "</td>" +
"<td>" + TaskArray[i].CarryDate + "</td>" +
"<td>" + TaskArray[i].Special + "</td>" +
"<td>" +
"<a href=\"javascript:void(0)\" onclick=\"SetForm(" + i + ")\">编辑</a> " +
"<a href=\"javascript:void(0)\" onclick=\"RemoveTaskView_Click(" + i + ")\">删除</a></td>" +
"</tr>" ;
$( "#tb_taskview" ).find( "tbody" ).append(trStr);
}
}
//提交任务信息
function SubmitTask_Click() {
if (TaskArray.length == 0) {
alert( "没有可以提交的任务信息,请确认已添加完成!" );
return ;
}
if (confirm( "您确定要提交该任务吗?" )) {
$.ajax({
type: "POST" ,
dataType: "JSON" ,
url: "/AjaxHandler/TaskHandler.ashx?action=save" ,
data: { TaskModel: JSON.stringify(TaskArray) },
success: function (data) {
if (data.code == 0) {
if (confirm(data.msg)) {
location.href = "TaskTracking.aspx" ;
} else {
location.href = location.href;
}
} else {
alert(data.msg);
}
},
error: function () {
alert( "任务信息提交失败,请稍候重试或联系管理员解决!" );
}
});
}
}
</script>
|