coeList.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. /**
  2. * Created by CSL on 2017-05-18.
  3. */
  4. $("#drirect-dinge").click(function(){
  5. $(this).attr('href', "/rationRepository/ration" + "?repository=" + getQueryString("repository"))
  6. });
  7. $("#gongliao").click(function(){
  8. $(this).attr('href', "/rationRepository/lmm" + "?repository=" + getQueryString("repository"))
  9. });
  10. var coeList = {
  11. libID: -1,
  12. datas: [],
  13. colDefMain: [
  14. {name: "ID", displayName: "编号",formatter: "000000", size: 100},
  15. {name: "name", displayName: "名称", size: 280},
  16. {name: "content", displayName: "内容", size: 250}
  17. ],
  18. colDefContent: [
  19. {name: "coeType", displayName: "类型", size: 100, hAlign: "center"},
  20. {name: "gljID", displayName: "工料机ID", size: 100, hAlign: "center",formatter: "000000"},
  21. {name: "operator", displayName: "操作符", size: 60, hAlign: "center"},
  22. {name: "amount", displayName: "数量", size: 80, hAlign: "right"}
  23. ],
  24. mainSpread: null,
  25. detailSpread: null,
  26. getLibID: function(libName){
  27. var me = this;
  28. $.ajax({
  29. type:"POST",
  30. url:"/rationRepository/api/getLibIDByName",
  31. data:{"libName": libName},
  32. dataType:"json",
  33. cache:false,
  34. async: false,
  35. timeout:20000,
  36. success: function (result) {
  37. if (result.data) {
  38. me.libID = result.data;
  39. }
  40. },
  41. error: function (result) {
  42. alert('内部程序错误!');
  43. }
  44. })
  45. },
  46. getDatas: function (libName) {
  47. var me = this;
  48. me.getLibID(libName);
  49. if (me.libID == -1){
  50. return false;
  51. };
  52. $.ajax({
  53. type:"POST",
  54. url:"/rationRepository/api/getCoeList",
  55. data:{"libID": me.libID},
  56. dataType:"json",
  57. cache:false,
  58. async: false,
  59. timeout:20000,
  60. success: function (result) {
  61. if (result.data) {
  62. me.datas = result.data;
  63. };
  64. },
  65. error: function (result) {
  66. alert('内部程序错误!');
  67. }
  68. })
  69. },
  70. show: function (){
  71. var me = this;
  72. var libName = getQueryString("repository");
  73. // datas from server.
  74. me.getDatas(libName);
  75. me.mainSpread = sheetObj.create($('#mainSpread')[0], me.colDefMain, me.datas);
  76. me.detailSpread = sheetObj.create($('#contentSpread')[0], me.colDefContent, me.datas[0].coes);
  77. me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onMainEnterCell);
  78. me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.CellChanged, me.onDetailCellChanged);
  79. var coeType = new GC.Spread.Sheets.CellTypes.ComboBox();
  80. coeType.items(["单个","全部","人工类","材料类","机械类"]);
  81. me.detailSpread.getSheet(0).getRange(-1, 0, -1, 1).cellType(coeType);
  82. var operType = new GC.Spread.Sheets.CellTypes.ComboBox();
  83. operType.items(["+","-","*","/","="]);
  84. me.detailSpread.getSheet(0).getRange(-1, 2, -1, 1).cellType(operType);
  85. // datas for test.
  86. //sheetObj.create($('#mainSpread')[0], me.colDefMain, createDatas(50));
  87. //sheetObj.create($('#contentSpread')[0], me.colDefContent, createContents(10));
  88. },
  89. onMainEnterCell: function(sender, args) {
  90. var me = coeList;
  91. var row = args.sheet.getActiveRowIndex();
  92. me.detailSpread.suspendPaint();
  93. me.detailSpread.getSheet(0).setDataSource(me.datas[row].coes);
  94. me.detailSpread.resumePaint();
  95. },
  96. onDetailCellChanged: function(sender, args) {
  97. alert('onDetailCellChanged');
  98. var me = coeList;
  99. var row = args.sheet.getActiveRowIndex();
  100. var curType = args.sheet.getValue(row,0);
  101. if (!(curType == '单个')){
  102. me.detailSpread.suspendEvent();
  103. args.sheet.setValue(row, 1, null);
  104. me.detailSpread.resumeEvent();
  105. //args.sheet.getCell(row, 1).backColor("red");
  106. }
  107. else{
  108. //args.sheet.getCell(row, 1).backColor("Blue");
  109. };
  110. }
  111. };
  112. coeList.show();