ration_assist.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /**
  2. * Created by CSL on 2017-06-14.
  3. */
  4. var rationAssistOprObj = {
  5. sheet: null,
  6. libID: null,
  7. ration: null,
  8. setting: {
  9. header:[
  10. {headerName:"调整名称",headerWidth:200,dataCode:"name", dataType: "String", hAlign: "left"},
  11. {headerName:"辅助定额号",headerWidth:120,dataCode:"assistCode", dataType: "String", hAlign: "center"},
  12. {headerName:"标准值",headerWidth:100,dataCode:"stdValue", dataType: "String", hAlign: "right"},
  13. {headerName:"步距",headerWidth:100,dataCode:"stepValue", dataType: "String", hAlign: "right"},
  14. {headerName:"精度",headerWidth:80,dataCode:"decimal", dataType: "Number", hAlign: "right"},
  15. {headerName:"进位方式",headerWidth:100,dataCode:"carryBit", dataType: "String", hAlign: "center"},
  16. {headerName:"最小值",headerWidth:100,dataCode:"minValue", dataType: "String", hAlign: "right"},
  17. {headerName:"最大值",headerWidth:100,dataCode:"maxValue", dataType: "String", hAlign: "right"}
  18. ],
  19. view:{}
  20. },
  21. buildSheet: function(sheet) {
  22. var me = this;
  23. me.sheet = sheet;
  24. me.libID = storageUtil.getSessionCache("RationGrp","repositoryID"); // 不可靠,有时取不到
  25. if (me.libID == undefined){me.libID = getQueryString('repository')};
  26. sheetCommonObj.initSheet(me.sheet, me.setting, 30);
  27. var carryBit = new GC.Spread.Sheets.CellTypes.ComboBox();
  28. carryBit.items(["四舍五入","进一"]);
  29. me.sheet.getRange(-1, 5, -1, 1).cellType(carryBit);
  30. me.sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
  31. me.sheet.bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
  32. me.sheet.bind(GC.Spread.Sheets.Events.EditEnded, me.onEditEnded);
  33. me.sheet.bind(GC.Spread.Sheets.Events.RangeChanged, me.onRangeChanged);
  34. },
  35. onClipboardPasting: function(sender, args) {
  36. var me = rationAssistOprObj;
  37. if (!me.ration) {
  38. args.cancel = true;
  39. }
  40. },
  41. onClipboardPasted: function(e, info) {
  42. var me = rationAssistOprObj;
  43. if (!me.ration) {return;};
  44. var tempArr = sheetCommonObj.analyzePasteData(me.setting, info);
  45. var assList = me.ration.rationAssList;
  46. if (assList == undefined) {
  47. me.ration.rationAssList = tempArr;
  48. }else{
  49. assList = assList.concat(tempArr);
  50. me.ration.rationAssList = assList;
  51. };
  52. rationOprObj.mixUpdateRequest([me.ration], [], []);
  53. sheetCommonObj.cleanSheet(me.sheet, me.setting, -1);
  54. sheetCommonObj.showData(me.sheet, me.setting, me.ration.rationAssList);
  55. },
  56. onEditEnded: function(sender, args){
  57. var me = rationAssistOprObj;
  58. if (!me.ration) {return;};
  59. var assList = me.ration.rationAssList;
  60. var assObj = sheetCommonObj.combineRowData(me.sheet, me.setting, args.row);
  61. // 新增
  62. if ((assList == undefined) || (assList && args.row >= assList.length)) {
  63. if (assObj.decimal == undefined || assObj.decimal == null){assObj.decimal = '0';};
  64. if (assObj.carryBit == undefined || assObj.carryBit == null){assObj.carryBit = '四舍五入';};
  65. assList.push(assObj);
  66. }
  67. // 修改
  68. else{ assList[args.row] = assObj; };
  69. rationOprObj.mixUpdateRequest([me.ration], [], []);
  70. sheetCommonObj.cleanSheet(me.sheet, me.setting, -1);
  71. sheetCommonObj.showData(me.sheet, me.setting, assList);
  72. },
  73. onRangeChanged: function(sender, args) {
  74. if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {
  75. if (!confirm(`确定要删除选中的 ${args.rowCount} 条辅助定额吗?`)){return; }
  76. var me = rationAssistOprObj;
  77. if (!me.ration) {return;};
  78. var assList = me.ration.rationAssList;
  79. for (var i = args.rowCount - 1; i >= 0; i--) {
  80. if (args.row + i < assList.length) {
  81. assList.splice(args.row + i, 1);
  82. };
  83. };
  84. rationOprObj.mixUpdateRequest([me.ration], [], []);
  85. sheetCommonObj.cleanSheet(me.sheet, me.setting, -1);
  86. sheetCommonObj.showData(me.sheet, me.setting, assList);
  87. };
  88. },
  89. getAssItems: function(ration) {
  90. var me = this;
  91. me.ration = ration;
  92. sheetCommonObj.cleanSheet(me.sheet, me.setting, -1);
  93. sheetCommonObj.unShieldAllCells(me.sheet);
  94. if (ration == undefined || ration.rationAssList == undefined ||
  95. ration.rationAssList.length == 0){return;};
  96. sheetCommonObj.showData(me.sheet, me.setting, ration.rationAssList);
  97. }
  98. }