bills.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. /**
  2. * Created by Mai on 2017/4/17.
  3. */
  4. $(document).ready(function () {
  5. var PostData = function (url, data, successCallback, errorCallback) {
  6. $.ajax({
  7. type:"POST",
  8. url: url,
  9. data: {'data': JSON.stringify(data)},
  10. dataType: 'json',
  11. cache: false,
  12. timeout: 50000,
  13. success: function(result){
  14. if (result.error === 0) {
  15. successCallback(result.data);
  16. } else {
  17. alert('error: ' + result.message);
  18. if (errorCallback) {
  19. errorCallback();
  20. }
  21. }
  22. },
  23. error: function(jqXHR, textStatus, errorThrown){
  24. alert('error ' + textStatus + " " + errorThrown);
  25. if (errorCallback) {
  26. errorCallback();
  27. }
  28. }
  29. });
  30. };
  31. var FormatUpdateData = function (data) {
  32. var updateData = {};
  33. updateData['user_id'] = userID;
  34. updateData['tempType'] = 1;
  35. updateData['updateData'] = data;
  36. return updateData;
  37. };
  38. var RefreshBaseActn = function (tree) {
  39. var showButton = function (show, btn) {
  40. if (show) {
  41. btn.show();
  42. } else {
  43. btn.hide();
  44. }
  45. };
  46. showButton(tree.selected && tree.selected.canUpLevel(), $('#upLevel'));
  47. showButton(tree.selected && tree.selected.canDownLevel(), $('#downLevel'));
  48. showButton(tree.selected && tree.selected.canUpMove(), $('#upMove'));
  49. showButton(tree.selected && tree.selected.canDownMove(), $('#downMove'));
  50. showButton(tree.selected ? true : false, $('#delete'));
  51. }
  52. var bills;
  53. var tree = idTree.createNew({id: 'ID', pid: 'ParentID', nid: 'NextSiblingID', rootId: -1});
  54. var billsSpread = new GC.Spread.Sheets.Workbook($('#billsSpread')[0], { sheetCount: 1 });
  55. var controller = TREE_SHEET_CONTROLLER.createNew(tree, billsSpread.getActiveSheet(), TEMPLATE_BILLS_SETTING);
  56. GC.Spread.Common.CultureManager.culture("zh-cn");
  57. billsSpread.options.tabStripVisible = false;
  58. billsSpread.options.scrollbarMaxAlign = true;
  59. controller.bind('refreshBaseActn', RefreshBaseActn);
  60. /*billsSpread.bind(GC.Spread.Sheets.Events.ValueChanged, function (e, info) {
  61. var node = controller.tree.findNode(info.sheet.getTag(info.row, info.col));
  62. var fieldName = controller.setting.cols[info.col].data.field;
  63. var data = {type: 'update', data: node.data};
  64. data.data[fieldName] = info.newValue;
  65. var updateData = FormatUpdateData([data]);
  66. PostData('/template/bills/updateBillsTemplate', updateData, function (data) {
  67. node.data[fieldName] = info.newValue;
  68. }, function () {
  69. TREE_SHEET_HELPER.refreshTreeNodeData(setting, sheet, [node], false);
  70. });
  71. });*/
  72. billsSpread.bind(GC.Spread.Sheets.Events.EditEnded, function (sender, info) {
  73. var node = controller.tree.findNode(info.sheet.getTag(info.row, info.col));
  74. var fieldName = controller.setting.cols[info.col].data.field;
  75. var data = {type: 'update', data: node.data};
  76. data.data[fieldName] = info.editingText;
  77. var updateData = FormatUpdateData([data]);
  78. PostData('/template/bills/updateBillsTemplate', updateData, function (data) {
  79. node.data[fieldName] = info.editingText;
  80. controller.refreshTreeNode([node], false);
  81. }, function () {
  82. controller.refreshTreeNode([node], false);
  83. });
  84. });
  85. PostData('/template/bills/getBillsTemplate', {tempType: 1}, function (data) {
  86. bills = data;
  87. tree.loadDatas(bills);
  88. controller.showTreeData();
  89. RefreshBaseActn(tree);
  90. }, function () {
  91. controller.showTreeData();
  92. RefreshBaseActn(tree);
  93. });
  94. $('#insert').click(function () {
  95. var selected = controller.tree.selected, updateData;
  96. if (selected) {
  97. updateData = FormatUpdateData(controller.tree.getInsertData(selected.getParentID(), selected.getNextSiblingID()));
  98. } else {
  99. updateData = FormatUpdateData(controller.tree.getInsertData());
  100. }
  101. PostData('/template/bills/updateBillsTemplate', updateData, function (data) {
  102. controller.insert();
  103. });
  104. });
  105. $('#delete').click(function () {
  106. var selected = controller.tree.selected, updateData;
  107. if (selected) {
  108. updateData = FormatUpdateData(controller.tree.getDeleteData(selected));
  109. PostData('/template/bills/updateBillsTemplate', updateData, function (data) {
  110. controller.delete();
  111. });
  112. }
  113. });
  114. $('#upLevel').click(function () {
  115. var selected = controller.tree.selected, updateData;
  116. if (selected) {
  117. updateData = FormatUpdateData(selected.getUpLevelData());
  118. PostData('/template/bills/updateBillsTemplate', updateData, function (data) {
  119. controller.upLevel();
  120. });
  121. }
  122. });
  123. $('#downLevel').click(function () {
  124. var selected = controller.tree.selected, updateData;
  125. if (selected) {
  126. updateData = FormatUpdateData(selected.getDownLevelData());
  127. PostData('/template/bills/updateBillsTemplate', updateData, function (data) {
  128. controller.downLevel();
  129. });
  130. }
  131. });
  132. $('#upMove').click(function () {
  133. var selected = controller.tree.selected, updateData;
  134. if (selected) {
  135. updateData = FormatUpdateData(selected.getUpMoveData());
  136. PostData('/template/bills/updateBillsTemplate', updateData, function (data) {
  137. controller.upMove();
  138. });
  139. }
  140. });
  141. $('#downMove').click(function () {
  142. var selected = controller.tree.selected, updateData;
  143. if (selected) {
  144. updateData = FormatUpdateData(selected.getDownMoveData());
  145. PostData('/template/bills/updateBillsTemplate', updateData, function (data) {
  146. controller.downMove()
  147. });
  148. }
  149. });
  150. });