<script type="text/javascript" src="js/jquery-1.2.6.pack.js"></script>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<script type='text/javascript' src='/s09-yxl3/dwr/interface/myjs.js'></script>
<script type='text/javascript' src='/s09-yxl3/dwr/engine.js'></script>
<script type='text/javascript' src='/s09-yxl3/dwr/util.js'></script>
<script type="text/javascript">
onload=function()
{
var pd="${param.idm}";
if(pd=="" || pd=="xx")
{
document.getElementById("zs").innerHTML = "秒后转到论坛";
jQuery("#zs").innerHTML="您正在进行添加...";
jQuery("#mxdiv").show();
jQuery("#xgdiv").hide();
myjs.getID(function(x){
jQuery("#id").val(x);
//时间截取
jQuery("#time").val(x.substring(2,6)+"-"+x.substring(6,8)+"-"+x.substring(8,10));
});
}
if(pd=="xg")
{
jQuery("#zs").val("您正在进行修改...");
jQuery("#mxdiv").hide();
jQuery("#xgdiv").show();
jQuery("#id").val("${dh}");
jQuery("#kh").val("${mc}");
jQuery("#yw").val("${yw}");
jQuery("#time").val("${time}");
}
}
</script>
<body>
<div id="zs">
</div>
<table>
<tr>
<td>
单号
</td>
<td>
<input type="text" id="id" name="id">
</td>
<td>
时间
</td>
<td>
<input type="text" id="time" name="time">
</td>
</tr>
<tr>
<td>
客户
</td>
<td>
<input type="text" id="kh" name="kh">
</td>
<td>
业务员
</td>
<td>
<input type="text" id="yw" name="yw">
</td>
</tr>
<tr>
<td colspan="4">
<input type="button" value="明细" onclick="jQuery('#mxdiv').show();jQuery('#bzdiv').hide()">
<input type="button" value="备注" onclick="jQuery('#bzdiv').show();jQuery('#mxdiv').hide()">
<input type="button" value="保存新增/保存修改" onclick="savesale()">
<input type="button" value="返回" onclick="fh()">
</td>
</tr>
</table>
<div id="bzdiv"
style="width: 500px; height: 200px; border: 1px solid blue;display: none;">
<textarea name="bz" id="bz" style="width: 100%; height: 100%"></textarea>
</div>
<div id="mxdiv">
<table>
<thead>
<tr>
<th>
序号
</th>
<th>
商品名称
</th>
<th>
商品数量
</th>
<th>
商品价格
</th>
<th>
商品总额
</th>
<th>
操作
</th>
</tr>
</thead>
<tbody id="t">
<tr>
<td></td>
<td>
<input type="text">
</td>
<td>
<input type="text" onkeyup="js(this)">
</td>
<td>
<input type="text" onkeyup="js(this)">
</td>
<td></td>
<td>
<input type="button" value="+行" onclick="addRow()">
<input type="button" value="-行" onclick="delRow(this)">
</td>
</tr>
</tbody>
</table>
</div>
<div id="xgdiv">
<table>
<thead>
<tr>
<th>
序号
</th>
<th>
商品名称
</th>
<th>
商品数量
</th>
<th>
商品价格
</th>
<th>
商品总额
</th>
<th>
操作
</th>
</tr>
</thead>
<tbody id="t2">
<c:forEach items="${list}" var="ls">
<tr>
<td><br></td>
<td>
<input type="text" value="${ls.FGoods }">
</td>
<td>
<input type="text" value="${ls.FQty }" onkeyup="js(this)">
</td>
<td>
<input type="text" value="${ls.FPrice }" onkeyup="js(this)">
</td>
<td>
${ls.FManeyAmt }
</td>
<td>
<input type="button" value="+行" onclick="addRow2()">
<input type="button" value="-行" onclick="delRow(this)">
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</body>
<script type="text/javascript">
function fh()
{
location.href="index.jsp";
}
function bh()
{
jQuery("#t>tr").each(function(i,obj){
obj.cells[0].innerHTML=i++;
});
}
function bh2()
{
jQuery("#t2>tr").each(function(i,obj){
obj.cells[0].innerHTML=i++;
});
}
function addRow()
{
var tr=jQuery("#t>tr:first").clone().appendTo(jQuery("#t"));
tr.find(":text").val("");
tr.find("td").eq(4).html("");
bh();
}
function addRow2()
{
var tr=jQuery("#t2>tr:first").clone().appendTo(jQuery("#t2"));
tr.find(":text").val("");
tr.find("td").eq(4).html("");
bh2();
}
function delRow(del)
{
jQuery(del).parent().parent().remove();
bh();
}
function js(js)
{
var tr=jQuery(js).parent().parent();
var sl=tr.find(":text").eq(1).val();
var jg=tr.find(":text").eq(2).val();
tr.find("td").eq(4).html(sl*jg);
}
function savesale()
{
var mm="${param.idm}";
if(mm=="" || mm=="xx")
{
var dh=jQuery("#id").val();
var rq=jQuery("#time").val();
var kh=jQuery("#kh").val();
var ywy=jQuery("#yw").val();
var bz=jQuery("#bz").val();
//格式化时间
var time=new Date(rq.replace(/-/ig,"/"));
//创建json对象
var json={FSaleformno:dh,FSaleformDate:time,FCustomer:kh,FSales:ywy,FRemark:bz};
//创建json数组
var arry=[];
//循环保存
jQuery("#t>tr").each(function(i,tr){
//找到每行
var hh=i+1;
var mc=jQuery(tr).find(":text").eq(0).val();
var sl=jQuery(tr).find(":text").eq(1).val();
var jg=jQuery(tr).find(":text").eq(2).val();
var je=jQuery(tr).find("td").eq(4).html();
//保存之前判断金额
if(je>0)
{
//定义json
var json2={id:{TSaleform3:json,FLineId:hh},FGoods:mc,FQty:sl,FPrice:jg,FManeyAmt:je};
//添加到数组
arry.push(json2);
}
});
//保存
myjs.saleFame(json,arry,function(x){
alert('保存成功');
location="saleform3Detail.jsp?idm=xx";
});
}
if(mm=="xg")
{
var dh=jQuery("#id").val();
var rq=jQuery("#time").val();
var kh=jQuery("#kh").val();
var yw=jQuery("#yw").val();
var bz=jQuery("#bz").val();
//截取之后再格式化
var time=rq.substring(1,5)+"-"+rq.substring(5,7)+"-"+rq.substring(7,9);
//格式化时间
var tim=new Date(time.replace(/-/ig,"/"));
var json={FSaleformno:dh,FSaleformDate:tim,FCustomer:kh,FSales:yw,FRemark:bz};
//保存json数组循环保存
var arry=[];
jQuery("#t2>tr").each(function(i,tr){
//获取每行
var hh=i+1;
var mc=jQuery(tr).find(":text").eq(0).val();
var sl=jQuery(tr).find(":text").eq(1).val();
var jg=jQuery(tr).find(":text").eq(2).val();
var je=jQuery(tr).find("td").eq(4).html();
var json2={id:{TSaleform3:json,FLineId:hh},FGoods:mc,FQty:sl,FPrice:jg,FManeyAmt:je};
arry.push(json2);
});
myjs.saveFameUpdate(json,arry,function(x){
alert('修改成功');
});
}
}
</script>
<script type="text/javascript" src="js/jquery-1.2.6.pack.js"></script>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<script type='text/javascript' src='/s09-yxl3/dwr/interface/myjs.js'></script>
<script type='text/javascript' src='/s09-yxl3/dwr/engine.js'></script>
<script type='text/javascript' src='/s09-yxl3/dwr/util.js'></script>
<table border="1" align="center">
<tr>
<th>
单选
</th>
<th>
单号
</th>
<th>
客户
</th>
<th>
销售员
</th>
<th>
备注
</th>
<th>
日期
</th>
<th>
详情
</th>
</tr>
<c:forEach items="${map.list2}" var="sl">
<tr>
<td>
<input type="radio" name="rd" id="rd" value="${sl.FSaleformno }">
</td>
<td>
${sl.FSaleformno }
</td>
<td>
${sl.FCustomer }
</td>
<td>
${sl.FSales }
</td>
<td>
${sl.FRemark }
</td>
<td>
${sl.FSaleformDate }
</td>
<td>
<a onclick="xiangxi('${sl.FSaleformno }')" href="javascript:void(0)">详情</a>
</td>
</tr>
</c:forEach>
<tr>
<td colspan="7" align="left">
<input type="button" value="修改" onclick="updat()">
<input type="button" value="删除" onclick="del()">
<input type="button" value="首页" onclick="oneye()">
<input type="button" value="下一页" onclick="nextye()">
<input type="button" value="上一页" onclick="upye()">
<input type="button" value="尾页" onclick="moye()">
</td>
</tr>
</table>
<div id="xxdiv" style="border-bottom: 1px solid green; width: 100%">
<table>
<thead>
<tr>
<th>商品名称</th>
<th>商品数量</th>
<th>商品价格</th>
<th>商品总额</th>
</tr>
</thead>
<tbody id="t">
</tbody>
</table>
</div>
<input type="button" value="添加订单详细" onclick="addDetail()">
<script type="text/javascript">
function oneye()
{
location.href="saleform.do?p=fenye&page=1";
}
function nextye()
{
location.href="saleform.do?p=fenye&page=${map.page-1}";
}
function upye()
{
location.href="saleform.do?p=fenye&page=${map.page+1}";
}
function moye()
{
location.href="saleform.do?p=fenye&page=${map.count}";
}
//创建行
var cell=[
function(onetr){return onetr.FGoods},
function(twotr){return twotr.FQty},
function(thrtr){return thrtr.FPrice},
function(fortr){return fortr.FManeyAmt}
];
function del()
{
var id=jQuery(":radio:checked").val();
myjs.deletFame(id,function(x){
alert('删除成功');
location="index.jsp";
});
}
function xiangxi(id)
{
myjs.getSaleformDetail(id,function(x){
DWRUtil.removeAllRows("t");
DWRUtil.addRows("t",x,cell);
});
}
function updat()
{
var id=jQuery(":radio:checked").val();
location.href="updatesaleDetail.do?id="+id;
}
function addDetail()
{
location.href="saleform3Detail.jsp?idm=xx";
}
</script>
//获得单号ID
/* (non-Javadoc)
* @see com.service.ITSaleformService#getID()
*/
public String getID()
{
//格式化时间
SimpleDateFormat sFormat=new SimpleDateFormat("yyyyMMdd");
Date date=new Date();
String tody=sFormat.format(date);
//查询最大单号
String maxID=tsaleform3DAO.findMaxID(tody);
if(maxID==null)
return "SL"+tody+"0001";
//有 截取
String subMaxId=maxID.substring(2);
return "SL"+(Long.parseLong(subMaxId)+1);
}
//分页
public Map fenye(int page,int size)
{
return tsaleform3DAO.fenye(page,size);
}
//保存
public void saleFame(TSaleform3 tSaleform3,TSaleformDetail3[] tsDetail3s)
{
//实例化主表 从表 将从表添加到主表
tSaleform3.getTSaleformDetail3s().addAll(Arrays.asList(tsDetail3s));
tsaleform3DAO.save(tSaleform3);
}
//通过id删除
public void deletFame(String id)
{
tsaleform3DAO.delete(tsaleform3DAO.findById(id));
}
//查询详细通过id
public Set getSaleformDetail(String id){
//List list=tsaleform3DAO.findSalefromDetail(id);
return tsaleform3DAO.findById(id).getTSaleformDetail3s();
}
//保存修改后的
public void saveFameUpdate(TSaleform3 tSaleform3,TSaleformDetail3[] tsDetail3s)
{
tSaleform3.getTSaleformDetail3s().addAll(Arrays.asList(tsDetail3s));
tsaleform3DAO.merge(tSaleform3);
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
System.out.println("jinlaila");
//分页显示
String pageString=request.getParameter("page");
int page=1;
if (pageString!= null) {
page=Integer.parseInt(pageString);
int size=3;
Map map=itSaleform3Service.fenye(page, size);
request.setAttribute("map", map);
}
return new ActionForward("/saleform3.jsp");
}
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
//查主表、从表保存作用域
String id=request.getParameter("id");
TSaleform3 tSaleform3=itSaleform3Service.findSaleformBy(id);
String mc=tSaleform3.getFCustomer();
String yw=tSaleform3.getFSales();
String dh=tSaleform3.getFSaleformno();
Date time=tSaleform3.getFSaleformDate();
String bz=tSaleform3.getFRemark();
request.setAttribute("mc", mc);
request.setAttribute("yw", yw);
request.setAttribute("dh", dh);
request.setAttribute("time", time);
request.setAttribute("bz", bz);
Set list= itSaleform3Service.getSaleformDetail(id);
request.setAttribute("list", list);
return new ActionForward("/saleform3Detail.jsp?idm=xg");
}
}
分享到:
相关推荐
一个ssh整合的小demo,大神请略过,供学习参考之用。
由于看到上一次上传的资源有人说冲突,所以重新用我自己的非常简单的例子测试了下,没有问题,所以这次将例子也上传上来,例子很简单很简单,只有登录以及对单表的增删改查,表的.sql文件我也附带了,数据库是mysql...
SSH框架基础,简单的测试程序
ssh测试通过jar包 里面有22个 可以直接拔它导进去 就没有jar包冲突问题了
SSH架构测试代码,很好的测试代码,最新整理的,用于学习
它使用 ssh 登录远程系统,然后运行两个测试:第一个测试一次发送一个字符,等待每个字符返回,同时记录每个字符的延迟时间。第二个测试通过 scp 向远程系统上的 /dev/null 发送一个虚拟文件。 对于回显测试,您...
ssh_wessh_web开发测试程序学习笔记
SSH三大框架登录小实例,以及spring的登录增删改查实例,这个导入即可运行出来
花了好多时间搞了这个单元测试,在网上找相关的资料竟然都没有,我只有自己花时间搞了,搞这个ssh2,action的单元测试,花了好长时间,所有要5分了。
spring+struts+hibernate+cxf整合及单个cxf测试样例,详细介绍ssh+cxf配置过程,及执行顺序。
有SSH测试题和答案详解,加二个项目一步一步解题,注释也有
NULL 博文链接:https://ruanjian-job-sina-cn.iteye.com/blog/1142032
ssh三大框架,三层架构 整合测试!完整分页代码,JdbcTemplate等测试,存储过程调用,留着以后复习吧,
SSH2样例程序,联接oracle数据库
ssh框架上传文件测试
基于SSH的在线测试系统,是基于java平台开发的在线考试测试系统!很有参考价值!
这个是我用于测试javaweb技术的一个ssh框架整合代码,同时还有一个ssm整合代码,因为太大,所以另起一个资源。该项目需要你手动创建一下数据库,使用mysql执行在项目config目录下的init.sql。
NULL 博文链接:https://jyao.iteye.com/blog/1233286
SSH(struts2,Hibernate,Spring)整合及测试亲测可用,百分之白亲测可用。
SSH框架搭建示例、包含登录、分页功能! 详细描述请看博客!