This commit is contained in:
zhangzhiqiang
2022-12-25 23:37:47 +08:00
parent 0c1b8f8a23
commit 1801eba0f4
5 changed files with 33 additions and 27 deletions

View File

@@ -75,7 +75,7 @@ public class SysMenuController {
@GetMapping @GetMapping
@ApiOperation("查询菜单") @ApiOperation("查询菜单")
@SaCheckPermission("menu:list") @SaCheckPermission("menu:list")
public ResponseEntity<Object> pageQuery(@RequestBody MenuQuery query, PageQuery page) throws Exception { public ResponseEntity<Object> pageQuery(@RequestParam Map query, PageQuery page) throws Exception {
List list = iSysMenuService.query(query, page); List list = iSysMenuService.query(query, page);
return new ResponseEntity<>(TableDataInfo.build(list), HttpStatus.OK); return new ResponseEntity<>(TableDataInfo.build(list), HttpStatus.OK);
} }

View File

@@ -34,7 +34,7 @@ public interface ISysMenuService extends IService<SysMenu> {
* @param page * @param page
* @return * @return
*/ */
List query(MenuQuery query, PageQuery page); List query(Map query, PageQuery page);
/** /**
* 根据ID获取同级与上级数据 * 根据ID获取同级与上级数据

View File

@@ -53,8 +53,15 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
@Override @Override
public List query(MenuQuery query, PageQuery page) { public List query(Map query, PageQuery page) {
Page<SysMenu> menuPage = this.page(page.build(), query.build()); String pid = MapUtil.getStr(query, "pid");
QueryWrapper<SysMenu> wrapper = new QueryWrapper<>();
if (StringUtils.isEmpty(pid)){
wrapper.isNull("pid");
}else {
wrapper.eq("pid",pid);
}
Page<SysMenu> menuPage = this.page(page.build(), wrapper);
List<MenuDto> collect = menuPage.getRecords().stream().map(menu -> this.doToDto(menu)).collect(Collectors.toList()); List<MenuDto> collect = menuPage.getRecords().stream().map(menu -> this.doToDto(menu)).collect(Collectors.toList());
return collect; return collect;
} }

View File

@@ -14,8 +14,8 @@
@keyup.enter.native="queryBlurry" @keyup.enter.native="queryBlurry"
/> />
<el-select <el-select
style="width: 100px; height: 35px;top: -5px;"
v-model="query.system_type" v-model="query.system_type"
style="width: 100px; height: 35px;top: -5px;"
placeholder="切换系统" placeholder="切换系统"
@change="changetype" @change="changetype"
> >
@@ -27,7 +27,7 @@
</el-select> </el-select>
<rrOperation /> <rrOperation />
</div> </div>
<crudOperation :permission="permission"/> <crudOperation :permission="permission" />
</div> </div>
<!--表单渲染--> <!--表单渲染-->
<el-dialog <el-dialog
@@ -142,7 +142,7 @@
:auto-load-root-options="false" :auto-load-root-options="false"
:data="crud.data" :data="crud.data"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
row-key="menu_id" row-key="menuId"
@select="crud.selectChange" @select="crud.selectChange"
@select-all="crud.selectAllChange" @select-all="crud.selectAllChange"
@@ -216,7 +216,7 @@ import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation' import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation' import udOperation from '@crud/UD.operation'
import DateRangePicker from '@/components/DateRangePicker' import DateRangePicker from '@/components/DateRangePicker'
import Dict from "../../../components/Dict/Dict"; import Dict from '../../../components/Dict/Dict'
// crud交由presenter持有 // crud交由presenter持有
const defaultForm = { const defaultForm = {
@@ -241,7 +241,7 @@ export default {
name: 'Menu', name: 'Menu',
components: { Treeselect, IconSelect, crudOperation, rrOperation, udOperation, DateRangePicker }, components: { Treeselect, IconSelect, crudOperation, rrOperation, udOperation, DateRangePicker },
cruds() { cruds() {
return CRUD({ title: '菜单', idField: 'menu_id', url: 'api/menus', crudMethod: { ...crudMenu }}) return CRUD({ title: '菜单', idField: 'menuId', url: 'api/sysMenu', crudMethod: { ...crudMenu }})
}, },
mixins: [presenter(), header(), form(defaultForm), crud()], mixins: [presenter(), header(), form(defaultForm), crud()],
dicts: ['system_type'], dicts: ['system_type'],
@@ -268,7 +268,7 @@ export default {
methods: { methods: {
normalizer(node) { normalizer(node) {
return { return {
id: node.menu_id, id: node.menuId,
label: node.title, label: node.title,
children: node.children children: node.children
} }
@@ -294,13 +294,13 @@ export default {
[CRUD.HOOK.afterToCU](crud, form) { [CRUD.HOOK.afterToCU](crud, form) {
console.log(this.dict) console.log(this.dict)
this.menus = [] this.menus = []
if (form.menu_id) { // 修改 if (form.menuId) { // 修改
if (!form.pid) { // 一级菜单一级的父级菜单的pid为0. if (!form.pid) { // 一级菜单一级的父级菜单的pid为0.
form.pid = 0 form.pid = 0
} }
this.getSupDepts(form.menu_id) this.getSupMenus(form.menuId)
} else { // 新增 } else { // 新增
this.menus.push({ menu_id: 0, title: '顶级类目', children: null }) this.menus.push({ menuId: 0, title: '顶级类目', children: null })
} }
}, },
[CRUD.HOOK.afterSubmit](crud, form) { [CRUD.HOOK.afterSubmit](crud, form) {
@@ -322,14 +322,14 @@ export default {
} }
}, },
getMenus(tree, treeNode, resolve) { getMenus(tree, treeNode, resolve) {
const params = { pid: tree.menu_id, system_type: tree.system_type } const params = { pid: tree.menuId, systemType: tree.systemType }
setTimeout(() => { setTimeout(() => {
crudMenu.getMenus(params).then(res => { crudMenu.getMenus(params).then(res => {
resolve(res.content) resolve(res.content)
}) })
}, 100) }, 100)
}, },
getSupDepts(menu_id) { getSupMenus(menu_id) {
crudMenu.getMenuSuperior(menu_id).then(res => { crudMenu.getMenuSuperior(menu_id).then(res => {
const children = res.map(function(obj) { const children = res.map(function(obj) {
if (!obj.leaf && !obj.children) { if (!obj.leaf && !obj.children) {
@@ -337,12 +337,12 @@ export default {
} }
return obj return obj
}) })
this.menus = [{ menu_id: 0, title: '顶级类目', children: children }] this.menus = [{ menuId: 0, title: '顶级类目', children: children }]
}) })
}, },
loadMenus({ action, parentNode, callback }) { loadMenus({ action, parentNode, callback }) {
if (action === LOAD_CHILDREN_OPTIONS) { if (action === LOAD_CHILDREN_OPTIONS) {
crudMenu.getMenusTree(parentNode.menu_id).then(res => { crudMenu.getMenusTree(parentNode.menuId).then(res => {
parentNode.children = res.map(function(obj) { parentNode.children = res.map(function(obj) {
if (!obj.leaf) { if (!obj.leaf) {
obj.children = null obj.children = null

View File

@@ -2,14 +2,14 @@ import request from '@/utils/request'
export function getMenusTree(pid) { export function getMenusTree(pid) {
return request({ return request({
url: 'api/menus/lazy?pid=' + pid, url: 'api/sysMenu/lazy?pid=' + pid,
method: 'get' method: 'get'
}) })
} }
export function getMenus(params) { export function getMenus(params) {
return request({ return request({
url: 'api/menus', url: 'api/sysMenu',
method: 'get', method: 'get',
params params
}) })
@@ -17,19 +17,18 @@ export function getMenus(params) {
export function getMenusByRole(params) { export function getMenusByRole(params) {
return request({ return request({
url: 'api/menus/getMenusByRole', url: 'api/sysMenu/getMenusByRole',
method: 'post', method: 'post',
data: params data: params
}) })
} }
export function getMenuSuperior(ids) { export function getMenuSuperior(ids) {
// const data = ids.length || ids.length === 0 ? ids : Array.of(ids)
const data = { const data = {
'ids': ids 'ids': ids
} }
return request({ return request({
url: 'api/menus/superior', url: 'api/sysMenu/superior',
method: 'post', method: 'post',
data data
}) })
@@ -37,21 +36,21 @@ export function getMenuSuperior(ids) {
export function getChild(id) { export function getChild(id) {
return request({ return request({
url: 'api/menus/child?id=' + id, url: 'api/sysMenu/child?id=' + id,
method: 'get' method: 'get'
}) })
} }
export function buildMenus(data) { export function buildMenus(data) {
return request({ return request({
url: 'api/menus/build?system_type=' + data, url: 'api/sysMenu/build?systemType=' + data,
method: 'get' method: 'get'
}) })
} }
export function add(data) { export function add(data) {
return request({ return request({
url: 'api/menus', url: 'api/sysMenu',
method: 'post', method: 'post',
data data
}) })
@@ -59,7 +58,7 @@ export function add(data) {
export function del(ids) { export function del(ids) {
return request({ return request({
url: 'api/menus', url: 'api/sysMenu',
method: 'delete', method: 'delete',
data: ids data: ids
}) })
@@ -67,7 +66,7 @@ export function del(ids) {
export function edit(data) { export function edit(data) {
return request({ return request({
url: 'api/menus', url: 'api/sysMenu',
method: 'put', method: 'put',
data data
}) })