Browse Source

调整部分界面,spreadjs选中行底色

maixinrong 5 years ago
parent
commit
fe1667aa21

+ 5 - 5
app/public/js/ledger.js

@@ -739,11 +739,6 @@ $(document).ready(function() {
             }, null, true);
         },
         selectionChanged: function (e, info) {
-            const rows = [];
-            if (info.oldSelections && info.oldSelections[0]) rows.push(info.oldSelections[0].row);
-            if (info.newSelections && info.newSelections[0]) rows.push(info.newSelections[0].row);
-            if (rows.length > 0) SpreadJsObj.reloadRowsBackColor(info.sheet, rows);
-
             if (!info.oldSelections[0] || info.newSelections[0].row !== info.oldSelections[0].row) {
                 posOperationObj.loadCurPosData();
                 SpreadJsObj.resetTopAndSelect(posSpread.getActiveSheet());
@@ -863,6 +858,7 @@ $(document).ready(function() {
     sjsSettingObj.setFxTreeStyle(ledgerSpreadSetting, sjsSettingObj.FxTreeStyle.jz);
     ledgerTreeCol.initSpreadSetting(ledgerSpreadSetting);
     SpreadJsObj.initSheet(ledgerSpread.getActiveSheet(), ledgerSpreadSetting);
+    SpreadJsObj.selChangedRefreshBackColor(ledgerSpread.getActiveSheet());
     // 绑定事件
     ledgerSpread.bind(GC.Spread.Sheets.Events.SelectionChanged, treeOperationObj.selectionChanged);
     ledgerSpread.bind(spreadNS.Events.TopRowChanged, treeOperationObj.topRowChanged);
@@ -1820,6 +1816,7 @@ $(document).ready(function() {
             headerFont: '12px 微软雅黑',
             font: '12px 微软雅黑',
             headColWidth: [0],
+            selectedBackColor: '#fffacd',
         },
         cellDoubleClick: stdLibCellDoubleClick,
         page: 'ledger',
@@ -1850,6 +1847,7 @@ $(document).ready(function() {
             headerFont: '12px 微软雅黑',
             font: '12px 微软雅黑',
             headColWidth: [0],
+            selectedBackColor: '#fffacd',
         },
         cellDoubleClick: stdLibCellDoubleClick,
         page: 'ledger',
@@ -1920,6 +1918,7 @@ $(document).ready(function() {
                         headerFont: '12px 微软雅黑',
                         font: '12px 微软雅黑',
                         headColWidth: [0],
+                        selectedBackColor: '#fffacd',
                     });
                     dealBills.loadData();
                 }
@@ -1944,6 +1943,7 @@ $(document).ready(function() {
                             defaultRowHeight: 21,
                             headerFont: '12px 微软雅黑',
                             font: '12px 微软雅黑',
+                            selectedBackColor: '#fffacd',
                         },
                         afterLocated: function () {
                             posOperationObj.loadCurPosData();

+ 2 - 5
app/public/js/ledger_audit.js

@@ -99,11 +99,6 @@ $(document).ready(() => {
     }, null, true);
 
     ledgerSpread.bind(spreadNS.Events.SelectionChanged, function (e, info) {
-        const rows = [];
-        if (info.oldSelections && info.oldSelections[0]) rows.push(info.oldSelections[0].row);
-        if (info.newSelections && info.newSelections[0]) rows.push(info.newSelections[0].row);
-        if (rows.length > 0) SpreadJsObj.reloadRowsBackColor(info.sheet, rows);
-        
         loadCurPosData();
         SpreadJsObj.saveTopAndSelect(info.sheet, ckBillsSpread);
         posSearch.search($('#pos-keyword').val());
@@ -174,6 +169,7 @@ $(document).ready(() => {
                     headerFont: '12px 微软雅黑',
                     font: '12px 微软雅黑',
                     headColWidth: [0],
+                    selectedBackColor: '#fffacd',
                 });
                 dealBills.loadData();
             } else if (tab.attr('content') === '#search' && !searchLedger) {
@@ -196,6 +192,7 @@ $(document).ready(() => {
                             defaultRowHeight: 21,
                             headerFont: '12px 微软雅黑',
                             font: '12px 微软雅黑',
+                            selectedBackColor: '#fffacd',
                         },
                         afterLocated: function () {
                             loadCurPosData();

+ 0 - 5
app/public/js/measure_compare.js

@@ -163,11 +163,6 @@ $(document).ready(() => {
         SpreadJsObj.resetTopAndSelect(posSheet);
     }
     billsSheet.bind(spreadNS.Events.SelectionChanged, function (e, info) {
-        const rows = [];
-        if (info.oldSelections && info.oldSelections[0]) rows.push(info.oldSelections[0].row);
-        if (info.newSelections && info.newSelections[0]) rows.push(info.newSelections[0].row);
-        if (rows.length > 0) SpreadJsObj.reloadRowsBackColor(info.sheet, rows);
-
         if (info.newSelections) {
             const iNewRow = info.newSelections[0].row;
             if (info.oldSelections) {

+ 5 - 5
app/public/js/revise.js

@@ -224,11 +224,6 @@ $(document).ready(() => {
             });
         },
         selectionChanged: function (e, info) {
-            const rows = [];
-            if (info.oldSelections && info.oldSelections[0]) rows.push(info.oldSelections[0].row);
-            if (info.newSelections && info.newSelections[0]) rows.push(info.newSelections[0].row);
-            if (rows.length > 0) SpreadJsObj.reloadRowsBackColor(info.sheet, rows);
-
             if (info.newSelections) {
                 if (!info.oldSelections || info.newSelections[0].row !== info.oldSelections[0].row) {
                     billsTreeSpreadObj.refreshOperationValid(info.sheet);
@@ -1803,6 +1798,7 @@ $(document).ready(() => {
         defaultRowHeight: 21,
         headerFont: '12px 微软雅黑',
         font: '12px 微软雅黑',
+        selectedBackColor: '#fffacd',
     });
     const bgBills = new BgBills('#bg-bills-spread', {
         cols: [
@@ -1819,6 +1815,7 @@ $(document).ready(() => {
         defaultRowHeight: 21,
         headerFont: '12px 微软雅黑',
         font: '12px 微软雅黑',
+        selectedBackColor: '#fffacd',
     });
 
     $.divResizer({
@@ -1983,6 +1980,7 @@ $(document).ready(() => {
             headerFont: '12px 微软雅黑',
             font: '12px 微软雅黑',
             headColWidth: [0],
+            selectedBackColor: '#fffacd',
         },
         cellDoubleClick: stdLibCellDoubleClick,
         page: 'revise',
@@ -2013,6 +2011,7 @@ $(document).ready(() => {
             headerFont: '12px 微软雅黑',
             font: '12px 微软雅黑',
             headColWidth: [0],
+            selectedBackColor: '#fffacd',
         },
         cellDoubleClick: stdLibCellDoubleClick,
         page: 'revise',
@@ -2066,6 +2065,7 @@ $(document).ready(() => {
                             defaultRowHeight: 21,
                             headerFont: '12px 微软雅黑',
                             font: '12px 微软雅黑',
+                            selectedBackColor: '#fffacd',
                         },
                         afterLocated: function () {
                             posSpreadObj.loadCurPosData();

+ 1 - 5
app/public/js/revise_history.js

@@ -117,11 +117,6 @@ $(document).ready(() => {
             });
         },
         selectionChanged: function (e, info) {
-            const rows = [];
-            if (info.oldSelections && info.oldSelections[0]) rows.push(info.oldSelections[0].row);
-            if (info.newSelections && info.newSelections[0]) rows.push(info.newSelections[0].row);
-            if (rows.length > 0) SpreadJsObj.reloadRowsBackColor(info.sheet, rows);
-
             if (info.newSelections) {
                 if (!info.oldSelections || info.newSelections[0].row !== info.oldSelections[0].row) {
                     SpreadJsObj.saveTopAndSelect(billsSheet, ckBillsSpread);
@@ -244,6 +239,7 @@ $(document).ready(() => {
                             defaultRowHeight: 21,
                             headerFont: '12px 微软雅黑',
                             font: '12px 微软雅黑',
+                            selectedBackColor: '#fffacd',
                         },
                         afterLocated: function () {
                             posSpreadObj.loadCurPosData();

+ 8 - 7
app/public/js/shares/sjs_setting.js

@@ -3,6 +3,7 @@ const sjsSettingObj = (function () {
         jz: 'jianzhu',
     }
     const setJzFxTreeStyle = function (setting) {
+        setting.selectedBackColor = '#fffacd';
         setting.tree = {
             getFont: function (sheet, data, row, col, defaultFont) {
                 if (sheet.zh_tree && data.level === 1) {
@@ -12,12 +13,8 @@ const sjsSettingObj = (function () {
                 }
             },
             getColor: function (sheet, data, row, col, defaultColor) {
-                const sel = sheet.getSelections();
-                const curRow = sel && sel[0] ? sel[0].row : -1;
                 if (sheet.zh_tree) {
-                    if (curRow === row) {
-                        return '#fffacd';
-                    } else if (data.level === 2) {
+                    if (data.level === 2) {
                         return '#C4CAFB';
                     } else if ((!data.b_code || data.b_code === '') && data.level > 2) {
                         return '#DFE8F9';
@@ -36,6 +33,10 @@ const sjsSettingObj = (function () {
                 setJzFxTreeStyle(setting);
                 break;
         }
-    }
-    return {setFxTreeStyle, FxTreeStyle};
+    };
+
+    const setGridSelectStyle = function (setting) {
+        setting.selectedBackColor = '#fffacd';
+    };
+    return {setFxTreeStyle, FxTreeStyle, setGridSelectStyle};
 })();

+ 28 - 16
app/public/js/spreadjs_rela/spreadjs_zh.js

@@ -237,6 +237,14 @@ const SpreadJsObj = {
             }
         });
     },
+    selChangedRefreshBackColor: function (sheet) {
+        sheet.bind(spreadNS.Events.SelectionChanged, function (e, info) {
+            const rows = [];
+            if (info.oldSelections && info.oldSelections[0]) rows.push(info.oldSelections[0].row);
+            if (info.newSelections && info.newSelections[0]) rows.push(info.newSelections[0].row);
+            if (rows.length > 0) SpreadJsObj.reloadRowsBackColor(info.sheet, rows);
+        });
+    },
     /**
      * 获取写入sheet的数据序列
      * data:sheet.zh_data, tree: sheet.zh_tree.nodes
@@ -354,6 +362,9 @@ const SpreadJsObj = {
         sheet.extendCellType = {};
         sheet.borderLine = new spreadNS.LineBorder('#cccccc', spreadNS.LineStyle.thin);
         sheet.getRange(0, 0, sheet.getRowCount(), sheet.getColumnCount()).locked(setting.readOnly).setBorder(sheet.borderLine, {all: true});
+        if (setting.selectedBackColor) {
+            SpreadJsObj.selChangedRefreshBackColor(sheet);
+        }
         this.endMassOperation(sheet);
     },
     reLoadSheetHeader: function (sheet) {
@@ -363,6 +374,21 @@ const SpreadJsObj = {
             this.endMassOperation(sheet);
         }
     },
+    _getBackColor: function (sheet, data, row, col) {
+        let backColor = sheet.getDefaultStyle().backColor;
+        let sels = sheet.getSelections();
+        if (sheet.zh_setting.selectedBackColor && sels && sels[0].row === row ) {
+            return sheet.zh_setting.selectedBackColor;
+        } else {
+            if (sheet.zh_setting.tree.getColor && Object.prototype.toString.apply(sheet.zh_setting.tree.getColor) === "[object Function]") {
+                backColor = sheet.zh_setting.tree.getColor(sheet, data, row, col, backColor);
+            }
+            if (sheet.zh_setting.getColor && Object.prototype.toString.apply(sheet.zh_setting.getColor) === "[object Function]") {
+                backColor = sheet.zh_setting.getColor(sheet, data, row, col, backColor);
+            }
+            return backColor;
+        }
+    },
     _loadRowData: function (sheet, data, row) {
         // 单元格重新写入数据
         if (!data) { return }
@@ -403,14 +429,7 @@ const SpreadJsObj = {
                 cell.formatter(SpreadJsObj.Formatter.getNumberFormatter('0.######'));
             }
 
-            let backColor = sheet.getDefaultStyle().backColor;
-            if (sheet.zh_setting.tree.getColor && Object.prototype.toString.apply(sheet.zh_setting.tree.getColor) === "[object Function]") {
-                backColor = sheet.zh_setting.tree.getColor(sheet, data, row, col, backColor);
-            }
-            if (sheet.zh_setting.getColor && Object.prototype.toString.apply(sheet.zh_setting.getColor) === "[object Function]") {
-                backColor = sheet.zh_setting.getColor(sheet, data, row, col, backColor);
-            }
-            cell.backColor(backColor);
+            cell.backColor(SpreadJsObj._getBackColor(sheet, data, row, col));
 
             cell.setBorder(sheet.borderLine, {all: true});
         });
@@ -620,14 +639,7 @@ const SpreadJsObj = {
                 if (row < 0) { continue; }
                 const data = sortData[row];
                 for (const [iCol, col] of sheet.zh_setting.cols.entries()) {
-                    let backColor = sheet.getDefaultStyle().backColor;
-                    if (sheet.zh_setting.tree.getColor && Object.prototype.toString.apply(sheet.zh_setting.tree.getColor) === "[object Function]") {
-                        backColor = sheet.zh_setting.tree.getColor(sheet, data, row, col, backColor);
-                    }
-                    if (sheet.zh_setting.getColor && Object.prototype.toString.apply(sheet.zh_setting.getColor) === "[object Function]") {
-                        backColor = sheet.zh_setting.getColor(sheet, data, row, col, backColor);
-                    }
-                    sheet.getCell(row, iCol).backColor(backColor);
+                    sheet.getCell(row, iCol).backColor(SpreadJsObj._getBackColor(sheet, data, row, col));
                 }
             };
             this.endMassOperation(sheet);

+ 3 - 12
app/public/js/stage.js

@@ -615,11 +615,6 @@ $(document).ready(() => {
             }
         },
         selectionChanged: function (e, info) {
-            const rows = [];
-            if (info.oldSelections && info.oldSelections[0]) rows.push(info.oldSelections[0].row);
-            if (info.newSelections && info.newSelections[0]) rows.push(info.newSelections[0].row);
-            if (rows.length > 0) SpreadJsObj.reloadRowsBackColor(info.sheet, rows);
-            
             if (!info.oldSelections || !info.oldSelections[0] || info.newSelections[0].row !== info.oldSelections[0].row) {
                 stagePosSpreadObj.loadCurPosData();
                 SpreadJsObj.resetTopAndSelect(spSpread.getActiveSheet());
@@ -1547,7 +1542,8 @@ $(document).ready(() => {
                 defaultRowHeight: 21,
                 headerFont: '12px 微软雅黑',
                 font: '12px 微软雅黑',
-                readOnly: true
+                readOnly: true,
+                selectedBackColor: '#fffacd',
             };
             this.spread = SpreadJsObj.createNewSpread($('#search-result', this.obj)[0]);
             SpreadJsObj.initSheet(this.spread.getActiveSheet(), this.spreadSetting);
@@ -1832,6 +1828,7 @@ $(document).ready(() => {
                 headerFont: '12px 微软雅黑',
                 font: '12px 微软雅黑',
                 readOnly: readOnly,
+                selectedBackColor: '#fffacd',
             };
             this.spread = SpreadJsObj.createNewSpread(obj[0]);
             this.sheet = this.spread.getActiveSheet();
@@ -2207,12 +2204,6 @@ $(document).ready(() => {
                             }
                         }
                     });
-                    self.gsSpread.bind(spreadNS.Events.SelectionChanged, function (e, info) {
-                        const rows = [];
-                        if (info.oldSelections && info.oldSelections[0]) rows.push(info.oldSelections[0].row);
-                        if (info.newSelections && info.newSelections[0]) rows.push(info.newSelections[0].row);
-                        if (rows.length > 0) SpreadJsObj.reloadRowsBackColor(info.sheet, rows);
-                    });
                     const gatherNodes = stage.im_gather_node ? _.map(stage.im_gather_node.split(',')) : [];
                     for (const node of self.gsTree.datas) {
                         node.check = gatherNodes.indexOf(node.id + '') !== -1;

+ 0 - 5
app/public/js/stage_bwtz.js

@@ -31,11 +31,6 @@ $(document).ready(() => {
         }
     };
     xmjSpread.bind(spreadNS.Events.SelectionChanged, function (e, info) {
-        const rows = [];
-        if (info.oldSelections && info.oldSelections[0]) rows.push(info.oldSelections[0].row);
-        if (info.newSelections && info.newSelections[0]) rows.push(info.newSelections[0].row);
-        if (rows.length > 0) SpreadJsObj.reloadRowsBackColor(info.sheet, rows);
-
         unitTreeObj.loadCurUnitData();
     });
 

+ 0 - 5
app/public/js/stage_compare.js

@@ -174,11 +174,6 @@ $(document).ready(function () {
     }
     // 切换清单行,读取所属项目节数据
     ledgerSpread.getActiveSheet().bind(spreadNS.Events.SelectionChanged, function (e, info) {
-        const rows = [];
-        if (info.oldSelections && info.oldSelections[0]) rows.push(info.oldSelections[0].row);
-        if (info.newSelections && info.newSelections[0]) rows.push(info.newSelections[0].row);
-        if (rows.length > 0) SpreadJsObj.reloadRowsBackColor(info.sheet, rows);
-        
         if (info.newSelections) {
             const iNewRow = info.newSelections[0].row;
             if (info.oldSelections) {

+ 0 - 2
app/service/stage_change.js

@@ -309,8 +309,6 @@ module.exports = app => {
                         '  WHERE cb.cid = ?' +
                         '  GROUP By c.`cbid`';
             const sqlParam = [tid, cid, cid];
-
-            console.log(this.db.format(sql, sqlParam));
             return await this.db.query(sql, sqlParam);
         }