refactor(file): 重构文件管理页面布局和功能

- 将左右分栏布局改为侧边栏+主区域布局
- 移除拖拽调节宽度功能和相关代码
- 重构文件类型筛选为垂直列表形式
- 移除顶部标签页切换功能
- 合并文件预览和详情功能到单一详情弹窗
- 详情弹窗中集成文件预览和元数据展示
- 优化表格列显示,增加文件大小、所属部门、订单编号等字段
- 调整操作按钮位置和样式
- 优化评论功能的显示和交互
- 简化文件上传和编辑流程
- 移除不再使用的变量和方法
This commit is contained in:
jhd
2026-07-07 12:59:43 +08:00
parent 70251cd9d1
commit 52be3be1f2
3 changed files with 855 additions and 1198 deletions

View File

@@ -1,4 +1,5 @@
<template> <template>
<div class="user-select-wrapper" :class="{ 'has-value': selectedValue && (Array.isArray(selectedValue) ? selectedValue.length > 0 : true) }">
<el-select <el-select
v-model="selectedValue" v-model="selectedValue"
:multiple="multiple" :multiple="multiple"
@@ -21,6 +22,7 @@
<span style="color: #999; font-size: 12px; margin-left: 8px;">{{ user.dept && user.dept.deptName ? user.dept.deptName : '无部门' }}</span> <span style="color: #999; font-size: 12px; margin-left: 8px;">{{ user.dept && user.dept.deptName ? user.dept.deptName : '无部门' }}</span>
</el-option> </el-option>
</el-select> </el-select>
</div>
</template> </template>
<script> <script>
@@ -109,4 +111,62 @@ export default {
</script> </script>
<style scoped> <style scoped>
.user-select-wrapper {
position: relative;
border: 1px solid #dcdfe6;
border-radius: 4px;
padding: 2px 8px;
transition: border-color 0.2s, box-shadow 0.2s;
min-height: 32px;
}
.user-select-wrapper:hover {
border-color: #c0c4cc;
}
.user-select-wrapper.has-value {
border-color: #5F7BA0;
box-shadow: 0 0 0 1px rgba(95, 123, 160, 0.1);
}
.user-select-wrapper /deep/ .el-select {
width: 100%;
}
.user-select-wrapper /deep/ .el-select__tags {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 4px;
position: relative !important;
top: auto !important;
left: auto !important;
transform: none !important;
overflow: visible;
padding: 2px 0;
}
.user-select-wrapper /deep/ .el-select__tags .el-tag {
margin: 2px 0;
}
.user-select-wrapper /deep/ .el-input {
width: auto;
min-width: 60px;
}
.user-select-wrapper /deep/ .el-select .el-select__input {
margin-left: 0;
}
.user-select-wrapper /deep/ .el-select__tags-text {
display: inline;
}
/* Hide the original el-select border since wrapper provides it */
.user-select-wrapper /deep/ .el-select .el-input__inner {
border: none !important;
box-shadow: none !important;
padding-left: 0;
}
</style> </style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff