From d0610dd54b23991096366076ad2fca6fbef80040 Mon Sep 17 00:00:00 2001 From: "liu.shiyi" <liu.shiyi@ustcinfo.com> Date: Mon, 25 Sep 2023 16:11:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:tab=E7=BB=84=E4=BB=B6=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=8D=E5=AE=8C=E5=96=84=E6=97=B6=E4=B8=8D=E4=BA=88=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=EF=BC=8C=E5=BC=B9=E5=87=BA=E8=AD=A6=E5=91=8A=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BigScreenDesign/PageDesignTop.vue | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/data-room-ui/packages/BigScreenDesign/PageDesignTop.vue b/data-room-ui/packages/BigScreenDesign/PageDesignTop.vue index 94383bc5..9ba455db 100644 --- a/data-room-ui/packages/BigScreenDesign/PageDesignTop.vue +++ b/data-room-ui/packages/BigScreenDesign/PageDesignTop.vue @@ -358,8 +358,10 @@ export default { type: 'warning', customClass: 'bs-el-message-box' }).then(async () => { - await this.save() - await this.backManagement() + const flag = await this.save() + if (flag){ + await this.backManagement() + } }).catch((action) => { if (action === 'cancel') { this.backManagement() @@ -395,9 +397,32 @@ export default { }) window.open(href, '_blank') }, + // 保存时判断tabs组件里面的元素是否符合要求 + validateTabs(chartList){ + let isValid = true + if(chartList.length){ + for(let chart of chartList){ + if(chart.type === 'chartTab' && chart.customize.tabList.length !== 0 ){ + for(let tab of chart.customize.tabList){ + if((!tab.name) || (!tab.chartCode)){ + isValid = false + return isValid + } + } + } + } + } + return isValid + }, // 保存 async save (type, hasPageTemplateId = false) { const pageInfo = cloneDeep(this.handleSaveData()) + //保存时判断tabs组件里面的元素是否符合要求 + const flag = this.validateTabs(pageInfo?.chartList) + if (!flag){ + this.$message.warning('请完成tab项配置') + return false + } // 保存页面 try { if (!hasPageTemplateId) {