diff --git a/src/views/xm/core/xmProject/XmProjectOverview.vue b/src/views/xm/core/xmProject/XmProjectOverview.vue index d4aa37c8..6102c40e 100644 --- a/src/views/xm/core/xmProject/XmProjectOverview.vue +++ b/src/views/xm/core/xmProject/XmProjectOverview.vue @@ -6,6 +6,27 @@
项目信息 + + + + + 计算项目预算数据 +
+ 将从项目任务中汇总进度、预算工作量、实际工作量、预算金额、实际金额、缺陷数、需求数等数据到项目统计表 +
+ + 计算项目结算数据 +
+ 将从项目任务汇总结算数据项目统计表 +
+ + 统计 +
+
@@ -206,7 +227,7 @@
- +
@@ -272,10 +293,12 @@ import util from "@/common/js/util"; // 全局公共库 import { mapGetters } from "vuex"; import { initSimpleDicts } from '@/api/mdp/meta/item';//下拉框数据查询 import { getDefOptions} from '@/api/xm/core/xmProject'; - + import { listXmProject} from '@/api/xm/core/xmProject'; + import { loadTasksToXmProjectState , loadTasksSettleToXmProjectState} from '@/api/xm/core/xmProjectState'; + import store from '@/store' export default { computed: { - ...mapGetters(["userInfo"]), + ...mapGetters(["userInfo",'projectInfo']), competeTasks: function (){ return this.selProject.taskCnt-this.selProject.taskUnstartCnt-this.selProject.taskExecCnt; }, @@ -361,6 +384,7 @@ export default { }, data() { return { + load:{list:false,add:false,calcProject:false,calcSettle:false}, isActive: true, maxTableHeight:300, dicts: getDefOptions(),//下拉选择框的所有静态数据 params=[{categoryId:'0001',itemCode:'sex'}] 返回结果 {'sex':[{optionValue:'1',optionName:'男',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'女',seqOrder:'2',fp:'',isDefault:'0'}]} @@ -912,6 +936,40 @@ export default { // 绘制图表 iterationAndProduct.setOption(option); }, + + + loadTasksToXmProjectState(){ + var row=this.selProject; + var params={projectId:row.id} + this.load.calcProject=true; + loadTasksToXmProjectState(params).then((res1) => { + this.load.calcProject=false; + this.load.list=true; + listXmProject({id:row.id}).then(res=>{ + this.load.list=false; + var tips = res.data.tips; + if(tips.isOk){ + var selProject=res.data.data[0] + if(this.projectInfo && this.projectInfo.id){ + store.dispatch('setProjectInfo',selProject) + } + Object.assign(this.selProject,selProject) + this.$emit("edit-fields",selProject); + } + this.$notify({position:'bottom-left',showClose:true,message: tips.msg, type: tips.isOk?'success':'error'}); + }) + + }).catch( err => this.load.calcProject=false ); + }, + loadTasksSettleToXmProjectState(){ + var row=this.selProject; + var params={projectId:row.id} + loadTasksSettleToXmProjectState(params).then((res) => { + this.load.calcProject=false; + var tips=res.data.tips; + this.$notify({position:'bottom-left',showClose:true,message: tips.msg, type: tips.isOk?'success':'error'}); + }).catch( err => this.load.calcProject=false ); + }, }, mounted() {