From 41b188b513ca66b5e0ef976f66b388739cd7af8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Mon, 11 Jul 2022 15:31:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xmIteration/XmIterationForLinkComplex.vue | 321 +++++++++++++++++- .../core/xmIteration/XmIterationOverview.vue | 2 +- 2 files changed, 314 insertions(+), 9 deletions(-) diff --git a/src/views/xm/core/xmIteration/XmIterationForLinkComplex.vue b/src/views/xm/core/xmIteration/XmIterationForLinkComplex.vue index 6eb0100b..dd6e5727 100644 --- a/src/views/xm/core/xmIteration/XmIterationForLinkComplex.vue +++ b/src/views/xm/core/xmIteration/XmIterationForLinkComplex.vue @@ -23,8 +23,265 @@ - - + + + +

常用功能快捷导航

+ + + + + + 需求管理 + 配置需求范围 + 开启需求评审 + + + 需求管理 + 需求范围 + + + + + 确认需求范围 + 缺陷登记 + 进入计划会 + + + + + + + + 迭代计划 + 任务管理 + 设为研发中 + + + 迭代计划 + 任务管理 + + + + + 任务管理 + 效能分析 + 设为测试中 + + + 效能分析 + + + + + 缺陷管理 + 设为待上线 + + + + + + 设为已完成 + + + + + + + + 设为已关闭 + + + + + + + + 重新打开 + + + + + +
+ + + +
@@ -41,7 +298,7 @@ - + @@ -55,6 +312,10 @@ + + + + @@ -86,14 +347,30 @@ import XmIterationLinkForProduct from '../xmIterationLink/XmIterationLinkForProduct.vue'; import XmIterationLinkForProject from '../xmIterationLink/XmIterationLinkForProject.vue'; import XmIterationAdd from './XmIterationAdd';//新增界面 + import XmReport from "@/views/xm/rpt/reportIndex"; import XmIterationMenuMng from '../xmIterationMenu/XmIterationMenuMng.vue'; - import { loadTasksToXmIterationState } from '@/api/xm/core/xmIteration'; + import { initDicts,loadTasksToXmIterationState,editSomeFieldsXmIteration } from '@/api/xm/core/xmIteration'; export default { computed: { ...mapGetters([ 'userInfo','roles' ]), + + calcIterationStatusStep() { + if (this.dicts["iterationStatus"] && this.xmIteration) { + var index = this.dicts["iterationStatus"].findIndex((i) => { + if (i.id == this.xmIteration.istatus) { + return true; + } else { + return false; + } + }); + return index + 1; + } else { + return 0; + } + }, }, props:['visible','selProject','xmProduct'], watch:{ @@ -104,6 +381,7 @@ }, data() { return{ + dicts:{iterationStatus:[]}, load:{calcIteration:false}, xmIteration:null, showPanel:'iterationOverview',//menus,tasks,bugs,iterationStateShow @@ -141,6 +419,32 @@ tabClick(tab){ this.showPanel=tab.name }, + + editSomeFields(row,fieldName,$event){ + let params={}; + params['ids']=[row].map(i=>i.id) + params[fieldName]=$event + var func = editSomeFieldsXmIteration + func(params).then(res=>{ + let tips = res.data.tips; + if(tips.isOk){ + Object.assign(row,params) + this.$emit('edit-fields',params) + }else{ + this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'}) + } + }).catch((e)=>Object.assign(this.editForm,this.editFormBak)) + }, + showIterationMenu(){ + this.showPanel='iterationMenuMng' + }, + showIterationDetail(){ + this.showPanel='detail' + }, + onEditFields(row){ + Object.assign(this.xmIteration,row) + this.$emit('edit-fields',row) + } },//end methods components: { XmIterationOverview, @@ -157,14 +461,15 @@ XmIterationLinkForProduct, XmIterationLinkForProject, XmIterationMenuMng, + XmReport, }, mounted() { - this.$nextTick(() => { - - }); + this.$nextTick(() => { + initDicts(this) + }); - } + } } diff --git a/src/views/xm/core/xmIteration/XmIterationOverview.vue b/src/views/xm/core/xmIteration/XmIterationOverview.vue index 66814bbb..c1289f1f 100644 --- a/src/views/xm/core/xmIteration/XmIterationOverview.vue +++ b/src/views/xm/core/xmIteration/XmIterationOverview.vue @@ -1,5 +1,5 @@