element 日期插件开始结束区域限制 场景新员工转正

2023-10-29 21:30

本文主要是介绍element 日期插件开始结束区域限制 场景新员工转正,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

规则 提前转正1-2个月内 

正常转正3个月 

延迟转正4-6个月

限制3种状态根据入职日期判断转正生效时间  15号以前算一个月 超过15号不算满一个月    每个月1号生效

<el-radio-group  v-model="form.turnPositiveType" @change="typeChange" >
                    <el-radio  label="1" >${@m.lang('bs.Betheformal')}</el-radio>
                    <el-radio  label="2" >${@m.lang('bs.Betheformalemployee')}</el-radio>
                    <el-radio  label="3" >${@m.lang('bs.Delaytheprobation')}</el-radio>
</el-radio-group>

<el-form-item label="转正生效日期">
                    <el-date-picker
                            :picker-options="pickerOptions"
                            v-model="form.effectiveTime"
                            type="month"
                            :editable="false"
                            format="yyyy-MM"
                            value-format="yyyy-MM-dd"
                            placeholder="转正生效日期">
                    </el-date-picker>
 </el-form-item>

1.提前转正

2.正常转正

3.延迟转正

js实现

pickerOptions: {
            disabledDate(time) {
                var now= new Date(vm.form.dateOfEntry);
                var minYear  = now.getFullYear();
                var maxYear  = now.getFullYear();
                var day = now.getDate(); 
                var flag=true;//禁用
                if (vm.form.turnPositiveType==1) {  //如果提前转正
                         var minMonth = now.getMonth()+2;
                         var maxMonth = now.getMonth()+3;
                         if(day>15){
                             var minMonth = minMonth+1;
                             var maxMonth = maxMonth+1; 
                         }
                         if(minMonth>12){
                             minYear=minYear+1;
                             minMonth=minMonth-12;
                         }
                         if(maxMonth>12){
                             maxYear=maxYear+1;
                             maxMonth=maxMonth-12;
                         }
                         if(new Date(minYear+'-'+minMonth).getTime()<new Date(time).getTime()&&new Date(maxYear+'-'+maxMonth).getTime()>=new Date(time).getTime()){
                             flag=false;
                         }
                 }else if(vm.form.turnPositiveType==2) {//如果正常转正
                        var minMonth = now.getMonth()+4;
                         if(day>15){
                             var minMonth = minMonth+1;
                         }
                         if(minMonth>12){
                             minYear=minYear+1;
                             minMonth=minMonth-12;
                         }
                         if(minMonth==new Date(time).getMonth()+1&&minYear==new Date(time).getFullYear()){
                             flag=false;
                         }
                  }else if(vm.form.turnPositiveType==3) {//如果延迟转正 最多6个月 
                          var minMonth = now.getMonth()+5;
                         var maxMonth = now.getMonth()+7;
                         if(day>15){
                             var minMonth = minMonth+1;
                             var maxMonth = maxMonth+1;
                         }
                         if(minMonth>12){
                             minYear=minYear+1;
                             minMonth=minMonth-12;
                         }
                         if(maxMonth>12){
                             maxYear=maxYear+1;
                             maxMonth=maxMonth-12;
                         }
                         if(new Date(minYear+'-'+minMonth).getTime()<new Date(time).getTime()&&new Date(maxYear+'-'+maxMonth).getTime()>=new Date(time).getTime()){
                             flag=false;
                         }
                  }
                return flag;
            }
        }

这篇关于element 日期插件开始结束区域限制 场景新员工转正的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/303465

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

springboot日期格式化全局LocalDateTime详解

《springboot日期格式化全局LocalDateTime详解》文章主要分析了SpringBoot中ObjectMapper对象的序列化和反序列化过程,并具体探讨了日期格式化问题,通过分析Spri... 目录分析ObjectMapper与jsonSerializer结论自定义日期格式(全局)扩展利用配置

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W