Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Dim oid As String
Dim gj As String'管家
Dim pr As DataRow '任务
Dim sq As String'商圈
Dim gjdh As String'管家电话
Dim userid As String'用户唯一识别码(手机号)
Dim wxgid As String'维修工维修识别码(手机号)
Dim jgdate As String
wb.AppendHTML("<link rel='stylesheet' href='./weui/exweui.css'/>", True)
wb.AppendHTML("<script src='./weui/exweui.js' ></script>", True)
If e.Values.ContainsKey("userid") = True Then
userid = e.Values("userid")
End If
If e.Values.ContainsKey("oid") = False Then'如果不存在,则新增
pr = DataTables("维修任务明细表").SQLAddNew() '
pr("维修任务ID") = Functions.Execute("GetOrderID") '利用自定义函数GetOrderID为新增任务生成编号.
pr("维修任务生成日期") = Date.Now
pr("维修任务状态") = "待派单"
Else'如果存在,则编辑
pr = DataTables("维修任务明细表").SQLFind("[维修任务ID] = '" & e.Values("oid") & "'")
End If
'编辑任务界面
wb.AddForm("", "form1", "SaveNewTask.htm")
If e.Values.ContainsKey("oid") Then
With wb.AddInputGroup("form1", "ipg1", "查看任务")'查看任务
With .AddInput("维修任务ID", "任务ID", "text")
.Value = pr("维修任务ID")
.Readonly = True
End With
With .AddInput("jgdate", "竣工日期", "text")
.Value = pr("jgdate")
.Placeholder = "自动匹配"
.Readonly = True
End With
Dim ipg As ExWeUI.ExInputGroup = ExWeUI.WebUI.AddInputGroup("", "ipg11", "")
Dim Inp As ExWeUI.ExQuerySelect = ipg.AddQuerySelect("项目地址", "项目地址*", "|" & DataTables("项目明细表").SQLGetComboListString("收货详细地址"))
Inp.Url = "getSelect1"
Inp.Value = pr("项目地址")
Inp.Readonly = True
Inp.Placeholder = "搜索项目地址/业主姓名"
Inp.Attribute = ""
.AddHiddenValue("拆单人", UserName)
.AddHiddenValue("拆单日期", Date.Now)
.AddHiddenValue("制单人", UserName)
.AddHiddenValue("制单日期", Date.Now)
.AddHiddenValue("xmid", pr("xmid"))
.AddHiddenValue("sq", pr("sq"))
With .AddInput("联系人", "联系人*", "text")
.Value = pr("联系人")
.Readonly = True
End With
With .AddInput("联系电话", "联系电话*", "text")
.Value = pr("联系电话")
.Readonly = True
End With
With .AddInput("gjphone", "管家电话", "text")
.Value = pr("gjphone")
.Placeholder = "自动匹配"
.Readonly = True
End With
With .AddInput("shgj", "售后管家", "text")
.Value = pr("shgj")
.Placeholder = "自动匹配"
.Readonly = True
End With
.AddHiddenValue("userid", userid)
wb.InsertHTML("form1", ipg.BuildHtml)
wb.AppendHTML("<script>initExWeUI();</script>")
End With
With wb.AddInputGroup("form1", "ipg2", "问题描述*")
With .AddTextArea("问题描述", 4)
.Value = pr("问题描述")
.Readonly = True
End With
End With
With wb.AddButtonGroup("form1", "btg1", False)
.Add("btn0", "返回", "button", "default.htm")
.Add("btn0", "新增任务", "button", "addnewtask.htm")
End With
Else
With wb.AddInputGroup("form1", "ipg1", "新增任务")'新增任务
With .AddInput("维修任务ID", "任务ID", "text")
.Value = pr("维修任务ID")
.Readonly = True
End With
With .AddInput("jgdate", "竣工日期", "text")
.Value = pr("jgdate")
.Placeholder = "自动匹配"
.Readonly = True
End With
Dim ipg As ExWeUI.ExInputGroup = ExWeUI.WebUI.AddInputGroup("", "ipg11", "")
Dim Inp1 As ExWeUI.ExQuerySelect = ipg.AddQuerySelect("shgj", "售后管家*", "|" & DataTables("Users").SQLGetComboListString("Name"))
Inp1.Url = "getSelect3"
Inp1.Value = pr("shgj")
Inp1.Placeholder = "自动匹配/手动输入"
Inp1.Attribute = ""
Dim Inp As ExWeUI.ExQuerySelect = ipg.AddQuerySelect("项目地址", "项目地址*", "|" & DataTables("项目明细表").SQLGetComboListString("收货详细地址"))
Inp.Url = "getSelect1"
Inp.Value = pr("项目地址")
Inp.Placeholder = "搜索项目地址/业主姓名"
Inp.Attribute = ""
.AddHiddenValue("oid", pr("维修任务ID"))
.AddHiddenValue("拆单人", UserName)
.AddHiddenValue("拆单日期", Date.Now)
.AddHiddenValue("制单人", UserName)
.AddHiddenValue("制单日期", Date.Now)
.AddHiddenValue("xmid", pr("xmid"))
.AddHiddenValue("sq", pr("sq"))
'元素id统一用小写英文,和JS保持一致,否则容易报错
.AddInput("联系人", "联系人*", "text").Value = pr("联系人")
.AddInput("联系电话", "联系电话*", "text").Value = pr("联系电话")
With .AddInput("gjphone", "管家电话", "text")
.Value = pr("gjphone")
.Placeholder = "自动匹配"
End With
.AddHiddenValue("userid", "")
wb.InsertHTML("form1", ipg.BuildHtml)
wb.AppendHTML("<script>initExWeUI();</script>")
End With
With wb.AddInputGroup("form1", "ipg2", "问题描述*")
.AddTextArea("问题描述", 4).Value = pr("问题描述")
End With
With wb.AddButtonGroup("form1", "btg1", False)
.Add("btsave", "保存", "button").Attribute = ""
End With
With wb.AddDialog("", "dlg1", "提示", "保存成功") '增加订单成功提示框
'pr.Save()
.AddButton("btnOK", "确定").Attribute = ""
End With
With wb.AddDialog("", "dlg2", "错误", "保存失败") '增加订单失败提示框
.AddButton("btnOK", "确定")
End With
wb.AppendHTML("<script src='./lib/ajaxform.js'></script>") '引入脚本文件
End If
With wb.AddButtonGroup("form1", "btg2", False)
.Add("btn1", "任务派发", "button", "sendtask.htm?RWID=" & pr("维修任务ID") & "&UserID=" & userid) '点击任务派发,任务就通过企业微信发送消息,点击任务派发之前必须保存此任务,也就是此任务在数据库中已经存在;
.Add("btn2", "任务跟进", "button", "changestatus.htm?oid=" & pr("维修任务ID")) '提交后进入任务跟进界面,调整任务的状态:待接单、待邀约、待上门、维修中、待审核
End With
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>") '引入脚本文件
e.WriteString(wb.Build) '生成网页
如果是一个人使用的时候 一切正常,如果是多个人同时使用的时候,在AddNewTask的界面点击保存的时候,服务器就会联系弹窗:
弹窗1:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2025.1.3.1
错误所在事件:自定义函数,SaveNewTask
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。
关闭这个弹窗后就会弹窗2:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2025.1.3.1
错误所在事件:自定义函数,AddNewTask
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。