组用户功能修订

This commit is contained in:
chenxing
2026-08-12 19:19:46 +08:00
parent 82f4c623af
commit 4077ef64d8
92 changed files with 16220 additions and 31 deletions
+16 -2
View File
@@ -8,7 +8,8 @@
<div class="tree-body">
<MyTree v-if="!treeLoading" ref="refMyTree" :autoClick="autoClick" :treeData="treeData"
:setting="treeSetting" @on-tree-click="treeLink" />
:setting="treeSetting" :isCheck="checkable" @on-tree-click="treeLink"
@on-tree-check="(node: any) => emit('on-tree-check', node)" />
</div>
</div>
</template>
@@ -39,17 +40,20 @@ const props = withDefaults(defineProps<{
showCloseButton?: boolean;
searchPlaceholder?: string;
cacheKey?: string;
checkable?: boolean;
}>(), {
autoClick: false,
defaultSearchVisible: true,
showCloseButton: false,
searchPlaceholder: '输入组名称搜索',
cacheKey: DEFAULT_CACHE_KEY,
checkable: false,
})
const emit = defineEmits<{
'on-change': [treeNode: any]
'on-tree-data': [tree: any[]]
'on-tree-check': [treeNode: any]
}>()
const curTreeNode = defineModel<any>('curTreeNode', { default: {} })
@@ -63,7 +67,7 @@ const searchVisible = ref(props.defaultSearchVisible)
const treeSetting = ref({
view: { dblClickExpand: false, showIcon: false },
edit: { enable: false, showRemoveBtn: false, showRenameBtn: false, drag: false },
check: { enable: false },
check: { enable: props.checkable, chkboxType: { Y: '', N: '' } },
callback: {},
})
@@ -207,6 +211,14 @@ function getNodeById(id: number) {
return refMyTree.value?.getNodeById(id);
}
function getCheckedNodes() {
return refMyTree.value?.getCheckedNodes() || [];
}
function checkNodeById(id: number, checked: boolean) {
refMyTree.value?.checkNodeById(id, checked);
}
function addNote(pid: number, id: number, name: string, isParent?: boolean, children?: any[]) {
refMyTree.value?.addNote(pid, id, name, isParent, children);
}
@@ -241,6 +253,8 @@ defineExpose({
removeNode,
renameNode,
getNodeById,
getCheckedNodes,
checkNodeById,
addNote,
openTree,
})
+6
View File
@@ -141,6 +141,12 @@ export default {
var node = treeObj.getNodesByFilter(node => node.id == id, true);
return node;
},
getCheckedNodes() {
const _domId = this.domId;
var treeObj = $.fn.zTree.getZTreeObj(_domId);
if (!treeObj) return [];
return treeObj.getCheckedNodes(true);
},
// 仅更新节点勾选状态,不级联、不触发 onCheck 回调
checkNodeById(id, checked) {
const _domId = this.domId;
+1 -1
View File
@@ -10,7 +10,7 @@
</Table>
<div class="page-panel">
<div class="fl ml-15 align-middle">
<div class="fl align-middle">
<slot :checkList="selectList" />
</div>