czh-20260630-优化附件上传功能
This commit is contained in:
@@ -2,9 +2,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="s-upload-file-container">
|
<div class="s-upload-file-container">
|
||||||
<div class="upload-btn-wrapper" v-if="!disabled">
|
<div class="upload-btn-wrapper" v-if="!disabled">
|
||||||
<a-button type="primary" @click="handleOpenUploadModal">
|
<a-button type="link" @click="handleOpenUploadModal">
|
||||||
<Icon icon="ant-design:upload-outlined" />
|
<Icon icon="ant-design:upload-outlined" />
|
||||||
选择文件上传
|
上传附件
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -178,7 +178,9 @@ async function handleUploadSuccess(result: any) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// 如果已有业务ID,绑定未关联文件并刷新列表
|
||||||
if (props.bussinessId) {
|
if (props.bussinessId) {
|
||||||
|
await bindBussinessId(props.bussinessId);
|
||||||
await loadFileList();
|
await loadFileList();
|
||||||
}
|
}
|
||||||
emit('upload-success', result);
|
emit('upload-success', result);
|
||||||
|
|||||||
@@ -235,14 +235,13 @@
|
|||||||
<span class="detail-row-icon">
|
<span class="detail-row-icon">
|
||||||
<Icon icon="tasklist-attachment|svg" />
|
<Icon icon="tasklist-attachment|svg" />
|
||||||
</span>
|
</span>
|
||||||
<div class="detail-row-content">
|
<div class="detail-row-content detail-row-attachment">
|
||||||
<span class="desc-trigger" :class="{ 'readonly-field': isFullReadOnly }" @click="!isFullReadOnly && openFileUploadModal()"> 添加附件 </span>
|
<span class="desc-trigger" :class="{ 'readonly-field': isFullReadOnly }" @click="!isFullReadOnly && openFileUploadModal()"> 添加附件 </span>
|
||||||
<TaskAttachmentUpload
|
<TaskAttachmentUpload
|
||||||
ref="fileUploadRef"
|
ref="fileUploadRef"
|
||||||
:bussiness-id="taskData.id || ''"
|
:bussiness-id="taskData.id || ''"
|
||||||
:bussiness-secret-level="currentListSecretLevel"
|
:bussiness-secret-level="currentListSecretLevel"
|
||||||
:disabled="isFullReadOnly"
|
:disabled="isFullReadOnly"
|
||||||
style="display: none"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -345,15 +344,15 @@
|
|||||||
<Icon icon="tasklist-followers|svg" />
|
<Icon icon="tasklist-followers|svg" />
|
||||||
</span>
|
</span>
|
||||||
<div v-if="!isFullReadOnly" class="follower-clickable" @click="openDrawerUserSelect('followers')">
|
<div v-if="!isFullReadOnly" class="follower-clickable" @click="openDrawerUserSelect('followers')">
|
||||||
<template v-if="followers.length > 0">
|
<span class="follower-label">添加关注人</span>
|
||||||
<AvatarDisplay :names="taskData.followersName" :size="24" :show-name="false" />
|
<AvatarDisplay v-if="followers.length > 0" :names="taskData.followersName" :size="24" :show-name="false" />
|
||||||
</template>
|
|
||||||
<span v-else class="follower-empty">将通知 0 人</span>
|
|
||||||
</div>
|
</div>
|
||||||
<a-tooltip v-else-if="followers.length > 0" :title="taskData.followersName" placement="top">
|
<template v-else>
|
||||||
<AvatarDisplay :names="taskData.followersName" :size="24" :show-name="false" />
|
<span v-if="followers.length === 0" class="follower-empty">无关注人</span>
|
||||||
</a-tooltip>
|
<a-tooltip v-else :title="taskData.followersName" placement="top">
|
||||||
<span v-else class="follower-empty">将通知 0 人</span>
|
<AvatarDisplay :names="taskData.followersName" :size="24" :show-name="false" />
|
||||||
|
</a-tooltip>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -945,6 +944,26 @@
|
|||||||
min-width: 0;
|
min-width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.detail-row-attachment {
|
||||||
|
:deep(.s-upload-file-container) {
|
||||||
|
.upload-btn-wrapper {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.file-list-wrapper {
|
||||||
|
background: transparent;
|
||||||
|
padding: 0;
|
||||||
|
min-height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.file-item {
|
||||||
|
padding: 6px 10px;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.detail-field-row {
|
.detail-field-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -1374,6 +1393,10 @@
|
|||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #646a73;
|
color: #646a73;
|
||||||
|
|
||||||
|
.detail-row-icon {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.follower-info {
|
.follower-info {
|
||||||
@@ -1417,6 +1440,20 @@
|
|||||||
z-index: 0;
|
z-index: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.follower-clickable {
|
||||||
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
.follower-label {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #8c8c8c;
|
||||||
|
}
|
||||||
|
&:hover .follower-label {
|
||||||
|
color: #3370ff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.follower-empty {
|
.follower-empty {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #c0c4cc;
|
color: #c0c4cc;
|
||||||
|
|||||||
Reference in New Issue
Block a user