function file_upload_init() {
var TaskId = $('#pm-task-name').attr("data-id");
if(TaskId == undefined){
TaskId = PM.cache.currentEditTaskId
}
upload_exist_init(TaskId);
$('#file_upload').uploadify({
'formData' : {
'TaskId' : TaskId
},
'swf' : './js/uploadify/uploadify.swf',
'uploader' : contextPath+'/pm/task/addAttach',
'buttonText':'添加附件',
'removeCompleted':true,
'multi' :true,
//选择文件后自动上传
'auto': true,
'onUploadSuccess' : function(file,data,response){
upload_exist_init(TaskId);
return;
}
});
//点击粘贴截图
$("#pasteImg").bind("click", function(){
var $p = $("#attach_block").find(".pasteP");
if($p.size() == 0){
$p = $("
");
$del = $("X");
$del.bind("click", function(){ //删除粘贴截图的方框
$(this).parent().remove();
}).appendTo($p);
$("#attach_block").prepend($p);
}
$p.focus();
});
//粘贴图片时自动上传
$("#attach_block").on("paste", function(e){
if(e.originalEvent && e.originalEvent.clipboardData){
var url = contextPath + '/pm/task/addAttach';
var clipboard = e.originalEvent.clipboardData;
for(var i=0,len=clipboard.items.length; i -1) {
var imageFile = clipboard.items[i].getAsFile();
var form = new FormData;
form.append('t', 'ajax-uploadpic');
form.append('avatar', imageFile, "11.png");
form.append('TaskId', TaskId);
$.ajax({
url : url,
type: "POST",
data: form,
processData: false,
contentType: false,
beforeSend: function() {
},
error: function() {
},
success: function(file,data,response){
upload_exist_init(TaskId);
return;
}
})
e.preventDefault();
}
}
}
});
}
//初始化已经上传的附件
function upload_exist_init(TaskId){
var params = {};
params.id = TaskId;
$.getJSON("task/view.action",params,function(result){
var data = eval( '(' + result.data.attachment + ')' );
var keys = leng(data);
var contents="";//存放图片
var contentsOther="";//存放非图片
for(;keys.length>=1;){
var key = keys.pop();
var size = ''; //判断上传的图片是否有大小,图片的title显示图片名和图片大小
if(typeof(data[key].size) != "undefined"){
var size = ' , '+ bytesToSize(data[key].size);
}
var isPicture = data[key].name.substring(data[key].name.lastIndexOf('.') + 1);
switch(isPicture){//判断如果是图片就获取图片的路径并显示出来
case "png":
case "jpg":
case "jpeg":
case "gif":
var _url = contextPath + "/task/" + params.id + "/" + key + "." + isPicture;
contents= contents+"
X";
break;
default:
contentsOther= contentsOther+""+data[key].name+" X
";
break;
}
}
$('#attach_block_other').html(contentsOther);
$('#attach_block').html(contents);
$("#attach_block[data-view='viewer']").viewer('destroy').viewer();
$('.upload_exist_p').on("click",".upload_delete_a",function(){
if(confirm("确认删除附件吗?")){
var TaskId = $('#pm-task-name').attr("data-id");
var key = $(this).parent().attr("data-id");
params = {};
params.id = TaskId;
params.key = key;
$.getJSON("task/deleteAttachment.action",params,function(result){
upload_exist_init(TaskId);
});
}
});
$('.upload_exist_p').on("click",".upload_name_a",function(){
var TaskId = $('#pm-task-name').attr("data-id");
var id = $(this).parent().attr("data-id");
var fileName = $(this).attr("_filename");
var fileExtension = fileName.substring(fileName.lastIndexOf('.') + 1);
var params = {};
params.taskid = TaskId;
params.id = id;
switch(fileExtension){
case "png":
case "jpg":
case "jpeg":
case "gif":
break;
default:
var url = "task/download.action?taskid="+TaskId+"&id="+id;
window.open(url) ;
break;
}
});
});
}
function leng(data){
var jsonLength = 0;
var a = [];
for(var item in data){
a.push(item);
}
return a;
}
function bytesToSize(bytes) {
if (bytes === 0) return '0 B';
var k = 1024,
sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
i = Math.floor(Math.log(bytes) / Math.log(k));
return Math.round((bytes / Math.pow(k, i)).toPrecision(3)) + ' ' + sizes[i];
}