泛微oa流程表单之开始时间与结束时间限制在本周且不能跨月

本次是主表中开始时间和结束时间限制在本周且不能跨月。在这里插入图片描述
如果出现跨月会弹出一个“出现跨月”的提示,并且清空当前所选日期
在这里插入图片描述

<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 附件

<%@ 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);
%>

可以加QQ群,和志同道合的朋友相互学习

QQ群号:627815776

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 泛微oa是一种非常常用的办公自动化系统,可以帮助公司和组织实现业务流程的规范化、自动化和电子化。其中流程表单创建是非常重要的一环,可以通过以下步骤完成: 1. 登录泛微oa系统并打开流程设置界面 2. 选择表单设计器并创建新的表单 3. 设置表单名称、表单视图和相关字段等信息 4. 根据业务需要,使用表单设计器进行表单的设计和布局 5. 保存表单并发布,使得其他用户可以访问和使用该表单 在完成表单设计后,我们可以使用相关的接口对该表单进行进一步的操作和调用,例如: 1. 使用流程相关接口获取已提交的表单数据,并进行处理和存储 2. 通过接口进行审批操作,例如同意、驳回等 3. 使用表单查看接口查询、导出或打印已提交的表单数据 4. 在其他系统中调用表单接口以实现数据传递和共享 以上是泛微oa流程表单创建及相关接口调用的一些基本步骤和操作方法,需要根据实际业务需求进行具体的调整和实现。同时,我们也需要注意系统的安全性和可靠性,确保数据的准确性和保密性。 ### 回答2: 泛微OA是世界领先的企业级应用软件提供商,其提供全面的办公自动化解决方案。在泛微OA中,流程表单是企业信息化建设中的重要组成部分,用于承载各种业务流程和数据,能够帮助企业实现信息化的全面提升。 泛微OA流程表单的创建是指企业管理员根据业务需求,使用表单设计器等工具创建公司所需的流程表单,包括设计表单布局、字段属性、审批流程、数据导入等,以满足企业日常的审批、审批、报销等业务需求。表单设计器可以直接在浏览器中进行设计和修改,具有简单易用,功能全面的特点,使得企业管理员能够快速地创建所需的表单泛微OA同时还提供了一系列的API接口,帮助企业对流程表单进行管理和调用。这些API接口包括表单存储接口、缓存接口、发布接口、查询接口、导出接口、导入接口等,能够满足企业各类数据管理和业务流程的操作需求。企业开发人员可以通过调用这些API接口,实现对流程表单的管控和使用,使得系统与企业其他应用系统的集成更加方便。同时,泛微OA还提供了详尽的API文档和开发手册,使得开发人员在进行API接口调用时,能够快速地进行开发和调试,提高了开发效率和质量。 综上所述,泛微OA流程表单的创建和相关接口调用,是企业信息化建设中的重要环节,能够帮助企业提高工作效率,加快业务流程的处理速度和准确度,实现企业数字化转型。 ### 回答3: 泛微OA是一款企业级的办公自动化系统,可以帮助企业将日常的业务流程进行数字化管理。在泛微OA中,可以通过表单创建流程,而流程则可以通过相关接口调用实现自动化处理。 泛微OA表单创建功能相对比较简单,用户可以通过系统提供的表单设计器进行创建。在表单设计界面中,用户可以根据业务需求添加各种控件和字段。同时,泛微OA也提供了一些常用的表单模板,用户可以直接选择相应的模板进行创建。表单创建完成后,用户需要进行流程设计。 在流程设计中,用户可以根据业务需求设计各个节点,并设置节点的处理人和流转规则。设计完成后,系统会自动生成相应的流程模板。在流程流转中,可以通过相关接口调用实现自动处理。 泛微OA提供了一系列的接口,包括Web Service、RESTful API、OA协议等。用户可以根据实际需求选择相应的接口进行调用。例如,用户可以通过接口实现对流程的发起、终止、暂停、恢复等操作。同时,用户还可以通过接口获取流程的当前状态、处理记录、评审意见等数据。 需要注意的是,使用接口进行流程处理需要具备一定的开发能力和相关技术背景。如果企业没有专门的开发团队,建议寻求泛微OA的合作伙伴进行定制化开发和技术支持。同时,企业也可以参考泛微OA提供的开发文档和示例代码,自行开发所需的业务应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值