Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/views/xm/core/xmIteration/XmIterationOverviewComplex.vue
master
chentaiyu 5 years ago
parent
commit
1a5fd1b727
  1. 140
      src/views/xm/core/xmIteration/XmIterationOverviewComplex.vue
  2. 115
      src/views/xm/core/xmIterationProductLink/XmIterationProductLinkMng.vue
  3. 44
      src/views/xm/core/xmProduct/XmProductOverviewComplex.vue
  4. 2
      src/views/xm/core/xmQuestion/XmQuestionMng.vue

140
src/views/xm/core/xmIteration/XmIterationOverviewComplex.vue

@ -1,88 +1,93 @@
<template> <template>
<section class="page-container page-height-90 padding-left padding-right">
<el-menu mode="horizontal" default-active="overview" @select="onMenuToolBarSelect">
<el-menu-item index="overview">
<section class="page-container page-height-90 padding-left padding-right">
<el-menu mode="horizontal" default-active="overiew" @select="onMenuToolBarSelect">
<el-menu-item index="overiew">
<span slot="title">迭代概览</span> <span slot="title">迭代概览</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="detail">
<el-menu-item index="detail">
<span slot="title">迭代详情</span> <span slot="title">迭代详情</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="iterationProductLink">
<span slot="title">配置可见产品</span>
</el-menu-item>
<el-submenu index="project-change"> <el-submenu index="project-change">
<template slot="title">
<template slot="title">
<span slot="title">项目变更</span> <span slot="title">项目变更</span>
</template>
</template>
<el-menu-item index="project-change-base-info"> <el-menu-item index="project-change-base-info">
<span slot="title">基础信息修改</span>
</el-menu-item>
<el-menu-item index="project-change-start">
<span slot="title">立项申请</span>
<span slot="title">基础信息修改</span>
</el-menu-item>
<el-menu-item index="project-change-start">
<span slot="title">立项申请</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="project-change-budget">
<span slot="title">预算+-</span>
<el-menu-item index="project-change-budget">
<span slot="title">预算+-</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="project-change-cost">
<span slot="title">成本+-</span>
<el-menu-item index="project-change-cost">
<span slot="title">成本+-</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="project-change-collection">
<span slot="title">收款</span>
<el-menu-item index="project-change-collection">
<span slot="title">收款</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="project-change-conclusion">
<span slot="title">结项申请</span>
<el-menu-item index="project-change-conclusion">
<span slot="title">结项申请</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="project-change-suspend">
<span slot="title">暂停申请</span>
<el-menu-item index="project-change-suspend">
<span slot="title">暂停申请</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="project-change-activation">
<span slot="title">激活申请</span>
<el-menu-item index="project-change-activation">
<span slot="title">激活申请</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="project-change-to-after-sales">
<el-menu-item index="project-change-to-after-sales">
<span slot="title">转售后申请</span> <span slot="title">转售后申请</span>
</el-menu-item>
<el-menu-item index="project-change-new-pm">
</el-menu-item>
<el-menu-item index="project-change-new-pm">
<span slot="title">项目经理变更申请</span> <span slot="title">项目经理变更申请</span>
</el-menu-item>
<el-menu-item index="project-change-new-leader">
</el-menu-item>
<el-menu-item index="project-change-new-leader">
<span slot="title">组长变更申请</span> <span slot="title">组长变更申请</span>
</el-menu-item>
</el-submenu>
</el-menu-item>
</el-submenu>
<el-submenu index="menu-change"> <el-submenu index="menu-change">
<template slot="title">
<template slot="title">
<span slot="title">需求变更</span> <span slot="title">需求变更</span>
</template>
</template>
<el-menu-item index="menu-change-review"> <el-menu-item index="menu-change-review">
<span slot="title">需求评审</span>
</el-menu-item>
<el-menu-item index="menu-change-border-review">
<span slot="title">需求边界异动</span>
</el-menu-item>
</el-submenu>
<span slot="title">需求评审</span>
</el-menu-item>
<el-menu-item index="menu-change-border-review">
<span slot="title">需求边界异动</span>
</el-menu-item>
</el-submenu>
<el-submenu index="iteration-change"> <el-submenu index="iteration-change">
<template slot="title">
<template slot="title">
<span slot="title">迭代变更</span> <span slot="title">迭代变更</span>
</template>
</template>
<el-menu-item index="iteration-change-review"> <el-menu-item index="iteration-change-review">
<span slot="title">迭代计划评审</span>
</el-menu-item>
<el-menu-item index="iteration-change-border-review">
<span slot="title">迭代上线申请</span>
</el-menu-item>
</el-submenu>
<span slot="title">迭代计划评审</span>
</el-menu-item>
<el-menu-item index="iteration-change-border-review">
<span slot="title">迭代上线申请</span>
</el-menu-item>
</el-submenu>
<el-submenu index="phase-change"> <el-submenu index="phase-change">
<template slot="title">
<template slot="title">
<span slot="title">阶段计划变更</span> <span slot="title">阶段计划变更</span>
</template>
</template>
<el-menu-item index="phase-change-review"> <el-menu-item index="phase-change-review">
<span slot="title">计划评审</span>
</el-menu-item>
<el-menu-item index="phase-change-border-review">
<span slot="title">预算变更</span>
</el-menu-item>
</el-submenu>
</el-menu>
<xm-iteration-overview v-if="showPanelName=='overview'" :xm-iteration="xmIteration"></xm-iteration-overview>
<xm-iteration-edit v-if="showPanelName=='detail'" :xm-iteration="xmIteration"></xm-iteration-edit>
<span slot="title">计划评审</span>
</el-menu-item>
<el-menu-item index="phase-change-border-review">
<span slot="title">预算变更</span>
</el-menu-item>
</el-submenu>
</el-menu>
<xm-iteration-overview v-if="showPanelName=='overiew'" :xm-iteration="xmIteration"></xm-iteration-overview>
<xm-iteration-edit v-if="showPanelName=='detail'" :xm-iteration="xmIteration"></xm-iteration-edit>
<xm-iteration-product-link-mng v-if="showPanelName=='iterationProductLink'" :xm-iteration="xmIteration"></xm-iteration-product-link-mng>
</section> </section>
</template> </template>
@ -90,34 +95,35 @@
import util from "@/common/js/util"; // import util from "@/common/js/util"; //
//import Sticky from "@/components/Sticky"; // header //import Sticky from "@/components/Sticky"; // header
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import XmIterationOverview from './XmIterationOverview.vue';
import XmIterationOverview from './XmIterationOverview.vue';
import XmIterationEdit from './XmIterationEdit.vue'; import XmIterationEdit from './XmIterationEdit.vue';
import XmIterationProductLinkMng from '../xmIterationProductLink/XmIterationProductLinkMng.vue';
export default { export default {
components: {XmIterationOverview,XmIterationEdit },
components: {XmIterationOverview,XmIterationEdit, XmIterationProductLinkMng },
computed: { computed: {
...mapGetters(["userInfo"]),
...mapGetters(["userInfo"]),
}, },
props:['xmIteration'], props:['xmIteration'],
watch:{
watch:{
}, },
data() { data() {
return {
showPanelName:'overview'
return {
showPanelName:'overiew'
}; };
}, },
methods:{ methods:{
onMenuToolBarSelect(menuIndex){ onMenuToolBarSelect(menuIndex){
this.showPanelName=menuIndex; this.showPanelName=menuIndex;
} }
}, },
mounted() { mounted() {
this.$nextTick(() => {
this.$nextTick(() => {
}); });
}, },
@ -125,5 +131,5 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
</style> </style>

115
src/views/xm/core/xmIterationProductLink/XmIterationProductLinkMng.vue

@ -1,46 +1,33 @@
<template> <template>
<section class="app-container">
<section class="app-container">
<el-row> <el-row>
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询">
<template slot="append">
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmIterationProductLinks" icon="el-icon-search">查询</el-button>
</template>
</el-input>
<el-button type="primary" @click="showAdd" icon="el-icon-plus" circle> </el-button>
<el-button type="danger" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0 || load.del==true" icon="el-icon-delete" circle></el-button>
<el-button v-if="xmIteration" @click="productVisible=true" icon="el-icon-plus" > 选择更多产品加入迭代 </el-button>
<el-button v-if="xmProduct" @click="iterationVisible=true" icon="el-icon-plus" > 选择更多迭代加入产品 </el-button>
</el-row> </el-row>
<el-row style="padding-top:10px;"> <el-row style="padding-top:10px;">
<!--列表 XmIterationProductLink 迭代表与产品表的关联关系一般由迭代管理员将迭代挂接到产品表--> <!--列表 XmIterationProductLink 迭代表与产品表的关联关系一般由迭代管理员将迭代挂接到产品表-->
<el-table ref="xmIterationProductLink" :data="xmIterationProductLinks" :max-height="maxTableHeight" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;"> <el-table ref="xmIterationProductLink" :data="xmIterationProductLinks" :max-height="maxTableHeight" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column sortable type="index" width="55"></el-table-column>
<el-table-column prop="iterationId" label="迭代表主键" min-width="80" ></el-table-column>
<el-table-column prop="productId" label="产品表主键" min-width="80" ></el-table-column>
<el-table-column prop="ctime" label="创建时间" min-width="80" ></el-table-column>
<el-table-column prop="cuserid" label="创建人编号" min-width="80" ></el-table-column>
<el-table-column prop="cusername" label="创建人姓名" min-width="80" ></el-table-column>
<el-table-column prop="linkStatus" label="关联状态1关联0取消关联" min-width="80" ></el-table-column>
<el-table-column label="操作" width="120" fixed="right">
<template slot="header">
<el-button @click="showAdd" icon="el-icon-plus" circle> </el-button>
</template>
<el-table-column prop="iterationName" v-if="!xmIteration" label="包含的迭代名称" min-width="150" ></el-table-column>
<el-table-column prop="productName" v-if="!xmProduct" label="包含的产品名称" min-width="150" ></el-table-column>
<el-table-column prop="ctime" label="加入时间" min-width="80" ></el-table-column>
<el-table-column prop="cusername" label="操作者" min-width="80" ></el-table-column>
<el-table-column label="操作" width="120" fixed="right">
<template scope="scope"> <template scope="scope">
<el-button type="primary" @click="showEdit( scope.row,scope.$index)" icon="el-icon-edit" circle></el-button>
<el-button type="danger" @click="handleDel(scope.row,scope.$index)" icon="el-icon-delete" circle></el-button>
<el-button type="danger" @click="handleDel(scope.row,scope.$index)" icon="el-icon-delete" >移出</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination layout="total, sizes, prev, pager, next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"></el-pagination> <el-pagination layout="total, sizes, prev, pager, next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"></el-pagination>
<!--编辑 XmIterationProductLink 迭代表与产品表的关联关系一般由迭代管理员将迭代挂接到产品表界面-->
<el-dialog title="编辑迭代表与产品表的关联关系,一般由迭代管理员将迭代挂接到产品表" :visible.sync="editFormVisible" width="50%" append-to-body :close-on-click-modal="false">
<xm-iteration-product-link-edit :xm-iteration-product-link="editForm" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit"></xm-iteration-product-link-edit>
</el-dialog>
<!--新增 XmIterationProductLink 迭代表与产品表的关联关系一般由迭代管理员将迭代挂接到产品表界面-->
<el-dialog title="新增迭代表与产品表的关联关系,一般由迭代管理员将迭代挂接到产品表" :visible.sync="addFormVisible" width="50%" append-to-body :close-on-click-modal="false">
<xm-iteration-product-link-add :xm-iteration-product-link="addForm" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-iteration-product-link-add>
</el-dialog>
<el-drawer title="选择产品" :visible.sync="productVisible" size="50%" append-to-body :close-on-click-modal="false">
<xm-product-select @row-click="onProductSelect"></xm-product-select>
</el-drawer>
<el-drawer title="选择迭代" :visible.sync="iterationVisible" size="50%" append-to-body :close-on-click-modal="false">
<xm-iteration-select @row-click="onIterationSelect"></xm-iteration-select>
</el-drawer>
</el-row> </el-row>
</section> </section>
</template> </template>
@ -49,12 +36,23 @@
import util from '@/common/js/util';// import util from '@/common/js/util';//
import config from '@/common/config';// import config from '@/common/config';//
import { listOption } from '@/api/mdp/meta/itemOption';// 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 XmIterationProductLinkAdd from './XmIterationProductLinkAdd';//
import XmIterationProductLinkEdit from './XmIterationProductLinkEdit';// import XmIterationProductLinkEdit from './XmIterationProductLinkEdit';//
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import XmProductSelect from '../xmProduct/XmProductSelect.vue';
import XmIterationSelect from '../xmIteration/XmIterationSelect.vue';
export default { export default {
props:['xmIteration','xmProduct'],
watch:{
xmIteration(){
this.getXmIterationProductLinks();
},
xmProduct(){
this.getXmIterationProductLinks();
}
},
computed: { computed: {
...mapGetters([ ...mapGetters([
'userInfo','workSpace' 'userInfo','workSpace'
@ -92,6 +90,8 @@
iterationId:'',productId:'',ctime:'',cuserid:'',cusername:'',linkStatus:'' iterationId:'',productId:'',ctime:'',cuserid:'',cusername:'',linkStatus:''
}, },
maxTableHeight:300, maxTableHeight:300,
productVisible:false,
iterationVisible:false,
} }
},//end data },//end data
methods: { methods: {
@ -144,6 +144,13 @@
params.key="%"+this.filters.key+"%" 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; this.load.list = true;
listXmIterationProductLink(params).then((res) => { listXmIterationProductLink(params).then((res) => {
var tips=res.data.tips; var tips=res.data.tips;
@ -186,7 +193,7 @@
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.load.del=true; this.load.del=true;
let params = { iterationId: row.iterationId };
let params = row;
delXmIterationProductLink(params).then((res) => { delXmIterationProductLink(params).then((res) => {
this.load.del=false; this.load.del=false;
var tips=res.data.tips; var tips=res.data.tips;
@ -220,14 +227,50 @@
this.$emit('row-click',row, event, column);// @row-click="rowClick" this.$emit('row-click',row, event, column);// @row-click="rowClick"
}, },
/**begin 自定义函数请在下面加**/ /**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 自定义函数请在上面加**/
},//end methods },//end methods
components: { components: {
'xm-iteration-product-link-add':XmIterationProductLinkAdd, 'xm-iteration-product-link-add':XmIterationProductLinkAdd,
'xm-iteration-product-link-edit':XmIterationProductLinkEdit, 'xm-iteration-product-link-edit':XmIterationProductLinkEdit,
XmProductSelect,
XmIterationSelect,
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {

44
src/views/xm/core/xmProduct/XmProductOverviewComplex.vue

@ -2,49 +2,11 @@
<section class="page-container page-height-90 padding-left padding-right"> <section class="page-container page-height-90 padding-left padding-right">
<el-menu mode="horizontal" default-active="overview" @select="onMenuToolBarSelect"> <el-menu mode="horizontal" default-active="overview" @select="onMenuToolBarSelect">
<el-menu-item index="overview"> <el-menu-item index="overview">
<span slot="title">项目概览</span>
<span slot="title">产品概览</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="detail"> <el-menu-item index="detail">
<span slot="title">项目详情</span>
</el-menu-item>
<el-submenu index="project-change">
<template slot="title">
<span slot="title">项目变更</span>
</template>
<el-menu-item index="project-change-base-info">
<span slot="title">基础信息修改</span>
</el-menu-item>
<el-menu-item index="project-change-start">
<span slot="title">立项申请</span>
</el-menu-item>
<el-menu-item index="project-change-budget">
<span slot="title">预算+-</span>
</el-menu-item>
<el-menu-item index="project-change-cost">
<span slot="title">成本+-</span>
</el-menu-item>
<el-menu-item index="project-change-collection">
<span slot="title">收款</span>
</el-menu-item>
<el-menu-item index="project-change-conclusion">
<span slot="title">结项申请</span>
</el-menu-item>
<el-menu-item index="project-change-suspend">
<span slot="title">暂停申请</span>
</el-menu-item>
<el-menu-item index="project-change-activation">
<span slot="title">激活申请</span>
</el-menu-item>
<el-menu-item index="project-change-to-after-sales">
<span slot="title">转售后申请</span>
</el-menu-item>
<el-menu-item index="project-change-new-pm">
<span slot="title">项目经理变更申请</span>
</el-menu-item>
<el-menu-item index="project-change-new-leader">
<span slot="title">组长变更申请</span>
</el-menu-item>
</el-submenu>
<span slot="title">产品详情</span>
</el-menu-item>
<el-submenu index="menu-change"> <el-submenu index="menu-change">
<template slot="title"> <template slot="title">
<span slot="title">需求变更</span> <span slot="title">需求变更</span>

2
src/views/xm/core/xmQuestion/XmQuestionMng.vue

@ -217,7 +217,7 @@
watch:{ watch:{
selProject:function(selProject){ selProject:function(selProject){
this.filters.selProject=this.selProject this.filters.selProject=this.selProject
//this.getXmQuestions();
this.getXmQuestions();
}, },
qtype:function(){ qtype:function(){
this.getXmQuestions() this.getXmQuestions()

Loading…
Cancel
Save