首页 > 应用开发 > IT综合 > 快速实现考核评分功能
在系统上实现考核评分功能(具体字段如下图Excel),包括自评+他评,自动算出总分。
在白码低代码开发平台上准备相关数据表,考核内容、绩效考核、考核明细、他人评分记录;
其中考核内容的表用于存放需要考核的内容,需提前录入数据;
1、先做自评功能,新增一个功能,新增绩效考核(新增自评);
①新增数据,新增绩效考核表;
②获取集合,获取数据库中存放好的考核内容;
③新增集合,通过获取到的考核内容新增本次绩效考核的考核明细,其中用户需要自己选择各明细的自我评分;
④预处理,用于隐藏上一个步骤的删除按钮;
function prepare($programStore, $form, vue) {
//获取列表步骤
let view = $programStore.getters["view/getView"]("60bee8836fd6373a141dcc35");
//取消移除按钮
view.getTableStore().dispatch("plugin/disable", { type: "extend", key: "remove" });
}
⑤关联获取数据,合计自评总分;
至此,自评的功能就做好了,测试效果:
2、接下来就要做给他人评分的功能;
①选择数据,选择要评分的绩效考核数据;
②获取集合,获取考核明细;
③关联获取集合,获取上一步的考核明细,并填写评分值;
④预处理,同理,隐藏集合步骤的删除按钮;
代码跟上一个功能同理;
⑤新增集合,根据上一步集合数据新增他人评分记录;
⑥编程,通过调用功能的方式,重新计算每个考核明细的“他评平均分”;(此功能下文会描述)
async function runProcess($model = model, $plugin = plugin, $params = params) {
let list = await $params.list;//考核明细
for (let i = 0; i < list.length; i++) {
//清空他人评分
await $plugin.data.updateData("60bee9e69544873a11ac2588",list[i]._id,{
"60c1d5f509dc437ff18eea97":""
});
//计算平均分
//调用功能:计算考核明细平均分
await $plugin.program.exec("60c1e46732af6d7ffe2114cd",{
"60c1e46a32af6d7ffe2114cf":{
_id:list[i]._id
}
});
}
}
⑦获取集合,重新获取考核明细,此处重新获取的数据是计算完“他评平均分”的数据,获取后重新评分;
⑧关联获取数据,获取绩效考核数据,合计他评平均分;
至此,给他人评分的功能就做好了,接下来要做计算平均分的功能;
3、计算平均分功能;
①选择数据,选择要计算的考核明细;
②关联获取集合,获取这个考核明细全部的评分记录;
③关联获取数据,获取选择的考核明细,计算他评平均分;
至此,计算考核明细的平均分的功能就做好了;
给他人评分功能的测试效果如下:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69981618/viewspace-2776961/ ,如需转载,请注明出处,否则将追究法律责任。