-
+
h
登记工时
@@ -244,24 +244,22 @@
import util from "@/common/js/util"; // 全局公共库
//import Sticky from "@/components/Sticky"; // 粘性header组件
import { mapGetters } from "vuex";
-import { listXmProjectState } from '@/api/xm/core/xmProjectState';
import { listOption } from '@/api/mdp/meta/itemOption';//下拉框数据查询
-
export default {
computed: {
...mapGetters(["userInfo"]),
finish: function (){
- return this.xmProjectState.totalCompleteTaskCnt;
+ return this.selProject.totalCompleteTaskCnt;
},
notStart: function() {
- return this.xmProjectState.totalTaskCnt-this.xmProjectState.totalCompleteTaskCnt;
+ return this.selProject.totalTaskCnt-this.selProject.totalCompleteTaskCnt;
},
totalTask: function() {
- return this.xmProjectState.totalTaskCnt;
+ return this.selProject.totalTaskCnt;
},
progress1: function (){
- return Math.round(this.xmProjectState.totalCompleteTaskCnt/this.xmProjectState.totalTaskCnt*100);
+ return Math.round(this.selProject.totalCompleteTaskCnt/this.selProject.totalTaskCnt*100);
},
taskStartTime: function (){
return this.selProject.startTime.substring(0,10);
@@ -273,7 +271,7 @@ export default {
return this.selProject.createUsername;
},
workloadProgress:function (){
- return Math.round(this.xmProjectState.totalActWorkload/this.xmProjectState.totalPlanWorkload*100);
+ return Math.round(this.selProject.totalActWorkload/this.selProject.totalPlanWorkload*100);
},
deviation:function (){
let now = new Date();
@@ -281,16 +279,16 @@ export default {
let taskEndTime = new Date(this.selProject.endTime);
if(now<=taskEndTime){
let allDays=taskEndTime-taskStartTime;
- return this.xmProjectState.totalActWorkload - Math.round((now-taskStartTime)/allDays*this.xmProjectState.totalPlanWorkload)
+ return this.selProject.totalActWorkload - Math.round((now-taskStartTime)/allDays*this.selProject.totalPlanWorkload)
}else{
- return this.xmProjectState.totalActWorkload - this.xmProjectState.totalPlanWorkload;
+ return this.selProject.totalActWorkload - this.selProject.totalPlanWorkload;
}
},
deviationRate:function (){
- return Math.round(this.deviation/this.xmProjectState.totalPlanWorkload*100);
+ return Math.round(this.deviation/this.selProject.totalPlanWorkload*100);
},
remainWorkload:function (){
- return this.xmProjectState.totalPlanWorkload - this.xmProjectState.totalActWorkload;
+ return this.selProject.totalPlanWorkload - this.selProject.totalActWorkload;
},
planProgress:function (){
let now = new Date();
@@ -304,14 +302,14 @@ export default {
}
},
realProgress:function (){
- if(this.xmProjectState.totalActWorkload < this.xmProjectState.totalPlanWorkload){
- return Math.round(this.xmProjectState.totalActWorkload/this.xmProjectState.totalPlanWorkload*100)
+ if(this.selProject.totalActWorkload < this.selProject.totalPlanWorkload){
+ return Math.round(this.selProject.totalActWorkload/this.selProject.totalPlanWorkload*100)
}else{
return 100;
}
},
xmProjectStateCpd(){
- return this.xmProjectState
+ return this.selProject
},
calcProjectStatusStep(){
if(this.options['projectStatus'] && this.selProject){
@@ -342,7 +340,8 @@ export default {
return {
isActive: true,
load:{ list: false},
- xmProjectState: [],//查询结果
+ selProject:[],
+ //xmProjectState: [],//查询结果
options:{
projectType:[],
urgencyLevel:[],
@@ -354,7 +353,7 @@ export default {
methods:{
//获取对应的xmProjectsTate
- getXmProjectState(){
+ /*getXmProjectState(){
let params = {
projectId:this.selProject.id,
branchId:this.userInfo.branchId
@@ -369,7 +368,7 @@ export default {
}
this.load.list = false;
}).catch( err => this.load.list = false );
- },
+ },*/
drawAllBar() {
// 基于准备好的dom,初始化echarts实例
@@ -398,7 +397,7 @@ export default {
{
data: [
{
- value: this.xmProjectState.menuCnt,
+ value: this.selProject.menuCnt,
itemStyle: {
normal:{
color: '#99CCFF'
@@ -406,7 +405,7 @@ export default {
}
},
{
- value: this.xmProjectState.totalTaskCnt,
+ value: this.selProject.totalTaskCnt,
itemStyle: {
normal:{
color: '#99CCFF'
@@ -414,7 +413,7 @@ export default {
}
},
{
- value: this.xmProjectState.totalBugCnt,
+ value: this.selProject.totalBugCnt,
itemStyle: {
normal:{
color: '#99CCFF'
@@ -511,32 +510,46 @@ export default {
},
series: [
{
- center:['55%','40%'],
+ center:['55%','40%'],//饼图位置
type: 'pie',
- radius: '68%',
+ radius: '68%',//饼图半径大小
+ label:{ //饼图图形上的文本标签
+ normal:{
+ show:true,
+ position:'inner', //标签的位置:内部
+ textStyle : {
+ fontWeight : 120 ,
+ fontSize: document.body.clientWidth / 150, //标签字体大小
+ color: "#000000"
+ },
+ formatter:'{b} : {c} ({d}%)',//b:name,c:value,d:占比
+ alignTo:'edge',
+ margin:10
+ }
+ },
data: [
- {value: this.xmProjectState.totalClosedBugCnt,
+ {value: this.selProject.totalClosedBugCnt,
itemStyle: {
normal:{
color: '#5470C6'
}
},
name: '已关闭'},
- {value: this.xmProjectState.totalResolvedBugCnt,
+ {value: this.selProject.totalResolvedBugCnt,
itemStyle: {
normal:{
color: '#91CC75'
}
},
name: '已解决'},
- {value: this.xmProjectState.totalActiveBugCnt,
+ {value: this.selProject.totalActiveBugCnt,
itemStyle: {
normal:{
color: '#FAC858'
}
},
name: '已激活'},
- {value: this.xmProjectState.totalConfirmedBugCnt,
+ {value: this.selProject.totalConfirmedBugCnt,
itemStyle: {
normal:{
color: '#EE6666'
@@ -562,17 +575,19 @@ export default {
mounted() {
this.$nextTick(() => {
- this.getXmProjectState();
+ //this.getXmProjectState();
});
listOption([{categoryId:'all',itemCode:'projectType'},{categoryId:'all',itemCode:'urgencyLevel'},{categoryId:'all',itemCode:'priority'},{categoryId:'all',itemCode:'projectStatus'}] ).then(res=>{
if(res.data.tips.isOk){
-
this.options['projectType']=res.data.data.projectType
this.options['urgencyLevel']=res.data.data.urgencyLevel
this.options['priority']=res.data.data.priority
this.options['projectStatus']=res.data.data.projectStatus
}
});
+ this.drawAllBar();
+ this.drawTaskByDate();
+ this.drawPieBug();
},
diff --git a/src/views/xm/core/xmProject/XmProjectOverviewComplex.vue b/src/views/xm/core/xmProject/XmProjectOverviewComplex.vue
index 7b5cc2f1..5535c4ad 100644
--- a/src/views/xm/core/xmProject/XmProjectOverviewComplex.vue
+++ b/src/views/xm/core/xmProject/XmProjectOverviewComplex.vue
@@ -1,87 +1,87 @@
-
-
-
+
+
+
项目概览
-
+
项目详情
-
+
项目变更
-
+
- 基础信息修改
-
-
- 立项申请
+ 基础信息修改
-
- 预算+-
+
+ 立项申请
-
- 成本+-
+
+ 预算+-
-
- 收款
+
+ 成本+-
-
- 结项申请
+
+ 收款
-
- 暂停申请
+
+ 结项申请
-
- 激活申请
+
+ 暂停申请
-
+
+ 激活申请
+
+
转售后申请
-
-
+
+
项目经理变更申请
-
-
+
+
组长变更申请
-
-
+
+
-
+
需求变更
-
+
- 需求评审
-
-
- 需求边界异动
-
-
-
+ 需求评审
+
+
+ 需求边界异动
+
+
+
-
+
迭代变更
-
+
- 迭代计划评审
-
-
- 迭代上线申请
-
-
-
+ 迭代计划评审
+
+
+ 迭代上线申请
+
+
+
-
+
阶段计划变更
-
+
- 计划评审
-
-
- 预算变更
-
-
-
-
+ 计划评审
+
+
+ 预算变更
+
+
+
+
@@ -98,27 +98,27 @@ import XmProjectDetail from './XmProjectDetail.vue';
export default {
components: { XmProjectOverview, XmProjectDetail },
computed: {
- ...mapGetters(["userInfo"]),
+ ...mapGetters(["userInfo"]),
},
props:['selProject'],
- watch:{
+ watch:{
},
data() {
- return {
- showPanelName:'overiew'
+ return {
+ showPanelName:'overview'
};
},
methods:{
-
+
onMenuToolBarSelect(menuIndex){
this.showPanelName=menuIndex;
}
},
mounted() {
- this.$nextTick(() => {
+ this.$nextTick(() => {
});
},
@@ -126,5 +126,5 @@ export default {