diff --git a/frontend/src/components/Scrapy/SpiderScrapy.vue b/frontend/src/components/Scrapy/SpiderScrapy.vue index 43c4700c..784b2c44 100644 --- a/frontend/src/components/Scrapy/SpiderScrapy.vue +++ b/frontend/src/components/Scrapy/SpiderScrapy.vue @@ -252,6 +252,7 @@ > {{s}} + @@ -405,7 +406,8 @@ export default { template: 'basic' }, isAddSpiderLoading: false, - activeTabName: 'settings' + activeTabName: 'settings', + loadingDict: {} } }, methods: { @@ -637,11 +639,17 @@ export default { this.$st.sendEv('爬虫详情', 'Scrapy 设置', '保存Items') }, async onClickSpider (spiderName) { - const res = await this.$store.dispatch('spider/getSpiderScrapySpiderFilepath', { - id: this.$route.params.id, - spiderName - }) - this.$emit('click-spider', res.data.data) + if (this.loadingDict[spiderName]) return + this.$set(this.loadingDict, spiderName, true) + try { + const res = await this.$store.dispatch('spider/getSpiderScrapySpiderFilepath', { + id: this.$route.params.id, + spiderName + }) + this.$emit('click-spider', res.data.data) + } finally { + this.$set(this.loadingDict, spiderName, false) + } this.$st.sendEv('爬虫详情', 'Scrapy 设置', '点击爬虫') } }