Browse Source

优化

master
陈裕财 4 years ago
parent
commit
c515e487ae
  1. 149
      src/views/xm/core/xmTask/XmTaskAdd.vue
  2. 16
      src/views/xm/core/xmTask/XmTaskMng.vue

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

@ -2,95 +2,117 @@
<section class="page-container padding">
<el-row class="page-main ">
<!--新增界面 XmTask xm_task-->
<el-form :model="addForm" label-width="100px" :rules="addFormRules" ref="addForm">
<el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">
<el-collapse value="1" accordion>
<el-collapse-item title="基础信息" name="1">
<el-form-item label="" prop="ntype">
<el-radio :disabled="parentTask&&parentTask.id&&parentTask.ntype==='0'" v-model="addForm.ntype" label="1">计划项</el-radio>
<el-radio v-model="addForm.ntype" label="0">任务</el-radio>
<br>
<font v-if="addForm.ntype==='0'" color="red" style="font-size:12px;">任务任务一般不再包含子任务建议细分到一个人一天或者几天内能完成这种粒度任务的预算不能大于上一级预算</font>
<font v-if="addForm.ntype==='1'" color="red" style="font-size:12px;">计划计划负责分解上级预算汇总统计下级实际数据计划下包含子计划或者子任务</font>
</el-form-item>
<el-form-item v-if="addForm.ptype==='0'" label="归属项目" prop="projectId">
<el-tag>{{addForm.projectName}}</el-tag>
</el-form-item>
<el-form-item v-if="addForm.ptype==='1'" label="归属产品" prop="productId">
<el-tag>{{addForm.productName}}</el-tag>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="上级" prop="parentTaskname">
<el-tag v-if="addForm.parentTaskid" @close="clearParentTask" closable >{{addForm.parentTaskname}}</el-tag>
<el-button type="text" @click.stop="selectParentTaskVisible=true" >选上级</el-button>
<br>
<font color="red" style="font-size:12px;">请尽量设置上级,对任务进行归类管理</font>
</el-form-item>
<el-col :span="6">
<el-form-item label="序号" prop="sortLevel" >
<template slot="label">
<div class="icon" :style="{backgroundColor: addForm.ntype==='0'?'#409EFF':'#E6A23C'}">
<i :class=" addForm.ntype==='0'?'el-icon-s-operation':'el-icon-odometer' " ></i>
</div>
{{addForm.ntype==='0'?'序号/任务':'序号/计划'}}
</template>
<el-input v-model="addForm.sortLevel" placeholder="如1.0或者1.2.3等" title="序号,如1.0、1.1.1或者1,2,3等"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="前置">
<el-tag v-if="addForm.preTaskid" @close="clearPreTask" closable >{{addForm.preTaskname}}</el-tag>
<el-button type="text" @click.stop="selectTaskVisible=true" >选前置</el-button>
<el-col :span="18">
<el-form-item label="" prop="name" label-width="0">
<el-input v-model="addForm.name" placeholder="名称" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-row>
<el-col :span="6">
<el-form-item label="序号名称" prop="sortLevel" >
<el-input v-model="addForm.sortLevel" placeholder="如1.0或者1.2.3等" ></el-input>
<br>
<el-form-item label="" prop="milestone">
<el-checkbox v-model="addForm.milestone" :true-label="1" :false-label="0">里程碑</el-checkbox>
</el-form-item>
</el-col>
<el-col :span="18">
<el-form-item prop="skill" label="" v-if="addForm.ntype!='1'" label-width="0">
<el-tag class="fs-ft" style="margin-right:10px" v-for="(item,i) in taskSkills" :key="i">{{item.taskSkillName}}</el-tag>
<el-button type="text" @click.stop="showSkill()" icon="el-icon-plus">技能</el-button>
</el-form-item>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="上级计划" prop="parentTaskname">
<template slot="label">
<div class="icon" :style="{backgroundColor: '#E6A23C'}">
<i :class=" 'el-icon-odometer' " ></i>
</div>
上级计划
</template>
<font v-if="addForm.parentTaskid" >{{addForm.parentTaskname?addForm.parentTaskname:addForm.parentTaskid}}</font>
<font v-else>无上级(视为顶级)</font>
</el-form-item>
</el-col>
<el-col :span="18">
<el-form-item label="" prop="name" label-width="0px">
<el-input style="width:100%;" v-model="addForm.name" placeholder="名称" ></el-input>
</el-form-item>
<el-col :span="12">
<el-form-item v-if="addForm.ptype==='0'" label="归属项目" prop="projectId">
{{addForm.projectName?addForm.projectName:addForm.projectId}}
</el-form-item>
<el-form-item v-if="addForm.ptype==='1'" label="归属产品" prop="productId">
{{addForm.productName?addForm.productName:addForm.productId}}
</el-form-item>
</el-col>
</el-row>
<div>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="状态">
<el-select v-model="addForm.taskState">
<el-option value="0" label="待领取"></el-option>
<el-option value="1" label="已领取执行中"></el-option>
<el-option value="2" label="已完工"></el-option>
<el-option value="3" label="已结算"></el-option>
</el-select>
</el-form-item>
<el-col :span="12">
<el-form-item :label="addForm.ntype=='0'?'任务前置':'计划前置'">
<el-tag v-if="addForm.preTaskid" @close="clearPreTask" closable >{{addForm.preTaskname}}</el-tag>
<el-button type="text" @click.stop="selectTaskVisible=true" >选前置</el-button>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<el-form-item label="所属需求" prop="menuId" id="menuInfo" v-if="addForm.ntype!='1'">
{{addForm.menuName}} &nbsp;&nbsp;&nbsp; <el-link @click="menuVisible=true" type="primary">{{addForm.menuName?'更改':'设置'}}</el-link>&nbsp;&nbsp;&nbsp;
<el-link v-if="addForm.menuName" @click="toMenu" type="primary">查看需求</el-link>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="紧急程度" prop="level">
<el-select v-model="addForm.level">
<el-option v-for="i in dicts.urgencyLevel" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="类型" prop="taskType">
<el-col :span="12">
<el-form-item :label="addForm.ntype=='0'?'任务类型':'计划类型'" prop="taskType">
<el-select v-model="addForm.taskType">
<el-option v-for="i in this.dicts.taskType" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="所属需求" prop="menuId" id="menuInfoAdd" v-if="addForm.ntype=='0'">
{{addForm.menuName}} &nbsp;<el-button type="text" @click="menuVisible=true" round>选择归属需求</el-button>
</el-form-item>
<el-form-item prop="skill" label="技能要求">
<el-button class="useradd-icon" type="text" @click.stop="showSkill()" icon="el-icon-circle-plus-outline">增加</el-button>
<el-tag class="fs-ft" style="margin-right:10px" v-for="(item,i) in taskSkills" :key="i">{{item.taskSkillName}}</el-tag>
</el-form-item>
<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-row>
<el-row>
<el-col :span="12">
<el-form-item :label="addForm.ntype=='0'?'任务状态':'计划状态'">
<el-select v-model="addForm.taskState">
<el-option value="0" label="待领取"></el-option>
<el-option value="1" label="已领取执行中"></el-option>
<el-option value="2" label="已完工"></el-option>
<el-option value="3" label="已结算"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="总负责人">
<el-tag v-if="addForm.createUserid" style="margin-left:10px;border-radius:30px;" >{{addForm.createUsername}}</el-tag>
<el-button type="text" @click="showGroupUserSelect(addForm)" icon="el-icon-setting">设置负责人</el-button>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item title="进度计划" name="2">
<el-form-item label="负责人">
@ -561,6 +583,7 @@
this.addForm.createUsername=this.userInfo.username;
this.addForm.executorUserid=this.userInfo.userid
this.addForm.executorUsername=this.userInfo.username
this.addForm.ntype=this.xmTask.ntype
this.addForm.id=null;
},
toMenu(){

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

@ -168,7 +168,7 @@
</div>
<el-button
v-if="isTaskCenter != '1' && isMy != '1'"
@click="showAdd"
@click="showAdd('1')"
icon="el-icon-plus"
>直接创建计划</el-button
>
@ -204,7 +204,7 @@
</div>
<el-button
v-if="isTaskCenter != '1' && isMy != '1'"
@click="showAdd"
@click="showAdd('0')"
icon="el-icon-plus"
>直接创建任务</el-button
>
@ -468,10 +468,10 @@
<div class="tool-bar">
<span class="u-btn">
<el-tooltip v-if="scope.row.ntype==='1'" :content=" '新建任务'">
<el-button :style="{backgroundColor:'#409EFF'}" @click="showSubAdd( scope.row,scope.$index)" icon="el-icon-plus" title="新建任务" circle plain size="mini"> </el-button>
<el-button :style="{backgroundColor:'#409EFF'}" @click="showSubAdd( scope.row,scope.$index,'0')" icon="el-icon-plus" title="新建任务" circle plain size="mini"> </el-button>
</el-tooltip>
<el-tooltip v-if="scope.row.ntype==='1'" :content=" '新建计划'">
<el-button :style="{backgroundColor: '#E6A23C'}" @click="showSubAdd( scope.row,scope.$index)" icon="el-icon-plus" title="新建计划" circle plain size="mini"> </el-button>
<el-button :style="{backgroundColor: '#E6A23C'}" @click="showSubAdd( scope.row,scope.$index,'1')" icon="el-icon-plus" title="新建计划" circle plain size="mini"> </el-button>
</el-tooltip>
<el-tooltip v-if="scope.row.ntype==='0'" :content=" '编辑任务'">
@ -1691,19 +1691,21 @@ export default {
},
showSubAdd(row) {
showSubAdd(row,index,ntype) {
if(!this.checkCanAdd(row)){
return;
}
this.parentTask = row;
this.editForm = row;
this.addForm.ntype=ntype;
this.addFormVisible = true;
},
// XmTask xm_task
showAdd: function () {
showAdd: function (ntype) {
if(!this.checkCanAdd()){
return;
}
}
this.addForm.ntype=ntype;
this.addFormVisible = true;
},
afterAddSubmit(row) {

Loading…
Cancel
Save