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('
' + ret.attachmentName
+ '' +
' ' +
'' +
''
);
}
}