21
This commit is contained in:
parent
fcf1054707
commit
fae900819a
|
|
@ -343,7 +343,7 @@ public class UserController : BusinessControllerBase
|
|||
"code": 0,
|
||||
"message": "success",
|
||||
"data": {
|
||||
"items": [],
|
||||
"list": [],
|
||||
"total": 100,
|
||||
"page": 1,
|
||||
"pageSize": 20,
|
||||
|
|
@ -566,7 +566,7 @@ async function fetchData() {
|
|||
loading.value = true
|
||||
try {
|
||||
const res = await getUserList({ status: props.status })
|
||||
userList.value = res.data.items
|
||||
userList.value = res.data.list
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public static class ServiceCollectionExtensions
|
|||
{
|
||||
services.AddDbContext<AdminBusinessDbContext>(options =>
|
||||
{
|
||||
options.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
|
||||
options.UseSqlServer(configuration.GetConnectionString("BusinessConnection"));
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -70,47 +70,47 @@ export interface UpdateDictItemRequest {
|
|||
|
||||
/** 获取字典类型列表 */
|
||||
export function getDictTypes() {
|
||||
return request.get<DictType[]>('/api/admin/dict/types')
|
||||
return request.get<DictType[]>('/admin/dict/types')
|
||||
}
|
||||
|
||||
/** 根据编码获取字典类型 */
|
||||
export function getDictTypeByCode(code: string) {
|
||||
return request.get<DictType>(`/api/admin/dict/types/${code}`)
|
||||
return request.get<DictType>(`/admin/dict/types/${code}`)
|
||||
}
|
||||
|
||||
/** 创建字典类型 */
|
||||
export function createDictType(data: CreateDictTypeRequest) {
|
||||
return request.post<DictType>('/api/admin/dict/types', data)
|
||||
return request.post<DictType>('/admin/dict/types', data)
|
||||
}
|
||||
|
||||
/** 更新字典类型 */
|
||||
export function updateDictType(id: number, data: UpdateDictTypeRequest) {
|
||||
return request.put(`/api/admin/dict/types/${id}`, data)
|
||||
return request.put(`/admin/dict/types/${id}`, data)
|
||||
}
|
||||
|
||||
/** 删除字典类型 */
|
||||
export function deleteDictType(id: number) {
|
||||
return request.delete(`/api/admin/dict/types/${id}`)
|
||||
return request.delete(`/admin/dict/types/${id}`)
|
||||
}
|
||||
|
||||
// ==================== 字典数据项 API ====================
|
||||
|
||||
/** 根据类型编码获取字典数据项 */
|
||||
export function getDictItemsByTypeCode(typeCode: string) {
|
||||
return request.get<DictItem[]>(`/api/admin/dict/items/${typeCode}`)
|
||||
return request.get<DictItem[]>(`/admin/dict/items/${typeCode}`)
|
||||
}
|
||||
|
||||
/** 创建字典数据项 */
|
||||
export function createDictItem(data: CreateDictItemRequest) {
|
||||
return request.post<DictItem>('/api/admin/dict/items', data)
|
||||
return request.post<DictItem>('/admin/dict/items', data)
|
||||
}
|
||||
|
||||
/** 更新字典数据项 */
|
||||
export function updateDictItem(id: number, data: UpdateDictItemRequest) {
|
||||
return request.put(`/api/admin/dict/items/${id}`, data)
|
||||
return request.put(`/admin/dict/items/${id}`, data)
|
||||
}
|
||||
|
||||
/** 删除字典数据项 */
|
||||
export function deleteDictItem(id: number) {
|
||||
return request.delete(`/api/admin/dict/items/${id}`)
|
||||
return request.delete(`/admin/dict/items/${id}`)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,10 @@ export { businessRoutes, type RouteMeta, getBusinessPermissions, filterRoutesByP
|
|||
|
||||
// 静态路由
|
||||
const constantRoutes: RouteRecordRaw[] = [
|
||||
{
|
||||
path: '/',
|
||||
redirect: '/dashboard'
|
||||
},
|
||||
{
|
||||
path: '/login',
|
||||
name: 'Login',
|
||||
|
|
|
|||
|
|
@ -389,7 +389,7 @@ async function loadAssessmentTypes() {
|
|||
try {
|
||||
const res = await getAssessmentTypeList({ pageIndex: 1, pageSize: 100 })
|
||||
if (res.code === 0) {
|
||||
state.assessmentTypes = res.data?.items || []
|
||||
state.assessmentTypes = res.data?.list || []
|
||||
// 如果有测评类型,默认选择第一个
|
||||
if (state.assessmentTypes.length > 0 && !selectedAssessmentTypeId.value) {
|
||||
selectedAssessmentTypeId.value = state.assessmentTypes[0].id
|
||||
|
|
|
|||
|
|
@ -374,7 +374,7 @@ async function loadAssessmentTypes() {
|
|||
try {
|
||||
const res = await getAssessmentTypeList({ pageIndex: 1, pageSize: 100 })
|
||||
if (res.code === 0) {
|
||||
state.assessmentTypes = res.data?.items || []
|
||||
state.assessmentTypes = res.data?.list || []
|
||||
// 如果有测评类型,默认选择第一个
|
||||
if (state.assessmentTypes.length > 0 && !selectedAssessmentTypeId.value) {
|
||||
selectedAssessmentTypeId.value = state.assessmentTypes[0].id
|
||||
|
|
|
|||
|
|
@ -522,7 +522,7 @@ async function loadAssessmentTypes() {
|
|||
try {
|
||||
const res = await getAssessmentTypeList({ pageIndex: 1, pageSize: 100 })
|
||||
if (res.code === 0) {
|
||||
state.assessmentTypes = res.data?.items || []
|
||||
state.assessmentTypes = res.data?.list || []
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to load assessment types:', error)
|
||||
|
|
@ -548,7 +548,7 @@ async function loadQuestionList() {
|
|||
|
||||
const res = await getQuestionList(params)
|
||||
if (res.code === 0) {
|
||||
state.tableData = res.data?.items || []
|
||||
state.tableData = res.data?.list || []
|
||||
state.total = res.data?.total || 0
|
||||
} else {
|
||||
throw new Error(res.message || '获取题目列表失败')
|
||||
|
|
|
|||
|
|
@ -438,7 +438,7 @@ async function loadAssessmentTypeList() {
|
|||
|
||||
const res = await getAssessmentTypeList(params)
|
||||
if (res.code === 0) {
|
||||
state.tableData = res.data?.items || []
|
||||
state.tableData = res.data?.list || []
|
||||
state.total = res.data?.total || 0
|
||||
} else {
|
||||
throw new Error(res.message || '获取测评类型列表失败')
|
||||
|
|
|
|||
|
|
@ -506,7 +506,7 @@ async function loadBannerList() {
|
|||
|
||||
const res = await getBannerList(params)
|
||||
if (res.code === 0) {
|
||||
state.tableData = res.data?.items || []
|
||||
state.tableData = res.data?.list || []
|
||||
state.total = res.data?.total || 0
|
||||
} else {
|
||||
throw new Error(res.message || '获取轮播图列表失败')
|
||||
|
|
|
|||
|
|
@ -372,7 +372,7 @@ async function loadPromotionList() {
|
|||
|
||||
const res = await getPromotionList(params)
|
||||
if (res.code === 0) {
|
||||
state.tableData = res.data?.items || []
|
||||
state.tableData = res.data?.list || []
|
||||
state.total = res.data?.total || 0
|
||||
} else {
|
||||
throw new Error(res.message || '获取宣传图列表失败')
|
||||
|
|
|
|||
|
|
@ -652,7 +652,7 @@ async function loadOrderList() {
|
|||
|
||||
const res = await getOrderList(params)
|
||||
if (res.code === 0) {
|
||||
state.tableData = res.data?.items || []
|
||||
state.tableData = res.data?.list || []
|
||||
state.total = res.data?.total || 0
|
||||
} else {
|
||||
throw new Error(res.message || '获取订单列表失败')
|
||||
|
|
|
|||
|
|
@ -515,7 +515,7 @@ async function loadUserList() {
|
|||
|
||||
const res = await getUserList(params)
|
||||
if (res.code === 0) {
|
||||
state.tableData = (res.data?.items || []).map(item => ({
|
||||
state.tableData = (res.data?.list || []).map(item => ({
|
||||
...item,
|
||||
statusLoading: false
|
||||
}))
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<template #header>
|
||||
<div class="card-header">
|
||||
<span>部门管理</span>
|
||||
<el-button type="primary" v-permission="'department:create'" @click="handleAdd">
|
||||
<el-button type="primary" v-permission="'system:dept:add'" @click="handleAdd">
|
||||
<el-icon><Plus /></el-icon>新增部门
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -29,10 +29,10 @@
|
|||
<el-table-column prop="createdAt" label="创建时间" width="170" />
|
||||
<el-table-column label="操作" width="250" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button link type="primary" v-permission="'department:update'" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button link type="primary" v-permission="'department:create'" @click="handleAddChild(row)">添加子部门</el-button>
|
||||
<el-button link type="primary" v-permission="'department:assign_menu'" @click="handleAssignMenu(row)">分配菜单</el-button>
|
||||
<el-button link type="danger" v-permission="'department:delete'" @click="handleDelete(row)">删除</el-button>
|
||||
<el-button link type="primary" v-permission="'system:dept:edit'" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button link type="primary" v-permission="'system:dept:add'" @click="handleAddChild(row)">添加子部门</el-button>
|
||||
<el-button link type="primary" v-permission="'system:dept:edit'" @click="handleAssignMenu(row)">分配菜单</el-button>
|
||||
<el-button link type="danger" v-permission="'system:dept:delete'" @click="handleDelete(row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<template #header>
|
||||
<div class="card-header">
|
||||
<span>菜单管理</span>
|
||||
<el-button type="primary" v-permission="'menu:create'" @click="handleAdd">
|
||||
<el-button type="primary" v-permission="'system:menu:add'" @click="handleAdd">
|
||||
<el-icon><Plus /></el-icon>新增菜单
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -42,9 +42,9 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" width="200" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button link type="primary" v-permission="'menu:update'" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button link type="primary" v-permission="'menu:create'" @click="handleAddChild(row)">添加子菜单</el-button>
|
||||
<el-button link type="danger" v-permission="'menu:delete'" @click="handleDelete(row)">删除</el-button>
|
||||
<el-button link type="primary" v-permission="'system:menu:edit'" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button link type="primary" v-permission="'system:menu:add'" @click="handleAddChild(row)">添加子菜单</el-button>
|
||||
<el-button link type="danger" v-permission="'system:menu:delete'" @click="handleDelete(row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<template #header>
|
||||
<div class="card-header">
|
||||
<span>权限管理</span>
|
||||
<el-button type="primary" v-permission="'permission:create'" @click="handleAdd">
|
||||
<el-button type="primary" v-permission="'system:permission:add'" @click="handleAdd">
|
||||
<el-icon><Plus /></el-icon>新增权限
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -41,8 +41,8 @@
|
|||
<el-table-column prop="createdAt" label="创建时间" width="170" />
|
||||
<el-table-column label="操作" width="150" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button link type="primary" v-permission="'permission:update'" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button link type="danger" v-permission="'permission:delete'" @click="handleDelete(row)">删除</el-button>
|
||||
<el-button link type="primary" v-permission="'system:permission:edit'" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button link type="danger" v-permission="'system:permission:delete'" @click="handleDelete(row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<template #header>
|
||||
<div class="card-header">
|
||||
<span>角色管理</span>
|
||||
<el-button type="primary" v-permission="'role:create'" @click="handleAdd">
|
||||
<el-button type="primary" v-permission="'system:role:add'" @click="handleAdd">
|
||||
<el-icon><Plus /></el-icon>新增角色
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -43,10 +43,10 @@
|
|||
<el-table-column prop="createdAt" label="创建时间" width="170" />
|
||||
<el-table-column label="操作" width="280" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button link type="primary" v-permission="'role:update'" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button link type="primary" v-permission="'role:assign_menu'" @click="handleAssignMenu(row)">分配菜单</el-button>
|
||||
<el-button link type="primary" v-permission="'role:assign_permission'" @click="handleAssignPermission(row)">分配权限</el-button>
|
||||
<el-button link type="danger" v-permission="'role:delete'" @click="handleDelete(row)" :disabled="row.code === 'super_admin'">删除</el-button>
|
||||
<el-button link type="primary" v-permission="'system:role:edit'" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button link type="primary" v-permission="'system:role:edit'" @click="handleAssignMenu(row)">分配菜单</el-button>
|
||||
<el-button link type="primary" v-permission="'system:role:edit'" @click="handleAssignPermission(row)">分配权限</el-button>
|
||||
<el-button link type="danger" v-permission="'system:role:delete'" @click="handleDelete(row)" :disabled="row.code === 'super_admin'">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<template #header>
|
||||
<div class="card-header">
|
||||
<span>管理员管理</span>
|
||||
<el-button type="primary" v-permission="'user:create'" @click="handleAdd">
|
||||
<el-button type="primary" v-permission="'system:admin:add'" @click="handleAdd">
|
||||
<el-icon><Plus /></el-icon>新增管理员
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -60,19 +60,19 @@
|
|||
:inactive-value="0"
|
||||
:disabled="row.username === 'admin'"
|
||||
@change="handleStatusChange(row)"
|
||||
v-permission="'user:update'"
|
||||
v-permission="'system:admin:edit'"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="lastLoginTime" label="最后登录" width="170" />
|
||||
<el-table-column label="操作" width="320" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button link type="primary" v-permission="'user:update'" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button link type="primary" v-permission="'user:assign_role'" @click="handleAssignRole(row)">分配角色</el-button>
|
||||
<el-button link type="primary" v-permission="'user:assign_department'" @click="handleAssignDepartment(row)">分配部门</el-button>
|
||||
<el-button link type="primary" v-permission="'user:assign_menu'" @click="handleAssignMenu(row)">专属菜单</el-button>
|
||||
<el-button link type="warning" v-permission="'user:reset_password'" @click="handleResetPassword(row)">重置密码</el-button>
|
||||
<el-button link type="danger" v-permission="'user:delete'" @click="handleDelete(row)" :disabled="row.username === 'admin'">删除</el-button>
|
||||
<el-button link type="primary" v-permission="'system:admin:edit'" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button link type="primary" v-permission="'system:admin:edit'" @click="handleAssignRole(row)">分配角色</el-button>
|
||||
<el-button link type="primary" v-permission="'system:admin:edit'" @click="handleAssignDepartment(row)">分配部门</el-button>
|
||||
<el-button link type="primary" v-permission="'system:admin:edit'" @click="handleAssignMenu(row)">专属菜单</el-button>
|
||||
<el-button link type="warning" v-permission="'system:admin:edit'" @click="handleResetPassword(row)">重置密码</el-button>
|
||||
<el-button link type="danger" v-permission="'system:admin:delete'" @click="handleDelete(row)" :disabled="row.username === 'admin'">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user