89 lines
2.7 KiB
JavaScript
89 lines
2.7 KiB
JavaScript
import { observable, action } from 'mobx';
|
|
import { WeaTools } from 'ecCom';
|
|
import moment from 'moment';
|
|
import * as API from '../apis/shift';
|
|
import {WeaLocaleProvider} from 'ecCom';
|
|
const getLabel = WeaLocaleProvider.getLabel;
|
|
|
|
export class HrmShift {
|
|
title = () => getLabel('125798',"我的排班");
|
|
newChecking = () => getLabel('385037',"新建考勤流程");
|
|
leftTitle= () => getLabel('32997',"人员组织");
|
|
dateTabDatas = [
|
|
{title:'年',key:"1"},
|
|
{title:'月',key:"2"}
|
|
];
|
|
hrmId = undefined;
|
|
|
|
@observable spinning = false;
|
|
@observable yearData = {};
|
|
@observable calendarData = {};
|
|
@observable holidayData = {};
|
|
@observable hrmName = WeaTools.ls.getJSONObj('theme-account') && WeaTools.ls.getJSONObj('theme-account').username || undefined;
|
|
@observable loading = false;
|
|
@observable dateTabkey = '2';
|
|
@observable userRoot = undefined;
|
|
@observable pDate = new Date();
|
|
@observable hasRight = true;
|
|
@observable canSearch = true;
|
|
|
|
@action init = () => {
|
|
this.dateTabkey = '2';
|
|
this.pDate = new Date();
|
|
this.hrmId = undefined;
|
|
this.hrmName = WeaTools.ls.getJSONObj('theme-account') && WeaTools.ls.getJSONObj('theme-account').username || undefined;
|
|
this.userRoot = undefined;
|
|
this.getData();
|
|
}
|
|
|
|
@action getData = () => {
|
|
let params = {};
|
|
if (this.hrmId) params.resourceId = this.hrmId;
|
|
if(this.dateTabkey == '1'){
|
|
params.kqDate = moment(this.pDate).format('YYYY');
|
|
}else{
|
|
params.kqDate = moment(this.pDate).format('YYYY-MM');
|
|
}
|
|
params.type = this.dateTabkey;
|
|
this.spinning = true;
|
|
API.getHrmScheduleReportInfo(params).then((data)=> {
|
|
if (data.status == '1') {
|
|
this.calendarData = data.result;
|
|
this.holidayData = data.holiday;
|
|
this.canSearch = data.canSearch;
|
|
this.hasRight = data.hasRight == null ? true : data.hasRight;
|
|
} else {
|
|
this.hasRight = false;
|
|
}
|
|
this.spinning = false;
|
|
}, error => this.spinning = false)
|
|
}
|
|
|
|
@action changeDateTabHandler = (key) => {
|
|
this.dateTabkey = key;
|
|
}
|
|
|
|
@action changeDateHandler = (v) => {
|
|
this.pDate = v;
|
|
this.getData();
|
|
}
|
|
|
|
@action updateDateTabkey = (key) => this.dateTabkey = key;
|
|
|
|
@action resetUserRoot = () => {
|
|
this.userRoot = null;
|
|
this.hrmId = null;
|
|
this.hrmName = WeaTools.ls.getJSONObj('theme-account') && WeaTools.ls.getJSONObj('theme-account').username || undefined;
|
|
this.getData();
|
|
}
|
|
|
|
@action updateUserRoot = (ids, names, datas) => this.userRoot = datas;
|
|
|
|
@action updateHrm = (id, name) => {
|
|
this.hrmId = id;
|
|
this.hrmName = name || WeaTools.ls.getJSONObj('theme-account') && WeaTools.ls.getJSONObj('theme-account').username || undefined;
|
|
this.getData();
|
|
}
|
|
}
|
|
|
|
export const hrmShift = new HrmShift(); |