|
@@ -36,9 +36,9 @@
|
|
|
:pattern="pattern"
|
|
:pattern="pattern"
|
|
|
:data="treeData"
|
|
:data="treeData"
|
|
|
nodeKey="key"
|
|
nodeKey="key"
|
|
|
- show-checkbox
|
|
|
|
|
|
|
+ highlight-current
|
|
|
check-strictly
|
|
check-strictly
|
|
|
- @check="selectedTree"
|
|
|
|
|
|
|
+ @current-change="selectedTree"
|
|
|
@update:expanded-keys="onExpandedKeys"
|
|
@update:expanded-keys="onExpandedKeys"
|
|
|
/>
|
|
/>
|
|
|
</el-scrollbar>
|
|
</el-scrollbar>
|
|
@@ -49,19 +49,22 @@
|
|
|
<el-col :span="18">
|
|
<el-col :span="18">
|
|
|
<el-card shadow="hover">
|
|
<el-card shadow="hover">
|
|
|
<template #header>
|
|
<template #header>
|
|
|
- <el-space>
|
|
|
|
|
- <span>编辑{{ getTypeMsg }}{{ treeItemTitle ? `:${treeItemTitle}` : '' }}</span>
|
|
|
|
|
- <el-divider direction="vertical" />
|
|
|
|
|
- <p depth="3" class="text-sm"> 从左侧列表选择一项后,进行编辑 </p>
|
|
|
|
|
- </el-space>
|
|
|
|
|
- </template>
|
|
|
|
|
- <template #header-extra>
|
|
|
|
|
- <el-popconfirm @positive-click="handleDeleteMenu" v-if="isEditMenu">
|
|
|
|
|
- <template #trigger>
|
|
|
|
|
- <el-button quaternary type="info">删除{{ getTypeMsg }}</el-button>
|
|
|
|
|
- </template>
|
|
|
|
|
- 确定要删除 {{ treeItemTitle }} {{ getTypeMsg }}吗?
|
|
|
|
|
- </el-popconfirm>
|
|
|
|
|
|
|
+ <div class="flex justify-between">
|
|
|
|
|
+ <el-space>
|
|
|
|
|
+ <span>编辑{{ getTypeMsg }}{{ treeItemTitle ? `:${treeItemTitle}` : '' }}</span>
|
|
|
|
|
+ <el-divider direction="vertical" />
|
|
|
|
|
+ <p depth="3" class="text-sm"> 从左侧列表选择一项后,进行编辑 </p>
|
|
|
|
|
+ </el-space>
|
|
|
|
|
+ <el-popconfirm
|
|
|
|
|
+ @confirm="handleDeleteMenu"
|
|
|
|
|
+ v-if="isEditMenu"
|
|
|
|
|
+ :title="`确定要删除 ${treeItemTitle} ${getTypeMsg}吗?`"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template #reference>
|
|
|
|
|
+ <el-button type="danger" size="small">删除{{ getTypeMsg }}</el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-popconfirm>
|
|
|
|
|
+ </div>
|
|
|
</template>
|
|
</template>
|
|
|
<!-- 表单 -->
|
|
<!-- 表单 -->
|
|
|
<div v-loading="loadingR" class="pt-6">
|
|
<div v-loading="loadingR" class="pt-6">
|
|
@@ -98,8 +101,6 @@
|
|
|
const treeRef = ref();
|
|
const treeRef = ref();
|
|
|
const message = ElMessage;
|
|
const message = ElMessage;
|
|
|
|
|
|
|
|
- let treeItemKey = ref([]);
|
|
|
|
|
-
|
|
|
|
|
let expandedKeys = ref([]);
|
|
let expandedKeys = ref([]);
|
|
|
|
|
|
|
|
const treeData = ref([]);
|
|
const treeData = ref([]);
|
|
@@ -159,12 +160,10 @@
|
|
|
openDrawer();
|
|
openDrawer();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- async function selectedTree(checkedNodes, checkedInfo) {
|
|
|
|
|
- const currentKey = checkedNodes.key;
|
|
|
|
|
- const keys = checkedInfo.checkedKeys;
|
|
|
|
|
- if (keys.length) {
|
|
|
|
|
|
|
+ async function selectedTree(checkedInfo) {
|
|
|
|
|
+ const currentKey = checkedInfo.key;
|
|
|
|
|
+ if (currentKey) {
|
|
|
const treeItem = getTreeItem(unref(treeData), currentKey);
|
|
const treeItem = getTreeItem(unref(treeData), currentKey);
|
|
|
- treeItemKey.value = keys;
|
|
|
|
|
treeItemTitle.value = treeItem.label;
|
|
treeItemTitle.value = treeItem.label;
|
|
|
loadingR.value = true;
|
|
loadingR.value = true;
|
|
|
const info = await menuInfo({ permissionId: currentKey });
|
|
const info = await menuInfo({ permissionId: currentKey });
|
|
@@ -198,11 +197,6 @@
|
|
|
isEditMenu.value = true;
|
|
isEditMenu.value = true;
|
|
|
loadingR.value = false;
|
|
loadingR.value = false;
|
|
|
treeRef.value.setCheckedKeys([currentKey]);
|
|
treeRef.value.setCheckedKeys([currentKey]);
|
|
|
- } else {
|
|
|
|
|
- isEditMenu.value = false;
|
|
|
|
|
- treeItemKey.value = [];
|
|
|
|
|
- treeItemTitle.value = '';
|
|
|
|
|
- treeRef.value.setCheckedKeys([]);
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|