function setUploadFileMethod() { var fileList = Cyan.Arachne.form.preWorkDtoList; refactorUploadFileMethod(fileList, 'uploadFiles_', 'inputFile', 'uploadForm_', 'attachmentId_', 'file-list'); } /** * 设置附件上传的按钮事件 * * @param fileList 列表的数据 * @param uploadButtonName 每个上传文件的按钮id * @param fileInputName 每个上传文件的输入框id * @param uploadFormName 每个上传文件对应的form名称 * @param attachmentName 页面上存在每个附件的inputId * @param listName 附件展示的ul列表class名称 */ function refactorUploadFileMethod(fileList, uploadButtonName, fileInputName, uploadFormName, attachmentName, listName) { for (var i = 0; i < fileList.length; i++) { $('#' + uploadButtonName + i).bind("click", {index: i}, function (event) { var t = event.data.index; $('#' + fileInputName + t).click(); }); $('#' + fileInputName + i).bind("change", { index: i, uploadFormName: uploadFormName + i, attachmentName: attachmentName + i, listName: listName + i, attachmentId: fileList[i].attachmentId }, saveFileInit); } } function saveFileInit(event) { saveFileProcess(event.data.index, event.data.attachmentId, event.data.uploadFormName, event.data.attachmentName, event.data.listName); } function saveFileProcess(index, attachmentId, uploadFormName, attachmentName, listName) { saveFile2(attachmentId, 0, { callback: function (ret) { if (ret !== null) saveFileInfos2(ret, index, attachmentName, listName); }, wait: true, progress: true, form: $('#' + uploadFormName)[0].name }) } // 上传文件的接口 function saveFile2(attachmentId, index) { Cyan.Arachne.doPost("/emphasisJob/project/report/service/saveFileInfo?attachmentId=" + attachmentId + "&fileIndex=" + index, arguments, 3); } function saveFileInfos2(ret, index, attachmentName, listName) { if (ret !== null) { $('#' + attachmentName).attr("value", ret.attachmentId); $('.' + listName).append('<li class="tal attach-content" style="margin-top:8px;"><span class="attach-icon"></span><span class="attach-name">' + ret.attachmentName + '</span><a href="#" onclick="System.showAttachment(\'/attachment/' + ret.encodeId + '/' + ret.attachmentNo + '\',\'' + ret.extName + '\');return false;"' + 'target="_blank" class="search-btn"></a>' + '<a href="/attachment/' + ret.encodeId + '/' + ret.attachmentNo + '" class="download-btn"></a> ' + '<span class="delect-btn" onclick="deleteReportFile(this, \'' + ret.encodeId + '\',\'' + ret.attachmentNo + '\', ' + index + ')"></span>' + '</li>'); } }