Browse Source

任务编辑优化

master
陈裕财 5 years ago
parent
commit
49d0382727
  1. 2
      src/views/xm/core/xmProject/XmProjectEdit.vue
  2. 2
      src/views/xm/core/xmProjectMBudgetCostUser/XmProjectMBudgetCostUserMng.vue
  3. 2
      src/views/xm/core/xmProjectMCostUser/XmProjectMCostUserList.vue
  4. 120
      src/views/xm/core/xmTask/XmTaskEdit.vue
  5. 2
      src/views/xm/core/xmTask/XmTaskMng.vue

2
src/views/xm/core/xmProject/XmProjectEdit.vue

@ -634,7 +634,7 @@
this.dateRanger=[this.editForm.startTime,this.editForm.endTime]
listOption([{categoryId:'all',itemCode:'projectType'},{categoryId:'all',itemCode:'urgencyLevel'},{categoryId:'all',itemCode:'priority'},{categoryId:'all',itemCode:'projectStatus'}] ).then(res=>{
if(res.data.tips.isOk){
debugger
this.options['projectType']=res.data.data.projectType
this.options['urgencyLevel']=res.data.data.urgencyLevel
this.options['priority']=res.data.data.priority

2
src/views/xm/core/xmProjectMBudgetCostUser/XmProjectMBudgetCostUserMng.vue

@ -349,7 +349,7 @@
},
mounted() {
this.$nextTick(() => {
debugger
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=50/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;

2
src/views/xm/core/xmProjectMCostUser/XmProjectMCostUserList.vue

@ -239,7 +239,7 @@
},
mounted() {
this.$nextTick(() => {
debugger
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=50/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;

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

@ -1,11 +1,24 @@
<template>
<section class="page-container page-height padding">
<el-row>
<el-button type="text" @click="goAnchor('baseInfo')">基础信息</el-button>
<el-button type="text" @click="goAnchor('planInfo')">进度计划</el-button>
<el-button type="text" @click="goAnchor('costInfo')">工作量与成本</el-button>
<el-button type="text" @click="goAnchor('settleInfo')">结算信息</el-button>
<el-button type="text" @click="goAnchor('menuInfo')">故事明细</el-button>
<el-button type="text" @click="goAnchor('flowInfo')">流程说明</el-button>
</el-row>
<el-row class="page-main page-main-height">
<!--新增界面 XmTask xm_task-->
<el-form :model="editForm" label-width="100px" :rules="editFormRules" ref="editForm">
<el-form-item v-if="editForm.parentTaskname!=null && editForm.parentTaskname!=''" label="父任务名称">
<span>{{editForm.parentTaskname}}</span>
</el-form-item>
<el-divider content-position="left" id="baseInfo">基本信息</el-divider>
<el-steps :active="calcTaskStep" align-center finish-status="success">
<el-step title="待领取"></el-step>
<el-step title="执行中"></el-step>
<el-step title="已完工待结算"></el-step>
<el-step title="已结算"></el-step>
</el-steps>
<el-form-item label="任务名称" prop="name">
<el-row>
<el-col :span="24" style="padding-left:10px;">
@ -16,62 +29,40 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item label="参与流程">
<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-form-item label="任务状态" prop="taskState">
<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-steps>
</el-form-item>
<el-form-item label="排序号" prop="sortLevel">
<el-input v-model="editForm.sortLevel" placeholder="如1.0或者1.2.3等" ></el-input>
<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>
<el-form-item label="计划类型" prop="planType">
<el-select v-model=" editForm.planType">
<el-option v-for="i in this.options.planType" :label="i.optionName" :key="i.optionValue" :value="i.optionValue"></el-option>
</el-select>
<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>
</el-form-item>
<el-form-item label="任务类型" prop="taskType">
<el-select v-model=" editForm.taskType">
<el-form-item label="紧急程度" prop="planType">
<el-select v-model="editForm.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=" editForm.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-form-item>
<el-form-item label="所属故事" prop="menuId">
{{editForm.menuId}}:{{editForm.menuName}} <el-button @click="menuVisible=true" round>选择归属故事</el-button>
</el-form-item>
<el-form-item label="紧急程度" prop="level">
<el-radio-group v-model="editForm.level">
<el-radio v-for="i in options.urgencyLevel" :label="i.optionValue" :key="i.optionValue">{{i.optionName}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="里程碑" prop="milestone">
<el-checkbox v-model="editForm.milestone" :true-label="1" :false-label="0">标记为里程碑</el-checkbox>
{{editForm.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="前置任务名称">
<el-tag v-if="editForm.preTaskid" @close="clearPreTask" closable >{{editForm.preTaskname}}</el-tag>
<el-button @click.stop="selectTaskVisible=true" >选前置任务</el-button>
<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>
<el-divider content-position="left" id="planInfo">进度计划</el-divider>
<el-form-item label="预计时间">
<el-tooltip content="计划类型">
<el-select v-model=" editForm.planType" style="width:20%;">
<el-option v-for="i in this.options.planType" :label="i.optionName" :key="i.optionValue" :value="i.optionValue"></el-option>
</el-select>
</el-tooltip>
<el-date-picker
v-model="budgetDateRanger"
@change="onBudgetDateRangerChange"
@ -87,7 +78,7 @@
:picker-options="pickerOptions"
></el-date-picker>
</el-form-item>
<el-divider content-position="left" id="costInfo">工作量成本</el-divider>
<el-form-item label="预估工作量" prop="budgetWorkload">
<el-input-number v-model="editForm.budgetWorkload" @change="onBudgetWorkloadChange" :precision="2" :step="8" :min="0" placeholder="预计总工作量(人时,不包括下一级)"></el-input-number> <el-tag>人时{{this.toFixed(editForm.budgetWorkload/8/20)}}人月</el-tag>
</el-form-item>
@ -95,7 +86,6 @@
<el-checkbox v-model="editForm.taskOut" @change="onTaskOutChange" true-label="1" false-label="0">外包任务</el-checkbox>
<el-input-number v-model="editForm.budgetCost" :precision="2" :step="1000" :min="0" placeholder="预算金额"></el-input-number>
</el-form-item>
<!--
<el-form-item label="实际时间" prop="actStartTime">
<el-date-picker
v-model="actDateRanger"
@ -112,31 +102,13 @@
></el-date-picker>
</el-form-item>
--->
<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>
<el-form-item label="备注" prop="remarks">
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 10}" v-model="editForm.remarks" placeholder="备注" ></el-input>
</el-form-item>
<!--
<el-form-item label="实际工作量" prop="actWorkload">
<el-input-number v-model="editForm.actWorkload" :precision="2" :step="8" :min="0" placeholder="实际工作量"></el-input-number> <el-tag>参考{{refActWorkload}}人时{{this.toFixed(refActWorkload/8/20)}}人月</el-tag>
</el-form-item>
<el-form-item label="实际金额" prop="actCost">
<el-input-number v-model="editForm.actCost" :precision="2" :step="1000" :min="0" placeholder="实际金额"></el-input-number>
</el-form-item>
-->
<!--
<el-form-item label="任务状态" prop="taskState">
<el-radio-group v-model="editForm.taskState">
<el-radio label="0">待领取</el-radio>
<el-radio label="1">已领取执行中</el-radio>
<el-radio label="2">已完工</el-radio>
<el-radio label="3">已结算</el-radio>
</el-radio-group>
</el-form-item>
-->
<el-divider content-position="left" id="settleInfo">结算信息</el-divider>
<el-form-item label="其它配置" prop="taskClass">
<el-checkbox v-model="editForm.taskClass" true-label="1" false-label="0">是否需要结算</el-checkbox>
<el-checkbox v-model="editForm.toTaskCenter" true-label="1" false-label="0">发布到互联网任务大厅</el-checkbox>
@ -147,6 +119,18 @@
</el-select>
</el-form-item>
</el-form>
<el-divider content-position="left" id="flowInfo">流程说明</el-divider>
<el-row>
<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-row>
</el-row>
<el-row class="page-bottom">
<el-button @click.native="handleCancel">取消</el-button>
@ -154,7 +138,6 @@
</el-row>
<!-- <el-dialog append-to-body :title="'技能要求'" :visible.sync="skillVisible" width="80%" append-to-body :close-on-click-modal="false">
<xm-skill-mng :visible="skillVisible" :task-id="editForm.id" @cancel="skillVisible=false" @getSkill="getSkill"></xm-skill-mng>
</el-dialog> -->
@ -427,6 +410,9 @@
clearPreTask(){
this.editForm.preTaskid=''
this.editForm.preTaskname=''
},
goAnchor :function(id){
document.querySelector("#"+id).scrollIntoView(true);
}
/**end 在上面加自定义方法**/

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

@ -1787,7 +1787,7 @@ XmProjectGroupSelect,XmProductSelect
this.filters.product=this.xmProduct;
}
this.$nextTick(()=>{
debugger
this.getXmTasks();
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=50/1000 * window.innerHeight;

Loading…
Cancel
Save