2022-09-16 18:11:28 +08:00
|
|
|
import { observable, action, toJS } from "mobx";
|
|
|
|
|
import isEmpty from 'lodash/isEmpty'
|
|
|
|
|
import { Modal, message } from "antd";
|
|
|
|
|
import { i18n } from "../public/i18n";
|
|
|
|
|
import forEach from 'lodash/forEach'
|
|
|
|
|
import * as Api from '../apis/resourceCard'; // 引入API接口文件
|
|
|
|
|
|
|
|
|
|
|
2022-09-20 14:15:13 +08:00
|
|
|
export class ResourceCardStore {
|
2022-10-18 13:58:48 +08:00
|
|
|
@observable userid = '';
|
2022-09-22 18:55:14 +08:00
|
|
|
@observable height = 2000;
|
2022-10-18 13:58:48 +08:00
|
|
|
@observable scrollLoading = false;
|
2022-09-22 18:55:14 +08:00
|
|
|
@observable offset = 20;
|
|
|
|
|
@observable overtime = 1000;
|
|
|
|
|
@observable intervalTime = 500;
|
2022-10-18 13:58:48 +08:00
|
|
|
@observable data = {};
|
|
|
|
|
@observable detectElements = [] // 受监控元素,可能存在空项
|
|
|
|
|
@observable flag = true; // 点击Anchor菜单项,不执行监听滚动事件
|
2022-09-22 18:55:14 +08:00
|
|
|
|
|
|
|
|
@action("初始化") init = () => {
|
2022-10-18 13:58:48 +08:00
|
|
|
//const { userid } = JSON.parse(localStorage.getItem("theme-account"));
|
|
|
|
|
this.getCardData();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@action("获取卡片信息") getCardData = () => {
|
|
|
|
|
Api.getCardData(this.userid).then((res) => {
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
this.setData(res.data)
|
|
|
|
|
this.buildDetectElements(res.data); //生成受监控元素
|
|
|
|
|
} else {
|
|
|
|
|
message.warning(res.msg);
|
|
|
|
|
}
|
|
|
|
|
}, error => {
|
|
|
|
|
message.warning(error.msg);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
buildDetectElements = (data) => {
|
|
|
|
|
!this.isEmptyObject(data) && data.anchorList.map((item, index) => {
|
|
|
|
|
item.activity = index;
|
|
|
|
|
item.offset = document.getElementById(item.id).offsetTop + document.getElementById(item.id).clientHeight;
|
|
|
|
|
})
|
|
|
|
|
this.setDetectElements(data.anchorList);
|
|
|
|
|
}
|
2022-09-22 18:55:14 +08:00
|
|
|
|
2022-10-18 13:58:48 +08:00
|
|
|
isEmptyObject(obj) {
|
|
|
|
|
for (let key in obj) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return true;
|
2022-09-22 18:55:14 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2022-10-18 13:58:48 +08:00
|
|
|
setData(value){
|
|
|
|
|
this.data = value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setDetectElements(value) {
|
|
|
|
|
this.detectElements = value;
|
|
|
|
|
}
|
2022-09-22 18:55:14 +08:00
|
|
|
/************** json数据*****************/
|
2022-10-18 13:58:48 +08:00
|
|
|
// @observable data = {
|
|
|
|
|
// user: {
|
|
|
|
|
// id:23,
|
|
|
|
|
// image: "",
|
|
|
|
|
// name: "萧言",
|
|
|
|
|
// sex:"0",
|
|
|
|
|
// email: "1546584672@qq.com",
|
|
|
|
|
// phone: "18822349878",
|
|
|
|
|
// belongTo: "主账号",
|
|
|
|
|
// status: "正式"
|
|
|
|
|
// },
|
|
|
|
|
// statistical: {
|
|
|
|
|
// workflowCount:190,
|
|
|
|
|
// docCount:134,
|
|
|
|
|
// cusCount:28,
|
|
|
|
|
// collaborationCount:28,
|
|
|
|
|
// weiboCount:166
|
|
|
|
|
// },
|
|
|
|
|
// formItems:[
|
|
|
|
|
// {
|
|
|
|
|
// id:'userInfo',
|
|
|
|
|
// title:'员工信息',
|
|
|
|
|
// items:[
|
|
|
|
|
// {
|
|
|
|
|
// fieldId:'姓名',
|
|
|
|
|
// fieldValue:'萧言'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'性别',
|
|
|
|
|
// fieldValue:'男'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'出生日期',
|
|
|
|
|
// fieldValue:'1987年9月1日'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'个人邮箱',
|
|
|
|
|
// fieldValue:'1546875925@qq.com'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'电话号码',
|
|
|
|
|
// fieldValue:'18925689752'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'岗位级别',
|
|
|
|
|
// fieldValue:'-'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'职务信息',
|
|
|
|
|
// fieldValue:'产品运营'
|
|
|
|
|
// }
|
|
|
|
|
// ]
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// id:'workInfo',
|
|
|
|
|
// title:'工作信息',
|
|
|
|
|
// items:[
|
|
|
|
|
// {
|
|
|
|
|
// fieldId:'姓名',
|
|
|
|
|
// fieldValue:'萧言'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'性别',
|
|
|
|
|
// fieldValue:'男'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'出生日期',
|
|
|
|
|
// fieldValue:'1987年9月1日'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'个人邮箱',
|
|
|
|
|
// fieldValue:'1546875925@qq.com'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'姓名',
|
|
|
|
|
// fieldValue:'萧言'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'性别',
|
|
|
|
|
// fieldValue:'男'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'出生日期',
|
|
|
|
|
// fieldValue:'1987年9月1日'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'个人邮箱',
|
|
|
|
|
// fieldValue:'1546875925@qq.com'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'姓名',
|
|
|
|
|
// fieldValue:'萧言'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'性别',
|
|
|
|
|
// fieldValue:'男'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'出生日期',
|
|
|
|
|
// fieldValue:'1987年9月1日'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'个人邮箱',
|
|
|
|
|
// fieldValue:'1546875925@qq.com'
|
|
|
|
|
// }
|
|
|
|
|
// ]
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// id:'educationInfo',
|
|
|
|
|
// title:'教育经历',
|
|
|
|
|
// items:[
|
|
|
|
|
// {
|
|
|
|
|
// fieldId:'本科',
|
|
|
|
|
// fieldValue:'南京大学'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'研究生',
|
|
|
|
|
// fieldValue:'北京大学'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'毕业时间',
|
|
|
|
|
// fieldValue:'1987-09-21'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'获得奖项',
|
|
|
|
|
// fieldValue:'优秀毕业生'
|
|
|
|
|
// },{
|
|
|
|
|
// fieldId:'备注',
|
|
|
|
|
// fieldValue:'无'
|
|
|
|
|
// }
|
|
|
|
|
// ]
|
|
|
|
|
// }
|
|
|
|
|
// ],
|
|
|
|
|
// anchorList:[
|
|
|
|
|
// {
|
|
|
|
|
// id:'userInfo',
|
|
|
|
|
// title:'员工信息'
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// id:'workInfo',
|
|
|
|
|
// title:'工作信息'
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// id:'educationInfo',
|
|
|
|
|
// title:'教育经历'
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// id:'comp',
|
|
|
|
|
// title:'分部扩展页'
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// id:'dept',
|
|
|
|
|
// title:'部门扩展页'
|
|
|
|
|
// }
|
|
|
|
|
|
2022-09-27 17:50:56 +08:00
|
|
|
|
2022-10-18 13:58:48 +08:00
|
|
|
// ],
|
|
|
|
|
// iframeList: [
|
|
|
|
|
// {
|
|
|
|
|
// id:"comp",
|
|
|
|
|
// title:"分部管理",
|
|
|
|
|
// url:'/spa/organization/static/index.html#/main/organization/companyExtend/7'
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// id:"dept",
|
|
|
|
|
// title:"部门管理",
|
|
|
|
|
// url:'/spa/organization/static/index.html#/main/organization/company'
|
|
|
|
|
// },
|
|
|
|
|
// ]
|
2022-09-22 18:55:14 +08:00
|
|
|
|
2022-10-18 13:58:48 +08:00
|
|
|
// }
|
2022-09-22 18:55:14 +08:00
|
|
|
|
2022-09-16 18:11:28 +08:00
|
|
|
}
|