Browse Source

造价对比,冻结列、记住用户调整的列宽

MaiXinRong 3 years ago
parent
commit
a304ff9a1b

+ 6 - 0
app/const/spread.js

@@ -229,6 +229,8 @@ const stageTz = {
         defaultRowHeight: 21,
         headerFont: '12px 微软雅黑',
         font: '12px 微软雅黑',
+        frozenColCount: 5,
+        frozenLineColor: '#93b5e4',
     },
     pos: {
         cols: [
@@ -308,6 +310,8 @@ const stageCl = {
         defaultRowHeight: 21,
         headerFont: '12px 微软雅黑',
         font: '12px 微软雅黑',
+        frozenColCount: 5,
+        frozenLineColor: '#93b5e4',
     },
     pos: {
         cols: [
@@ -387,6 +391,8 @@ const stageNoCl = {
         defaultRowHeight: 21,
         headerFont: '12px 微软雅黑',
         font: '12px 微软雅黑',
+        frozenColCount: 5,
+        frozenLineColor: '#93b5e4',
     },
     pos: {
         cols: [

+ 1 - 0
app/controller/budget_controller.js

@@ -221,6 +221,7 @@ module.exports = app => {
                 defaultRowHeight: 21,
                 headerFont: '12px 微软雅黑',
                 font: '12px 微软雅黑',
+                localCache: { key: 'budget', colWidth: true },
             };
             if (!needGcl) {
                 spreadSetting.cols = spreadSetting.cols.filter(x => {

+ 4 - 0
app/public/js/budget_compare.js

@@ -35,6 +35,10 @@ $(document).ready(() => {
         headerFont: '12px 微软雅黑',
         font: '12px 微软雅黑',
         readOnly: true,
+        frozenColCount: 3,
+        frozenLineColor: '#93b5e4',
+        localCache: { key: 'budget-compare', colWidth: true },
+
     };
     sjsSettingObj.setFxTreeStyle(spreadSetting, sjsSettingObj.FxTreeStyle.jz);
     SpreadJsObj.initSheet(compareSheet, spreadSetting);

+ 13 - 9
app/public/js/spreadjs_rela/spreadjs_zh.js

@@ -304,15 +304,17 @@ const SpreadJsObj = {
      * @param {GC.Spread.Sheets.Worksheet} sheet
      */
     _initSheetHeader: function (sheet) {
-        if (!sheet.zh_setting || !sheet.zh_setting.cols) { return; }
+        const setting = sheet.zh_setting;
+        if (!setting || !setting.cols) { return; }
 
-        sheet.setColumnCount(sheet.zh_setting.cols.length);
-        sheet.setRowCount(sheet.zh_setting.headRows, spreadNS.SheetArea.colHeader);
-        for (let iRow = 0; iRow < sheet.zh_setting.headRowHeight.length; iRow ++) {
-            sheet.setRowHeight(iRow, sheet.zh_setting.headRowHeight[iRow], spreadNS.SheetArea.colHeader);
+
+        sheet.setColumnCount(setting.cols.length);
+        sheet.setRowCount(setting.headRows, spreadNS.SheetArea.colHeader);
+        for (let iRow = 0; iRow < setting.headRowHeight.length; iRow ++) {
+            sheet.setRowHeight(iRow, setting.headRowHeight[iRow], spreadNS.SheetArea.colHeader);
         }
-        for (let iCol = 0; iCol < sheet.zh_setting.cols.length; iCol++) {
-            const col = sheet.zh_setting.cols[iCol];
+        for (let iCol = 0; iCol < setting.cols.length; iCol++) {
+            const col = setting.cols[iCol];
             const title = col.title.split('|');
             const colSpan = col.colSpan ? col.colSpan.split('|'): ['1'], rowSpan = col.rowSpan ? col.rowSpan.split('|'): ['1'];
             for (let i = 0; i < title.length; i++) {
@@ -329,9 +331,11 @@ const SpreadJsObj = {
         }
         sheet.rowOutlines.direction(spreadNS.Outlines.OutlineDirection.backward);
         sheet.showRowOutline(false);
-        if (sheet.zh_setting.defaultRowHeight) {
-            sheet.defaults.rowHeight = sheet.zh_setting.defaultRowHeight;
+        if (setting.defaultRowHeight) {
+            sheet.defaults.rowHeight = setting.defaultRowHeight;
         }
+        if (setting.frozenLineColor) sheet.options.frozenlineColor = setting.frozenLineColor;
+        if (setting.frozenColCount) sheet.frozenColumnCount(setting.frozenColCount);
     },
     reinitSheetHeader: function (sheet) {
         this.beginMassOperation(sheet);

+ 0 - 2
app/public/js/stage.js

@@ -729,8 +729,6 @@ $(document).ready(() => {
         return data.lock || false;
     };
     SpreadJsObj.initSheet(slSpread.getActiveSheet(), ledgerSpreadSetting);
-    slSpread.getActiveSheet().frozenColumnCount(5);
-    slSpread.getActiveSheet().options.frozenlineColor = '#93b5e4';
 
     //初始化所有附件列表
     getAllList();