Sfoglia il codice sorgente

提升焦点变换性能

zhongzewei 6 anni fa
parent
commit
67bd9296a1

+ 2 - 0
public/web/common_util.js

@@ -58,9 +58,11 @@ function seqString(num,length){
 };
 
 function customRowHeader(sheet, dataLength) {
+    sheet.suspendPaint();   //提升焦点变换性能 2019年4月15日
     for (let i = 0; i < dataLength; i++) {
         sheet.setValue(i, 0, `F${i + 1}`, GC.Spread.Sheets.SheetArea.rowHeader);
     }
+    sheet.resumePaint();   //提升焦点变换性能 2019年4月12日
 };
 
 function changePropNames(object, oldNames, newNames) {

+ 1 - 1
web/building_saas/main/js/controllers/material_controller.js

@@ -181,7 +181,7 @@ let MaterialController = {
         $("#subSpread").removeClass("ration_glj_spread");
         $("#subSpread").css("width",""); //左右拖动调整表格大小的时候会设置css属性,所以隐藏这个div的时候也要把这个属性给去掉
         $("#replaceM").hide();
-        refreshSubSpread();
+        //refreshSubSpread();   //提升焦点变换性能 2019年4月15日
     },
     showReplaceSpread:function(node){
         $("#replaceM").addClass("ovf-hidden");

+ 1 - 0
web/building_saas/main/js/views/glj_view.js

@@ -16,6 +16,7 @@ var gljOprObj = {
     GLJSelection: [],
     selectedGLJClass: null,
     parentNodeIds: {},
+    preActiveTab: '', //提升焦点变换性能 2019年4月15日
     activeTab: '#linkGLJ',
     rationTab:'#linkGLJ',
     billsTab:'#linkGCLMX',

+ 18 - 4
web/building_saas/main/js/views/sub_view.js

@@ -9,6 +9,7 @@
 
 let subSpread = null;
 let subObj = {
+    fisrtLinked: true,  //提升焦点变换性能 2019年4月15日
     TZJNRrePercent:null,
     showGljSubTab:false,
     initSubSpread:function () {
@@ -124,7 +125,9 @@ let subObj = {
     showGljSubTabData:function () {
         this.initGljSubTab();
         zmhs_obj.showDatas();
-        refreshSubSpread();
+        if (gljOprObj.activeTab !== gljOprObj.preActiveTab) {   //提高焦点变换性能 2019年4月15日
+            refreshSubSpread();
+        }
     }
 };
 
@@ -134,13 +137,19 @@ $("#linkGLJ").click(function(){
     $("#subItems").children().hide();//控制显示subSpread,隐藏特征及内容spread
     //show
     //MaterialController.showReplaceDiv();
-    subObj.showGljSubTabData();
+    //subObj.showGljSubTabData();   //提升焦点变换性能 2019年4月15日
     $("#subSpread").show();
     $("#itemTextDiv").show();
     $("#gljItemTab").show();
     subSpread.options.allowUserDragFill = false;
-    refreshSubSpread();
+    //refreshSubSpread();   //提升焦点变换性能 2019年4月15日
     subSpread.setActiveSheetIndex(0);
+    //提高焦点变换性能 2019年4月15日--
+    if (!subObj.fisrtLinked) {
+        gljOprObj.preActiveTab = gljOprObj.activeTab;
+    }
+    subObj.fisrtLinked = false;
+    //--
     gljOprObj.activeTab='#linkGLJ';
     gljOprObj.setNodeShowTab();
 });
@@ -161,8 +170,9 @@ $("#linkGCLMX").click(function(){
     MaterialController.hideReplaceDiv();
     $("#subSpread").show();
     subSpread.options.allowUserDragFill = true;
-    refreshSubSpread();
+    //refreshSubSpread(); //提升焦点变换性能 2019年4月15日
     subSpread.setActiveSheetIndex(1);
+    gljOprObj.preActiveTab = gljOprObj.activeTab;   //提升焦点变换性能 2019年4月15日
     gljOprObj.activeTab='#linkGCLMX';
     gljOprObj.setNodeShowTab();
 });
@@ -179,6 +189,7 @@ $("#linkJSCX").click(function(){        // 计算程序
         projectObj.mainController.tree.selected = projectObj.mainController.tree.firstNode();
     let sel = projectObj.mainController.tree.selected;
     calcProgramObj.refreshCalcProgram(sel, 3);
+    gljOprObj.preActiveTab = gljOprObj.activeTab;   //提升焦点变换性能 2019年4月15日
     gljOprObj.activeTab='#linkJSCX';
     gljOprObj.setNodeShowTab();
 });
@@ -190,6 +201,7 @@ $("#linkZMHS").click(function(){        // 子目换算
     $("#tabZMHS").show();
     zmhs_obj.loadSideResize();
     refreshSubSpread();
+    gljOprObj.preActiveTab = gljOprObj.activeTab;   //提升焦点变换性能 2019年4月15日
     gljOprObj.activeTab='#linkZMHS';
     gljOprObj.setNodeShowTab();
 });
@@ -197,12 +209,14 @@ $("#linkMBZM").click(function(){        // 模板子目
     $("#subItems").children().hide();
     $("#tabMBZM").show();
     refreshSubSpread();
+    gljOprObj.preActiveTab = gljOprObj.activeTab;   //提升焦点变换性能 2019年4月15日
     gljOprObj.activeTab='#linkMBZM';
     gljOprObj.setNodeShowTab();
 });
 
 //清单精灵
 $('#linkQDJL').click(function () {
+    gljOprObj.preActiveTab = gljOprObj.activeTab;   //提升焦点变换性能 2019年4月15日
     gljOprObj.activeTab='#linkQDJL';
     $("#subItems").children().hide();
     $('#qdjl').show();