Browse Source

优化

master
陈裕财 4 years ago
parent
commit
b0b960a2b5
  1. 39
      src/views/xm/core/xmMenu/XmMenuMng.vue
  2. 9
      src/views/xm/core/xmTask/XmTaskAdd.vue
  3. 14
      src/views/xm/core/xmTask/XmTaskEdit.vue
  4. 13
      src/views/xm/core/xmTask/XmTaskMng.vue

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

@ -92,20 +92,11 @@
<el-row class="padding-top">
<el-table lazy :load="loadMenusLazy" stripe fit border ref="table" :max-height="tableHeight" :data="xmMenusTreeData" row-key="menuId" :tree-props="{children: 'children', hasChildren: 'childrenCnt'}" @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="160" show-overflow-tooltip>
<el-table-column prop="menuName" label="需求名称" min-width="160">
<template slot-scope="scope">
<el-link type="primary" @click="showEdit(scope.row)" :icon="scope.row.ntype=='1'?'el-icon-folder-opened':''">{{scope.row.seqNo}}&nbsp;&nbsp;{{scope.row.menuName}}</el-link>
<font class="align-right">
<el-popover
placement="top-start"
title="需求备注"
width="400"
trigger="click" >
<div v-html="scope.row.remark">
</div>
<el-tag slot="reference" icon="el-icon-chat-line-square">描述</el-tag>
</el-popover>
</font>
<el-link type="primary" @click="showEdit(scope.row)" :icon="scope.row.ntype=='1'?'el-icon-folder-opened':''">{{scope.row.seqNo}}&nbsp;&nbsp;</el-link>
{{scope.row.menuName}}
</template>
</el-table-column>
<el-table-column prop="status" label="状态" width="80" show-overflow-tooltip>
@ -256,18 +247,9 @@
]),
xmMenusTreeData() {
let xmMenus = JSON.parse(JSON.stringify(this.xmMenus || []));
if (this.valueChangeRows && this.valueChangeRows.length) {
this.valueChangeRows.forEach(c => {
var index = xmMenus.findIndex(i=>i.id==c.id);
const oldRow = JSON.parse(JSON.stringify(xmMenus[index]));
xmMenus.splice(index,1);
c.parentTaskid = oldRow.parentTaskid;
xmMenus.push(c);
})
}
let xmMenus =this.xmMenus;
const xmMenusTreeData = this.translateDataToTree(xmMenus);
let xmMenusTreeData = this.translateDataToTree(xmMenus);
return xmMenusTreeData;
},
@ -440,10 +422,7 @@
}
return params;
},
loadMenusLazy(row, treeNode, resolve) {
if(row.children&&row.children.length>0){
resolve(row.children)
}else{
loadMenusLazy(row, treeNode, resolve) {
var params={pmenuId:row.menuId}
params=this.getParams(params);
params.isTop=""
@ -460,8 +439,7 @@
}else{
resolve([])
}
}).catch( err => this.load.list = false );
}
}).catch( err => this.load.list = false );
},
// XmMenu xm_project_menu
@ -472,6 +450,7 @@
total: this.pageInfo.total,
count:this.pageInfo.count
};
this.xmMenus=[]
if(this.pageInfo.orderFields!=null && this.pageInfo.orderFields.length>0){
let orderBys=[];
for(var i=0;i<this.pageInfo.orderFields.length;i++){

9
src/views/xm/core/xmTask/XmTaskAdd.vue

@ -28,10 +28,10 @@
<el-radio v-model="addForm.ntype" label="1">任务集</el-radio>
<el-radio v-model="addForm.ntype" label="0">任务</el-radio>
</el-form-item>
<el-form-item label="任务名称" prop="name">
<el-form-item label="名称" prop="name">
<el-row>
<el-col :span="24" style="padding-left:10px;">
<el-input v-model="addForm.name" placeholder="任务名称" ></el-input>
<el-input v-model="addForm.name" placeholder="名称" ></el-input>
<el-tooltip content="归属项目"><el-tag>{{addForm.projectName}}</el-tag></el-tooltip>
<el-divider direction="vertical"></el-divider>
<el-tooltip content="上级" >
@ -45,10 +45,12 @@
<el-input v-model="addForm.sortLevel" style="width:30%;" placeholder="如1.0或者1.2.3等" ></el-input> <font style="color:red;">如1.0或者1.2.3等</font>
<el-checkbox v-model="addForm.milestone" :true-label="1" :false-label="0">标记为里程碑</el-checkbox>
</el-form-item>
<div v-if="addForm.ntype!='1'">
<el-form-item label="前置任务">
<el-tag v-if="addForm.preTaskid" @close="clearPreTask" closable >{{addForm.preTaskname}}</el-tag>
<el-button @click.stop="selectTaskVisible=true" >选前置任务</el-button>
</el-form-item>
<el-form-item label="紧急程度" prop="planType">
<el-select v-model="addForm.level">
<el-option v-for="i in options.urgencyLevel" :label="i.optionName" :key="i.optionValue" :value="i.optionValue"></el-option>
@ -68,7 +70,9 @@
<el-form-item label="任务描述" prop="description">
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 10}" v-model="addForm.description" placeholder="任务描述" ></el-input>
</el-form-item>
</div>
</el-card>
<div v-if="addForm.ntype!='1'">
<el-card class="box-card" id="planInfoAdd" header="进度计划" shadow="hover">
<el-form-item label="任务负责人">
<el-tag v-if="addForm.createUserid" style="margin-left:10px;border-radius:30px;" >{{addForm.createUsername}}</el-tag>
@ -164,6 +168,7 @@
</el-steps>
</el-form-item>
</el-card>
</div>
</el-form>
</el-row>
<el-row class="page-bottom padding">

14
src/views/xm/core/xmTask/XmTaskEdit.vue

@ -26,13 +26,13 @@
<el-card class="box-card" header="基础信息" id="baseInfo" shadow="hover">
<el-form-item label="" prop="ntype">
<el-radio v-model="editForm.ntype" label="1">需求</el-radio>
<el-radio v-model="editForm.ntype" label="0">需求</el-radio>
<el-radio v-model="editForm.ntype" label="1">任务</el-radio>
<el-radio v-model="editForm.ntype" label="0">任务</el-radio>
</el-form-item>
<el-form-item label="任务名称" prop="name">
<el-form-item label="名称" prop="name">
<el-row>
<el-col :span="24" style="padding-left:10px;">
<el-input v-model="editForm.name" placeholder="任务名称" ></el-input>
<el-input v-model="editForm.name" placeholder="名称" ></el-input>
<el-tooltip content="归属项目"><el-tag>{{editForm.projectName}}</el-tag></el-tooltip>
<el-divider direction="vertical"></el-divider>
<el-tooltip content="上级" ><el-tag>{{editForm.parentTaskname?editForm.parentTaskname:"无上级"}}</el-tag></el-tooltip>
@ -43,6 +43,7 @@
<el-input v-model="editForm.sortLevel" style="width:30%;" placeholder="如1.0或者1.2.3等" ></el-input> <font style="color:red;">如1.0或者1.2.3等</font>
<el-checkbox v-model="editForm.milestone" :true-label="1" :false-label="0">标记为里程碑</el-checkbox>
</el-form-item>
<div v-if="editForm.ntype!='1'">
<el-form-item label="前置任务">
<el-tag v-if="editForm.preTaskid" @close="clearPreTask" closable >{{editForm.preTaskname}}</el-tag>
<el-button @click.stop="selectTaskVisible=true" >选前置任务</el-button>
@ -68,8 +69,10 @@
<el-form-item label="任务描述" prop="description">
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 10}" v-model="editForm.description" placeholder="任务描述" ></el-input>
</el-form-item>
</div>
</el-card>
<el-card class="box-card" id="planInfo" header="进度计划" shadow="hover">
<div v-if="editForm.ntype!='1'">
<el-card class="box-card" id="planInfo" header="进度计划" shadow="hover" >
<el-form-item label="任务负责人">
<el-tag v-if="editForm.createUserid" style="margin-left:10px;border-radius:30px;" >{{editForm.createUsername}}</el-tag>
<el-tag v-else style="margin-left:10px;border-radius:30px;" icon="el-icon-right" >未设置</el-tag>
@ -169,6 +172,7 @@
</el-steps>
</el-form-item>
</el-card>
</div>
</el-form>
</el-row>
<el-row class="padding">

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

@ -379,7 +379,7 @@
min-width="250"
>
<template slot-scope="scope">
<el-link type="primary" @click.stop="showDrawer(scope.row)">
<el-link type="primary" @click.stop="showDrawer(scope.row)" :icon="scope.row.ntype=='1'?'el-icon-folder-opened':''">
{{ scope.row.sortLevel }}&nbsp;
<el-tag v-if="scope.row.level <= '2'" type="info"
>轻微</el-tag
@ -402,13 +402,16 @@
width="150"
>
<template slot-scope="scope">
<font v-if="scope.row.ntype!='1'">
{{ "¥" + getAmountDesc(scope.row.budgetCost) }},{{
scope.row.budgetWorkload
}}人时
</font>
</template>
</el-table-column>
<el-table-column sortable prop="rate" label="进度" width="100">
<template slot-scope="scope">
<font v-if="scope.row.ntype!='1'">
<el-link
style="border-radius: 30px"
:type="scope.row.rate >= 100 ? 'success' : 'warning'"
@ -416,6 +419,7 @@
>
{{ (scope.row.rate != null ? scope.row.rate : 0) + "%" }}
</el-link>
</font>
</template>
</el-table-column>
@ -429,6 +433,7 @@
show-overflow-tooltip
>
<template slot-scope="scope">
<font v-if="scope.row.ntype!='1'">
<span
v-for="(item, index) in [formatExeUsernames(scope.row)]"
:key="index"
@ -439,6 +444,7 @@
>{{ item.showMsg }}</el-link
>
</span>
</font>
</template>
</el-table-column>
<el-table-column
@ -449,6 +455,7 @@
show-overflow-tooltip
>
<template slot-scope="scope">
<font v-if="scope.row.ntype!='1'">
<el-link @click="drawerVisible = true"
>{{ getDateString(scope.row.startTime) }}&nbsp;~&nbsp;{{
getDateString(scope.row.endTime)
@ -459,6 +466,8 @@
<el-tag :type="item.type">{{getDateString(scope.row.startTime)}}~{{getDateString(scope.row.endTime)}} {{item.desc}}</el-tag>
</div>
-->
</font>
</template>
</el-table-column>
<el-table-column
@ -469,9 +478,11 @@
>
<template slot="header"> 需求 </template>
<template slot-scope="scope">
<font v-if="scope.row.ntype!='1'">
<el-link @click.stop="toMenu(scope.row)">{{
scope.row.menuName ? scope.row.menuName : "去关联需求"
}}</el-link>
</font>
</template>
</el-table-column>

Loading…
Cancel
Save