From f830f98ca5a0b26d83ac07eda4c58ca302538d2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E4=BC=9F=E5=BA=9A?= Date: Fri, 28 Oct 2022 10:34:16 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E8=8F=9C=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E4=BC=98=E5=8C=96=EF=BC=8C=E8=A7=92=E8=89=B2=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=96=B0=E5=A2=9E=E7=BC=96=E8=BE=91=E8=A7=92=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/css/index.css | 16 +- src/bg-ui/bg-table-btns.vue | 1 + src/bg-ui/index.scss | 4 + src/components/error-table.vue | 4 +- src/components/input-object-table.vue | 4 +- src/page/main/config/dict/index.vue | 3 +- src/page/main/develop/account/index.vue | 10 +- src/page/main/develop/menu/index.vue | 15 +- src/page/main/develop/menu/menu-form.vue | 25 ++- src/page/main/system/organization/index.vue | 8 +- src/page/main/system/role/add/role_form.vue | 39 ++-- src/page/main/system/role/index.vue | 208 ++++++++++++++++++-- 12 files changed, 286 insertions(+), 51 deletions(-) diff --git a/src/assets/css/index.css b/src/assets/css/index.css index 57b282d..359d9f9 100644 --- a/src/assets/css/index.css +++ b/src/assets/css/index.css @@ -243,6 +243,7 @@ div { .el-dialog__header { border-bottom: 1px solid #edf0ff; padding: 16px; + margin-right: 0; } .el-dialog__title { @@ -1518,10 +1519,6 @@ border-radius:8px; color: #404a62; padding-left: 20px; } -.name_btn { - color: #3759be; - cursor: pointer; -} .fr { float: right; } @@ -1539,4 +1536,15 @@ border-radius:8px; vertical-align: baseline; cursor: pointer; } +/* 可点击文字颜色、指针样式 */ +.can_click_text { + cursor: pointer; + color: #3759be; +} +.can_click_text:hover { + color: #738bd2; +} +.can_click_text:active { + color: #2c4798; +} diff --git a/src/bg-ui/bg-table-btns.vue b/src/bg-ui/bg-table-btns.vue index 53e6fe1..f2adb80 100644 --- a/src/bg-ui/bg-table-btns.vue +++ b/src/bg-ui/bg-table-btns.vue @@ -1,6 +1,7 @@ diff --git a/src/page/main/config/dict/index.vue b/src/page/main/config/dict/index.vue index ecbea23..d02af73 100644 --- a/src/page/main/config/dict/index.vue +++ b/src/page/main/config/dict/index.vue @@ -9,7 +9,7 @@
- +
@@ -164,6 +164,7 @@ import { reactive, ref,onBeforeMount,toRefs,computed, watch, nextTick } from 'vu import { useRouter } from 'vue-router'; import { ElMessage } from 'element-plus' import axios from '../../../../request/http.js' +import { Search } from '@element-plus/icons-vue' const bgForm = ref(null) const state = reactive({ bgForm, diff --git a/src/page/main/develop/account/index.vue b/src/page/main/develop/account/index.vue index 210af30..89184e2 100644 --- a/src/page/main/develop/account/index.vue +++ b/src/page/main/develop/account/index.vue @@ -50,14 +50,14 @@ 重置密码 已选择{{selected.length}} - 清空 + 清空
@@ -65,13 +65,13 @@ diff --git a/src/page/main/develop/menu/index.vue b/src/page/main/develop/menu/index.vue index 1c25470..2c3d232 100644 --- a/src/page/main/develop/menu/index.vue +++ b/src/page/main/develop/menu/index.vue @@ -55,7 +55,7 @@
新建本级
-
+
新建下级
@@ -217,6 +217,15 @@ const handleNodeClick = (data) => { state.selectData = data menuFormRef.value.setForm(state.selectData) closeAction() + if (menuFormRef) { + nextTick().then(() => { + menuFormRef.value.menuRef.validate(valid => { + if (!valid) { + menuFormRef.value.menuRef.clearValidate() + } + }) + }) + } // 清除表单验证 } // 菜单树节点点击 const filterNode = (val,data) => { @@ -237,6 +246,7 @@ const fileAction = (val,data,parent,disabled=false) => { state: 1, menu_url: "", menu_logo: "", + level: data.level } 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); @@ -250,11 +260,12 @@ const fileAction = (val,data,parent,disabled=false) => { let newChild = { menu_name: "新菜单", menu_id: 'new' + state.newMenuId, - menu_type: 0, + menu_type: data.menu_type == 0 ? 0 : data.menu_type == 1 ? 1 : 2, dict_group_id: "", state: 1, menu_url: "", menu_logo: "", + p_menu_type: data.menu_type } state.menuTree.append(newChild,data) state.menuTree && state.menuTree.setCurrentKey(newChild.menu_id); diff --git a/src/page/main/develop/menu/menu-form.vue b/src/page/main/develop/menu/menu-form.vue index 8bf536f..b05a821 100644 --- a/src/page/main/develop/menu/menu-form.vue +++ b/src/page/main/develop/menu/menu-form.vue @@ -11,14 +11,14 @@ - + - 目录 - 菜单 + 目录 + 菜单 子页面 - + - + - +
@@ -129,7 +129,7 @@ const state = reactive({ { required: true, message: '请选择菜单分组', trigger: 'change' }, ], menu_url: [ - { required: true, message: '请输入菜单路径', trigger: 'blur' }, + { required: true, message: '请输入菜单路径', trigger: 'blur' }, ] }, groupList: [], @@ -139,6 +139,8 @@ const state = reactive({ showIconArr: [], // 展示的图标 timer: null, radioDisabled: false, + topLevel: false, + typeDisFlag: null, }) const getGroupList = () => { @@ -180,6 +182,13 @@ const searchIcon = () => { const setForm = (data) => { console.log(data) + if (data.level && data.level == 1) { + state.topLevel = true + }else { + state.topLevel = false + } + state.typeDisFlag = data.p_menu_type + console.log(state.topLevel) if (data.id) { // 编辑状态 state.radioDisabled = true }else { @@ -217,6 +226,8 @@ const { showIconArr, icon_search, radioDisabled, + topLevel, + typeDisFlag, } = toRefs(state) defineExpose({ setForm , menuForm, menuRef }) diff --git a/src/page/main/system/organization/index.vue b/src/page/main/system/organization/index.vue index 2c2499f..54ae57f 100644 --- a/src/page/main/system/organization/index.vue +++ b/src/page/main/system/organization/index.vue @@ -36,18 +36,18 @@
diff --git a/src/page/main/system/role/add/role_form.vue b/src/page/main/system/role/add/role_form.vue index c8121e1..f355f43 100644 --- a/src/page/main/system/role/add/role_form.vue +++ b/src/page/main/system/role/add/role_form.vue @@ -5,7 +5,7 @@ 系统管理 角色管理 - 新建 + {{route.query.id ? "编辑" : "新建"}}
@@ -95,7 +95,7 @@ const roleState = reactive({ data_purview: 3, state: 1, permission_arr: [], - }, + }, // 表单项 rules: { role_name: [ { required: true, message: "请输入角色名称", trigger: "blur" }, @@ -112,13 +112,13 @@ const roleState = reactive({ permission_arr: [ { required: true, type: "array", validator: checkMenuLength, trigger: "change" } ] - }, + }, // 表单校验规则 defaultProps: { name: 'menu_name', value: 'id', children: 'Child', - }, - permissionData: [], + }, // 菜单框默认配置 + permissionData: [], // 菜单数据 }) const getMenuTree = () => { axios @@ -130,22 +130,37 @@ const getMenuTree = () => { ElMessage.error(res.data.data) } }) -} +} // 获取菜单数据 const changeMenu = (val) => { roleState.formData.permission_arr = val -} +} // 修改选中的菜单 + const getRoleDetail = () => { axios .get(`/apaas/system/v5/role/detail/${route.query.id}`) .then((res) => { if (res.data.code == 200) { - console.log(res.data.data) + let { role_name, role_desc, data_purview, state, menus } = res.data.data + let permission_arr = [] + if (menus && menus.length > 0) { + menus.forEach(e => { + permission_arr.push(e.id) + }) + } + roleState.formData = { + role_name, + role_desc, + data_purview, + state, + permission_arr:[...permission_arr] + } + console.log(roleState.formData.permission_arr) }else { ElMessage.error(res.data.data) } }) -} +} // 获取角色详情 const saveRole = () => { roleState.form.validate(valid => { @@ -169,7 +184,7 @@ const saveRole = () => { } }) }else { // 编辑 - params.id = route.query.id + params.id = +route.query.id axios .post(`/apaas/system/v5/role/update`,params) .then((res) => { @@ -183,10 +198,12 @@ const saveRole = () => { } } }) -} +} // 新增或编辑角色的保存 + onBeforeMount(() => { getMenuTree() if (route.query.id) { + // 有id表示是编辑,请求详情,回显 getRoleDetail() } }) diff --git a/src/page/main/system/role/index.vue b/src/page/main/system/role/index.vue index 2b510b8..7b14e8b 100644 --- a/src/page/main/system/role/index.vue +++ b/src/page/main/system/role/index.vue @@ -22,20 +22,26 @@ 批量删除 +
+ 已选择 + {{selection.length}} + + 清空 +
+ \ No newline at end of file -- 2.26.0