batchedit.ui.js 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. window.renderRowData = function($row, index, plan)
  2. {
  3. let $branch = $row.find('.form-batch-control[data-name="branch"]');
  4. let $status = $row.find('.form-batch-control[data-name="status"]');
  5. let $begin = $row.find('.form-batch-control[data-name="begin"]');
  6. let $end = $row.find('.form-batch-control[data-name="end"]');
  7. let $future = $row.find('.form-batch-control[data-name="future"]');
  8. if($branch.length > 0)
  9. {
  10. let branchOptions = {name: 'branch[' + plan.id + ']', 'multiple': true, defaultValue: plan.branch, onChange: function(){getConflictStories(index)}, 'items': branchPickerItems};
  11. if(plan.parent > 0 && typeof parentBranches[plan.parent] != 'undefined') branchOptions = $.extend({}, branchOptions, {items: parentBranches[plan.parent]});
  12. $row.find('[data-name="branch"]').find('.picker-box').on('inited', function(e, info)
  13. {
  14. let $branch = info[0];
  15. $branch.render(branchOptions);
  16. $branch.$.setValue(plan.branch);
  17. });
  18. }
  19. if($status.length > 0)
  20. {
  21. let statusOptions = {name: 'status', defaultValue: plan.status, 'items': statusPickerItems, required: true};
  22. if(plan.parent == '-1') statusOptions = $.extend({}, statusOptions, {disabled: true});
  23. if(plan.status != 'wait') statusOptions = $.extend({}, statusOptions, {items: noWaitPickerItems});
  24. $row.find('[data-name="status"]').find('.picker-box').on('inited', function(e, info)
  25. {
  26. let $status = info[0];
  27. $status.render(statusOptions);
  28. $status.$.setValue(plan.status);
  29. });
  30. }
  31. let disabled = ((plan.begin == futureConfig && plan.end == futureConfig));
  32. if(plan.parent == -1 && (plan.begin == futureConfig && plan.end == futureConfig)) disabled = true;
  33. let $beginPicker = $begin.find('#begin');
  34. let $endPicker = $end.find('#end');
  35. let beginOptions = {defaultValue: plan.begin, name: 'begin[' + plan.id + ']'};
  36. let endOptions = {defaultValue: plan.end, name: 'end[' + plan.id + ']'};
  37. if(disabled)
  38. {
  39. $beginOptions = $.extend({}, $beginOptions, {disabled: true});
  40. $endOptions = $.extend({}, $endOptions, {disabled: true});
  41. }
  42. $beginPicker.datePicker(beginOptions);
  43. $endPicker.datePicker(endOptions);
  44. $future.find('[name^=future]').attr('onchange', "changeDate(" + index + ")").prop('checked', (plan.begin == futureConfig && plan.end == futureConfig));
  45. }
  46. window.changeDate = function(index)
  47. {
  48. let $row = $('tr[data-index="' + index + '"]');
  49. let $future = $row.find('.form-batch-control[data-name="future"] [name^=future]');
  50. let $begin = $row.find('.form-batch-control[data-name="begin"]');
  51. let $end = $row.find('.form-batch-control[data-name="end"]');
  52. let $beginPicker = $begin.find('[name^=begin]').zui('datePicker');
  53. let $endPicker = $end.find('[name^=end]').zui('datePicker');
  54. if($future.prop('checked'))
  55. {
  56. $beginPicker.render($.extend({}, $beginPicker.options, {disabled: true}));
  57. $endPicker.render($.extend({}, $endPicker.options, {disabled: true}));
  58. }
  59. else
  60. {
  61. $beginPicker.render($.extend({}, $beginPicker.options, {disabled: false}));
  62. $endPicker.render($.extend({}, $endPicker.options, {disabled: false}));
  63. }
  64. }
  65. window.getConflictStories = function(index)
  66. {
  67. let $row = $('tr[data-index="' + index + '"]');
  68. let $branch = $row.find('[name^="branch"]');
  69. let planID = parseInt($row.find('.form-control-static[data-name="idIndex"]').text()).toString();
  70. let newBranch = $branch.length == 0 ? '' : $branch.val();
  71. $.get($.createLink('productplan', 'ajaxGetConflict', 'planID=' + planID + '&newBranch=' + newBranch), function(conflictStories)
  72. {
  73. if(conflictStories != '')
  74. {
  75. zui.Modal.confirm({message: conflictStories, icon:'icon-exclamation-sign', iconClass: 'warning-pale rounded-full icon-2x'}).then((res) =>
  76. {
  77. if(!res)
  78. {
  79. const $branchPicker = $branch.zui('picker');
  80. $branchPicker.$.setValue(oldBranch[planID]);
  81. }
  82. });
  83. }
  84. });
  85. }