project_view.js 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. /**
  2. * Created by Mai on 2017/6/21.
  3. */
  4. var projectObj = {
  5. project: null,
  6. mainSpread: null,
  7. mainController: null,
  8. gljSpreed:null,
  9. checkMainSpread: function () {
  10. if (!this.mainSpread) {
  11. this.mainSpread = SheetDataHelper.createNewSpread($('#billsSpread')[0]);
  12. this.mainSpread.getActiveSheet().selectionPolicy(GC.Spread.Sheets.SelectionPolicy.single);
  13. }
  14. },
  15. refreshMainSpread: function () {
  16. if (this.mainSpread) {
  17. this.mainSpread.refresh();
  18. }
  19. },
  20. loadProjectData: function () {
  21. var that = this;
  22. this.project = PROJECT.createNew(scUrlUtil.GetQueryString('project'), userID);
  23. this.project.loadDatas(function (err) {
  24. if (!err) {
  25. that.mainController = TREE_SHEET_CONTROLLER.createNew(that.project.mainTree, that.mainSpread.getActiveSheet(), BillsGridSetting);
  26. that.mainController.showTreeData();
  27. that.mainController.bind('refreshBaseActn', function (tree) {
  28. var setButtonValid = function (valid, btn) {
  29. if (valid) {
  30. btn.removeClass('disabled');
  31. } else {
  32. btn.addClass('disabled');
  33. }
  34. };
  35. setButtonValid(tree.selected && tree.selected.canUpLevel(), $('#upLevel'));
  36. setButtonValid(tree.selected && tree.selected.canDownLevel(), $('#downLevel'));
  37. setButtonValid(tree.selected && tree.selected.canUpMove(), $('#upMove'));
  38. setButtonValid(tree.selected && tree.selected.canDownMove(), $('#downMove'));
  39. setButtonValid(tree.selected ? true : false, $('#delete'));
  40. });
  41. /* if(!projectObj.gljSpreed){
  42. projectObj.gljSpreed = gljView.buildSheet($("#gljSpread")[0]);
  43. that.loadGLJSpreadContextMenu();
  44. }*/
  45. that.mainController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, function (node) {
  46. console.log(projectObj.project);
  47. gljOprObj.showDataIfRationSelect(node);
  48. });
  49. that.loadMainSpreadContextMenu();
  50. }
  51. else {
  52. }
  53. });
  54. },
  55. loadMainSpreadContextMenu: function () {
  56. var project = this.project, spread = this.mainSpread, controller = this.mainController;
  57. $.contextMenu({
  58. selector: '#billsSpread',
  59. build: function ($trigger, e) {
  60. var target = SheetDataHelper.safeRightClickSelection($trigger, e, spread);
  61. controller.setTreeSelected(controller.tree.items[target.row]);
  62. return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
  63. },
  64. items: {
  65. "insertBills": {
  66. name: "插入清单",
  67. icon: 'fa-sign-in',
  68. disabled: function () {
  69. return project.mainTree.selected ? project.mainTree.selected.sourceType !== project.Bills.getSourceType() : false;
  70. },
  71. callback: function (key, opt) {
  72. ProjectController.addBills(project, controller);
  73. }
  74. },
  75. "insertRation": {
  76. name: "插入定额",
  77. icon: 'fa-sign-in',
  78. disabled: function () {
  79. var selected = project.mainTree.selected;
  80. if (selected) {
  81. if (selected.sourceType === project.Ration.getSourceType()) {
  82. return false;
  83. } else if (selected.sourceType === project.Bills.getSourceType()) {
  84. return selected.source.children.length !== 0;
  85. };
  86. } else {
  87. return true;
  88. }
  89. },
  90. callback: function (key, opt) {
  91. ProjectController.addRation(project, controller);
  92. }
  93. },
  94. "insertLJ": {
  95. name: "插入量价",
  96. icon: 'fa-sign-in',
  97. disabled: function () {
  98. var selected = project.mainTree.selected;
  99. if (selected) {
  100. if (selected.sourceType === project.Ration.getSourceType()) {
  101. return false;
  102. } else if (selected.sourceType === project.Bills.getSourceType()) {
  103. return selected.source.children.length !== 0;
  104. };
  105. } else {
  106. return true;
  107. }
  108. }
  109. },
  110. "spr1": '--------',
  111. "delete": {
  112. name: '删除',
  113. icon: 'fa-remove',
  114. disabled: function () {
  115. var selected = project.mainTree.selected;
  116. return !selected;
  117. },
  118. callback: function () {
  119. var selected = controller.tree.selected;
  120. if (selected) {
  121. if (selected.sourceType === project.Bills.getSourceType()) {
  122. project.Bills.deleteBills(selected.source);
  123. controller.delete();
  124. };
  125. }
  126. }
  127. }
  128. }
  129. });
  130. }
  131. };
  132. $('#insert').click(function () {
  133. var controller = projectObj.mainController, project = projectObj.project;
  134. var selected = controller.tree.selected;
  135. if (!selected || selected.sourceType === project.Bills.getSourceType()) {
  136. ProjectController.addBills(project, controller);
  137. } else if (selected.sourceType === project.Ration.getSourceType()) {
  138. ProjectController.addRation(project, controller);
  139. }
  140. });
  141. $('#delete').click(function () {
  142. var controller = projectObj.mainController, project = projectObj.project;
  143. var selected = controller.tree.selected;
  144. if (selected) {
  145. if (selected.sourceType === project.Bills.getSourceType()) {
  146. project.Bills.deleteBills(selected.source);
  147. controller.delete();
  148. } else if (selected.sourceType === project.Ration.getSourceType()) {
  149. project.Ration.delete(selected.source);
  150. project.ration_glj.deleteByRation(selected.source);
  151. project.ration_coe.deleteByRation(selected.source);
  152. controller.delete();
  153. };
  154. }
  155. });
  156. $('#upLevel').click(function () {
  157. var controller = projectObj.mainController, project = projectObj.project;
  158. var selected = controller.tree.selected;
  159. if (selected && selected.sourceType === project.Bills.getSourceType()) {
  160. project.Bills.upLevelBills(selected.source);
  161. controller.upLevel();
  162. }
  163. });
  164. $('#downLevel').click(function () {
  165. var controller = projectObj.mainController, project = projectObj.project;
  166. var selected = controller.tree.selected;
  167. if (selected && selected.sourceType === project.Bills.getSourceType()) {
  168. project.Bills.downLevelBills(selected.source);
  169. controller.downLevel();
  170. }
  171. });
  172. $('#upMove').click(function () {
  173. var controller = projectObj.mainController, project = projectObj.project;
  174. var selected = controller.tree.selected, pre, preSerialNo;
  175. if (selected) {
  176. if (selected.sourceType === project.Bills.getSourceType()) {
  177. project.Bills.upMoveBills(selected.source);
  178. controller.upMove();
  179. } else if (selected.sourceType === project.Ration.getSourceType()) {
  180. project.Ration.changePos(selected.source, selected.preSibling.source);
  181. controller.upMove();
  182. }
  183. }
  184. });
  185. $('#downMove').click(function () {
  186. var controller = projectObj.mainController, project = projectObj.project;
  187. var selected = controller.tree.selected, next, nextSerialNo;
  188. if (selected) {
  189. if (selected.sourceType === project.Bills.getSourceType()) {
  190. project.Bills.downMoveBills(selected.source);
  191. controller.downMove();
  192. } else if (selected.sourceType === project.Ration.getSourceType()) {
  193. project.Ration.changePos(selected.source, selected.nextSibling.source);
  194. controller.downMove();
  195. }
  196. }
  197. });