Browse Source

优化

master
陈裕财 3 years ago
parent
commit
22e326f9fa
  1. 1
      src/styles/mdp.scss
  2. 21
      src/views/xm/core/xmMenu/XmEpicFeatures.vue
  3. 69
      src/views/xm/core/xmMenu/XmMenuMng.vue
  4. 4
      src/views/xm/core/xmQuestion/XmQuestionMng.vue
  5. 48
      src/views/xm/core/xmTask/XmTaskMng.vue
  6. 7
      src/views/xm/rpt/index/CompsSet.vue

1
src/styles/mdp.scss

@ -311,7 +311,6 @@ table tr.hover-row{
text-align: center;
line-height: 20px;
font-size: 14px;
display: inline-block;
margin-right: 5px;
}

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

@ -688,8 +688,27 @@
sessionStorage.setItem(key,JSON.stringify(datas))
}
}
},
copyOne(row,index){
var params={...row}
params.id=null;
params.createUserid=this.userInfo.userid
params.createUsername=this.userInfo.username
params.bugStatus="1"
params.name=row.name+'V'
addXmQuestion(params).then(res=>{
var tips = res.data.tips
if(tips.isOk){
var row2=res.data.data
this.xmQuestions.splice(index+1,0,row2)
this.pageInfo.total=this.pageInfo.total+1
this.$message.success("复制成功")
}else{
this.$message.error(tips.msg)
}
})
}
},//end methods
components: {
'xm-menu-add':XmMenuAdd,

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

@ -14,7 +14,7 @@
<el-popover
placement="top-start"
title="更多查询条件或者操作"
width="500"
width="600"
v-model="moreVisible"
trigger="manual" >
@ -44,6 +44,8 @@
</span>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col :span="14">
<el-row>
<font class="more-label-font">
责任人:
@ -51,9 +53,15 @@
<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>
@ -86,17 +94,13 @@
<el-option value="join-curr-project" :label="'已分配任务到项目【'+selProject.name+'】'" v-if="selProject && selProject.id"></el-option>
</el-select>
</el-row>
<el-row>
<font class="more-label-font">
归属模块:
</font>
<span v-if="filters.func">{{ filters.func.name }}&nbsp;</span><el-button v-if="filters.func" @click="filters.func=null">清除</el-button><el-button @click="funcVisible=true">选择模块</el-button>
</el-row>
</el-col>
<el-col :span="10">
<el-row>
<font class="more-label-font">
需求类型:
</font>
<el-select v-model="filters.dtype" clearable placeholder="需求类型" style="width: 200px;">
<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>
@ -104,7 +108,7 @@
<font class="more-label-font">
需求来源:
</font>
<el-select v-model="filters.source" placeholder="需求来源" clearable style="width: 200px;">
<el-select style="width:100px;" 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>
@ -112,7 +116,7 @@
<font class="more-label-font">
需求层次:
</font>
<el-select v-model="filters.dlvl" placeholder="需求层次" clearable style="width: 200px;">
<el-select style="width:100px;" 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>
@ -140,7 +144,7 @@
<font class="more-label-font">
需求编号:
</font>
<el-input v-model="filters.menuId" style="width: 200px;" placeholder="需求编号查询" clearable></el-input>
<el-input v-model="filters.menuId" style="width: 100px;" placeholder="需求编号查询" clearable></el-input>
</el-row>
<el-row>
<font class="more-label-font">开始时间:</font>
@ -176,6 +180,10 @@
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>
@ -229,22 +237,22 @@
<el-table element-loading-text="努力加载中" element-loading-spinner="el-icon-loading" :cell-style="cellStyleCalc" :expand-row-keys="expandRowKeysCpd" :header-cell-style="cellStyleCalc" stripe fit border ref="table" :height="maxTableHeight" :data="xmMenusTreeData" current-row-key="menuId" row-key="menuId" @sort-change="sortChange" highlight-current-row v-loading="load.list" @selection-change="selsChange" @row-click="rowClick">
<el-table-column sortable type="selection" width="40"></el-table-column>
<el-table-column prop="menuName" label="故事名称" min-width="300" fixed="left">
<el-table-column prop="menuName" label="故事名称" min-width="350" fixed="left">
<template slot-scope="scope">
<div style="display:flex; flex-wrap:nowrap;">
<div v-if="scope.row.dclass=='1'" class="icon" style="background-color: rgb(255, 153, 51);">
<i class="el-icon-s-promotion"></i>
<i class="el-icon-s-promotion" style="width:20px;"></i>
</div>
<div v-if="scope.row.dclass=='2'" class="icon" style="background-color: rgb(0, 153, 51);">
<i class="el-icon-s-flag"></i>
<i class="el-icon-s-flag" style="width:20px;"></i>
</div>
<div v-if="scope.row.dclass=='3'" class="icon" style="background-color: rgb(79, 140, 255);">
<i class="el-icon-document"></i>
<i class="el-icon-document" style="width:20px;"></i>
</div>
<span >{{scope.row.seqNo}} &nbsp; {{scope.row.menuName}} </span>
<el-link @click="showEdit( scope.row,scope.$index)">{{scope.row.seqNo}} &nbsp; {{scope.row.menuName}} </el-link>
<div class="tool-bar">
<span class="u-btn">
<el-button @click="showEdit( scope.row,scope.$index)" icon="el-icon-edit" title="编辑" circle plain > </el-button>
</span>
<el-button type="warning" @click="copyOne(scope.row,scope.$index)" icon="el-icon-document-copy" circle title="复制一行"></el-button>
</div>
</div>
</template>
@ -413,7 +421,7 @@
import treeTool from '@/common/js/treeTool';//
//import Sticky from '@/components/Sticky' // header
import { initSimpleDicts } from '@/api/mdp/meta/item';//
import { listXmMenu, delXmMenu, batchDelXmMenu,batchAddXmMenu,batchEditXmMenu,listXmMenuWithState,listXmMenuWithPlan,batchChangeParentMenu,editXmMenuSomeFields } from '@/api/xm/core/xmMenu';
import { listXmMenu, delXmMenu,addXmMenu, batchDelXmMenu,batchAddXmMenu,batchEditXmMenu,listXmMenuWithState,listXmMenuWithPlan,batchChangeParentMenu,editXmMenuSomeFields } from '@/api/xm/core/xmMenu';
import { batchRelTasksWithMenu } from '@/api/xm/core/xmTask';
import { loadTasksToXmMenuState} from '@/api/xm/core/xmMenuState';
@ -1357,6 +1365,25 @@
this.funcVisible=false;
},
copyOne(row,index){
var params={...row}
params.menuId=null;
params.status="0"
params.menuName=row.menuName+'V'
addXmMenu(params).then(res=>{
var tips = res.data.tips
if(tips.isOk){
var row2=res.data.data
this.xmMenus.splice(index+1,0,row2)
this.pageInfo.total=this.pageInfo.total+1
this.$message.success("复制成功")
}else{
this.$message.error(tips.msg)
}
})
}
},//end methods
components: {
'xm-menu-add':XmMenuAdd,

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

@ -114,12 +114,12 @@
<!--列表 XmQuestion xm_question-->
<el-table element-loading-text="努力加载中" element-loading-spinner="el-icon-loading" ref="table" :height="maxTableHeight" :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 label="全选" type="selection" min-width="50" fixed="left"></el-table-column>
<el-table-column prop="id" label="缺陷编号" width="100" show-overflow-tooltip fixed="left">
<el-table-column prop="id" label="缺陷编号" width="120" show-overflow-tooltip fixed="left">
<template slot-scope="scope">
{{scope.row.id}}
</template>
</el-table-column>
<el-table-column prop="name" label="缺陷名称" min-width="200" show-overflow-tooltip fixed="left">
<el-table-column prop="name" label="缺陷名称" min-width="400" fixed="left">
<template slot-scope="scope">
<el-link type="primary" @click="showEdit(scope.row)"> {{scope.row.name}}</el-link>
<span class="tool-bar">

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

@ -384,22 +384,19 @@
<el-table-column
sortable
prop="name"
class-name="title"
fixed="left"
label="任务名称"
min-width="300" show-overflow-tooltip
min-width="400"
>
<template slot-scope="scope">
<div style="display:flex; flex-wrap:nowrap;">
<div class="icon" :style="{backgroundColor: scope.row.ntype==='1'?'#E6A23C':'#409EFF'}">
<i :class="scope.row.ntype==='1'?'el-icon-time':'el-icon-s-operation'" ></i>
<i :class="scope.row.ntype==='1'?'el-icon-time':'el-icon-s-operation'" style="width:20px;"></i>
</div>
<span type="primary">
{{ scope.row.sortLevel }}&nbsp; {{ scope.row.name }}
</span>
<el-link @click="showEdit(scope.row)">{{ scope.row.sortLevel }}&nbsp; {{ scope.row.name }}</el-link>
<div class="tool-bar">
<span class="u-btn">
<el-button @click="showEdit( scope.row,scope.$index)" icon="el-icon-edit" title="编辑任务" circle > </el-button>
<span class="tool-bar">
<el-button type="warning" @click="copyOne(scope.row,scope.$index)" icon="el-icon-document-copy" circle title="复制一行"></el-button>
</span>
</div>
</template>
@ -836,6 +833,7 @@ import {
editRate,
editTime,
delXmTask,
addTask,
batchDelXmTask,
batchImportTaskFromTemplate,
batchSaveBudget,
@ -878,7 +876,7 @@ import XmGantt from "../components/xm-gantt";
import XmWorkloadEdit from "@/views/xm/core/xmWorkload/XmWorkloadEdit";
import XmPhaseSelect from "./XmPhaseSelect.vue";
import { addXmTaskExecuser } from '@/api/xm/core/xmTaskExecuser';
import { addTaskExecuser } from '@/api/xm/core/xmTaskExecuser';
import MdpSelectUserXm from "@/views/xm/core/components/MdpSelectUserXm/index";
export default {
@ -1849,7 +1847,7 @@ export default {
if(this.sels.length>0){
this.editXmTaskSomeFields(row,"executorUserid",params)
}else{
addXmTaskExecuser(params).then(res=>{
addTaskExecuser(params).then(res=>{
var tips = res.data.tips
if(tips.isOk){
//this.searchXmTasks();
@ -2187,6 +2185,34 @@ export default {
showWorkload(row){
this.editForm=row
this.taskWorkloadVisible=true;
},
copyOne(row,index){
var params={...row}
params.id=null;
params.createUserid=this.userInfo.userid
params.createUsername=this.userInfo.username
params.executorUserid=null
params.executorUseranme=null
params.execUserids=null;
params.execUsername=null;
params.actWorkload=null;
params.actAt=null;
params.efunds=0
params.name=row.name+'V'
addTask(params).then(res=>{
var tips = res.data.tips
if(tips.isOk){
var row2=res.data.data
this.xmTasks.splice(index+1,0,row2)
this.pageInfo.total=this.pageInfo.total+1
this.$message.success("复制成功")
}else{
this.$message.error(tips.msg)
}
})
}
/**end 自定义函数请在上面加**/
}, //end methods

7
src/views/xm/rpt/index/CompsSet.vue

@ -18,7 +18,7 @@
{{item.desc}}
</span>
</div>
<span class="check"><el-checkbox v-model="item.isChecked" :true-label="'true'" :false-label="'false'" @change="onChange(item,$event)"></el-checkbox></span>
<el-checkbox v-model="item.isChecked" @change="onChange(item,$event)"></el-checkbox>
</div>
   </transition-group>
</draggable>
@ -36,7 +36,7 @@
<span>{{item.desc}}</span>
</div>
</div>
<span class="check"><el-checkbox v-model="item.isChecked" :true-label="'true'" :false-label="'false'" @change="onChange(item,$event)"></el-checkbox></span>
<el-checkbox v-model="item.isChecked" @change="onChange(item,$event)"></el-checkbox>
</div>
   </transition-group>
</draggable>
@ -212,6 +212,9 @@ export default {
},
onChange(comp,checked){
this.$emit('change',comp,checked)
if(checked!=='true'){
comp.isCurr=false
}
},
onCategroySelect(){
this.selectItem(this.rptListCpd[0])

Loading…
Cancel
Save