If IsNew OrElse mr IsNot Nothing Then
With wb.AddInputGroup("form1","ipg2",iif(IsNew,"新增明细","编辑明细"))
.Attribute = "" '调用js函数,自动计算金额
If IsNew Then '如果是新增订单明细
'''.Addselect("药材编码","药材编码","").Attribute ="""
With .Addinput("药材编码","药材编码","")
.Attribute ="""
.Readonly=True
End With
With .AddInput("名称","名称","text")
.Readonly=True
End With
With .AddInput("数量","数量","number")
.Step= "0.01"
End With
With .AddInput("零售价","零售价","number")
.Step= "0.01"
End With
With .AddInput("零售金额","零售金额","number")
.Step="0.01"
.Readonly=True
End With
.AddInput("单据号","单据号","text")
Else
.AddHiddenValue("DetailID",mr("_Identify")) '插入一个隐藏的订单明细主键,此值将随表单数据一并提交到服务器.
.AddInput("药材编码","药材编码","text")
With .AddInput("名称","名称","text")
.Value = mr("名称")
.Readonly=True
End With
With .AddInput("数量","数量","number")
.Step= "0.01"
.value = mr("数量")
End With
With .AddInput("零售价","零售价","number")
.Step= "0.01"
.value = mr("零售价")
End With
With .AddInput("零售金额","零售金额","number")
.value = mr("零售金额") '后台没有金额列,要通过数量和零售价计算得出
.Step="0.01"
End With
With .AddInput("单据号","单据号","text")
.value=mr("单据号")
End With
End If
End With
End If
'生成订单明细表格
If e.GetValues.ContainsKey("oid") AndAlso srs.count > 0 Then '如果不是新增订单,且订单明细行数大于0,则生成订单明细表格.
With wb.AddTable("form1","detailTable") '为了区分,明细表的名字设为detailTable
.head.AddRow("药材编码","名称","数量","零售价","零售金额")
.ActiveSheet = "menu" '指定菜单
For Each sr As DataRow In srs
With .Body.AddRow(sr("药材编码"),sr("名称"),sr("数量"),sr("零售价"),sr("零售金额"))
''.AddCell(sr("数量") * sr("零售价"))
.Primarykey = sr("_Identify") '为此行指定主键值
End With
Next
Dim amt As Double
amt = DataTables("销售明细").sqlcompute("sum(零售金额)","销售单号='" & e.GetValues("oid") & "'")
With .Body.AddRow()
.Attribute = "style='background-color:#F0FFFF'"
.AddCell("合计: ","colspan='3'")
.AddCells("",amt)
End With
End With
'设计菜单
With wb.AddActionSheet("","menu")
.Add("mnudAdd", "增加明细").Attribute="" '调用js函数
.Add("mnuEdit", "编辑明细").Attribute =""
.Add("mnuDelete", "删除明细").Attribute ="""
.Add("mnuCancel","取消","",True)
End With
End If
With wb.AddDialog("","dlg1", "删除确认","您确定要删除当前明细吗?")
.AddButton("btnCancel","取消").Kind = 1
.AddButton("btnOK","确定").Attribute = ""
End With
With wb.AddButtonGroup("form1","btg1",False)
.Add("btn1", "增加明细", "submit").FormAction = url & "&addnext=true" '加上addnext参数,表示保存后进入增加明细状态
.Add("btn2", "保存", "submit") '正常提交,保存后进入编辑状态
If e.GetValues.ContainsKey("oid") = False Then '如过是新增订单
.Add("btn3", "取消", "button","list.htm?page=" & page & "&deloid=" & pr("销售单号")) '删除新增订单后返回列表
ElseIf IsNew OrElse mr IsNot Nothing Then '如果在给旧订单新增或修改明细,则直接返回编辑状态
.Add("btn3", "取消", "button",url) '返回编辑状态
Else
.Add("btn3", "返回", "button","list.htm?page=" & page) '返回列表
End If
End With
'''P2页面
wb.AddForm("p2","form2","khmhcx.htm")
With wb.AddInputGroup("form2","ipg22","客户查询")
.AddInput("gjz2","关键字","text")
With .AddInput("bm","部门","text")
.Value = e.Cookies("bm")
.Readonly = True
End With
End With
With wb.AddButtonGroup("form2","btg22",True)
.Add("btn21", "查询", "button").Attribute= ""
.Add("btn22", "新增", "button").Attribute = """
'''.Attribute = " & Functions.Execute("自动编号","客户信息") & "'"""
End With
wb.insertHtml("p2","<div id='p222' style='margin:0.5em'></div>") '插入一个div,用于显示服务器返回的 页面
wb.AppendHTML("<script src='./lib/ajaxform.js'></script>")
'''P3页面
wb.AddForm("p3","form3","spmhcx.htm")
With wb.AddInputGroup("form3","ipg3","商品查询")
.AddInput("gjz","关键字","text")
With .AddInput("bm","库房","text")
.Value = e.Cookies("bm")
.Readonly = True
End With
End With
With wb.AddButtonGroup("form3","btg3",True)
.Add("btn3", "查询", "button").Attribute= ""
''.Add("btn3", "查询", "submit")
End With
wb.insertHtml("p3","<div id='p333' style='margin:0.5em'></div>") '插入一个div,用于显示服务器返回的 页面
wb.AppendHTML("<script src='./lib/ajaxform.js'></script>") '引入脚本文件
pr.Save() '必须保存,而且必须在最后保存,因为SQLAddNew增加的行,保存之后就会销毁,无法再调用
If e.PostValues.Count > 0 Then '如果是通过提交按钮访问,则给一个已经保存的提示给用户,时长500毫秒
wb.AddToast("","t1", "已经保存",0).Msec= 500
End If
wb.AppendHTML("<script src='./lib/order.js'></script>") '引入脚本文件
wb.AppendHTML("<script src='./lib/choice.js'></script>")
wb.AppendHTML("<script src='./lib/kcpd.js'></script>")
e.WriteString(wb.Build) '生成网页