glj_view_contextMenu.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /**
  2. * Created by chen on 2017/7/25.
  3. */
  4. var gljContextMenu = {
  5. selectedRow :null,
  6. selectedCol:null,
  7. clipboard:null,
  8. loadGLJSpreadContextMenu: function () {
  9. $.contextMenu({
  10. selector: '#subSpread',
  11. build: this.onbuild,
  12. items: {
  13. "delete_glj": {
  14. name: '删除工料机',
  15. icon: 'fa-remove',
  16. disabled: function () {
  17. var sheetData = gljOprObj.sheetData;
  18. var disable = true;
  19. if(subSpread.getActiveSheetIndex()==0&&sheetData!=null&&sheetData.length>0&&gljContextMenu.selectedRow<sheetData.length){
  20. disable=false
  21. }
  22. return disable;
  23. },
  24. callback: function () {
  25. var sheetData = gljOprObj.sheetData;
  26. var deleteRow = sheetData[gljContextMenu.selectedRow];
  27. projectObj.project.ration_glj.updataOrdelete(deleteRow);
  28. }
  29. }
  30. }
  31. });
  32. },
  33. loadQuantityDetailMenu:function () {
  34. $.contextMenu({
  35. selector: '#subSpread',
  36. build: this.onbuild,
  37. items: {
  38. "insert_detail": {
  39. name: '插入行',
  40. icon: 'fa-sign-in',
  41. disabled: function () {
  42. var sheetData = gljOprObj.detailData;
  43. return gljContextMenu.selectedRow>sheetData.length;
  44. },
  45. callback: function () {
  46. projectObj.project.quantity_detail.insertQuantityDetail(gljContextMenu.selectedRow);
  47. }
  48. },
  49. "delete_detail": {
  50. name: '删除行',
  51. icon: 'fa-remove',
  52. disabled: function () {
  53. var sheetData = gljOprObj.detailData;
  54. return gljContextMenu.selectedRow>sheetData.length-1;
  55. },
  56. callback:function () {
  57. projectObj.project.quantity_detail.deleteQuantityDetail(gljContextMenu.selectedRow);
  58. }
  59. },
  60. "move_up": {
  61. name: '上移',
  62. icon: 'fa-arrow-up',
  63. disabled: function () {
  64. var sheetData = gljOprObj.detailData;
  65. return gljContextMenu.selectedRow==0||gljContextMenu.selectedRow>sheetData.length-1;
  66. },
  67. callback: function () {
  68. projectObj.project.quantity_detail.moveUp(gljContextMenu.selectedRow);
  69. }
  70. },
  71. "move_down": {
  72. name: '下移',
  73. icon: 'fa-arrow-down',
  74. disabled: function () {
  75. var sheetData = gljOprObj.detailData;
  76. return gljContextMenu.selectedRow>sheetData.length-2;
  77. },
  78. callback: function () {
  79. projectObj.project.quantity_detail.moveDown(gljContextMenu.selectedRow);
  80. }
  81. },
  82. "copy": {
  83. name: '复制',
  84. icon: 'fa-files-o',
  85. disabled: function () {
  86. var sheet = subSpread.getActiveSheet();
  87. var sheetData = gljOprObj.detailData;
  88. var value = sheet.getCell(gljContextMenu.selectedRow,gljContextMenu.selectedCol).value();
  89. return gljContextMenu.selectedRow>sheetData.length-1||value==null;
  90. },
  91. callback: function () {
  92. gljContextMenu.clipboard={
  93. row:gljContextMenu.selectedRow,
  94. col:gljContextMenu.selectedCol
  95. };
  96. }
  97. },
  98. "paste": {
  99. name: '粘贴',
  100. icon: 'fa-clipboard',
  101. disabled: function () {
  102. var sheetData = gljOprObj.detailData;
  103. return gljContextMenu.selectedRow>sheetData.length||gljContextMenu.clipboard==null;
  104. },
  105. callback: function () {
  106. var sheet = subSpread.getActiveSheet();
  107. var c=gljContextMenu.clipboard;
  108. console.log(sheet.getCell(c.row,c.col).value());
  109. var args={
  110. 'row':gljContextMenu.selectedRow,
  111. 'col':gljContextMenu.selectedCol,
  112. 'editingText':sheet.getCell(c.row,c.col).value()
  113. }
  114. gljOprObj.onEditDetailSheet(args);
  115. }
  116. }
  117. }
  118. });
  119. },
  120. onbuild:function ($trigger, e) {
  121. var target = SheetDataHelper.safeRightClickSelection($trigger, e, subSpread);
  122. gljContextMenu.selectedRow = target.row;
  123. gljContextMenu.selectedCol = target.col;
  124. //controller.setTreeSelected(controller.tree.items[target.row]);
  125. return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
  126. }
  127. }