系统生成的菜单和按钮不允许删除

This commit is contained in:
hyt 2024-05-15 16:36:42 +08:00
parent 6eeb79261a
commit 06c988be91
4 changed files with 797 additions and 305 deletions

View File

@ -106,7 +106,7 @@ const permission = {
name: 'masterDataEdit', name: 'masterDataEdit',
hidden: true, hidden: true,
meta: { meta: {
title: '基本信息', title: '',
hidden: true hidden: true
} }
}, },
@ -116,7 +116,7 @@ const permission = {
name: 'dataOrigin', name: 'dataOrigin',
hidden: true, hidden: true,
meta: { meta: {
title: '数据源', title: '',
hidden: true hidden: true
} }
}, },
@ -126,7 +126,7 @@ const permission = {
name: 'displayInfo', name: 'displayInfo',
hidden: true, hidden: true,
meta: { meta: {
title: '显示信息', title: '',
hidden: true hidden: true
} }
@ -136,7 +136,7 @@ const permission = {
name: 'authorily', name: 'authorily',
component: () => import('@/views/masterDataOptions/authority'), component: () => import('@/views/masterDataOptions/authority'),
meta: { meta: {
title: '配置权限', title: '',
hidden: true hidden: true
} }
}, },
@ -145,7 +145,7 @@ const permission = {
name: 'distribute', name: 'distribute',
component: () => import('@/views/masterDataOptions/distribute'), component: () => import('@/views/masterDataOptions/distribute'),
meta: { meta: {
title: '分发设置', title: '',
hidden: true hidden: true
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -45,7 +45,7 @@
<script> <script>
import baseTable from '@/components/base/baseTable' import baseTable from '@/components/base/baseTable'
import baseLayout from "@/components/base/baseNewLayout" import baseLayout from '@/components/base/baseNewLayout'
import baseDialog from '@/components/base/BaseNewDialog/index.vue' import baseDialog from '@/components/base/BaseNewDialog/index.vue'
import baseTree from '@/components/base/BaseMenuTree/index.vue' import baseTree from '@/components/base/BaseMenuTree/index.vue'
import baseForm from '@/components/base/baseNewForm/index.vue' import baseForm from '@/components/base/baseNewForm/index.vue'
@ -106,7 +106,9 @@ export default {
pageSize: 20, pageSize: 20,
menuId: '', menuId: '',
pageNum: 1 pageNum: 1
} },
radioRow: {},//
clickTreeRow: {}//
} }
}, },
computed: { computed: {
@ -132,6 +134,7 @@ export default {
}, },
// //
handleNodeClick(data) { handleNodeClick(data) {
this.clickTreeRow = data
this.pageModel.menuId = data.id this.pageModel.menuId = data.id
this.pageModel.pageNum = 1 this.pageModel.pageNum = 1
this.RefreshTable() this.RefreshTable()
@ -155,6 +158,7 @@ export default {
radioChange(val) { radioChange(val) {
this.radioIndex = val.index this.radioIndex = val.index
this.radioID = val.id this.radioID = val.id
this.radioRow = val
}, },
async getTableData() { async getTableData() {
this.tabLoading = true this.tabLoading = true
@ -222,6 +226,10 @@ export default {
this.$vmNews('请选择一条数据') this.$vmNews('请选择一条数据')
return return
} }
if(this.clickTreeRow.formId){
this.$vmNews("系统自动生成的按钮无法删除")
return
}
this.$confirm('确定删除吗?', '提示', { this.$confirm('确定删除吗?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',

View File

@ -8,17 +8,20 @@
<div slot="main" flex style="height:100%"> <div slot="main" flex style="height:100%">
<div style="width: 100%;border-right:1px solid #dfe6ec;height:100%;overflow: auto;"> <div style="width: 100%;border-right:1px solid #dfe6ec;height:100%;overflow: auto;">
<base-tree ref="baseTree" :isCenter="false" :isSaveBtn="false" :Allshow="false" :expandAll="true" <base-tree ref="baseTree" :isCenter="false" :isSaveBtn="false" :Allshow="false" :expandAll="true"
:showCheckbox="false" :menuData="menuData" @handleNodeClick="formClick"> :showCheckbox="false" :menuData="menuData" @handleNodeClick="formClick"
>
</base-tree> </base-tree>
</div> </div>
</div> </div>
</base-layout> </base-layout>
<base-layout title="菜单树编辑区" :defaultButtonSwitch="false" :buttonList="buttonList" @onFuncBtn="getFuncBtn" <base-layout title="菜单树编辑区" :defaultButtonSwitch="false" :buttonList="buttonList" @onFuncBtn="getFuncBtn"
style="flex:1;"> style="flex:1;"
>
<div slot="main" style="padding:0 12px;height:300px"> <div slot="main" style="padding:0 12px;height:300px">
<base-form ref="customForm" :formRow="formRow" :isFunBtn="isFunBtn" @elDialogClick="elDialogClick" <base-form ref="customForm" :formRow="formRow" :isFunBtn="isFunBtn" @elDialogClick="elDialogClick"
:formdata="ruleForm" @onSubmit="getSubmit"> :formdata="ruleForm" @onSubmit="getSubmit"
>
</base-form> </base-form>
</div> </div>
</base-layout> </base-layout>
@ -29,15 +32,15 @@
<script> <script>
import router from '@/router' import router from '@/router'
import baseLayout from "@/components/base/baseNewLayout" import baseLayout from '@/components/base/baseNewLayout'
import baseForm from "@/components/base/baseNewForm/index.vue" import baseForm from '@/components/base/baseNewForm/index.vue'
import baseTree from "@/components/base/BaseMenuTree/index.vue" import baseTree from '@/components/base/BaseMenuTree/index.vue'
import baseTreeclick from "@/components/base/baseTreeClick/index.vue" import baseTreeclick from '@/components/base/baseTreeClick/index.vue'
import baseDialog from "@/components/base/BaseNewDialog" import baseDialog from '@/components/base/BaseNewDialog'
import baseOrganization from "@/components/base/baseOrganization" import baseOrganization from '@/components/base/baseOrganization'
import configData from "./configData"; import configData from './configData'
import { import {
GetOrganTree, GetOrganTree
} from '@/api/apis/organization' } from '@/api/apis/organization'
import { import {
GetMenuTree, GetMenuTree,
@ -46,6 +49,7 @@ import {
MenuDelData MenuDelData
} from '@/api/apis/menuManage' } from '@/api/apis/menuManage'
import { authApi } from '@/api/apis/auth' import { authApi } from '@/api/apis/auth'
export default { export default {
components: { components: {
baseLayout, baseLayout,
@ -75,7 +79,7 @@ export default {
menuName: '删除节点', menuName: '删除节点',
icon: 'el-icon-delete', icon: 'el-icon-delete',
type: 'danger' type: 'danger'
}, }
], ],
delId: '', delId: '',
menuData: [], menuData: [],
@ -83,6 +87,7 @@ export default {
rules: {}, rules: {},
formRow: configData.formRow, formRow: configData.formRow,
isFunBtn: true, isFunBtn: true,
clickTree: {}//
} }
}, },
@ -98,7 +103,7 @@ export default {
}, },
// //
async getMenuData() { async getMenuData() {
let res = await authApi('sysMenuConfigService','','queryEntityTree','',{}) let res = await authApi('sysMenuConfigService', '', 'queryEntityTree', '', {})
if (res.status == 200) { if (res.status == 200) {
let arr = res.attribute[0] let arr = res.attribute[0]
this.menuData = res.attribute this.menuData = res.attribute
@ -109,8 +114,8 @@ export default {
if (btnEven.menuName == '新增根节点') { if (btnEven.menuName == '新增根节点') {
let newRuleForm = { let newRuleForm = {
parentMenuName: "", parentMenuName: '',
parentMenuId: 0, parentMenuId: 0
} }
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.customForm.resetForm('ruleForm') this.$refs.customForm.resetForm('ruleForm')
@ -126,14 +131,17 @@ export default {
parentMenuName: this.ruleForm.menuName, parentMenuName: this.ruleForm.menuName,
parentMenuId: this.ruleForm.id parentMenuId: this.ruleForm.id
} }
console.log(newRuleForm,'newRuleForm') console.log(newRuleForm, 'newRuleForm')
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.customForm.resetForm('ruleForm') this.$refs.customForm.resetForm('ruleForm')
this.$refs.customForm.choiceAssignment(newRuleForm) this.$refs.customForm.choiceAssignment(newRuleForm)
}) })
} }
if (btnEven.menuName == '删除节点') { if (btnEven.menuName == '删除节点') {
if(this.clickTree.formId){
this.$vmNews("系统自动生成的菜单不允许删除")
return
}
this.$confirm('确认删除该菜单吗?', '提示', { this.$confirm('确认删除该菜单吗?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
@ -144,15 +152,15 @@ export default {
this.$message({ this.$message({
type: 'info', type: 'info',
message: '已取消删除' message: '已取消删除'
}); })
}); })
} }
}, },
async menuDel() { async menuDel() {
let params = { let params = {
id: this.delId id: this.delId
} }
let res = await authApi('sysMenuConfigService','','deleteEntity','',params) let res = await authApi('sysMenuConfigService', '', 'deleteEntity', '', params)
if (res.status == 200) { if (res.status == 200) {
this.$vmNews('删除成功', 'success') this.$vmNews('删除成功', 'success')
this.ruleForm = {} this.ruleForm = {}
@ -165,9 +173,9 @@ export default {
let params = { let params = {
id: id id: id
} }
let res = await authApi('sysMenuConfigService','','getEntity','',params) let res = await authApi('sysMenuConfigService', '', 'getEntity', '', params)
if (res.status == 200) { if (res.status == 200) {
console.log(res,'res') console.log(res, 'res')
this.ruleForm = res.attribute this.ruleForm = res.attribute
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.customForm.choiceAssignment(res.attribute) this.$refs.customForm.choiceAssignment(res.attribute)
@ -179,10 +187,10 @@ export default {
...data ...data
} }
let res let res
if(params.id){ if (params.id) {
res = await authApi("sysMenuConfigService","","updateEntity","",params) res = await authApi('sysMenuConfigService', '', 'updateEntity', '', params)
}else{ } else {
res = await authApi("sysMenuConfigService","","saveEntity","",params) res = await authApi('sysMenuConfigService', '', 'saveEntity', '', params)
} }
if (res.status == 200) { if (res.status == 200) {
this.$vmNews('保存成功', 'success') this.$vmNews('保存成功', 'success')
@ -204,7 +212,7 @@ export default {
this.$refs.baseOrganization.dialogVisible = true this.$refs.baseOrganization.dialogVisible = true
}, },
handleConfirmClick(val) { handleConfirmClick(val) {
console.log(val, "val"); console.log(val, 'val')
this.ruleForm.parentMenuName = val.label this.ruleForm.parentMenuName = val.label
this.ruleForm.parentMenuId = val.id this.ruleForm.parentMenuId = val.id
this.$refs.customForm.incomingParameters(this.ruleForm) this.$refs.customForm.incomingParameters(this.ruleForm)
@ -212,9 +220,10 @@ export default {
}, },
formClick(data) { formClick(data) {
this.delId = data.id this.delId = data.id
this.clickTree = data
this.getDetail(data.id) this.getDetail(data.id)
}, }
}, }
} }
</script> </script>