Explorar el Código

网盘 chebox 选择 和批量删除 好使了

于添 hace 8 meses
padre
commit
9568ad72af

+ 2 - 0
src/main.js

@@ -10,6 +10,7 @@ import App from './App.vue'
 import './tailwind.css'
 import uploader from 'vue-simple-uploader'
 import 'vue-simple-uploader/dist/style.css'
+
 const app = createApp(App)
 app.use(createPinia())
 app.use(router)
@@ -17,5 +18,6 @@ app.use(Antd)
 app.use(i18n)
 app.use(snowy)
 app.use(uploader)
+
 // 挂载app
 app.mount('#app')

+ 21 - 6
src/views/myResource/common/FileTable.vue

@@ -306,7 +306,6 @@
 			sortedFileList.value = props.fileList
 		}
 	)
-
 	// 当表格的排序条件发生变化的时候会触发该事件
 	const handleTableChange = (pagination, filters, sorter) => {
 		// Ant Design Vue 的 sorter 返回的是当前排序的列信息,需要根据实际情况更新 sortedFileList
@@ -351,12 +350,28 @@
 	}
 
 	// 表格选择项发生变化时的回调函数
-	const onSelectChange = (selectedKeys, selectedRows) => {
-		selectedRowKeys.value = selectedKeys
-		myResourceStore.changeSelectedFiles(selectedRows)
-		myResourceStore.changeIsBatchOperation(selectedRows.length !== 0)
+	// const onSelectChange = (selectedRowKeys, selectedRows) => {
+	// 	console.log('表格选择项发生变化时的回调函数', selectedRowKeys, selectedRows)
+	// 	// selectedRowKeys.value = selectedKeys
+	// 	// myResourceStore.changeSelectedFiles(selectedRows)
+	// 	// myResourceStore.changeIsBatchOperation(selectedRows.length !== 0)
+	// }
+	const onSelectChange = (changableRowKeys) => {
+		console.log('selectedRowKeys changed: ', changableRowKeys)
+		selectedRowKeys.value = changableRowKeys
+		let list = []
+		for (let i = 0; i < props.fileList.length; i++) {
+			const element = props.fileList[i]
+			for (let j = 0; j < changableRowKeys.length; j++) {
+				const element2 = changableRowKeys[j]
+				if (element.key === element2) {
+					list.push(element)
+				}
+			}
+		}
+		myResourceStore.changeSelectedFiles(list)
+		myResourceStore.changeIsBatchOperation(list.length !== 0)
 	}
-
 	// 更多图标点击事件
 	const handleClickMore = (record, event) => {
 		// multipleTableRef.value.setCurrentRow(record); //  选中当前行

+ 1 - 0
src/views/myResource/components/OperationMenu.vue

@@ -354,6 +354,7 @@
 	 * @description 区分 删除到回收站中 | 在回收站中彻底删除,调用相应的删除文件接口
 	 */
 	const handleBatchDeleteBtnClick = () => {
+		console.log('要去删除', selectedFiles.value)
 		proxy.$openDialog
 			.deleteFile({
 				isBatchOperation: true,

+ 4 - 0
src/views/myResource/resourceLibrary/file/FileList.vue

@@ -252,6 +252,10 @@
 		}
 		getFileListByPath(data).then((res) => {
 			if (res.success) {
+				console.log('获取到的数据呢', res.dataList)
+				for (let i = 0; i < res.dataList.length; i++) {
+					res.dataList[i].key = i
+				}
 				fileList.value = res.dataList
 				pageData.value.total = Number(res.total)
 				loading.value = false

+ 41 - 12
src/views/recycleBin/index.vue

@@ -1,16 +1,45 @@
 <template>
-	<div class="page-container">
-		<!-- 页面内容将放在这里 -->
-		<span>回收站</span>
-	</div>
+	<a-table
+		:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
+		:columns="columns"
+		:data-source="data"
+	/>
 </template>
-
 <script setup>
-// 这里可以引入所需的逻辑和组件
-</script>
+	import { computed, ref, unref } from 'vue'
+	import { Table } from 'ant-design-vue'
+
+	const DataType = ref([])
+
+	const columns = [
+		{
+			title: 'Name',
+			dataIndex: 'name'
+		},
+		{
+			title: 'Age',
+			dataIndex: 'age'
+		},
+		{
+			title: 'Address',
+			dataIndex: 'address'
+		}
+	]
 
-<style scoped>
-.page-container {
-	padding: 20px;
-}
-</style>
+	const data = DataType.value
+	for (let i = 0; i < 46; i++) {
+		data.push({
+			key: i,
+			name: `Edward King ${i}`,
+			age: 32,
+			address: `London, Park Lane no. ${i}`
+		})
+	}
+
+	const selectedRowKeys = ref([]) // Check here to configure the default column
+
+	const onSelectChange = (changableRowKeys) => {
+		console.log('selectedRowKeys changed: ', changableRowKeys)
+		selectedRowKeys.value = changableRowKeys
+	}
+</script>

+ 16 - 0
src/views/taskProgress/index.vue

@@ -0,0 +1,16 @@
+<template>
+	<div class="page-container">
+		<!-- 页面内容将放在这里 -->
+		<span>我的智商</span>
+	</div>
+</template>
+
+<script setup>
+	// 这里可以引入所需的逻辑和组件
+</script>
+
+<style scoped>
+	.page-container {
+		padding: 20px;
+	}
+</style>