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

master
夜笙歌 2 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,13 +73,34 @@ 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>
@ -66,6 +109,16 @@ export default {
@import "~@/assets/styles/mixin.scss"; @import "~@/assets/styles/mixin.scss";
@import "~@/assets/styles/variables.scss"; @import "~@/assets/styles/variables.scss";
.layout-line {
//transition: all .28s;
position: absolute;
top: 0;
width: 3px;
height: 100%;
background-color: #00afff;
cursor: ew-resize;
}
.app-wrapper { .app-wrapper {
@include clearfix; @include clearfix;
position: relative; position: relative;

@ -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