|
|
|
@ -73,7 +73,11 @@ const handleDrop = ( |
|
|
|
dropType: NodeDropType, |
|
|
|
ev: DragEvents |
|
|
|
) => { |
|
|
|
|
|
|
|
console.log('树移动完毕后执行的操作====1========>',draggingNode) |
|
|
|
console.log('树移动完毕后执行的操作=====2=======>',dropNode) |
|
|
|
console.log('树移动完毕后执行的操作=====3=======>',dropType) |
|
|
|
console.log('树移动完毕后执行的操作=====4=======>',ev) |
|
|
|
return false; |
|
|
|
let sendCont = { |
|
|
|
id:props.appCont.uuid, |
|
|
|
menuTree:appMenuTree.value |
|
|
|
@ -118,8 +122,8 @@ const setAppMenusSvg = (val:any) =>{ |
|
|
|
svgIsShow.value = true; |
|
|
|
} |
|
|
|
watch(()=>svgName.value,(val:string)=>{ |
|
|
|
console.log("监听----svgName--->",val) |
|
|
|
console.log("监听----threeShiyanData--->",threeShiyanData) |
|
|
|
// console.log("监听----svgName--->",val) |
|
|
|
// console.log("监听----threeShiyanData--->",threeShiyanData) |
|
|
|
diguiData(treeList.value) |
|
|
|
}) |
|
|
|
|
|
|
|
@ -227,23 +231,37 @@ const createNewPage = (val?:string) => { |
|
|
|
creetMenuId.value = val.toString(); |
|
|
|
saveAppFormIsShow.value = true; |
|
|
|
} |
|
|
|
/** |
|
|
|
@ 作者: 秦东 |
|
|
|
@ 时间: 2024-05-17 14:22:12 |
|
|
|
@ 功能: 判断能否拖入此节点 |
|
|
|
*/ |
|
|
|
const allowDrop = (draggingNode: Node, dropNode: Node, type: AllowDropType) => { |
|
|
|
if (dropNode.data.type === 2) { |
|
|
|
return false |
|
|
|
} else { |
|
|
|
return true |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
<template> |
|
|
|
<CreateAppFormPage v-if="saveAppFormIsShow" v-model:is-show="saveAppFormIsShow" :drawer-with="props.drawerWith" :form-Key="props.formKey" :app-cont="props.appCont" :group-key="props.groupKey" :menu-id="creetMenuId" /> |
|
|
|
|
|
|
|
|
|
|
|
<el-tree |
|
|
|
:data="appMenuTree" |
|
|
|
draggable |
|
|
|
default-expand-all |
|
|
|
node-key="id" |
|
|
|
:allow-drop="allowDrop" |
|
|
|
:expand-on-click-node="false" |
|
|
|
@node-drop="handleDrop" |
|
|
|
@node-drag-start="startDrop" |
|
|
|
> |
|
|
|
<template #default="{ node, data }"> |
|
|
|
|
|
|
|
<div class="appMenuTitle"> |
|
|
|
<el-space wrap> |
|
|
|
<svg-icon prefix="icon" :icon-class="data.svg" @click="setAppMenusSvg(data)" /> |
|
|
|
<el-text>{{node.label}}</el-text> |
|
|
|
<el-text class="w-120px mb-2" truncated>{{node.label}}</el-text> |
|
|
|
</el-space> |
|
|
|
<el-dropdown> |
|
|
|
<svg-icon class="svgBox" prefix="icon" icon-class="set" /> |
|
|
|
@ -267,6 +285,7 @@ const createNewPage = (val?:string) => { |
|
|
|
<AppMenuSvgPage v-model:is-show="svgIsShow" v-model:svg-name="svgName" :svg-id="svgId" :icon-list="allIconNames" /> |
|
|
|
<AppMenuGroup v-model:is-show="menuGroupShow" :menu-parent-key="menuParentKey" :app-cont="props.appCont" @updateMenu="gainSunAppContent" /> |
|
|
|
<EditAppMenuNamePage v-model:is-show="editAppMenuNameShow" :menu-cont="appOenMenu" @updateMenu="gainSunAppContent" /> |
|
|
|
<CreateAppFormPage v-if="saveAppFormIsShow" v-model:is-show="saveAppFormIsShow" :drawer-with="props.drawerWith" :form-Key="props.formKey" :app-cont="props.appCont" :group-key="props.groupKey" :menu-id="creetMenuId" @gainSunAppContent="gainSunAppContent" /> |
|
|
|
</template> |
|
|
|
<style lang='scss' scoped> |
|
|
|
.appMenuTitle{ |
|
|
|
|