v1.js 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. window.setMultipleCell = function(value, info)
  2. {
  3. if(!$.isArray(value)) value = value.toString().split(',');
  4. value = value.filter((data) => data);
  5. if(!value.length) return value;
  6. pairs = info.col.setting.dataPairs;
  7. const result = [];
  8. const data = $.isArray(value) ? value : value.split(',');
  9. $.each(data, function(_, value)
  10. {
  11. if(value && pairs[value]) result.push(pairs[value]);
  12. });
  13. return result.join(info.col.setting.delimiter);
  14. };
  15. window.checkedChange = function(changes)
  16. {
  17. if(!this._checkedRows) this._checkedRows = {};
  18. Object.keys(changes).forEach((rowID) =>
  19. {
  20. const row = this.getRowInfo(rowID);
  21. if(row !== undefined) this._checkedRows[rowID] = row.data;
  22. });
  23. }
  24. window.insertListToDoc = function(tableID, blockType, blockID, insertListLink)
  25. {
  26. const dtable = zui.DTable.query($(tableID));
  27. const myTable = dtable.$;
  28. const checkedList = Object.keys(myTable.state.checkedRows);
  29. if(!checkedList.length) return;
  30. let {cols} = dtable.options;
  31. const data = checkedList.filter(rowID => myTable._checkedRows[rowID] !== undefined).map(rowID => myTable._checkedRows[rowID]);
  32. const docID = getDocApp()?.docID;
  33. const url = $.createLink('doc', 'buildZentaoList', `docID=${docID}&type=${blockType}&blockID=${blockID}`);
  34. const formData = new FormData();
  35. formData.append('cols', JSON.stringify(cols));
  36. formData.append('data', JSON.stringify(data));
  37. formData.append('idList', checkedList.join(','));
  38. formData.append('url', insertListLink);
  39. $.post(url, formData, function(resp)
  40. {
  41. resp = JSON.parse(resp);
  42. if(resp.result == 'success')
  43. {
  44. const oldBlockID = resp.oldBlockID;
  45. const newBlockID = resp.newBlockID;
  46. zui.Modal.hide();
  47. window.insertZentaoList && window.insertZentaoList(blockType, newBlockID, null, oldBlockID);
  48. }
  49. });
  50. }
  51. window.insertListToAI = function(tableID, blockType)
  52. {
  53. const dtable = zui.DTable.query($(tableID));
  54. const myTable = dtable.$;
  55. const checkedList = Object.keys(myTable.state.checkedRows);
  56. if(!checkedList.length) return;
  57. const data = checkedList.filter(rowID => myTable._checkedRows[rowID] !== undefined).map(rowID => {
  58. const item = myTable._checkedRows[rowID];
  59. if(blockType === 'case' && typeof item.id === 'string' && item.id.startsWith('case_'))
  60. {
  61. item.id = item.caseID || parseInt(item.id.replace('case_', ''));
  62. }
  63. return item;
  64. });
  65. const url = $.createLink('ai', 'ajaxBatchCreateKnowledge', `knowledgeLibID=${knowledgeLibID}`);
  66. const formData = new FormData();
  67. formData.append('type', blockType);
  68. formData.append('data', JSON.stringify(data));
  69. formData.append('idList', checkedList.join(','));
  70. $.ajaxSubmit({
  71. url,
  72. data: formData,
  73. onSuccess: function() {zui.Modal.hide();}
  74. });
  75. }