Browse Source

优化

master
陈裕财 4 years ago
parent
commit
16b70ba5db
  1. 43
      src/views/xm/core/xmMenu/XmMenuEdit.vue
  2. 39
      src/views/xm/core/xmMenu/XmMenuMng.vue

43
src/views/xm/core/xmMenu/XmMenuEdit.vue

@ -9,11 +9,20 @@
<el-step v-for="(item,index) in dicts.menuStatus" @click.native="on_click(item.id)" :title="item.name" :key="index"></el-step> <el-step v-for="(item,index) in dicts.menuStatus" @click.native="on_click(item.id)" :title="item.name" :key="index"></el-step>
</el-steps> </el-steps>
</el-row> </el-row>
<el-form-item label="类型" prop="ntype">
<el-radio disabled v-model="editForm.ntype" label="1">需求集</el-radio>
<el-radio disabled v-model="editForm.ntype" label="0">需求</el-radio>
</el-form-item>
<el-row class="padding-bottom">
<el-col :span="12">
<el-form-item label="类型" prop="ntype">
<el-radio disabled v-model="editForm.ntype" label="1">需求集</el-radio>
<el-radio disabled v-model="editForm.ntype" label="0">需求</el-radio>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="标签" prop="ntype">
{{editForm.tagNames?editForm.tagNames:''}}
<el-button type="text" icon="el-icon-plus" @click="tagSelectVisible=true">标签</el-button>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="名称" prop="menuName"> <el-form-item label="名称" prop="menuName">
<el-input v-model="editForm.menuName" placeholder="名称" ></el-input> <el-input v-model="editForm.menuName" placeholder="名称" ></el-input>
</el-form-item> </el-form-item>
@ -55,6 +64,11 @@
<el-button @click.native="handleCancel">取消</el-button> <el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="editSubmit" :disabled="load.edit==true">提交</el-button> <el-button v-loading="load.edit" type="primary" @click.native="editSubmit" :disabled="load.edit==true">提交</el-button>
</el-row> </el-row>
<el-dialog append-to-body title="标签" :visible.sync="tagSelectVisible" class="dialog-body" width="60%">
<tag-mng :tagIds="editForm.tagIds?editForm.tagIds.split(','):[]" :jump="true" @select-confirm="onTagSelected">
</tag-mng>
</el-dialog>
</section> </section>
</template> </template>
@ -65,6 +79,7 @@
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import UsersSelect from "@/views/mdp/sys/user/UsersSelect"; import UsersSelect from "@/views/mdp/sys/user/UsersSelect";
import XmMenuOverview from './XmMenuOverview.vue'; import XmMenuOverview from './XmMenuOverview.vue';
import TagMng from "@/views/mdp/arc/tag/TagMng";
export default { export default {
@ -122,6 +137,7 @@ import XmMenuOverview from './XmMenuOverview.vue';
{id:"9", name:"已删除"}, {id:"9", name:"已删除"},
] ]
}, },
tagSelectVisible:false,
/**begin 在下面加自定义属性,记得补上面的一个逗号**/ /**begin 在下面加自定义属性,记得补上面的一个逗号**/
/**end 在上面加自定义属性**/ /**end 在上面加自定义属性**/
@ -172,9 +188,19 @@ import XmMenuOverview from './XmMenuOverview.vue';
this.editForm.mmUsername='' this.editForm.mmUsername=''
}, },
/**begin 在下面加自定义方法,记得补上面的一个逗号**/ /**begin 在下面加自定义方法,记得补上面的一个逗号**/
on_click(status){
this.editForm.status=status;
}
on_click(status){
this.editForm.status=status;
},
onTagSelected(tags) {
this.tagSelectVisible = false;
if(tags && tags.length>0){
this.editForm.tagIds=tags.map(i=>i.tagId).join(",")
this.editForm.tagNames=tags.map(i=>i.tagName).join(",")
}else{
this.editForm.tagIds=""
this.editForm.tagNames=""
}
},
/**end 在上面加自定义方法**/ /**end 在上面加自定义方法**/
},//end method },//end method
@ -182,6 +208,7 @@ import XmMenuOverview from './XmMenuOverview.vue';
// 'xm-menu-edit':XmMenuEdit // 'xm-menu-edit':XmMenuEdit
UsersSelect, UsersSelect,
XmMenuOverview, XmMenuOverview,
TagMng,
}, },
mounted() { mounted() {
this.editForm=Object.assign(this.editForm, this.xmMenu); this.editForm=Object.assign(this.editForm, this.xmMenu);

39
src/views/xm/core/xmMenu/XmMenuMng.vue

@ -9,7 +9,7 @@
<el-select v-model="filters.status" placeholder="需求状态" clearable style="width: 100px;"> <el-select v-model="filters.status" placeholder="需求状态" clearable style="width: 100px;">
<el-option :value="item.id" :label="item.name" v-for="(item,index) in dicts.menuStatus" :key="index"></el-option> <el-option :value="item.id" :label="item.name" v-for="(item,index) in dicts.menuStatus" :key="index"></el-option>
</el-select> </el-select>
<el-select v-model="filters.taskFilterType" placeholder="是否分配了任务?" clearable >
<el-select v-model="filters.taskFilterType" placeholder="是否分配任务" clearable style="width: 140px;">
<el-option value="not-join" label="未分配任何任务的需求"></el-option> <el-option value="not-join" label="未分配任何任务的需求"></el-option>
<el-option value="join" label="已分配任务的需求"></el-option> <el-option value="join" label="已分配任务的需求"></el-option>
</el-select> </el-select>
@ -17,7 +17,9 @@
<el-input v-model="filters.key" style="width: 15%;" placeholder="模糊查询" clearable> <el-input v-model="filters.key" style="width: 15%;" placeholder="模糊查询" clearable>
</el-input> </el-input>
<el-button type="primary" v-loading="load.list" :disabled="load.list==true" v-on:click="searchXmMenus" icon="el-icon-search"></el-button> <el-button type="primary" v-loading="load.list" :disabled="load.list==true" v-on:click="searchXmMenus" icon="el-icon-search"></el-button>
<el-button v-if="!filters.tags||filters.tags.length==0" @click.native="tagSelectVisible=true">标签</el-button>
<el-tag v-else @click="tagSelectVisible=true" closable @close="clearFiltersTag(filters.tags[0])">{{filters.tags[0].tagName.substr(0,5)}}({{filters.tags.length}})</el-tag>
<el-button v-if="!selProject&&!xmIteration&&disabledMng!=false" type="primary" @click="showAdd" icon="el-icon-plus">需求</el-button> <el-button v-if="!selProject&&!xmIteration&&disabledMng!=false" type="primary" @click="showAdd" icon="el-icon-plus">需求</el-button>
<el-button v-if=" batchEditVisible==false&&disabledMng!=false " @click="loadTasksToXmMenuState" icon="el-icon-s-marketing">汇总进度</el-button> <el-button v-if=" batchEditVisible==false&&disabledMng!=false " @click="loadTasksToXmMenuState" icon="el-icon-s-marketing">汇总进度</el-button>
@ -27,6 +29,12 @@
width="400" width="400"
trigger="click" > trigger="click" >
<el-row> <el-row>
<el-col :span="24" style="padding-top:5px;" >
<font class="more-label-font">标签条件:</font>
<el-button v-if="!filters.tags||filters.tags.length==0" @click.native="tagSelectVisible=true">标签</el-button>
<el-tag v-else @click="tagSelectVisible=true" closable @close="clearFiltersTag(filters.tags[0])">{{filters.tags[0].tagName.substr(0,5)}}({{filters.tags.length}})</el-tag>
</el-col>
<el-col :span="24" style="padding-top:5px;" > <el-col :span="24" style="padding-top:5px;" >
<el-select v-model="filters.iterationFilterType" placeholder="是否加入过迭代?" clearable > <el-select v-model="filters.iterationFilterType" placeholder="是否加入过迭代?" clearable >
<el-option value="not-join" label="未加入任何迭代的需求"></el-option> <el-option value="not-join" label="未加入任何迭代的需求"></el-option>
@ -109,6 +117,9 @@
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.finishRate"><el-tag :type="scope.row.finishRate>=100?'success':'warning'">{{scope.row.finishRate}}%</el-tag></span> <span v-if="scope.row.finishRate"><el-tag :type="scope.row.finishRate>=100?'success':'warning'">{{scope.row.finishRate}}%</el-tag></span>
</template> </template>
</el-table-column>
<el-table-column prop="tagNames" label="标签" width="100" show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column prop="ctime" label="创建日期" width="100" show-overflow-tooltip> <el-table-column prop="ctime" label="创建日期" width="100" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
@ -292,7 +303,7 @@
mmUser:null, mmUser:null,
iterationFilterType:'',//joinnot-join'' iterationFilterType:'',//joinnot-join''
taskFilterType:'',//joinnot-join'' taskFilterType:'',//joinnot-join''
tags:[],
parentMenu:null, parentMenu:null,
parentMenuList:[], parentMenuList:[],
}, },
@ -417,7 +428,10 @@
params.ctimeStart=this.dateRanger[0] params.ctimeStart=this.dateRanger[0]
params.ctimeEnd=this.dateRanger[1] params.ctimeEnd=this.dateRanger[1]
} }
if(!(params.ctimeStart||params.pmenuId||params.projectId||params.iterationId||params.iterationFilterType||params.mmUserid||params.key||params.taskFilterType)){
if(this.filters.tags && this.filters.tags.length>0){
params.tagIdList=this.filters.tags.map(i=>i.tagId)
}
if(!(params.ctimeStart||params.pmenuId||params.projectId||params.iterationId||params.iterationFilterType||params.mmUserid||params.key||params.taskFilterType||params.tagIdList)){
params.isTop="1" params.isTop="1"
} }
return params; return params;
@ -889,6 +903,21 @@
this.filters.parentMenuList.splice(index+1,this.filters.parentMenuList.length-index) this.filters.parentMenuList.splice(index+1,this.filters.parentMenuList.length-index)
this.pageInfo.count=true this.pageInfo.count=true
this.searchXmMenus(); 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 methods },//end methods
components: { components: {
@ -903,7 +932,7 @@
XmIterationMng, XmIterationMng,
UsersSelect, UsersSelect,
XmMenuMngBatch, XmMenuMngBatch,
TagMng,
// //
}, },
mounted() { mounted() {

Loading…
Cancel
Save