confirm_modal.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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. SheetDataHelper.loadSheetHeader(this.setting, this.spread.getActiveSheet());
  79. }
  80. let sheet = ConfirmModal.stdBillsUnit.spread.getActiveSheet();
  81. let modalObj = this.modalObj;
  82. let okFun = function () {
  83. modalObj.modal('toggle');
  84. if (okCallBack) {
  85. let newStd = JSON.parse(JSON.stringify(std));
  86. newStd.unit = sheet.getText(sheet.getSelections()[0].row, 2);
  87. okCallBack(newStd);
  88. }
  89. };
  90. let cancelFun = function () {
  91. modalObj.modal('toggle');
  92. if (cancelCallBack) {
  93. cancelCallBack();
  94. }
  95. };
  96. ConfirmModal.reBind(this.okObj, 'click', okFun);
  97. ConfirmModal.reBind(this.cancelObj, 'click', cancelFun);
  98. ConfirmModal.reBind(this.closeObj, 'click', cancelFun);
  99. let datas = [];
  100. let units = std.unit.split('/');
  101. for (let unit of units) {
  102. datas.push({'code': std.code, 'name': std.name, 'unit': unit});
  103. }
  104. SheetDataHelper.loadSheetData(this.setting, sheet, datas);
  105. this.modalObj.modal('show');
  106. ConfirmModal.stdBillsUnit.spread.refresh();
  107. }
  108. }
  109. };