| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /* 开始升级项目报告。*/
- window.startUpgradeReports = function(event, reportList, upgradingReportsText, nextText)
- {
- const $btn = $('#upgradeReportsBtn');
- if($btn.hasClass('is-finished')) return;
- event.preventDefault();
- const $progressBar = $('#upgradeReportsProgress').addClass('active').find('.progress-bar');
- $btn.attr('disabled', 'disabled').addClass('disabled').removeClass('primary').find('.text').text(upgradingReportsText);
- upgradeReports(reportList,
- {
- onProgress: (current, total) =>
- {
- $progressBar.css('width', (100 * current / total) + '%');
- $btn.find('.text').text(`${upgradingReportsText} (${current}/${total})`);
- }
- }).then(() =>
- {
- $btn.removeAttr('disabled').removeClass('disabled').addClass('primary is-finished').find('.text').text(nextText);
- $('#upgradeReportsProgress').removeClass('active')
- });
- };
- /* 更新升级项目报告进度。*/
- async function upgradeReports(reportList, options)
- {
- let current = 0;
- const total = reportList.length;
- const onProgress = options.onProgress;
- for(const report of reportList)
- {
- onProgress(current, total);
- await upgradeReport(report);
- await zui.delay(50);
- current ++;
- }
- onProgress(current, total);
- return reportList;
- }
- /* 升级项目报告。*/
- async function upgradeReport(report)
- {
- let result;
- await $.post($.createLink('upgrade', 'ajaxUpgradeProjectReport'), {data: report}, (res) =>
- {
- result = res.result === 'success' ? true : res.message;
- }, 'json');
- return result;
- }
|