diff --git a/src/api/xm/core/xmTaskWorkload.js b/src/api/xm/core/xmTaskWorkload.js
index bf37da20..75e75b60 100644
--- a/src/api/xm/core/xmTaskWorkload.js
+++ b/src/api/xm/core/xmTaskWorkload.js
@@ -33,3 +33,5 @@ export const addXmTaskWorkload = params => { return axios.post(`${base}/xm/core/
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); };
+
+export const editXmWorkloadWstatus = params => { return axios.post(`${base}/xm/core/xmTaskWorkload/editXmWorkloadWstatus`, params); };
diff --git a/src/router/routes_xm.js b/src/router/routes_xm.js
index 2196d0cd..35057db9 100644
--- a/src/router/routes_xm.js
+++ b/src/router/routes_xm.js
@@ -163,7 +163,10 @@ export default {
//leaf: true,//只有一个节点
children: [
{ 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: '工时列表'}},
+ /*{ path: 'xmTaskWorkload/XmTaskWorkloadMng', component: _import('xm/core/xmTaskWorkload/XmTaskWorkloadMng'), name: 'XmTaskWorkloadMng', meta: { title: '工时列表'}},*/
+ { path: 'xmTaskWorkload/WaitWorkloadToSbill', component: _import('xm/core/xmTaskWorkload/WaitWorkloadToSbill'), name: 'WaitWorkloadToSbill', meta: { title: '待结算工时列表'}},
+ { path: 'xmTaskWorkload/FinWorkloadToSbill', component: _import('xm/core/xmTaskWorkload/FinWorkloadToSbill'), name: 'FinWorkloadToSbill', meta: { title: '已结算工时列表'}},
+ { path: 'xmTaskWorkload/ToComfirmWorkload', component: _import('xm/core/xmTaskWorkload/ToComfirmWorkload'), name: 'ToComfirmWorkload', meta: { title: '未确认工时列表'}},
]
}
]
diff --git a/src/views/xm/core/xmTaskWorkload/FinWorkloadToSbill.vue b/src/views/xm/core/xmTaskWorkload/FinWorkloadToSbill.vue
new file mode 100644
index 00000000..392f7467
--- /dev/null
+++ b/src/views/xm/core/xmTaskWorkload/FinWorkloadToSbill.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/xm/core/xmTaskWorkload/ToComfirmWorkload.vue b/src/views/xm/core/xmTaskWorkload/ToComfirmWorkload.vue
new file mode 100644
index 00000000..2964f9af
--- /dev/null
+++ b/src/views/xm/core/xmTaskWorkload/ToComfirmWorkload.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
diff --git a/src/views/xm/core/xmTaskWorkload/WaitWorkloadToSbill.vue b/src/views/xm/core/xmTaskWorkload/WaitWorkloadToSbill.vue
new file mode 100644
index 00000000..eb674132
--- /dev/null
+++ b/src/views/xm/core/xmTaskWorkload/WaitWorkloadToSbill.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
diff --git a/src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue b/src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue
index 3c86eb49..8fd1ba35 100644
--- a/src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue
+++ b/src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue
@@ -2,8 +2,41 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
查询
+
+
+
+ 创建时间:
+
+
+
+ 创建人:
+ {{filters.pmUser.username}}
+ 选择
+ 我的
+
+
+ 关闭查询
+
+
+
+
@@ -16,39 +49,61 @@
+
+
+ 待确认
+ 已确认
+ 无效
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
-
-
-
-
+
- {{scope.row.remark}}
- -
+ {{scope.row.ctime.substring(0,10)}}
-
-
-
+
+
+ 无需结算
+ 待结算
+ 已提交
+ 已通过
+ 已结算
+ 未结算
+
+
+
-
+
+
+
- 无需结算
- 待结算
- 已提交
- 已通过
- 已结算
+ {{scope.row.remark}}
-
+
+
¥{{scope.row.amt}}
@@ -88,6 +143,9 @@
+
+
+
@@ -101,7 +159,9 @@
import { mapGetters } from 'vuex'
import XmProjectSelect from "../components/XmProjectSelect";
import XmTaskSbillSelect from "./XmTaskSbillSelect";
- import {editWorkloadToSbill} from "../../../../api/xm/core/xmTaskWorkload";
+ import {editWorkloadToSbill} from "@/api/xm/core/xmTaskWorkload";
+ import {editXmWorkloadWstatus} from "../../../../api/xm/core/xmTaskWorkload";
+ import UsersSelect from "@/views/mdp/sys/user/UsersSelect";
export default {
name:'xmTaskWorkloadMng',
@@ -109,24 +169,34 @@
XmTaskWorkloadEdit,
XmProjectSelect,
XmTaskSbillSelect,
+ UsersSelect
},
- props:['visible'],
+ props:['visible','wstatuses','sstatuses'],
computed: {
...mapGetters(['userInfo']),
},
watch:{
- visible(val){
- if(val==true){
- this.initData();
- this.searchXmTaskWorkloads()
- }
- }
+ visible:{
+ handler:function(o,n){
+ if(n==true){
+ this.initData();
+ this.searchXmTaskWorkloads()
+ }
+ },
+ immediate: true
+ },
},
data() {
+ const beginDate = new Date();
+ const endDate = new Date();
+ beginDate.setTime(beginDate.getTime() - 3600 * 1000 * 24 * 7 * 4 * 12 );
return {
filters: {
- key: ''
+ key: '',
+ wstatus:'',
+ sstatus:'',
+ pmUser:''
},
xmTaskWorkloads: [],//查询结果
pageInfo:{//分页数据
@@ -141,6 +211,7 @@
sels: [],//列表选中数据
dicts:{
//sex: [{id:'1',name:'男'},{id:'2',name:'女'}]
+ wstatus:[{id:'0',name:'待确认'},{id:'1',name: '已确认'},{id:'2',name:'无效'}]
},//下拉选择框的所有静态数据 params={categoryId:'all',itemCodes:['sex']} 返回结果 {sex: [{id:'1',name:'男'},{id:'2',name:'女'}]}
addFormVisible: false,//新增xmTaskWorkload界面是否显示
addForm: {
@@ -153,6 +224,10 @@
},
maxTableHeight:300,
selProject:'',
+ moreVisible:false,
+ pickerOptions: util.pickerOptions('datarange'),
+ dateRanger: [],
+ selectFiltersPmUserVisible:false,
}
},//end data
methods: {
@@ -193,7 +268,6 @@
pageNum: this.pageInfo.pageNum,
total: this.pageInfo.total,
count:this.pageInfo.count,
- toSbill:true
};
if(this.pageInfo.orderFields!=null && this.pageInfo.orderFields.length>0){
let orderBys=[];
@@ -208,6 +282,25 @@
if(this.selProject){
params.projectId= this.selProject;
}
+ if(this.sstatuses){
+ params.sstatuses=this.sstatuses.join();
+ }
+ if(this.wstatuses){
+ params.wstatuses=this.wstatuses.join();
+ }
+ if(this.filters.wstatus){
+ params.wstatuses = this.filters.wstatus;
+ }
+ if(this.filters.sstatus){
+ params.sstatuses = this.filters.sstatus;
+ }
+ if(this.filters.pmUser){
+ params.cuserid = this.filters.pmUser.userid;
+ }
+ if(this.dateRanger){
+ params.startTime = this.dateRanger[0];
+ params.endTime = this.dateRanger[1];
+ }
this.load.list = true;
listXmTaskWorkload(params).then((res) => {
@@ -325,16 +418,88 @@
}
})
},
- },//end methods
+ formatterStatusDicts: 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)
+ 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{
+ return {id:cellValue,name:cellValue,className:'primary'}
+ }
+
+ },
+ 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({showClose:true,message:'请操作选中的行或者取消选中的行再操作其它行',type:'warning'})
+ return;
+ }
+ params.ids=this.sels.map(i=>i.id)
+ }else{
+ params.ids = [row.id]
+ }
+ if(fieldName!=='sstatus') {
+ this.$notify.error("不支持当前选项");
+ return;
+ }else{
+ params.wstatus = row.wstatus;
+ }
+
+ editXmWorkloadWstatus(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'})
+ }
+ })
+ },
+ clearFiltersPmUser:function(){
+ this.filters.pmUser=null;
+ this.searchXmTaskWorkloads();
+ },
+ selectFiltersPmUser(){
+ this.selectFiltersPmUserVisible=true;
+ },
+ onFiltersPmUserSelected(users){
+ if(users && users.length>0){
+ this.filters.pmUser=users[0]
+ }else{
+ this.filters.pmUser=null;
+ }
+ this.selectFiltersPmUserVisible=false;
+ this.searchXmTaskWorkloads();
+ },
+ setFiltersPmUserAsMySelf(){
+ this.filters.pmUser=this.userInfo;
+ this.searchXmTaskWorkloads();
+ },
+ },//end methods
mounted() {
this.$nextTick(() => {
//initSimpleDicts('all',['sex','gradeLvl']).then(res=>this.dicts=res.data.data);
this.initData()
- this.searchXmTaskWorkloads();
- this.maxTableHeight = util.calcTableMaxHeight(this.$refs.xmTaskWorkloadTable.$el)
+ this.searchXmTaskWorkloads();
+ this.maxTableHeight = util.calcTableMaxHeight(this.$refs.xmTaskWorkloadTable.$el)
- });
- }
+ });
+ },
+ activated(){
+ this.initData();
+ this.searchXmTaskWorkloads();
+ }
}