Browse Source

优化

master
陈裕财 4 years ago
parent
commit
d6a53cc842
  1. 6
      src/views/xm/core/xmMenu/XmMenuMng.vue
  2. 86
      src/views/xm/core/xmQuestion/XmQuestionMng.vue
  3. 5
      src/views/xm/core/xmTask/XmTaskMng.vue

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

@ -200,6 +200,11 @@
<el-row v-if="batchEditVisible && filters.product" :span="24">
<xm-menu-mng-batch :sel-project="selProject" @no-batch-edit="noBatchEdit" :product="filters.product"></xm-menu-mng-batch>
</el-row>
<el-dialog append-to-body title="标签条件" :visible.sync="tagSelectVisible" class="dialog-body" width="60%">
<tag-mng :tagIds="filters.tags?filters.tags.map(i=>i.tagId):[]" :jump="true" @select-confirm="onTagSelected">
</tag-mng>
</el-dialog>
</section>
</template>
@ -223,6 +228,7 @@
import XmTaskListForMenu from '../xmTask/XmTaskListForMenu';
import XmIterationMng from '../xmIteration/XmIterationSelect';//
import UsersSelect from "@/views/mdp/sys/user/UsersSelect";
import TagMng from "@/views/mdp/arc/tag/TagMng";
import {sn} from '@/common/js/sequence'

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

@ -1,11 +1,11 @@
<template>
<section class="padding">
<el-row>
<el-select v-model="filters.bugStatus" placeholder="请选择状态" style="width:15%;" clearable @change="changeBugStatus">
<el-select v-model="filters.bugStatus" placeholder="请选择状态" clearable @change="changeBugStatus">
<el-option v-for="(b,index) in options['bugStatus']" :value="b.optionValue" :key="index" :label="b.optionName">{{b.optionName}}
</el-option>
</el-select>
<el-select class="hidden-md-and-down" v-model="filters.priority" placeholder="紧急程度" style="width:15%;" clearable @change="changePriority">
<el-select class="hidden-md-and-down" v-model="filters.priority" placeholder="紧急程度" clearable @change="changePriority">
<el-option v-for="(b,index) in options['urgencyLevel']" :value="b.optionValue" :key="index" :label="b.optionName">{{b.optionName}}
</el-option>
</el-select>
@ -13,15 +13,10 @@
<el-option v-for="(b,index) in options['bugSeverity']" :value="b.optionValue" :key="index" :label="b.optionName">{{b.optionName}}
</el-option>
</el-select>
<el-tag v-if=" filters.product " closable @close="clearProduct">{{this.filters.product.productName}}</el-tag>
<el-button v-else @click="showProductVisible" type="plian">选产品</el-button>
<el-button v-if=" !filters.menus || filters.menus.length==0" @click="showMenu"> 选择需求</el-button>
<el-tag v-else closable @close="clearFiltersMenu(filters.menus[0])">{{filters.menus[0].menuName.substr(0,5)}}({{filters.menus.length}})</el-tag>
<el-input style="width:200px;" v-model="filters.key" placeholder="缺陷名称">
<template slot="append">
<el-button @click="searchXmQuestions" type="primary" icon="el-icon-search"></el-button>
</template>
<el-input style="width:200px;" v-model="filters.key" placeholder="缺陷名称">
</el-input>
<el-button @click="searchXmQuestions" type="primary" icon="el-icon-search"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="showAdd">
</el-button>
<el-popover
@ -37,8 +32,12 @@
<el-col :span="24" style="padding-top:12px;" v-if="!selProject">
<font class="more-label-font">项目:</font>
<el-tag v-if="filters.selProject && !selProject" closable @close="clearProject" @click="showProjectList(true)">{{ filters.selProject.name }}</el-tag>
<el-button v-else @click="showProjectList(true)" >选择项目</el-button>
<el-button v-else @click="showProjectList(true)" >选择项目</el-button>
</el-col>
<el-col :span="24" style="padding-top:12px;">
<font class="more-label-font">需求:</font>
<el-button v-if=" !filters.menus || filters.menus.length==0" @click="showMenu"> 需求</el-button>
<el-tag v-else @click="showMenu" closable @close="clearFiltersMenu(filters.menus[0])">{{filters.menus[0].menuName.substr(0,5)}}({{filters.menus.length}})</el-tag>
</el-col>
<el-col :span="24" style="padding-top:12px;">
<font class="more-label-font">创建者:</font>
@ -120,12 +119,26 @@
<el-button slot="reference" icon="el-icon-more"></el-button>
</el-popover>
</el-row>
<el-row>
<el-tag @click="showProductVisible" v-if=" filters.product " closable @close="clearProduct">{{this.filters.product.productName}}</el-tag>
<el-button v-else @click="showProductVisible" type="plian">产品</el-button>
<el-tag v-if="filters.selProject && !selProject" closable @close="clearProject" @click="showProjectList(true)">{{ filters.selProject.name }}</el-tag>
<el-button v-else @click="showProjectList(true)" >选择项目</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=" !filters.menus || filters.menus.length==0" @click="showMenu"> 需求</el-button>
<el-tag v-else @click="showMenu" closable @close="clearFiltersMenu(filters.menus[0])">{{filters.menus[0].menuName.substr(0,5)}}({{filters.menus.length}})</el-tag>
<el-button v-if="!filters.handlerUsername" @click="showGroupUsers('handlerUser')">选择被指派人</el-button>
<el-tag v-else closable @close="clearHandler" @click="showGroupUsers('handlerUser')">指派给{{filters.handlerUsername}}</el-tag>
<el-button v-if="filters.handlerUserid!=userInfo.userid" @click="setFiltersHandlerAsMySelf">指派给我的</el-button>
</el-row>
<el-row class="padding-top">
<!--列表 XmQuestion xm_question-->
<el-table ref="table" :height="tableHeight" :data="xmQuestions" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column prop="name" label="缺陷名称" min-width="150" show-overflow-tooltip>
<template slot-scope="scope">
<el-link type="primary" @click="showEdit(scope.row)">
<el-link @click="showEdit(scope.row)">
<el-tag type="info" v-if="scope.row.bugSeverity=='4' ">{{formatterOption(scope.row,{property:'bugSeverity'},scope.row.bugSeverity)}}</el-tag>
<el-tag type="primary" v-else-if="scope.row.bugSeverity=='3'">{{formatterOption(scope.row,{property:'bugSeverity'},scope.row.bugSeverity)}}</el-tag>
<el-tag type="warning" v-else-if="scope.row.bugSeverity=='2'">{{formatterOption(scope.row,{property:'bugSeverity'},scope.row.bugSeverity)}}</el-tag>
@ -135,20 +148,6 @@
</el-link>
</template>
</el-table-column>
<el-table-column prop="flowState" label="升级" width="100" show-overflow-tooltip>
<template slot-scope="scope">
<el-tooltip v-if="scope.row.flowState!='' && scope.row.flowState!=null" :content="showApprovaInfo(scope.row)" placement="bottom" effect="light">
<el-tag v-if="scope.row.flowState=='0' || scope.row.flowState==null ">未发审</el-tag>
<el-tag v-else-if="scope.row.flowState=='1'">审核中</el-tag>
<el-tag v-else-if="scope.row.flowState=='2'">已通过</el-tag>
<el-tag v-else-if="scope.row.flowState=='3'">未通过</el-tag>
<el-tag v-else-if="scope.row.flowState=='4'">已取消</el-tag>
</el-tooltip>
<el-button icon="el-icon-upload2" v-if="!scope.row.flowState" type="text" @click="handleCommand({type:'sendToProcessApprova',data:scope.row,bizKey:'xm_question_up_approva'})">{{qtype=='risk'?'':''}}</el-button>
</template>
</el-table-column>
<el-table-column prop="bugStatus" label="状态" width="100">
<template slot-scope="scope">
<el-tag type="info" v-if="scope.row.bugStatus=='create' ">创建</el-tag>
@ -167,8 +166,13 @@
<el-table-column prop="createTime" label="创建时间" width="100" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="ltime" label="更新时间" width="100" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="handlerUsername" label="指派给" width="100" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="tagNames" label="标签" width="100" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="menuName" label="需求" width="100" show-overflow-tooltip></el-table-column>
</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>
@ -196,6 +200,11 @@
<el-drawer title="选择产品" :visible.sync="productSelectVisible" size="70%" append-to-body :close-on-click-modal="false">
<xm-product-select :isSelectProduct="true" :selProject="filters.selProject" :visible="productSelectVisible" @cancel="productSelectVisible=false" @selected="onProductSelected"></xm-product-select>
</el-drawer>
<el-dialog append-to-body title="标签条件" :visible.sync="tagSelectVisible" class="dialog-body" width="60%">
<tag-mng :tagIds="filters.tags?filters.tags.map(i=>i.tagId):[]" :jump="true" @select-confirm="onTagSelected">
</tag-mng>
</el-dialog>
</section>
</template>
@ -215,6 +224,7 @@
import XmProjectList from '../xmProject/XmProjectList';
import XmProductSelect from '../xmProduct/XmProductSelect';//
import TagMng from "@/views/mdp/arc/tag/TagMng";
export default {
computed: {
@ -258,6 +268,7 @@
createUser:null,
hisHandler:null,
hisHandleStatus:null,
tags:[],
},
xmQuestions: [],//
@ -341,6 +352,7 @@
],
pickerOptions: util.pickerOptions('datarange'),
userType:'',//createUserhandlerUser
tagSelectVisible:false,
/**end 自定义属性请在上面加 请加备注**/
}
@ -462,6 +474,9 @@
if(this.filters.key){
params.key='%'+this.filters.key+'%'
}
if(this.filters.tags && this.filters.tags.length>0){
params.tagIdList=this.filters.tags.map(i=>i.tagId)
}
params.qtype=this.qtype
listXmQuestion(params).then((res) => {
var tips=res.data.tips;
@ -507,6 +522,11 @@
this.filters.menus.splice(index,1);
this.searchXmQuestions();
},
clearFiltersTag(tag){
var index=this.filters.tags.findIndex(i=>i.tagId==tag.tagId)
this.filters.tags.splice(index,1);
this.searchXmQuestions();
},
// XmQuestion xm_question
showEdit: function ( row,index ) {
this.editFormVisible = true;
@ -899,13 +919,23 @@
msg=row.createUsername+'创建的缺陷'
}
return msg;
},
onTagSelected(tags) {
this.tagSelectVisible = false;
if (!tags || tags.length == 0) {
this.filters.tags=[]
}else{
this.filters.tags=tags
}
this.searchXmQuestions();
}
},//end methods
components: {
'xm-question-add':XmQuestionAdd,
'xm-question-edit':XmQuestionEdit,
XmGroupMng,XmProjectList,xmMenuSelect,XmProductSelect
XmGroupMng,XmProjectList,xmMenuSelect,XmProductSelect,TagMng,
//
},
mounted() {

5
src/views/xm/core/xmTask/XmTaskMng.vue

@ -397,6 +397,10 @@
<el-drawer title="选择产品" :visible.sync="productSelectVisible" :size="650" append-to-body :close-on-click-modal="false">
<xm-product-select :isSelectProduct="true" :selProject="filters.selProject" :visible="productSelectVisible" @cancel="productSelectVisible=false" @selected="onProductSelected"></xm-product-select>
</el-drawer>
<el-dialog append-to-body title="标签条件" :visible.sync="tagSelectVisible" class="dialog-body" width="60%">
<tag-mng :tagIds="filters.tags?filters.tags.map(i=>i.tagId):[]" :jump="true" @select-confirm="onTagSelected">
</tag-mng>
</el-dialog>
</section>
</template>
@ -427,6 +431,7 @@
import XmMenuRichDetail from '../xmMenu/XmMenuRichDetail';
import XmProductSelect from '../xmProduct/XmProductSelect';//
import TagMng from "@/views/mdp/arc/tag/TagMng";
import XmGantt from '../components/xm-gantt';
import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue';

Loading…
Cancel
Save