Browse Source

优化

master
陈裕财 3 years ago
parent
commit
3489bce3f0
  1. 6
      src/views/xm/core/xmMenu/XmMenuEdit.vue
  2. 9
      src/views/xm/core/xmQuestion/XmQuestionEdit.vue
  3. 1
      src/views/xm/core/xmTask/XmTaskEdit.vue
  4. 7
      src/views/xm/core/xmTestCase/XmTestCaseEdit.vue
  5. 5
      src/views/xm/core/xmTestPlanCase/XmTestPlanCaseEdit.vue
  6. 68
      src/views/xm/core/xmWorkload/XmWorkloadEdit.vue
  7. 49
      src/views/xm/core/xmWorkload/XmWorkloadList.vue
  8. 3
      src/views/xm/core/xmWorkload/XmWorkloadRecord.vue

6
src/views/xm/core/xmMenu/XmMenuEdit.vue

@ -218,6 +218,11 @@
<el-input-number :disabled="editForm.calcType!=='2' " style="width:200px;" v-model="editForm.actAt" :precision="2" :step="100" :min="0" placeholder="实际金额"></el-input-number>
</el-form-item>
</el-tab-pane>
<el-tab-pane label="工时" name="51">
<xm-workload-record v-if="activateTabPaneName=='51'" biz-type="5" :xm-menu="editForm" ></xm-workload-record>
</el-tab-pane>
<el-tab-pane label="链接" name="5">
<el-form-item label="需求链接" prop="demandUrl">
<el-input v-model="editForm.demandUrl" placeholder="需求链接" ></el-input>
@ -617,6 +622,7 @@
ArchiveEdit,
XmTestCaseMng,MdpSelectUserXm,
'xm-menu-edit':()=>import("./XmMenuDetail"),
'xm-workload-record':()=>import("../xmWorkload/XmWorkloadRecord"),
XmEpicFeaturesSelect,
},
mounted() {

9
src/views/xm/core/xmQuestion/XmQuestionEdit.vue

@ -141,7 +141,11 @@
<el-button v-loading="load.edit" v-if="editForm.opStep!=editFormBak.opStep" type="primary" @click.native="editXmQuestionSomeFields(editForm,'opStep',editForm.opStep)" :disabled="load.edit==true">保存</el-button>
</el-row>
</el-tab-pane>
<el-tab-pane label="工时" name="55">
<xm-workload-record v-if="activateTabPaneName=='55'" biz-type="2" :xm-question="editForm" ></xm-workload-record>
</el-tab-pane>
<el-tab-pane label="日志" name="4" v-if="opType!='add'">
<el-row>
<xm-question-handle-mng v-if="activateTabPaneName=='4'" :bug="editForm" :visible="activateTabPaneName=='4'"></xm-question-handle-mng>
@ -645,7 +649,8 @@
// 'xm-question-edit':XmQuestionEdit
'upload': AttachmentUpload,XmGroupMng,VueEditor,XmTaskList,xmMenuSelect,XmQuestionHandleMng,TagMng,XmProjectSelect,
XmMyDoFocus,XmFuncSelect,MdpSelectUserXm,TestStepConfig,TestStepResult,
xmTestPlanCaseMng:()=>import('../xmTestPlanCase/XmTestPlanCaseMng')
xmTestPlanCaseMng:()=>import('../xmTestPlanCase/XmTestPlanCaseMng'),
'xm-workload-record':()=>import("../xmWorkload/XmWorkloadRecord"),
},
mounted() {
this.initData();

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

@ -998,6 +998,7 @@
xmSkillMng,
skillMng,xmMenuSelect,XmTaskList,XmExecuserMng,XmGroupSelect,XmMenuRichDetail,TagMng,XmSubWorkItem,XmWorkloadRecord,XmMenuEdit,
XmRecord,xmQuestionMng,XmMyDoFocus,XmTaskExecuserForTask,XmPhaseSelect,ToPay,MdpSelectUserXm,'xm-task-edit':()=>import("./XmTaskDetail"),
'xm-workload-record':()=>import("../xmWorkload/XmWorkloadRecord"),
// 'xm-task-edit':XmTaskEdit
},
mounted() {

7
src/views/xm/core/xmTestCase/XmTestCaseEdit.vue

@ -87,6 +87,10 @@
<el-tab-pane name="3" label="执行记录" v-if="opType!=='add'">
<xm-test-plan-case-mng :xm-test-casedb="xmTestCasedb" :xm-test-case="editForm" v-if="activeTab=='3'"></xm-test-plan-case-mng>
</el-tab-pane>
<el-tab-pane label="工时" name="55">
<xm-workload-record v-if="activeTab=='55'" biz-type="3" :xm-test-case="editForm" ></xm-workload-record>
</el-tab-pane>
<el-tab-pane name="4" label="日志" v-if="opType!=='add'"></el-tab-pane>
</el-tabs>
@ -138,7 +142,8 @@ import MdpSelectUserXm from '@/views/xm/core/components/MdpSelectUserXm';//修
components: {
XmMenuSelect,XmFuncSelect,MyInput,TestStepConfig,XmQuestionMng,XmTestPlanCaseMng,MdpSelectUserXm,
XmMenuEdit:()=>import("../xmMenu/XmMenuDetail"),
XmTestCasedbMng:()=>import('../xmTestCasedb/XmTestCasedbMng')
XmTestCasedbMng:()=>import('../xmTestCasedb/XmTestCasedbMng'),
'xm-workload-record':()=>import("../xmWorkload/XmWorkloadRecord"),
},
computed: {
...mapGetters([ 'userInfo' ]),

5
src/views/xm/core/xmTestPlanCase/XmTestPlanCaseEdit.vue

@ -132,6 +132,10 @@
<xm-question-mng :xm-test-plan-case="editForm" :xm-product="{id:editForm.productId,productName:editForm.productName}" :sel-project="{id:editForm.projectId,name:editForm.projectName}"></xm-question-mng>
</el-row>
</el-tab-pane>
<el-tab-pane label="工时" name="55">
<xm-workload-record v-if="activateName=='55'" biz-type="4" :xm-test-plan-case="editForm" ></xm-workload-record>
</el-tab-pane>
<el-tab-pane name="4" label="附件">
</el-tab-pane>
@ -184,6 +188,7 @@ import MdpSelectUserXm from '@/views/xm/core/components/MdpSelectUserXm';//修
name:'xmTestPlanCaseEdit',
components: {
TestStepResult,MyInput,XmMenuEdit:()=>import('../xmMenu/XmMenuEdit.vue'),XmQuestionMng,XmQuestionAdd,MdpSelectUserXm,
'xm-workload-record':()=>import("../xmWorkload/XmWorkloadRecord"),
},
computed: {

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

@ -6,12 +6,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="预估工时" prop="budgetWorkload">
{{xmTask.budgetWorkload?xmTask.budgetWorkload:0}}&nbsp;&nbsp;小时 <font color="red"> &nbsp;&nbsp;>>&nbsp; &nbsp;{{budgetWorkload}} &nbsp;小时</font>
{{val.budgetWorkload?val.budgetWorkload:0}}&nbsp;&nbsp;小时 <font color="red"> &nbsp;&nbsp;>>&nbsp; &nbsp;{{budgetWorkload}} &nbsp;小时</font>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="已登工时" prop="actWorkload">
{{xmTask.actWorkload?xmTask.actWorkload:0}}&nbsp;小时, <el-tag type="primary"> {{xmTask.rate}}% </el-tag><el-tag type="danger">&nbsp;&nbsp;>>&nbsp; &nbsp;{{rate}}% &nbsp;</el-tag>
{{val.actWorkload?val.actWorkload:0}}&nbsp;小时, <el-tag type="primary"> {{val.rate}}% </el-tag><el-tag type="danger">&nbsp;&nbsp;>>&nbsp; &nbsp;{{rate}}% &nbsp;</el-tag>
</el-form-item>
</el-col>
</el-row>
@ -45,7 +45,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="任务执行人">
{{xmTask.executorUsername}}
{{val.executorUsername}}
</el-form-item>
</el-col>
</el-row>
@ -88,7 +88,7 @@
</el-row>
<el-drawer append-to-body title="选择负责人" :visible.sync="groupUserSelectVisible" size="60%" :close-on-click-modal="false">
<xm-group-select :visible="groupUserSelectVisible" :sel-project="{id:xmTask.projectId,projectName:xmTask.projectName}" :isSelectSingleUser="1" @user-confirm="groupUserSelectConfirm"></xm-group-select>
<xm-group-select :visible="groupUserSelectVisible" :sel-project="{id:val.projectId,projectName:val.projectName}" :isSelectSingleUser="1" @user-confirm="groupUserSelectConfirm"></xm-group-select>
</el-drawer>
</section>
</template>
@ -113,19 +113,65 @@
budgetWorkload(){
if(this.editForm.rworkload!=null && this.editForm.rworkload!="" && this.editForm.rworkload>=0){
return parseFloat(this.editForm.rworkload)+parseFloat(this.editForm.workload?this.editForm.workload:0)+parseFloat(this.xmTask.actWorkload?this.xmTask.actWorkload:0)
return parseFloat(this.editForm.rworkload)+parseFloat(this.editForm.workload?this.editForm.workload:0)+parseFloat(this.val.actWorkload?this.val.actWorkload:0)
}else{
return this.xmTask.budgetWorkload;
return this.val.budgetWorkload;
}
},
rate(){
if(this.editForm.rworkload!=null && this.editForm.rworkload!="" && this.editForm.rworkload>=0){
return Math.round((parseFloat(this.editForm.workload?this.editForm.workload:0)+parseFloat(this.xmTask.actWorkload?this.xmTask.actWorkload:0))/(parseFloat(this.editForm.rworkload)+parseFloat(this.editForm.workload?this.editForm.workload:0)+parseFloat(this.xmTask.actWorkload?this.xmTask.actWorkload:0))*100)
return Math.round((parseFloat(this.editForm.workload?this.editForm.workload:0)+parseFloat(this.val.actWorkload?this.val.actWorkload:0))/(parseFloat(this.editForm.rworkload)+parseFloat(this.editForm.workload?this.editForm.workload:0)+parseFloat(this.val.actWorkload?this.val.actWorkload:0))*100)
}else{
return Math.round((parseFloat(this.editForm.workload?this.editForm.workload:0)+parseFloat(this.xmTask.actWorkload?this.xmTask.actWorkload:0))/this.xmTask.budgetWorkload *100);
return Math.round((parseFloat(this.editForm.workload?this.editForm.workload:0)+parseFloat(this.val.actWorkload?this.val.actWorkload:0))/this.val.budgetWorkload *100);
}
},
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
params.name=this.xmTask.name
}
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
params.name=this.xmMenu.name
params.menuName=this.xmMenu.menuName
}
if( this.xmQuestion && this.xmQuestion.id){
params.id=this.xmQuestion.id
params.initWorkload=this.xmQuestion.initWorkload
params.budgetWorkload=this.xmQuestion.budgetWorkload
params.actWorkload=this.xmQuestion.actWorkload
params.name=this.xmQuestion.name
}
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
params.name=this.xmTestCase.caseName
params.caseName=this.xmTestCase.caseName
}
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
params.name=this.xmTestPlanCase.caseName
params.caseName=this.xmTestPlanCase.caseName
}
return params
}
},
props:['xmTask','xmWorkload','visible','opType','bizType'/*报工类型1-任务,2-缺陷,3-测试用例设计,4-测试执行 */,
@ -148,7 +194,7 @@
this.listXmTaskExecuser();
}
if(val==='3'){
this.editForm.workload=this.xmTask.budgetWorkload-this.xmTask.actWorkload
this.editForm.workload=this.val.budgetWorkload-this.val.actWorkload
}
if(val==='1'){
this.editForm.workload=8
@ -262,11 +308,11 @@
}
},
listXmTaskExecuser(){
listXmTaskExecuser({userid:this.userInfo.userid,taskId:this.xmTask.id}).then(res=>{
listXmTaskExecuser({userid:this.userInfo.userid,taskId:this.val.id}).then(res=>{
if(res.data.tips.isOk&& res.data.data.length>0){
this.execuser=res.data.data[0]
if(this.workloadFillType=='2'){
this.editForm.workload=this.execuser.quoteWorkload-this.xmTask.actWorkload
this.editForm.workload=this.execuser.quoteWorkload-this.val.actWorkload
}
}else{
this.$notify({position:'bottom-left',showClose:true,message:'没有找到报价信息',type:'error'})

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

@ -29,7 +29,7 @@
<el-row>
<!--新增 XmWorkload 工时登记表界面-->
<el-dialog :title="'任务【'+xmTask.name+'】新增工时'" :visible.sync="addFormVisible" width="60%" top="20px" append-to-body :close-on-click-modal="false">
<el-dialog :title="'【'+editForm.name+'】新增工时'" :visible.sync="addFormVisible" width="60%" top="20px" append-to-body :close-on-click-modal="false">
<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-row>
@ -57,33 +57,61 @@
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
params.name=this.xmTask.name
}
if( this.xmMenu && this.xmMenu.menuId){
params.id=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
params.name=this.xmMenu.name
params.menuName=this.xmMenu.menuName
}
if( this.xmQuestion && this.xmQuestion.id){
params.id=this.xmQuestion.id
params.initWorkload=this.xmQuestion.initWorkload
params.budgetWorkload=this.xmQuestion.budgetWorkload
params.actWorkload=this.xmQuestion.actWorkload
params.name=this.xmQuestion.name
}
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
params.name=this.xmTestCase.caseName
params.caseName=this.xmTestCase.caseName
}
if( this.xmTestPlanCase && this.xmTestPlanCase.planId){
params.id=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
params.name=this.xmTestPlanCase.caseName
params.caseName=this.xmTestPlanCase.caseName
}
return params.id
return params
}
},
watch:{
visible(val){
if(val==true){
this.initData();
if(val==true){
this.searchXmWorkloads()
}
},
val(){
this.initData();
this.searchXmWorkloads()
val:{
handler(){
this.initData();
},
deep:true,
}
},
data() {
@ -294,7 +322,8 @@
this.$emit('row-click',row, event, column);// @row-click="rowClick"
},
initData: function(){
this.editForm=Object.assign(this.editForm,this.val)
this.editFormBak={...this.editForm}
},
},//end methods

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

@ -133,10 +133,11 @@
]
},// xm_task
editForm: {
id:'',name:'',parentTaskid:'',parentTaskname:'',projectId:'',projectName:'',level:'3',sortLevel:'0',executorUserid:'',executorUsername:'',
preTaskid:'',preTaskname:'',startTime:'',endTime:'',milestone:'',description:'',remarks:'',createUserid:'',createUsername:'',createTime:'',taskOut:'0',
rate:0,budgetCost:'',budgetWorkload:'',actCost:'',actWorkload:'',taskState:'0',taskClass:'0',toTaskCenter:'0',actStartTime:'',actEndTime:'',taskType:'4',planType:'w2',settleSchemel:'1',ntype:'0',childrenCnt:0
,rworkload:null,
,rworkload:null,dclass:'',
},
maxTableHeight:300,
}//end return

Loading…
Cancel
Save