Browse Source

优化

master
陈裕财 4 years ago
parent
commit
e9c38a7aa6
  1. 4
      src/views/xm/core/xmIterationMenu/XmIterationMenuMng.vue
  2. 65
      src/views/xm/core/xmMenu/XmMenuSelect.vue

4
src/views/xm/core/xmIterationMenu/XmIterationMenuMng.vue

@ -36,8 +36,8 @@
<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>
</el-row> </el-row>
</el-col> </el-col>
<el-drawer append-to-body title="需求选择" :visible.sync="menuVisible" size="60%" :close-on-click-modal="false">
<xm-menu-select :xm-iteration="xmIteration" :visible="menuVisible" :is-select-menu="true" :multi="true" :exclude-iteration-id="iteration?iteration.id:''" @menus-selected="onSelectedMenus" ></xm-menu-select>
<el-drawer append-to-body title="需求选择" :visible.sync="menuVisible" size="70%" :close-on-click-modal="false">
<xm-menu-select :xm-iteration="xmIteration" :visible="menuVisible" :is-select-menu="true" :multi="true" @menus-selected="onSelectedMenus" ></xm-menu-select>
</el-drawer> </el-drawer>
</el-row> </el-row>
</section> </section>

65
src/views/xm/core/xmMenu/XmMenuSelect.vue

@ -19,20 +19,20 @@
v-model="iterationVisible"> v-model="iterationVisible">
<xm-iteration-select v-if="!xmIteration" :auto-select="false" :sel-project="selProject" @row-click="onIterationSelected" ref="xmProductMng" :xm-product="xmProduct" :simple="true" @clear-select="onIterationClearSelect" @close="iterationVisible=false"></xm-iteration-select> <xm-iteration-select v-if="!xmIteration" :auto-select="false" :sel-project="selProject" @row-click="onIterationSelected" ref="xmProductMng" :xm-product="xmProduct" :simple="true" @clear-select="onIterationClearSelect" @close="iterationVisible=false"></xm-iteration-select>
<el-link title="迭代,点击选择、清除选择" @click="iterationVisible=true" type="warning" slot="reference" v-if="!xmIteration" icon="el-icon-search"><font style="font-size:14px;">{{filters.iteration?filters.iteration.iterationName:'选择迭代'}}</font></el-link> <el-link title="迭代,点击选择、清除选择" @click="iterationVisible=true" type="warning" slot="reference" v-if="!xmIteration" icon="el-icon-search"><font style="font-size:14px;">{{filters.iteration?filters.iteration.iterationName:'选择迭代'}}</font></el-link>
</el-popover>
</el-popover>
<el-select v-model="filters.taskFilterType" placeholder="已分配任务的需求?" clearable style="width: 160px;"> <el-select v-model="filters.taskFilterType" placeholder="已分配任务的需求?" clearable style="width: 160px;">
<el-option value="not-join-any-project" label="未分配任务"></el-option>
<el-option value="join-any-project" label="已分配任务"></el-option>
<el-option value="not-join-curr-project" label="未分配任务到本项目" v-if="selProject && selProject.id"></el-option>
<el-option value="join-curr-project" label="已分配任务到项目" v-if="selProject && selProject.id"></el-option>
<el-option value="not-join-any-project" label="未分配任务的需求"></el-option>
<el-option value="join-any-project" label="已分配任务的需求"></el-option>
<el-option value="not-join-curr-project" :label="'未分配任务到项目【'+selProject.name+'】'" v-if="selProject && selProject.id"></el-option>
<el-option value="join-curr-project" :label="'已分配任务到项目【'+selProject.name+'】'" v-if="selProject && selProject.id"></el-option>
</el-select> </el-select>
<el-select v-model="filters.iterationFilterType" placeholder="加入过迭代?" clearable style="width: 160px;"> <el-select v-model="filters.iterationFilterType" placeholder="加入过迭代?" clearable style="width: 160px;">
<el-option value="not-join-any-iteration" label="未加入过迭代"></el-option> <el-option value="not-join-any-iteration" label="未加入过迭代"></el-option>
<el-option value="join-any-iteration" label="已加入过迭代"></el-option> <el-option value="join-any-iteration" label="已加入过迭代"></el-option>
<el-option value="not-join-curr-iteration" label="未加入本迭代" v-if="filters.iteration && filters.iteration.id"></el-option>
<el-option value="join-curr-iteration" label="已加入本迭代" v-if="filters.iteration && filters.iteration.id"></el-option>
<el-option value="not-join-curr-iteration" :label="'未加入迭代【'+filters.iteration.iterationName+'】'" v-if="filters.iteration && filters.iteration.id"></el-option>
<el-option value="join-curr-iteration" :label="'已加入本迭代【'+filters.iteration.iterationName+'】'" v-if="filters.iteration && filters.iteration.id"></el-option>
</el-select> </el-select>
<el-select v-model="filters.dtype" clearable placeholder="需求类型"> <el-select v-model="filters.dtype" clearable placeholder="需求类型">
<el-option v-for="i in this.dicts.demandType" :label="i.name" :key="i.id" :value="i.id"></el-option> <el-option v-for="i in this.dicts.demandType" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select> </el-select>
@ -138,6 +138,11 @@
<el-drawer title="需求谈论" :visible.sync=" menuDetailVisible" size="80%" append-to-body :close-on-click-modal="false"> <el-drawer title="需求谈论" :visible.sync=" menuDetailVisible" size="80%" append-to-body :close-on-click-modal="false">
<xm-menu-rich-detail :visible="menuDetailVisible" :reload="false" :xm-menu="editForm" ></xm-menu-rich-detail> <xm-menu-rich-detail :visible="menuDetailVisible" :reload="false" :xm-menu="editForm" ></xm-menu-rich-detail>
</el-drawer> </el-drawer>
<el-drawer append-to-body title="标签条件" :visible.sync="tagSelectVisible" size="60%">
<tag-mng :tagIds="filters.tags?filters.tags.map(i=>i.tagId):[]" :jump="true" @select-confirm="onTagSelected">
</tag-mng>
</el-drawer>
</el-row> </el-row>
</section> </section>
</template> </template>
@ -152,13 +157,15 @@
import XmMenuRichDetail from './XmMenuRichDetail'; import XmMenuRichDetail from './XmMenuRichDetail';
import UsersSelect from "@/views/mdp/sys/user/UsersSelect"; import UsersSelect from "@/views/mdp/sys/user/UsersSelect";
import TagMng from "@/views/mdp/arc/tag/TagMng";
import XmIterationSelect from '../xmIteration/XmIterationSelect';// import XmIterationSelect from '../xmIteration/XmIterationSelect';//
import {sn} from '@/common/js/sequence' import {sn} from '@/common/js/sequence'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
export default { export default {
props:['isSelectMenu','excludeIterationId','multi','visible','xmIteration','xmProduct','selProject'],
props:['isSelectMenu','multi','visible','xmIteration','xmProduct','selProject'],
computed: { computed: {
...mapGetters([ ...mapGetters([
'userInfo','roles' 'userInfo','roles'
@ -230,6 +237,7 @@
/**begin 自定义属性请在下面加 请加备注**/ /**begin 自定义属性请在下面加 请加备注**/
maxTableHeight:300, maxTableHeight:300,
dateRanger: [ ], dateRanger: [ ],
tagSelectVisible:false,
pickerOptions: util.pickerOptions('datarange'), pickerOptions: util.pickerOptions('datarange'),
/**end 自定义属性请在上面加 请加备注**/ /**end 自定义属性请在上面加 请加备注**/
} }
@ -363,7 +371,7 @@
params.orderBy= orderBys.join(",") params.orderBy= orderBys.join(",")
} }
if( this.filters.product!==null && this.filters.product.id!=''){
if( this.filters.product && this.filters.product.id){
params.productId=this.filters.product.id params.productId=this.filters.product.id
}else { }else {
this.$notify({showClose: true, message: "请先选择产品", type: 'success' }); this.$notify({showClose: true, message: "请先选择产品", type: 'success' });
@ -434,31 +442,47 @@
this.filters.product=product this.filters.product=product
this.productVisible=false; this.productVisible=false;
this.xmMenus=[] this.xmMenus=[]
this.getXmMenus()
this.searchXmMenus()
}, },
onProductClearSelect:function(){ onProductClearSelect:function(){
this.filters.product=null this.filters.product=null
this.productVisible=false; this.productVisible=false;
this.xmMenus=[] this.xmMenus=[]
this.getXmMenus()
this.searchXmMenus()
}, },
onIterationSelected:function(iteration){ onIterationSelected:function(iteration){
this.filters.iteration=iteration this.filters.iteration=iteration
this.iterationVisible=false; this.iterationVisible=false;
this.xmMenus=[] this.xmMenus=[]
this.getXmMenus()
this.searchXmMenus()
}, },
onIterationClearSelect:function(){ onIterationClearSelect:function(){
this.filters.iteration=null this.filters.iteration=null
this.iterationVisible=false; this.iterationVisible=false;
this.xmMenus=[] this.xmMenus=[]
this.getXmMenus()
this.searchXmMenus()
}, },
clearFiltersTag(tag){
var index=this.filters.tags.findIndex(i=>i.tagId==tag.tagId)
this.filters.tags.splice(index,1);
this.searchXmMenus();
},
onTagSelected(tags){
this.tagSelectVisible = false;
if (!tags || tags.length == 0) {
this.filters.tags=[]
}else{
this.filters.tags=tags
}
this.searchXmMenus();
},
/**end 自定义函数请在上面加**/ /**end 自定义函数请在上面加**/
},//end methods },//end methods
components: { components: {
XmProductSelect,XmMenuRichDetail,UsersSelect,XmIterationSelect
XmProductSelect,XmMenuRichDetail,UsersSelect,XmIterationSelect,TagMng,
// //
}, },
@ -469,9 +493,14 @@
}) })
this.$nextTick(() => { this.$nextTick(() => {
this.maxTableHeight = util.calcTableMaxHeight(this.$refs.table.$el);
if(this.excludeIterationId){
this.filters.iterationFilterType='not-join'
this.maxTableHeight = util.calcTableMaxHeight(this.$refs.table.$el);
if(this.selProject && this.selProject.id){
this.filters.taskFilterType='join-curr-project'
}
if(this.xmIteration && this.xmIteration.id){
this.filters.iterationFilterType='join-curr-iteration'
this.filters.iteration=this.xmIteration
} }
this.filters.product=this.xmProduct this.filters.product=this.xmProduct

Loading…
Cancel
Save