Dim e As RequestEventArgs = args(0)
Dim wb As New weui
wb.AddPage("","p1") '增加两个page
wb.AddPage("","p2",False)
wb.AddPage("","p3",False)
'删除订单明细
If e.GetValues.ContainsKey("deldid") Then
DataTables("销售明细").SQLDeleteFor("[_Identify] = " & e.GetValues("deldid"))
End If
'订单编辑
Dim pr As DataRow '订单
Dim srs As List(of DataRow) '订单明细集合
Dim Page As Integer '页码变量
If e.GetValues.ContainsKey("page") Then '如果地址中有page参数
Integer.TryParse(e.GetValues("page"), page) '提取page参数
End If
If e.GetValues.ContainsKey("oid") = False Then '如果没有传递订单编号,则新增与一个订单
pr = DataTables("销售单").SQLAddNew() '
pr("销售单号") ="M" & Functions.Execute("GetOrderID") '利用自定义函数GetOrderID为新增订单生成编号.
pr("制单时间") = Date.now
Else '如果传递了订单编号,则找出此订单进行编辑
pr = DataTables("销售单").SQLFind("销售单号='" & e.GetValues("oid") & "'")
If pr Is Nothing Then '多用户情况下,必须考虑其他用户删除订单的可能.
wb.InSertHtml("此订单已被其他用户删除!")
e.WriteString(wb.Build)
Return "" '必须返回
End If
srs = DataTables("销售明细").SQLSelect("销售单号='" & pr("销售单号") & "'") '获取订单明细
End If
Dim url As String = "edit.htm?page=" & page & "&oid=" & pr("销售单号") '传递页码和订单编号
wb.AddForm("p1","form1",url).Attribute=""
wb.AddTopTips("","toptip1","")
With wb.AddInputGroup("form1","ipg1",iif(e.GetValues.ContainsKey("oid"),"编辑订单","新增订单"))
With .AddInput("销售单号","销售单号","text")
.Value = pr("销售单号")
.Readonly = True
End With
.AddInput("所属业务员","所属业务员","text").Value =iif(pr("所属业务员")="",e.Cookies("xm"),pr("所属业务员"))
.AddInput("部门","部门","text").Value = iif(pr("部门")="",e.Cookies("bm"),pr("部门"))
.addselect("销售类型","销售类型",iif(pr("销售类型")="","批发|零售",pr("销售类型")))
With .Addinput("客户编号","客户编号","")
.Value=pr("客户编号")
.Attribute ="""
.Readonly=True
End With
.AddInput("客户名称","客户名称","text").Value = pr("客户名称")
.AddInput("联系人","联系人","text").Value = pr("联系人")
.AddInput("电话","电话","text").Value = pr("电话")
With .AddInput("已折扣金额","已折扣金额","number")
.Value = pr("已折扣金额")
.Readonly=True
.Step="0.01"
End With
With .AddInput("优惠金额","优惠金额","number")
.Value = pr("优惠金额")
.Step="0.01"
End With
With.AddInput("应收金额","应收金额","number")
.Value = pr("应收金额")
.Readonly=True
.Step="0.01"
End With
With .AddInput("现金","现金","number")
.Value = pr("现金")
.Step="0.01"
End With
With .AddInput("转账金额","转账金额","number")
.Value = pr("转账金额")
.Step="0.01"
End With
.addselect("账号","账号",iif(pr("账号")="","|" & DataTables("销售单").SQLGetComboListString("账号"),pr("账号")))
With .AddInput("实收金额","实收金额","number")
.Value = pr("实收金额")
.Readonly=True
.Step="0.01"
End With
With .AddInput("未收金额","未收金额","number")
.Value = pr("未收金额")
.Readonly=True
.Step="0.01"
End With
With .AddInput("销售日期","销售日期","date")
If pr("销售日期") >"2000-12-31" Then
.Value = pr("销售日期")
Else
.Value = Date.Today
End If
End With
.addselect("送货方式","送货方式",iif(pr("送货方式")="","自提|快递",pr("送货方式")))
With .AddInput("运费","运费","number")
.Value = pr("运费")
.Step="0.01"
End With
.AddInput("备注","备注","text").Value = pr("备注")
End With
'订单明细编辑
Dim mr As DataRow '要编辑的订单明细
Dim IsNew As Boolean '此变量用于标记是否要新增明细
If e.GetValues.ContainsKey("oid") = False OrElse e.GetValues.ContainsKey("addnext") '如果是新增订单,或这包括addnext参数
IsNew = True '将IsNew参数设置为True,表明需要新增订单明细
ElseIf e.GetValues.ContainsKey("did") Then '如果传递了订单明细主键
mr = DataTables("销售明细").SQLFind("[_Identify]=" & e.GetValues("did")) '找出此订单明细进行编辑
End If