glj_view.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /**
  2. * Created by CSL on 2017-05-12.
  3. */
  4. var gljOprObj = {
  5. sheet: null,
  6. libID: null,
  7. ration: null,
  8. sheetData:null,
  9. setting: {
  10. header: [
  11. {headerName: "编码", headerWidth: 60, dataCode: "code", dataType: "String", formatter: "@"},
  12. {headerName: "名称", headerWidth: 80, dataCode: "name", dataType: "String"},
  13. {headerName: "规格型号", headerWidth: 80, dataCode: "specs", dataType: "String", hAlign: "center"},
  14. {headerName: "单位", headerWidth: 60, dataCode: "unit", dataType: "String", hAlign: "center"},
  15. {headerName: "类别", headerWidth: 50, dataCode: "gljDistType", dataType: "String", hAlign: "center"},
  16. {headerName: "定额消耗量", headerWidth: 80, dataCode: "rationItemQuantity", dataType: "String", hAlign: "right"}, // dataType: "Number", formatter: "0.00"
  17. {headerName: "自定义消耗量", headerWidth: 80, dataCode: "customQuantity", dataType: "String", hAlign: "right"},
  18. {headerName: "消耗量", headerWidth: 80, dataCode: "quantity", dataType: "String", hAlign: "right"},
  19. {headerName: "基价单价", headerWidth: 80, dataCode: "basePrice", dataType: "String", hAlign: "right"},
  20. {headerName: "调整基价", headerWidth: 80, dataCode: "adjustPrice", dataType: "String", hAlign: "right"},
  21. {headerName: "市场单价", headerWidth: 80, dataCode: "marketPrice", dataType: "String", hAlign: "right"},
  22. {headerName: "市场单价调整", headerWidth: 80, dataCode: "price", dataType: "String", hAlign: "right"},
  23. {headerName: "是否暂估", headerWidth: 80, dataCode: "isEstimate", dataType: "String", hAlign: "right"}
  24. ],
  25. view: {
  26. comboBox: [{row: -1, col: 12, rowCount: -1, colCount: 1}],
  27. lockedCells: [{row: -1, col: 3, rowCount: -1, colCount: 1}]
  28. }
  29. },
  30. initSheet: function(sheet) {
  31. var me = this;
  32. me.sheet = sheet;
  33. sheetCommonObj.initSheet(me.sheet, me.setting, 30);
  34. // var unit = new GC.Spread.Sheets.CellTypes.ComboBox();
  35. //unit.items(["米","千克"]);
  36. // me.sheet.getRange(-1, 3, -1, 1).cellType(unit);
  37. sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
  38. sheet.bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
  39. sheet.bind(GC.Spread.Sheets.Events.EditEnded, me.onEditEnded);
  40. sheet.bind(GC.Spread.Sheets.Events.RangeChanged, me.onRangeChanged);
  41. this.loadGLJSpreadContextMenu();
  42. },
  43. onClipboardPasting: function(sender, args) {
  44. var me = gljOprObj;
  45. if (!me.ration) {
  46. args.cancel = true;
  47. }
  48. },
  49. onClipboardPasted: function(e, info) {
  50. var me = gljOprObj;
  51. if (!me.ration) {return;};
  52. // your code...
  53. },
  54. onEditEnded: function(sender, args){
  55. var me = gljOprObj;
  56. if (!me.ration) {return;};
  57. // your code...
  58. },
  59. onRangeChanged: function(sender, args) {
  60. if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {
  61. if (!confirm(`确定要删除选中的 ${args.rowCount} 条辅助定额吗?`)){return; }
  62. // your code...
  63. };
  64. },
  65. showDataIfRationSelect:function (node) {
  66. let gljList = [];
  67. if(node){
  68. if(this.selectedNodeId&&this.selectedNodeId==node.getID()){
  69. return;
  70. }else {
  71. this.selectedNodeId=node.getID();
  72. }
  73. if(node.sourceType=="ration"){
  74. let ration_glj = projectObj.project.ration_glj;
  75. let ration = node.data;
  76. if(ration_glj.datas&&ration_glj.datas.length>0){
  77. gljList = _.filter(ration_glj.datas,{'projectID':ration.projectID,'rationID':ration.ID})
  78. }
  79. sheetCommonObj.showData(this.sheet,this.setting,gljList);
  80. }
  81. }
  82. this.selectedNodeId=null;
  83. sheetCommonObj.showData(this.sheet,this.setting,gljList);
  84. this.sheetData=gljList;
  85. },
  86. loadGLJSpreadContextMenu: function () {
  87. var project =projectObj.project, spread =subSpread;
  88. var selectedRow =null;
  89. $.contextMenu({
  90. selector: '#subSpread',
  91. build: function ($trigger, e) {
  92. var target = SheetDataHelper.safeRightClickSelection($trigger, e, spread);
  93. selectedRow = target.row;
  94. //controller.setTreeSelected(controller.tree.items[target.row]);
  95. return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
  96. },
  97. items: {
  98. "delete_glj": {
  99. name: '删除工料机',
  100. icon: 'fa-remove',
  101. disabled: function () {
  102. //var selected = project.mainTree.selected;
  103. var disable = true;
  104. if(gljOprObj.sheetData!=null&&gljOprObj.sheetData.length>0&&selectedRow<gljOprObj.sheetData.length){
  105. disable=false
  106. }
  107. return disable;
  108. },
  109. callback: function () {
  110. var deleteRow = gljOprObj.sheetData[selectedRow];
  111. projectObj.project.ration_glj.updataOrdelete(deleteRow);
  112. }
  113. }
  114. }
  115. });
  116. }
  117. }