$(function () { autoFlashHeight(); $('#add-tender-btn').click(function () { const addTenders = []; $('#tenders tr').each(function () { if ($(this).find('input').is(':checked') && $(this).find('select').val().length > 0) { addTenders.push({ tid: $(this).find('input').val(), sorder: $(this).find('select').val(), }) } }); if (addTenders.length === 0) { toastr.warning('请选择添加标段及期数'); return false; } postData(window.location.pathname + '/update', {postType: 'add-tender', postData: { tenders: addTenders }}, function (result) { window.location.reload(); }); }); $('body').on('click', '#tender-list .del-tender-btn', function () { const ftid = $(this).data('id'); deleteAfterHint(function () { postData(window.location.pathname + '/update', {postType: 'del-tender', postData: { node: ftid }}, function (result) { window.location.reload(); }) }, '确认删除该标段并移除所有附件?'); }); $('#lock-transfer-btn').click(function () { postData(`/sp/${spid}/financial/transfer/update`, {postType: 'lock-transfer', postData: { node: trid, lock: 1 }}, function (result) { window.location.reload(); }); }); $('#unlock-transfer-btn').click(function () { postData(`/sp/${spid}/financial/transfer/update`, {postType: 'lock-transfer', postData: { node: trid, lock: 0 }}, function (result) { window.location.reload(); }); }); $('#tender-list input[type="text"]').change(function () { const ftid = $(this).data('ftid'); if (!ftid) { toastr.error('获取资金划拨标段信息失败'); return; } const ftInfo = _.find(tenderList, { id: parseInt(ftid) }); if (!ftInfo) { toastr.error('获取资金划拨信息失败'); return; } const value = $(this).val() || 0; // 判断只能输入数字,支持负数和小数 if (!/^-?\d+(\.\d+)?$/.test(value)) { toastr.error('请输入正确的金额'); $(this).val(ftInfo.hb_tp); return; } postData(window.location.pathname + '/update', {postType: 'update-hb_tp', postData: { node: ftid, hb_tp: parseFloat(value) }}, function (result) { // window.location.reload(); ftInfo.hb_tp = parseFloat(value); }); }); $('body').on('click', '.open-tender-files', function () { const ftid = $(this).attr('data-ftid'); if (!ftid) { toastr.error('获取资金划拨标段信息失败'); return; } const ftInfo = _.find(tenderList, { id: parseInt(ftid) }); if (!ftInfo) { toastr.error('获取资金划拨信息失败'); return; } if (ftInfo.uid === user_id || financialPermission.transfer_file) { $('#tender-file .upload-permission').show(); } else { $('#tender-file .upload-permission').hide(); } $('#tender-file').modal('show'); $('#tender-file input[name="ftid"]').val(ftid); openFinancialTransferTenderFiles(ftInfo); }); // 上传附件 $('#tender-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 ftid = $('#tender-file input[name="ftid"]').val(); const ftInfo = _.find(tenderList, { id: parseInt(ftid) }); if (!ftInfo) { toastr.warning('不存在该资金划拨标段'); $('#tender-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(`/sp/${spid}/financial/transfer/${trid}/tender/${ftInfo.id}/file/upload`, formData, function (result) { ftInfo.files = result; openFinancialTransferTenderFiles(ftInfo); $('#tender-list tr[data-id="' + ftInfo.id + '"] .file-num').text(ftInfo.files.length ? ftInfo.files.length : ''); }); } } $('#tender-file input[type="file"]').val(''); }); $('body').on('click', '#tender-file .file-del', function () { const ftid = $('#tender-file input[name="ftid"]').val(); const ftInfo = _.find(tenderList, { id: parseInt(ftid) }); if (!ftInfo) { toastr.warning('不存在该资金划拨标段'); return; } const fid = $(this).data('id'); deleteAfterHint(function () { postData(`/sp/${spid}/financial/transfer/${trid}/tender/${ftInfo.id}/file/delete`, { id: fid }, function (result) { ftInfo.files = result; openFinancialTransferTenderFiles(ftInfo); $('#tender-list tr[data-id="' + ftInfo.id + '"] .file-num').text(ftInfo.files.length ? ftInfo.files.length : ''); }); }, '确认删除该文件?'); }); function openFinancialTransferTenderFiles(ftInfo, _this = '#tender-file table tbody') { const files = ftInfo.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 += `