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渠道管理添加验证和查询的主要内容,如果未能解决你的问题,请参考以下文章

ERP渠道活动管理(二十五)

在NestJS 中添加对Shopify 的WebHook 验证

ERP部门的添加

如何通过免费开源ERP Odoo建立你的团队, 销售过程和目标

我面试仓库管理员,说要懂ERP,ERP是啥东西?怎么用?

ERP商品管理系统哪个比较好