Browse Source

优化

master
陈裕财 4 years ago
parent
commit
1b9c6e4c38
  1. 2
      src/views/xm/XmOverview2.vue
  2. 41
      src/views/xm/core/xmIteration/XmIterationOverview.vue
  3. 17
      src/views/xm/core/xmProduct/XmProductOverview.vue
  4. 41
      src/views/xm/core/xmProject/XmProjectOverview.vue

2
src/views/xm/XmOverview2.vue

@ -175,7 +175,7 @@ export default {
return Math.round(this.xmBranchState.totalActWorkload-this.xmBranchState.estimateWorkload); return Math.round(this.xmBranchState.totalActWorkload-this.xmBranchState.estimateWorkload);
}, },
deviationRate:function (){ deviationRate:function (){
return Math.round((this.xmBranchState.totalActWorkload-this.xmBranchState.estimateWorkload)/this.xmBranchState.totalPlanWorkload*100);
return Math.round((this.xmBranchState.totalActWorkload-this.xmBranchState.estimateWorkload)/this.xmBranchState.estimateWorkload*100);
}, },
remainWorkload:function (){ remainWorkload:function (){
return this.xmBranchState.totalPlanWorkload - this.xmBranchState.totalActWorkload; return this.xmBranchState.totalPlanWorkload - this.xmBranchState.totalActWorkload;

41
src/views/xm/core/xmIteration/XmIterationOverview.vue

@ -20,11 +20,8 @@
</div> </div>
<el-row style="margin-bottom:18px"> <el-row style="margin-bottom:18px">
<el-row> <el-row>
<span v-text="this.xmIteration.adminUsername"></span>
</el-row>
<el-row>
<span>负责人</span>
</el-row>
<span>负责人</span> <span v-text="this.xmIteration.adminUsername"></span>
</el-row>
</el-row> </el-row>
<el-row style="margin-bottom:18px"> <el-row style="margin-bottom:18px">
<el-col :span="8" @click=""> <el-col :span="8" @click="">
@ -138,12 +135,12 @@
<span>迭代工时</span> <span>迭代工时</span>
</div> </div>
<div> <div>
<el-row style="padding:25px;">
<el-row >
<div class="item"> <div class="item">
<el-col :span="8"> <el-col :span="8">
<div> <div>
<div style="text-align:center;"> <div style="text-align:center;">
<span style="font-size:24px;" v-text="this.xmIteration.distBudgetWorkload"></span>
<span style="font-size:24px;" v-text="this.xmIteration.estimateWorkload"></span>
<span style="font-size:5px;">h</span> <span style="font-size:5px;">h</span>
</div> </div>
<div style="text-align:center;font-size:5px;">预估工时</div> <div style="text-align:center;font-size:5px;">预估工时</div>
@ -169,7 +166,7 @@
</el-col> </el-col>
</div> </div>
</el-row> </el-row>
<el-row style="padding:25px;">
<el-row >
<div class="item"> <div class="item">
<el-col :span="8"> <el-col :span="8">
<div> <div>
@ -202,11 +199,11 @@
</el-row> </el-row>
<el-row> <el-row>
<span style="margin-left:20px;">项目预计进度</span> <span style="margin-left:20px;">项目预计进度</span>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;margin-bottom: 20px;" :text-inside="true" :stroke-width="24" :percentage="planProgress"></el-progress>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;margin-bottom: 20px;" :stroke-width="14" :percentage="planProgress"></el-progress>
</el-row> </el-row>
<el-row> <el-row>
<span style="margin-left:20px;">项目实际进度</span> <span style="margin-left:20px;">项目实际进度</span>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;" :text-inside="true" :stroke-width="24" :percentage="realProgress"></el-progress>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;" color="#47CBF6" :stroke-width="14" :percentage="realProgress"></el-progress>
</el-row> </el-row>
</div> </div>
@ -263,33 +260,17 @@ export default {
} }
return Math.round(this.xmIteration.actWorkload/this.xmIteration.distBudgetWorkload*100); return Math.round(this.xmIteration.actWorkload/this.xmIteration.distBudgetWorkload*100);
}, },
deviation:function (){
let now = new Date();
let startTime = new Date(this.xmIteration.startTime);
let endTime = new Date(this.xmIteration.endTime);
if(now<=endTime){
let allDays=endTime-startTime;
return this.xmIteration.actWorkload - Math.round((now-startTime)/allDays*this.xmIteration.distBudgetWorkload)
}else{
return this.xmIteration.actWorkload - this.xmIteration.distBudgetWorkload;
}
deviation:function (){
return this.xmIteration.actWorkload -this.xmIteration.estimateWorkload
}, },
deviationRate:function (){ deviationRate:function (){
return Math.round(this.deviation/this.xmIteration.distBudgetWorkload*100);
return Math.round(this.deviation/this.xmIteration.estimateWorkload*100);
}, },
remainWorkload:function (){ remainWorkload:function (){
return this.xmIteration.distBudgetWorkload - this.xmIteration.actWorkload; return this.xmIteration.distBudgetWorkload - this.xmIteration.actWorkload;
}, },
planProgress:function (){ planProgress:function (){
let now = new Date();
let startTime = new Date(this.xmIteration.startTime);
let endTime = new Date(this.xmIteration.endTime);
if(now<=endTime){
let allDays=endTime-startTime;
return Math.round((now-startTime)/allDays*100)
}else{
return 100;
}
return Math.round(this.xmIteration.estimateWorkload/this.xmIteration.distBudgetWorkload*100)
}, },
realProgress:function (){ realProgress:function (){
if(this.xmIteration.actWorkload < this.xmIteration.distBudgetWorkload){ if(this.xmIteration.actWorkload < this.xmIteration.distBudgetWorkload){

17
src/views/xm/core/xmProduct/XmProductOverview.vue

@ -22,11 +22,8 @@
</div> </div>
<el-row style="margin-bottom:18px"> <el-row style="margin-bottom:18px">
<el-row> <el-row>
<span v-text="this.xmProduct.pmUsername"></span>
</el-row>
<el-row>
<span>产品负责人</span>
</el-row>
<span>产品负责人</span><span v-text="this.xmProduct.pmUsername"></span>
</el-row>
</el-row> </el-row>
<el-row style="margin-bottom:18px"> <el-row style="margin-bottom:18px">
<el-col :span="8" @click=""> <el-col :span="8" @click="">
@ -140,12 +137,12 @@
<span>产品工时</span> <span>产品工时</span>
</div> </div>
<div> <div>
<el-row style="padding:25px;">
<el-row >
<div class="item"> <div class="item">
<el-col :span="8"> <el-col :span="8">
<div> <div>
<div style="text-align:center;"> <div style="text-align:center;">
<span style="font-size:24px;" v-text="this.xmProductCpd.planWorkload"></span>
<span style="font-size:24px;" v-text="this.xmProductCpd.estimateWorkload"></span>
<span style="font-size:5px;">h</span> <span style="font-size:5px;">h</span>
</div> </div>
<div style="text-align:center;font-size:5px;">预估工时</div> <div style="text-align:center;font-size:5px;">预估工时</div>
@ -171,7 +168,7 @@
</el-col> </el-col>
</div> </div>
</el-row> </el-row>
<el-row style="padding:25px;">
<el-row >
<div class="item"> <div class="item">
<el-col :span="8"> <el-col :span="8">
<div> <div>
@ -204,11 +201,11 @@
</el-row> </el-row>
<el-row> <el-row>
<span style="margin-left:20px;">工时预计进度</span> <span style="margin-left:20px;">工时预计进度</span>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;margin-bottom: 20px;" :text-inside="true" :stroke-width="20" :percentage="planProgress"></el-progress>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;margin-bottom: 20px;" :stroke-width="14" :percentage="planProgress"></el-progress>
</el-row> </el-row>
<el-row> <el-row>
<span style="margin-left:20px;">工时实际进度</span> <span style="margin-left:20px;">工时实际进度</span>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;" :text-inside="true" :stroke-width="20" :percentage="realProgress"></el-progress>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;" color="#47CBF6" :stroke-width="14" :percentage="realProgress"></el-progress>
</el-row> </el-row>
</div> </div>
</el-card> </el-card>

41
src/views/xm/core/xmProject/XmProjectOverview.vue

@ -24,11 +24,8 @@
</div> </div>
<el-row style="margin-bottom:18px"> <el-row style="margin-bottom:18px">
<el-row> <el-row>
<span v-text="taskMng"></span>
</el-row>
<el-row>
<span>项目负责人</span>
</el-row>
<span>项目负责人</span><span v-text="taskMng"></span>
</el-row>
</el-row> </el-row>
<el-row style="margin-bottom:18px"> <el-row style="margin-bottom:18px">
<el-col :span="8" @click=""> <el-col :span="8" @click="">
@ -152,12 +149,12 @@
<span>项目工时</span> <span>项目工时</span>
</div> </div>
<div> <div>
<el-row style="padding:25px;">
<el-row >
<div class="item"> <div class="item">
<el-col :span="8"> <el-col :span="8">
<div> <div>
<div style="text-align:center;"> <div style="text-align:center;">
<span style="font-size:24px;" v-text="this.selProject.totalPlanWorkload"></span>
<span style="font-size:24px;" v-text="this.selProject.estimateWorkload"></span>
<span style="font-size:5px;">h</span> <span style="font-size:5px;">h</span>
</div> </div>
<div style="text-align:center;font-size:5px;">预估工时</div> <div style="text-align:center;font-size:5px;">预估工时</div>
@ -183,7 +180,7 @@
</el-col> </el-col>
</div> </div>
</el-row> </el-row>
<el-row style="padding:25px;">
<el-row >
<div class="item"> <div class="item">
<el-col :span="8"> <el-col :span="8">
<div> <div>
@ -216,11 +213,11 @@
</el-row> </el-row>
<el-row> <el-row>
<span style="margin-left:20px;">项目预计进度</span> <span style="margin-left:20px;">项目预计进度</span>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;margin-bottom: 20px;" :text-inside="true" :stroke-width="24" :percentage="planProgress"></el-progress>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;margin-bottom: 20px;" :stroke-width="14" :percentage="planProgress"></el-progress>
</el-row> </el-row>
<el-row> <el-row>
<span style="margin-left:20px;">项目实际进度</span> <span style="margin-left:20px;">项目实际进度</span>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;" :text-inside="true" :stroke-width="24" :percentage="realProgress"></el-progress>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;" color="#47CBF6" :stroke-width="14" :percentage="realProgress"></el-progress>
</el-row> </el-row>
</div> </div>
@ -297,32 +294,18 @@ export default {
return Math.round(this.selProject.totalActWorkload/this.selProject.totalPlanWorkload*100); return Math.round(this.selProject.totalActWorkload/this.selProject.totalPlanWorkload*100);
}, },
deviation:function (){ deviation:function (){
let now = new Date();
let taskStartTime = new Date(this.selProject.startTime);
let taskEndTime = new Date(this.selProject.endTime);
if(now<=taskEndTime){
let allDays=taskEndTime-taskStartTime;
return this.selProject.totalActWorkload - Math.round((now-taskStartTime)/allDays*this.selProject.totalPlanWorkload)
}else{
return this.selProject.totalActWorkload - this.selProject.totalPlanWorkload;
}
return this.selProject.totalActWorkload - this.selProject.estimateWorkload
}, },
deviationRate:function (){ deviationRate:function (){
return Math.round(this.deviation/this.selProject.totalPlanWorkload*100);
return Math.round(this.deviation/this.selProject.estimateWorkload*100);
}, },
remainWorkload:function (){ remainWorkload:function (){
return this.selProject.totalPlanWorkload - this.selProject.totalActWorkload; return this.selProject.totalPlanWorkload - this.selProject.totalActWorkload;
}, },
planProgress:function (){ planProgress:function (){
let now = new Date();
let taskStartTime = new Date(this.selProject.startTime);
let taskEndTime = new Date(this.selProject.endTime);
if(now<=taskEndTime){
let allDays=taskEndTime-taskStartTime;
return Math.round((now-taskStartTime)/allDays*100)
}else{
return 100;
}
return Math.round(this.selProject.estimateWorkload/this.selProject.totalPlanWorkload*100);
}, },
realProgress:function (){ realProgress:function (){
if(this.selProject.totalActWorkload < this.selProject.totalPlanWorkload){ if(this.selProject.totalActWorkload < this.selProject.totalPlanWorkload){

Loading…
Cancel
Save