main.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  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. subObj.initGljSubTab();
  24. subObj.initQDSubTab();
  25. if($('#linkJSCX').hasClass('active'))
  26. calcProgramObj.refreshCalcProgram(projectObj.project.mainTree.selected, 2);
  27. //refreshSubSpread();
  28. });
  29. $('#tab_report').on('shown.bs.tab', function(e){
  30. sessionStorage.setItem('mainTab', '#tab_report');
  31. autoFlashHeight();
  32. $.bootstrapLoading.start();
  33. setTimeout(function(){
  34. projectObj.project.calcProgram.doTenderCalc(); // 进入报表前先自动调价计算一遍
  35. $.bootstrapLoading.end();
  36. }, 100);
  37. });
  38. let mainResizeEles = getMainResizeEles();
  39. SlideResize.verticalSlide(mainResizeEles.eleObj, mainResizeEles.limit, function(){
  40. projectObj.mainSpread.refresh();
  41. refreshSubSpread();
  42. $('#comments').find('textarea').height($('#comments').height() - 25);
  43. $("#tzCharacterText").height($("#tzSubDiv").height()-30);
  44. });
  45. const projectId = scUrlUtil.GetQueryString('project');
  46. // 绑定点击事件
  47. projectObj.mainSpread.bind(GC.Spread.Sheets.Events.CellClick, function(sender, info) {
  48. if (info.row !== undefined && projectId !== undefined) {
  49. setLocalCache('lastRow:' + projectId, info.row);
  50. setLocalCache('lastCol:' + projectId, info.col);
  51. }
  52. });
  53. //绑定F2自动打开定额库
  54. /* $(document).bind('keydown', function (event) {
  55. if(event.key === 'F2'){
  56. $('#stdRationTab').click();
  57. }
  58. }); */
  59. });
  60. function getMainResizeEles() {
  61. // 读取本地存储的高度(必须放在载入spread之前)
  62. let mainResizeEles = {};
  63. mainResizeEles.eleObj = {
  64. module: 'mainVertical',
  65. resize: $('#mainVerticalResize'),
  66. top: $('#top_div'),
  67. topSpread: $('#top_div').children('.main-data-top'),
  68. bottom: $('#bottom_div'),
  69. bottomSpread: $('#bottom_div').children().find('.main-data-bottom'),
  70. };
  71. mainResizeEles.limit = {
  72. min: 180,
  73. max: `$(window).height()-$('.header').height()-$('#headerToolsBar').height()-180-5`,
  74. notTopSpread: 0,
  75. notBottomSpread: $('#bottom_div ul').height(),
  76. totalHeight: `$(window).height()-$('.header').height()-$('#headerToolsBar').height()-5`
  77. };
  78. return mainResizeEles;
  79. }
  80. function getMaxLim(ele) {
  81. $(window).height()-$('.header').height()-$('#headerToolsBar').height()-150-10
  82. }
  83. function loadMainSize() {//加载造价书页面各高度
  84. // 读取本地存储的高度(必须放在载入spread之前)
  85. let mainResizeEles = getMainResizeEles();
  86. SlideResize.loadVerticalHeight(mainResizeEles.eleObj.module, mainResizeEles.eleObj, mainResizeEles.limit, function () {
  87. refreshSubSpread();
  88. //zmhs_obj.refresh();
  89. $("#tzCharacterText").height($("#tzSubDiv").height()-30);
  90. });
  91. }
  92. function getResizeWidthPercent(nearSize, farSize){
  93. const resizeWidth = 6;
  94. nearSize = parseFloat(nearSize);
  95. farSize = parseFloat(farSize);
  96. let nearPercent = (nearSize / (resizeWidth + nearSize + farSize) * 100) + '%';
  97. let farPercent = (farSize / (resizeWidth + nearSize + farSize) * 100) + '%';
  98. return {nearPercent, farPercent};
  99. }
  100. function setSizeWithPercent(tag,eles,nearSize,farSize,type) {
  101. nearSize = parseFloat(nearSize);
  102. farSize = parseFloat(farSize);
  103. if(type !== 'width') {
  104. let headerHeight = $(".header").height();
  105. let toolsbarHeight = $(".toolsbar").height();
  106. let exand = tag == "#main" ? 1:50;
  107. let totalHeight = $(window).height() - headerHeight - toolsbarHeight-exand;
  108. const navSize = eles.nav ? eles.nav[type]() + 4 : 0;
  109. totalHeight = totalHeight - navSize;
  110. nearSize = (nearSize/(nearSize + farSize))* totalHeight;
  111. eles.nearSpread[type](nearSize);
  112. eles.farSpread[type](totalHeight - nearSize);
  113. eles.farElement[type](totalHeight - nearSize + navSize);
  114. }
  115. }
  116. function setDefaultSize(tag,eles,type) {
  117. let o_nearSize = 5;
  118. let o_farSize = 2;
  119. if(type == 'height'){
  120. let headerHeight = $(".header").height();
  121. let toolsbarHeight = $(".toolsbar").height();
  122. let exand = tag == "#main" ? 1:50;
  123. let totalHeight = $(window).height() - headerHeight - toolsbarHeight-exand;
  124. const navSize = eles.nav ? eles.nav[type]() + 4 : 0;
  125. totalHeight = totalHeight - navSize;
  126. let nearSize = (o_nearSize/(o_nearSize + o_farSize))* totalHeight;
  127. eles.nearSpread[type](nearSize);
  128. eles.farSpread[type](totalHeight - nearSize);
  129. eles.farElement[type](totalHeight - nearSize + navSize);
  130. }
  131. }
  132. function disableRightMenu(id,spread,rowChangeFunction) {
  133. let me = this;
  134. $.contextMenu({
  135. selector: '#'+id,
  136. build: function ($trigger, e) {
  137. let oldRow = spread.getActiveSheet().getSelections()[0].row;
  138. var target = SheetDataHelper.safeRightClickSelection($trigger, e, spread);
  139. if(rowChangeFunction){
  140. if(oldRow != target.row){
  141. rowChangeFunction(target.row)
  142. }
  143. }
  144. return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
  145. },
  146. items: {
  147. "disable": {
  148. name: "",
  149. visible: function () {
  150. return false;
  151. },
  152. callback: function (key, opt) {
  153. }
  154. },
  155. }
  156. });
  157. }
  158. /*window.onunload=show; 页面唯一性可以用session storage 来做
  159. function show()
  160. {
  161. return "exit"
  162. };*/
  163. //页面失去焦点时触发
  164. /*
  165. window.onblur = function () {
  166. console.log("test")
  167. };*/