diff --git a/src/views/pages/framework/extramenu/menu-treeview.vue b/src/views/pages/framework/extramenu/menu-treeview.vue
index 15dc4e0d5f0c9c672f98ea0ff9bd9b73a76f5af7..deec10683885087707b18c0180bf8da97390ce20 100644
--- a/src/views/pages/framework/extramenu/menu-treeview.vue
+++ b/src/views/pages/framework/extramenu/menu-treeview.vue
@@ -7,11 +7,10 @@
:list="childrenList"
:move="checkMove"
handle=".tsfont-drag"
- :forceFallback="false"
- :data-parentid="parentId"
+ group="tree"
+ :empty-insert-threshold="56"
@start="moveStart"
- @sort="moveEnd"
- @remove="moveRemove"
+ @end="moveEnd"
>
- - {{ $t('page.menu') }}
- - {{ $t('page.edit') }}
- - {{ $t('page.delete') }}
+ - {{ $t('page.menu') }}
+ - {{ $t('page.edit') }}
+ - {{ $t('page.delete') }}
@@ -83,22 +80,12 @@ export default {
required: true,
type: Array,
default: () => []
- },
- show: {
- type: Boolean,
- default: true
}
},
data() {
return {
- needUpdate: true,
currentParentId: null,
childrenList: [],
- isShow: true,
- childrenLoading: [],
- parentUuid: '',
- moveObject: null,
- moveParentUuid: '',
currentMenuId: null,
isEdit: false,
newParentId: null,
@@ -107,16 +94,7 @@ export default {
};
},
beforeCreate() {},
- created() {
- if (!this.search) {
- this.childrenList.forEach(item => {
- if (item.childCount > 0) {
- this.$set(item, 'isShow', false);
- this.$set(item, 'isRequest', false);
- }
- });
- }
- },
+ created() {},
beforeMount() {},
mounted() {},
beforeUpdate() {},
@@ -126,10 +104,6 @@ export default {
beforeDestroy() {},
destroyed() {},
methods: {
- moveRemove() {
- //如果是新菜单加入,不触发更新,避免重复保存
- this.needUpdate = false;
- },
editMenu(id) {
this.currentMenuId = id;
this.isEdit = true;
@@ -167,49 +141,23 @@ export default {
checkMove(evt, originalEvent) {
const source = evt.draggedContext.element;
const target = evt.relatedContext.element;
- const targetParentId = evt.to.dataset.parentid;
- if (source.type === 1 && target && target.type === 1 && source.parentId === target.parentId) {
- //链接选项调整顺序
- //console.log('链接选项调整顺序');
- return true;
- } else if (source.type === 1 && target && source.parentId !== target.parentId && target.parentId !== 0) {
+ if (source.type === 1 && target && source.parentId !== target.parentId && target.parentId !== 0) {
//链接调整归属
- //console.log('调整菜单归属');
this.newParentId = target.parentId;
- return true;
- } else if (source.type === 0 && target && source.parentId === target.parentId) {
- //目录调整顺序
- //console.log('链目录调整顺序');
- return true;
} else if (source.type === 0 && target && source.parentId !== target.parentId) {
//目录调整归属
this.newParentId = target.parentId;
- //console.log('目录调整归属');
- return true;
} else if (source.type === 1 && target && source.parentId !== target.parentId && target.childCount == 0) {
// 链接节点拖到目录下面(目录下为空的节点)
this.newParentId = target.id;
- return true;
} else if (source.type === 1 && target && target.type === 0 && source.parentId == target.parentId) {
// 链接节点拖到目录下面(目录下已存在节点)
- this.newParentId = target.parentId;
- return true;
+ this.newParentId = target.id;
} else if (source.type === 1 && target && source.parentId != target.parentId) {
// 链接拖到空白处,最顶层
this.newParentId = 0;
- return true;
- } else if (!target) {
- const parentNode = this.childrenList.find(d => d.id == targetParentId);
- if (parentNode && parentNode.type === 0) {
- // 只能拖到目录下面
- this.newParentId = parentNode.id;
- return true;
- } else {
- // 链接节点不允许有子节点
- return false;
- }
- }
- return false;
+ }
+ return true;
},
moveStart(e) {
this.currentId = e.item.attributes.id.value;
@@ -219,16 +167,12 @@ export default {
this.$emit('update', this.childrenList, this.parentId);
},
moveEnd(evt) {
- if (this.needUpdate) {
- if (this.currentNode && this.newParentId !== null) {
- this.$set(this.currentNode, 'parentId', this.newParentId);
- this.newParentId = null;
- this.currentNode = null;
- }
- this.update();
- } else {
- this.needUpdate = true;
+ if (this.currentNode && this.newParentId !== null) {
+ this.$set(this.currentNode, 'parentId', this.newParentId);
+ this.newParentId = null;
}
+ this.update();
+ this.currentNode = null;
},
isOpen(cd) {
this.$set(cd, '_isHidden', !cd._isHidden);
@@ -241,8 +185,7 @@ export default {
animation: 150,
scroll: true,
disabled: false,
- ghostClass: 'ghost',
- group: { name: 'tree', pull: true, put: true }
+ ghostClass: 'ghost'
};
}
},