diff --git a/src/views/xm/core/components/XmIterationSelect.vue b/src/views/xm/core/components/XmIterationSelect.vue index a6c77329..4ba3d291 100644 --- a/src/views/xm/core/components/XmIterationSelect.vue +++ b/src/views/xm/core/components/XmIterationSelect.vue @@ -3,7 +3,7 @@ @@ -59,7 +59,7 @@ - {{editForm&&editForm.id?editForm.iterationName:'选择迭代'}} + {{editForm&&editForm.id?editForm.iterationName:'选择迭代'}} @@ -131,7 +131,7 @@ }, /**begin 自定义属性请在下面加 请加备注**/ maxTableHeight:300, - tableVisible:false, + iterationVisible:false, moreVisible:false, /**end 自定义属性请在上面加 请加备注**/ } @@ -206,9 +206,11 @@ map.set(this.linkProjectId,this.xmIterations) } if(this.autoSelect===true&&this.xmIterations.length>0){ - var row=this.xmIterations[0]; - this.$refs.table.setCurrentRow(row); - this.rowClick(row); + if(this.autoSelect!==false&&this.xmIterations.length>0 && this.iterationVisible==false){ + var row=this.xmIterations[0]; + this.$refs.table.setCurrentRow(row); + this.rowClick(row); + } } }else{ this.$notify({showClose: true, message: tips.msg, type: 'error' }); @@ -224,10 +226,11 @@ rowClick: function(row, event, column){ var oldId=this.editForm.id this.editForm=row - this.tableVisible=false; + this.iterationVisible=false; + this.moreVisible=false; if(oldId!=this.editForm.id){ this.$emit("change",row) - } + } this.$emit('row-click',row, event, column);// @row-click="rowClick" }, /**end 自定义函数请在上面加**/ @@ -239,7 +242,7 @@ } }, close(){ - this.tableVisible=false; + this.iterationVisible=false; this.$emit("close") }, initData(){ @@ -247,11 +250,25 @@ var xmIterations=map.get(this.productId); if(xmIterations){ this.xmIterations=xmIterations; + if(this.autoSelect!==false&&this.xmIterations.length>0 && this.iterationVisible==false){ + var row=this.xmIterations[0]; + this.$refs.table.setCurrentRow(row); + this.rowClick(row); + } + }else{ + this.searchXmIterations(); } }else if(this.linkProjectId){ var xmIterations=map.get(this.linkProjectId); if(xmIterations){ this.xmIterations=xmIterations; + if(this.autoSelect!==false&&this.xmIterations.length>0 && this.iterationVisible==false){ + var row=this.xmIterations[0]; + this.$refs.table.setCurrentRow(row); + this.rowClick(row); + } + }else{ + this.searchXmIterations(); } }else{ this.searchXmIterations(); @@ -266,7 +283,8 @@ if(oldId!=this.editForm.id){ this.$emit("change",null) } - this.tableVisible=false; + this.iterationVisible=false; + this.moreVisible=false; this.$emit('clear',null );// @row-click="rowClick" }, },//end methods diff --git a/src/views/xm/core/components/XmProductSelect.vue b/src/views/xm/core/components/XmProductSelect.vue index 3189893c..8a420800 100644 --- a/src/views/xm/core/components/XmProductSelect.vue +++ b/src/views/xm/core/components/XmProductSelect.vue @@ -1,6 +1,6 @@ @@ -88,12 +157,11 @@ //import { initSimpleDicts } from '@/api/mdp/meta/item';//下拉框数据查询 import { listXmProductWithState } from '@/api/xm/core/xmProduct'; import { mapGetters } from 'vuex' - import UsersSelect from "@/views/mdp/sys/user/UsersSelect"; - import { loadTasksToXmProductState } from '@/api/xm/core/xmProductState'; + import UsersSelect from "@/views/mdp/sys/user/UsersSelect"; const map=new Map(); export default { - props:['linkProjectId','iterationId','autoSelect'], + props:['dialog','linkProjectId','iterationId','autoSelect'], computed: { ...mapGetters([ 'userInfo','roles' @@ -101,11 +169,11 @@ }, watch:{ iterationId(){ - this.getXmProducts(); + this.initData(); }, linkProjectId(){ - this.getXmProducts(); + this.initData(); } }, data() { @@ -198,7 +266,7 @@ params.key="%"+this.filters.key+"%" } if(this.linkProjectId){ - params.linkProjectId=this.linkProjectId + params.projectId=this.linkProjectId } if(this.iterationId){ params.iterationId=this.iterationId @@ -222,10 +290,10 @@ }else if(this.linkProjectId){ map.set(this.linkProjectId,this.xmProducts) } - if(this.autoSelect===true&&this.xmProducts.length>0){ - var row=this.xmProducts[0]; + if(this.autoSelect!==false&&this.xmProducts.length>0 && this.productVisible==false){ + var row=this.xmProducts[0]; this.$refs.table.setCurrentRow(row); - this.rowClick(row); + this.rowClick(row); } }else{ this.$notify({showClose: true, message: tips.msg, type: 'error' }); @@ -244,11 +312,13 @@ this.$emit('row-click',row, event, column);// @row-click="rowClick" this.selectedProduct(row) this.productVisible=false; + this.moreVisible=false; }, selectedProduct:function(row){ this.editForm=row this.$emit('selected',row); this.productVisible=false; + this.moreVisible=false; }, /**begin 自定义函数请在下面加**/ @@ -284,22 +354,43 @@ this.$emit("clear-select"); this.selectedProduct(null); this.productVisible=false; + this.moreVisible=false; }, close(){ this.productVisible=false; + this.moreVisible=false; this.$emit("close"); }, initData(){ + debugger; if(this.iterationId){ var xmProducts=map.get(this.iterationId); if(xmProducts){ this.xmProducts=xmProducts; + if(this.productVisible==false){ + if(this.autoSelect!==false && this.xmProducts.length>0){ + var row=this.xmProducts[0]; + this.$refs.table.setCurrentRow(row); + this.rowClick(row); + } + } + }else{ + this.searchXmProducts(); } }else if(this.linkProjectId){ var xmProducts=map.get(this.linkProjectId); if(xmProducts){ - this.xmProducts=xmProducts; + this.xmProducts=xmProducts; + if(this.productVisible==false){ + if(this.autoSelect!==false && this.xmProducts.length>0){ + var row=this.xmProducts[0]; + this.$refs.table.setCurrentRow(row); + this.rowClick(row); + } + } + }else{ + this.searchXmProducts(); } }else{ this.searchXmProducts(); diff --git a/src/views/xm/core/components/XmProjectSelect.vue b/src/views/xm/core/components/XmProjectSelect.vue new file mode 100644 index 00000000..3c55451e --- /dev/null +++ b/src/views/xm/core/components/XmProjectSelect.vue @@ -0,0 +1,355 @@ + + + + \ No newline at end of file diff --git a/src/views/xm/core/xmGroup/XmGroupMng.vue b/src/views/xm/core/xmGroup/XmGroupMng.vue index 96b932b6..d89aa548 100644 --- a/src/views/xm/core/xmGroup/XmGroupMng.vue +++ b/src/views/xm/core/xmGroup/XmGroupMng.vue @@ -1,14 +1,8 @@ @@ -200,10 +189,6 @@ }, //显示新增界面 XmIterationMenu 迭代定义 showAdd: function () { - if(!this.roles.some(i=>i.roleid=='iterationAdmin')){ - this.$notify({showClose: true, message: "只有迭代管理员可以操作", type: 'error' }); - return ; - } this.menuVisible = true; //this.addForm=Object.assign({}, this.editForm); }, diff --git a/src/views/xm/core/xmMenu/XmMenuMng.vue b/src/views/xm/core/xmMenu/XmMenuMng.vue index 6c256178..3d2a899c 100644 --- a/src/views/xm/core/xmMenu/XmMenuMng.vue +++ b/src/views/xm/core/xmMenu/XmMenuMng.vue @@ -2,52 +2,88 @@
- - - - - {{filters.product?filters.product.productName:'选择产品'}} - - - + + + + - + + + + + + + - - - - - - + + + + +
+ +
+ 新建史诗 +
+ +
+ +
+ 新建特性 +
+ + +
+ +
+ 新建用户故事 +
+ + + + 由模板快速导入需求 + +
+ +
+ + + + + + - +
+
+ + + - + - + - 标签条件 - {{filters.tags[0].tagName.substr(0,5)}}等({{filters.tags.length}})个 - - + - + + 标签条件 + {{filters.tags[0].tagName.substr(0,5)}}等({{filters.tags.length}})个 + + @@ -129,9 +165,9 @@ - 标签条件 - {{filters.tags[0].tagName.substr(0,5)}}等({{filters.tags.length}})个 - + 标签条件 + {{filters.tags[0].tagName.substr(0,5)}}等({{filters.tags.length}})个 + @@ -144,46 +180,7 @@ - - - - - -
- -
- 新建史诗 -
- -
- -
- 新建特性 -
- - -
- -
- 新建用户故事 -
- - - - 由模板快速导入需求 - -
- -
- - - - - -
+
@@ -202,7 +199,7 @@ {{scope.row.seqNo}}   {{scope.row.menuName}}
- + @@ -747,7 +744,7 @@ this.addForm.dclass=dclass this.addFormVisible = true; }else{ - this.productVisible=true; + this.$refs.xmProductSelect1.productVisible=true; this.$notify({showClose: true, message: "请先选择一个产品", type: 'warning'}); } diff --git a/src/views/xm/core/xmMenu/XmMenuSelect.vue b/src/views/xm/core/xmMenu/XmMenuSelect.vue index f16507a4..c18f6d14 100644 --- a/src/views/xm/core/xmMenu/XmMenuSelect.vue +++ b/src/views/xm/core/xmMenu/XmMenuSelect.vue @@ -2,24 +2,11 @@
- - - - {{filters.product?filters.product.productName:'选择产品'}} - - - - - {{filters.iteration?filters.iteration.iterationName:'选择迭代'}} - + + + + + @@ -33,20 +20,20 @@ - + - + - + 标签条件 {{filters.tags[0].tagName.substr(0,5)}}等({{filters.tags.length}})个 - + @@ -106,7 +93,7 @@ - 确认选择 + 确认选择 @@ -130,9 +117,6 @@ - - - @@ -43,7 +40,7 @@ import XmProductProjectLinkEdit from './XmProductProjectLinkEdit';//修改界面 import { mapGetters } from 'vuex' import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue' -import XmProjectSelect from '../xmProject/XmProjectSelect.vue'; +import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect.vue' export default { props:['selProject','xmProduct'], @@ -92,9 +89,7 @@ import XmProjectSelect from '../xmProject/XmProjectSelect.vue'; projectId:'',productId:'',ctime:'',cuserid:'',cusername:'',linkStatus:'' }, maxTableHeight:300, - productVisible:false, - projectVisible:false, - } + } },//end data methods: { handleSizeChange(pageSize) { diff --git a/src/views/xm/core/xmProject/XmProjectForLinkComplex.vue b/src/views/xm/core/xmProject/XmProjectForLinkComplex.vue index faece9cd..cbca2760 100644 --- a/src/views/xm/core/xmProject/XmProjectForLinkComplex.vue +++ b/src/views/xm/core/xmProject/XmProjectForLinkComplex.vue @@ -4,15 +4,9 @@ -
- - - {{selProject?selProject.name:'选择项目'}} - - +
+ +
@@ -74,7 +68,7 @@ import XmProductMng from '../xmProduct/XmProductMng.vue'; import XmTaskMng from '../xmTask/XmTaskMng.vue'; import XmQuestionMng from '../xmQuestion/XmQuestionMng.vue'; -import XmProjectSelect from './XmProjectSelect.vue'; +import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect.vue'; import XmProjectForLink from './XmProjectForLink.vue'; import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue' diff --git a/src/views/xm/core/xmQuestion/XmQuestionMng.vue b/src/views/xm/core/xmQuestion/XmQuestionMng.vue index 5aaaf787..f4a46b3d 100644 --- a/src/views/xm/core/xmQuestion/XmQuestionMng.vue +++ b/src/views/xm/core/xmQuestion/XmQuestionMng.vue @@ -27,8 +27,8 @@ trigger="click" > - 产品:{{this.filters.product.productName}} - 选产品 + 产品: + 项目: @@ -194,11 +194,7 @@ - - - - - + diff --git a/src/views/xm/core/xmTask/XmTaskList.vue b/src/views/xm/core/xmTask/XmTaskList.vue index 8905dc8e..a729bce9 100644 --- a/src/views/xm/core/xmTask/XmTaskList.vue +++ b/src/views/xm/core/xmTask/XmTaskList.vue @@ -99,7 +99,7 @@ import { initSimpleDicts } from '@/api/mdp/meta/item';//下拉框数据查询 import { getTask ,listXmTask,editXmTask,editRate, delXmTask, batchDelXmTask,batchImportTaskFromTemplate,batchSaveBudget } from '@/api/xm/core/xmTask'; import { mapGetters } from 'vuex'; - import XmProjectSelect from '../xmProject/XmProjectSelect'; + import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect'; export default { computed: { diff --git a/src/views/xm/core/xmTask/XmTaskMng.vue b/src/views/xm/core/xmTask/XmTaskMng.vue index 85f08f44..f9500035 100644 --- a/src/views/xm/core/xmTask/XmTaskMng.vue +++ b/src/views/xm/core/xmTask/XmTaskMng.vue @@ -1122,7 +1122,7 @@ import xmMenuSelect from "../xmMenu/XmMenuSelect"; import { addXmMyFocus, delXmMyFocus } from "@/api/xm/core/xmMyFocus"; -import XmProjectSelect from "../xmProject/XmProjectSelect"; +import XmProjectSelect from "@/views/xm/core/components/XmProjectSelect"; import XmMenuRichDetail from "../xmMenu/XmMenuRichDetail"; import XmProductSelect from "@/views/xm/core/components/XmProductSelect"; //修改界面 diff --git a/src/views/xm/core/xmTestCase/XmTestCaseMng.vue b/src/views/xm/core/xmTestCase/XmTestCaseMng.vue index a4fa4981..7627d02a 100644 --- a/src/views/xm/core/xmTestCase/XmTestCaseMng.vue +++ b/src/views/xm/core/xmTestCase/XmTestCaseMng.vue @@ -22,8 +22,8 @@ trigger="click" > - 产品:{{this.filters.product.productName}} - 选产品 + 产品: + 项目:{{this.filters.selProject.name}} @@ -117,11 +117,7 @@ - - - - - +