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 设置', '点击爬虫')
}
}