diff --git a/src/api/xm/core/xmTaskWorkload.js b/src/api/xm/core/xmTaskWorkload.js
index a003603f..bf37da20 100644
--- a/src/api/xm/core/xmTaskWorkload.js
+++ b/src/api/xm/core/xmTaskWorkload.js
@@ -31,3 +31,5 @@ export const addXmTaskWorkload = params => { return axios.post(`${base}/xm/core/
//普通查询 条件之间and关系
export const listByProject = params => { return axios.get(`${base}/xm/core/xmTaskWorkload/listByProject`, { params: params }); };
+
+export const editWorkloadToSbill = params => { return axios.post(`${base}/xm/core/xmTaskWorkload/editWorkloadToSbill`, params); };
diff --git a/src/router/routes_xm.js b/src/router/routes_xm.js
index 2782c8f8..2196d0cd 100644
--- a/src/router/routes_xm.js
+++ b/src/router/routes_xm.js
@@ -162,7 +162,8 @@ export default {
},
//leaf: true,//只有一个节点
children: [
- { path: 'xmTaskSbill/XmTaskSbillMng', component: _import('xm/core/xmTaskSbill/XmTaskSbillMng'), name: 'XmTaskSbilllMng', meta: { title: '任务结算',icon:'task' }},
+ { path: 'xmTaskSbill/XmTaskSbillMng', component: _import('xm/core/xmTaskSbill/XmTaskSbillMng'), name: 'XmTaskSbilllMng', meta: { title: '任务结算'}},
+ { path: 'xmTaskWorkload/XmTaskWorkloadMng', component: _import('xm/core/xmTaskWorkload/XmTaskWorkloadMng'), name: 'XmTaskWorkloadMng', meta: { title: '工时列表'}},
]
}
]
diff --git a/src/views/xm/core/xmTaskSbill/SelectTaskWorkload.vue b/src/views/xm/core/xmTaskSbill/SelectTaskWorkload.vue
index 84264715..bf6c3f3c 100644
--- a/src/views/xm/core/xmTaskSbill/SelectTaskWorkload.vue
+++ b/src/views/xm/core/xmTaskSbill/SelectTaskWorkload.vue
@@ -1,7 +1,7 @@
-
+
查询
@@ -40,8 +40,18 @@
-
-
-
+
+
+ {{scope.row.amt}}
+ 0
+
+
+
+
+ {{scope.row.samt}}
+ -
+
+
@@ -135,7 +145,8 @@ export default {
pageNum: this.pageInfo.pageNum,
total: this.pageInfo.total,
count:this.pageInfo.count,
- projectId:this.xmTaskSbill.projectId
+ projectId:this.xmTaskSbill.projectId,
+ toSbill:true
};
if(this.pageInfo.orderFields!=null && this.pageInfo.orderFields.length>0){
let orderBys=[];
@@ -149,7 +160,7 @@ export default {
}
this.load.list = true;
- listByProject(params).then((res) => {
+ listXmTaskWorkload(params).then((res) => {
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.total = res.data.total;
diff --git a/src/views/xm/core/xmTaskSbill/XmTaskSbillEdit.vue b/src/views/xm/core/xmTaskSbill/XmTaskSbillEdit.vue
index 9c175289..bdb26456 100644
--- a/src/views/xm/core/xmTaskSbill/XmTaskSbillEdit.vue
+++ b/src/views/xm/core/xmTaskSbill/XmTaskSbillEdit.vue
@@ -203,11 +203,11 @@
this.editForm.projectName = obj.projectName;
},
onProjectRowClick(obj){
- this.$set(this.editForm, "projectI", obj[0].projectId);
+ this.$set(this.editForm, "projectId", obj[0].projectId);
this.$set(this.editForm, "projectName", obj[0].projectName);
},
onProjectClear(){
- this.$set(this.editForm, "projectI", null);
+ this.$set(this.editForm, "projectId", null);
this.$set(this.editForm, "projectName", null);
}
},//end method
diff --git a/src/views/xm/core/xmTaskSbill/XmTaskSbillMng.vue b/src/views/xm/core/xmTaskSbill/XmTaskSbillMng.vue
index fdaff609..64acc6e5 100644
--- a/src/views/xm/core/xmTaskSbill/XmTaskSbillMng.vue
+++ b/src/views/xm/core/xmTaskSbill/XmTaskSbillMng.vue
@@ -308,6 +308,7 @@
this.changeXmTaskSbill(this.thisBillRow);
//更新xmTaskWokload现状
this.changeXmTaskWorkload(row,this.thisBillRow);
+ this.getXmTaskSbills();
},
changeXmTaskSbill(data){
let params = Object.assign({}, data);
diff --git a/src/views/xm/core/xmTaskWorkload/XmTaskSbillSelect.vue b/src/views/xm/core/xmTaskWorkload/XmTaskSbillSelect.vue
new file mode 100644
index 00000000..a6e64a35
--- /dev/null
+++ b/src/views/xm/core/xmTaskWorkload/XmTaskSbillSelect.vue
@@ -0,0 +1,317 @@
+
+
+
+
+
+
+
+
+
+ 结算单名称
+
+ 清空
+ 关闭
+
+
+
+ 结算单编号:
+
+
+
+
+
+ 创建时间:
+
+
+
+
+
+ 结算单标题:
+
+
+
+
+
+
+ 创建人:
+
+ {{filters.pmUser.username}}
+ 选择
+ 我的
+
+
+ 关闭查询
+
+
+ 更多条件
+
+
+
+
+ {{scope.row.title}}
+
+
+
+
+
+
+ {{editForm && editForm.id?editForm.title:'选择结算单'}}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue b/src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue
index bc9d889b..f766af4e 100644
--- a/src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue
+++ b/src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue
@@ -1,41 +1,76 @@
-
+
+
查询
-
-
+
-
+
+
+
-
-
-
+
+
+
+
+
+ {{scope.row.remark}}
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 无需结算
+ 待结算
+ 已提交
+ 已通过
+ 已结算
+ -
+
+
+
+
+ {{scope.row.amt}}
+ 0
+
+
+
+
+ {{scope.row.samt}}
+ -
+
+
+
+
+
+
@@ -60,11 +95,16 @@
import { listXmTaskWorkload, delXmTaskWorkload, batchDelXmTaskWorkload } from '@/api/xm/core/xmTaskWorkload';
import XmTaskWorkloadEdit from './XmTaskWorkloadEdit';//新增修改界面
import { mapGetters } from 'vuex'
+ import XmProjectSelect from "../components/XmProjectSelect";
+ import XmTaskSbillSelect from "./XmTaskSbillSelect";
+ import {editWorkloadToSbill} from "../../../../api/xm/core/xmTaskWorkload";
export default {
name:'xmTaskWorkloadMng',
components: {
XmTaskWorkloadEdit,
+ XmProjectSelect,
+ XmTaskSbillSelect,
},
props:['visible'],
computed: {
@@ -108,6 +148,7 @@
userid:'',username:'',ctime:'',taskId:'',cuserid:'',bizDate:'',wstatus:'',remark:'',ttype:'',id:'',sbillId:'',stime:'',sstatus:'',amt:'',samt:'',workload:'',rworkload:'',cusername:'',projectId:''
},
maxTableHeight:300,
+ selProject:'',
}
},//end data
methods: {
@@ -147,7 +188,8 @@
pageSize: this.pageInfo.pageSize,
pageNum: this.pageInfo.pageNum,
total: this.pageInfo.total,
- count:this.pageInfo.count
+ count:this.pageInfo.count,
+ toSbill:true
};
if(this.pageInfo.orderFields!=null && this.pageInfo.orderFields.length>0){
let orderBys=[];
@@ -157,8 +199,11 @@
params.orderBy= orderBys.join(",")
}
if(this.filters.key){
- params.key=this.filters.key
+ params.key= "%" + this.filters.key + "%"
}
+ if(this.selProject){
+ params.projectId= this.selProject;
+ }
this.load.list = true;
listXmTaskWorkload(params).then((res) => {
@@ -241,10 +286,41 @@
this.editForm=row
this.$emit('row-click',row, event, column);// @row-click="rowClick"
},
- initData: function(){
+ initData: function(){
- },
+ },
+ onProjectConfirm(obj){
+ this.selProject = obj.projectId;
+ this.getXmTaskWorkloads();
+ },
+ clearProject(){
+ this.selProject = null;
+ this.getXmTaskWorkloads();
+ },
+ editXmWorkloadSomeFields(workload,row,fieldName,$event){
+ let params={
+ projectId:row.projectId
+ };
+ if(this.sels.length>0){
+ if(!this.sels.some(k=>k.projectId==row.projectId)){
+ this.$notify({showClose:true,message:'存在不同项目的工时单,请重新选择',type:'warning'})
+ return;
+ }
+ params.ids=this.sels.map(i=>i.id);
+ }else{
+ params.ids = [workload.id];
+ }
+ params.sbillId = row.id;
+ editWorkloadToSbill(params).then(res=>{
+ let tips = res.data.tips;
+ if(tips.isOk){
+ this.getXmTaskWorkloads();
+ }else{
+ this.$notify({showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
+ }
+ })
+ },
},//end methods
mounted() {
this.$nextTick(() => {