Commit 4c83ec3c authored by 张俊's avatar 张俊
parents 4422adb8 4deaf832
......@@ -663,7 +663,7 @@ a {
> .cell {
padding: 0 10px !important;
color: #404a62;
line-height: 14px;
line-height: 16px;
}
}
......
......@@ -126,7 +126,7 @@ export default {
} else {
this.getImg(true);
this.$message({
message: data.errMsg,
message: data.data,
type: "error",
});
}
......
......@@ -9,7 +9,7 @@
<div class="flex_row">
<div class="flex_left">
<div class="box">
<el-input class="type-input" v-model="typeKeyword" @input="searchType" :prefix-icon="Search" placeholder="请输入搜索内容"></el-input>
<el-input class="type-input" v-model.trim="typeKeyword" @input="searchType" :prefix-icon="Search" placeholder="请输入搜索内容"></el-input>
<div class="type_station bg-scroll">
<div class="type-box" :class="{'current-type':nodeClassifyId==item.classify_id}" @click="nodeClick(item)" v-for="(item,index) in typeList" :key="'type'+index+200">
......@@ -189,7 +189,7 @@ const state = reactive({
width: 220,
},
{
label: "状态",
label: "是否启用",
prop: "state",
},
{
......
......@@ -11,7 +11,7 @@
<div class="tree_content">
<div class="search">
<el-input
v-model="search"
v-model.trim="search"
placeholder="请输入内容"
:prefix-icon="Search"
/>
......@@ -90,6 +90,26 @@
</div>
</div>
</div>
<!-- 删除弹窗 -->
<el-dialog
custom-class="dialog_box"
title="提示"
v-model="delDialog"
width="400px"
:before-close="
() => {
delDialog = false;
}
"
>
<div>确定要删除此菜单吗?</div>
<template v-slot:footer>
<div class="apaas_button">
<el-button type="default" @click="delDialog = false">取 消</el-button>
<el-button type="primary" @click="deleteData">确 定</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
......@@ -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)
</script>
......
......@@ -40,7 +40,7 @@
/>
</el-form-item>
<el-form-item label="菜单路径" :prop="topLevel ? '' : 'menu_url'">
<el-input v-model="menuForm.menu_url" placeholder="请输入菜单路径" />
<el-input v-model="menuForm.menu_url" show-word-limit maxlength="200" placeholder="请输入菜单路径" />
</el-form-item>
<el-form-item label="菜单图标" prop="menu_logo">
<div class="iconBox" :style="iconFlag ? {'border-color':'#2b4695'} : {} " @click="openIconbox">
......@@ -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 {
......
......@@ -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([])
......
......@@ -17,7 +17,7 @@
class="role_form"
>
<el-form-item prop="role_name" label="角色名称">
<el-input v-model="formData.role_name" maxlength="50" show-word-limit />
<el-input v-model="formData.role_name" maxlength="50" show-word-limit :disabled="rowType != 0" />
</el-form-item>
<el-form-item prop="role_desc" label="描述">
<el-input
......@@ -27,11 +27,12 @@
maxlength="300"
show-word-limit
:autosize="{ minRows: 5 }"
:disabled="rowType != 0"
></el-input>
</el-form-item>
<el-form-item label="数据权限" prop="data_purview">
<el-radio-group v-model="formData.data_purview">
<el-radio-group v-model="formData.data_purview" :disabled="rowType != 0" >
<el-radio :label="3">全平台所有</el-radio>
<el-radio :label="2">本组织所有</el-radio>
<el-radio :label="1">仅自己</el-radio>
......@@ -54,6 +55,7 @@
inline-prompt
active-text="是"
inactive-text="否"
:disabled="rowType != 0"
/>
</el-form-item>
......@@ -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)
</script>
......
......@@ -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"
/>
</template>
<template v-slot:created_time="{ row }">
{{ row.created_time.split("+")[0].replace("T", " ").replace("Z", " ") }}
</template>
<template v-slot:action="{ row }">
<bg-table-btn class="can_click_text" :click="()=>{edit_row(row)}" :disabled="row.state == 1 || row.role_type == 1">
<bg-table-btn class="can_click_text" :click="()=>{edit_row(row)}">
编辑
</bg-table-btn>
<bg-table-btn class="can_click_text" :click="()=>{distribute_user(row)}" :disabled="row.cant_allot == 1">
......@@ -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);
}
}
}
}
}
}
......
......@@ -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",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment