feat:新增用户导出
This commit is contained in:
parent
3bae9d7761
commit
164aa40738
@ -159,4 +159,16 @@ class UserController extends Controller
|
|||||||
return $builder;
|
return $builder;
|
||||||
})->getList();
|
})->getList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function export()
|
||||||
|
{
|
||||||
|
return User::query()
|
||||||
|
->select('id', 'username', 'email', 'created_at')
|
||||||
|
->without('roles')
|
||||||
|
->get()
|
||||||
|
->download(['id', '昵称', '邮箱', '创建时间']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,4 +14,8 @@ Route::put('users/enable/{id}', [UserController::class, 'enable']);
|
|||||||
Route::match(['post', 'get'], 'user/online', [UserController::class, 'online']);
|
Route::match(['post', 'get'], 'user/online', [UserController::class, 'online']);
|
||||||
Route::get('user/login/log', [UserController::class, 'loginLog']);
|
Route::get('user/login/log', [UserController::class, 'loginLog']);
|
||||||
Route::get('user/operate/log', [UserController::class, 'operateLog']);
|
Route::get('user/operate/log', [UserController::class, 'operateLog']);
|
||||||
|
Route::get('user/operate/log', [UserController::class, 'operateLog']);
|
||||||
|
Route::get('user/export', [UserController::class, 'export']);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,7 +16,11 @@
|
|||||||
</template>
|
</template>
|
||||||
</Search>
|
</Search>
|
||||||
<div class="table-default">
|
<div class="table-default">
|
||||||
<Operate :show="open" />
|
<Operate :show="open">
|
||||||
|
<template #operate>
|
||||||
|
<el-button @click="download('/user')">导出</el-button>
|
||||||
|
</template>
|
||||||
|
</Operate>
|
||||||
<el-table :data="tableData" class="mt-3" v-loading="loading">
|
<el-table :data="tableData" class="mt-3" v-loading="loading">
|
||||||
<el-table-column prop="username" label="用户名" width="150" />
|
<el-table-column prop="username" label="用户名" width="150" />
|
||||||
<el-table-column prop="avatar" label="头像">
|
<el-table-column prop="avatar" label="头像">
|
||||||
@ -61,6 +65,7 @@ import Department from './components/department.vue'
|
|||||||
import { useUserStore } from '/admin/stores/modules/user'
|
import { useUserStore } from '/admin/stores/modules/user'
|
||||||
import { isUndefined } from '/admin/support/helper'
|
import { isUndefined } from '/admin/support/helper'
|
||||||
import { UserFilled } from '@element-plus/icons-vue'
|
import { UserFilled } from '@element-plus/icons-vue'
|
||||||
|
import { useExcelDownload } from '/resources/admin/composables/curd/useExcelDownload'
|
||||||
|
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
|
|
||||||
@ -68,6 +73,7 @@ const api = 'users'
|
|||||||
const { data, query, search, reset, loading } = useGetList(api)
|
const { data, query, search, reset, loading } = useGetList(api)
|
||||||
const { destroy, deleted } = useDestroy()
|
const { destroy, deleted } = useDestroy()
|
||||||
const { open, close, title, visible, id } = useOpen()
|
const { open, close, title, visible, id } = useOpen()
|
||||||
|
const { download } = useExcelDownload()
|
||||||
|
|
||||||
const tableData = computed(() => data.value?.data)
|
const tableData = computed(() => data.value?.data)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user