ERP渠道管理添加验证和查询
Posted 石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ERP渠道管理添加验证和查询相关的知识,希望对你有一定的参考价值。
添加联系人的后台代码:
protected void btnSubmit_Click(object sender, EventArgs e) { BioErpCrmManageChannel channel = new BioErpCrmManageChannel() { ChannelName = this.txtChannelName.Text, AccountName = this.txtBank.Text, Accounts = this.txtAccounts.Text, Address = this.txtAddress.Text, Areal = this.ddlArea.SelectedItem.Text, ChannelLevel = this.ddlLevel.Text, ChannelSize = this.ddlChannelSize.SelectedItem.Text, ChannelType = this.ddlType.Text, City = this.ddlCity.SelectedItem.Text, Province = this.ddlProvince.SelectedItem.Text, CoreOperttion = this.txtCoreOperttion.Text, Tel1 = this.txtTel1.Text, Tel2 = this.txtTel2.Text, TaxNumber = this.txtTaxNumber.Text, CoSummary = this.txtCoSummary.Text, Email = this.txtEmail.Text, Fax = this.txtFax.Text, NetAddress = this.txtNextTime.Text, Vocation = this.ddlVocation.SelectedItem.Text, SuperiorChannel = this.txtSuperChannelID.Text == "" ? 0 : int.Parse(this.txtSuperChannelID.Text), UserID = int.Parse(this.txtUserName.Text), NextContactTime = Convert.ToDateTime(this.txtNextTime.Text), Status = this.ddlState.SelectedItem.Text, CreditStanding = this.txtCredit.Text, EnrollTime = Convert.ToDateTime(this.txtRegisterTime.Text) }; BioErpCrmManageChannelBLL channelbll = new BioErpCrmManageChannelBLL(); BioErpCrmChannelLinkManBLL linkmanbll = new BioErpCrmChannelLinkManBLL(); int channelid = channelbll.BioErpCrmManageChannelAdd(channel); //渠道基本信息添加成功,才能添加联系人基本信息 if (channelid != 0) { string linkman = Request["txtLinkMan1"].ToString(); string ddlSex = Request["ddlSex1"].ToString(); string Birthday = Request["txtBirthday1"].ToString(); string MainLink = Request["ddlMainLink1"].ToString(); string OfficePhone = Request["txtOfficePhone"].ToString(); string Mobile = Request["txtOfficePhone"].ToString(); string Email = Request["txtEmail11"].ToString(); string Address = Request["txtAddress1"].ToString(); string QQ = Request["txtQQ1"].ToString(); string Remark = Request["txtRemark1"].ToString(); string[] linkmans = linkman.Split(‘,‘); string[] ddlSexs = ddlSex.Split(‘,‘); string[] Birthdays = Birthday.Split(‘,‘); string[] MainLinks = MainLink.Split(‘,‘); string[] OfficePhones = OfficePhone.Split(‘,‘); string[] Mobiles = Mobile.Split(‘,‘); string[] Emails = Email.Split(‘,‘); string[] Addresses = Address.Split(‘,‘); string[] QQs = QQ.Split(‘,‘); string[] Remarks = Remark.Split(‘,‘); BioErpCrmChannelLinkMan linkmanobj = null; for (int i = 0; i < linkmans.Length; i++) { linkmanobj = new BioErpCrmChannelLinkMan() { LinkmanName = linkmans[i], Address = Addresses[i], Email = Emails[i], Remark = Remarks[i], Sex = ddlSexs[i] == "0" ? false : true, QQ = QQs[i].ToString(), OfficialPhone = OfficePhones[i], MobilePhone = Mobiles[i], Birthday = Convert.ToDateTime(Birthdays[i]), ChannelID = channelid, IsMainLinkman = MainLinks[i] == "0" ? false : true }; linkmanbll.BioErpCrmChannelLinkManADD(linkmanobj); } } }
添加的时候字符串的验证:
1.验证的js代码:
// 字符验证 jQuery.validator.addMethod("stringCheck", function(value, element) { return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value); }, "只能包括中文字、英文字母、数字和下划线"); // 中文字两个字节 jQuery.validator.addMethod("byteRangeLength", function(value, element, param) { var length = value.length; for(var i = 0; i < value.length; i++){ if(value.charCodeAt(i) > 127){ length++; } } return this.optional(element) || ( length >= param[0] && length <= param[1] ); }, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)"); // 身份证号码验证 jQuery.validator.addMethod("isIdCardNo", function(value, element) { return this.optional(element) || isIdCardNo(value); }, "请正确输入您的身份证号码"); // 手机号码验证 jQuery.validator.addMethod("isMobile", function(value, element) { var length = value.length; var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/; return this.optional(element) || (length == 11 && mobile.test(value)); }, "请正确填写您的手机号码"); // 电话号码验证 jQuery.validator.addMethod("isTel", function(value, element) { var tel = /^\d{3,4}-?\d{7,9}$/; //电话号码格式010-12345678 return this.optional(element) || (tel.test(value)); }, "请正确填写您的电话号码"); // 联系电话(手机/电话皆可)验证 jQuery.validator.addMethod("isPhone", function(value,element) { var length = value.length; var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/; var tel = /^\d{3,4}-?\d{7,9}$/; return this.optional(element) || (tel.test(value) || mobile.test(value)); }, "请正确填写您的联系电话"); // 邮政编码验证 jQuery.validator.addMethod("isZipCode", function(value, element) { var tel = /^[0-9]{6}$/; return this.optional(element) || (tel.test(value)); }, "请正确填写您的邮政编码");
2.样式代码:
*{ font-size: 96%; } label{ width: 10em; float: left; } label.error{ float: none; color: red; padding-left: .5em; vertical-align: top; } p{ clear: both; } .submit { margin-left: 12em; } em{ font-weight: bold; padding-right: 1em; vertical-align: top; }
显示的信息:
jQuery.extend( jQuery.validator.messages, { required: "必选字段", remote: "请修正该字段", email: "请输入正确格式的电子邮件", url: "请输入合法的网址", date: "请输入合法的日期", dateISO: "请输入合法的日期 (如:2011-11-02).", number: "请输入合法的数字", digits: "只能输入整数", creditcard: "请输入合法的信用卡号", equalTo: "请再次输入相同的值", accept: "请输入拥有合法后缀名的字符串", maxlength: $.validator.format("请输入一个长度最多是 {0} 的字符串"), minlength: $.validator.format("请输入一个长度最少是 {0} 的字符串"), rangelength: $.validator.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"), range: $.validator.format("请输入一个介于 {0} 和 {1} 之间的值"), max: $.validator.format("请输入一个最大为 {0} 的值"), min: $.validator.format("请输入一个最小为 {0} 的值") });
在前端js中调用:
<script type="text/javascript"> $(document).ready(function () { $("#form1").validate(); var i = 0; jQuery("#btnAddNew").click(function () { i++; tr = ‘‘; tr = tr + ‘ <tr id="tr‘ + i + ‘">‘; tr = tr + ‘ <td><input name="txtLinkMan1" MaxLength="10"></input></td>‘; tr = tr + ‘ <td>‘; tr = tr + ‘ <select name="ddlSex1" > <option Value="0">男</option> <option Value="1">女</option></select>‘; tr = tr + ‘ </td>‘; tr = tr + ‘ <td>‘; tr = tr + ‘ <input name="txtBirthday1" onfocus="setday(this)" onclick="setday(this)" MaxLength="20"></input></td>‘; tr = tr + ‘ <td><select name="ddlMainLink1"> <option Value="1">是</option> <option Value="0">否</option> </select></td>‘; tr = tr + ‘ <td> <input name="txtOfficePhone" MaxLength="20" ></input></td>‘; tr = tr + ‘ <td> <input name="txtMobile1" MaxLength="20" ></input></td>‘; tr = tr + ‘ <td> <input name="txtEmail11" MaxLength="20"></input></td>‘; tr = tr + ‘ <td> <input name="txtAddress1" MaxLength="50" ></input></td>‘; tr = tr + ‘ <td> <input name="txtQQ1" MaxLength="15"></input></td>‘; tr = tr + ‘ <td> <input name="txtRemark1" MaxLength="200"></input></td>‘; tr = tr + ‘ </tr>‘; $("#caption").before(tr); }); jQuery("#btnDelete").click(function () { $("#tr" + i).remove(); i--; }); }); </script>
验证的时候添加:
<td>渠道名</td><td><asp:TextBox ID="txtChannelName" CssClass="required" runat="server"></asp:TextBox></td>
查询的代码:
在数据库中定义视图:
CREATE VIEW [dbo].[View_CRMChannelInfo] AS SELECT ChannelID, ChannelName,SuperiorChannelID=SuperiorChannel, SuperiorChannel=ISNULL(dbo.getFatherChannelNamebyFatherID(SuperiorChannel),‘一级渠道‘) ,Tel1,Tel2,Email,Fax,NextContactTime=ISNULL(NextContactTime,‘1970-1-1‘),LinkMans=dbo.GetUserListByChannelID(ChannelID), UserID,DeleteState,UserName=dbo.getUserNameByUserID(UserID), Address,ChannelLevel,NetAddress,CreditStanding,EnrollTime= ISNULL(EnrollTime,‘1970-1-1‘), ChannelSize,Vocation,ChannelType,Status,Areal,Province,City, TaxNumber,AccountName,Accounts,CoSummary,CoreOperttion FROM dbo.BioErpCrmManageChannel
SELECT CONVERT(nvarchar(10),getdate(),102)
自定义函数的定义:
-- ============================================= -- Description: 根据渠道编号获取渠道联系人姓名 -- ============================================= ALTER FUNCTION [dbo].[GetUserListByChannelID] ( @ChannelID int ) RETURNS nvarchar(200) AS BEGIN declare cur cursor for SELECT LinkmanName FROM BioErpCrmChannelLinkMan WHERE ChannelID [email protected] open cur DECLARE @name nvarchar(20) DECLARE @names nvarchar(1000) SET @names=‘‘ FETCH next FROM cur INTO @name WHILE @@FETCH_STATUS =0 BEGIN SET @[email protected][email protected]+‘,‘ FETCH next FROM cur INTO @name END CLOSE cur DEALLOCATE cur RETURN @names END
自定义函数:
-- ============================================= -- Description:根据上级渠道编号查询对应上级渠道名称 -- ============================================= ALTER FUNCTION [dbo].[getFatherChannelNamebyFatherID] ( @FatherID int ) RETURNS nvarchar(20) AS BEGIN -- Declare the return variable here DECLARE @fatherChannelName nvarchar(20) -- Add the T-SQL statements to compute the return value here SELECT @fatherChannelName=ChannelName FROM dbo.BioErpCrmManageChannel WHERE [email protected] -- Return the result of the function RETURN @fatherChannelName END
前端代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ChannelListShow.aspx.cs" Inherits="BioErpWeb.CRMSystem.CrmChannel.ChannelListShow" %> <%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefix="webdiyer" %> <%@ Register src="../../UserControl/CRMChannelMenuBar.ascx" tagname="CRMChannelMenuBar" tagprefix="uc1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <link href="../../Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" /> <link href="../../Styles/AspNetPagerStyle.css" rel="stylesheet" type="text/css" /> <style type="text/css"> td{ text-align:center;} .tdsearch{ line-height:30px;} .menubar{ background:url(../Web/images/block_hd_bg.png); height:25px; width:100%;} .menubar ul{ margin:0px; padding:0px; list-style:none;} .menubar ul li{ display:inline; line-height:25px;} .menubar ul li a{display:inline-block; text-align:center; width:100px; color:#0066CC; text-decoration:none;} </style> </head> <body> <form id="form1" runat="server"> <div> <uc1:CRMChannelMenuBar ID="CRMChannelMenuBar1" runat="server" /> </div> <div> <table class="maintable" style=" width:900px;"> <tr> <td colspan="5" class="titlebar"> <span>渠道基本信息管理</span> </td> </tr> <tr> <td class="tdsearch"> <asp:Label ID="Label1" runat="server" Text="渠道名称:"></asp:Label> <asp:TextBox ID="txtName" runat="server"></asp:TextBox> </td> <td class="tdsearch"> <asp:Label ID="Label2" runat="server" Text="渠道等级"></asp:Label> <asp:DropDownList ID="ddlCustomerLevel" runat="server"> <asp:ListItem>一级</asp:ListItem> <asp:ListItem>二级</asp:ListItem> <asp:ListItem>三级</asp:ListItem> <asp:ListItem>四级</asp:ListItem> </asp:DropDownList> </td> <td class="tdsearch"> <asp:Label ID="Label3" runat="server" Text="渠道是否删除"></asp:Label> <asp:DropDownList ID="ddlState" runat="server"> <asp:ListItem Value="0">否</asp:ListItem> <asp:ListItem Value="1">是</asp:ListItem> </asp:DropDownList> </td> <td class="tdsearch"> <asp:Label ID="Label11" runat="server" Text="省份"></asp:Label> <asp:DropDownList ID="ddlProvince" runat="server" Width="150px"> </asp:DropDownList> </td> <td class="tdsearch"> <asp:ImageButton ID="imgbutnSearch" Width="60" Height="22" runat="server" ImageUrl="~/Web/images/Btnsearch.gif" onclick="imgbutnSearch_Click" /> <asp:ImageButton ID="imgbtnNew" runat="server" Width="60" Height="22" ImageUrl="~/Web/images/btnadd.gif" onclick="imgbtnNew_Click"/> </td> </tr> <tr> <td colspan="5" class="bottomtd"> <asp:GridView ID="GridView1" Width="100%" runat="server" AutoGenerateColumns="False" DataKeyNames="ChannelID"> <Columns> <asp:TemplateField HeaderText="渠道编号" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="Label4" runat="server" Text=‘<%# Eval("ChannelID") %>‘></asp:Label> </ItemTemplate> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:TemplateField HeaderText="渠道名称" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="Label5" runat="server" Text=‘<%# Eval("ChannelName") %>‘></asp:Label> </ItemTemplate> <ItemStyle Width="120px" HorizontalAlign="Center" /> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:TemplateField HeaderText="上级渠道" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="Label9" runat="server" Text=‘<%# Eval("SuperiorChannel") %>‘></asp:Label> </ItemTemplate> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:TemplateField HeaderText="渠道联系人" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="Label6" runat="server" Text=‘<%# Eval("LinkMans") %>‘></asp:Label> </ItemTemplate> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:TemplateField HeaderText="电话号码" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="Label7" runat="server" Text=‘<%# Eval("Tel1")+" "+Eval("Tel2") %>‘></asp:Label> </ItemTemplate> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:TemplateField HeaderText="Email" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="Label8" runat="server" Text=‘<%# Eval("Email") %>‘></asp:Label> </ItemTemplate> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:TemplateField HeaderText="传真" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="Label9" runat="server" Text=‘<%# Eval("Fax") %>‘></asp:Label> </ItemTemplate> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:TemplateField HeaderText="下次联系时间" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="Label10" runat="server" Text=‘<%# Convert.ToDateTime(Eval("NextContactTime")).ToString("yyyy/MM/dd") %>‘></asp:Label> </ItemTemplate> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:HyperLinkField DataNavigateUrlFields="ChannelID" DataNavigateUrlFormatString="CustomerUpdate.aspx?ID={0}" HeaderText="操作" Text="查看并修改客户信息"> <HeaderStyle HorizontalAlign="Center" /> <ItemStyle HorizontalAlign="Center" /> </asp:HyperLinkField> </Columns> </asp:GridView> </td> </tr> <tr> <td colspan="5"> <webdiyer:AspNetPager ID="AspNetPager1" runat="server" CssClass="paginator" CurrentPageButtonClass="cpb" onpagechanged="AspNetPager1_PageChanged"> </webdiyer:AspNetPager> </td> </tr> </table> </div> </form> </body> </html>
后台代码:
public static int pageindex = 0; public static int pagesize = 10; public static string condition = ""; protected void Page_Load(object sender, EventArgs e) { //if (UserLogin.user.RoleId != 6 && UserLogin.user.RoleId != 7) //{ // Response.Write("<script>window.history.back()</script>"); // //Response.Redirect("../Web/Desk.aspx"); // //Server.Transfer("../Web/Desk.aspx"); // return; //} Session["Userid"] = "29"; if (!IsPostBack) { ddlProvinceBind(); getallCustomerList(); } } /// <summary> /// 绑定省份 /// </summary> public void ddlProvinceBind() { this.ddlProvince.DataSource = SqlComm.getProvinceInfoList(); this.ddlProvince.DataTextField = "ProvinceInfoName"; this.ddlProvince.DataValueField = "ProvinceInfoID"; this.ddlProvince.DataBind(); this.ddlProvince.Items.Add(new ListItem("--请选择省份--", "0")); this.ddlProvince.SelectedValue = "0"; } /// <summary> /// 查询所有员工信息 /// </summary> private void getallCustomerList() { //如果是市场部经理,或客服部经理可以查看所有 if (UserLogin.user.RoleId == 6 || UserLogin.user.RoleId == 7) { this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("dbo.View_CRMChannelInfo", condition); this.AspNetPager1.PageSize = pagesize; this.GridView1.DataSource = SqlComm.getDataByPageIndex("dbo.View_CRMChannelInfo", "*", "ChannelID", condition, pageindex, pagesize); this.GridView1.DataBind(); } else //员工只能看自己的客户信息 { condition = condition + " and userid=" + Session["Userid"].ToString(); this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("dbo.View_CRMChannelInfo", condition); this.AspNetPager1.PageSize = pagesize; this.GridView1.DataSource = SqlComm.getDataByPageIndex("dbo.View_CRMChannelInfo", "*", "ChannelID", condition, pageindex, pagesize); this.GridView1.DataBind(); } } protected void AspNetPager1_PageChanged(object sender, EventArgs e) { pageindex = this.AspNetPager1.CurrentPageIndex - 1; getallCustomerList(); } protected void imgbutnSearch_Click(object sender, ImageClickEventArgs e) { pageindex = 0; condition = ""; if (txtName.Text.Trim() != null && this.txtName.Text.Trim().Length != 0) { condition = condition + " and CustomerName like ‘" + txtName.Text + "%‘"; } if (this.ddlState.SelectedValue == "1") { condition = condition + " and DeleteState =‘True‘"; } else { condition = condition + " and DeleteState =‘False‘"; } condition = condition + " and CustomerLevel=‘" + this.ddlCustomerLevel.SelectedItem.Text+"‘ "; if (this.ddlProvince.SelectedValue != "0") { condition = condition +" and Province=‘"+ this.ddlProvince.SelectedItem.Text+"‘"; } getallCustomerList(); } protected void imgbtnNew_Click(object sender, ImageClickEventArgs e) { Server.Transfer("CustomerAdd.aspx"); }
以上是关于ERP渠道管理添加验证和查询的主要内容,如果未能解决你的问题,请参考以下文章
在NestJS 中添加对Shopify 的WebHook 验证