Browse Source

优化

master
陈裕财 3 years ago
parent
commit
cbdde6d9b4
  1. 249
      src/views/xm/core/xmMenu/XmMenuMng.vue
  2. 157
      src/views/xm/core/xmQuestion/XmQuestionMng.vue

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

@ -14,7 +14,7 @@
<el-popover
placement="top-start"
title="更多查询条件或者操作"
width="600"
width="800"
v-model="moreVisible"
trigger="manual" >
@ -26,146 +26,132 @@
>关闭</el-button
>
</el-row>
<el-divider></el-divider>
<el-row>
<el-button @click="showParentMenu" icon="el-icon-top" title="更换上级">更换上级</el-button>
<el-button @click="handleExport" icon="el-icon-download">导出</el-button>
<el-button @click="loadTasksToXmMenuState" icon="el-icon-s-marketing">汇总进度</el-button>
<el-button type="danger" @click="batchDel" icon="el-icon-delete" title="删除">删除</el-button>
</el-row>
<el-descriptions class="margin-top" size="mini" :column="2" border>
<template slot="extra">
<el-button @click="showParentMenu" icon="el-icon-top" title="更换上级">更换上级</el-button>
<el-button @click="handleExport" icon="el-icon-download">导出</el-button>
<el-button @click="loadTasksToXmMenuState" icon="el-icon-s-marketing">汇总进度</el-button>
<el-button type="danger" @click="batchDel" icon="el-icon-delete" title="删除">删除</el-button>
<el-button type="primary" style="float:right;" @click="searchXmMenus" icon="el-icon-search">查询</el-button>
</template>
<el-row>
<font class="more-label-font">显示方式:</font
>
<span class="more-label-font">
<el-radio v-model="displayType" label="agileUser">故事看板</el-radio>
<el-radio v-model="displayType" label="table">列表</el-radio>
</span>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col :span="14">
<el-row>
<font class="more-label-font">
责任人:
</font>
<mdp-select-user-xm label="选择责任人" v-model="filters.mmUser" :clearable="true"></mdp-select-user-xm>
</el-row>
<el-row>
<font class="more-label-font">
归属模块:
</font>
<span v-if="filters.func">{{ filters.func.name }}&nbsp;</span><el-button type="text" v-if="filters.func" @click="filters.func=null" icon="el-icon-close"></el-button><el-button @click="funcVisible=true" type="text">选择模块</el-button>
</el-row>
<el-row v-if="!xmIteration || !xmIteration.id">
<font class="more-label-font">
归属迭代:
</font>
<xm-iteration-select v-if="!xmIteration || !xmIteration.id" style="display:inline;" :auto-select="false" :product-id="filters.product?filters.product.id:null" :link-project-id="selProject?selProject.id:null" placeholder="迭代" @row-click="onIterationSelected" @clear="onIterationClearSelect">
</xm-iteration-select>
</el-row>
<el-row>
<font class="more-label-font">标签条件:</font>
<el-button v-if="!filters.tags||filters.tags.length==0" @click.native="$refs.tagDialog.open()" icon="el-icon-search">标签</el-button>
<el-tag v-else @click="$refs.tagDialog.open()" closable @close="clearFiltersTag(filters.tags[0])">{{filters.tags[0].tagName.substr(0,5)}}({{filters.tags.length}})</el-tag>
</el-row>
<el-row>
<font class="more-label-font">
是否加入迭代:
</font>
<el-select v-model="filters.iterationFilterType" placeholder="加入过迭代?" clearable style="width: 200px;" >
<el-descriptions-item>
<template slot="label">
<i class="el-icon-s-grid"></i>
显示方式
</template>
<el-radio v-model="displayType" label="agileUser">故事看板</el-radio>
<el-radio v-model="displayType" label="table">列表</el-radio>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-user"></i>
责任人
</template>
<mdp-select-user-xm style="max-width:180px;" label="选择责任人" v-model="filters.mmUser" :clearable="true"></mdp-select-user-xm>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-key"></i>
需求编号
</template>
<el-input v-model="filters.menuId" placeholder="需求编号查询" clearable></el-input>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-document"></i>
归属模块
</template>
<span v-if="filters.func">{{ filters.func.name }}&nbsp;</span><el-button type="text" v-if="filters.func" @click="filters.func=null" icon="el-icon-close"></el-button><el-button @click="funcVisible=true" type="text">选择模块</el-button>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-connection"></i>
归属迭代
</template>
<xm-iteration-select v-if="!xmIteration || !xmIteration.id" style="display:inline;" :auto-select="false" :product-id="filters.product?filters.product.id:null" :link-project-id="selProject?selProject.id:null" placeholder="迭代" @row-click="onIterationSelected" @clear="onIterationClearSelect">
</xm-iteration-select>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-connection"></i>
迭代情况
</template>
<el-select v-model="filters.iterationFilterType" placeholder="加入过迭代?" clearable >
<el-option value="not-join-any-iteration" label="未加入过迭代"></el-option>
<el-option value="join-any-iteration" label="已加入过迭代"></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-row>
<el-row>
<font class="more-label-font">
是否分配任务:
</font>
<el-select v-model="filters.taskFilterType" placeholder="已分配任务的需求?" clearable style="width: 200px;">
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-time"></i>
任务情况
</template>
<el-select v-model="filters.taskFilterType" placeholder="已分配任务的需求?" clearable >
<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-row>
</el-col>
<el-col :span="10">
<el-row>
<font class="more-label-font">
需求类型:
</font>
<el-select style="width:100px;" 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-select>
</el-row>
<el-row>
<font class="more-label-font">
需求来源:
</font>
<el-select style="width:100px;" v-model="filters.source" placeholder="需求来源" clearable >
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-document"></i>
需求类型
</template>
<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-select>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-document"></i>
需求来源
</template>
<el-select v-model="filters.source" placeholder="需求来源" clearable >
<el-option v-for="i in this.dicts.demandSource" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-row>
<el-row>
<font class="more-label-font">
需求层次:
</font>
<el-select style="width:100px;" v-model="filters.dlvl" placeholder="需求层次" clearable >
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-document"></i>
需求层次
</template>
<el-select v-model="filters.dlvl" placeholder="需求层次" clearable >
<el-option v-for="i in this.dicts.demandLvl" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-row>
<!--
<el-row>
<font class="more-label-font">
优先级:
</font>
<el-select v-model="filters.priority" placeholder="优先级" clearable style="width: 200px;">
<el-option v-for="i in dicts.priority" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-row>
-->
<!--
<el-row>
<font class="more-label-font">
需求状态:
</font>
<el-select v-model="filters.status" placeholder="需求状态" clearable style="width: 200px;">
<el-option :value="item.id" :label="item.name" v-for="(item,index) in dicts.menuStatus" :key="index"></el-option>
</el-select>
</el-row>
-->
<el-row>
<font class="more-label-font">
需求编号:
</font>
<el-input v-model="filters.menuId" style="width: 100px;" placeholder="需求编号查询" clearable></el-input>
</el-row>
<el-row>
<font class="more-label-font">开始时间:</font>
<mdp-date-range
v-model="filters"
type="daterange"
start-key="planStartTimeStart"
end-key="planStartTimeEnd"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="完成日期"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00', '23:59:59']"
:auto-default="false"
key="planStartTime"
></mdp-date-range>
</el-row>
<el-row>
<font class="more-label-font">结束时间:</font>
<mdp-date-range
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">
<i class="el-icon-watch"></i>
开始时间
</template>
<mdp-date-range
v-model="filters"
type="daterange"
start-key="planStartTimeStart"
end-key="planStartTimeEnd"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="完成日期"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00', '23:59:59']"
:auto-default="false"
key="planStartTime"
></mdp-date-range>
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">
<i class="el-icon-watch-1"></i>
结束时间
</template>
<mdp-date-range
v-model="filters"
type="daterange"
start-key="planEndTimeStart"
@ -179,14 +165,9 @@
:auto-default="false"
key="planEndTime"
></mdp-date-range>
</el-row>
</el-col>
</el-row>
<el-row>
<el-button type="primary" style="float:right;" @click="searchXmMenus" icon="el-icon-search">查询</el-button>
</el-row>
</el-descriptions-item>
</el-descriptions>
<el-button slot="reference" icon="el-icon-more" @click="moreVisible=!moreVisible"></el-button>
</el-popover>
<span style="float:right;">

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

@ -23,83 +23,96 @@
title="更多条件、操作"
width="800"
v-model="moreVisible"
trigger="manual" >
<el-button @click="moreVisible=false" type="text" style="float:right;margin-top:-40px;" icon="el-icon-close">关闭</el-button>
<el-divider></el-divider>
<el-row>
<el-button @click="handleExport" icon="el-icon-download">导出</el-button>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<font class="more-label-font">创建者:</font>
trigger="manual" >
<el-descriptions class="margin-top" :column="2" border>
<template slot="extra">
<el-button @click="moreVisible=false" type="text" style="float:right;margin-top:-40px;" icon="el-icon-close">关闭</el-button>
<el-button @click="handleExport" icon="el-icon-download">导出</el-button>
<el-button type="primary" style="float:right;" icon="el-icon-search" @click="searchXmQuestions">查询</el-button> </template>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-user"></i>
创建者
</template>
<mdp-select-user-xm label="选择创建者" v-model="filters.createUser" :clearable="true"></mdp-select-user-xm>
</el-col>
<el-col :span="12">
<font class="more-label-font">指派给:</font>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-user"></i>
指派给
</template>
<mdp-select-user-xm label="选择负责人" v-model="filters.handlerUser" :clearable="true"></mdp-select-user-xm>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<font class="more-label-font">需求:</font>
<font v-if=" filters.menus && filters.menus.length>0">
<el-tag v-for="(item,index) in filters.menus" :key="index" closable @close="clearFiltersMenu(item)">{{item.menuName.substr(0,10)}}</el-tag>
</font>
<el-button v-else @click="showMenu" type="plian" icon="el-icon-search">选需求</el-button>
</el-col>
<el-col :span="12">
<font class="more-label-font">缺陷编号:</font>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-document"></i>
需求
</template>
<font v-if=" filters.menus && filters.menus.length>0">
<el-tag v-for="(item,index) in filters.menus" :key="index" closable @close="clearFiltersMenu(item)">{{item.menuName.substr(0,10)}}</el-tag>
</font>
<el-button v-else @click="showMenu" type="plian" icon="el-icon-search">选需求</el-button>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-question"></i>
缺陷编号
</template>
<el-input v-model="filters.id" style="width:200px;" clearable></el-input>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<font class="more-label-font">优先级:</font>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-top"></i>
优先级
</template>
<mdp-select-dict v-model="filters.priority" placeholder="请选择优先级" clearable style="width:200px;" :dict="dicts['priority']"/>
</el-col>
<el-col :span="12">
<font class="more-label-font">解决方案:</font>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-document-checked"></i>
解决方案
</template>
<mdp-select-dict v-model="filters.solution" placeholder="请选择解决方案" clearable style="width:200px;" :dict="dicts['bugSolution']"/>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<font class="more-label-font">创建时间:</font>
<el-date-picker
v-model="dateRanger"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="完成日期"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions"
></el-date-picker>
</el-col>
<el-col :span="12">
<font class="more-label-font">更新时间:</font>
<el-date-picker
v-model="ltimeRanger"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="更新时间"
end-placeholder="更新时间"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions"
></el-date-picker>
</el-col>
</el-row>
<el-row>
<el-button type="primary" style="float:right;" icon="el-icon-search" @click="searchXmQuestions">查询</el-button>
</el-row>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-watch"></i>
创建时间
</template>
<el-date-picker
v-model="dateRanger"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="完成日期"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions"
></el-date-picker>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-watch-1"></i>
更新时间
</template>
<el-date-picker
v-model="ltimeRanger"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="更新时间"
end-placeholder="更新时间"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions"
></el-date-picker>
</el-descriptions-item>
</el-descriptions>
<el-button slot="reference" icon="el-icon-more" @click="moreVisible=!moreVisible"></el-button>
</el-popover>
<span style="float:right;">

Loading…
Cancel
Save