$(document).off('click', '.batch-btn').on('click', '.batch-btn', function() { const dtable = zui.DTable.query($(this).target); const checkedList = dtable.$.getChecks(); if(!checkedList.length) return; const url = $(this).data('url'); const form = new FormData(); checkedList.forEach((id) => form.append('bugIdList[]', id)); if($(this).hasClass('ajax-btn')) { $.ajaxSubmit({url, data:form}); } else { postAndLoadPage(url, form); } }).off('click', '#actionBar .export-btn').on('click', '#actionBar export-btn', function() { const dtable = zui.DTable.query($('#table-bug-browse')); const checkedList = dtable ? dtable.$.getChecks() : []; if(!checkedList.length) return; $.cookie.set('checkedItem', checkedList, {expires:config.cookieLife, path:config.webRoot}); }); /** * 标题列显示额外的内容。 * Display extra content in the title column. * * @param object result * @param object info * @access public * @return object */ window.onRenderCell = function(result, {row, col}) { if(from == 'doc') return result; if(result && col.name == 'title') { result[0].props.className = 'overflow-hidden'; if(row.data.color) result[0].props.style = 'color: ' + row.data.color; const module = this.options.modules[row.data.module]; if(module) result.unshift({html: '' + module + ''}); // 添加模块标签 if(parseInt(row.data.case)) { caseLink = $.createLink('testcase', 'view', "caseID=" + row.data.case + "&version=" + row.data.caseVersion); result.push({html: '[' + caseCommonLang + '#' + row.data.case + ']'}); } } if(result[0] && col.name == 'deadline') { const bug = row.data; if(['resolved', 'closed'].includes(bug.status)) return result; const yesterday = zui.formatDate(zui.createDate() - 24 * 60 * 60 * 1000, 'yyyy-MM-dd'); if(result[0] <= yesterday) result[0] = {html: '' + result[0] + ''}; } return result; } window.insertListToDoc = function() { const dtable = zui.DTable.query($('#bugs')); const checkedList = dtable.$.getChecks(); if(!checkedList.length) return; let {cols, data} = dtable.options; data = data.filter((item) => checkedList.includes(item.id + '')); const docID = getDocApp()?.docID; const url = $.createLink('doc', 'buildZentaoList', `docID=${docID}&type=bug&blockID=${blockID}`); const formData = new FormData(); formData.append('cols', JSON.stringify(cols)); formData.append('data', JSON.stringify(data)); formData.append('idList', checkedList.join(',')); formData.append('url', insertListLink); $.post(url, formData, function(resp) { resp = JSON.parse(resp); if(resp.result == 'success') { const oldBlockID = resp.oldBlockID; const newBlockID = resp.newBlockID; zui.Modal.hide(); window.insertZentaoList && window.insertZentaoList('bug', newBlockID, null, oldBlockID); } }); } window.firstRendered = false; window.toggleCheckRows = function(idList) { if(!idList?.length || firstRendered) return; firstRendered = true; const dtable = zui.DTable.query($('#bugs')); dtable.$.toggleCheckRows(idList.split(','), true); }