qiushang 5 maanden geleden
bovenliggende
commit
880222e48b
1 gewijzigde bestanden met toevoegingen van 41 en 0 verwijderingen
  1. 41 0
      src/renderer/components/home.vue

+ 41 - 0
src/renderer/components/home.vue

@@ -76,6 +76,10 @@
 										@click="pickLink()">导入链接</el-button>
 									<el-button type="primary" size="mini" icon="el-icon-delete"
 										@click="clearList()">清空链接</el-button>
+									<el-button type="danger" size="mini" icon="el-icon-video-pause" :disabled="pauseFlag"
+										@click="pause()">任务中止</el-button>
+									<el-button type="danger" size="mini" icon="el-icon-video-pause"
+										@click="del()">批量删除</el-button>
 								</el-button-group>
 								
 								<el-link type="info" style="margin-left: 20px; vertical-align:baseline; font-size: 12px;" @click="downloadExample()">导入模板下载<i class="el-icon-download"></i></el-link>
@@ -203,6 +207,7 @@
 								<!-- 1、 -->
 								<vxe-table ref="xTable" show-overflow class="img-table" max-height="100%" empty-text="没有更多数据了!" :loading="tabLoading" :row-config="{isHover: true}" 
 									:loading-config="{icon: 'vxe-icon-indicator roll', text: '列表加载中...'}" :data="this[listStr+'List']" :scroll-y="{enabled: true}">
+									<vxe-column type="checkbox" width="40"></vxe-column>
 									<vxe-column type="seq" width="60"></vxe-column>
 									<vxe-column field="title" title="目录名称" width="200">
 										<template #default="{ row, rowIndex }">
@@ -429,6 +434,7 @@
 				redBrowser: null,
 				loginBrowser: null, // 登录用的浏览器实例
 				skipLogin: false,
+				pauseFlag: true, //暂停中止标志
 			};
 		},
 		computed: {
@@ -757,8 +763,39 @@
 				})();
 			},
 			
+			del(){
+				let info = this.$refs.xTable.getCheckboxRecords(true);
+				console.log(info);
+			},
+			
+			//任务暂停
+			async pause(){
+				if(this.loginBrowser){
+					await this.loginBrowser.close();
+					this.loginBrowser = null;
+				}
+				this.pauseFlag = true;
+				for(let i = 0; i < listNameArr.length; i++){
+					if(listNameArr[i]){
+						if(this[listNameArr[i]+'Browser']){
+							await this[listNameArr[i]+'Browser'].close();
+							this[listNameArr[i]+'Browser'] = null;
+						}
+					}
+				}
+				
+				let index = Number(this.menuIndex) - 1;
+				this[listNameArr[index]+'List'].map(item => {
+					if(item.status != '4'){
+						item.status = '1';
+					}
+				});
+				
+			},
+			
 			// 开始下载
 			async exportFile(flag) {
+				this.pauseFlag = false;
 				if(this.loginBrowser){
 					await this.loginBrowser.close();
 					this.loginBrowser = null;
@@ -913,6 +950,10 @@
 								task = this.normalDownload(item, this.commonBrowser);
 								break;
 						}
+						
+						if(this.pauseFlag){ //暂停跳出循环
+							break;
+						}
 					
 						if(task){
 							taskArr.push(task);