修改鼠标移动更改菜单宽度

master
夜笙歌 3 weeks ago
parent 22be9a39ba
commit 1396bf8b35

@ -14,7 +14,8 @@
.sidebar-container { .sidebar-container {
-webkit-transition: width .28s; -webkit-transition: width .28s;
transition: width 0.28s; transition: width 0.28s;
width: $base-sidebar-width !important; //width: $base-sidebar-width !important;
width: $base-sidebar-width ;
background-color: $base-menu-background; background-color: $base-menu-background;
height: 100%; height: 100%;
position: fixed; position: fixed;
@ -109,7 +110,7 @@
.hideSidebar { .hideSidebar {
.sidebar-container { .sidebar-container {
width: 54px !important; //width: 54px !important;
} }
.main-container { .main-container {
@ -169,7 +170,8 @@
.sidebar-container { .sidebar-container {
transition: transform .28s; transition: transform .28s;
width: $base-sidebar-width !important; width: $base-sidebar-width ;
//width: $base-sidebar-width !important;
} }
&.hideSidebar { &.hideSidebar {

@ -1,8 +1,10 @@
<template> <template>
<div :class="classObj" class="app-wrapper" :style="{'--current-color': theme}"> <div :class="classObj" class="app-wrapper" :style="{'--current-color': theme}">
<div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"/> <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"/>
<sidebar v-if="!sidebar.hide" class="sidebar-container"/> <sidebar v-if="!sidebar.hide" class="sidebar-container" :style="`width:${sidebarWidth}px`"/>
<div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container"> <div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container"
:style="`margin-left:${sidebarWidth}px`"
>
<div :class="{'fixed-header':fixedHeader}"> <div :class="{'fixed-header':fixedHeader}">
<navbar/> <navbar/>
<tags-view v-if="needTagsView"/> <tags-view v-if="needTagsView"/>
@ -12,6 +14,9 @@
<settings/> <settings/>
</right-panel> </right-panel>
</div> </div>
<div v-if="!sidebar.hide" class="layout-line" :style="`left:${sidebarWidth}px`" ref="layoutLine"
@mousedown="layoutLineMouseDown"
></div>
</div> </div>
</template> </template>
@ -24,6 +29,11 @@ import variables from '@/assets/styles/variables.scss'
export default { export default {
name: 'Layout', name: 'Layout',
data: () => {
return {
sidebarWidth: 54
}
},
components: { components: {
AppMain, AppMain,
Navbar, Navbar,
@ -33,6 +43,18 @@ export default {
TagsView TagsView
}, },
mixins: [ResizeMixin], mixins: [ResizeMixin],
watch: {
'sidebar.opened': {
handler: function() {
console.log(this.sidebar.opened)
if (this.sidebar.opened) {
this.sidebarWidth = 200
} else {
this.sidebarWidth = 54
}
}
}
},
computed: { computed: {
...mapState({ ...mapState({
theme: state => state.settings.theme, theme: state => state.settings.theme,
@ -51,61 +73,92 @@ export default {
} }
}, },
variables() { variables() {
return variables; return variables
} }
}, },
methods: { methods: {
handleClickOutside() { handleClickOutside() {
this.$store.dispatch('app/closeSideBar', { withoutAnimation: false }) this.$store.dispatch('app/closeSideBar', { withoutAnimation: false })
} },
setLineLeft(e) {
console.log(e)
let left = e.pageX
if (left < 54) {
left = 54
}
if (left > 1000) {
left = 1000
}
// if(left <100){
// this.needTagsView = true
// }
// if(left >210){
// this.needTagsView = false
// }
this.sidebarWidth = left
},
layoutLineMouseDown(e) {
window.addEventListener('mousemove', this.setLineLeft)
window.addEventListener('mouseup', ()=>{window.removeEventListener('mousemove', this.setLineLeft)})
},
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "~@/assets/styles/mixin.scss"; @import "~@/assets/styles/mixin.scss";
@import "~@/assets/styles/variables.scss"; @import "~@/assets/styles/variables.scss";
.app-wrapper { .layout-line {
@include clearfix; //transition: all .28s;
position: relative; position: absolute;
height: 100%; top: 0;
width: 100%; width: 3px;
height: 100%;
&.mobile.openSidebar { background-color: #00afff;
position: fixed; cursor: ew-resize;
top: 0; }
}
}
.drawer-bg { .app-wrapper {
background: #000; @include clearfix;
opacity: 0.3; position: relative;
width: 100%; height: 100%;
top: 0; width: 100%;
height: 100%;
position: absolute;
z-index: 999;
}
.fixed-header { &.mobile.openSidebar {
position: fixed; position: fixed;
top: 0; top: 0;
right: 0;
z-index: 9;
width: calc(100% - #{$base-sidebar-width});
transition: width 0.28s;
} }
}
.hideSidebar .fixed-header { .drawer-bg {
width: calc(100% - 54px); background: #000;
} opacity: 0.3;
width: 100%;
top: 0;
height: 100%;
position: absolute;
z-index: 999;
}
.sidebarHide .fixed-header { .fixed-header {
width: 100%; position: fixed;
} top: 0;
right: 0;
z-index: 9;
width: calc(100% - #{$base-sidebar-width});
transition: width 0.28s;
}
.mobile .fixed-header { .hideSidebar .fixed-header {
width: 100%; width: calc(100% - 54px);
} }
.sidebarHide .fixed-header {
width: 100%;
}
.mobile .fixed-header {
width: 100%;
}
</style> </style>

@ -203,9 +203,6 @@
size="mini" size="mini"
type="primary" type="primary"
@click="handleApplyRawOutstock(scope.row)" @click="handleApplyRawOutstock(scope.row)"
v-if="scope.row.processType === PROCESS_TYPE.AUTO && scope.row.planId!=null && scope.row.planId!==''
&& scope.row.planStatus !== PLAN_STATUS.FINISHED
&& form.orderStatus!==ORDER_STATUS.FINISHED && form.orderStatus!==ORDER_STATUS.RECALLED && form.orderStatus!==ORDER_STATUS.DELETED"
>投料 >投料
</el-button> </el-button>
@ -1408,14 +1405,14 @@ export default {
}, },
handleApplyRawOutstock(row) { handleApplyRawOutstock(row) {
if (row.processType === this.PROCESS_TYPE.AUTO) { // if (row.processType === this.PROCESS_TYPE.AUTO) {
this.applyRawOutstockOpen = true; this.applyRawOutstockOpen = true;
this.productPlanData.planCode = row.planCode; this.productPlanData.planCode = row.planCode;
this.productPlanData.planId = row.planId; this.productPlanData.planId = row.planId;
this.productPlanData.dispatchAmount = row.dispatchAmount; this.productPlanData.dispatchAmount = row.dispatchAmount;
this.productPlanData.saleOrderId = this.form.saleOrderId; this.productPlanData.saleOrderId = this.form.saleOrderId;
this.productPlanData.materialBomId = this.form.materialBomId; this.productPlanData.materialBomId = this.form.materialBomId;
} // }
}, },
closeRawOutstockDialog() { closeRawOutstockDialog() {

Loading…
Cancel
Save