Browse Source

优化

master
陈裕财 4 years ago
parent
commit
a24ea15dae
  1. 15
      src/views/xm/core/xmProject/XmProjectInfo.vue
  2. 118
      src/views/xm/core/xmTask/XmTaskAdd.vue

15
src/views/xm/core/xmProject/XmProjectInfo.vue

@ -36,15 +36,9 @@
<el-menu-item index="团队">
<span slot="title"><i class="el-icon-user-solid"></i>团队</span>
</el-menu-item>
<el-submenu index="规划">
<template slot="title">规划</template>
<el-menu-item index="计划及里程碑">
<span slot="title"><i class="el-icon-odometer"></i>计划及里程碑</span>
</el-menu-item>
<el-menu-item index="测试计划">
<span slot="title"><i class="el-icon-odometer"></i>测试计划</span>
</el-menu-item>
</el-submenu >
<el-menu-item index="计划">
<span slot="title"><i class="el-icon-odometer"></i>计划</span>
</el-menu-item>
<el-submenu index="财务" class="hidden-sm-and-down">
<template slot="title">财务</template>
<el-menu-item index="合同管理">
@ -145,7 +139,8 @@
<xm-question v-if="infotype=='缺陷'" :qtype="'bug'" :sel-project='selProject' ref="xmQuestion"></xm-question>
<xm-group-mng v-if="infotype=='团队'" :sel-project="selProject"></xm-group-mng>
<xm-file-mng v-if="infotype=='文档'" :sel-project="selProject"></xm-file-mng>
<xm-project-phase-mng v-if="infotype=='计划及里程碑'" ref="xmProjectPhaseMng" :sel-project="selProject" ></xm-project-phase-mng>
<xm-task-mng v-if="infotype=='计划'" ref="projectPlan" work-item-type="projectPlan" :sel-project="selProject" ></xm-task-mng>
<!-- <xm-project-phase-mng v-if="infotype=='计划'" ref="xmProjectPhaseMng" :sel-project="selProject" ></xm-project-phase-mng> -->
<xm-test-case-exec-mng v-if="infotype=='测试计划'" :visible="infotype=='测试计划'" :sel-project='selProject' ref="xmQuestion"></xm-test-case-exec-mng>
<xm-menu-with-plan v-if="infotype=='需求监控'" ref="xmMenuWithPlan" :sel-project="selProject"></xm-menu-with-plan>
<xm-project-state-mng v-if="infotype=='项目监控'" :sel-project="selProject"></xm-project-state-mng>

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

@ -1,21 +1,10 @@
<template>
<section class="page-container padding">
<el-row>
<el-steps :active="calcTaskStep" finish-status="success" simple>
<el-step title="发布" description="任务创建成功后即发布"></el-step>
<el-step title="竞标" description="候选人参与竞标,或者由责任人主动设置候选人"></el-step>
<el-step title="执行" description="候选人中标后,成为执行人,执行任务"></el-step>
<el-step title="验收" description="任务完成后提交验收,验收通过,即可进行结算"></el-step>
<el-step title="结算" description="提交结算申请审批流程,审批过程自动根据审批结果进行结算"></el-step>
<el-step title="企业付款" description="结算流程审批通过,自动付款到个人钱包"></el-step>
<el-step title="提现" description="企业付款完成后,个人对钱包中余额进行提现"></el-step>
</el-steps>
</el-row>
<el-row class="page-main ">
<!--新增界面 XmTask xm_task-->
<el-form :model="addForm" label-width="100px" :rules="addFormRules" ref="addForm">
<el-card class="box-card" header="基础信息" id="baseInfoAdd" shadow="hover">
<el-form-item label="类型" prop="ntype">
<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>
</el-form-item>
@ -38,38 +27,59 @@
<el-input v-model="addForm.sortLevel" style="width:30%;" placeholder="如1.0或者1.2.3等" ></el-input> <el-checkbox v-model="addForm.milestone" :true-label="1" :false-label="0">里程碑</el-checkbox>
</el-form-item>
<div>
<el-form-item label="前置任务">
<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>
</el-select>
<el-tooltip content="任务类型"><el-select v-model=" addForm.taskType">
<el-option v-for="i in this.options.taskType" :label="i.optionName" :key="i.optionValue" :value="i.optionValue"></el-option>
</el-select>
</el-tooltip>
<el-button @click.stop="selectTaskVisible=true" >选前置</el-button>
</el-form-item>
<el-form-item label="所属需求" prop="menuId" id="menuInfoAdd">
<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>
<el-col :span="8">
<el-form-item label="紧急程度" prop="level">
<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>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="类型" prop="taskType">
<el-select v-model="addForm.taskType">
<el-option v-for="i in this.options.taskType" :label="i.optionName" :key="i.optionValue" :value="i.optionValue"></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}} <el-button @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 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>
<el-card class="box-card" id="planInfoAdd" header="进度计划" shadow="hover" v-if="addForm.ntype!='1'">
<el-form-item label="任务负责人">
<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>
<el-tag v-else style="margin-left:10px;border-radius:30px;" icon="el-icon-right" >未设置</el-tag>
<el-button @click="showGroupUserSelect(addForm)" icon="el-icon-setting">设置负责人</el-button>
</el-form-item>
<el-form-item label="执行人" prop="executorUsername">
<el-tag v-if="addForm.executorUserid" style="margin-left:10px;border-radius:30px;" >{{addForm.executorUsername}}</el-tag>
<el-button @click="execGroupUserSelectVisible=true" icon="el-icon-setting">设置执行人</el-button>
</el-form-item>
<el-form-item label="预计时间">
<el-tooltip content="计划类型">
<el-select v-model=" addForm.planType" style="width:20%;">
@ -97,7 +107,7 @@
<el-form-item label="预估工作量" prop="budgetWorkload">
<el-input-number style="width:200px;" v-model="addForm.budgetWorkload" @change="onBudgetWorkloadChange" :precision="2" :step="8" :min="0" placeholder="预计总工作量(人时,不包括下一级)"></el-input-number> <el-tag>人时{{this.toFixed(addForm.budgetWorkload/8/20)}}人月</el-tag>
<br/>
<el-checkbox v-model="addForm.taskOut" @change="onTaskOutChange" true-label="1" false-label="0">是否为众包任务</el-checkbox>
<el-checkbox v-model="addForm.taskOut" @change="onTaskOutChange" true-label="1" false-label="0">是否为众包</el-checkbox>
</el-form-item>
<el-form-item label="预估金额" prop="taskOut">
@ -123,20 +133,19 @@
</el-form-item>
</el-card>
<el-card class="box-card" header="众包" id="taskOutAdd" v-if="addForm.ntype!='1'">
<el-card class="box-card" header="众包" id="taskOutAdd" v-if="addForm.ntype!='1' && addForm.taskOut=='1'">
<el-checkbox v-model="addForm.toTaskCenter" true-label="1" false-label="0" id="taskOut">发布到互联网任务大厅</el-checkbox>
<el-form-item label="众包流程" prop="taskOut">
<el-steps :active="calcTaskStep" align-center>
<el-step title="发布" description="任务创建成功后即发布"></el-step>
<el-step title="竞标" description="候选人参与竞标,或者由责任人主动设置候选人"></el-step>
<el-step title="执行" description="候选人中标后,成为执行人,执行任务"></el-step>
<el-step title="验收" description="任务完成后提交验收,验收通过,即可进行结算"></el-step>
<el-step title="结算" description="提交结算申请审批流程,审批过程自动根据审批结果进行结算"></el-step>
<el-step title="企业付款" description="结算流程审批通过,自动付款到个人钱包"></el-step>
<el-step title="提现" description="企业付款完成后,个人对钱包中余额进行提现"></el-step>
</el-steps>
</el-form-item>
<el-steps :active="calcTaskStep" align-center simple>
<el-step title="发布" description="任务创建成功后即发布"></el-step>
<el-step title="竞标" description="候选人参与竞标,或者由责任人主动设置候选人"></el-step>
<el-step title="执行" description="候选人中标后,成为执行人,执行任务"></el-step>
<el-step title="验收" description="任务完成后提交验收,验收通过,即可进行结算"></el-step>
<el-step title="结算" description="提交结算申请审批流程,审批过程自动根据审批结果进行结算"></el-step>
<el-step title="企业付款" description="结算流程审批通过,自动付款到个人钱包"></el-step>
<el-step title="提现" description="企业付款完成后,个人对钱包中余额进行提现"></el-step>
</el-steps>
</el-card>
</el-form>
</el-row>
@ -154,6 +163,9 @@
<el-drawer append-to-body title="需求选择" :visible.sync="menuVisible" fullscreen :close-on-click-modal="false">
<xm-menu-select :is-select-menu="true" @selected="onMenuSelected" :sel-project="xmProject"></xm-menu-select>
</el-drawer>
<el-drawer append-to-body title="选择执行人" :visible.sync="execGroupUserSelectVisible" size="60%" :close-on-click-modal="false">
<xm-group-select :visible="execGroupUserSelectVisible" :sel-project="xmProject" :isSelectSingleUser="1" @user-confirm="execGroupUserSelectConfirm"></xm-group-select>
</el-drawer>
<el-drawer title="选中任务" :visible.sync="selectTaskVisible" size="80%" append-to-body :close-on-click-modal="false">
<xm-task-list :sel-project="xmProject" @task-selected="onSelectedTask"></xm-task-list>
@ -264,6 +276,7 @@
selectTaskVisible:false,
execUserVisible:false,
groupUserSelectVisible:false,
execGroupUserSelectVisible:false,
budgetDateRanger: [
util.formatDate.format(beginDate, "yyyy-MM-dd HH:mm:ss"),
util.formatDate.format(endDate, "yyyy-MM-dd HH:mm:ss")
@ -450,8 +463,21 @@
this.groupUserSelectVisible=false;
},
execGroupUserSelectConfirm:function(users){
if( users==null || users.length==0 ){
this.execGroupUserSelectVisible=false;
this.addForm.executorUserid='';
this.addForm.executorUsername=''
return
}
this.addForm.executorUserid=users[0].userid
this.addForm.executorUsername=users[0].username
this.execGroupUserSelectVisible=false;
},
initData(){
if(this.parentTask){
if(this.parentTask && this.parentTask.id){
this.addForm=Object.assign(this.addForm, this.parentTask);
this.addForm.parentTaskid=this.parentTask.id
this.addForm.parentTaskname=this.parentTask.name;
@ -463,7 +489,7 @@
this.addForm.projectName=this.xmProject.name
}
if(this.parentTask ){
if(this.parentTask && this.parentTask.id){
if(this.parentTask.childrenCnt){
this.addForm.sortLevel=this.parentTask.sortLevel+"."+(this.parentTask.childrenCnt+1)
}else{
@ -479,6 +505,10 @@
if(!this.addForm.uniOutPrice){
this.addForm.uniOutPrice=100
}
this.addForm.createUserid=this.userInfo.userid
this.addForm.createUsername=this.userInfo.username;
this.addForm.executorUserid=this.userInfo.userid
this.addForm.executorUsername=this.userInfo.username
this.addForm.id=null;
},
toMenu(){

Loading…
Cancel
Save