diff --git a/src/api/xm/core/xmTaskWorkload.js b/src/api/xm/core/xmTaskWorkload.js index 75e75b60..44500306 100644 --- a/src/api/xm/core/xmTaskWorkload.js +++ b/src/api/xm/core/xmTaskWorkload.js @@ -34,4 +34,4 @@ export const listByProject = params => { return axios.get(`${base}/xm/core/xmTas export const editWorkloadToSbill = params => { return axios.post(`${base}/xm/core/xmTaskWorkload/editWorkloadToSbill`, params); }; -export const editXmWorkloadWstatus = params => { return axios.post(`${base}/xm/core/xmTaskWorkload/editXmWorkloadWstatus`, params); }; +export const editXmTaskWorkloadSomeFields = params => { return axios.post(`${base}/xm/core/xmTaskWorkload/editSomeFields`, params); }; diff --git a/src/views/xm/core/xmTask/XmTaskAdd.vue b/src/views/xm/core/xmTask/XmTaskAdd.vue index fbd40176..67ab499a 100644 --- a/src/views/xm/core/xmTask/XmTaskAdd.vue +++ b/src/views/xm/core/xmTask/XmTaskAdd.vue @@ -213,7 +213,7 @@ - + 工时单价 元/h @@ -221,7 +221,7 @@ 工时单价 元/h - 预估金额 元 + 预估金额 元 @@ -363,8 +363,8 @@ addForm: { 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 - + rate:0,budgetAt:'',budgetWorkload:'',actAt:'',actWorkload:'',taskState:'0',taskClass:'0',toTaskCenter:'0',actStartTime:'',actEndTime:'',taskType:'4',planType:'w2',settleSchemel:'1',ntype:'0',childrenCnt:0, + uniInnerPrice:80,uniOutPrice:100, }, /**begin 在下面加自定义属性,记得补上面的一个逗号**/ menuVisible:false, @@ -490,7 +490,7 @@ price=this.projectPhase.budgetIuserPrice } } - this.addForm.budgetCost=this.addForm.budgetWorkload * price + this.addForm.budgetAt=this.addForm.budgetWorkload * price }, onBudgetWorkloadChange(){ @@ -498,7 +498,7 @@ if(this.addForm.taskOut=='1'){ price=this.addForm.uniOutPrice? this.addForm.uniOutPrice:80; } - this.addForm.budgetCost=this.addForm.budgetWorkload * price + this.addForm.budgetAt=this.addForm.budgetWorkload * price }, onTaskOutChange(){ this.onBudgetWorkloadChange(); diff --git a/src/views/xm/core/xmTask/XmTaskAgileKanban.vue b/src/views/xm/core/xmTask/XmTaskAgileKanban.vue index 123658fe..1e34f4bf 100644 --- a/src/views/xm/core/xmTask/XmTaskAgileKanban.vue +++ b/src/views/xm/core/xmTask/XmTaskAgileKanban.vue @@ -54,7 +54,7 @@ {{ (task.rate!=null?task.rate:0)+'%'}} - {{parseFloat(task.budgetCost/10000).toFixed(2)}}万,{{task.budgetWorkload}}人时 + {{parseFloat(task.budgetAt/10000).toFixed(2)}}万,{{task.budgetWorkload}}人时 {{task.name}} diff --git a/src/views/xm/core/xmTask/XmTaskEdit.vue b/src/views/xm/core/xmTask/XmTaskEdit.vue index 3741f349..896649fa 100644 --- a/src/views/xm/core/xmTask/XmTaskEdit.vue +++ b/src/views/xm/core/xmTask/XmTaskEdit.vue @@ -171,7 +171,7 @@ - + 工时单价 元/h @@ -179,7 +179,7 @@ 工时单价 元/h - 预估金额 元 + 预估金额 元 @@ -344,8 +344,8 @@ import XmMenuEdit from '../xmMenu/XmMenuEdit.vue'; 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,wtype:'',rworkload:0, - + rate:0,budgetAt:'',budgetWorkload:'',actAt:'',actWorkload:'',taskState:'0',taskClass:'0',toTaskCenter:'0',actStartTime:'',actEndTime:'',taskType:'4',planType:'w2',settleSchemel:'1',ntype:'0',childrenCnt:0,wtype:'',rworkload:0, + uniInnerPrice:80,uniOutPrice:100, }, /**begin 在下面加自定义属性,记得补上面的一个逗号**/ menuVisible:false, diff --git a/src/views/xm/core/xmTask/XmTaskList.vue b/src/views/xm/core/xmTask/XmTaskList.vue index 0b38d95c..c6fbf160 100644 --- a/src/views/xm/core/xmTask/XmTaskList.vue +++ b/src/views/xm/core/xmTask/XmTaskList.vue @@ -158,7 +158,7 @@ addForm: { id:'',name:'',parentTaskid:'',parentTaskname:'',projectId:'',projectName:'',level:'',sortLevel:'',executorUserid:'',executorUsername:'', preTaskid:'',preTaskname:'',startTime:'',endTime:'',milestone:'',description:'',remarks:'',createUserid:'',createUsername:'',createTime:'', - rate:'',budgetCost:'',budgetWorkload:'',actCost:'',actWorkload:'',taskState:'',taskType:'',taskClass:'',toTaskCenter:'',actStartTime:'',actEndTime:'', + rate:'',budgetAt:'',budgetWorkload:'',actAt:'',actWorkload:'',taskState:'',taskType:'',taskClass:'',toTaskCenter:'',actStartTime:'',actEndTime:'', }, editFormVisible: false,//编辑界面是否显示 @@ -166,7 +166,7 @@ editForm: { id:'',name:'',parentTaskid:'',parentTaskname:'',projectId:'',projectName:'',level:'',sortLevel:'',executorUserid:'',executorUsername:'', preTaskid:'',preTaskname:'',startTime:'',endTime:'',milestone:'',description:'',remarks:'',createUserid:'',createUsername:'',createTime:'', - rate:'',budgetCost:'',budgetWorkload:'',actCost:'',actWorkload:'',taskState:'',taskType:'',taskClass:'',toTaskCenter:'',actStartTime:'',actEndTime:'', + rate:'',budgetAt:'',budgetWorkload:'',actAt:'',actWorkload:'',taskState:'',taskType:'',taskClass:'',toTaskCenter:'',actStartTime:'',actEndTime:'', }, selkey: "all", @@ -478,17 +478,17 @@ }, getRowSum(row){ - var budgetCost=this.getFloatValue(row.budgetCost); + var budgetAt=this.getFloatValue(row.budgetAt); if(row.taskOut=='1'){ - row.taskBudgetOuserAt=budgetCost + row.taskBudgetOuserAt=budgetAt row.taskBudgetIuserAt=0 row.taskBudgetNouserAt=0; }else{ row.taskBudgetOuserAt=0 - row.taskBudgetIuserAt=budgetCost + row.taskBudgetIuserAt=budgetAt row.taskBudgetNouserAt=0; } - return budgetCost; + return budgetAt; }, getFloatValue(value,digit){ diff --git a/src/views/xm/core/xmTask/XmTaskListForMenu.vue b/src/views/xm/core/xmTask/XmTaskListForMenu.vue index fc2bf1b7..aa02a2d5 100644 --- a/src/views/xm/core/xmTask/XmTaskListForMenu.vue +++ b/src/views/xm/core/xmTask/XmTaskListForMenu.vue @@ -36,9 +36,9 @@ - + - {{parseFloat(scope.row.budgetCost/10000).toFixed(2)}}万,{{scope.row.budgetWorkload}}人时 + {{parseFloat(scope.row.budgetAt/10000).toFixed(2)}}万,{{scope.row.budgetWorkload}}人时 @@ -141,7 +141,7 @@ addForm: { id:'',name:'',parentTaskid:'',parentTaskname:'',projectId:'',projectName:'',level:'',sortLevel:'',executorUserid:'',executorUsername:'', preTaskid:'',preTaskname:'',startTime:'',endTime:'',milestone:'',description:'',remarks:'',createUserid:'',createUsername:'',createTime:'', - rate:'',budgetCost:'',budgetWorkload:'',actCost:'',actWorkload:'',taskState:'',taskType:'',taskClass:'',toTaskCenter:'',actStartTime:'',actEndTime:'', + rate:'',budgetAt:'',budgetWorkload:'',actAt:'',actWorkload:'',taskState:'',taskType:'',taskClass:'',toTaskCenter:'',actStartTime:'',actEndTime:'', }, editFormVisible: false,//编辑界面是否显示 @@ -149,7 +149,7 @@ editForm: { id:'',name:'',parentTaskid:'',parentTaskname:'',projectId:'',projectName:'',level:'',sortLevel:'',executorUserid:'',executorUsername:'', preTaskid:'',preTaskname:'',startTime:'',endTime:'',milestone:'',description:'',remarks:'',createUserid:'',createUsername:'',createTime:'', - rate:'',budgetCost:'',budgetWorkload:'',actCost:'',actWorkload:'',taskState:'',taskType:'',taskClass:'',toTaskCenter:'',actStartTime:'',actEndTime:'', + rate:'',budgetAt:'',budgetWorkload:'',actAt:'',actWorkload:'',taskState:'',taskType:'',taskClass:'',toTaskCenter:'',actStartTime:'',actEndTime:'', }, selkey: "all", @@ -374,17 +374,17 @@ }, getRowSum(row){ - var budgetCost=this.getFloatValue(row.budgetCost); + var budgetAt=this.getFloatValue(row.budgetAt); if(row.taskOut=='1'){ - row.taskBudgetOuserAt=budgetCost + row.taskBudgetOuserAt=budgetAt row.taskBudgetIuserAt=0 row.taskBudgetNouserAt=0; }else{ row.taskBudgetOuserAt=0 - row.taskBudgetIuserAt=budgetCost + row.taskBudgetIuserAt=budgetAt row.taskBudgetNouserAt=0; } - return budgetCost; + return budgetAt; }, getFloatValue(value,digit){ diff --git a/src/views/xm/core/xmTask/XmTaskMng.vue b/src/views/xm/core/xmTask/XmTaskMng.vue index e70dad9d..85ea4468 100644 --- a/src/views/xm/core/xmTask/XmTaskMng.vue +++ b/src/views/xm/core/xmTask/XmTaskMng.vue @@ -1110,9 +1110,9 @@ export default { createUsername: "", createTime: "", rate: "", - budgetCost: "", + budgetAt: "", budgetWorkload: "", - actCost: "", + actAt: "", actWorkload: "", taskState: "", taskType: "", @@ -1120,6 +1120,7 @@ export default { toTaskCenter: "", actStartTime: "", actEndTime: "", + uniInnerPrice:80,uniOutPrice:100, }, editFormVisible: false, //编辑界面是否显示 @@ -1146,9 +1147,9 @@ export default { createUsername: "", createTime: "", rate: "", - budgetCost: "", + budgetAt: "", budgetWorkload: "", - actCost: "", + actAt: "", actWorkload: "", taskState: "", taskType: "", @@ -1156,6 +1157,7 @@ export default { toTaskCenter: "", actStartTime: "", actEndTime: "", + uniInnerPrice:80,uniOutPrice:100, }, /**begin 自定义属性请在下面加 请加备注**/ taskStateList: ["待领取", "已领取执行中", "已完工", "已结算"], @@ -1767,11 +1769,11 @@ export default { } i.projectId=projectId } - i.budgetCost = 0; + i.budgetAt = 0; i.budgetWorkload = 80; i.level = i.level ? i.level : "3"; i.planType = i.planType ? i.planType : "w2"; - i.actCost = 0; + i.actAt = 0; i.actWorkload = 0; i.taskState = "0"; i.rate = 0; @@ -1974,17 +1976,17 @@ export default { } }, getRowSum(row) { - var budgetCost = this.getFloatValue(row.budgetCost); + var budgetAt = this.getFloatValue(row.budgetAt); if (row.taskOut == "1") { - row.taskBudgetOuserAt = budgetCost; + row.taskBudgetOuserAt = budgetAt; row.taskBudgetIuserAt = 0; row.taskBudgetNouserAt = 0; } else { row.taskBudgetOuserAt = 0; - row.taskBudgetIuserAt = budgetCost; + row.taskBudgetIuserAt = budgetAt; row.taskBudgetNouserAt = 0; } - return budgetCost; + return budgetAt; }, getFloatValue(value, digit) { if (isNaN(value)) { diff --git a/src/views/xm/core/xmTask/XmTaskMngBatch.vue b/src/views/xm/core/xmTask/XmTaskMngBatch.vue index d0c6137a..1bb14407 100644 --- a/src/views/xm/core/xmTask/XmTaskMngBatch.vue +++ b/src/views/xm/core/xmTask/XmTaskMngBatch.vue @@ -141,13 +141,13 @@ - + @@ -178,7 +178,7 @@ > - + - - - - 查询 - - - - - - - - - - - - - - - - 待确认 - 已确认 - - - - - - - - 无需结算 - 待结算 - 已提交 - 已通过 - 已结算 - - - - - - - {{scope.row.amt}} - 0 - - - - - {{scope.row.samt}} - - - - - - - - 选择 - - - - - - - - - - - - - - - diff --git a/src/views/xm/core/xmTaskSbill/XmTaskSbillMng.vue b/src/views/xm/core/xmTaskSbill/XmTaskSbillMng.vue index 59e7d388..dfadb842 100644 --- a/src/views/xm/core/xmTaskSbill/XmTaskSbillMng.vue +++ b/src/views/xm/core/xmTaskSbill/XmTaskSbillMng.vue @@ -141,11 +141,7 @@ - - - - - + @@ -159,8 +155,7 @@ import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 import { listXmTaskSbill, delXmTaskSbill, batchDelXmTaskSbill } from '@/api/xm/core/xmTaskSbill'; import XmTaskSbillEdit from './XmTaskSbillEdit';//新增修改界面 - import { mapGetters } from 'vuex' - import SelectTaskWorkload from "./SelectTaskWorkload"; + import { mapGetters } from 'vuex' import {editXmTaskSbill} from "../../../../api/xm/core/xmTaskSbill"; import dateUtil from "../../../../common/js/dateUtil"; import {editXmTaskWorkload} from "../../../../api/xm/core/xmTaskWorkload"; @@ -169,8 +164,7 @@ export default { components: { - XmTaskSbillEdit, - SelectTaskWorkload, + XmTaskSbillEdit, UsersSelect, XmProjectSelect, }, diff --git a/src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue b/src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue index aea159cf..2fd427ab 100644 --- a/src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue +++ b/src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue @@ -47,58 +47,116 @@ :cell-style="{'text-align':'center'}"> - - - + + + + {{scope.row.username}} + + + {{scope.row.userid}}-{{scope.row.username}} + + + + + - 待确认 - 已确认 - 无效 + {{scope.row.bizDate}} - - + + - {{item.name}} + {{item.name}} - + - + - {{scope.row.workload}}h + + {{item.name}} + + + + + + - + - ¥{{scope.row.amt}} - ¥0 + {{scope.row.workload}}h - - - ¥{{ scope.row.samt}} - - + + + + + {{scope.row.sworkload}}h + + + + - - + + + + ¥{{ scope.row.amt}} + - + - + + + + + + + + ¥{{ scope.row.samt}} + - + + + - - + + + + {{scope.row.sbillId}} + + + + + + + + + + {{scope.row.projectName}} + + + {{scope.row.projectId}}-{{scope.row.projectName}} + + + + - {{scope.row.ctime.substring(0,10)}} + + + {{scope.row.taskName}} + + + {{scope.row.taskId}}-{{scope.row.taskName}} + - - + + @@ -149,7 +207,7 @@ import XmProjectSelect from "../components/XmProjectSelect"; import XmTaskSbillSelect from "./XmTaskSbillSelect"; import {editWorkloadToSbill} from "@/api/xm/core/xmTaskWorkload"; - import {editXmWorkloadWstatus} from "../../../../api/xm/core/xmTaskWorkload"; + import {editXmTaskWorkloadSomeFields} from "../../../../api/xm/core/xmTaskWorkload"; import UsersSelect from "@/views/mdp/sys/user/UsersSelect"; export default { @@ -200,7 +258,9 @@ sels: [],//列表选中数据 dicts:{ //sex: [{id:'1',name:'男'},{id:'2',name:'女'}] - wstatus:[{id:'0',name:'待确认'},{id:'1',name: '已确认'},{id:'2',name:'无效'}] + wstatus:[{id:'0',name:'待确认'},{id:'1',name: '已确认'},{id:'2',name:'无效'}], + sstatus:[{id:'0',name:'无需结算'},{id:'1',name: '待结算'},{id:'2',name:'已提交'},{id:'3',name:'已通过'},{id:'4',name:'已结算'}] + /**0-无需结算,1-待结算2-已提交3-已通过4-已结算 */ },//下拉选择框的所有静态数据 params={categoryId:'all',itemCodes:['sex']} 返回结果 {sex: [{id:'1',name:'男'},{id:'2',name:'女'}]} addFormVisible: false,//新增xmTaskWorkload界面是否显示 addForm: { @@ -383,45 +443,47 @@ this.selProject = null; this.getXmTaskWorkloads(); }, - editXmWorkloadSomeFields(workload,row,fieldName,$event){ - if(row.status!='0'){ - this.$notify.error({position:'bottom-left',showClose:true,message:'该结算单已提交,请重新选择',type:'warning'}) - return; - } + editXmTaskWorkloadSomeFields(row,fieldName,$event){ let params={ - projectId:row.projectId + ids:[row.id], }; if(this.sels.length>0){ - if(!this.sels.some(k=>k.projectId==row.projectId)){ + if(this.sels.some(k=>k.projectId!=row.projectId)){ this.$notify({position:'bottom-left',showClose:true,message:'存在不同项目的工时单,请重新选择',type:'warning'}) return; } - params.ids=this.sels.map(i=>i.id); + params.ids=this.sels.map(i=>i.id); }else{ - params.ids = [workload.id]; + params.ids = [row.id]; + params[fieldName]=$event } - params.sbillId = row.id; - - editWorkloadToSbill(params).then(res=>{ - let tips = res.data.tips; + var func = editXmTaskWorkloadSomeFields + if(fieldName==='sbillId'){ + func = editWorkloadToSbill + params.sbillId=$event.id + }else{ + params[fieldName]=$event + } + func(params).then(res=>{ + let tips = res.data.tips; + this.getXmTaskWorkloads(); if(tips.isOk){ - this.getXmTaskWorkloads(); }else{ this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'}) } }) }, - formatterStatusDicts: function(cellValue){ + formatterWstatusDicts: function(cellValue){ let key="wstatus"; if(this.dicts[key]==undefined || this.dicts[key]==null || this.dicts[key].length==0 ){ return {id:cellValue,name:cellValue,className:'primary'}; } - let list=this.dicts[key].filter(i=>i.id==cellValue) + let list=this.dicts[key].filter(i=>i.id===cellValue) if(list.length>0){ let data= {...list[0],className:'primary'} - if(data.id=='1'){ + if(data.id==='1'){ data.className='success' - }else if(data.id=='2'){ + }else if(data.id==='2'){ data.className='info' }else{ data.className='danger' @@ -432,33 +494,27 @@ } }, - editXmTaskWorkloadSomeFields(row,fieldName,$event){ - let params={ids:[row.id]}; - if(this.sels.length>0){ - if(!this.sels.some(k=>k.id==row.id)){ - this.$notify({position:'bottom-left',showClose:true,message:'请操作选中的行或者取消选中的行再操作其它行',type:'warning'}) - return; - } - params.ids=this.sels.map(i=>i.id) - }else{ - params.ids = [row.id] + formatterSstatusDicts: function(cellValue){ + let key="sstatus"; + if(this.dicts[key]==undefined || this.dicts[key]==null || this.dicts[key].length==0 ){ + return {id:cellValue,name:cellValue,className:'primary'}; } - if(fieldName!=='sstatus') { - this.$notify.error("不支持当前选项"); - return; + let list=this.dicts[key].filter(i=>i.id===cellValue) + if(list.length>0){ + let data= {...list[0],className:'primary'} + if(data.id==='1'){ + data.className='success' + }else if(data.id==='2'){ + data.className='info' + }else{ + data.className='danger' + } + return data; }else{ - params.wstatus = row.wstatus; + return {id:cellValue,name:cellValue,className:'primary'} } - editXmWorkloadWstatus(params).then(res=>{ - let tips = res.data.tips; - if(tips.isOk){ - this.getXmTaskWorkloads(); - }else{ - this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'}) - } - }) - }, + }, clearFiltersPmUser:function(){ this.filters.pmUser=null; this.searchXmTaskWorkloads();