Przeglądaj źródła

Merge branch 'master' of http://smartcost.f3322.net:3000/SmartCost/ConstructionOperation

TonyKang 7 lat temu
rodzic
commit
394d443889

+ 5 - 2
modules/common/const/bills_fixed.js

@@ -38,7 +38,9 @@ const fixedFlag = {
     // 工程排污费 charges for disposing pollutants
     POLLUTANTS: 17,
     // 税金
-    TAX: 18
+    TAX: 18,
+    //工程造价
+    ENGINEERINGCOST: 19
 };
 const fixedFlagList = [
     {name: "分部分项工程", value: fixedFlag.SUB_ENGINERRING},
@@ -58,7 +60,8 @@ const fixedFlagList = [
     {name: "规费", value: fixedFlag.CHARGE},
     {name: "社会保险费及住房公积金", value: fixedFlag.SOCIAL_INSURANCE_HOUSING_FUND},
     {name: "工程排污费", value: fixedFlag.POLLUTANTS},
-    {name: "税金", value: fixedFlag.TAX}
+    {name: "税金", value: fixedFlag.TAX},
+    {name: "工程造价", value: fixedFlag.ENGINEERINGCOST}
 ];
 
 export {fixedFlag as default, fixedFlagList as List};

+ 100 - 7
public/web/scMathUtil.js

@@ -1,5 +1,7 @@
 /**
  * Created by jimiz on 2017/3/28.
+ * 经验证:10000次四舍五入,用num.toFixed为15毫秒,用roundTo为47毫秒,速度低一些,但可以接受
+ * 另:经手工验证,用num.toString(2)将十进制浮点数转换为二进制浮点数时,最后一位有错误的情况出现,例子(10.0311)
  */
 
 let scMathUtil = {
@@ -7,18 +9,93 @@ let scMathUtil = {
         let lFactor = Math.pow(10, digit);
         let fOffSet = 0.5;
         let sign = '';
+        // 处理符号
         if (num < 0){
             sign = '-';
             num = Math.abs(num);
         }
+        // 计算
         let result = Math.floor((num / lFactor) + fOffSet).toString();
         let iLength = result.length;
+        // 因为数值被转为整数计算,当目标位数在小数点后,且数值小于0,需要补齐前面的位数
+        if (iLength < -digit){
+            result = this.zeroString(-digit) + result;
+        }
+        // 当目标位数在小数点前,需要补齐后面的位数
+        else if ((digit > 0) && (iLength < digit)){
+            result = result + this.zeroString(digit);
+        }
+        iLength = result.length;
+        // 获得小数点前的数字
         let r1 = result.substring(0, iLength + digit);
+        // 获得小数点后的数字
         let r2 = result.substring(iLength + digit, iLength);
+        // 拼出完整结果
         return Number(sign + r1 + '.' + r2);
     },
+    // 原来直接用num.toString(2),如果小数段最后位数是0,会被舍掉,导致进位计算bug
+    // 改为自己计算二进制,固定为53位。
+    // 经验证速度没有差别
+    // 另:经手工验证,用num.toString(2)将十进制浮点数转换为二进制浮点数时,最后一位有错误的情况出现,例子(10.0311)
     floatToBin: function(num) {
-        return num.toString(2);
+        let sign = '';
+        let dNum = num;
+        // 符号位
+        if (num < 0) {
+            sign = '-';
+            dNum = -num;
+        };
+        // 解析整数段
+        let iNum = Math.floor(dNum);
+        let iFactor;
+        let sResult1 = '';
+        // 计算二进制整数段
+        while (iNum > 0){
+            iFactor = iNum % 2;
+            iNum = Math.floor(iNum / 2);
+            sResult1 = iFactor + sResult1;
+        }
+        // 判断是否有整数段
+        let bIntZero = sResult1 === '';
+        if (bIntZero){
+            sResult1 = '0';
+        }
+        // 解析小数段
+        let fNum = dNum - Math.floor(dNum);
+        let sResult2 = '';
+        if (fNum > 0){
+            // 双精度浮点数,尾数总长52位,因为第一位总是1,存储时已经被隐藏,所以有效位数为53位
+            const floatLength = 53;
+
+            let iLength;
+            // js的bug,浮点数直接取小数可能不能获得精确值,只有转成字符串,截取字符串中的小数段
+            let sNum = dNum.toString(10);
+            let iDot = sNum.indexOf('.');
+            sNum = '0' + sNum.substring(iDot, sNum.length);
+            fNum = Number(sNum);
+            // 有整数段,则小数位数为全部位数-整数位数
+            if (!bIntZero){
+                iLength = floatLength - sResult1.length;
+            }
+            else{
+                iLength = floatLength;
+            }
+            // 计算二进制小数段
+            while (iLength > 0){
+                fNum = fNum * 2;
+                iFactor = Math.floor(fNum);
+                fNum = fNum % 1;
+                sResult2 = sResult2 + iFactor;
+                if (iFactor > 0){
+                    bIntZero = false;
+                }
+                if (bIntZero && (iFactor === 0)){
+                    continue;
+                }
+                iLength--;
+            }
+        }
+        return sign + sResult1 + '.' + sResult2;
     },
     binToFloat: function(bin) {
         let result = 0;
@@ -60,13 +137,7 @@ let scMathUtil = {
         let result = bin;
         let iDot = bin.indexOf('.');
         if (iDot < 0){return result};
-        // 二进制浮点数带小数位数最大长度
-        let floatLength = 53;
         let iLength = bin.length;
-        // 长度小于53说明该二进制数尾数长度小于Double类型限制,未被截断,无需进位
-        if (iLength < floatLength) {
-            return result;
-        }
         iLength = bin.length;
         for (let i = iLength - 1; i > iDot; i--){
             let num = Number(bin[i]);
@@ -84,5 +155,27 @@ let scMathUtil = {
     roundTo: function(num, digit){
         let me = this;
         return me.innerRoundTo(me.binToFloat(me.incMantissa(me.floatToBin(num))), digit);
+    },
+    isNumber : function (obj) {
+        return obj === +obj;
+    },
+    roundToString:function(obj,decimal){
+        let me = this;
+        let value;
+        if(me.isNumber(obj)){
+            value = me.roundTo(obj,-decimal)
+        }else {
+            value = me.roundTo(Number(obj),-decimal);
+        }
+        return value.toFixed(decimal);
     }
+};
+
+Number.prototype.toDecimal = function (ADigit) {
+    //return parseFloat(this.toFixed(ADigit));
+    digit = (ADigit && typeof(ADigit) === 'number' && Number.isInteger(ADigit) && ADigit >= 0) ? -ADigit : -2;
+    // var s = scMathUtil.roundTo(this, digit);
+    // console.log('Number: ' + this + '   Digit: ' + digit + '    Result: ' + s);
+    // return parseFloat(s);
+    return scMathUtil.roundTo(this, digit);
 };

+ 1 - 0
public/web/sheet/sheet_common.js

@@ -54,6 +54,7 @@ var sheetCommonObj = {
         sheet.setColumnCount(setting.header.length, spreadNS.SheetArea.viewport);
         sheet.options.colHeaderAutoTextIndex = 1;
         sheet.options.colHeaderAutoText = spreadNS.HeaderAutoText.numbers;
+        sheet.options.clipBoardOptions = GC.Spread.Sheets.ClipboardPasteOptions.values;
         sheet.options.protectionOptions = {
             allowResizeRows: true,
             allowResizeColumns: true

+ 1 - 0
web/maintain/bills_lib/scripts/set_sheets.js

@@ -13,6 +13,7 @@ var setSheet = {
         spread.options.allowExtendPasteRange = isExtendPaste? true : false;
         spread.options.allowUserDragDrop = false;
         spread.getActiveSheet().options.allowCellOverflow = false;
+        spread.getActiveSheet().options.clipBoardOptions = GC.Spread.Sheets.ClipboardPasteOptions.values;
         sheet.showRowOutline(false);
        // sheet.defaults.rowHeight = 30;
         setting.cols.forEach(function(col, colIdx){

+ 24 - 10
web/maintain/ration_repository/js/coe.js

@@ -96,10 +96,12 @@ let coeOprObj = {
             if(row < me.currentCoeList.length){
                 me.currentCoe = me.currentCoeList[row];
                 that.currentGljAdjList = me.currentCoe.coes;
+                that.buildDynamicComboBox(that.workSheet);
             }
             else{
                 me.currentCoe = null;
                 that.currentGljAdjList = [];
+                that.buildBaseCell(that.workSheet);
             }
             //refresh & show coes
             sheetCommonObj.cleanSheet(that.workSheet, that.setting, -1);
@@ -389,33 +391,45 @@ let gljAdjOprObj = {
         me.workSheet.options.isProtected = true;
         me.onDelOpr(me.workBook, me.setting);
         me.workSheet.clearSelection();
-        me.buildComboBox(me.workSheet);
         me.workSheet.bind(GC.Spread.Sheets.Events.EditStarting, me.onEditStart);
         me.workSheet.bind(GC.Spread.Sheets.Events.EditEnded, me.onEditEnded);
+        me.workSheet.bind(GC.Spread.Sheets.Events.EnterCell, me.onEnterCell);
         me.workSheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
         me.workSheet.bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
     },
-    buildComboBox: function (sheet) {
+    buildBaseCell: function (sheet) {
         let me = gljAdjOprObj;
         sheet.suspendPaint();
         sheet.suspendEvent();
-        let comboType = new GC.Spread.Sheets.CellTypes.ComboBox();
-        comboType.items(me.setting.comboItems.coeType);
-        let comboOpr = new GC.Spread.Sheets.CellTypes.ComboBox();
-        comboOpr.items(me.setting.comboItems.operator);
-        sheet.getCell(-1, 0).cellType(comboType);
-        sheet.getCell(-1, 3).cellType(comboOpr);
+        let baseCell = GC.Spread.Sheets.CellTypes.Base();
+        sheet.getCell(-1, 0).cellType(baseCell);
+        sheet.getCell(-1, 3).cellType(baseCell);
         sheet.resumePaint();
         sheet.resumeEvent();
     },
+    buildDynamicComboBox: function (sheet) {
+        let me = gljAdjOprObj;
+        sheet.suspendPaint();
+        sheet.suspendEvent();
+        let dynamicCombo = sheetCommonObj.getDynamicCombo();
+        dynamicCombo.items(me.setting.comboItems.coeType);
+        let dynamicOprCombo = sheetCommonObj.getDynamicCombo();
+        dynamicOprCombo.items(me.setting.comboItems.operator);
+        sheet.getCell(-1, 0).cellType(dynamicCombo);
+        sheet.getCell(-1, 3).cellType(dynamicOprCombo);
+        sheet.resumePaint();
+        sheet.resumeEvent();
+    },
+    onEnterCell: function (sender, args) {
+        args.sheet.repaint();
+    },
     onEditStart: function (sender, args) {
         let me = gljAdjOprObj;
         if(!coeOprObj.currentCoe || args.row >= me.currentGljAdjList.length && args.col === 1
             || args.row < me.currentGljAdjList.length && args.col === 1 && me.currentGljAdjList[args.row].coeType !== '单个工料机'){
             args.cancel = true;
         }
-    }
-    ,
+    },
     onEditEnded: function (sender, args) {
         let me = gljAdjOprObj, isUpdate = false,
             dataCode = me.setting.header[args.col].dataCode;

+ 10 - 3
web/maintain/ration_repository/js/ration.js

@@ -57,6 +57,7 @@ let rationOprObj = {
         me.rationDelOpr();
         me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
         me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
+        me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.LeaveCell, me.onLeaveCell);
         me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onEnterCell);
         me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditStarting, me.onCellEditStart);
         me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditEnded, me.onCellEditEnd);
@@ -196,9 +197,15 @@ let rationOprObj = {
         me.workBook.commandManager().setShortcutKey(null, GC.Spread.Commands.Key.del, false, false, false, false);
         me.workBook.commandManager().setShortcutKey('rationDelete', GC.Spread.Commands.Key.del, false, false, false, false);
     },
+    onLeaveCell: function (sender, args) {
+        let me = rationOprObj;
+        me.lastCol = me.setting.header[args.col];
+    },
     onEnterCell: function (sender, args) {
         let me = rationOprObj;
-        args.sheet.repaint();
+        if(me.setting.header[args.col]['dataCode'] === 'unit' || me.lastCol.dataCode === 'unit'){
+            args.sheet.repaint();
+        }
         me.cellRowIdx = args.row;
         let isHasData = false;
         if(me.addRationItem){
@@ -551,8 +558,8 @@ let rationOprObj = {
                 sheetCommonObj.cleanData(me.workBook.getSheet(0), me.setting, -1);
                 sheetsOprObj.showData(me.workBook.getSheet(0), me.setting, cacheSection);
                 //combo
-                sheetCommonObj.setStaticCombo(me.workBook.getActiveSheet(), 0, 2, cacheSection.length, rationUnits, 10, false);
-                sheetCommonObj.setDynamicCombo(me.workBook.getActiveSheet(), cacheSection.length, 2, me.workBook.getActiveSheet().getRowCount() - cacheSection.length, rationUnits, 10, false);
+                //sheetCommonObj.setStaticCombo(me.workBook.getActiveSheet(), 0, 2, cacheSection.length, rationUnits, 10, false);
+                sheetCommonObj.setDynamicCombo(me.workBook.getActiveSheet(), 0, 2, me.workBook.getActiveSheet().getRowCount(), rationUnits, 10, false);
                 if(me.mixDel === 1){
                     let row = me.workBook.getSheet(0).getSelections()[0].row;
                     if (cacheSection && row < cacheSection.length) {

+ 10 - 10
web/maintain/ration_repository/js/ration_assist.js

@@ -40,7 +40,7 @@ var rationAssistOprObj = {
         args.sheet.repaint();
         let cellType = args.sheet.getCellType(args.row, 5);
         if(cellType.typeName !== 'undefined' && cellType.typeName === '1'){
-            sheetCommonObj.setStaticCombo(args.sheet, 0, 5, 0, me.setting.comboItems, false);
+          //  sheetCommonObj.setStaticCombo(args.sheet, 0, 5, 0, me.setting.comboItems, false);
             sheetCommonObj.setDynamicCombo(args.sheet, 0, 5, me.sheet.getRowCount(), me.setting.comboItems, false, false);
         }
     },
@@ -71,8 +71,8 @@ var rationAssistOprObj = {
             me.sheet.getParent().focus(true);
         });
         sheetCommonObj.cleanData(me.sheet, me.setting, -1);
-        sheetCommonObj.setStaticCombo(me.sheet, 0, 5, me.ration.rationAssList.length, me.setting.comboItems, false, false);
-        sheetCommonObj.setDynamicCombo(me.sheet, me.ration.rationAssList.length, 5, me.sheet.getRowCount() - me.ration.rationAssList.length, me.setting.comboItems, false, false);
+        //sheetCommonObj.setStaticCombo(me.sheet, 0, 5, me.ration.rationAssList.length, me.setting.comboItems, false, false);
+        sheetCommonObj.setDynamicCombo(me.sheet, 0, 5, me.sheet.getRowCount(), me.setting.comboItems, false, false);
         sheetCommonObj.showData(me.sheet, me.setting, me.ration.rationAssList);
     },
 
@@ -119,8 +119,8 @@ var rationAssistOprObj = {
             me.sheet.getParent().focus(true);
         });
         sheetCommonObj.cleanData(me.sheet, me.setting, -1);
-        sheetCommonObj.setStaticCombo(me.sheet, 0, 5, assList.length, me.setting.comboItems, false, false);
-        sheetCommonObj.setDynamicCombo(me.sheet, assList.length, 5, me.sheet.getRowCount() - assList.length, me.setting.comboItems, false, false);
+        //sheetCommonObj.setStaticCombo(me.sheet, 0, 5, assList.length, me.setting.comboItems, false, false);
+        sheetCommonObj.setDynamicCombo(me.sheet, 0, 5, me.sheet.getRowCount(), me.setting.comboItems, false, false);
         sheetCommonObj.showData(me.sheet, me.setting, assList);
     },
 
@@ -162,8 +162,8 @@ var rationAssistOprObj = {
                         workBook.focus(true);
                     });
                     sheetCommonObj.cleanData(me.sheet, me.setting, -1);
-                    sheetCommonObj.setStaticCombo(me.sheet, 0, 5, curCahe.length, me.setting.comboItems, false);
-                    sheetCommonObj.setDynamicCombo(me.sheet, curCahe.length, 5, me.sheet.getRowCount() - curCahe.length, me.setting.comboItems, false);
+                    //sheetCommonObj.setStaticCombo(me.sheet, 0, 5, curCahe.length, me.setting.comboItems, false);
+                    sheetCommonObj.setDynamicCombo(me.sheet, 0, 5, me.sheet.getRowCount(), me.setting.comboItems, false);
                     sheetCommonObj.showData(me.sheet, me.setting, curCahe);
                 }
             }
@@ -181,13 +181,13 @@ var rationAssistOprObj = {
 
         if (ration == undefined || ration.rationAssList == undefined ||
             ration.rationAssList.length == 0){
-            sheetCommonObj.setStaticCombo(me.sheet, 0, 5, 0, me.setting.comboItems, false);
+            //sheetCommonObj.setStaticCombo(me.sheet, 0, 5, 0, me.setting.comboItems, false);
             sheetCommonObj.setDynamicCombo(me.sheet, 0, 5, me.sheet.getRowCount(), me.setting.comboItems, false, false);
             return;
         }
         else {
-            sheetCommonObj.setStaticCombo(me.sheet, 0, 5, ration.rationAssList.length, me.setting.comboItems, false);
-            sheetCommonObj.setDynamicCombo(me.sheet, ration.rationAssList.length, 5, me.sheet.getRowCount() - ration.rationAssList.length, me.setting.comboItems, false, false);
+            //sheetCommonObj.setStaticCombo(me.sheet, 0, 5, ration.rationAssList.length, me.setting.comboItems, false);
+            sheetCommonObj.setDynamicCombo(me.sheet, 0, 5, me.sheet.getRowCount(), me.setting.comboItems, false, false);
         }
         sheetCommonObj.showData(me.sheet, me.setting, ration.rationAssList);
     }

+ 1 - 1
web/maintain/ration_repository/js/repository_glj.js

@@ -53,7 +53,7 @@ repositoryGljObj = {
             {headerName:"名称",headerWidth:260,dataCode:"name", dataType: "String", hAlign: "left", vAlign: "center"},
             {headerName:"规格型号",headerWidth:260,dataCode:"specs", dataType: "String", hAlign: "left", vAlign: "center"},
             {headerName:"单位",headerWidth:120,dataCode:"unit", dataType: "String", hAlign: "center", vAlign: "center"},
-            {headerName:"基价单价",headerWidth:120,dataCode:"basePrice", dataType: "Number", formatter: "0.00", hAlign: "right", vAlign: "center"},
+            {headerName:"定额价",headerWidth:120,dataCode:"basePrice", dataType: "Number", formatter: "0.00", hAlign: "right", vAlign: "center"},
             {headerName:"类型",headerWidth:120,dataCode:"gljType", dataType: "String", hAlign: "center", vAlign: "center"}
         ],
         view:{

+ 13 - 16
web/maintain/std_glj_lib/js/glj.js

@@ -55,7 +55,7 @@ let repositoryGljObj = {
             {headerName:"名称",headerWidth:160,dataCode:"name", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
             {headerName:"规格型号",headerWidth:120,dataCode:"specs", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
             {headerName:"单位",headerWidth:45,dataCode:"unit", dataType: "String", hAlign: "center", vAlign: "center"},
-            {headerName:"基价单价",headerWidth:80,dataCode:"basePrice", dataType: "Number", formatter: "0.00", hAlign: "right", vAlign: "center"},
+            {headerName:"定额价",headerWidth:80,dataCode:"basePrice", dataType: "Number", formatter: "0.00", hAlign: "right", vAlign: "center"},
             {headerName:"类型",headerWidth:90,dataCode:"gljType", dataType: "String", hAlign: "center", vAlign: "center"},
             {headerName:"调整系数",headerWidth:60,dataCode:"adjCoe", dataType: "Number", hAlign: "center", vAlign: "center"},
         ],
@@ -194,21 +194,10 @@ let repositoryGljObj = {
     showGljItems: function(data, type) {
         let me = repositoryGljObj;
         if (me.workBook) {
-            //let cacheSection = [];
             let cacheSection = data;
-            /*let pArr = me.parentNodeIds["_pNodeId_" + type];
-            console.log(pArr);
-            for (let i = 0; i < data.length; i++) {
-                if (pArr && pArr.indexOf(data[i].gljClass) >= 0) {
-                    cacheSection.push(data[i]);
-                } else if (type == data[i].gljClass) {
-                    cacheSection.push(data[i]);
-                }
-            }*/
             sheetCommonObj.cleanData(me.workBook.getSheet(0), me.setting, -1);
             sheetsOprObj.showData(me.workBook.getSheet(0), me.setting, cacheSection, me.distTypeTree);
-            sheetCommonObj.setStaticCombo(me.workBook.getActiveSheet(), 0, 5, cacheSection.length, me.distTypeTree.comboDatas, false, 'text');
-            sheetCommonObj.setDynamicCombo(me.workBook.getActiveSheet(), cacheSection.length, 5, me.workBook.getActiveSheet().getRowCount() - cacheSection.length, me.distTypeTree.comboDatas, false, 'text');
+            sheetCommonObj.setDynamicCombo(me.workBook.getActiveSheet(), 0, 5, me.workBook.getActiveSheet().getRowCount(), me.distTypeTree.comboDatas, false, 'text');
             cacheSection = null;
         }
     },
@@ -221,6 +210,7 @@ let repositoryGljObj = {
         me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditStarting, me.onCellEditStart);
         me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditEnded, me.onCellEditEnd);
         me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onEnterCell);
+        me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.LeaveCell, me.onLeaveCell);
         me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.SelectionChanged, me.onSelectionChanged);
     },
     getCurrentComponent: function (gljComponent) {
@@ -304,7 +294,7 @@ let repositoryGljObj = {
             sheetCommonObj.cleanSheet(that.workBook.getSheet(0), that.setting, -1);
             me.workBook.focus(true);
             me.currentComponent = [];
-            that.workBook.getSheet(0).setRowCount(5);
+            that.workBook.getSheet(0).setRowCount(10);
             if(row < me.currentCache.length){
                 //标记当前工料机
                 me.currentGlj = me.currentCache[row];
@@ -323,9 +313,15 @@ let repositoryGljObj = {
             }
         }
     },
+    onLeaveCell: function (sender, args) {
+        let me = repositoryGljObj;
+        me.lastCol = args.col
+    },
     onEnterCell: function (sender, args) {
         let me = repositoryGljObj;
-        args.sheet.repaint();
+        if(me.setting.header[args.col].dataCode === 'gljType' || me.setting.header[me.lastCol].dataCode === 'gljType'){
+            args.sheet.repaint();
+        }
         me.cellRowIdx = args.row;
         let isHasData = false;
         if(me.addGljObj){
@@ -527,6 +523,7 @@ let repositoryGljObj = {
                         rObj.basePrice = 0;
                     }
                     rObj.basePrice = !isNaN(parseFloat(rObj.basePrice)) && (rObj.basePrice && typeof rObj.basePrice !== 'undefined') ? scMathUtil.roundTo(parseFloat(rObj.basePrice), -2) : 0;
+                    console.log(rObj.basePrice);
                     addArr.push(rObj);
                 }
             }
@@ -1106,7 +1103,7 @@ let gljTypeTreeOprObj = {
             gljTypeId = treeNode.ID;
         me.gljCurTypeId = treeNode.ID;
         me.addGljObj = null;
-        sheetCommonObj.cleanSheet(that.workBook.getSheet(0), that.setting, 5);
+        sheetCommonObj.cleanSheet(that.workBook.getSheet(0), that.setting, 10);
         if (me.parentNodeIds["_pNodeId_" + treeNode.ID]) {
             me.currentOprParent = 1;
             me.currentCache = me.getParentCache(me.parentNodeIds["_pNodeId_" + treeNode.ID]);