-
+
@@ -127,6 +147,7 @@ const state = reactive({
addType: 1, // 1-新增本级 2-新增下级
newMenuId: 0, // 新增菜单时用来指定menu_id,达到选中效果
timer: null, // 定时器
+ delDialog: false,
})
const moveIndex = computed({
@@ -150,7 +171,7 @@ watch(() => state.search,(n,o) => {
}, 500);
}) // 树形搜索值
-const getMenuTree = (type) => {
+const getMenuTree = (type,id) => {
axios
.get(`/apaas/system/v5/menu/tree`)
.then((res) => {
@@ -165,7 +186,10 @@ const getMenuTree = (type) => {
state.menuTree && state.menuTree.setCurrentKey(state.data[0].menu_id);
handleNodeClick(state.data[0]);
}
- }else { // 新建,上下移,初始化时默认选中节点
+ }else { // 上下移,初始化时默认选中节点 新建选中新增的节点
+ if (id) {
+ findData(state.data,id)
+ }
if (state.selectData) {
state.menuTree && state.menuTree.setCurrentKey(state.selectData.menu_id);
handleNodeClick(state.selectData);
@@ -182,6 +206,18 @@ const getMenuTree = (type) => {
})
} // 获取菜单树
+const findData = (arr,id) => {
+ arr.forEach(e => {
+ if (e.menu_id == id) {
+ state.selectData = e
+ }else {
+ if (e.Child && e.Child.length > 0) {
+ findData(e.Child,id)
+ }
+ }
+ })
+} // 处理数据 用于新增菜单后选中新增的菜单
+
const findIndex= (code,arr) => {
arr.forEach((e,i) => {
if (e.menu_id == code) {
@@ -274,7 +310,7 @@ const fileAction = (val,data,parent,disabled=false) => {
}
state.menuTree.insertAfter(newChild,parent? parent.Child[parent.Child.length-1] : state.data[state.data.length -1])
state.menuTree && state.menuTree.setCurrentKey(newChild.menu_id);
- handleNodeClick(newChild);
+ handleNodeClick(newChild);
state.newMenuId++
}else if (val == 2) { // 新建下级菜单
if (disabled) {
@@ -294,22 +330,16 @@ const fileAction = (val,data,parent,disabled=false) => {
}
state.menuTree.append(newChild,data)
state.menuTree && state.menuTree.setCurrentKey(newChild.menu_id);
- handleNodeClick(newChild);
+ handleNodeClick(newChild);
state.selectParentData = data
state.newMenuId++
}else if (val == 3) { // 删除菜单
- axios
- .delete(`/apaas/system/v5/menu/${data.id}`)
- .then((res) => {
- if (res.data.code == 200) {
- ElMessage.success(res.data.msg)
- state.selectData = null
- let type = parent ? 1 : 2 // 1--有父级 2--无父级
- getMenuTree(type)
- }else {
- ElMessage.error(res.data.data)
- }
- })
+ if (data.state == 1) {
+ ElMessage.error("删除内容中有启用状态的数据,不可删除!")
+ return
+ }
+ state.delDialog = true
+
}else if (val == 4) { // 菜单上移
if (disabled) {
return
@@ -360,6 +390,22 @@ const fileAction = (val,data,parent,disabled=false) => {
} // 清除表单验证
} // 各种操作按钮
+const deleteData = () => {
+ axios
+ .delete(`/apaas/system/v5/menu/${state.selectData.id}`)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage.success(res.data.msg)
+ state.selectData = null
+ let type = state.selectParentData ? 1 : 2 // 1--有父级 2--无父级
+ getMenuTree(type)
+ state.delDialog = false
+ }else {
+ ElMessage.error(res.data.data)
+ }
+ })
+}
+
const changeSort = (data,nextObj) => {
let params = [
{
@@ -427,7 +473,7 @@ const saveMenu = (el,type) => {
if (res.data.code == 200) {
ElMessage.success(res.data.msg)
state.selectData = null
- getMenuTree()
+ getMenuTree(null,res.data.data)
}else {
ElMessage.error(res.data.data)
}
@@ -457,6 +503,7 @@ const {
selectData,
menuFormData,
addType,
+ delDialog,
} = toRefs(state)
diff --git a/src/page/main/develop/menu/menu-form.vue b/src/page/main/develop/menu/menu-form.vue
index 05bc4abb2bed09c8ca530ea18ca615e40b804270..707e828a3b4ee4261117dbd571372148139108fb 100644
--- a/src/page/main/develop/menu/menu-form.vue
+++ b/src/page/main/develop/menu/menu-form.vue
@@ -40,7 +40,7 @@
/>
-
+
@@ -182,7 +182,6 @@ const searchIcon = () => {
} // 图标筛选
const setForm = (data) => {
- console.log(data)
if (data.level && data.level == 1) {
state.topLevel = true
}else {
@@ -194,7 +193,6 @@ const setForm = (data) => {
}
}
state.typeDisFlag = data.p_menu_type
- console.log(state.groupFlag)
if (data.id) { // 编辑状态
state.radioDisabled = true
}else {
diff --git a/src/page/main/system/organization/tree.vue b/src/page/main/system/organization/tree.vue
index da865a154d69fccac99c766534f7d266bd6c9098..5987287ed3e719fb13788361c3c7088a07914e66 100644
--- a/src/page/main/system/organization/tree.vue
+++ b/src/page/main/system/organization/tree.vue
@@ -74,7 +74,7 @@ import { useRouter } from 'vue-router';
const actionFlag = ref(false)
const selectData = ref(null)
const selectDataParent = ref(null)
- const mvDataParent = ref(null)
+ const mvDataParent = ref([])
const treeRef = ref(null)
const orgData = ref([])
diff --git a/src/page/main/system/role/add/role_form.vue b/src/page/main/system/role/add/role_form.vue
index d30f79042551aa042b938d04647ec89b4e231a0a..71bf4c839e724d2d076c9072617faaa2696d7ea3 100644
--- a/src/page/main/system/role/add/role_form.vue
+++ b/src/page/main/system/role/add/role_form.vue
@@ -17,7 +17,7 @@
class="role_form"
>
-
+
-
+
全平台所有
本组织所有
仅自己
@@ -54,6 +55,7 @@
inline-prompt
active-text="是"
inactive-text="否"
+ :disabled="rowType != 0"
/>
@@ -117,6 +119,7 @@ const roleState = reactive({
children: 'Child',
}, // 菜单框默认配置
permissionData: [], // 菜单数据
+ rowType: 0,
})
const getMenuTree = () => {
axios
@@ -140,6 +143,7 @@ const getRoleDetail = () => {
.then((res) => {
if (res.data.code == 200) {
let { role_name, role_desc, data_purview, state, menus } = res.data.data
+ roleState.rowType = res.data.data.role_type
let permission_arr = []
if (menus && menus.length > 0) {
menus.forEach(e => {
@@ -214,6 +218,7 @@ const {
rules,
defaultProps,
permissionData,
+ rowType,
} = toRefs(roleState)
diff --git a/src/page/main/system/role/index.vue b/src/page/main/system/role/index.vue
index 1f23d5d508af11deac2d5593c00a3e99f6e4bb81..8d5cfc6c7d026037bb0c24b2dcebd87f155396f0 100644
--- a/src/page/main/system/role/index.vue
+++ b/src/page/main/system/role/index.vue
@@ -49,14 +49,14 @@
:labels="['否','是']"
:values="[0,1]"
v-model="row.state"
- :disabled="row.role_type == 1"
+ :disabled="row.role_type == 1 || row.role_type == 2"
/>
{{ row.created_time.split("+")[0].replace("T", " ").replace("Z", " ") }}
-
+
编辑
@@ -621,6 +621,17 @@ const {
height: calc(100% - 68px);
.user_table {
max-height: calc(100% - 48px);
+ :deep().bg-table {
+ .el-scrollbar {
+ --el-scrollbar-bg-color: #fff
+ }
+ .el-table__empty-block {
+
+ .empty_container {
+ height: calc(100% - 45px);
+ }
+ }
+ }
}
}
}
diff --git a/src/router/function.js b/src/router/function.js
index 687611d1b7ede18d31cc264454bdb168fba8fa3f..fa4ad69e4ee55bcbeb38345129f5415ddcfcbbee 100644
--- a/src/router/function.js
+++ b/src/router/function.js
@@ -40,12 +40,6 @@ var adminMenu = [
dict_group_id: "64c156e0-bfff-4bfc-a63a-56effe130a25",
menuType: 2,
},
- {
- menuName: "ui服务测试",
- path: "/ui-example",
- dict_group_id: "64c156e0-bfff-4bfc-a63a-56effe130a25",
- menuType: 2,
- },
{
menuName: "注册认证",
path: "/register-valid",
@@ -99,6 +93,14 @@ var adminMenu = [
path: "/ability-manage/sold-list/service-test",
dict_group_id: "64c156e0-bfff-4bfc-a63a-56effe130a25",
menuType: 2,
+ children: [
+ {
+ menuName: "ui服务测试",
+ path: "/ui-example",
+ dict_group_id: "64c156e0-bfff-4bfc-a63a-56effe130a25",
+ menuType: 2,
+ },
+ ]
},
],
dict_group_id: "64c156e0-bfff-4bfc-a63a-56effe130a25",