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批量导入
+