Browse Source

优化

master
陈裕财 4 years ago
parent
commit
09ffa15073
  1. 31
      src/views/xm/core/xmProject/XmProjectEdit.vue
  2. 66
      src/views/xm/core/xmProject/XmProjectInfo.vue

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

@ -2,13 +2,7 @@
<section class="page-container padding border">
<el-row class="page-main" ref="table" :style="{overflowX:'auto',height:maxTableHeight+'px'}">
<el-form :model="editForm" label-width="120px" label-position="left" :rules="editFormRules" ref="editForm" class="editForm">
<el-row>
<span v-if="opType!=='add'" style="float:right;">
<el-button v-loading="load.edit" type="primary" @click.native="editSubmit" :disabled="load.edit==true">保存</el-button>
<el-button icon="el-icon-watch" type="warning" @click="handleCommand({type:'sendToProcessApprova',data:editForm,bizKey:'xm_project_baseinfo_change_approva'})">基本信息修改申请</el-button>
</span>
</el-row>
<el-form-item label="项目代号" prop="code" v-if="opType==='add'">
<el-input v-model="editForm.code" placeholder="项目代号,不可为空" >
<template slot="append">
@ -68,17 +62,13 @@
<el-tabs value="1" accordion>
<el-tab-pane label="项目描述" name="1">
<el-form-item label="" prop="description" label-width="0px">
<el-input type="textarea" :rows="10" v-model="editForm.description" placeholder="项目描述" @change="editXmProjectSomeFields(editForm,'description',$event)"></el-input>
</el-form-item>
</el-tab-pane>
<el-tab-pane label="控制开关" name="2">
<el-row>
<span v-if="opType!=='add'" style="float:right;">
<el-button icon="el-icon-watch" type="warning" @click="handleCommand({type:'sendToProcessApprova',data:editForm,bizKey:'xm_project_baseinfo_change_approva'})">基本信息修改申请</el-button>
</span>
<el-input type="textarea" :rows="10" v-model="editForm.description" placeholder="项目描述" ></el-input>
</el-form-item>
<el-row v-if="opType!=='add' && editForm.description!=editFormBak.description">
<el-button v-loading="load.edit" type="primary" @click.native=" editXmProjectSomeFields(editForm,'description',editForm.description)" :disabled="load.edit==true">保存描述</el-button>
</el-row>
</el-tab-pane>
<el-tab-pane label="控制开关" name="2">
<el-form-item label="报工方式" prop="wtype">
<el-select v-model="editForm.wtype" @change="editXmProjectSomeFields(editForm,'wtype',$event)">
<el-option label="无须报工" value="0" ></el-option>
@ -223,7 +213,8 @@
</el-row>
<el-row>
<!-- <el-button type="text" @click.native="handleCancel" >关闭</el-button> -->
<el-button v-loading="load.edit" type="primary" @click.native="editSubmit" :disabled="load.edit==true">提交</el-button>
<el-button v-if="opType==='add'" v-loading="load.edit" type="primary" @click.native="editSubmit" :disabled="load.edit==true">提交</el-button>
<span v-if="opType!=='add'" style="float:right;">
<el-button icon="el-icon-star-on" type="success" @click="handleCommand({type:'sendToProcessApprova',data:editForm,bizKey:'xm_project_start_approva'})">立项申请</el-button>
<el-button icon="el-icon-success" type="success" @click="handleCommand({type:'sendToProcessApprova',data:editForm,bizKey:'xm_project_over_approva'})">结项申请</el-button>
@ -479,6 +470,9 @@
editForm: {
id:'',code:'',name:'',xmType:'',startTime:'',endTime:'',urgent:'',priority:'',description:'',createUserid:'',createUsername:'',createTime:'',assess:'',assessRemarks:'',status:'',branchId:'',planTotalCost:0,bizProcInstId:'',bizFlowState:'',taxRate:6,planNouserAt:0,planIuserAt:0,planOuserAt:0,locked:'',baseTime:'',baseRemark:'',baselineId:'',planWorkload:0,totalReceivables:0,budgetMarginRate:13,contractAmt:0,planIuserPrice:85,planOuserPrice:100,planOuserCnt:1,planIuserCnt:1,planWorkingHours:0,planIuserWorkload:0,planOuserWorkload:0,budgetCtrl:'0',admUserid:'',admUsername:'',pmUserid:'',pmUsername:'',assUserid:'',assUsername:'',workType:'',wtype:'',earlyAmt:0,budgetEarly:'0',phaseActCtrl:'0'
},
editFormBak: {
id:'',code:'',name:'',xmType:'',startTime:'',endTime:'',urgent:'',priority:'',description:'',createUserid:'',createUsername:'',createTime:'',assess:'',assessRemarks:'',status:'',branchId:'',planTotalCost:0,bizProcInstId:'',bizFlowState:'',taxRate:6,planNouserAt:0,planIuserAt:0,planOuserAt:0,locked:'',baseTime:'',baseRemark:'',baselineId:'',planWorkload:0,totalReceivables:0,budgetMarginRate:13,contractAmt:0,planIuserPrice:85,planOuserPrice:100,planOuserCnt:1,planIuserCnt:1,planWorkingHours:0,planIuserWorkload:0,planOuserWorkload:0,budgetCtrl:'0',admUserid:'',admUsername:'',pmUserid:'',pmUsername:'',assUserid:'',assUsername:'',workType:'',wtype:'',earlyAmt:0,budgetEarly:'0',phaseActCtrl:'0'
},
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
xmGroups:[],
userSelectType: "",
@ -838,6 +832,7 @@
}else{
this.autoSet=false;
}
this.editFormBak={...this.editForm}
},

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

@ -157,7 +157,7 @@
<el-row v-if="i.id=='0'"><!--初始-->
<span v-if="selProject.status==i.id">
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">创建产品</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">进入售前</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="editXmProjectSomeFields(selProject,'status','1')">进入售前</el-button>
</span>
<span v-if="selProject.status!=i.id">
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">产品管理</el-button>
@ -166,7 +166,7 @@
<el-row v-else-if="i.id=='1'"><!--售前-->
<span v-if="selProject.status==i.id">
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">需求管理</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">项目立项</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="editXmProjectSomeFields(selProject,'status','2')">项目立项</el-button>
</span>
<span v-if="selProject.status!=i.id">
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">需求管理</el-button>
@ -178,7 +178,7 @@
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='团队'">创建团队</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='计划'">创建计划</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='预算'">预算管理</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">进入实施</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="editXmProjectSomeFields(selProject,'status','3')">进入实施</el-button>
</span>
<span v-if="selProject.status!=i.id">
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='合同管理'">合同管理</el-button>
@ -193,21 +193,21 @@
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='计划'">任务管理</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='缺陷'">缺陷管理</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='缺陷'">工时进度</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">暂停项目</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">结项申请</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="editXmProjectSomeFields(selProject,'status','4')">暂停项目</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="editXmProjectSomeFields(selProject,'status','5')">结项申请</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">变更申请</el-button>
</span>
<span v-if="selProject.status!=i.id">
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='迭代'">迭代管理</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='计划'">任务管理</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='缺陷'">缺陷管理</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">结项申请</el-button>
<el-button v-if="selProject.status<i.id" class="step-btn" type="warning" size="mini" plain @click="editXmProjectSomeFields(selProject,'status','5')">结项申请</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">变更申请</el-button>
</span>
</el-row>
<el-row v-else-if="i.id=='4'"><!--暂停中-->
<span v-if="selProject.status==i.id">
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">重新实施</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="editXmProjectSomeFields(selProject,'status','3')">重新激活</el-button>
</span>
</el-row>
<el-row v-else-if="i.id=='5'"><!--结项中-->
@ -215,7 +215,7 @@
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">结项审批</el-button>
</span>
<span v-if="selProject.status!=i.id">
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='迭代'">结项审批</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='迭代'">结项审批</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='效能'">效能分析</el-button>
</span>
</el-row>
@ -226,17 +226,16 @@
</span>
<span v-if="selProject.status!=i.id">
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='财务'">财务结算</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">转入售后</el-button>
</span>
</el-row>
<el-row v-else-if="i.id=='7'"><!--售后-->
<span v-if="selProject.status==i.id">
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">设为已完成</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="editXmProjectSomeFields(selProject,'status','8')">设为已完成</el-button>
</span>
</el-row>
<el-row v-else-if="i.id=='8'"><!--已完成-->
<span v-if="selProject.status==i.id">
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='产品'">关闭项目</el-button>
<el-button class="step-btn" type="warning" size="mini" plain @click="editXmProjectSomeFields(selProject,'status','9')">关闭项目</el-button>
</span>
</el-row>
@ -396,7 +395,7 @@ import XmReport from "@/views/xm/rpt/reportIndex";
import XmPlan from "../xmTask/XmPlan.vue";
import { initSimpleDicts } from "@/api/mdp/meta/item"; //
import { getDefOptions } from "@/api/xm/core/xmProject";
import { getDefOptions,editXmProjectSomeFields } from "@/api/xm/core/xmProject";
export default {
props: ["selProject", "visible"],
@ -715,6 +714,49 @@ export default {
} else {
return dateStr.substr(0, 10);
}
},
editXmProjectSomeFields(row,fieldName,$event){
var that=this;
var func=(params)=>{
editXmProjectSomeFields(params).then(res=>{
var tips = res.data.tips;
if(tips.isOk){
this.$emit('edit-fields',params)
Object.assign(row,params)
this.selProjectBak=Object.assign({},row)
}else{
Object.assign(this.selProject,this.selProjectBak)
this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
}
})
}
var params={ids:[row.id]};
params[fieldName]=$event
if(fieldName=='description'){
this.$refs.selProject.validateField('description',err=>{
if(err){
this.$notify({position:'bottom-left',showClose:true,message: err,type: 'error'})
return;
}else{
func(params)
}
})
}else if(fieldName=='name'){
this.$refs.selProject.validateField('name',err=>{
if(err){
this.$notify({position:'bottom-left',showClose:true,message: err,type: 'error'})
return;
}else{
func(params)
}
})
}else{
func(params)
}
},
goBack() {
localStorage.setItem("project-infotype", "项目概览");

Loading…
Cancel
Save