【无标题】

'editingEmployee' : function(newVal, oldVal) {
            console.log(newVal)
            // this.employeeHistory = newVal.employeeHistory
            // console.log(newVal.employeeHistory);
            this.employeeHistory = []
            let channel = -1;
            if (newVal.employeeHistory != undefined) {
                newVal.employeeHistory.forEach((eachData, index) => {
                    // if (eachData.verifystatus === 0 || eachData.verifystatus == 1 && eachData.channel != channel) {
                    if (eachData.channel != channel && eachData.verifystatus != 2 && eachData.verifystatus != 9) {
                        channel = eachData.channel;
                        if (eachData.retireDate != '' && eachData.retireDate != null && eachData.retireDate != undefined) {
                            eachData.endDate = eachData.retireDate
                        } else {
                            if (index === 0 || this.employeeHistory.length === 0) {
                                eachData.endDate = ''
                            } else {
                                // let dateTem = new Date(newVal.employeeHistory[index-1].employDate);
                                let dateTem = new Date(this.employeeHistory[this.employeeHistory.length-1].employDate);
                                dateTem.setTime(dateTem.getTime()-24*60*60*1000);
                                eachData.endDate = dateTem;
                            }
                        }
                        this.employeeHistory.push(eachData);
                    }
                });
            }

这段代码定义了一个名为 editingEmployee 的函数,它接收两个参数:newValoldVal。这个函数的目的是处理员工的历史记录,并将其存储在 this.employeeHistory 数组中。以下是代码的详细解释:

  1. console.log(newVal): 打印出传入的 newVal 对象,这通常用于调试目的,以便查看 newVal 的内容。

  2. this.employeeHistory = []: 初始化 this.employeeHistory 为空数组,这意味着开始时没有任何员工历史记录。

  3. let channel = -1;: 定义一个变量 channel 并初始化为 -1,这个变量可能用于追踪不同的渠道或部门。

  4. if (newVal.employeeHistory != undefined) { ... }: 检查 newVal 对象是否有一个名为 employeeHistory 的属性,并且这个属性不是 undefined

  5. newVal.employeeHistory.forEach((eachData, index) => { ... }): 如果 employeeHistory 存在,使用 forEach 方法遍历 employeeHistory 数组中的每个元素(每个员工的记录)。

  6. if (eachData.channel != channel && eachData.verifystatus != 2 && eachData.verifystatus != 9) { ... }: 对于每个员工记录,检查当前记录的渠道是否与之前记录的不同,并且验证状态不是 29。这可能是为了排除某些特定的记录,例如已经退休或无效的员工记录。

  7. channel = eachData.channel;: 如果条件满足,更新 channel 变量为当前记录的渠道。

  8. if (eachData.retireDate != '' && eachData.retireDate != null && eachData.retireDate != undefined) { ... }: 检查员工的退休日期是否存在且有效。

  9. eachData.endDate = eachData.retireDate: 如果员工有退休日期,则将该日期设置为员工的结束日期。

  10. else { ... }: 如果员工没有退休日期,那么需要计算结束日期。

  11. if (index === 0 || this.employeeHistory.length === 0) { eachData.endDate = '' }: 如果这是第一个记录或者 employeeHistory 数组为空,则设置结束日期为空字符串。

  12. else { ... }: 如果不是第一个记录,计算上一个记录的雇佣日期减去一天作为当前记录的结束日期。

  13. eachData.endDate = dateTem;: 将计算出的结束日期赋值给当前员工的记录。

  14. this.employeeHistory.push(eachData);: 将处理后的员工记录添加到 employeeHistory 数组中。

整体来看,这个函数的目的是清理和整理员工的历史记录,确保每个记录都有正确的结束日期,并且只包含有效的员工记录。这可能是在一个员工信息管理系统中使用,以确保历史数据的准确性和一致性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@阿猫阿狗~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值