Browse Source

优化

master
陈裕财 4 years ago
parent
commit
ede031380d
  1. 6
      src/views/xm/core/xmProject/XmProjectDetail.vue
  2. 18
      src/views/xm/core/xmProject/XmProjectEdit.vue
  3. 33
      src/views/xm/core/xmProject/XmProjectInfo.vue
  4. 7
      src/views/xm/core/xmProject/XmProjectInfoRoute.vue
  5. 9
      src/views/xm/core/xmProject/XmProjectOverviewComplex.vue

6
src/views/xm/core/xmProject/XmProjectDetail.vue

@ -1,7 +1,7 @@
<template>
<section>
<el-row class="xm-detail" v-loading.lock="load.edit || load.list">
<xm-project-edit :sel-project="selProject" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit"></xm-project-edit>
<xm-project-edit :sel-project="selProject" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit" @edit-fields="onEditFields"></xm-project-edit>
</el-row>
</section>
</template>
@ -34,6 +34,10 @@
this.editFormVisible=true;
this.$emit("submit",params);
},
onEditFields(row){
Object.assign(this.selProject,row)
this.$emit("edit-fields",row);
}
/**end 自定义函数请在上面加**/
},//end methods
components: {

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

@ -69,6 +69,11 @@
</el-row>
</el-tab-pane>
<el-tab-pane label="控制开关" name="2">
<el-form-item label="项目状态" prop="status">
<el-select v-model="editForm.status" @change="editXmProjectSomeFields(editForm,'status',$event)">
<el-option v-for="(item,index) in dicts['projectStatus']" :key="index" :value="item.id" :label="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="报工方式" prop="wtype">
<el-select v-model="editForm.wtype" @change="editXmProjectSomeFields(editForm,'wtype',$event)">
<el-option label="无须报工" value="0" ></el-option>
@ -80,7 +85,10 @@
<el-checkbox v-model="editForm.budgetCtrl" :true-label="'1'" :false-label="'0'" @change="editXmProjectSomeFields(editForm,'budgetCtrl',$event)">项目计划总预算大于项目总预算后将无法添加新的计划任务进行项目预算变更后方可继续添加计划任务</el-checkbox>
</el-form-item>
<el-form-item label="总预算超额预警" prop="budgetEarly">
<el-checkbox v-model="editForm.budgetEarly" :true-label="'1'" :false-label="'0'" @change="editXmProjectSomeFields(editForm,'budgetEarly',$event)">总预算超出&nbsp;<el-input v-if="editForm.budgetEarly" type="number" v-model="editForm.earlyAmt" placeholder="预警额度" style="width:180px;" ></el-input> &nbsp;</el-checkbox>
<el-checkbox v-model="editForm.budgetEarly" :true-label="'1'" :false-label="'0'" @change="editXmProjectSomeFields(editForm,'budgetEarly',$event)">总预算超出&nbsp;<el-input type="number" v-model="editForm.earlyAmt" placeholder="预警额度" style="width:180px;" @change="editXmProjectSomeFields(editForm,'earlyAmt',$event)"></el-input> &nbsp;元将进入预警清单</el-checkbox>
</el-form-item>
<el-form-item label="单个任务最大金额" prop="maxTaskAmt">
预算金额超出&nbsp;<el-input type="number" v-model="editForm.maxTaskAmt" style="width:180px;" @change="editXmProjectSomeFields(editForm,'maxTaskAmt',$event)"></el-input> &nbsp;元的任务将被禁止保存
</el-form-item>
<el-form-item label="实际金额控制" prop="phaseActCtrl">
<el-checkbox v-model="editForm.phaseActCtrl" :true-label="'1'" :false-label="'0'" @change="editXmProjectSomeFields(editForm,'phaseActCtrl',$event)">每条计划实际金额不能大于预算金额; 任务的实际金额合计不能大于与任务关联的上级计划的预算</el-checkbox>
@ -468,10 +476,10 @@
},
// XmProject xm_project
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'
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',maxTaskAmt: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'
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',maxTaskAmt:0,
},
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
xmGroups:[],
@ -842,8 +850,10 @@
editXmProjectSomeFields(params).then(res=>{
var tips = res.data.tips;
if(tips.isOk){
this.$emit('edit-fields',params)
Object.assign(row,params)
Object.assign(this.selProject,row)
this.$emit('edit-fields',row)
this.editFormBak=Object.assign({},row)
}else{
Object.assign(this.editForm,this.editFormBak)

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

@ -168,7 +168,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="editXmProjectSomeFields(selProject,'status','2')">项目立项</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>
@ -180,7 +180,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="editXmProjectSomeFields(selProject,'status','3')">进入实施</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>
@ -228,7 +228,7 @@
<el-row v-else-if="i.id=='6'"><!--已结项-->
<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','7')">转入售后</el-button>
</span>
<span v-if="selProject.status!=i.id">
<el-button class="step-btn" type="warning" size="mini" plain @click="infotype='财务'">财务结算</el-button>
@ -257,6 +257,7 @@
v-if="infotype == '项目概览'"
:sel-project="selProject"
@submit="afterEditSubmit"
@edit-fields="onEditFields"
></xm-project-overview-complex>
<xm-iteration-for-link-complex
v-if="infotype == '迭代'"
@ -308,16 +309,7 @@
: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>
></xm-test-case-exec-mng>
<xm-budget
v-if="infotype == '预算'"
:sel-project="selProject"
@ -775,12 +767,17 @@ export default {
},
goBack() {
localStorage.setItem("project-infotype", "项目概览");
if(this.historyLength>0){
this.$router.back();
}else{
this.$router.push({path:'/xm/core/xmProject/XmProjectMng'})
}
if(this.historyLength>0){
this.$router.back();
}else{
this.$router.push({path:'/xm/core/xmProject/XmProjectMng'})
}
},
onEditFields(row){
Object.assign(this.selProject,row)
this.$emit("edit-fields",row);
}
}, //end methods
components: {
xmTaskMng,

7
src/views/xm/core/xmProject/XmProjectInfoRoute.vue

@ -1,6 +1,6 @@
<template>
<section>
<xm-project-info v-if="selProject" :sel-project="selProject" :visible="showInfo" @submit="afterEditSubmit"></xm-project-info>
<xm-project-info v-if="selProject" :sel-project="selProject" :visible="showInfo" @submit="afterEditSubmit" @edit-fields="onEditFields"></xm-project-info>
</section>
</template>
@ -60,6 +60,11 @@
}
})
},
onEditFields(row){
Object.assign(this.selProject,row)
this.$emit('edit-fields',row)
localStorage.setItem("xm-project-info-route",JSON.stringify(row))
}

9
src/views/xm/core/xmProject/XmProjectOverviewComplex.vue

@ -23,7 +23,7 @@
</el-menu-item>
</el-menu>
<xm-project-overview v-if="showPanelName=='overview'" :sel-project="selProject"></xm-project-overview>
<xm-project-detail v-if="showPanelName=='detail'" :sel-project="selProject" @submit="afterEditSubmit"></xm-project-detail>
<xm-project-detail v-if="showPanelName=='detail'" :sel-project="selProject" @submit="afterEditSubmit" @edit-fields="onEditFields"></xm-project-detail>
<xm-product-project-link-mng v-if="showPanelName=='productProjectLink'" :sel-project="selProject"></xm-product-project-link-mng>
<xm-iteration-link-for-project v-if="showPanelName=='iterationProjectLink'" :sel-project="selProject"></xm-iteration-link-for-project>
@ -113,7 +113,12 @@ export default {
this.afterEditSubmit(selProject)
}
})
}
},
onEditFields(row){
Object.assign(this.selProject,row)
this.$emit("edit-fields",row);
}
},
mounted() {

Loading…
Cancel
Save