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

相关文章

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Java中Runnable和Callable的区别和联系及使用场景

《Java中Runnable和Callable的区别和联系及使用场景》Java多线程有两个重要的接口,Runnable和Callable,分别提供一个run方法和call方法,二者是有较大差异的,本文... 目录一、Runnable使用场景二、Callable的使用场景三、关于Future和FutureTa

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

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. 为