Browse Source

优化

master
陈裕财 3 years ago
parent
commit
c1ca93d350
  1. 1
      src/api/xm/core/xmQuestion.js
  2. 2
      src/views/xm/core/xmTask/XmTaskEdit.vue
  3. 36
      src/views/xm/core/xmWorkload/XmWorkloadEdit.vue
  4. 7
      src/views/xm/core/xmWorkload/XmWorkloadList.vue
  5. 3
      src/views/xm/core/xmWorkload/XmWorkloadMng.vue
  6. 121
      src/views/xm/core/xmWorkload/XmWorkloadRecord.vue

1
src/api/xm/core/xmQuestion.js

@ -41,6 +41,7 @@ export const getXmQuestionAttDist = params => { return axios.get(`${base}/xm/cor
export const getXmQuestionAgeDist = params => { return axios.get(`${base}/xm/core/xmQuestion/getXmQuestionAgeDist`, { params: params }); }; export const getXmQuestionAgeDist = params => { return axios.get(`${base}/xm/core/xmQuestion/getXmQuestionAgeDist`, { params: params }); };
export const getXmQuestionSort = params => { return axios.get(`${base}/xm/core/xmQuestion/getXmQuestionSort`, { params: params }); }; export const getXmQuestionSort = params => { return axios.get(`${base}/xm/core/xmQuestion/getXmQuestionSort`, { params: params }); };

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

@ -263,7 +263,7 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="工时" name="5"> <el-tab-pane label="工时" name="5">
<xm-workload-record v-if="activateTabPaneName=='5'" :xm-task="editForm" ></xm-workload-record>
<xm-workload-record v-if="activateTabPaneName=='5'" biz-type="1" :xm-task="editForm" ></xm-workload-record>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="预算金额" name="6"> <el-tab-pane label="预算金额" name="6">
<el-form-item label="自研工时单价" prop="uniInnerPrice"> <el-form-item label="自研工时单价" prop="uniInnerPrice">

36
src/views/xm/core/xmWorkload/XmWorkloadEdit.vue

@ -1,8 +1,6 @@
<template> <template>
<section class="page-container padding">
<el-row class="page-header">
</el-row>
<el-row class="page-main" ref="table">
<section class="padding">
<el-row ref="table">
<!--编辑界面 XmWorkload 工时登记表--> <!--编辑界面 XmWorkload 工时登记表-->
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editFormRef"> <el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editFormRef">
<el-row> <el-row>
@ -84,7 +82,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-row> </el-row>
<el-row class="page-bottom bottom-fixed">
<el-row style="float:right">
<el-button @click.native="handleCancel">取消</el-button> <el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="saveSubmit" :disabled="load.edit==true">提交</el-button> <el-button v-loading="load.edit" type="primary" @click.native="saveSubmit" :disabled="load.edit==true">提交</el-button>
</el-row> </el-row>
@ -130,7 +128,8 @@
}, },
}, },
props:['xmTask','xmWorkload','visible','opType'],
props:['xmTask','xmWorkload','visible','opType','bizType'/*报工类型1-任务,2-缺陷,3-测试用例设计,4-测试执行 */,
'xmMenu','xmTestCase','xmQuestion','xmTestPlanCase'],
watch: { watch: {
'xmWorkload':function( xmWorkload ) { 'xmWorkload':function( xmWorkload ) {
@ -231,14 +230,29 @@
if(this.opType=='edit'){ if(this.opType=='edit'){
}else{ }else{
if(this.xmTask){
this.editForm.taskId=this.xmTask.id
this.editForm.ttype=this.xmTask.taskType
}
this.editForm.bizType=this.bizType
this.editForm.bizDate=util.getDate(); this.editForm.bizDate=util.getDate();
if(!this.editForm.ttype){ if(!this.editForm.ttype){
this.editForm.ttype="4" this.editForm.ttype="4"
}
}
if( this.xmTask && this.xmTask.id){
this.editForm.taskId=this.xmTask.id
this.editForm.ttype=this.xmTask.taskType
}
if( this.xmMenu && this.xmMenu.menuId){
this.editForm.menuId=this.xmMenu.menuId
}
if( this.xmQuestion && this.xmQuestion.id){
this.editForm.bugId=this.xmQuestion.id
}
if( this.xmTestCase && this.xmTestCase.id){
this.editForm.caseId=this.xmTestCase.id
}
if( this.xmTestPlanCase && this.xmTestPlanCase.planId){
this.editForm.planId=this.xmTestPlanCase.planId
this.editForm.caseId=this.xmTestPlanCase.caseId
}
this.editForm.workload=8 this.editForm.workload=8
this.editForm.userid=this.userInfo.userid this.editForm.userid=this.userInfo.userid
this.editForm.username=this.userInfo.username this.editForm.username=this.userInfo.username

7
src/views/xm/core/xmWorkload/XmWorkloadList.vue

@ -30,7 +30,7 @@
<!--新增 XmWorkload 工时登记表界面--> <!--新增 XmWorkload 工时登记表界面-->
<el-dialog :title="'任务【'+xmTask.name+'】新增工时'" :visible.sync="addFormVisible" width="60%" top="20px" append-to-body :close-on-click-modal="false"> <el-dialog :title="'任务【'+xmTask.name+'】新增工时'" :visible.sync="addFormVisible" width="60%" top="20px" append-to-body :close-on-click-modal="false">
<xm-workload-edit op-type="add" :xm-task="xmTask" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-workload-edit>
<xm-workload-edit op-type="add" :biz-type="bizType" :xm-task="xmTask" :xm-menu="xmMenu" :xm-test-case="xmTestCase" :xm-test-plan-case="xmTestPlanCase" :xm-question="xmQuestion" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-workload-edit>
</el-dialog> </el-dialog>
</el-row> </el-row>
</section> </section>
@ -49,7 +49,8 @@
components: { components: {
XmWorkloadEdit, XmWorkloadEdit,
}, },
props:['xmTask','visible','scene','xmMenu','xmTestCase','xmQuestion','xmTestPlanCase'],
props:['xmTask','visible','bizType'/*报工类型1-任务,2-缺陷,3-测试用例设计,4-测试执行 */,
'xmMenu','xmTestCase','xmQuestion','xmTestPlanCase'],
computed: { computed: {
...mapGetters(['userInfo']), ...mapGetters(['userInfo']),
val(){ val(){
@ -203,7 +204,7 @@
params.planId=this.xmTestPlanCase.planId params.planId=this.xmTestPlanCase.planId
params.caseId=this.xmTestPlanCase.caseId params.caseId=this.xmTestPlanCase.caseId
} }
if(this.scene!=='all'&&!params.planId&&!params.caseId&&!params.caseId &&!params.bugId&&!params.taskId&&!params.menuId){
if(this.bizType!=='all'&&!params.planId&&!params.caseId&&!params.caseId &&!params.bugId&&!params.taskId&&!params.menuId){
return; return;
} }

3
src/views/xm/core/xmWorkload/XmWorkloadMng.vue

@ -238,7 +238,8 @@
UsersSelect, UsersSelect,
XmWorkloadSimpleList, XmWorkloadSimpleList,
}, },
props:['visible','wstatuses','sstatuses','queryScope'/**my/all */,'sbillId'],
props:['visible','wstatuses','sstatuses','queryScope'/**my/all */,'sbillId','bizType'/*报工类型1-任务,2-缺陷,3-测试用例设计,4-测试执行 */,
'xmMenu','xmTestCase','xmQuestion','xmTestPlanCase'],
computed: { computed: {
...mapGetters(['userInfo']), ...mapGetters(['userInfo']),

121
src/views/xm/core/xmWorkload/XmWorkloadRecord.vue

@ -8,12 +8,12 @@
<el-row v-if="editForm.ntype==='0'"> <el-row v-if="editForm.ntype==='0'">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="原估工时" prop="initWorkload"> <el-form-item label="原估工时" prop="initWorkload">
<el-input :controls="false" type="number" :step="8" style="width:80%;" v-model="editForm.initWorkload" placeholder="原估工时" @change="editXmTaskSomeFields(editForm,'initWorkload',$event)"></el-input> &nbsp;小时
<el-input :controls="false" type="number" :step="8" style="width:80%;" v-model="editForm.initWorkload" placeholder="原估工时" @change="editSomeFields(editForm,'initWorkload',$event)"></el-input> &nbsp;小时
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="预估工时" prop="budgetWorkload"> <el-form-item label="预估工时" prop="budgetWorkload">
<el-input :controls="false" type="number" :step="8" style="width:80%;" v-model="editForm.budgetWorkload" placeholder="预估工时" @change="editXmTaskSomeFields(editForm,'budgetWorkload',$event)"></el-input> &nbsp;小时
<el-input :controls="false" type="number" :step="8" style="width:80%;" v-model="editForm.budgetWorkload" placeholder="预估工时" @change="editSomeFields(editForm,'budgetWorkload',$event)"></el-input> &nbsp;小时
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -25,7 +25,7 @@
<el-row v-else> <el-row v-else>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="原估工时" prop="initWorkload"> <el-form-item label="原估工时" prop="initWorkload">
<el-input :controls="false" type="number" :step="8" style="width:80%;" v-model="editForm.initWorkload" placeholder="原估工时" @change="editXmTaskSomeFields(editForm,'initWorkload',$event)"></el-input> &nbsp;小时
<el-input :controls="false" type="number" :step="8" style="width:80%;" v-model="editForm.initWorkload" placeholder="原估工时" @change="editSomeFields(editForm,'initWorkload',$event)"></el-input> &nbsp;小时
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -42,7 +42,7 @@
</el-form> </el-form>
</el-row> </el-row>
<el-row> <el-row>
<xm-workload-list v-if="editForm.ntype==='0'" :visible="visible" :xm-task="editForm" @submit="onWorkloadSubmit"></xm-workload-list>
<xm-workload-list v-if="(bizType=='1'&& editForm.ntype=='0')||(bizType=='5' && editForm.dclass=='3')||bizType=='2'||bizType=='3'||bizType=='4'" :visible="visible" :biz-type="bizType" :xm-task="xmTask" :xm-menu="xmMenu" :xm-test-case="xmTestCase" :xm-test-plan-case="xmTestPlanCase" :xm-question="xmQuestion" @submit="onWorkloadSubmit"></xm-workload-list>
</el-row> </el-row>
</section> </section>
</template> </template>
@ -52,6 +52,10 @@
import config from "@/common/config"; //import import config from "@/common/config"; //import
import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';// import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//
import { getTask, editXmTaskSomeFields } from '@/api/xm/core/xmTask'; import { getTask, editXmTaskSomeFields } from '@/api/xm/core/xmTask';
import { editSomeFieldsXmTestCase } from '@/api/xm/core/xmTestCase';
import { editSomeFieldsXmTestPlanCase } from '@/api/xm/core/xmTestPlanCase';
import { editXmQuestionSomeFields } from '@/api/xm/core/xmQuestion';
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import XmWorkloadList from './XmWorkloadList'; import XmWorkloadList from './XmWorkloadList';
@ -62,22 +66,62 @@
}, },
computed: { computed: {
...mapGetters([ 'userInfo' ]), ...mapGetters([ 'userInfo' ]),
val(){
var params={}
if( this.xmTask && this.xmTask.id){
params.id=this.xmTask.id
params.initWorkload=this.xmTask.initWorkload
params.budgetWorkload=this.xmTask.budgetWorkload
params.actWorkload=this.xmTask.actWorkload
params.ntype=this.xmTask.ntype
}
if( this.xmMenu && this.xmMenu.menuId){
params.menuId=this.xmMenu.menuId
params.initWorkload=this.xmMenu.initWorkload
params.budgetWorkload=this.xmMenu.budgetWorkload
params.actWorkload=this.xmMenu.actWorkload
params.ntype=this.xmMenu.ntype
params.dclass=this.xmMenu.dclass
}
if( this.xmQuestion && this.xmQuestion.id){
params.id=this.xmQuestion.id
params.initWorkload=this.xmMenu.initWorkload
params.budgetWorkload=this.xmMenu.budgetWorkload
params.actWorkload=this.xmMenu.actWorkload
}
if( this.xmTestCase && this.xmTestCase.id){
params.id=this.xmTestCase.id
params.initWorkload=this.xmTestCase.initWorkload
params.budgetWorkload=this.xmTestCase.budgetWorkload
params.actWorkload=this.xmTestCase.actWorkload
}
if( this.xmTestPlanCase && this.xmTestPlanCase.planId){
params.planId=this.xmTestPlanCase.planId
params.caseId=this.xmTestPlanCase.caseId
params.initWorkload=this.xmTestPlanCase.initWorkload
params.budgetWorkload=this.xmTestPlanCase.budgetWorkload
params.actWorkload=this.xmTestPlanCase.actWorkload
}
return params
}
}, },
props:['xmTask','visible'],
props:['xmTask','visible','bizType'/*报工类型1-任务,2-缺陷,3-测试用例设计,4-测试执行 */,
'xmMenu','xmTestCase','xmQuestion','xmTestPlanCase'],
watch: { watch: {
'xmTask':{
handler(){
this.initData()
}
},
'visible':function(visible) { 'visible':function(visible) {
if(visible==true){ if(visible==true){
this.initData() this.initData()
} }
}
},
val:{
handler(){
this.initData();
},
deep:true,
}
}, },
data() { data() {
return { return {
@ -106,13 +150,31 @@
saveSubmit: function () { saveSubmit: function () {
}, },
initData: function(){ initData: function(){
this.editForm=Object.assign({},this.xmTask)
this.editForm=Object.assign({},this.val)
this.editFormBak=Object.assign({},this.editForm) this.editFormBak=Object.assign({},this.editForm)
}, },
editXmTaskSomeFields(row,fieldName,$event){
editSomeFields(row,fieldName,$event){
var func=null;
var emit="edit-some-fields"
var params={ids:[row.id]}; var params={ids:[row.id]};
if(this.bizType==='1'){
func=editXmTaskSomeFields
}else if(this.bizType==='2'){
func=editXmQuestionSomeFields
}else if(this.bizType==='3'){
func=editSomeFieldsXmTestCase
}else if(this.bizType==='4'){
func=editSomeFieldsXmTestPlanCase
params={pkList:[{planId:row.planId,caseId:row.caseId}]};
}else if(this.bizType==='5'){
this.editForm=Object.assign(this.editForm,this.editFormBak)
this.$notify({position:'bottom-left',showClose:true,message:"需求数据不允许手工修改",type:tips.isOk?'success':'error'})
return
}
params[fieldName]=$event params[fieldName]=$event
if(fieldName==='rworkload'||fieldName==='budgetWorkload'){ if(fieldName==='rworkload'||fieldName==='budgetWorkload'){
var total=row.budgetWorkload; var total=row.budgetWorkload;
@ -126,11 +188,10 @@
params.rate=rate params.rate=rate
row.rate=rate row.rate=rate
} }
editXmTaskSomeFields(params).then(res=>{
func(params).then(res=>{
var tips = res.data.tips; var tips = res.data.tips;
if(tips.isOk){
//Object.assign(row,params)
this.$emit("edit-xm-task-some-fields",params);
if(tips.isOk){
this.$emit(emit,params);
}else{ }else{
this.editForm=Object.assign(this.editForm,this.editFormBak) this.editForm=Object.assign(this.editForm,this.editFormBak)
this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'}) this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
@ -138,17 +199,19 @@
}) })
}, },
onWorkloadSubmit(){ onWorkloadSubmit(){
getTask({id:this.xmTask.id}).then(res=>{
var tips = res.data.tips
if(tips.isOk){
if(res.data.data.length>0){
Object.assign(this.xmTask,res.data.data[0])
Object.assign(this.editForm,this.xmTask)
Object.assign(this.editFormBak,this.xmTask)
this.$emit('submit',this.editForm)
if(this.bizType=='1'){
getTask({id:this.xmTask.id}).then(res=>{
var tips = res.data.tips
if(tips.isOk){
if(res.data.data.length>0){
Object.assign(this.xmTask,res.data.data[0])
Object.assign(this.editForm,this.xmTask)
Object.assign(this.editFormBak,this.xmTask)
this.$emit('submit',this.editForm)
}
} }
}
})
})
}
} }
},//end method },//end method
mounted() { mounted() {

Loading…
Cancel
Save