/**
 * 上传附件使用说明书 
 * (0)首先要引用该js
 * (1)首先需要在你的form表单内增加上一行用于上传控件的展示位置 id为 upload_tr
 * (2)需要在该form表单加载前调用 showUpLoad()方法 
 * (3)如需要在修改页面展示该控件需要在展示页面的form('load',data)后加入 showUploadFile()方法
 * (4)在form提交的方法内需要获得attachments附件url 和 filename 附件名称两个变量通过url 或者填入表单方式进行提交
 * */
var updateNumShow = 500 //updateNumShow是生成页面显示使用的随机id
var attachments="";//公共变量用来存储上传文件的url
var filename="";//公共变量用来存储上传文件的name

//用来展示页面
function showUpLoad(){
	$("#upload_tr").html("<td align='right'></td><td  colspan='1' align='left'><span>选择要上传的文件:</span>"
			+"<input id='attachmentsId' type='file'  name='file' width='90%'  /></td><td><input id='importId' type='button' value='上传' name='import' style='width:80px;height:20px'"
			+" onclick='initImportData(\"attachmentsId\",\".docx;.pdf;.doc;\")'></td>");
	$("#upload_tr").after('<tr id="showAffixId"><td align="right"></td><td colspan="3"  align="left"></td></tr>');
}
//上传按钮的点击事件 
//id 为点击框的id,types是所包含的类型(内部以;号分割)
function initImportData(id,types,updateNumShow){ 
		if ($("#"+id).val().length > 0) {
			var fileNameAll = $("#"+id).val();
			var fileType=fileNameAll.substr(fileNameAll.lastIndexOf(".")).toLowerCase();//获得文件后缀名
			type = types.split(";");
			//判断是否包含上传文件类型
			var flag = isContainsType(fileType,types)
			if (flag) {//验证上传的文件为excel表格
				uploadFile(id,500);
			} else {
				alert("上传文件格式不对,请重新上传附件!!!");
			}
			
		} else {
			alert("请选择文件");
		}
	}

function isContainsType(fileType,types){
	var types = types.split(";");
	for(var i=0;i<types.length;i++){
		if(types[i]==fileType){
			return true;
		}
	}
	return false;
}
//上传方法
//id 为点击框的id
function uploadFile(id,updateNumShow){
	$.ajaxFileUpload({
		url : '/base/upload/uploadFileInvest',
		secureuri : false,
		type : 'post',
		fileElementId : id,// file标签的id
		dataType : 'text',// 返回数据的类型
		data : {
			name : 'logan'  
		},// 一同上传的数据
		success : function(data) { 
			if (data.indexOf(">") != -1 && data.lastIndexOf("<") != -1) {
				data = data.substring(data.indexOf(">") + 1, data
						.lastIndexOf("<"));
				data = eval("(" + data + ")");
				if (data.message!=0) {
					updateNumShow = updateNumShow+1;
					$("#showAffixId").after("<tr"+ " class='UpdatefileNameTrClass'><td></td><td "+ "colspan='2'"+ ">"+ data.fileName
							+ "&nbsp;&nbsp;&nbsp;&nbsp;<input id='fileNamesId" 
							+updateNumShow + "'"+ " class='fileNamesClass' type='button' "
							+ "value='删除' onClick='deleteAffixByAffixName(\""+ data.fileName+"\",\""+updateNumShow+ "\",\""+data.fileSavePath+"\")'/>"+ "</td><td></td></tr>");
					var result = attachments;
					attachments = data.fileSavePath+";"+result;// 存储的是上传的文件所在的文件夹的绝对路径
					var names = filename;
					filename=data.fileName+";"+names;// 存储的是上传的文件所在的文件夹的绝对路径
					$("#attachmentsUrlId").val(attachments);
					$("#attachementsNameId").val(filename);
				} else {
					$.messager.alert('提示', data.info, 'error');
				}
			}
		},
		error : function(data, status, e) {
			alert(e);
		}
	});
}

//删除选中的要导入的文件
function deleteAffixByAffixName(fileName,key,path) {
			$("#fileNamesId" + key).parent().parent().remove();
			if(!$(".UpdatefileNameTrClass")){
				$(".fileNamesClass").remove();
			}
			attachments = attachments.replace(path+";","");
			filename = filename.replace(fileName+";","");
		}

//通用清除方法 用来保证当你新增或修改时清理掉之前的信息
function cleanUpload (){
	 attachments="" //公共变量用来存储上传文件的url
	 filename="";
	$(".UpdatefileNameTrClass").empty();
}
//增加查看页面的附件显示方法(写在查看页面的表单load后)
function showUploadFile(urls,names){
	if(urls!=null&& urls!=""){
		var url  = urls.split(";");
		var name =	names.split(";");
		for(var i=0;i<url.length;i++){
			updateNumShow = updateNumShow+1;
			$("#showAffixId").after("<tr"+ " class='UpdatefileNameTrClass'><td></td><td "+ "colspan='2'"+ ">"+ name[i]
					+ "&nbsp;&nbsp;&nbsp;&nbsp;<input id='fileNamesId" 
					+updateNumShow + "'"+ " class='fileNamesClass' type='button' "
					+ "value='删除' onClick='deleteAffixByAffixName(\""+ name[i]+"\",\""+updateNumShow+ " \",\""+url[i]+"\")'/>"+ "</td><td></td></tr>");
			var result = attachments;
			attachments = url[i]+";"+result;// 存储的是上传的文件所在的文件夹的绝对路径
			var names = filename;
			filename=name[i]+";"+names;// 存储的是上传的文件所在的文件夹的绝对路径
		}
	}
}