From ebd7fa385112c6f0ceca75dc95dc8c9a6ee29e8f Mon Sep 17 00:00:00 2001
From: dj <1042039504@qq.com>
Date: Sun, 30 Mar 2025 15:06:39 +0800
Subject: [PATCH 1/4] =?UTF-8?q?feat(project-manage):=20=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=99=84=E4=BB=B6=E6=A0=87=E7=AD=BE=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../DetailComponent/ProjectAttachment.vue | 96 +++++++++++--------
vite.config.js | 14 +--
2 files changed, 64 insertions(+), 46 deletions(-)
diff --git a/src/components/DetailComponent/ProjectAttachment.vue b/src/components/DetailComponent/ProjectAttachment.vue
index 10e37b0..221b4ec 100644
--- a/src/components/DetailComponent/ProjectAttachment.vue
+++ b/src/components/DetailComponent/ProjectAttachment.vue
@@ -32,7 +32,7 @@
- 编辑
+ 编辑
handleDownload(row)}>下载
{
- row.newFile ?
- deleteSingleFile(row)}/> : ''
+ uploadState.value ?
+ deleteSingleFile(row)}/>:''
}
)
@@ -137,6 +137,7 @@ const executeTableConfig = reactive({
}
]
})
+// row.newFile ?: ''
const otherAttachmentList = ref([])
const filePreviewParam = ref({
@@ -159,6 +160,8 @@ const deleteSingleFile = (row) => {
})
if (res.code === 1000) {
otherAttachmentList.value.splice(otherAttachmentList.value.findIndex((item) => item.fileId === row.fileId), 1);
+ getAttachmentList()
+ activeName.value = 'all'
}
});
}
@@ -176,6 +179,9 @@ const changeTag = async () => {
projectId: route.query.projectId,
fileTag: fileParam.value.tagName
})
+ getAttachmentList()
+ fileParam.value.tagName = ''
+ activeName.value = 'all'
}
ElNotification({
title: '提示',
@@ -188,11 +194,9 @@ const changeTag = async () => {
// label: fileParam.value.tagName
// })
tagNameShow.value = false;
- fileParam.value.tagName = ''
- activeName.value = 'all'
}
const tabRemove = async (val) => {
- ElMessageBox.confirm(`确认删除名称为${getFileName(val)}的标签吗?`, '系统提示', {
+ ElMessageBox.confirm(`确认删除名称为${getTagName(val)}的标签吗?`, '系统提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
@@ -205,15 +209,16 @@ const tabRemove = async (val) => {
})
if (res.code === 1000) {
getTagsOption()
+ otherAttachmentList.value = allFiles.value
}
})
}
const handleEditTag = () => {
tagNameShow.value = true
- fileParam.value.tagName = getFileName(activeName.value)
+ fileParam.value.tagName = getTagName(activeName.value)
isEdit.value = true
}
-const getFileName = (name) => {
+const getTagName = (name) => {
const tagArray = tagsOption.value.filter((item1) => item1.tagId == name)
let tagName = ''
if (tagArray && tagArray.length > 0) {
@@ -227,16 +232,17 @@ const handleTabClick = (item) => {
isEdit.value = false
}
if (item.props.name != 'plus') {
- if (item.props.name == 'all') {
- otherAttachmentList.value = allFiles.value
- } else {
- otherAttachmentList.value = allFiles.value.filter(item1 => item1.tag == getFileName(item.props.name))
- }
+ changeFileList(getTagName(item.props.name))
+ // if (item.props.name == 'all') {
+ // otherAttachmentList.value = allFiles.value
+ // } else {
+ // otherAttachmentList.value = allFiles.value.filter(item1 => item1.tag == getTagName(item.props.name))
+ // }
}
- showAttachmentTable.value = false
- nextTick(() => {
- showAttachmentTable.value = true
- })
+ // showAttachmentTable.value = false
+ // nextTick(() => {
+ // showAttachmentTable.value = true
+ // })
}
const compositeParam = (item) => {
return {
@@ -246,7 +252,7 @@ const compositeParam = (item) => {
fileType: item.fileType,
url: item.url,
newFile: true,
- tag: activeName.value,
+ tag: getTagName(activeName.value),
}
}
const getFile = (val) => {
@@ -264,11 +270,14 @@ const handleSubmit = async (list) => {
targetState: "30"
}
let res = await uploadFileList(params)
- // ElNotification({
- // title: '提示',
- // message: res.msg,
- // type: res.code === 1000 ? 'success' : 'error'
- // })
+ if(res.code !== 1000){
+ ElNotification({
+ title: '提示',
+ message: res.msg,
+ type: 'error'
+ })
+ }
+ getTagsOption()
}
const clickToPreview = (row) => {
filePreviewShow.value = false
@@ -281,12 +290,29 @@ const clickToPreview = (row) => {
filePreviewShow.value = true
})
}
-const handleSearch = () => {
+const changeFileList=(tag)=>{
+ showAttachmentTable.value = false
+ let params = {
+ targetId: route.query.projectId,
+ targetState: "30",
+ tag:tag
+ }
+ searchImplementationFileList(params).then(res => {
+ if (res.code === 1000) {
+ otherAttachmentList.value = res.data.fileList
+ nextTick(() => {
+ showAttachmentTable.value = true
+ })
+ }
+ })
+}
+const getAttachmentList = () => {
const loading = ElLoading.service({fullscreen: true})
let params = {
targetId: route.query.projectId,
targetState: "30"
}
+ showAttachmentTable.value = false
if (attachmentParam.tag) {
tagsOption.value.forEach(item => {
if (item.value === attachmentParam.tag) {
@@ -296,7 +322,6 @@ const handleSearch = () => {
params.tag = attachmentParam.tag
}
searchImplementationFileList(params).then(res => {
- showAttachmentTable.value = false
if (res.code === 1000) {
// otherAttachmentList.value = res.data.fileList
otherAttachmentList.value = res.data.fileList
@@ -322,19 +347,12 @@ const getTagsOption = () => {
if (!route.query.projectId) return
getTagList(route.query.projectId).then(res => {
if (res.code === 1000) {
- res.data.rows[0].isClose = 1
tagsOption.value = res.data.rows
- otherAttachmentList.value.forEach(item => {
- tagsOption.value.forEach(tag => {
- // console.log(tag.fileTag,item.tag)
- if (tag.fileTag == item.tag) {
- tag.isClose = 0
- } else {
- tag.isClose = 1
- }
- })
+ tagsOption.value.forEach((tag, index) => {
+ const filterArray = otherAttachmentList.value.filter(item => tag.fileTag == item.tag)
+ tagsOption.value[index].isClose = filterArray.length > 0 ? 0 : 1
})
- if (!res.data.rows || res.data.rows.length == 0) return;
+ // if (!res.data.rows || res.data.rows.length == 0) return;
// activeName.value=res.data.rows[0].tagId
} else {
ElNotification({
@@ -356,9 +374,9 @@ const handleUpload = () => {
}
})
}
-handleSearch()
+getAttachmentList()
onActivated(() => {
- handleSearch()
+ getAttachmentList()
})