|
|
@@ -2,37 +2,44 @@
|
|
|
@section('title')菜单@endsection
|
|
|
|
|
|
@section('content')
|
|
|
- <div class="container-fluid" id="container" @drop="drop($event)" @dragover="dragover($event, false)">
|
|
|
+ <div class="container-fluid d-none" id="container" @drop="drop($event)" @dragover="dragover($event, false)">
|
|
|
@include("maintenance.menu._modal")
|
|
|
<div class="card" id="content">
|
|
|
<div class="card-body">
|
|
|
@can("计量单位-录入")<button class="btn btn-outline-info mb-1 mr-3" @click="openModal()"><span class="fa fa-plus"></span> 新 增</button>@endcan
|
|
|
@can("计量单位-录入")<button class="btn border border-2 mb-1 mr-3" :class="isSaveSort ? 'btn-success' : 'text-secondary'" :disabled="!isSaveSort" @click="sort()"> 保 存 </button>@endcan
|
|
|
+ <div class="btn-group pull-right">
|
|
|
+ <button class="btn border btn-primary" @click="expand(true)">展开全部</button>
|
|
|
+ <button class="btn border btn-primary" @click="expand(false)">收起全部</button>
|
|
|
+ </div>
|
|
|
<div class="row text-nowrap">
|
|
|
<ul class="list-group col-9 offset-1" style="cursor: move;">
|
|
|
<li class="list-group-item" v-for="menu in menus" draggable="true" :id="'menu-'+menu.id"
|
|
|
:data-order="menu.sequence" :data-id="menu.id" :data-parent="menu.parent_id" :data-level="menu.level"
|
|
|
@drop="drop($event)" @dragover="dragover($event)" @dragstart.stop="dragstart(menu.id)">
|
|
|
+ <span class="fa fa-angle-right pull-left cursor-pointer font-weight-bold" @click="slide(menu.id,$event)"></span>
|
|
|
<i v-show="menu.font" :class="'fa '+menu.font" :style="menu.font_style"></i> @{{ menu.name }}
|
|
|
<span class="fa fa-close pull-right text-danger" style="cursor: pointer" @click="delMenu(menu.id)"></span>
|
|
|
<span class="fa fa-edit pull-right text-primary mr-2" style="cursor: pointer" @click="openModal(menu)"></span>
|
|
|
- <div class="row" v-if="menu.child.length>0">
|
|
|
+ <div class="row up" v-if="menu.child.length>0" :id="'slide-'+menu.id">
|
|
|
<ul class="list-group col-9 offset-1">
|
|
|
<li class="list-group-item" v-for="menu2 in menu.child" draggable="true" :id="'menu-'+menu2.id"
|
|
|
:data-order="menu2.sequence" :data-id="menu2.id" :data-parent="menu2.parent_id" :data-level="menu2.level"
|
|
|
@drop="drop($event)" @dragover="dragover($event,dragoverId!=menu.id)" @dragstart.stop="dragstart(menu2.id)">
|
|
|
+ <span class="fa fa-angle-right pull-left cursor-pointer font-weight-bold" @click="slide(menu2.id,$event)"></span>
|
|
|
@{{ menu2.name }}
|
|
|
<span class="fa fa-close pull-right text-danger" style="cursor: pointer" @click="delMenu(menu2.id)"></span>
|
|
|
<span class="fa fa-edit pull-right text-primary mr-2" style="cursor: pointer" @click="openModal(menu2)"></span>
|
|
|
- <div class="row" v-if="menu2.child.length>0">
|
|
|
+ <div class="row up" v-if="menu2.child.length>0" :id="'slide-'+menu2.id">
|
|
|
<ul class="list-group col-9 offset-1">
|
|
|
<li class="list-group-item" v-for="menu3 in menu2.child" draggable="true" :id="'menu-'+menu3.id"
|
|
|
:data-order="menu3.sequence" :data-id="menu3.id" :data-parent="menu3.parent_id" :data-level="menu3.level"
|
|
|
@drop="drop($event)" @dragover="dragover($event,dragoverId!=menu2.id && dragoverId!=menu.id)" @dragstart.stop="dragstart(menu3.id)">
|
|
|
+ <span class="fa fa-angle-right pull-left cursor-pointer font-weight-bold" @click="slide(menu3.id,$event)"></span>
|
|
|
@{{ menu3.name }}
|
|
|
<span class="fa fa-close pull-right text-danger" style="cursor: pointer" @click="delMenu(menu3.id)"></span>
|
|
|
<span class="fa fa-edit pull-right text-primary mr-2" style="cursor: pointer" @click="openModal(menu3)"></span>
|
|
|
- <div class="row" v-if="menu3.child.length>0">
|
|
|
+ <div class="row up" v-if="menu3.child.length>0" :id="'slide-'+menu3.id">
|
|
|
<ul class="list-group col-9 offset-1">
|
|
|
<li class="list-group-item" v-for="menu4 in menu3.child" draggable="true" :id="'menu-'+menu4.id"
|
|
|
:data-order="menu4.sequence" :data-id="menu4.id" :data-parent="menu4.parent_id" :data-level="menu4.level"
|
|
|
@@ -91,8 +98,21 @@
|
|
|
});
|
|
|
this.menus = menuMap;
|
|
|
this._formatSelected();
|
|
|
+ setTimeout(function(){
|
|
|
+ $(".up").slideUp();
|
|
|
+ $("#container").removeClass("d-none");
|
|
|
+ },0);
|
|
|
},
|
|
|
methods:{
|
|
|
+ expand(isExpand){
|
|
|
+ if (isExpand) $(".up").slideDown();
|
|
|
+ else $(".up").slideUp();
|
|
|
+ },
|
|
|
+ slide(id,e){
|
|
|
+ $("#slide-"+id).slideToggle();
|
|
|
+ if (e.target.className.indexOf('right')===-1)e.target.className = "fa fa-angle-right pull-left cursor-pointer font-weight-bold";
|
|
|
+ else e.target.className = "fa fa-angle-down pull-left cursor-pointer font-weight-bold";
|
|
|
+ },
|
|
|
delMenu(id){
|
|
|
window.tempTip.confirm("确认要删除此菜单及其子级吗?",()=>{
|
|
|
let url = "{{url('maintenance/menu/delete')}}";
|
|
|
@@ -119,7 +139,7 @@
|
|
|
this.filterIcons = arr;
|
|
|
},
|
|
|
selectedIcon(icon){
|
|
|
- this.menu.font = icon;
|
|
|
+ this.$set(this.menu,"font",icon);
|
|
|
},
|
|
|
_formatSelected(){
|
|
|
new Promise(()=>{
|