import { observable, action } from 'mobx'; import { WeaTools } from 'ecCom'; import * as mobx from 'mobx'; import * as API from '../apis/orgchart'; import { Modal, message, } from 'antd' import { i18n } from '../public/i18n'; import moment from "moment"; const toJS = mobx.toJS; export class OrgChartStore { @observable spinning = false; @observable hasRight = ''; @observable date = moment(new Date()).format('YYYY-MM-DD'); iframe; /********************* action list *********************/ initData = (refresh = false) => { this.iframe = null; //this.hasRight = true; this.callInitData(); } callInitData = () => { if(this.spinning) return; this.spinning = true; this.getChartData(); } setIframe = (iframe) => { if(iframe == null || this.iframe != null) return; this.iframe = iframe; this.callInitData(); } changeDate = (value) => { this.date = value; this.getChartData(); } onInitOrgChart = (status) => { this.spinning = false; switch (status) { case 0: message.error(i18n.message.dataNone()); break; case -1: message.error(i18n.message.dataConstructError()); break } } showSpin = (val) => { this.spinning = (val === '0'); } @action getChartData = (reset = false) => { this.spinning = true; const params = {}; Object.assign(params, { arg0: 1, arg3: true, arg11: ';;B', date: this.date }); API.getOrgChartData(params).then(data => { if (data.status === '1') { const msgData = { act: 'orgChart', // 自定义的消息类型、行为,用于switch条件判断等。。 orgData: data.data, params: { sorgid: 1, isShow: params.arg11, showNum: 'false', shownum: 25 }, client: { browser: WeaTools.ua.browser, browserVersion: { browser: WeaTools.ua.browser, version: parseInt(WeaTools.ua.version) }, version: parseInt(WeaTools.ua.version), os: WeaTools.ua.os } }; const sendMsg = setInterval(() => { if ($('#orgChartFrame')[0] != null) { clearInterval(sendMsg); $('#orgChartFrame')[0].contentWindow.postMessage(msgData, '*'); } }, 500); // this.iframe && this.iframe.contentWindow.postMessage(msgData, '*'); } else { this.spinning = false; } }, error => { this.spinning = false; }) } }