diff --git a/src/views/xm/core/xmIteration/XmIterationOverviewComplex.vue b/src/views/xm/core/xmIteration/XmIterationOverviewComplex.vue index a7440b5f..07fc5d92 100644 --- a/src/views/xm/core/xmIteration/XmIterationOverviewComplex.vue +++ b/src/views/xm/core/xmIteration/XmIterationOverviewComplex.vue @@ -1,88 +1,93 @@ @@ -90,34 +95,35 @@ import util from "@/common/js/util"; // 全局公共库 //import Sticky from "@/components/Sticky"; // 粘性header组件 import { mapGetters } from "vuex"; -import XmIterationOverview from './XmIterationOverview.vue'; + import XmIterationOverview from './XmIterationOverview.vue'; import XmIterationEdit from './XmIterationEdit.vue'; + import XmIterationProductLinkMng from '../xmIterationProductLink/XmIterationProductLinkMng.vue'; export default { - components: {XmIterationOverview,XmIterationEdit }, + components: {XmIterationOverview,XmIterationEdit, XmIterationProductLinkMng }, computed: { - ...mapGetters(["userInfo"]), + ...mapGetters(["userInfo"]), }, props:['xmIteration'], - watch:{ + watch:{ }, data() { - return { - showPanelName:'overview' + return { + showPanelName:'overiew' }; }, methods:{ - + onMenuToolBarSelect(menuIndex){ this.showPanelName=menuIndex; } }, mounted() { - this.$nextTick(() => { + this.$nextTick(() => { }); }, @@ -125,5 +131,5 @@ export default { diff --git a/src/views/xm/core/xmIterationProductLink/XmIterationProductLinkMng.vue b/src/views/xm/core/xmIterationProductLink/XmIterationProductLinkMng.vue index 7ae1116e..fb6188c1 100644 --- a/src/views/xm/core/xmIterationProductLink/XmIterationProductLinkMng.vue +++ b/src/views/xm/core/xmIterationProductLink/XmIterationProductLinkMng.vue @@ -1,46 +1,33 @@ @@ -49,12 +36,23 @@ import util from '@/common/js/util';//全局公共库 import config from '@/common/config';//全局公共库 import { listOption } from '@/api/mdp/meta/itemOption';//下拉框数据查询 - import { listXmIterationProductLink, delXmIterationProductLink, batchDelXmIterationProductLink } from '@/api/xm/core/xmIterationProductLink'; + import { listXmIterationProductLink,addXmIterationProductLink, delXmIterationProductLink, batchDelXmIterationProductLink } from '@/api/xm/core/xmIterationProductLink'; import XmIterationProductLinkAdd from './XmIterationProductLinkAdd';//新增界面 import XmIterationProductLinkEdit from './XmIterationProductLinkEdit';//修改界面 import { mapGetters } from 'vuex' +import XmProductSelect from '../xmProduct/XmProductSelect.vue'; +import XmIterationSelect from '../xmIteration/XmIterationSelect.vue'; export default { + props:['xmIteration','xmProduct'], + watch:{ + xmIteration(){ + this.getXmIterationProductLinks(); + }, + xmProduct(){ + this.getXmIterationProductLinks(); + } + }, computed: { ...mapGetters([ 'userInfo','workSpace' @@ -92,6 +90,8 @@ iterationId:'',productId:'',ctime:'',cuserid:'',cusername:'',linkStatus:'' }, maxTableHeight:300, + productVisible:false, + iterationVisible:false, } },//end data methods: { @@ -144,6 +144,13 @@ params.key="%"+this.filters.key+"%" } + if(this.xmIteration){ + params.iterationId=this.xmIteration.id + } + + if(this.xmProduct){ + params.productId=this.xmProduct.id + } this.load.list = true; listXmIterationProductLink(params).then((res) => { var tips=res.data.tips; @@ -186,7 +193,7 @@ type: 'warning' }).then(() => { this.load.del=true; - let params = { iterationId: row.iterationId }; + let params = row; delXmIterationProductLink(params).then((res) => { this.load.del=false; var tips=res.data.tips; @@ -220,14 +227,50 @@ this.$emit('row-click',row, event, column);// @row-click="rowClick" }, /**begin 自定义函数请在下面加**/ - - + onProductSelect(product){ + this.$confirm('确认建立与产品【'+product.productName+'】的关联关系吗?', '提示', { + type: 'warning' + }).then(() => { + this.load.add=true; + this.addForm.iterationId=this.xmIteration.id; + this.addForm.productId= product.id; + addXmIterationProductLink(this.addForm).then((res) => { + this.load.del=false; + var tips=res.data.tips; + if( tips.isOk ){ + this.pageInfo.count=true; + this.getXmIterationProductLinks(); + } + this.$message({ message: tips.msg, type: tips.isOk?'success':'error'}); + }).catch( err => this.load.del=false ); + }); + }, + onIterationSelect(iteration){ + this.$confirm('确认建立与迭代【'+iteration.iterationName+'】的关联关系吗?', '提示', { + type: 'warning' + }).then(() => { + this.load.del=true; + this.addForm.iterationId=iteration.id; + this.addForm.productId=this.xmProduct.id; + addXmIterationProductLink(this.addForm).then((res) => { + this.load.del=false; + var tips=res.data.tips; + if( tips.isOk ){ + this.pageInfo.count=true; + this.getXmIterationProductLinks(); + } + this.$message({ message: tips.msg, type: tips.isOk?'success':'error'}); + }).catch( err => this.load.del=false ); + }); + } /**end 自定义函数请在上面加**/ },//end methods components: { 'xm-iteration-product-link-add':XmIterationProductLinkAdd, 'xm-iteration-product-link-edit':XmIterationProductLinkEdit, + XmProductSelect, + XmIterationSelect, }, mounted() { this.$nextTick(() => { diff --git a/src/views/xm/core/xmProduct/XmProductOverviewComplex.vue b/src/views/xm/core/xmProduct/XmProductOverviewComplex.vue index d3b9d70d..aa4ea8e4 100644 --- a/src/views/xm/core/xmProduct/XmProductOverviewComplex.vue +++ b/src/views/xm/core/xmProduct/XmProductOverviewComplex.vue @@ -2,49 +2,11 @@
- 项目概览 + 产品概览 - 项目详情 - - - - - 基础信息修改 - - - 立项申请 - - - 预算+- - - - 成本+- - - - 收款 - - - 结项申请 - - - 暂停申请 - - - 激活申请 - - - 转售后申请 - - - 项目经理变更申请 - - - 组长变更申请 - - + 产品详情 +