From ac7637f3e1a43ca01a4bd01d5837ea54e1b520c4 Mon Sep 17 00:00:00 2001 From: qubiaobiao <3294694717@qq.com> Date: Thu, 8 Oct 2026 10:08:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E7=BB=BC=E5=90=88=E5=A4=A7?= =?UTF-8?q?=E9=A2=98=E9=A1=B5=E7=AD=BE=E5=A2=9E=E5=8A=A0=20Excel=20?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=B8=8B=E8=BD=BD=E4=B8=8E=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=EF=BC=88R73=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit api/admin.js 新增 importBigQuestionsExcel(silent:true,错误提示由调用方统一给出,避免同族双弹)。 Admin.vue 大题工具栏新增「下载Excel模板」「Excel批量导入」两按钮 + 隐藏 file input, 复用既有 safeDownload 与 ref 模式;按钮 title 明确提示「先下载模板、按模板列填写、 组别以当前选中组别为准」,解决测试人员找不到模板入口的问题。 --- src/api/admin.js | 15 +++++++++++++ src/views/Admin.vue | 52 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/src/api/admin.js b/src/api/admin.js index d3ff337..39bb0bd 100644 --- a/src/api/admin.js +++ b/src/api/admin.js @@ -148,6 +148,21 @@ export function importQuestionsExcel(group, formData) { }) } +/** + * 综合大题 Excel 批量导入(R73) + * 首 sheet 为数据表(表头在第 1 行),可携带「填写说明」sheet + * @param {string} group - 组别标识(zhongzhi / gaozhi) + * @param {FormData} formData - 包含 Excel 文件的 FormData(字段名 file) + * @returns {Promise} { imported, skipped, errors: [{ row, message }] } + */ +export function importBigQuestionsExcel(group, formData) { + // silent: true —— 与 importQuestionsExcel 同口径:错误提示由调用方统一给出,避免同族双弹 + return request.post(`/admin/big-questions/${group}/import-excel`, formData, { + timeout: 300000, + silent: true, + }) +} + /** * 上传 Word 答题模板 * @param {string} group - 组别标识 diff --git a/src/views/Admin.vue b/src/views/Admin.vue index 36ce214..15a9820 100644 --- a/src/views/Admin.vue +++ b/src/views/Admin.vue @@ -224,6 +224,21 @@ 新增大题 刷新 + + 下载Excel模板 + Excel批量导入 +