feat: 会议材料上传/发票OCR识别/用户管理增强 + 日志降噪 + 薪亿通接口规范
- 会议/劳务材料支持直接上传与提交审核 (BizMeetingMaterial 等) - 发票 OCR 识别增强 (InvoiceOcrService) - 现场照片/证书批量导入覆盖式回填 (ExcelUtil/AttendeeImportVo/CameraQrUpload) - 用户管理增强、超级管理员校验与权限拒绝处理 (SuperManagerChecker/AccessDeniedHandlerImpl) - 日志级别调整为 info/warn (生产降噪) - 新增薪亿通·个人票税接口规范文档 (自然人开票服务分册 + 轻量化对接分册) - .gitignore 排除 key.txt/*.rdb/*.key/tmp/opt 等敏感与本地文件 Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -35,7 +35,7 @@
|
||||
</div>
|
||||
<div class="file-actions">
|
||||
<el-link :underline="false" v-if="!readonly" type="danger" class="remove-btn" @click.stop="onRemoveAt(i)">移除</el-link>
|
||||
<a class="download-btn" :href="u" target="_blank" rel="noopener" @click.stop>下载</a>
|
||||
<a v-if="downloadable" class="download-btn" :href="u" target="_blank" rel="noopener" @click.stop>下载</a>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!readonly && modelList.length" class="ht-file-add" @click.stop="handleClick">
|
||||
@@ -66,7 +66,7 @@
|
||||
</div>
|
||||
<div class="file-actions">
|
||||
<el-link :underline="false" v-if="!readonly" type="danger" class="remove-btn" @click.stop="onRemove">移除</el-link>
|
||||
<a class="download-btn" :href="modelValue" target="_blank" rel="noopener" @click.stop>下载</a>
|
||||
<a v-if="downloadable" class="download-btn" :href="modelValue" target="_blank" rel="noopener" @click.stop>下载</a>
|
||||
</div>
|
||||
<!-- 右侧预览框 (图片用 el-image, 其他用 icon + 点击新窗口打开) -->
|
||||
<div v-if="showPreview" class="preview-box">
|
||||
@@ -105,6 +105,8 @@ const props = defineProps({
|
||||
maxSize: { type: Number, default: 200 }, // MB
|
||||
block: { type: Boolean, default: false },
|
||||
readonly: { type: Boolean, default: false },
|
||||
downloadable: { type: Boolean, default: true }, // 是否显示"下载"按钮 (如 sponsor 只读查看时不显示)
|
||||
maxCount: { type: Number, default: 0 }, // 多文件模式最多文件数 (0 = 不限制)
|
||||
showPreview: { type: Boolean, default: true }, // 右侧预览框 (图片/PDF/其他)
|
||||
multiple: { type: Boolean, default: false } // 多文件模式: 一次选多个文件, modelValue 存 JSON 数组字符串
|
||||
})
|
||||
@@ -232,6 +234,10 @@ async function onFileChange(e) {
|
||||
const list = [...modelList.value]
|
||||
let added = 0
|
||||
for (const file of files) {
|
||||
if (props.maxCount && list.length >= props.maxCount) {
|
||||
ElMessage.warning(`最多上传 ${props.maxCount} 个文件`)
|
||||
break
|
||||
}
|
||||
if (!validateFile(file)) continue
|
||||
uploading.value = true
|
||||
progress.value = 0
|
||||
|
||||
Reference in New Issue
Block a user