Browse Source

台账分解,批量插入清单计量单元,新增行、删除行

MaiXinRong 5 years ago
parent
commit
f236de669f
1 changed files with 41 additions and 0 deletions
  1. 41 0
      app/public/js/revise.js

+ 41 - 0
app/public/js/revise.js

@@ -1645,6 +1645,47 @@ $(document).ready(() => {
                     }, null, true);
                 }
             });
+
+            $.contextMenu({
+                selector: '.batch-l-t',
+                build: function ($trigger, e) {
+                    const target = SpreadJsObj.safeRightClickSelection($trigger, e, self.qdSpread);
+                    return target.hitTestType === spreadNS.SheetArea.viewport || target.hitTestType === spreadNS.SheetArea.rowHeader;
+                },
+                items: {
+                    'create': {
+                        name: '新增行',
+                        icon: 'fa-sign-in',
+                        callback: function (key, opt) {
+                            const qdSheet = self.qdSpread.getActiveSheet();
+                            const posSheet = self.posSpread.getActiveSheet();
+                            qdSheet.addRows(qdSheet.getRowCount(), 1);
+                            const index = qdSheet.getRowCount();
+                            qdSheet.getCell(qdSheet.getRowCount() - 1, 0, spreadNS.SheetArea.rowHeader).text('清单' + index);
+                            posSheet.addColumns(posSheet.getColumnCount(), 1);
+                            posSheet.getCell(0, index + 2 - 1, spreadNS.SheetArea.colHeader).text('清单' + index);
+                        },
+                    },
+                    'delete': {
+                        name: '删除行',
+                        icon: 'fa-remove',
+                        callback: function (key, opt) {
+                            const qdSheet = self.qdSpread.getActiveSheet();
+                            const posSheet = self.posSpread.getActiveSheet();
+                            const sel = qdSheet.getSelections()[0];
+                            qdSheet.deleteRows(sel.row, sel.rowCount);
+                            posSheet.deleteColumns(sel.row + 2, sel.rowCount);
+                            for (let iRow = 0, iLen = qdSheet.getRowCount(); iRow < iLen; iRow++) {
+                                qdSheet.getCell(iRow, 0, spreadNS.SheetArea.rowHeader).text('清单' + (iRow+1));
+                            }
+                            for (let iCol = 0, iLen = posSheet.getColumnCount() - 2; iCol < iLen; iCol++) {
+                                posSheet.getCell(0, iCol + 2, spreadNS.SheetArea.colHeader).text('清单' + (iCol+1));
+                            }
+                            qdSheet.setSelection(sel.row, sel.col, 1, 1);
+                        },
+                    },
+                }
+            });
         }
         // 初始化左侧表格
         initView () {