The start time and end time of the PWC oa process form are limited to this week and cannot cross months

This time, the start time and end time in the main table are limited to this week and cannot cross months. Insert picture description here
If there is a cross month, a "cross month" prompt will pop up, and the currently selected date will be cleared
Insert picture description here

<script type="text/javascript">
jQuery(document).ready(function(){
	var beginDate = jQuery("#field23020");//主表计划开始时间
	var beginDatespan = jQuery("#field23020span");
	var endDate = jQuery("#field23021");//计划结束时间
    var endDatespan = jQuery("#field23021span");
	var requestId= jQuery("input[name='requestid']");
	var flag = true;
	var currentDate = beginDate.val();//获取时间
	var spanhtml = '<img align=absMiddle src="/images/BacoError.gif">';//必填的红色感叹号
	beginDate.bindPropertyChange(function(){//开始时间的改变事件
		if(flag){
			if(beginDate.val() != ""){
				if(currentDate != beginDate.val()){
					executing();//调用executing方法
				}
			}
		}
	});
	function executing(){

		jQuery.ajax({
			url:"/BL/WeeklyPayment.jsp",//该jsp文件内容,详见下面附件
			dataType:"json",
			data:{"date":beginDate.val(),"creater":creater.val(),"requestId": requestId.val()},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
 				alert("数据传输错误,错误信息:"+textStatus+";请联系系统管理员!");
 			},
 			success:function(result){
				flag = false;
                var date = new Date(beginDate.val());//调用事件函数。
                //时间限制在本周
 				beginDate.val(result.monday);
 				beginDatespan.text(result.monday);
 				endDate.val(result.saturday);
 				endDatespan.text(result.saturday);
 				currentDate = beginDate.val();
                var num = parseInt(currentDate.substring(3).substring(3).substring(2));//获取到多少号之后,转换成数字形式。转换形式详见 [Js 字符串中截取相应数字](https://blog.csdn.net/Y_6155/article/details/105785992)
                var zhou=date.getDay()-1;//一周中的星期几
                var  day=(num-zhou+9); 
				if(day>30){//判断,如果出先跨月则清空数据
					alert("出现跨月");
					//清空数据
 					beginDate.val("");
 					beginDatespan.html(spanhtml);
 					endDate.val("");
 					endDatespan.text("");
				}
 				flag = true;
 			}
		});
	}
	function clear(groupid) {
		var ids = jQuery("[name='check_node_"+groupid+"']");
		if(ids.length < 1)return;
		for(i=0; i<ids.length; i++) {
			jQuery(ids[i]).attr('checked',true);
		}
		deleteRow0(groupid);
		//好像deleteRow方法好像不清空indexnum 导致更换数据有问题 手动清理
		indexnum.val(0);
	}

});

</script>

WeeklyPayment.jsp attachment

<%@ page import="java.text.*" %>
<%@ page import="java.util.*" %>
<%@ page import="org.json.*" %>
<%@ page import="java.util.regex.Matcher" %>
<%@ page import="java.util.regex.Pattern" %>
<%@page import="weaver.general.Util"%>
<jsp:useBean id="RecordSet2" class="weaver.conn.RecordSet" scope="page" />
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%
	String dateStr = Util.null2String(request.getParameter("date"));
	String creater = Util.null2String(request.getParameter("creater"));
	int requestId = Util.getIntValue(request.getParameter("requestId"), 0);
	JSONObject jsb = new JSONObject();
	SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
	//获取calendar相关信息
	Date date = sd.parse(dateStr);
	Calendar cal = Calendar.getInstance();
	cal.setTime(date);
	//查询日期所在周的开始时期
	cal.add(Calendar.DATE,-cal.get(Calendar.DAY_OF_WEEK)+1);
	String firstDate = sd.format(cal.getTime());
	cal.add(Calendar.DATE,6);
	String lastDate = sd.format(cal.getTime());
	//回复原来的日期
	cal.setTime(date);
	//设置一周的第一天为星期一
	cal.setFirstDayOfWeek(Calendar.MONDAY);
	int day = cal.get(Calendar.DAY_OF_WEEK);
	cal.add(Calendar.DATE, cal.getFirstDayOfWeek()-day);
	String monday = sd.format(cal.getTime());
	//星期六的日期
	cal.add(Calendar.DATE,5);
	String saturday = sd.format(cal.getTime());
	jsb.put("monday",monday);
	jsb.put("saturday",saturday);
	String sql = "select * from formtable_main_514 where begindate = '"+monday+"' ";
	RecordSet2.executeSql(sql);
	jsb.put("exist",false);
	out.print(jsb);
%>

If necessary, please contact WeChat: hdyi1997 At the same time, please explain your intention and make progress together! ! !

Guess you like

Origin blog.csdn.net/Y_6155/article/details/105786933