ITPub博客

首页 > 应用开发 > IT综合 > 快速实现考核评分功能

快速实现考核评分功能

原创 IT综合 作者:Sen666 时间:2021-06-16 15:55:37 0 删除 编辑

场景:

在系统上实现考核评分功能(具体字段如下图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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-08-13

  • 博文量
    44
  • 访问量
    23869