$(function () { autoFlashHeight(); $('#add-transfer-btn').on('click', function () { if ($('#transfer-date').val() === '') { toastr.error('请选择日期'); return false; } $('#add-transfer-form').submit(); }); $('body').on('click', '#transfer-list .del-transfer-btn', function () { const trid = $(this).data('id'); deleteAfterHint(function () { postData(window.location.pathname + '/update', {postType: 'del-transfer', postData: { node: trid }}, function (result) { window.location.reload(); }) }, '确认删除该资金划拨并移除所有附件?'); }); $('body').on('click', '.open-transfer-files', function () { const trid = $(this).attr('data-trid'); if (!trid) { toastr.error('获取资金划拨信息失败'); return; } const trInfo = _.find(transferList, { id: parseInt(trid) }); if (!trInfo) { toastr.error('获取资金划拨信息失败'); return; } if (trInfo.uid === user_id || financialPermission.transfer_file) { $('#transfer-file .upload-permission').show(); } else { $('#transfer-file .upload-permission').hide(); } $('#transfer-file').modal('show'); $('#transfer-file input[name="trid"]').val(trid); openFinancialTransferFiles(trInfo); }); // 上传附件 $('#transfer-file input[type="file"]').change(function () { const files = Array.from(this.files); const valiData = files.map(v => { const ext = v.name.substring(v.name.lastIndexOf('.') + 1) return { size: v.size, ext } }); const trid = $('#transfer-file input[name="trid"]').val(); const trInfo = _.find(transferList, { id: parseInt(trid) }); if (!trInfo) { toastr.warning('不存在该资金划拨'); $('#transfer-file input[type="file"]').val(''); return; } if (validateFiles(valiData)) { if (files.length) { const formData = new FormData() files.forEach(file => { formData.append('name', file.name) formData.append('size', file.size) formData.append('file', file) }) postDataWithFile('/financial/' + spid + '/transfer/' + trInfo.id + '/file/upload', formData, function (result) { trInfo.files = result; openFinancialTransferFiles(trInfo); $('#transfer-list tr[data-id="' + trInfo.id + '"] .file-num').text(trInfo.files.length ? trInfo.files.length : ''); }); } } $('#transfer-file input[type="file"]').val(''); }); $('body').on('click', '#transfer-file .file-del', function () { const trid = $('#transfer-file input[name="trid"]').val(); const trInfo = _.find(transferList, { id: parseInt(trid) }); if (!trInfo) { toastr.warning('不存在该资金划拨'); return; } const fid = $(this).data('id'); deleteAfterHint(function () { postData('/financial/' + spid + '/transfer/' + trInfo.id + '/file/delete', { id: fid }, function (result) { trInfo.files = result; openFinancialTransferFiles(trInfo); $('#transfer-list tr[data-id="' + trInfo.id + '"] .file-num').text(trInfo.files.length ? trInfo.files.length : ''); }); }, '确认删除该文件?'); }); function openFinancialTransferFiles(trInfo, _this = '#transfer-file table tbody') { const files = trInfo.files; let filesHtml = ''; const newFiles = files.map(file => { let showDel = false; if (file.uid === user_id) { showDel = true } return {...file, showDel} }) newFiles.forEach((file, idx) => { filesHtml += ` ${idx + 1}${file.filename}${file.username}${moment(file.upload_time).format('YYYY-MM-DD HH:mm:ss')}
${file.viewpath ? `` : ''} ${file.showDel ? `` : ''}
`; }); $(_this).html(filesHtml); } $('body').on('click', '#transfer-list .edit-remark', function () { const trid = $(this).data('id'); const trInfo = _.find(transferList, { id: trid }); if (!trInfo) { toastr.error('获取资金划拨信息失败'); return; } $('#edit-remark-modal .transfer-time').text(trInfo.t_time); $('#edit-remark-modal').modal('show'); $('#edit-remark-modal input[name="ftid"]').val(trid); $('#edit-remark-modal textarea[name="remark"]').val(trInfo.remark); }); $('#save-remark-btn').click(function () { const data = { id: parseInt($('#edit-remark-modal input[name="ftid"]').val()), remark: $('#edit-remark-modal textarea[name="remark"]').val(), } const trInfo = _.find(transferList, { id: data.id }); if (!trInfo) { toastr.error('获取资金划拨信息失败'); return; } postData(window.location.pathname + '/update', {postType: 'save-transfer', postData: data}, function (result) { trInfo.remark = data.remark; $('#edit-remark-modal').modal('hide'); $('#transfer-list tr[data-id="' + trInfo.id + '"] .show-remark').html(trInfo.remark); }); }); $.subMenu({ menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list', toMenu: '#to-menu', toMiniMenu: '#to-mini-menu', key: 'menu.1.0.0', miniHint: '#sub-mini-hint', hintKey: 'menu.hint.1.0.1', callback: function (info) { if (info.mini) { $('.panel-title').addClass('fluid'); $('#sub-menu').removeClass('panel-sidebar'); } else { $('.panel-title').removeClass('fluid'); $('#sub-menu').addClass('panel-sidebar'); } autoFlashHeight(); } }); }) /** * 校验文件大小、格式 * @param {Array} files 文件数组 */ function validateFiles(files) { if (files.length > 10) { toastr.error('至多同时上传10个文件'); return false } return files.every(file => { if (file.size > 1024 * 1024 * 30) { toastr.error('文件大小限制为30MB'); return false } if (whiteList.indexOf('.' + file.ext.toLowerCase()) === -1) { toastr.error('请上传正确的格式文件'); return false } return true }) }