Browse Source

优化

master
陈裕财 4 years ago
parent
commit
7835b19bcd
  1. 17
      src/views/xm/core/xmTaskWorkload/XmTaskWorkloadEdit.vue
  2. 4
      src/views/xm/core/xmTaskWorkload/XmTaskWorkloadList.vue
  3. 37
      src/views/xm/core/xmTaskWorkload/XmTaskWorkloadRecord.vue
  4. 9
      src/views/xm/core/xmTaskWorkload/XmTaskWorkloadRecordDialog.vue
  5. 18
      src/views/xm/core/xmWorkItem/XmSubTaskList.vue
  6. 5
      src/views/xm/core/xmWorkItem/XmSubWorkItem.vue

17
src/views/xm/core/xmTaskWorkload/XmTaskWorkloadEdit.vue

@ -25,25 +25,17 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12">
<el-col :span="8">
<el-form-item label="工作时长" prop="workload"> <el-form-item label="工作时长" prop="workload">
<el-input type="number" style="width:80%;" v-model="editForm.workload" placeholder="工作时长"></el-input> &nbsp;小时
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="剩余工时" prop="rworkload">
<el-input type="number" style="width:80%;" v-model="editForm.rworkload" placeholder="剩余工时"></el-input>&nbsp;小时
<el-input type="number" style="width:80%;" v-model="editForm.workload" placeholder="工作时长"></el-input> &nbsp;小时
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="8">
<el-form-item label="业务日期" prop="bizDate"> <el-form-item label="业务日期" prop="bizDate">
<el-date-picker style="width:80%;" v-model="editForm.bizDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="业务日期"></el-date-picker> <el-date-picker style="width:80%;" v-model="editForm.bizDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="业务日期"></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-col :span="8">
<el-form-item label="任务类型" prop="ttype"> <el-form-item label="任务类型" prop="ttype">
<el-select v-model="editForm.ttype"> <el-select v-model="editForm.ttype">
<el-option v-for="i in this.dicts.taskType" :label="i.name" :key="i.id" :value="i.id"></el-option> <el-option v-for="i in this.dicts.taskType" :label="i.name" :key="i.id" :value="i.id"></el-option>
@ -171,6 +163,7 @@
if(!this.editForm.ttype){ if(!this.editForm.ttype){
this.editForm.ttype="4" this.editForm.ttype="4"
} }
this.editForm.workload=8
} }
}, },

4
src/views/xm/core/xmTaskWorkload/XmTaskWorkloadList.vue

@ -198,9 +198,11 @@
this.addFormVisible=false; this.addFormVisible=false;
this.pageInfo.count=true; this.pageInfo.count=true;
this.getXmTaskWorkloads(); this.getXmTaskWorkloads();
this.$emit('submit',this.editForm)
}, },
afterEditSubmit(){ afterEditSubmit(){
this.editFormVisible=false; this.editFormVisible=false;
this.$emit('submit',this.editForm)
}, },
//xmTaskWorkload //xmTaskWorkload
selsChange: function (sels) { selsChange: function (sels) {
@ -219,6 +221,7 @@
if(tips.isOk){ if(tips.isOk){
this.pageInfo.count=true; this.pageInfo.count=true;
this.getXmTaskWorkloads(); this.getXmTaskWorkloads();
this.$emit('submit',this.editForm)
} }
this.$notify({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error' }); this.$notify({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.del=false ); }).catch( err => this.load.del=false );
@ -242,6 +245,7 @@
if( tips.isOk ){ if( tips.isOk ){
this.pageInfo.count=true; this.pageInfo.count=true;
this.getXmTaskWorkloads(); this.getXmTaskWorkloads();
this.$emit('submit')
} }
this.$notify({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error'}); this.$notify({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error'});
}).catch( err => this.load.del=false ); }).catch( err => this.load.del=false );

37
src/views/xm/core/xmTaskWorkload/XmTaskWorkloadRecord.vue

@ -8,7 +8,7 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="预估工时" prop="budgetWorkload"> <el-form-item label="预估工时" prop="budgetWorkload">
<el-input type="number" 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="editXmTaskSomeFields(editForm,'budgetWorkload',$event)"></el-input> &nbsp;小时
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
@ -18,7 +18,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="剩余工时" prop="rworkload"> <el-form-item label="剩余工时" prop="rworkload">
<el-input type="number" style="width:80%;" v-model="editForm.rworkload" placeholder="剩余工时" @change="editXmTaskSomeFields(editForm,'rworkload',$event)"></el-input> &nbsp;小时
<el-input :controls="false" type="number" style="width:80%;" :step="8" v-model="editForm.rworkload" placeholder="剩余工时" @change="editXmTaskSomeFields(editForm,'rworkload',$event)"></el-input> &nbsp;小时
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
@ -30,7 +30,7 @@
</el-form> </el-form>
</el-row> </el-row>
<el-row> <el-row>
<xm-task-workload-list :xm-task="xmTask"></xm-task-workload-list>
<xm-task-workload-list :xm-task="xmTask" @submit="onWorkloadSubmit"></xm-task-workload-list>
</el-row> </el-row>
</section> </section>
</template> </template>
@ -39,7 +39,7 @@
import util from '@/common/js/util';// import util from '@/common/js/util';//
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 { editXmTaskSomeFields } from '@/api/xm/core/xmTaskWorkload';
import { getTask, editXmTaskSomeFields } from '@/api/xm/core/xmTask';
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import XmTaskWorkloadList from './XmTaskWorkloadList'; import XmTaskWorkloadList from './XmTaskWorkloadList';
@ -93,16 +93,43 @@
}, },
editXmTaskSomeFields(row,fieldName,$event){ editXmTaskSomeFields(row,fieldName,$event){
debugger;
var params={ids:[row.id]}; var params={ids:[row.id]};
params[fieldName]=$event
if(fieldName==='rworkload'||fieldName==='budgetWorkload'){
var total=row.budgetWorkload;
if(row.actWorkload>0 && row.rworkload>0){
total=Math.round(row.actWorkload,2)+Math.round(row.rworkload,2)
}
var rate=Math.round(Math.round(row.actWorkload,2)/total*100)
if(rate>100){
rate=100;
}
params.rate=rate
row.rate=rate
}
editXmTaskSomeFields(params).then(res=>{ editXmTaskSomeFields(params).then(res=>{
var tips = res.data.tips; var tips = res.data.tips;
if(tips.isOk){ if(tips.isOk){
Object.assign(row,params)
//Object.assign(row,params)
this.$emit("edit-xm-task-some-fields",params);
}else{ }else{
this.$notify({showClose:true,message:tips.msg,type:tips.isOk?'success':'error'}) this.$notify({showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
} }
}) })
}, },
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)
this.$emit('submit',this.editForm)
}
}
})
}
},//end method },//end method
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {

9
src/views/xm/core/xmTaskWorkload/XmTaskWorkloadRecordDialog.vue

@ -1,6 +1,7 @@
<template> <template>
<section> <section>
<el-dialog append-to-body width="80%" top="20px" :visible.sync="visible" :title="'任务【'+editForm.name+'】工时登记'"><xm-task-workload-record :visible="visible" :xm-task="editForm"></xm-task-workload-record></el-dialog>
<el-dialog append-to-body width="80%" top="20px" :visible.sync="visible" :title="'任务【'+editForm.name+'】工时登记'">
<xm-task-workload-record :visible="visible" :xm-task="editForm" @edit-xm-task-some-fields="onEditXmTaskSomeFields" @submit="onWorkloadSubmit"></xm-task-workload-record></el-dialog>
</section> </section>
</template> </template>
@ -55,6 +56,12 @@
close(){ close(){
this.visible=false; this.visible=false;
this.$emit("close"); this.$emit("close");
},
onEditXmTaskSomeFields(data){
this.$emit('edit-xm-task-some-fields',data);
},
onWorkloadSubmit(data){
this.$emit('submit',data)
} }
},//end method },//end method

18
src/views/xm/core/xmWorkItem/XmSubTaskList.vue

@ -33,7 +33,8 @@
<el-table-column prop="budgetWorkload" label="工时" width="100"> <el-table-column prop="budgetWorkload" label="工时" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="cell-text"> <div class="cell-text">
<span v-if="scope.row.actWorkload>0">{{scope.row.actWorkload}}&nbsp;/&nbsp;{{scope.row.budgetWorkload}}</span>
<span title="实际工时 / 预估工时 " >{{scope.row.actWorkload>0?scope.row.actWorkload:0}}&nbsp;/&nbsp;{{scope.row.budgetWorkload>0?scope.row.budgetWorkload:0}}</span>
</div> </div>
<span class="cell-bar"> <span class="cell-bar">
<el-button @click="workloadRecord(scope.row)">登记工时</el-button> <el-button @click="workloadRecord(scope.row)">登记工时</el-button>
@ -78,7 +79,7 @@
<xm-group-dialog ref="xmGroupDialog" :isSelectSingleUser="true" :sel-project="linkProjectId?{id:linkProjectId}:null" :xm-product="parentXmMenu?{id:parentXmMenu.productId}:null" @user-confirm="selectCreateUserConfirm"> <xm-group-dialog ref="xmGroupDialog" :isSelectSingleUser="true" :sel-project="linkProjectId?{id:linkProjectId}:null" :xm-product="parentXmMenu?{id:parentXmMenu.productId}:null" @user-confirm="selectCreateUserConfirm">
</xm-group-dialog> </xm-group-dialog>
<xm-task-workload-record-dialog ref="workloadRecordDialog" @submi="afterWorkloadSubmit"></xm-task-workload-record-dialog>
<xm-task-workload-record-dialog ref="workloadRecordDialog" @submi="afterWorkloadSubmit" @edit-xm-task-some-fields="onEditXmTaskSomeFields" @submit="onWorkloadSubmit"></xm-task-workload-record-dialog>
</el-row> </el-row>
</template> </template>
@ -157,6 +158,7 @@ export default {
}) })
}, },
workloadRecord(row){ workloadRecord(row){
this.editForm=row
this.$refs.workloadRecordDialog.open(row) this.$refs.workloadRecordDialog.open(row)
}, },
initData(){ initData(){
@ -356,7 +358,17 @@ export default {
}, },
afterWorkloadSubmit(xmTask){ afterWorkloadSubmit(xmTask){
},
onEditXmTaskSomeFields(data){
debugger;
Object.assign(this.editForm,data)
this.$emit('edit-xm-task-some-fields',data);
},
onWorkloadSubmit(data){
Object.assign(this.editForm,data)
this.$emit('workload-submit',data)
} }
}, //end methods }, //end methods
components: { components: {

5
src/views/xm/core/xmWorkItem/XmSubWorkItem.vue

@ -31,7 +31,7 @@
</el-row> </el-row>
<xm-sub-menu-list ref="menuList" :link-project-id="linkProjectId?linkProjectId:(xmProject?xmProject.id:null)" :parentXmMenu="parentXmMenu" @menus-change="onMenusChange" @add-submit="$emit('add-sub-menu',$event)"></xm-sub-menu-list> <xm-sub-menu-list ref="menuList" :link-project-id="linkProjectId?linkProjectId:(xmProject?xmProject.id:null)" :parentXmMenu="parentXmMenu" @menus-change="onMenusChange" @add-submit="$emit('add-sub-menu',$event)"></xm-sub-menu-list>
<xm-sub-task-list ref="taskList" :link-project-id="linkProjectId?linkProjectId:(xmProject?xmProject.id:null)" :parentXmMenu="parentXmMenu" @tasks-change="onTasksChange"></xm-sub-task-list>
<xm-sub-task-list ref="taskList" :link-project-id="linkProjectId?linkProjectId:(xmProject?xmProject.id:null)" :parentXmMenu="parentXmMenu" @tasks-change="onTasksChange" @workload-submit="onWorkloadSubmit"></xm-sub-task-list>
<xm-sub-bug-list class="padding-top" ref="bugList" :link-project-id="linkProjectId?linkProjectId:(xmProject?xmProject.id:null)" :parentXmMenu="parentXmMenu" @bugs-change="onBugsChange"></xm-sub-bug-list> <xm-sub-bug-list class="padding-top" ref="bugList" :link-project-id="linkProjectId?linkProjectId:(xmProject?xmProject.id:null)" :parentXmMenu="parentXmMenu" @bugs-change="onBugsChange"></xm-sub-bug-list>
</section> </section>
@ -120,6 +120,9 @@ export default {
}, },
onTasksChange(tasks){ onTasksChange(tasks){
this.xmTasks=tasks this.xmTasks=tasks
},
onWorkloadSubmit(xmTask){
this.$emit('workload-submit',xmTask)
} }
/**end 自定义函数请在上面加**/ /**end 自定义函数请在上面加**/
}, //end methods }, //end methods

Loading…
Cancel
Save