zentaobiz.ui.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const KnowledgeLibStore = {
  2. list: knowledgeLibs || [],
  3. selectedID: selectedID ? selectedID.map(id => parseInt(id)) : [],
  4. };
  5. /* 切换知识库空间,加载知识库列表 */
  6. window.toggleSpace = () => {
  7. const $form = $('#selectKnowledgeLibForm');
  8. const picker = $form.find('[name="libID"]').zui('picker');
  9. const space = $form.find('input[name="space"]:checked').val();
  10. picker.render({items: []});
  11. picker.$.setValue('');
  12. $.getJSON($.createLink('ai', 'ajaxGetKnowledgeLibs', 'type=' + space), function(data)
  13. {
  14. KnowledgeLibStore.list = data;
  15. const items = data
  16. .filter(lib => !KnowledgeLibStore.selectedID.includes(lib.id))
  17. .map(lib => ({text: lib.name, value: lib.id}));
  18. picker.render({items});
  19. });
  20. };
  21. /* 提交拦截 */
  22. window.selectKnowledgeLibFormBeforeSubmit = () => {
  23. if(!callback) return false;
  24. const selector = multiple ? '[name="libID[]"]' : '[name="libID"]';
  25. const pickerValue = $(selector).val();
  26. if(!pickerValue || (multiple && pickerValue.length === 0))
  27. {
  28. zui.Messager.show({
  29. content: pleaseSelectKnowledgeLib,
  30. type: 'danger',
  31. });
  32. return false;
  33. }
  34. const ids = multiple ? pickerValue : [pickerValue];
  35. const libs = ids.map(id => KnowledgeLibStore.list.find(lib => parseInt(lib.id) === parseInt(id)));
  36. window[callback](libs);
  37. zui.Modal.hide();
  38. return false;
  39. };