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