diff --git a/frontend/src/components/File/FileList.vue b/frontend/src/components/File/FileList.vue
index d4f6106d..698fe908 100644
--- a/frontend/src/components/File/FileList.vue
+++ b/frontend/src/components/File/FileList.vue
@@ -409,6 +409,23 @@ export default {
this.isShowDelete = false
this.showFile = false
this.$st.sendEv('爬虫详情', '文件', '删除')
+ },
+ clickPipeline () {
+ const filename = 'pipelines.py'
+ for (let i = 0; i < this.computedFileTree.length; i++) {
+ const dataLv1 = this.computedFileTree[i]
+ const nodeLv1 = this.$refs['tree'].getNode(dataLv1.path)
+ if (dataLv1.is_dir) {
+ for (let j = 0; j < dataLv1.children.length; j++) {
+ const nodeLv2 = dataLv1.children[j]
+ if (nodeLv2.path.match(filename)) {
+ this.onFileClick(nodeLv2)
+ nodeLv1.expanded = true
+ return
+ }
+ }
+ }
+ }
}
},
async created () {
diff --git a/frontend/src/components/Scrapy/SpiderScrapy.vue b/frontend/src/components/Scrapy/SpiderScrapy.vue
index 7fd28bda..39d808d2 100644
--- a/frontend/src/components/Scrapy/SpiderScrapy.vue
+++ b/frontend/src/components/Scrapy/SpiderScrapy.vue
@@ -349,6 +349,7 @@
v-for="s in spiderScrapyPipelines"
:key="s"
class="item"
+ @click="$emit('click-pipeline')"
>
{{s}}
diff --git a/frontend/src/views/spider/SpiderDetail.vue b/frontend/src/views/spider/SpiderDetail.vue
index e6742a94..d4d126d1 100644
--- a/frontend/src/views/spider/SpiderDetail.vue
+++ b/frontend/src/views/spider/SpiderDetail.vue
@@ -26,13 +26,18 @@
-
+
-
+
@@ -162,7 +167,8 @@ export default {
}
this.$utils.tour.nextStep('spider-detail', currentStep)
}
- }
+ },
+ redirectType: ''
}
},
computed: {
@@ -227,6 +233,20 @@ export default {
this.$store.dispatch('spider/getSpiderScrapySettings', this.$route.params.id),
this.$store.dispatch('spider/getSpiderScrapyPipelines', this.$route.params.id)
])
+ },
+ async onClickScrapySpider () {
+ this.redirectType = 'spider'
+ this.activeTabName = 'files'
+ await this.$store.dispatch('spider/getFileTree')
+ if (this.currentPath) {
+ await this.$store.dispatch('file/getFileContent', { path: this.currentPath })
+ }
+ },
+ async onClickScrapyPipeline () {
+ this.redirectType = 'pipeline'
+ this.activeTabName = 'files'
+ await this.$store.dispatch('spider/getFileTree')
+ this.$refs['file-list'].clickPipeline()
}
},
async created () {