main.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. /**
  2. * Created by Mai on 2017/3/10.
  3. */
  4. $(function () {
  5. loadMainSize();
  6. $("#header-menu").removeAttr('style');
  7. $('#tab_baobiao').on('shown.bs.tab', function (e) {
  8. $(e.relatedTarget.hash).removeClass('active');
  9. // do something
  10. });
  11. $('#tab_zaojiashu').on('shown.bs.tab', function (e) {
  12. //设置sessionStorage,重载时用
  13. sessionStorage.setItem('mainTab', '#tab_zaojiashu');
  14. $(e.relatedTarget.hash).removeClass('active');
  15. $("#subItems").addClass('active');
  16. $(gljOprObj.activeTab).addClass('active');
  17. autoFlashHeight();
  18. projectObj.refreshMainSpread();
  19. billsGuidance.refreshWorkBook();
  20. billsLibObj.refreshBillsSpread();
  21. billsLibObj.refreshBillsRelaSpread();
  22. rationLibObj.refreshSpread();
  23. });
  24. $('#tab_report').on('shown.bs.tab', function(e){
  25. sessionStorage.setItem('mainTab', '#tab_report');
  26. autoFlashHeight();
  27. });
  28. let mainResizeEles = getMainResizeEles();
  29. SlideResize.verticalSlide(mainResizeEles.eleObj, mainResizeEles.limit, function(){
  30. projectObj.mainSpread.refresh();
  31. refreshSubSpread();
  32. $('#comments').find('textarea').height($('#comments').height() - 25);
  33. });
  34. const projectId = scUrlUtil.GetQueryString('project');
  35. // 绑定点击事件
  36. projectObj.mainSpread.bind(GC.Spread.Sheets.Events.CellClick, function(sender, info) {
  37. if (info.row !== undefined && projectId !== undefined) {
  38. setLocalCache('lastRow:' + projectId, info.row);
  39. setLocalCache('lastCol:' + projectId, info.col);
  40. }
  41. });
  42. });
  43. function getMainResizeEles() {
  44. // 读取本地存储的高度(必须放在载入spread之前)
  45. let mainResizeEles = {};
  46. mainResizeEles.eleObj = {
  47. module: 'mainVertical',
  48. resize: $('#mainVerticalResize'),
  49. top: $('#top_div'),
  50. topSpread: $('#top_div').children('.main-data-top'),
  51. bottom: $('#bottom_div'),
  52. bottomSpread: $('#bottom_div').children().find('.main-data-bottom'),
  53. };
  54. mainResizeEles.limit = {
  55. min: 150,
  56. max: `$(window).height()-$('.header').height()-$('#headerToolsBar').height()-150-10`,
  57. notTopSpread: 0,
  58. notBottomSpread: $('#bottom_div ul').height(),
  59. totalHeight: `$(window).height()-$('.header').height()-$('#headerToolsBar').height()-10`
  60. };
  61. return mainResizeEles;
  62. }
  63. function loadMainSize() {//加载造价书页面各高度
  64. // 读取本地存储的高度(必须放在载入spread之前)
  65. let mainResizeEles = getMainResizeEles();
  66. SlideResize.loadVerticalHeight(mainResizeEles.eleObj.module, mainResizeEles.eleObj, mainResizeEles.limit, function () {
  67. refreshSubSpread();
  68. zmhs_obj.refresh();
  69. });
  70. }
  71. function getResizeWidthPercent(nearSize, farSize){
  72. const resizeWidth = 6;
  73. nearSize = parseFloat(nearSize);
  74. farSize = parseFloat(farSize);
  75. let nearPercent = (nearSize / (resizeWidth + nearSize + farSize) * 100) + '%';
  76. let farPercent = (farSize / (resizeWidth + nearSize + farSize) * 100) + '%';
  77. return {nearPercent, farPercent};
  78. }
  79. function setSizeWithPercent(tag,eles,nearSize,farSize,type) {
  80. nearSize = parseFloat(nearSize);
  81. farSize = parseFloat(farSize);
  82. if(type !== 'width') {
  83. let headerHeight = $(".header").height();
  84. let toolsbarHeight = $(".toolsbar").height();
  85. let exand = tag == "#main" ? 1:50;
  86. let totalHeight = $(window).height() - headerHeight - toolsbarHeight-exand;
  87. const navSize = eles.nav ? eles.nav[type]() + 4 : 0;
  88. totalHeight = totalHeight - navSize;
  89. nearSize = (nearSize/(nearSize + farSize))* totalHeight;
  90. eles.nearSpread[type](nearSize);
  91. eles.farSpread[type](totalHeight - nearSize);
  92. eles.farElement[type](totalHeight - nearSize + navSize);
  93. }
  94. }
  95. function setDefaultSize(tag,eles,type) {
  96. let o_nearSize = 5;
  97. let o_farSize = 2;
  98. if(type == 'height'){
  99. let headerHeight = $(".header").height();
  100. let toolsbarHeight = $(".toolsbar").height();
  101. let exand = tag == "#main" ? 1:50;
  102. let totalHeight = $(window).height() - headerHeight - toolsbarHeight-exand;
  103. const navSize = eles.nav ? eles.nav[type]() + 4 : 0;
  104. totalHeight = totalHeight - navSize;
  105. let nearSize = (o_nearSize/(o_nearSize + o_farSize))* totalHeight;
  106. eles.nearSpread[type](nearSize);
  107. eles.farSpread[type](totalHeight - nearSize);
  108. eles.farElement[type](totalHeight - nearSize + navSize);
  109. }
  110. }
  111. function disableRightMenu(id,spread,rowChangeFunction) {
  112. let me = this;
  113. $.contextMenu({
  114. selector: '#'+id,
  115. build: function ($trigger, e) {
  116. let oldRow = spread.getActiveSheet().getSelections()[0].row;
  117. var target = SheetDataHelper.safeRightClickSelection($trigger, e, spread);
  118. if(rowChangeFunction){
  119. if(oldRow != target.row){
  120. rowChangeFunction(target.row)
  121. }
  122. }
  123. return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
  124. },
  125. items: {
  126. "disable": {
  127. name: "",
  128. visible: function () {
  129. return false;
  130. },
  131. callback: function (key, opt) {
  132. }
  133. },
  134. }
  135. });
  136. }
  137. /*window.onunload=show; 页面唯一性可以用session storage 来做
  138. function show()
  139. {
  140. return "exit"
  141. };*/
  142. //页面失去焦点时触发
  143. /*
  144. window.onblur = function () {
  145. console.log("test")
  146. };*/