main.js 5.9 KB

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