【修改】生成笔试试卷按钮 加载状态

This commit is contained in:
YOHO\20373
2025-05-27 16:02:55 +08:00
committed by 陆光LG
parent 068f5c0401
commit fc77d77afc
4 changed files with 117 additions and 65 deletions

View File

@@ -56,13 +56,16 @@
>
<Icon icon="ep:set-up" class="mr-5px" /> 抽卷调整
</el-button>
<el-button
type="primary"
plain
@click="openDown"
>
<Icon icon="ep:files" class="mr-5px" /> 生成笔试试卷
</el-button>
<el-button
type="primary"
plain
@click="openDown"
:loading="downloadLoading"
:disabled="downloadLoading"
>
<Icon icon="ep:files" class="mr-5px" />
生成笔试试卷
</el-button>
<!-- 批量删除按钮 -->
<!-- <el-button
type="danger"
@@ -77,7 +80,7 @@
<!-- 列表展示 -->
<ContentWrap>
<el-table v-loading="loading" :data="list" :row-key="row => row.id" ref="tableRef" :selected-rows="selectedRows">
<el-table v-loading="loading" :data="list" :row-key="row => row.id" ref="tableRef" @selection-change="handleSelectionChange">
<!-- 多选列 -->
<el-table-column type="selection" width="55" />
@@ -259,7 +262,9 @@ const reload = () => {
getList();
};
const handleSelectionChange = (rows) => {
selections.value = rows;
}
// 搜索操作
const handleQuery = () => {
queryParams.pageNo = 1;
@@ -288,22 +293,30 @@ const openSet = () => {
};
/** 表格选中数据 */
const selections = ref([]);
const downloadLoading = ref(false)
const openDown = async () => {
try {
try {
const rows = selections.value;
if (!rows.length) {
message.error('请至少选择一条数据');
return;
if (!rows.length) {
message.error('请至少选择一条数据');
return;
}
downloadLoading.value = true;
message.info('正在生成试卷中,请稍后...');
selectedRows.value = rows.map((d: any) => d.paperId);
await PaperApi.openDown(selectedRows.value);
message.success(t('下载成功'));
await getList();
} catch (error) {
console.error(error);
message.error('下载失败');
} finally {
downloadLoading.value = false;
}
selectedRows.value = rows.map((d: any) => d.paperId); // 保存选中的行数据
await PaperApi.openDown(selectedRows.value)
message.success(t('common.delSuccess'))
// 刷新列表
await getList()
} catch {}
};
// 打开编辑弹窗
const openEdit = (type: string, row?: object) => {

View File

@@ -56,13 +56,16 @@
>
<Icon icon="ep:set-up" class="mr-5px" /> 抽卷调整
</el-button>
<el-button
type="primary"
plain
@click="openDown"
>
<Icon icon="ep:files" class="mr-5px" /> 生成笔试试卷
</el-button>
<el-button
type="primary"
plain
@click="openDown"
:loading="downloadLoading"
:disabled="downloadLoading"
>
<Icon icon="ep:files" class="mr-5px" />
生成笔试试卷
</el-button>
<!-- 批量删除按钮 -->
<!-- <el-button
type="danger"
@@ -77,7 +80,7 @@
<!-- 列表展示 -->
<ContentWrap>
<el-table v-loading="loading" :data="list" :row-key="row => row.id" ref="tableRef" :selected-rows="selectedRows">
<el-table v-loading="loading" :data="list" :row-key="row => row.id" ref="tableRef" @selection-change="handleSelectionChange">
<!-- 多选列 -->
<el-table-column type="selection" width="55" />
@@ -260,6 +263,9 @@ const reload = () => {
};
const handleSelectionChange = (rows) => {
selections.value = rows;
}
// 搜索操作
const handleQuery = () => {
queryParams.pageNo = 1;
@@ -288,22 +294,30 @@ const openSet = () => {
};
/** 表格选中数据 */
const selections = ref([]);
const downloadLoading = ref(false)
const openDown = async () => {
try {
try {
const rows = selections.value;
if (!rows.length) {
message.error('请至少选择一条数据');
return;
if (!rows.length) {
message.error('请至少选择一条数据');
return;
}
downloadLoading.value = true;
message.info('正在生成试卷中,请稍后...');
selectedRows.value = rows.map((d: any) => d.paperId);
await PaperApi.openDown(selectedRows.value);
message.success(t('下载成功'));
await getList();
} catch (error) {
console.error(error);
message.error('下载失败');
} finally {
downloadLoading.value = false;
}
selectedRows.value = rows.map((d: any) => d.paperId); // 保存选中的行数据
await PaperApi.openDown(selectedRows.value)
message.success(t('common.delSuccess'))
// 刷新列表
await getList()
} catch {}
};
// 打开编辑弹窗
const openEdit = (type: string, row?: object) => {

View File

@@ -56,13 +56,17 @@
>
<Icon icon="ep:set-up" class="mr-5px" /> 抽卷调整
</el-button>
<el-button
type="primary"
plain
@click="openDown"
>
<Icon icon="ep:files" class="mr-5px" /> 生成笔试试卷
</el-button>
<el-button
type="primary"
plain
@click="openDown"
:loading="downloadLoading"
:disabled="downloadLoading"
>
<Icon icon="ep:files" class="mr-5px" />
生成笔试试卷
</el-button>
<!-- 批量删除按钮 -->
<!-- <el-button
type="danger"
@@ -289,23 +293,33 @@ const openSet = () => {
/** 表格选中数据 */
const selections = ref([]);
const downloadLoading = ref(false)
const openDown = async () => {
try {
try {
const rows = selections.value;
if (!rows.length) {
message.error('请至少选择一条数据');
return;
if (!rows.length) {
message.error('请至少选择一条数据');
return;
}
downloadLoading.value = true;
message.info('正在生成试卷中,请稍后...');
selectedRows.value = rows.map((d: any) => d.paperId);
await PaperApi.openDown(selectedRows.value);
message.success(t('下载成功'));
await getList();
} catch (error) {
console.error(error);
message.error('下载失败');
} finally {
downloadLoading.value = false;
}
selectedRows.value = rows.map((d: any) => d.paperId); // 保存选中的行数据
await PaperApi.openDown(selectedRows.value)
message.success(t('下载成功'))
// 刷新列表
await getList()
} catch {}
};
const handleSelectionChange = (rows) => {