Browse Source

优化

master
陈裕财 3 years ago
parent
commit
5a411c8491
  1. 10
      src/views/xm/core/components/XmIterationSelect.vue
  2. 26
      src/views/xm/core/components/XmProductSelect.vue
  3. 20
      src/views/xm/core/components/XmProjectSelect.vue
  4. 64
      src/views/xm/core/xmMenu/XmEpicFeatures.vue
  5. 4
      src/views/xm/core/xmMenu/XmMenuBox.vue

10
src/views/xm/core/components/XmIterationSelect.vue

@ -26,6 +26,8 @@
width="500"
trigger="manual" >
<el-button type="text" style="float:right;margin-top:-40px;" @click="moreVisible=false" icon="el-icon-close">关闭</el-button>
<el-divider></el-divider>
<el-row>
<el-row>
<font class="more-label-font">迭代编号:</font><el-input v-model="filters.id" style="width:200px;" placeholder="输入迭代编号">
@ -436,4 +438,12 @@
.align-right{
float: right;
}
.title {
height: 32px;
line-height: 32px;
text-align: left;
float: left;
min-width: 100px;
}
</style>

26
src/views/xm/core/components/XmProductSelect.vue

@ -38,6 +38,8 @@
<el-button type="text" style="float:right;margin-top:-40px;" @click="moreVisible = false" icon="el-icon-close"
>关闭</el-button>
<el-row>
<el-divider></el-divider>
<el-row>
<font class="more-label-font">产品编号:</font>
<el-input
@ -178,20 +180,22 @@
style="float: right"
></el-pagination>
</el-row>
<slot name="reference"
><el-link
<slot name="reference">
<el-link
title="产品,点击选择、清除选择"
@click="referenceClick"
type="primary"
slot="reference"
v-loading="load.list"
icon="el-icon-s-opportunity"
><font style="font-size: 14px"
><slot name="title">
icon="el-icon-s-opportunity"
>
<span class="title">
<slot name="title">
{{
editForm && editForm.id ? editForm.productName : "选择产品"
}}</slot></font
></el-link
}}</slot>
</span>
</el-link
>
</slot>
</el-popover>
@ -519,4 +523,12 @@ export default {
.align-right {
float: right;
}
.title {
height: 32px;
line-height: 32px;
text-align: left;
float: left;
min-width: 100px;
}
</style>

20
src/views/xm/core/components/XmProjectSelect.vue

@ -38,6 +38,8 @@
>关闭</el-button
>
<el-row>
<el-divider></el-divider>
<el-row>
<font class="more-label-font">项目编号:</font>
<el-input
@ -186,12 +188,12 @@
title="项目,点击选择、清除选择"
type="warning"
icon="el-icon-odometer"
><font style="font-size: 14px"
><slot name="title">{{
>
<span class="title">
<slot name="title">{{
editForm && editForm.id ? editForm.name : "选择项目"
}}</slot></font
></el-link
>
}}</slot></span>
</el-link>
</slot>
</span>
</el-popover>
@ -522,4 +524,12 @@ export default {
.align-right {
float: right;
}
.title {
height: 32px;
line-height: 32px;
text-align: left;
float: left;
min-width: 100px;
}
</style>

64
src/views/xm/core/xmMenu/XmEpicFeatures.vue

@ -3,10 +3,9 @@
<el-row>
<el-col :span="24">
<el-row >
<span style="float:left;">
<el-input style="width:60%;" v-model="filters.key" placeholder="名称 按回车" clearable @keyup.enter.native="searchXmMenus()"></el-input>
<el-popover style="padding-left:10px;"
<xm-product-select ref="xmProductSelect1" v-if="!((xmProduct && xmProduct.id) || (xmIteration && !xmIteration.id))" style="display:inline;" :auto-select="true" :link-project-id="selProject?selProject.id:null" @row-click="onProductSelected" @clear="onProductClearSelect" ></xm-product-select>
<span style="float:right;">
<el-popover
placement="top-start"
width="250"
trigger="click" >
@ -130,17 +129,12 @@
</el-dialog>
<el-drawer title="需求模板" :visible.sync="menuTemplateVisible" size="80%" append-to-body :close-on-click-modal="false">
<xm-menu-template-mng :is-select-menu="true" :visible="menuTemplateVisible" @cancel="menuTemplateVisible=false" @selected-menus="onSelectedMenuTemplates"></xm-menu-template-mng>
</el-drawer>
<el-drawer title="选择员工" :visible.sync="selectFiltersMmUserVisible" size="60%" append-to-body>
<users-select @confirm="onFiltersMmUserSelected" ref="selectFiltersMmUser"></users-select>
</el-drawer>
</el-drawer>
</el-col>
</el-row>
<tag-dialog ref="tagDialog" :tagIds="filters.tags?filters.tags.map(i=>i.tagId):[]" :jump="true" @select-confirm="onTagSelected">
</tag-dialog>
<xm-group-dialog ref="xmGroupDialog" :isSelectSingleUser="true" :sel-project="selProject" :xm-product="filters.xmProduct" @user-confirm="onGroupUserSelect">
</xm-group-dialog>
</tag-dialog>
<el-dialog append-to-body width="60%" top="20px" :visible.sync="parentMenuVisible">
<xm-epic-features-select :xm-product="xmProduct" @select="onParentMenuSelected"></xm-epic-features-select>
</el-dialog>
@ -275,8 +269,7 @@
selectFiltersMmUserVisible:false,
maxTableHeight:300,
dateRanger: [ ],
pickerOptions: util.getPickerOptions('datarange'),
productVisible:false,
pickerOptions: util.getPickerOptions('datarange'),
tagSelectVisible:false,
fieldTagVisible:false,
parentMenuVisible:false,
@ -531,16 +524,17 @@
this.sels = sels;
},
onProductSelected:function(product){
this.filters.product=product
this.productVisible=false;
this.filters.product=product
this.xmMenus=[]
this.getXmMenus()
this.$emit('product-selected',product)
},
onProductClearSelect:function(){
this.filters.product=null
this.productVisible=false;
this.filters.product=null
this.xmMenus=[]
this.getXmMenus()
this.pageInfo.total=0;
//this.getXmMenus()
this.$emit('product-clear')
},
onIterationSelected:function(iteration){
this.filters.iteration=iteration
@ -777,34 +771,7 @@
}
this.$notify({position:'bottom-left',showClose:true,message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.edit=false );
},
onGroupUserSelect(users,option){
this.editXmMenuSomeFields(option.data,"mmUserid",users);
},
clearFiltersMmUser:function(){
this.filters.mmUser=null;
this.searchXmMenus();
},
selectFiltersMmUser(){
this.selectFiltersMmUserVisible=true;
},
onFiltersMmUserSelected(users){
if(users && users.length>0){
this.filters.mmUser=users[0]
}else{
this.filters.mmUser=null;
}
this.selectFiltersMmUserVisible=false;
this.searchXmMenus();
},
setFiltersMmUserAsMySelf(){
this.filters.mmUser=this.userInfo;
this.searchXmMenus();
},
toSelectProduct(){
this.productVisible=true;
},
},
searchSubMenus(row,index){
this.pageInfo.count=true;
this.searchXmMenus();
@ -1011,10 +978,7 @@
initSimpleDicts("all",['menuStatus','demandSource','demandLvl','demandType','priority','dclass']).then(res=>{
Object.assign(this.dicts,res.data.data)
})
this.filters.product=this.xmProduct
if(this.xmProduct && this.xmProduct.id){
this.productVisible=false;
}
this.filters.product=this.xmProduct
if(this.xmIteration && this.xmIteration.id){
this.filters.iterationFilterType='join-curr-iteration'

4
src/views/xm/core/xmMenu/XmMenuBox.vue

@ -2,10 +2,12 @@
<section>
<el-row class="padding-left padding-right">
<el-col :span="8">
<!--
<el-row class="padding-left padding-right" v-if="!xmProduct||!xmProduct.id" >
<xm-product-select ref="xmProductSelect1" style="display:inline;" :auto-select="true" :link-project-id="selProject?selProject.id:null" @row-click="onProductSelected" @clear="onProductClearSelect" ></xm-product-select>
</el-row>
<xm-epic-features v-if="filters.xmProduct && filters.xmProduct.id" :xm-product="filters.xmProduct" :sel-project="selProject" @row-click="onEpicFeaturesRowClick" :disabled-mng="xmIteration&&xmIteration.id?true:false"></xm-epic-features>
-->
<xm-epic-features :xm-product="xmProduct" :sel-project="selProject" @row-click="onEpicFeaturesRowClick" :disabled-mng="xmIteration&&xmIteration.id?true:false" @product-selected="onProductSelected" @product-clear="onProductClearSelect"></xm-epic-features>
</el-col>
<el-col :span="16" v-if="filters.xmProduct && filters.xmProduct.id">
<xm-menu-mng class="padding-left" :xm-product="filters.xmProduct" :sel-project="selProject" :parent-menu="parentMenu" :xm-iteration="xmIteration" :disabled-mng="xmIteration&&xmIteration.id?true:false"></xm-menu-mng>

Loading…
Cancel
Save