From 8e656552b9b560c311d7f1e6d49523ed468689d7 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Fri, 7 Jul 2023 08:40:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9D=83=E9=99=90=E6=A0=91?= =?UTF-8?q?=E7=88=B6=E7=BA=A7=E8=8A=82=E7=82=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/index.vue | 17 ++ src/views/admin/sys-menu/index.vue | 3 +- src/views/admin/sys-role/index.vue | 54 +++- src/views/doctor/doctor-list/index.vue | 332 +++++++++++++++++++++++-- 4 files changed, 368 insertions(+), 38 deletions(-) diff --git a/src/layout/index.vue b/src/layout/index.vue index 80c89c6..54705a5 100644 --- a/src/layout/index.vue +++ b/src/layout/index.vue @@ -34,4 +34,21 @@ const onCollapse = () => { padding: 16px; background-color: #f2f3f5; } +.titlebox{ + display: flex; + align-items: center; + .bar{ + width:4px; + height:24px; + background-color: rgb(var(--primary-6)); + } + .name{ + margin-left: 8px; + font-size: 18px; + } +} +.titletip{ + margin-bottom: 15px; +} + \ No newline at end of file diff --git a/src/views/admin/sys-menu/index.vue b/src/views/admin/sys-menu/index.vue index 5b7a1ab..1b146a5 100644 --- a/src/views/admin/sys-menu/index.vue +++ b/src/views/admin/sys-menu/index.vue @@ -65,7 +65,7 @@ - + @@ -256,6 +256,7 @@ const modalTitle = ref('默认标题'); const handleAddMenu = (parent_id = null) => { modalVisible.value = true; modalTitle.value = '新增菜单'; + modalForm.menu_id=''; if (parent_id) modalForm.parent_id = parent_id; getSysMenuInfo(); }; diff --git a/src/views/admin/sys-role/index.vue b/src/views/admin/sys-role/index.vue index 607276a..d76a05f 100644 --- a/src/views/admin/sys-role/index.vue +++ b/src/views/admin/sys-role/index.vue @@ -107,6 +107,10 @@ :checkable="true" :check-strictly="false" :data="treeData" + ref="tree" + checked-strategy="child" + @check="checkTree" + :only-check-leaf="true" :default-expand-all="true" :field-names="{ key: 'menu_id', title: 'menu_title',icon: '_'}" /> @@ -192,13 +196,14 @@ // Batch Delete List const batchDeleteList = ref([]); + const allCheckKeys=ref([]); // Form const queryForm = reactive({}); const modalForm = reactive({ sort: 0, role_status: '', - is_admin: '' + is_admin: '', }); const scopeForm = reactive({}); @@ -306,7 +311,19 @@ page_size }); }; + const tree=ref(null); + const checkTree=(checkedKeys,data)=>{ + allCheckKeys.value=checkedKeys.concat(data.halfCheckedKeys); + console.log(checkedKeys); + console.log(data); + // if(data.checked){ + // console.log(data.node.parent_id) + // tree.value.selectNode(data.node.parent_id,true); + // } + // console.log(checkedKeys); + // console.log(data); + } // 重置查询 const handleResetQuery = () => { proxy.$refs.queryFormRef.resetFields(); @@ -328,21 +345,22 @@ const { code, data, message } = await roleDetail(record.role_id); if (code == 200) { Object.assign(modalForm, data); - checkedKeys.value = data.menu_ids; - // console.log(data.menu_ids) - // 显示勾选的菜单,checkedKeys 传入id数组即可 - + //过滤掉父级节点 + const res2 = data.menu_ids.filter(item1 => !allParentId.some(item2 => item2 === item1)) + checkedKeys.value = res2; + + } else { proxy.$notification.error(message); } //await nextTick(); //Object.assign(modalForm, record); - const menuIdsChecked = []; - data.menu_ids.forEach((item) => { - menuIdsChecked.push(item); - }); - checkedKeys.value = menuIdsChecked; + // const menuIdsChecked = []; + // data.menu_ids.forEach((item) => { + // menuIdsChecked.push(item); + // }); + // checkedKeys.value = menuIdsChecked; }; // 分配数据权限 @@ -396,7 +414,7 @@ // 如果 valid 为空则数据校验通过 if (!valid) { console.log(checkedKeys.value); - modalForm.menu_ids = checkedKeys.value; + modalForm.menu_ids = allCheckKeys.value; let res; if (modalForm.role_id) { const { @@ -480,13 +498,23 @@ proxy.$notification.error(message); } }; - + let allParentId=[]; + const getId=(arr)=>{ + arr.forEach((item)=>{ + if(item.children){ + allParentId.push(item.menu_id); + getId(item.children); + } + }); + }; // 获取角色菜单信息 const getRoleMenuTreeInfo = async () => { const res = await getRoleMenuTree(); treeData.value = res.data; - console.log(res.data) + getId(res.data); + console.log(allParentId); + }; diff --git a/src/views/doctor/doctor-list/index.vue b/src/views/doctor/doctor-list/index.vue index 0b05494..f2caa95 100644 --- a/src/views/doctor/doctor-list/index.vue +++ b/src/views/doctor/doctor-list/index.vue @@ -5,6 +5,38 @@ + + + + + + + + + + 专家问诊 + 快速问诊 + 公益问诊 + 问诊购药 + + + + + + 未认证 + 认证通过 + 审核中 + 认证失败 + + 搜索 @@ -50,13 +82,11 @@ - - +