浏览代码

上下移按钮bug修复

laiguoran 2 年之前
父节点
当前提交
2855ddcaae
共有 1 个文件被更改,包括 16 次插入3 次删除
  1. 16 3
      app/public/js/material.js

+ 16 - 3
app/public/js/material.js

@@ -339,10 +339,23 @@ $(document).ready(() => {
             };
             };
             const sheet = materialSpread.getActiveSheet();
             const sheet = materialSpread.getActiveSheet();
             const select = SpreadJsObj.getSelectObject(sheet);
             const select = SpreadJsObj.getSelectObject(sheet);
+            const selection = sheet.getSelections();
+            const sel = selection ? selection[0] : sheet.getSelections()[0];
+            const row = sel ? sel.row : -1;
+            const first = materialBillsData[row];
+            let last = first;
+            if (sel.rowCount > 1 && first) {
+                for (let r = 1; r < sel.rowCount; r++) {
+                    const rNode = materialBillsData[sel.row + r];
+                    if (!rNode) break;
+                    last = rNode;
+                }
+            }
+            const preNode = materialBillsData[row - 1];
             // 还需判断是否已被调差清单调用
             // 还需判断是否已被调差清单调用
             setObjEnable($('#del'), !readOnly && select && materialBase.isUsed(select) && rowCount === 1);
             setObjEnable($('#del'), !readOnly && select && materialBase.isUsed(select) && rowCount === 1);
-            setObjEnable($('#up-move'), !readOnly && select && materialBillsData.indexOf(select) > 0 && !$('#bills0_list').is(':checked'));
-            setObjEnable($('#down-move'), !readOnly && select && materialBillsData.indexOf(select) < materialBillsData.length - 1 && !$('#bills0_list').is(':checked'));
+            setObjEnable($('#up-move'), !readOnly && first && preNode && materialBillsData.indexOf(last) > 0 && sel.row + sel.rowCount <= materialBillsData.length && !$('#bills0_list').is(':checked'));
+            setObjEnable($('#down-move'), !readOnly && first && materialBillsData.indexOf(last) < materialBillsData.length - 1 && sel.row + sel.rowCount <= materialBillsData.length && !$('#bills0_list').is(':checked'));
         },
         },
         add: function () {
         add: function () {
             const sheet = materialSpread.getActiveSheet();
             const sheet = materialSpread.getActiveSheet();
@@ -537,7 +550,7 @@ $(document).ready(() => {
             materialSpreadObj.refreshActn(sel.rowCount);
             materialSpreadObj.refreshActn(sel.rowCount);
             const data = SpreadJsObj.getSelectObject(info.sheet);
             const data = SpreadJsObj.getSelectObject(info.sheet);
             materialSpreadObj.setReadOnly(true);
             materialSpreadObj.setReadOnly(true);
-            console.log(data);
+            // console.log(data);
         },
         },
         editEnded: function (e, info) {
         editEnded: function (e, info) {
             if (info.sheet.zh_setting) {
             if (info.sheet.zh_setting) {