<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> |