Browse Source

优化

master
陈裕财 3 years ago
parent
commit
1b30167ef5
  1. 12
      src/styles/mdp.scss
  2. 37
      src/views/xm/core/components/XmIterationSelect.vue
  3. 52
      src/views/xm/core/components/XmProductSelect.vue
  4. 37
      src/views/xm/core/components/XmProjectSelect.vue
  5. 174
      src/views/xm/core/xmMenu/XmEpicFeatures.vue
  6. 17
      src/views/xm/core/xmMenu/XmEpicFeaturesSelect.vue
  7. 22
      src/views/xm/core/xmMenu/XmMenuBox.vue
  8. 37
      src/views/xm/core/xmMenu/XmMenuMng.vue
  9. 49
      src/views/xm/core/xmProduct/XmProductForLinkComplex.vue

12
src/styles/mdp.scss

@ -284,6 +284,18 @@ table tr.hover-row{
.cell-text{ .cell-text{
display:none; display:none;
} }
}
.lg-text{
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
max-width:250px;
}
.sm-text{
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
max-width:200px;
} }
/** /**
*解决表格固定列无法滚动问题 *解决表格固定列无法滚动问题

37
src/views/xm/core/components/XmIterationSelect.vue

@ -1,6 +1,6 @@
<template> <template>
<section> <section>
<el-popover style="display:inline;"
<el-popover
placement="bottom" placement="bottom"
width="400" width="400"
v-model="iterationVisible" v-model="iterationVisible"
@ -118,7 +118,28 @@
<el-pagination layout="total, prev, 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, prev, 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-link title="点击选中迭代" @click="referenceClick" type="primary" slot="reference" icon="el-icon-connection"><font style="font-size:14px;"><slot name="title">{{editForm&&editForm.id?editForm.iterationName:'选择迭代'}} &nbsp;<el-button v-if="editForm&&editForm.id" type="text" plain icon="el-icon-circle-close" @click.stop="clearSelectIteration">清除</el-button>&nbsp;&nbsp;</slot></font></el-link>
<div slot="reference" @click="referenceClick">
<slot name="reference">
<span class="title">
<slot name="title">
<el-link title="点击选中迭代" type="primary" icon="el-icon-connection">
<div class="lg-text hidden-md-and-down">
{{
editForm&&editForm.id?editForm.iterationName:'选择迭代'
}}
</div>
<div class="sm-text hidden-lg-and-up">
{{
editForm&&editForm.id?editForm.iterationName:'选择迭代'
}}
</div>
</el-link>
<el-button v-if="editForm&&editForm.id" type="text" icon="el-icon-circle-close" @click.stop="clearSelectIteration"></el-button>&nbsp;
</slot>
</span>
</slot>
</div>
</el-popover> </el-popover>
@ -444,11 +465,11 @@
float: right; float: right;
} }
.title { .title {
height: 32px;
line-height: 32px;
text-align: left;
float: left;
min-width: 100px;
display: flex;
height: 32px;
line-height: 32px;
text-align: left;
float: left;
min-width: 100px;
} }
</style> </style>

52
src/views/xm/core/components/XmProductSelect.vue

@ -181,24 +181,36 @@
style="float: right" style="float: right"
></el-pagination> ></el-pagination>
</el-row> </el-row>
<slot name="reference">
<el-link
title="产品,点击选择、清除选择"
@click="referenceClick"
type="primary"
slot="reference"
v-loading="load.list"
icon="el-icon-s-opportunity"
>
<span class="title">
<slot name="title">
{{
editForm && editForm.id ? editForm.productName : "选择产品"
}} &nbsp;<el-button v-if="editForm&&editForm.id" type="text" plain icon="el-icon-circle-close" @click.stop="clearSelect">清除</el-button>&nbsp;&nbsp;</slot>
</span>
</el-link
>
</slot>
<div slot="reference" @click="referenceClick">
<slot name="reference" v-bind:product="editForm">
<div class="title">
<slot name="title" v-bind:product="editForm">
<el-link
title="产品,点击选择、清除选择"
type="primary"
v-loading="load.list"
icon="el-icon-s-opportunity"
>
<div class="lg-text hidden-md-and-down">
{{
editForm && editForm.id ? editForm.productName : "选择产品"
}}
</div>
<div class="sm-text hidden-lg-and-up">
{{
editForm && editForm.id ? editForm.productName : "选择产品"
}}
</div>
</el-link>
<el-button v-if="editForm&&editForm.id" type="text" icon="el-icon-circle-close" @click.stop="clearSelect"></el-button>&nbsp;
</slot>
</div>
</slot>
</div>
</el-popover> </el-popover>
<el-dialog append-to-body :visible.sync="addProductVisible" width="70%"> <el-dialog append-to-body :visible.sync="addProductVisible" width="70%">
@ -522,8 +534,8 @@ export default {
.align-right { .align-right {
float: right; float: right;
} }
.title {
.title {
display: flex;
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
text-align: left; text-align: left;

37
src/views/xm/core/components/XmProjectSelect.vue

@ -186,16 +186,29 @@
</el-row> </el-row>
<span slot="reference" @click="referenceClick"> <span slot="reference" @click="referenceClick">
<slot name="reference" <slot name="reference"
><el-link
title="项目,点击选择、清除选择"
type="warning"
icon="el-icon-odometer"
>
>
<span class="title"> <span class="title">
<slot name="title">{{
<slot name="title">
<el-link
title="项目,点击选择、清除选择"
type="warning"
icon="el-icon-odometer"
>
<div class="lg-text hidden-md-and-down">
{{
editForm && editForm.id ? editForm.name: "选择项目" editForm && editForm.id ? editForm.name: "选择项目"
}}&nbsp;<el-button v-if="editForm&&editForm.id" type="text" plain icon="el-icon-circle-close" @click.stop="clearSelect">清除</el-button>&nbsp;&nbsp;</slot></span>
}}
</div>
<div class="sm-text hidden-lg-and-up">
{{
editForm && editForm.id ? editForm.name: "选择项目"
}}
</div>
</el-link> </el-link>
<el-button v-if="editForm&&editForm.id" type="text" icon="el-icon-circle-close" @click.stop="clearSelect"></el-button>&nbsp;
</slot>
</span>
</slot> </slot>
</span> </span>
</el-popover> </el-popover>
@ -523,16 +536,12 @@ export default {
.align-right { .align-right {
float: right; float: right;
} }
.title {
.title {
display: flex;
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
text-align: left; text-align: left;
float: left; float: left;
min-width: 100px;
max-width: 300px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
min-width: 100px;
} }
</style> </style>

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

@ -2,82 +2,88 @@
<section> <section>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-row >
<xm-product-select ref="xmProductSelect1" v-if=" !xmProduct || !xmProduct.id" style="display:inline;" :auto-select="true" :link-project-id="selProject?selProject.id:null" @row-click="onProductSelected" @clear="onProductClearSelect" ></xm-product-select>
<span style="float:right;">
<el-popover
placement="top-start"
width="250"
trigger="click" >
<el-row>
<el-row>
<div class="icon" style="background-color: rgb(255, 153, 51);">
<i class="el-icon-s-promotion"></i>
</div>
<el-button @click="showAdd('1')">新建史诗</el-button>
</el-row>
<!--
<el-row>
<div class="icon" style="background-color: rgb(0, 153, 51);">
<i class="el-icon-s-flag"></i>
</div>
<el-button @click="showAdd('2')">新建特性</el-button>
</el-row>
<el-row>
<div class="icon" style="background-color: rgb(79, 140, 255);">
<i class="el-icon-document"></i>
</div>
<el-button @click="showAdd('3')" >新建用户故事</el-button>
</el-row>
-->
<el-row>
<el-button @click="showImportFromMenuTemplate()" icon="el-icon-upload2">由模板快速导入需求</el-button>
</el-row>
</el-row>
<el-button type="primary" v-if="!disabledMng" round slot="reference" icon="el-icon-plus"></el-button>
</el-popover>
<el-popover
placement="top-start"
title="更多操作"
width="400"
trigger="manual"
v-model="moreVisible"
>
<el-row>
<el-button style="float:right;margin-top:-40px;"
icon="el-icon-close"
@click="moreVisible=false"
type="text"
>关闭</el-button
>
</el-row>
<el-divider></el-divider>
<el-row>
<el-button type="primary" @click="showParentMenu" icon="el-icon-top" title="更换上级">更换上级</el-button>
<el-button type="danger"
@click="batchDel"
v-loading="load.del"
icon="el-icon-delete"
title="批量删除" v-if="!disabledMng"
>批量删除</el-button
<el-row>
<div style="display:flex;">
<xm-product-select v-if=" !xmProduct || !xmProduct.id" ref="xmProductSelect1" style="display:inline;" :auto-select="true" :link-project-id="selProject?selProject.id:null" @row-click="onProductSelected" @clear="onProductClearSelect" ></xm-product-select>
<el-input v-else v-model="filters.key" style="width:50%;" placeholder="名称模糊查询" clearable></el-input>
&nbsp;&nbsp;
<span style="margin-left: auto;">
<el-popover
placement="top-start"
width="250"
trigger="click" >
<el-row>
<el-row>
<div class="icon" style="background-color: rgb(255, 153, 51);">
<i class="el-icon-s-promotion"></i>
</div>
<el-button @click="showAdd('1')">新建史诗</el-button>
</el-row>
<!--
<el-row>
<div class="icon" style="background-color: rgb(0, 153, 51);">
<i class="el-icon-s-flag"></i>
</div>
<el-button @click="showAdd('2')">新建特性</el-button>
</el-row>
<el-row>
<div class="icon" style="background-color: rgb(79, 140, 255);">
<i class="el-icon-document"></i>
</div>
<el-button @click="showAdd('3')" >新建用户故事</el-button>
</el-row>
-->
<el-row>
<el-button @click="showImportFromMenuTemplate()" icon="el-icon-upload2">由模板快速导入需求</el-button>
</el-row>
</el-row>
<el-button type="primary" v-if="!disabledMng" round slot="reference" icon="el-icon-plus"></el-button>
</el-popover>
<el-popover
placement="top-start"
title="更多操作"
width="400"
trigger="manual"
v-model="moreVisible"
> >
<el-button @click="loadTasksToXmMenuState" icon="el-icon-s-marketing" title="汇总进度">汇总进度</el-button>
</el-row>
<el-divider></el-divider>
<el-row>
<el-input style="width:250px;" v-model="filters.key" placeholder="名称模糊查询" clearable></el-input>
<el-button type="primary" @click="searchXmMenus" icon="el-icon-search" title="查询" style="float:right;">查询</el-button>
</el-row>
<el-button slot="reference" @click="moreVisible=!moreVisible" icon="el-icon-more"></el-button>
</el-popover>
<el-row>
<el-button style="float:right;margin-top:-40px;"
icon="el-icon-close"
@click="moreVisible=false"
type="text"
>关闭</el-button
>
</el-row>
<el-divider></el-divider>
<el-row>
<el-button type="primary" @click="showParentMenu" icon="el-icon-top" title="更换上级">更换上级</el-button>
<el-button type="danger"
@click="batchDel"
v-loading="load.del"
icon="el-icon-delete"
title="批量删除" v-if="!disabledMng"
>批量删除</el-button
>
<el-button @click="loadTasksToXmMenuState" icon="el-icon-s-marketing" title="汇总进度">汇总进度</el-button>
</el-row>
<el-divider></el-divider>
<el-row>
<el-button type="primary" @click="searchXmMenus" icon="el-icon-search" title="查询" style="float:right;">查询</el-button>
</el-row>
<el-button slot="reference" @click="moreVisible=!moreVisible" icon="el-icon-more"></el-button>
</el-popover>
</span> </span>
</el-row>
<el-row>
<el-table :cell-style="cellStyleCalc" :expand-row-keys="expandRowKeysCpd" :header-cell-style="cellStyleCalc" :row-style="{height:'60px'}" stripe fit border ref="table" :height="maxTableHeight" :data="xmMenusTreeData" current-row-key="menuId" row-key="menuId" :tree-props="{children: 'children'}" @sort-change="sortChange" highlight-current-row v-loading="load.list" @selection-change="selsChange" @row-click="rowClick"
</div>
</el-row>
<el-row ref="table">
<el-table :cell-style="cellStyleCalc" :expand-row-keys="expandRowKeysCpd" :header-cell-style="cellStyleCalc" :row-style="{height:'60px'}" stripe fit border :height="maxTableHeight" :data="xmMenusTreeData" current-row-key="menuId" row-key="menuId" :tree-props="{children: 'children'}" @sort-change="sortChange" highlight-current-row v-loading="load.list" @selection-change="selsChange" @row-click="rowClick"
element-loading-text="努力加载中" element-loading-text="努力加载中"
element-loading-spinner="el-icon-loading" element-loading-spinner="el-icon-loading"
> >
@ -86,7 +92,14 @@
</template> </template>
<el-table-column prop="menuName" label="史诗、特性名称" min-width="150" > <el-table-column prop="menuName" label="史诗、特性名称" min-width="150" >
<template slot="header">史诗特性名称 &nbsp;<el-button type="text" @click="unselectRow()">清除选中的行</el-button></template>
<template slot="header">
<div style="display:flex;">
<div style="text-align: center;line-height: 32px;">史诗特性</div>
&nbsp;&nbsp;
<el-button type="text" icon="el-icon-circle-close" @click="unselectRow()">清除选中</el-button>
<el-input v-if=" !xmProduct || !xmProduct.id" v-model="filters.key" style="width:50%;margin-left: auto;" placeholder="名称模糊查询" clearable></el-input>
</div>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.dclass=='1'" class="icon" style="background-color: rgb(255, 153, 51);"> <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"></i>
@ -114,9 +127,10 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table>
</el-table>
</el-row>
<el-row>
<el-pagination layout="total, sizes, prev, 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, 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>
<!--编辑 XmMenu xm_project_menu界面--> <!--编辑 XmMenu xm_project_menu界面-->
<el-dialog :title="'编辑'+(editForm&&editForm.dclass=='1'?'史诗':'特性')" :visible.sync="editFormVisible" width="90%" top="20px" append-to-body :close-on-click-modal="false" > <el-dialog :title="'编辑'+(editForm&&editForm.dclass=='1'?'史诗':'特性')" :visible.sync="editFormVisible" width="90%" top="20px" append-to-body :close-on-click-modal="false" >
@ -175,6 +189,9 @@
xmMenusTreeData() { xmMenusTreeData() {
let xmMenus = JSON.parse(JSON.stringify(this.xmMenus || [])); let xmMenus = JSON.parse(JSON.stringify(this.xmMenus || []));
if(this.filters.key){
xmMenus=xmMenus.filter(k=>k.menuName.indexOf(this.filters.key)>=0)
}
let xmMenusTreeData = treeTool.translateDataToTree(xmMenus,"pmenuId","menuId"); let xmMenusTreeData = treeTool.translateDataToTree(xmMenus,"pmenuId","menuId");
return xmMenusTreeData; return xmMenusTreeData;
}, },
@ -209,8 +226,8 @@
xmMenus: [],// xmMenus: [],//
pageInfo:{// pageInfo:{//
total:0,//0>0 total:0,//0>0
pageSize:100,//
count:true,//
pageSize:500,//
count:false,//
pageNum:1,//1 pageNum:1,//1
orderFields:[],// ['sex','student_id'] orderFields:[],// ['sex','student_id']
orderDirs:[]// asc,desc ['asc','desc'] orderDirs:[]// asc,desc ['asc','desc']
@ -522,6 +539,7 @@
}); });
}, },
unselectRow(){ unselectRow(){
this.$refs.table.clearSelection()
this.editForm=null; this.editForm=null;
this.$emit('row-click',null) this.$emit('row-click',null)
this.$refs.table.setCurrentRow(); this.$refs.table.setCurrentRow();

17
src/views/xm/core/xmMenu/XmEpicFeaturesSelect.vue

@ -78,8 +78,7 @@
let xmMenusTreeData = treeTool.translateDataToTree(xmMenus,"pmenuId","menuId"); let xmMenusTreeData = treeTool.translateDataToTree(xmMenus,"pmenuId","menuId");
return xmMenusTreeData; return xmMenusTreeData;
}, },
toSearchCpd(){
debugger;
toSearchCpd(){
var key={iterationId:'',projectId:'',productId:''}; var key={iterationId:'',projectId:'',productId:''};
if(this.xmIteration&&this.xmIteration.id){ if(this.xmIteration&&this.xmIteration.id){
key.iterationId=this.xmIteration.id key.iterationId=this.xmIteration.id
@ -137,8 +136,8 @@
xmMenus: [],// xmMenus: [],//
pageInfo:{// pageInfo:{//
total:0,//0>0 total:0,//0>0
pageSize:100,//
count:true,//
pageSize:500,//
count:false,//
pageNum:1,//1 pageNum:1,//1
orderFields:[],// ['sex','student_id'] orderFields:[],// ['sex','student_id']
orderDirs:[]// asc,desc ['asc','desc'] orderDirs:[]// asc,desc ['asc','desc']
@ -202,7 +201,7 @@
this.getXmMenus(); this.getXmMenus();
}, },
searchXmMenus(){ searchXmMenus(){
this.pageInfo.count=true;
//this.pageInfo.count=true;
this.getXmMenus(); this.getXmMenus();
}, },
getParams(params){ getParams(params){
@ -291,10 +290,10 @@
// XmMenu xm_project_menu // XmMenu xm_project_menu
getXmMenus() { getXmMenus() {
let params = { let params = {
pageSize: this.pageInfo.pageSize,
pageNum: this.pageInfo.pageNum,
total: this.pageInfo.total,
count:this.pageInfo.count
//pageSize: this.pageInfo.pageSize,
//pageNum: this.pageInfo.pageNum,
//total: this.pageInfo.total,
//count:this.pageInfo.count
}; };
//this.xmMenus=[] //this.xmMenus=[]
if(this.pageInfo.orderFields!=null && this.pageInfo.orderFields.length>0){ if(this.pageInfo.orderFields!=null && this.pageInfo.orderFields.length>0){

22
src/views/xm/core/xmMenu/XmMenuBox.vue

@ -1,25 +1,23 @@
<template>
<section>
<el-row class="padding-left padding-right">
<template>
<el-row>
<el-col :span="8"> <el-col :span="8">
<!-- <!--
<el-row class="padding-left padding-right" v-if="!xmProduct||!xmProduct.id" > <el-row class="padding-left padding-right" v-if="!xmProduct||!xmProduct.id" >
<xm-product-select ref="xmProductSelect1" style="display:inline;" :auto-select="true" :link-project-id="selProject?selProject.id:null" @row-click="onProductSelected" @clear="onProductClearSelect" ></xm-product-select> <xm-product-select ref="xmProductSelect1" style="display:inline;" :auto-select="true" :link-project-id="selProject?selProject.id:null" @row-click="onProductSelected" @clear="onProductClearSelect" ></xm-product-select>
</el-row> </el-row>
--> -->
<xm-epic-features :xm-product="xmProductCpd" :sel-project="selProject" @row-click="onEpicFeaturesRowClick" @product-selected="onProductSelected" @product-clear="onProductClearSelect"></xm-epic-features>
<xm-epic-features class="padding-left padding-right" :xm-product="xmProductCpd" :sel-project="selProject" @row-click="onEpicFeaturesRowClick" @product-selected="onProductSelected" @product-clear="onProductClearSelect"></xm-epic-features>
</el-col> </el-col>
<el-col :span="16" v-if="xmProductCpd && xmProductCpd.id">
<xm-menu-mng class="padding-left" :xm-product="xmProductCpd" :sel-project="selProject" :parent-menu="parentMenu" :xm-iteration="xmIteration" ></xm-menu-mng>
<el-col :span="16" v-if="xmProductCpd && xmProductCpd.id" class="row-right">
<xm-menu-mng class="padding-left padding-right" :xm-product="xmProductCpd" :sel-project="selProject" :parent-menu="parentMenu" :xm-iteration="xmIteration" ></xm-menu-mng>
</el-col> </el-col>
<el-col :span="16" v-else-if="filters.xmProduct && filters.xmProduct.id">
<xm-menu-mng class="padding-left" :xm-product="filters.xmProduct" :sel-project="selProject" :parent-menu="parentMenu" :xm-iteration="xmIteration" ></xm-menu-mng>
<el-col :span="16" v-else-if="filters.xmProduct && filters.xmProduct.id" class="row-right">
<xm-menu-mng class="padding-left padding-right" :xm-product="filters.xmProduct" :sel-project="selProject" :parent-menu="parentMenu" :xm-iteration="xmIteration" ></xm-menu-mng>
</el-col> </el-col>
</el-row>
</section>
</el-row>
</template> </template>
<script> <script>
@ -91,5 +89,7 @@
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.row-left{
background-color: aliceblue;
}
</style> </style>

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

@ -1,6 +1,6 @@
<template> <template>
<section> <section>
<el-row class="padding-left padding-right">
<el-row>
<el-col :span="24"> <el-col :span="24">
<el-row> <el-row>
<xm-product-select ref="xmProductSelect1" style="display:inline;" v-if="(!xmProduct||!xmProduct.id)&&(!xmIteration||!xmIteration.id)" :auto-select="false" :link-project-id="selProject?selProject.id:null" @row-click="onProductSelected" :iterationId="xmIteration?xmIteration.id:null" @clear="onProductClearSelect"></xm-product-select> <xm-product-select ref="xmProductSelect1" style="display:inline;" v-if="(!xmProduct||!xmProduct.id)&&(!xmIteration||!xmIteration.id)" :auto-select="false" :link-project-id="selProject?selProject.id:null" @row-click="onProductSelected" :iterationId="xmIteration?xmIteration.id:null" @clear="onProductClearSelect"></xm-product-select>
@ -223,7 +223,7 @@
</span> </span>
</el-row> </el-row>
<el-row v-if="displayType=='table'">
<el-row v-if="displayType=='table'">
<el-table element-loading-text="努力加载中" element-loading-spinner="el-icon-loading" :cell-style="cellStyleCalc" :expand-row-keys="expandRowKeysCpd" :header-cell-style="cellStyleCalc" :row-style="{height:'60px'}" 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 element-loading-text="努力加载中" element-loading-spinner="el-icon-loading" :cell-style="cellStyleCalc" :expand-row-keys="expandRowKeysCpd" :header-cell-style="cellStyleCalc" :row-style="{height:'60px'}" 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 sortable type="selection" width="40"></el-table-column>
@ -343,16 +343,15 @@
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
</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>
</el-row>
</el-table>
</el-row>
<el-row v-else-if="displayType=='agileUser'"> <el-row v-else-if="displayType=='agileUser'">
<xm-menu-agile-kanban-user :xm-menus="xmMenus" :xm-product="xmProduct" ref="table" :table-height="maxTableHeight"></xm-menu-agile-kanban-user> <xm-menu-agile-kanban-user :xm-menus="xmMenus" :xm-product="xmProduct" ref="table" :table-height="maxTableHeight"></xm-menu-agile-kanban-user>
<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-row>
<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>
<!--编辑 XmMenu xm_project_menu界面--> <!--编辑 XmMenu xm_project_menu界面-->
<el-dialog title="编辑故事" :visible.sync="editFormVisible" :with-header="false" fullscreen width="90%" top="20px" append-to-body :close-on-click-modal="false" > <el-dialog title="编辑故事" :visible.sync="editFormVisible" :with-header="false" fullscreen width="90%" top="20px" append-to-body :close-on-click-modal="false" >
<xm-menu-edit :xm-menu="editForm" :sel-project="selProject" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit" @add-sub-menu="onAddSubMenu" @edit-fields="onEditSomeFields"></xm-menu-edit> <xm-menu-edit :xm-menu="editForm" :sel-project="selProject" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit" @add-sub-menu="onAddSubMenu" @edit-fields="onEditSomeFields"></xm-menu-edit>
@ -391,16 +390,16 @@
<xm-group-dialog ref="xmGroupDialog" :isSelectSingleUser="true" :sel-project="selProject" :xm-product="filters.xmProduct" @user-confirm="onGroupUserSelect"> <xm-group-dialog ref="xmGroupDialog" :isSelectSingleUser="true" :sel-project="selProject" :xm-product="filters.xmProduct" @user-confirm="onGroupUserSelect">
</xm-group-dialog> </xm-group-dialog>
<el-drawer <el-drawer
append-to-body
title="选择上级需求"
:visible.sync="parentMenuVisible"
size="60%"
:close-on-click-modal="false"
>
<xm-epic-features-select
@select="onParentMenuSelected"
:xm-product="filters.product"
></xm-epic-features-select>
append-to-body
title="选择上级需求"
:visible.sync="parentMenuVisible"
size="60%"
:close-on-click-modal="false"
>
<xm-epic-features-select
@select="onParentMenuSelected"
:xm-product="filters.product"
></xm-epic-features-select>
</el-drawer> </el-drawer>
</section> </section>
</template> </template>

49
src/views/xm/core/xmProduct/XmProductForLinkComplex.vue

@ -1,24 +1,30 @@
<template> <template>
<section> <section>
<el-row> <el-row>
<el-col :span="4" class="padding-left">
<el-row>
<xm-product-select
ref="xmProductSelect"
:auto-select="true"
:link-project-id="projectInfo ? projectInfo.id : null"
:iterationId="xmIteration ? xmIteration.id : null"
@row-click="onProductRowClick"
@clear="onProductClearSelect"
></xm-product-select>
</el-row>
<el-col :span="4" class="padding-left">
<div class="border">
<el-row>
<xm-product-select
ref="xmProductSelect"
:auto-select="true"
:link-project-id="projectInfo ? projectInfo.id : null"
:iterationId="xmIteration ? xmIteration.id : null"
@row-click="onProductRowClick"
@clear="onProductClearSelect"
>
<template v-slot:title="{product}">
<h4 href="#" class="product-title"><div class="lg-text hidden-md-and-down"><i style="font-size:16px;" class="el-icon-sort"></i> {{product?product.productName:'请选择一个产品'}}</div></h4>
<h4 href="#" class="product-title"><div class="sm-text hidden-lg-and-up"><i style="font-size:16px;" class="el-icon-sort"></i> {{product?product.productName:'请选择一个产品'}}</div></h4>
</template>
</xm-product-select>
</el-row>
<el-row <el-row
ref="pageBody" ref="pageBody"
class="padding"
:class="{border:xmProduct && xmProduct.id}"
class="padding"
:style="{ maxHeight: maxTableHeight + 'px', overflowY: 'auto' }" :style="{ maxHeight: maxTableHeight + 'px', overflowY: 'auto' }"
> >
<h4 class="padding-bottom" v-if="xmProduct && xmProduct.id">常用功能导航</h4>
<el-steps v-if="xmProduct && xmProduct.id" <el-steps v-if="xmProduct && xmProduct.id"
:active="calcProductPstatusStep" :active="calcProductPstatusStep"
finish-status="success" finish-status="success"
@ -144,6 +150,7 @@
</el-step> </el-step>
</el-steps> </el-steps>
</el-row> </el-row>
</div>
</el-col> </el-col>
<el-col :span="20" class="padding-left padding-right"> <el-col :span="20" class="padding-left padding-right">
<el-tabs :value="showPanel" @tab-click="tabClick"> <el-tabs :value="showPanel" @tab-click="tabClick">
@ -567,7 +574,7 @@ export default {
}; };
</script> </script>
<style scoped>
<style lang="less" scoped>
.more-label-font { .more-label-font {
text-align: center; text-align: center;
float: left; float: left;
@ -577,4 +584,16 @@ export default {
margin-left: 0px; margin-left: 0px;
margin-bottom: 5px; margin-bottom: 5px;
} }
.product-title{
cursor: pointer;
width:250px;
display: block;
.text{
font-size: 16px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
width:100%;
}
}
</style> </style>
Loading…
Cancel
Save