diff --git a/src/common/js/util.js b/src/common/js/util.js index 1182b683..64947143 100644 --- a/src/common/js/util.js +++ b/src/common/js/util.js @@ -13,15 +13,27 @@ function padding(s, len) { export default { - getPositionTop(node) { + + calcTableMaxHeight(cssSelector) { + var table=document.querySelector(cssSelector); + var top=this.getPositionTop(table) + var defaultInnerHeight=913; + var innerHeight=window.innerHeight + if(top==0){ + top=100/defaultInnerHeight*innerHeight + } + var maxTableHeight = innerHeight - top-80/defaultInnerHeight*innerHeight; + return maxTableHeight; + }, + getPositionTop(node) { + if(!node){ - return 150; - } - var top = node.offsetTop; - var parent = node.offsetParent; - while(parent != null) { - top += parent.offsetTop; - parent = parent.offsetParent; + return 0; + } + var rect=node.getBoundingClientRect() + var top=rect.top; + if(top==0){ + return 0; } return top; }, diff --git a/src/views/xm/core/xmEnvList/XmEnvListMng.vue b/src/views/xm/core/xmEnvList/XmEnvListMng.vue index d7521f15..f37f7fa0 100644 --- a/src/views/xm/core/xmEnvList/XmEnvListMng.vue +++ b/src/views/xm/core/xmEnvList/XmEnvListMng.vue @@ -256,10 +256,8 @@ //在下面添加其它组件 }, mounted() { - this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); - var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + this.$nextTick(() => { + this.tableHeight = util.calcTableMaxHeight('el-table'); this.getXmEnvLists(); }); } diff --git a/src/views/xm/core/xmFile/XmFileMng.vue b/src/views/xm/core/xmFile/XmFileMng.vue index 64183c0c..d35ff368 100644 --- a/src/views/xm/core/xmFile/XmFileMng.vue +++ b/src/views/xm/core/xmFile/XmFileMng.vue @@ -272,9 +272,9 @@ }, mounted() { this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); - var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + + + this.tableHeight = util.calcTableMaxHeight('el-table'); this.getXmFiles(); }); } diff --git a/src/views/xm/core/xmIteration/XmIterationMng.vue b/src/views/xm/core/xmIteration/XmIterationMng.vue index 867490ae..6a40af4d 100644 --- a/src/views/xm/core/xmIteration/XmIterationMng.vue +++ b/src/views/xm/core/xmIteration/XmIterationMng.vue @@ -525,9 +525,9 @@ import XmIterationSelect from './XmIterationSelect.vue'; }, mounted() { this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); + var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + this.tableHeight = util.calcTableMaxHeight('el-table'); this.getXmIterations(); }); // console.log(this.dateRanger,this.dateRangerOnline); diff --git a/src/views/xm/core/xmIteration/XmIterationSelect.vue b/src/views/xm/core/xmIteration/XmIterationSelect.vue index abd083a2..5c921c3d 100644 --- a/src/views/xm/core/xmIteration/XmIterationSelect.vue +++ b/src/views/xm/core/xmIteration/XmIterationSelect.vue @@ -351,9 +351,9 @@ }, mounted() { this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); + var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + this.tableHeight = util.calcTableMaxHeight('el-table'); this.getXmIterations(); }); diff --git a/src/views/xm/core/xmIterationMenu/XmIterationMenuMng.vue b/src/views/xm/core/xmIterationMenu/XmIterationMenuMng.vue index 13ca26a8..b88bb182 100644 --- a/src/views/xm/core/xmIterationMenu/XmIterationMenuMng.vue +++ b/src/views/xm/core/xmIterationMenu/XmIterationMenuMng.vue @@ -330,9 +330,9 @@ this.iteration=this.xmIteration } this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); - var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + + + this.tableHeight = util.calcTableMaxHeight('el-table'); this.getXmIterationMenus(); }); /** 举例, diff --git a/src/views/xm/core/xmMenu/XmMenuMng.vue b/src/views/xm/core/xmMenu/XmMenuMng.vue index ff49c118..cc68e1f2 100644 --- a/src/views/xm/core/xmMenu/XmMenuMng.vue +++ b/src/views/xm/core/xmMenu/XmMenuMng.vue @@ -928,9 +928,9 @@ this.productVisible=false; } this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); - var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + + + this.tableHeight = util.calcTableMaxHeight('el-table'); this.getXmMenus(); }); } diff --git a/src/views/xm/core/xmMenu/XmMenuMngBatch.vue b/src/views/xm/core/xmMenu/XmMenuMngBatch.vue index 54f75be2..cd940783 100644 --- a/src/views/xm/core/xmMenu/XmMenuMngBatch.vue +++ b/src/views/xm/core/xmMenu/XmMenuMngBatch.vue @@ -1081,12 +1081,12 @@ this.$nextTick(() => { this.filters.product=this.product this.getXmMenus(); - var clientRect=this.$refs.table.$el.getBoundingClientRect(); - var subHeight=70/1000 * window.innerHeight; + + if(this.selProject){ subHeight=110/1000 * window.innerHeight; } - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + this.tableHeight = util.calcTableMaxHeight('el-table'); }); diff --git a/src/views/xm/core/xmMenu/XmMenuSelect.vue b/src/views/xm/core/xmMenu/XmMenuSelect.vue index 9fd3e5c1..cbf98cc1 100644 --- a/src/views/xm/core/xmMenu/XmMenuSelect.vue +++ b/src/views/xm/core/xmMenu/XmMenuSelect.vue @@ -419,9 +419,9 @@ this.filters.iterationFilterType='not-join' } this.getXmMenus(); - var clientRect=this.$refs.table.$el.getBoundingClientRect(); - var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + + + this.tableHeight = util.calcTableMaxHeight('el-table'); }); } } diff --git a/src/views/xm/core/xmMenu/XmMenuWithPlan.vue b/src/views/xm/core/xmMenu/XmMenuWithPlan.vue index 904857dd..6e8076e8 100644 --- a/src/views/xm/core/xmMenu/XmMenuWithPlan.vue +++ b/src/views/xm/core/xmMenu/XmMenuWithPlan.vue @@ -575,9 +575,9 @@ }, mounted() { this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); - var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + + + this.tableHeight = util.calcTableMaxHeight('el-table'); this.getXmMenus(); }); listOption([{categoryId:'all',itemCode:'xmMenuPlanStatus'} ]).then(res=>{ diff --git a/src/views/xm/core/xmMenuState/XmMenuStateMng.vue b/src/views/xm/core/xmMenuState/XmMenuStateMng.vue index 710c92cb..244d554b 100644 --- a/src/views/xm/core/xmMenuState/XmMenuStateMng.vue +++ b/src/views/xm/core/xmMenuState/XmMenuStateMng.vue @@ -481,9 +481,9 @@ }, mounted() { this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); - var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + + + this.tableHeight = util.calcTableMaxHeight('el-table'); this.getXmMenus(); }); listOption([{categoryId:'all',itemCode:'xmMenuStateStatus'} ]).then(res=>{ diff --git a/src/views/xm/core/xmProduct/XmProductMng.vue b/src/views/xm/core/xmProduct/XmProductMng.vue index c5e1ab72..245ed8c0 100644 --- a/src/views/xm/core/xmProduct/XmProductMng.vue +++ b/src/views/xm/core/xmProduct/XmProductMng.vue @@ -651,9 +651,9 @@ import XmProductSelect from './XmProductSelect.vue'; } }); this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); + var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + this.tableHeight = util.calcTableMaxHeight('el-table'); this.getXmProducts(); }); } diff --git a/src/views/xm/core/xmProduct/XmProductSelect.vue b/src/views/xm/core/xmProduct/XmProductSelect.vue index ac34058c..60580c6f 100644 --- a/src/views/xm/core/xmProduct/XmProductSelect.vue +++ b/src/views/xm/core/xmProduct/XmProductSelect.vue @@ -305,9 +305,9 @@ }, mounted() { this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); - var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + + + this.tableHeight = util.calcTableMaxHeight('el-table'); this.getXmProducts(); }); } diff --git a/src/views/xm/core/xmProduct/XmProductTplMng.vue b/src/views/xm/core/xmProduct/XmProductTplMng.vue index 74dae8f6..69654815 100644 --- a/src/views/xm/core/xmProduct/XmProductTplMng.vue +++ b/src/views/xm/core/xmProduct/XmProductTplMng.vue @@ -425,11 +425,8 @@ //在下面添加其它组件 }, mounted() { - this.$nextTick(() => { - - var table=document.querySelector('.project-table .table'); - var top=util.getPositionTop(table) - this.maxTableHeight = window.innerHeight - top -100; + this.$nextTick(() => { + this.maxTableHeight = util.calcTableMaxHeight('.el-table'); this.getXmProducts(); }); } diff --git a/src/views/xm/core/xmProductState/XmProductStateMng.vue b/src/views/xm/core/xmProductState/XmProductStateMng.vue index 946eb4ad..680a498c 100644 --- a/src/views/xm/core/xmProductState/XmProductStateMng.vue +++ b/src/views/xm/core/xmProductState/XmProductStateMng.vue @@ -225,9 +225,9 @@ mounted() { this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); - var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + + + this.tableHeight = util.calcTableMaxHeight('el-table'); this.getXmProductStates(); }); /** 举例, diff --git a/src/views/xm/core/xmProject/XmProjectBudgetCost.vue b/src/views/xm/core/xmProject/XmProjectBudgetCost.vue index e1d37622..c70485c8 100644 --- a/src/views/xm/core/xmProject/XmProjectBudgetCost.vue +++ b/src/views/xm/core/xmProject/XmProjectBudgetCost.vue @@ -306,7 +306,7 @@ import { months } from 'moment'; mounted() { this.showType = "人力"; this.$nextTick(() => { - //var clientRect=this.$refs.table.$el.getBoundingClientRect(); + // var subHeight=700/1000 * window.innerHeight; this.tableHeight = window.innerHeight-subHeight; }); diff --git a/src/views/xm/core/xmProject/XmProjectForLink.vue b/src/views/xm/core/xmProject/XmProjectForLink.vue index 8dec55e8..993f28e7 100644 --- a/src/views/xm/core/xmProject/XmProjectForLink.vue +++ b/src/views/xm/core/xmProject/XmProjectForLink.vue @@ -212,9 +212,9 @@ XmProjectList }, mounted() { this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); - var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + + + this.tableHeight = util.calcTableMaxHeight('el-table'); this.showInfo = false; this.getXmProjects(); }); diff --git a/src/views/xm/core/xmProject/XmProjectList.vue b/src/views/xm/core/xmProject/XmProjectList.vue index ec76ec48..75b37b2a 100644 --- a/src/views/xm/core/xmProject/XmProjectList.vue +++ b/src/views/xm/core/xmProject/XmProjectList.vue @@ -153,9 +153,9 @@ }, mounted() { this.$nextTick(() => { - var clientRect=this.$refs.table.$el.getBoundingClientRect(); - var subHeight=70/1000 * window.innerHeight; - this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight; + + + this.tableHeight = util.calcTableMaxHeight('el-table'); this.showInfo = false; this.getXmProjects(); }); diff --git a/src/views/xm/core/xmProject/XmProjectMng.vue b/src/views/xm/core/xmProject/XmProjectMng.vue index 73f8bb75..2ff61fd2 100644 --- a/src/views/xm/core/xmProject/XmProjectMng.vue +++ b/src/views/xm/core/xmProject/XmProjectMng.vue @@ -78,7 +78,7 @@ - +
{{p.name}}
@@ -115,7 +115,7 @@
- + @@ -743,10 +743,8 @@ this.filters.productId=this.$route.params.productId; this.filters.productName=this.$route.params.productName; } - this.$nextTick(() => { - var table=document.querySelector('.project-table .table'); - var top=util.getPositionTop(table) - this.maxTableHeight = window.innerHeight - top -100; + this.$nextTick(() => { + this.maxTableHeight = util.calcTableMaxHeight('.el-table'); this.showInfo = false; this.getXmProjects(); }); diff --git a/src/views/xm/core/xmProject/XmProjectSelect.vue b/src/views/xm/core/xmProject/XmProjectSelect.vue index 0c6f5f42..f7f9f1e0 100644 --- a/src/views/xm/core/xmProject/XmProjectSelect.vue +++ b/src/views/xm/core/xmProject/XmProjectSelect.vue @@ -1,7 +1,7 @@