签入版本
This commit is contained in:
@@ -195,7 +195,7 @@ public function export(): JsonResponse
|
||||
"code": 0,
|
||||
"ok": true,
|
||||
"msg": "导出成功",
|
||||
"data": "http://file.laravel13.elevue/temp/20261006/用户数据_20261006050143.xlsx"
|
||||
"data": "http://file.laravel13.antdvue/temp/20261006/用户数据_20261006050143.xlsx"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -328,27 +328,33 @@ public function export(array $params = []): string
|
||||
|
||||
```vue
|
||||
<template>
|
||||
<el-upload
|
||||
<a-upload
|
||||
:action="'/api/example/import'"
|
||||
:headers="{ Authorization: `Bearer ${token}` }"
|
||||
:on-success="handleImportSuccess"
|
||||
:show-upload-list="false"
|
||||
accept=".xls,.xlsx"
|
||||
@change="handleChange"
|
||||
>
|
||||
<el-button type="primary">导入</el-button>
|
||||
</el-upload>
|
||||
<a-button type="primary">导入</a-button>
|
||||
</a-upload>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
const handleImportSuccess = (response) => {
|
||||
if (response.code === 0) {
|
||||
const { count, errors } = response.data;
|
||||
if (errors.length === 0) {
|
||||
ElMessage.success(`成功导入 ${count} 条数据`);
|
||||
} else {
|
||||
ElMessage.warning(`成功 ${count} 条,失败 ${errors.length} 条`);
|
||||
// 可展开 errors 查看行号与原因
|
||||
import { message } from 'ant-design-vue';
|
||||
|
||||
const handleChange = ({ file }) => {
|
||||
if (file.status === 'done') {
|
||||
const response = file.response;
|
||||
if (response.code === 0) {
|
||||
const { count, errors } = response.data;
|
||||
if (errors.length === 0) {
|
||||
message.success(`成功导入 ${count} 条数据`);
|
||||
} else {
|
||||
message.warning(`成功 ${count} 条,失败 ${errors.length} 条`);
|
||||
// 可展开 errors 查看行号与原因
|
||||
}
|
||||
refreshTable();
|
||||
}
|
||||
refreshTable();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user