return data.filter(function (item) {
return item.职级 === '';
})
区县分析:
//一级指标
const t = Object.values(data.reduce((acc, cur) => {
if (!acc[cur.二级指标名称]) {
acc[cur.二级指标名称] = {
'二级指标名称': cur.二级指标名称,
coreSum: cur.得分 * cur.三级指标权重,
v: cur.三级指标权重,
};
} else {
acc[cur.二级指标名称].coreSum += cur.得分 * cur.三级指标权重;
}
return acc;
}, {}));
t.forEach(item => {
item.value = (item.coreSum).toFixed(2);
item.name = '团队'
});
return t;
--------------------------------------------------------------------------------------------------
const tmp = [
{
"二级指标名称": "目标发展性",
"value": 9,
"name": "优秀"
},
{
"二级指标名称": "职能明确度",
"value": 9,
"name": "优秀"
},
{
"二级指标名称": "人岗匹配度",
"value": 9,
"name": "优秀"
},
{
"二级指标名称": "结构合理度",
"value": 9,
"name": "优秀"
},
{
"二级指标名称": "团队契合度",
"value": 9,
"name": "优秀"
},
{
"二级指标名称": "目标发展性",
"value": 7.5,
"name": "良"
},
{
"二级指标名称": "职能明确度",
"value": 7.5,
"name": "良"
},
{
"二级指标名称": "人岗匹配度",
"value": 7.5,
"name": "良"
},
{
"二级指标名称": "结构合理度",
"value": 7.5,
"name": "良"
},
{
"二级指标名称": "团队契合度",
"value": 7.5,
"name": "良"
},
{
"二级指标名称": "目标发展性",
"value": 6,
"name": "合格"
},
{
"二级指标名称": "职能明确度",
"value": 6,
"name": "合格"
},
{
"二级指标名称": "人岗匹配度",
"value": 6,
"name": "合格"
},
{
"二级指标名称": "结构合理度",
"value": 6,
"name": "合格"
},
{
"二级指标名称": "团队契合度",
"value": 6,
"name": "合格"
}
];
return tmp.concat(data);
//二级指标
const tmp = [
{
"三级指标名称": "目标规划力",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "目标认同度",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "组织特征匹配度",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "职数完备性",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "职责明确性",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "分工合理性",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "经历契合度",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "资历匹配度",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "能力匹配度",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "年龄合理性",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "专业互补性",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "来源多元化",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "角色契合度",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "价值观同向性",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "团队协同性",
"得分": 9,
"公司": "优秀"
},
{
"三级指标名称": "目标规划力",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "目标认同度",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "组织特征匹配度",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "职数完备性",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "职责明确性",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "分工合理性",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "经历契合度",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "资历匹配度",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "能力匹配度",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "年龄合理性",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "专业互补性",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "来源多元化",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "角色契合度",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "价值观同向性",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "团队协同性",
"得分": 7.5,
"公司": "良"
},
{
"三级指标名称": "目标规划力",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "目标认同度",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "组织特征匹配度",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "职数完备性",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "职责明确性",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "分工合理性",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "经历契合度",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "资历匹配度",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "能力匹配度",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "年龄合理性",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "专业互补性",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "来源多元化",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "角色契合度",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "价值观同向性",
"得分": 6,
"公司": "合格"
},
{
"三级指标名称": "团队协同性",
"得分": 6,
"公司": "合格"
},
];
return tmp.concat(data);
//平均年龄
let num = 0;
data.filter(function (item) {
return num += item.年龄;
});
var age = num / data.length;
age = Math.round(age);
return [{ 'value': '平均:' + age + '岁' }];
//劣势
data.sort((a, b) => a.得分 - b.得分);
return [data.slice(0, 3)[0]]
人才对比
//后备人才过滤
return data.filter(function (item) {
if (getCallbackValue('level') === '副科级') {
return item.职级 === getCallbackValue('level');
} else {
return item.职级 === getCallbackValue('level') || item.职级 === '副股级';
}
})
//人才库(取前五)
let level1 = [];
let level2 = [];
let level3 = [];
data.map(item => {
if (item.是否人才库 == 1) {
level1.push(item);
}
if (item.是否人才库 == 2) {
level2.push(item);
}
if (item.是否人才库 == 3) {
level3.push(item);
}
})
level1.sort((a, b) => b.素能得分 - a.素能得分);
level2.sort((a, b) => b.素能得分 - a.素能得分);
level3.sort((a, b) => b.素能得分 - a.素能得分);
let allLevel = level1.concat(level2.concat(level3))
let newArr = []
if (allLevel.length > 5) {
newArr = allLevel.splice(0, 5)
} else {
newArr = allLevel
}
return [newArr]
个人画像
1.//通过编码过滤
return data.filter(function (item) {
return item.员工编号 == getCallbackValue('code');
})
2.//通过人名过滤
//多行文本存入
this.personName = data[0].姓名
//其他组件取出
return data.filter(item => {
return item.姓名 === this.window.personName
})
3.//任现职时间(2021/01/01转具体多少年)
function calculateWorkOfYears(startDate) {
const startWorkTimestamp = new Date(startDate).getTime();
const currentTimestamp = new Date().getTime();
const workOfYears = (currentTimestamp - startWorkTimestamp) / (1000 * 60 * 60 * 24 * 365);
return Math.floor(workOfYears);
};
data.forEach(item => {
item.years = calculateWorkOfYears(item['任现职时间']) + '年';
});
return data;
4.担责任雷达图
return data.filter(function (item) {
return item.判断条件 == 0;
})
//担责任模拟数据
const tmp = [
{
"二级指标": "高质量考核",
"得分": 15,
"姓名": "优秀"
},
{
"二级指标": "员工敬业度评价",
"得分": 8,
"姓名": "优秀"
},
{
"二级指标": "多单位历练",
"得分": 20,
"姓名": "优秀"
},
{
"二级指标": "履职经历",
"得分": 28,
"姓名": "优秀"
},
{
"二级指标": "年龄",
"得分": 5,
"姓名": "优秀"
},
{
"二级指标": "学历",
"得分": 5,
"姓名": "优秀"
},
{
"二级指标": "职称/专业资质",
"得分": 5,
"姓名": "优秀"
},
{
"二级指标": "高质量考核",
"得分": 10,
"姓名": "良"
},
{
"二级指标": "员工敬业度评价",
"得分": 6,
"姓名": "良"
},
{
"二级指标": "多单位历练",
"得分": 15,
"姓名": "良"
},
{
"二级指标": "履职经历",
"得分": 21,
"姓名": "良"
},
{
"二级指标": "年龄",
"得分": 3,
"姓名": "良"
},
{
"二级指标": "学历",
"得分": 3,
"姓名": "良"
},
{
"二级指标": "职称/专业资质",
"得分": 4,
"姓名": "良"
},
{
"二级指标": "高质量考核",
"得分": 5,
"姓名": "合格"
},
{
"二级指标": "员工敬业度评价",
"得分": 3,
"姓名": "合格"
},
{
"二级指标": "多单位历练",
"得分": 10,
"姓名": "合格"
},
{
"二级指标": "履职经历",
"得分": 12,
"姓名": "合格"
},
{
"二级指标": "年龄",
"得分": 1,
"姓名": "合格"
},
{
"二级指标": "学历",
"得分": 1,
"姓名": "合格"
},
{
"二级指标": "职称/专业资质",
"得分": 3,
"姓名": "合格"
},
];
return tmp.concat(data);
//提素能模拟数据
const tmp = [
{
"二级指标": "创新能力",
"得分": 80,
"姓名": "优秀"
},
{
"二级指标": "学习能力",
"得分": 80,
"姓名": "优秀"
},
{
"二级指标": "问题解决",
"得分": 80,
"姓名": "优秀"
},
{
"二级指标": "执行力",
"得分": 80,
"姓名": "优秀"
},
{
"二级指标": "勇敢担当",
"得分": 80,
"姓名": "优秀"
},
{
"二级指标": "计划管控",
"得分": 80,
"姓名": "优秀"
},
{
"二级指标": "影响说服",
"得分": 80,
"姓名": "优秀"
},
{
"二级指标": "全局意识",
"得分": 80,
"姓名": "优秀"
},
{
"二级指标": "关系管理",
"得分": 80,
"姓名": "优秀"
},
{
"二级指标": "管理能力",
"得分": 80,
"姓名": "优秀"
},
{
"二级指标": "创新能力",
"得分": 70,
"姓名": "良"
},
{
"二级指标": "学习能力",
"得分": 70,
"姓名": "良"
},
{
"二级指标": "问题解决",
"得分": 70,
"姓名": "良"
},
{
"二级指标": "执行力",
"得分": 70,
"姓名": "良"
},
{
"二级指标": "勇敢担当",
"得分": 70,
"姓名": "良"
},
{
"二级指标": "计划管控",
"得分": 70,
"姓名": "良"
},
{
"二级指标": "影响说服",
"得分": 70,
"姓名": "良"
},
{
"二级指标": "全局意识",
"得分": 70,
"姓名": "良"
},
{
"二级指标": "关系管理",
"得分": 70,
"姓名": "良"
},
{
"二级指标": "管理能力",
"得分": 70,
"姓名": "良"
},
{
"二级指标": "创新能力",
"得分": 60,
"姓名": "合格"
},
{
"二级指标": "学习能力",
"得分": 60,
"姓名": "合格"
},
{
"二级指标": "问题解决",
"得分": 60,
"姓名": "合格"
},
{
"二级指标": "执行力",
"得分": 60,
"姓名": "合格"
},
{
"二级指标": "勇敢担当",
"得分": 60,
"姓名": "合格"
},
{
"二级指标": "计划管控",
"得分": 60,
"姓名": "合格"
},
{
"二级指标": "影响说服",
"得分": 60,
"姓名": "合格"
},
{
"二级指标": "全局意识",
"得分": 60,
"姓名": "合格"
},
{
"二级指标": "关系管理",
"得分": 60,
"姓名": "合格"
},
{
"二级指标": "管理能力",
"得分": 60,
"姓名": "合格"
},
];
return tmp.concat(data);
- 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践
1. 概述 数据服务(https://ds-cn-shanghai.data.aliyun.com) 是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟 ...
- 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践
1. 概述 数据服务(https://ds-cn-shanghai.data.aliyun.com) 是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟“ ...
- ASP.NET Core 中文文档 第四章 MVC(4.3)过滤器
原文:Filters 作者:Steve Smith 翻译:刘怡(AlexLEWIS) 校对:何镇汐 ASP.NET MVC 过滤器 可在执行管道的前后特定阶段执行代码.过滤器可以配置为全局有效.仅对控 ...
- ASP.NET Web API 过滤器创建、执行过程(二)
ASP.NET Web API 过滤器创建.执行过程(二) 前言 前面一篇中讲解了过滤器执行之前的创建,通过实现IFilterProvider注册到当前的HttpConfiguration里的服务容器 ...
- ASP.NET Web API 过滤器创建、执行过程(一)
ASP.NET Web API 过滤器创建.执行过程(一) 前言 在上一篇中我们讲到控制器的执行过程系列,这个系列要搁置一段时间了,因为在控制器执行的过程中包含的信息都是要单独的用一个系列来描述的,就 ...
- ABP(现代ASP.NET样板开发框架)系列之13、ABP领域层——数据过滤器(Data filters)
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之13.ABP领域层——数据过滤器(Data filters) ABP是“ASP.NET Boilerplate P ...
- AngularJS过滤器filter-时间日期格式-渲染日期格式-$filter
今天遇到了这些问题索性就 写篇文章吧 话不多说直接上栗子 不管任何是HTML格式还是JS格式必须要在 controller 里面写 // new Date() 获取当前时间 yyyy-MM-ddd ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(40)-精准在线人数统计实现-【过滤器+Cache】
系列目录 上次的探讨没有任何结果,我浏览了大量的文章和个别系统的参考!决定用Cache来做,这可能有点难以接受但是配合mvc过滤器来做效果非常好! 由于之前的过滤器我们用过了OnActionExecu ...
- Hawk 4.2 过滤器
过滤器可以在流中,过滤掉不符合条件的文档.当然也可勾选反向,此时只会留下不符合条件的文档. 空对象过滤器 最为常用,需要列名,可以过滤掉所有内容为Null,或字符串全部都是空字符的情况 数值范围过滤 ...
- 实现MVC自定义过滤器,自定义Area过滤器,自定义Controller,Action甚至是ViewData过滤器
MVC开发中几种以AOP方式实现的Filters是非常好用的,默认情况下,我们通过App_Start中的FilterConfig来实现的过滤器注册是全局的,也就是整个应用程序都会使用的,针对单独的Fi ...
- 代码质量审查工具之SonarQube8.9(LTS)与gitlab CI集成使用
官网地址: https://docs.sonarqube.org/8.9/analysis/scan/sonarscanner/ 目标:在push时自动触发GitLab CI/CD pipeline ...
- 终端工具之Tabby
我工作中用的最多的工具之一就是「终端连接工具」了,因为经常和 Linux 服务器打交道,经常在上面跑代码.排查系统问题等等. Windows 系统最常用的就是 Xshell 这款终端工具了,但是它只能 ...
- Django之model外键
外键和表关系 外键: 在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam.如果使用的是InnoDB引擎,是支持外键约束的.外键的存在使得ORM框架在处理表关系的时候异常的强大.因 ...
- 使用certbot申请免费SSL证书
现在网站使用https已经成为标配,但是SSL证书最便宜的DV证书也要几百块钱一年,对于个人开发者来说很不划算.好在,我们有Let's Encrypt,它是能提供免费的SSL证书,应该也是市面上使用最 ...
- geocodeCN:一个批量将地址转为地理坐标的插件
目录 1. 介绍 2. 使用步骤: 2.1 安装 2.2 配置 2.3 坐标匹配 2.4 生成图层 2.5 导出为CSV 3. 说明 1. 介绍 这是一个QGIS插件,主要用于批量地理编码,即将地址转 ...
- 题解:AT_abc382_c [ABC382C] Kaiten Sushi
题目传送门 思路 首先看一下数据范围. \(1 \leq N, M \leq 2 \times 10^5\) \(1 \leq A_i, B_i \leq 2 \times 10^5\) 这么大的数据 ...
- Coqui TTS合成语音
工具介绍 Coqui TTS是一个用于语音转文本的高性能深度学习模型库.提供1100种语言的预训练模型,提供训练新模型和微调已有模型的工具,提供数据集分析工具.XTTS-v2版本支持16种语言: En ...
- S2P销讯通-SFE人才对企业管理层至关重要
SFE这一概念,最初由外资企业引入,如今已逐渐被内资企业所采纳并融入其组织结构中,不少企业正积极构建这一部门. 1 我们观察到,近两年企业内对于SFE部门所需的人才需求急剧上升.这一部门,在外资企业中 ...
- ArkTs布局入门01——线性布局(Row/Column)
1.概述 布局指用特定的组件或者属性来管理用户页面所放置UI组件的大小和位置.组件按照布局的要求依次排列,构成应用的页面. 在声明式UI中,所有的页面都是由自定义组件构成,开发者可以根据自己的需求,选 ...
- 钉钉机器人发送信息shell
#钉钉机器人发送信息shell 可作为shell函数模块调用,用于监控警报.jenkins发版通知等 微信API官方文档 https://ding-doc.dingtalk.com/doc#/serv ...