confirm_modal.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /**
  2. *
  3. * Created by Mai on 2017/10/20.
  4. */
  5. let ConfirmModal = {
  6. reBind: function (obj, eventName, fun) {
  7. obj.unbind(eventName);
  8. obj.bind(eventName, fun);
  9. },
  10. stdBillsUnit: {
  11. modalObj: $('#std_bills_unit'),
  12. okObj: $('#std_bills_unit_ok'),
  13. cancelObj: $('#std_bills_unit_cancel'),
  14. closeObj: $('#std_bills_unit_close'),
  15. spread: null,
  16. setting: {
  17. "emptyRows":0,
  18. "headRows":1,
  19. "headRowHeight":[25],
  20. "defaultRowHeight": 21,
  21. "cols":[{
  22. "width":120,
  23. "readOnly":true,
  24. "head":{
  25. "titleNames":["编码"],
  26. "spanCols":[1],
  27. "spanRows":[1],
  28. "vAlign":[1],
  29. "hAlign":[1],
  30. "font":["Arial"]
  31. },
  32. "data":{
  33. "field":"code",
  34. "vAlign":1,
  35. "hAlign":0,
  36. "font":"Arial"
  37. }
  38. }, {
  39. "width":200,
  40. "readOnly":true,
  41. "head":{
  42. "titleNames":["名称"],
  43. "spanCols":[1],
  44. "spanRows":[1],
  45. "vAlign":[1],
  46. "hAlign":[1],
  47. "font":["Arial"]
  48. },
  49. "data":{
  50. "field":"name",
  51. "vAlign":1,
  52. "hAlign":0,
  53. "font":"Arial"
  54. }
  55. }, {
  56. "width":50,
  57. "readOnly":true,
  58. "head":{
  59. "titleNames":["单位"],
  60. "spanCols":[1],
  61. "spanRows":[1],
  62. "vAlign":[1],
  63. "hAlign":[1],
  64. "font":["Arial"]
  65. },
  66. "data":{
  67. "field":"unit",
  68. "vAlign":1,
  69. "hAlign":1,
  70. "font":"Arial"
  71. }
  72. }]
  73. },
  74. check: function (std, okCallBack, cancelCallBack) {
  75. if (!this.spread) {
  76. this.spread = SheetDataHelper.createNewSpread($('#std_bills_unit_spread')[0], {sheetCount: 1});
  77. this.spread.options.showScrollTip = GC.Spread.Sheets.ShowScrollTip.vertical;
  78. this.spread.bind(GC.Spread.Sheets.Events.CellDoubleClick, function (sender, args) {
  79. ConfirmModal.stdBillsUnit.okObj.click();
  80. });
  81. SheetDataHelper.loadSheetHeader(this.setting, this.spread.getActiveSheet());
  82. }
  83. let sheet = ConfirmModal.stdBillsUnit.spread.getActiveSheet();
  84. let modalObj = this.modalObj;
  85. let okFun = function () {
  86. modalObj.modal('toggle');
  87. if (okCallBack) {
  88. let newStd = JSON.parse(JSON.stringify(std));
  89. newStd.unit = sheet.getText(sheet.getSelections()[0].row, 2);
  90. okCallBack(newStd);
  91. }
  92. };
  93. let cancelFun = function () {
  94. modalObj.modal('toggle');
  95. if (cancelCallBack) {
  96. cancelCallBack();
  97. }
  98. };
  99. ConfirmModal.reBind(this.okObj, 'click', okFun);
  100. ConfirmModal.reBind(this.cancelObj, 'click', cancelFun);
  101. ConfirmModal.reBind(this.closeObj, 'click', cancelFun);
  102. let datas = [];
  103. let units = std.unit.split('/');
  104. for (let unit of units) {
  105. datas.push({'code': std.code, 'name': std.name, 'unit': unit});
  106. }
  107. SheetDataHelper.loadSheetData(this.setting, sheet, datas);
  108. this.spread.getActiveSheet().setActiveCell(0, 0);
  109. this.modalObj.modal('show');
  110. ConfirmModal.stdBillsUnit.spread.refresh();
  111. }
  112. }
  113. };