mirror of
https://gitee.com/xiangheng/x_admin.git
synced 2025-12-24 08:12:55 +08:00
补充类型
This commit is contained in:
@@ -1,12 +1,32 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// import type { Pages } from '@/utils/request'
|
||||
export interface SystemAuthMenuResp {
|
||||
id?: number
|
||||
pid: number
|
||||
menuType: string
|
||||
menuName: string
|
||||
menuIcon: string
|
||||
menuSort: number
|
||||
perms: string
|
||||
paths: string
|
||||
component: string
|
||||
selected: boolean
|
||||
params: string
|
||||
isCache: boolean
|
||||
isShow: boolean
|
||||
isDisable: boolean
|
||||
createTime: string
|
||||
updateTime: string
|
||||
children?: SystemAuthMenuResp[]
|
||||
}
|
||||
// 菜单列表
|
||||
export function menuLists(params?: Record<string, any>) {
|
||||
return request.get({ url: '/system/menu/list', params })
|
||||
return request.get<SystemAuthMenuResp[]>({ url: '/system/menu/list', params })
|
||||
}
|
||||
// 菜单
|
||||
export function menuDetail(params: Record<string, any>) {
|
||||
return request.get({ url: '/system/menu/detail', params })
|
||||
return request.get<SystemAuthMenuResp>({ url: '/system/menu/detail', params })
|
||||
}
|
||||
|
||||
// 添加菜单
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export interface SystemLogResp {
|
||||
title: string
|
||||
username: string
|
||||
url: string
|
||||
ip: string
|
||||
error: string
|
||||
taskTime: string
|
||||
createTime: string
|
||||
}
|
||||
// 获取系统环境
|
||||
export function systemInfo() {
|
||||
return request.get({ url: '/monitor/server' })
|
||||
|
||||
@@ -8,6 +8,7 @@ export enum ThemeEnum {
|
||||
export enum MenuEnum {
|
||||
CATALOGUE = 'M',
|
||||
MENU = 'C',
|
||||
/**按钮*/
|
||||
BUTTON = 'A'
|
||||
}
|
||||
|
||||
|
||||
@@ -9,14 +9,15 @@
|
||||
</el-button>
|
||||
<el-button @click="handleExpand"> 展开/收起 </el-button>
|
||||
</div>
|
||||
<div class="mt-4 flex-1">
|
||||
<div class="mt-4" style="height: 100%">
|
||||
<vxe-table
|
||||
ref="tableRef"
|
||||
:row-config="rowConfig"
|
||||
:tree-config="treeConfig"
|
||||
:data="lists"
|
||||
:border="'inner'"
|
||||
max-height="100%"
|
||||
height="100%"
|
||||
:virtual-y-config="{ enabled: true, gt: 0 }"
|
||||
>
|
||||
<vxe-column type="seq" width="60"></vxe-column>
|
||||
<vxe-column
|
||||
@@ -56,6 +57,7 @@
|
||||
<template #default="{ row }">
|
||||
<el-button
|
||||
v-perms="['admin:system:menu:add']"
|
||||
v-show="row.menuType != MenuEnum.BUTTON"
|
||||
type="primary"
|
||||
link
|
||||
@click="handleAdd(row.id)"
|
||||
@@ -162,8 +164,8 @@
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { ref, useTemplateRef, nextTick } from 'vue'
|
||||
import { menuDelete, menuLists } from '@/api/perms/menu'
|
||||
import { arrayToTree } from '@/utils/util'
|
||||
import { menuDelete, menuLists, SystemAuthMenuResp } from '@/api/perms/menu'
|
||||
// import { arrayToTree } from '@/utils/util'
|
||||
import { MenuEnum } from '@/enums/appEnums'
|
||||
import EditPopup from './edit.vue'
|
||||
import feedback from '@/utils/feedback'
|
||||
@@ -181,21 +183,24 @@ const treeConfig = {
|
||||
childrenField: 'children',
|
||||
indent: 10,
|
||||
reserve: true,
|
||||
lazy: true
|
||||
lazy: true,
|
||||
transform: true,
|
||||
|
||||
parentField: 'pid'
|
||||
}
|
||||
const tableRef = useTemplateRef<VxeTableInstance<any>>('tableRef')
|
||||
const editRef = useTemplateRef<InstanceType<typeof EditPopup>>('editRef')
|
||||
let isExpand = false
|
||||
const loading = ref(false)
|
||||
const showEdit = ref(false)
|
||||
const lists = ref([])
|
||||
const lists = ref<SystemAuthMenuResp[]>([])
|
||||
|
||||
const getLists = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
const data = await menuLists()
|
||||
|
||||
lists.value = arrayToTree(data)
|
||||
lists.value = data
|
||||
// lists.value = arrayToTree(data)
|
||||
// .map((item: any) => {
|
||||
// return item
|
||||
// })
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
import { systemLogLists } from '@/api/setting/system'
|
||||
import { systemLogLists, SystemLogResp } from '@/api/setting/system'
|
||||
import { usePaging } from '@/hooks/usePaging'
|
||||
defineOptions({
|
||||
name: 'journal'
|
||||
@@ -121,7 +121,7 @@ const visitType = ref<Array<any>>([
|
||||
}
|
||||
])
|
||||
|
||||
const { pager, getLists, resetParams, resetPage } = usePaging({
|
||||
const { pager, getLists, resetParams, resetPage } = usePaging<SystemLogResp>({
|
||||
fetchFun: systemLogLists,
|
||||
params: formData.value
|
||||
})
|
||||
|
||||
@@ -57,7 +57,7 @@ func (service {{{ toCamelCase .EntityName }}}Service) GetModel(listReq schema.{{
|
||||
}
|
||||
{{{- end }}}
|
||||
{{{- end }}}
|
||||
{{{- end }}}
|
||||
{{{- end }}}
|
||||
{{{- end }}}
|
||||
{{{- if contains .AllFields "is_delete" }}}
|
||||
dbModel = dbModel.Where("is_delete = ?", 0)
|
||||
@@ -178,17 +178,17 @@ func (service {{{ toCamelCase .EntityName }}}Service) Del({{{ toUpperCamelCase .
|
||||
return
|
||||
}
|
||||
// 删除
|
||||
{{{- if contains .AllFields "is_delete" }}}
|
||||
obj.IsDelete = 1
|
||||
{{{- if contains .AllFields "delete_time" }}}
|
||||
obj.DeleteTime = util.NullTimeUtil.Now()
|
||||
{{{- end }}}
|
||||
err = service.db.Save(&obj).Error
|
||||
e = response.CheckErr(err, "删除失败")
|
||||
{{{- else }}}
|
||||
err = service.db.Delete(&obj).Error
|
||||
e = response.CheckErr(err, "删除失败")
|
||||
{{{- end }}}
|
||||
{{{- if contains .AllFields "is_delete" }}}
|
||||
obj.IsDelete = 1
|
||||
{{{- if contains .AllFields "delete_time" }}}
|
||||
obj.DeleteTime = util.NullTimeUtil.Now()
|
||||
{{{- end }}}
|
||||
err = service.db.Save(&obj).Error
|
||||
e = response.CheckErr(err, "删除失败")
|
||||
{{{- else }}}
|
||||
err = service.db.Delete(&obj).Error
|
||||
e = response.CheckErr(err, "删除失败")
|
||||
{{{- end }}}
|
||||
service.CacheUtil.RemoveCache(obj.{{{ toUpperCamelCase .PrimaryKey }}})
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user