weaver_trunk_cli/pc4mobx/hrmAttendance/stores/shift.js

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();