From 6d606791abaa5d410ce68cfb49f8bc9c2dfaf609 Mon Sep 17 00:00:00 2001 From: wpxp123456 <2677556700@qq.com> Date: Thu, 10 Dec 2020 17:01:01 +0800 Subject: [PATCH] fix(bug): data verification range select --- src/controllers/dataVerificationCtrl.js | 32 ++++++++++++++++++++++++- src/controllers/handler.js | 22 +++++------------ 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/src/controllers/dataVerificationCtrl.js b/src/controllers/dataVerificationCtrl.js index 06904fc..4ce5cf6 100644 --- a/src/controllers/dataVerificationCtrl.js +++ b/src/controllers/dataVerificationCtrl.js @@ -11,6 +11,7 @@ import { modelHTML } from './constant'; import { selectionCopyShow } from './select'; import server from './server'; import menuButton from './menuButton'; +import sheetmanage from './sheetmanage'; import { getSheetIndex, getRangetxt } from '../methods/get'; import locale from '../locale/locale'; import Store from '../store'; @@ -281,6 +282,13 @@ const dataVerificationCtrl = { _this.selectRange = []; let range = _this.getRangeByTxt(txt); + + formula.rangetosheet = Store.currentSheetIndex; + + if(range[0].sheetIndex != Store.currentSheetIndex){ + sheetmanage.changeSheetExec(range[0].sheetIndex); + } + if(range.length > 0){ for(let s = 0; s < range.length; s++){ let r1 = range[s].row[0], r2 = range[s].row[1]; @@ -321,6 +329,13 @@ const dataVerificationCtrl = { _this.selectRange = []; let range = _this.getRangeByTxt(txt); + + formula.rangetosheet = Store.currentSheetIndex; + + if(range[0].sheetIndex != Store.currentSheetIndex){ + sheetmanage.changeSheetExec(range[0].sheetIndex); + } + if(range.length > 0){ for(let s = 0; s < range.length; s++){ let r1 = range[s].row[0], r2 = range[s].row[1]; @@ -370,6 +385,11 @@ const dataVerificationCtrl = { $("#luckysheet-modal-dialog-mask").show(); $("#luckysheet-dataVerification-dialog").show(); + if(formula.rangetosheet != null && formula.rangetosheet != Store.currentSheetIndex){ + sheetmanage.changeSheetExec(formula.rangetosheet); + formula.rangetosheet = null; + } + let range = []; selectionCopyShow(range); }); @@ -378,6 +398,11 @@ const dataVerificationCtrl = { $("#luckysheet-modal-dialog-mask").show(); $("#luckysheet-dataVerification-dialog").show(); + if(formula.rangetosheet != null && formula.rangetosheet != Store.currentSheetIndex){ + sheetmanage.changeSheetExec(formula.rangetosheet); + formula.rangetosheet = null; + } + let range = []; selectionCopyShow(range); }); @@ -386,6 +411,11 @@ const dataVerificationCtrl = { $("#luckysheet-modal-dialog-mask").show(); $("#luckysheet-dataVerification-dialog").show(); + if(formula.rangetosheet != null && formula.rangetosheet != Store.currentSheetIndex){ + sheetmanage.changeSheetExec(formula.rangetosheet); + formula.rangetosheet = null; + } + let range = []; selectionCopyShow(range); }) @@ -564,7 +594,7 @@ const dataVerificationCtrl = { }); //确认按钮 - $(document).off("click.confirm").on("click.confirm", "#luckysheet-dataVerification-dialog-confirm", function(e) { + $(document).off("click.dvSaveConfirm").on("click.dvSaveConfirm", "#luckysheet-dataVerification-dialog-confirm", function(e) { let rangeTxt = $("#luckysheet-dataVerification-dialog #data-verification-range input").val().trim(); let range = _this.getRangeByTxt(rangeTxt); diff --git a/src/controllers/handler.js b/src/controllers/handler.js index 5c1e73a..0eb13b2 100644 --- a/src/controllers/handler.js +++ b/src/controllers/handler.js @@ -843,22 +843,6 @@ export default function luckysheetHandler() { dataVerificationCtrl.selectRange[dataVerificationCtrl.selectRange.length - 1] = last; } - else if (event.ctrlKey) { - dataVerificationCtrl.selectRange.push({ - "left": col_pre, - "width": col - col_pre - 1, - "top": row_pre, - "height": row - row_pre - 1, - "left_move": col_pre, - "width_move": col - col_pre - 1, - "top_move": row_pre, - "height_move": row - row_pre - 1, - "row": [row_index, row_index_ed], - "column": [col_index, col_index_ed], - "row_focus": row_index, - "column_focus": col_index - }); - } else { dataVerificationCtrl.selectRange = []; dataVerificationCtrl.selectRange.push({ @@ -880,6 +864,9 @@ export default function luckysheetHandler() { selectionCopyShow(dataVerificationCtrl.selectRange); let range = dataVerificationCtrl.getTxtByRange(dataVerificationCtrl.selectRange); + if(formula.rangetosheet != Store.currentSheetIndex){ + range = Store.luckysheetfile[getSheetIndex(Store.currentSheetIndex)].name + '!' + range; + } $("#luckysheet-dataVerificationRange-dialog input").val(range); return; @@ -2075,6 +2062,9 @@ export default function luckysheetHandler() { selectionCopyShow(dataVerificationCtrl.selectRange); let range = dataVerificationCtrl.getTxtByRange(dataVerificationCtrl.selectRange); + if(formula.rangetosheet != Store.currentSheetIndex){ + range = Store.luckysheetfile[getSheetIndex(Store.currentSheetIndex)].name + '!' + range; + } $("#luckysheet-dataVerificationRange-dialog input").val(range); } else if (formula.rangestart) {