| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- $(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('ticketIDList[]', id));
- if($(this).hasClass('ajax-btn'))
- {
- $.ajaxSubmit({url, data:form});
- }
- else
- {
- postAndLoadPage(url, form);
- }
- });
- window.firstRendered = false;
- window.toggleCheckRows = function(idList)
- {
- if(!idList?.length || firstRendered) return;
- firstRendered = true;
- const dtable = zui.DTable.query($('#tickets'));
- dtable.$.toggleCheckRows(idList.split(','), true);
- }
- window.checkedChange = function(changes)
- {
- if(!this._checkedRows) this._checkedRows = {};
- Object.keys(changes).forEach((rowID) =>
- {
- const row = this.getRowInfo(rowID);
- if(row !== undefined) this._checkedRows[rowID] = row.data;
- });
- }
- window.insertListToDoc = function()
- {
- const dtable = zui.DTable.query($('#tickets'));
- const myTable = dtable.$;
- const checkedList = Object.keys(myTable.state.checkedRows);
- if(!checkedList.length) return;
- let {cols} = dtable.options;
- const data = checkedList.map(rowID => myTable._checkedRows[rowID]);
- const docID = getDocApp()?.docID;
- const url = $.createLink('doc', 'buildZentaoList', `docID=${docID}&type=ticket&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('ticket', newBlockID, null, oldBlockID) ;
- }
- });
- }
- /**
- * 来源列显示额外的内容。
- * Display extra content in the title column.
- *
- * @param object result
- * @param object info
- * @access public
- * @return object
- */
- window.onRenderCell = function(result, {row, col})
- {
- if(result && col.name == 'title')
- {
- const module = this.options.modules[row.data.module];
- if(module) result.unshift({html: '<span class="label gray-pale rounded-full whitespace-nowrap w-auto">' + module + '</span>'}); // 添加模块标签
- }
- if(result && col.name == 'feedbackTip' && row.data.feedbackTip != '')
- {
- if(typeof result[0].props != 'undefined') result[0].props.className = 'overflow-hidden';
- result.push({html: '<span class="label primary-pale whitespace-nowrap w-auto">' + feedbackLang + '</span>'}); // 添加反馈标签
- }
- return result;
- }
|