ERP采购申请管理(三十九)

获取当前表单在流程中的状态:

         /// <summary>
        /// 获取当前表单在流程表中的状态
        /// </summary>
        /// <param name="listid"></param>
        /// <returns></returns>
        public static String getAuditingSateByCondition(string listid)
        {
            object obj = SqlComm.GetObjectByCondition("TaskListRecord", " TOP 1 AuditingSate ", " ListID=" + listid + " ORDER BY ListID desc");
            if (obj != null)
            {
                return obj.ToString();
            }
            else
            {
                return null;
            }
        }

判断选中的状态:

 //根据表单单号在流程表中查询历史审批记录绑定信息
            this.lbRemarks.Text= SqlComm.getTaskListRecordsMindsByCondition(taskid, ((int)TaskNavigateEmun.ProPurchase).ToString());
            if (SqlComm.getAuditingSateByCondition("listid") == "2")
            {
                this.cb_Stock.Checked = true;
            }

商品采购审核单详细信息查看:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProPurchaseShow.aspx.cs"
    Inherits="BioErpWeb.WholeSaleSystem.ProPurchase.ProPurchaseShow" %>

<!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" />
    <script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery.validate.js" type="text/javascript"></script>
    <script src="../../Scripts/validateExtender.js" type="text/javascript"></script>
    <script src="../../Scripts/ValidateMessage_ZW.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery.metadata.js" type="text/javascript"></script>
    <link href="../../Styles/InputStyle1.css" rel="stylesheet" type="text/css" />
    <script src="../../JS/CheckDepartMent.js" type="text/javascript"></script>
    <link href="../../Styles/CalenderStyle.css" rel="stylesheet" type="text/css" />
    <script src="../../Scripts/cld.js" type="text/javascript"></script>
    <script src="../../JS/CheckUserName.js" type="text/javascript"></script>
    <script src="../../JS/CustomerName.js" type="text/javascript"></script>
    <script src="../../JS/ProNameChoose.js" type="text/javascript"></script>
    <script src="../../Scripts/Comm.js" type="text/javascript"></script>
     <style type="text/css">
        #pricetable
        {
            border: none;
             99%;
        }
        #pricetable td
        {
            border: none;
        }
        #divprobatch
        {
             99%;
            border: none;
        }
        #divprobatch table
        {
             100%;
            border: none;
        }
        #divprobatch table td
        {
            border: none;
            padding-right: 2px;
             
        }
        .grayborder{ border:solid 1px #ccc;}
        .bordernone{ border-left:none; border-top:none; border-right:none; border-bottom:none;}
    </style>

    <script type="text/javascript">
        var tri = 0;
        $(document).ready(function () {
            $("#form1").validate();
            $(document).find("input[type='text']").each(function () {
                $(this).attr("readonly", "true");
            });

            $(document).find("input[type='checkbox']").each(function () {
                $(this).attr("disabled", "disabled");
            })

            $("#trprotitle").css("background-color", "#eee");
            $("#probatchtr").css("background-color", "#eee");

        });
        function addrows(count) {

            for (var i = 0; i < count; i++) {
                tri++;
                var tr = '<tr id="tr' + tri + '"><td><input  type="text" name="proName" class="required"
style=" 294px"/><input type="hidden" name="proID" /></td><td><input type="text" name="proCount" class="{required:true,min:1,digits:true}"
style=" 150px"/></td><td colspan="2"><input type="text" name="proPrice" class="{required:true,min:0.1,number:true}" style=" 150px"/>
<input type="hidden" name="purchaseProID"/></td></tr>'; var obj = $("#troption"); $(obj).after(tr); } } //产品信息赋值 function setValues(proName, proID, proCount, proPrice, purchaseProID) { var proNames = proName.split(','); var proIDs = proID.split(','); var proCounts = proCount.split(','); var proPrices = proPrice.split(','); var purchaseProIDs=purchaseProID.split(','); var txtProName = document.getElementsByName("proName"); var txtProID = document.getElementsByName("proID"); var txtProCount = document.getElementsByName("proCount"); var txtproPrice = document.getElementsByName("proPrice"); var txtpurchaseProID = document.getElementsByName("purchaseProID"); for (var i = 0; i <(proIDs.length-1); i++) { txtProName[i].value = proNames[i]; txtProID[i].value = proIDs[i]; txtProCount[i].value = proCounts[i]; txtproPrice[i].value = proPrices[i]; txtpurchaseProID[i].value = purchaseProIDs[i]; } } function deleterow() { var obj = window.event.srcElement; var parenttr = obj.parentNode.parentNode; $(parenttr).remove(); } //根据后台传过来的产品批次个数,添加相应行数 function setaddbatchs(count) { var trbatch = '<tr> <td id="td2"><input id="txtProName0" value="" readonly="readonly" name="txtProName0"
style=" 294px" type="text" class="input" size="50" /><input type="hidden" name="proIds" value=""/> </td>'; trbatch += '<td><input id="txtProCount0" name="txtProCount0" class="{required:true,min:1,digits:true}"
type="text" size="5" /></td><td><input id="txtProBatch0" name="txtProBatch0" type="text" size="11" /> </td>'; trbatch += '<td><input id="txtProBoxNum0" name="txtProBoxNum0" value="" readonly="readonly" type="text" size="11" /> </td>'; trbatch += '<td><input id="txtMarkDate0" name="txtMarkDate0" onfocus="setday(this)" onclick="setday(this)"
size="11" class="{required:true,dateISO:true}" type="text" readonly="readonly" /></td>'; trbatch += '<td><input id="txtExPirationDate0" onfocus="setday(this)"
onclick="setday(this)" name="txtExPirationDate0" class="{required:true,dateISO:true}" size="11" type="text" readonly="readonly" />'; trbatch += '</td><td><input type="hidden" value="" name="PurchaseProID2"/>'; trbatch += '</td></tr>'; for (var i = 0; i < count; i++) { $("#probatchtr").after(trbatch); } } function setbatchsvalues(proname, proId, txtProCount, txtProBatch, txtProBoxNum, txtMarkDate, txtExPirationDate, PurchaseProID) { var pronames = proname.split(","); var proIds = proId.split(","); var ProCouns = txtProCount.split(","); var ProBatchs = txtProBatch.split(","); var ProBoxNums = txtProBoxNum.split(","); var MarkDates = txtMarkDate.split(","); var ExPirationDates = txtExPirationDate.split(","); var PurchaseProIDs = PurchaseProID.split(","); var txtProName0s = document.getElementsByName("txtProName0"); var txtproIds = document.getElementsByName("proIds") var txtProCount0 = document.getElementsByName("txtProCount0"); var txtProBatch0 = document.getElementsByName("txtProBatch0"); var txtProBoxNum0 = document.getElementsByName("txtProBoxNum0"); var txtMarkDate0 = document.getElementsByName("txtMarkDate0"); var txtExPirationDate0 = document.getElementsByName("txtExPirationDate0"); var PurchaseProID2 = document.getElementsByName("PurchaseProID2"); for (var i = 0; i < txtProName0s.length; i++) { txtProName0s[i].value = pronames[i]; txtproIds[i].value = proIds[i]; txtProCount0[i].value = ProCouns[i]; txtProBatch0[i].value = ProBatchs[i]; txtProBoxNum0[i].value = ProBoxNums[i]; txtMarkDate0[i].value = MarkDates[i]; txtExPirationDate0[i].value = ExPirationDates[i]; PurchaseProID2[i].value = PurchaseProIDs[i]; } } </script> </head> <body> <form id="form1" runat="server"> <div style=" 99%; height:750px; overflow:scroll;"> <table class="maintable Inupttable" style=" 900px;"> <tr> <td colspan="8" class="titlebar"> 商品采购审核单详细信息查看 </td> </tr> <tr> <td> 申请部门 </td> <td> <asp:TextBox ID="ddlDepartMent" runat="server"></asp:TextBox> </td> <td> 制表人 </td> <td class="style1"> <asp:Label ID="lbApplayUser" runat="server"></asp:Label> </td> <td> 经手人 </td> <td> <asp:TextBox ID="txtRealUserID" CssClass="{required:true,digits:true, min:1}" runat="server" Width="78px"></asp:TextBox> <asp:Label ID="lbOldRealName" runat="server" Text="Label"></asp:Label> </td> <td> 制表时间 </td> <td> <asp:Label ID="lbTime" runat="server" Text="Label"></asp:Label> </td> </tr> <tr> <td> 发货(订货)单位 </td> <td> <asp:TextBox ID="txtSendCom" runat="server" Width="72px" CssClass="{required:true,digits:true, min:1}"></asp:TextBox> <asp:Label ID="lbOldSenComName" runat="server" Text="Label"></asp:Label> </td> <td> 入库单位 </td> <td class="style1"> <asp:TextBox ID="ddlOrderCom" runat="server" Width="72px"></asp:TextBox> </td> <td> 采购方式 </td> <td> <asp:TextBox ID="ddlSaleType" runat="server" Width="72px"></asp:TextBox> </td> <td> 入库方式 </td> <td> <asp:TextBox ID="ddlTypes" runat="server" Width="72px"></asp:TextBox> </td> </tr> <tr> <td colspan="8" style="border: none;" class="style2"> <div> <table id="tableprolist" style="99%; border: solid 1px; border-collapse: collapse; line-height: 25px;"> <tr id="trprotitle"> <td> 产品名称及规格 </td> <td> 数量 </td> <td colspan="2"> 单价 </td> </tr> <tr id="troption"> <td> <input type="text" name="proName" class="required" style=" 294px" /><input type="hidden" name="proID" /> </td> <td> <input type="text" name="proCount" class="{required:true,min:1,digits:true}" style=" 150px" /> </td> <td colspan="2"> <input type="text" name="proPrice" class="{required:true,min:0.1,number:true}" style=" 150px" /> <input type="hidden" name="purchaseProID"/> </td> </tr> <tr id="caption"> <td colspan="4" style="text-align: right;"> </td> </tr> <tr> <td colspan="4"> <div id="divprobatch" style="display: none;"> <table id="tb2" align="left" cellpadding="0" border="0" cellspacing="0" width="100%" style=" margin:0px auto;"> <tr id="probatchtr"> <td> 订货产品名称及规格(只读) </td> <td style=" 70px;"> 数量 </td> <td style=" 95px;"> 批号 </td> <td style=" 95px;"> 货号(只读) </td> <td style=" 150px;"> 生产日期 </td> <td style=" 150px;"> 有效期 </td> </tr> </table> </div> </td> </tr> <tr> <td colspan="4"> <table id="pricetable"> <tr> <td> <asp:Label ID="lbTotal" runat="server" Text="产品总额"></asp:Label> <asp:Label ID="lbTotalInvoicePrice" runat="server" Text=""></asp:Label> </td> <td> <asp:Label ID="lbisPay" Visible="false" runat="server" Text="是否付款:"></asp:Label><asp:CheckBox ID="isPay" runat="server" Visible="false" /> </td> <td> <asp:Label ID="lbBill" runat="server" Text="账单编号:" Visible="false"></asp:Label> <asp:TextBox ID="txtBillNo" runat="server" Visible="false"></asp:TextBox> </td> <td> <asp:Label ID="lbPayuser" runat="server" Text=" 付款人:" Visible="false"></asp:Label> <asp:TextBox ID="txtBillUser" runat="server" Visible="false"></asp:TextBox> <asp:Label ID="lbBillUserName" runat="server" Text="Label"></asp:Label>   </td> </tr> </table> </td> </tr> </table> </div> <div id="proAuditing" style=" display:none;"> 产品质量审核:<asp:CheckBox ID="cb_Auditing" Text="质量审核合格" runat="server" /> </div> <div id="stockAuditing" style=" display:none;"> <span>仓库审核:<asp:CheckBox ID="cb_Stock" Text="仓库审核合格" runat="server" /></span> </span> </div> </td> </tr> <tr> <td> 历史审批意见 </td> <td colspan="7"> <asp:Label ID="lbRemarks" runat="server" Text=""></asp:Label> </td> </tr> <tr> <td colspan="8" class="bottomtd">  </td> </tr> </table> </div> </form> </body> </html>

 后台代码:

 public partial class ProPurchaseShow: BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {                          
              
                getdata();
               
                getprobatchDetail();
            }
       
        }
        /// <summary>
        /// 批号信息加载
        /// </summary>
        public void getprobatchDetail()
        {
            BioPurchaseBLL pbll = new BioPurchaseBLL();
            string id = Request.QueryString["taskid"];
            //string id = "10";

            DataTable dt = pbll.getProBatchDetailByPurchaseID(id);
            #region  加载产品批号信息
            if (dt.Rows.Count > 0)
            {
                int count = dt.Rows.Count;
                //2011年12月2日19:27:17
                //显示添加批号的前端方法修改为:showobj
                ClientScript.RegisterStartupScript(this.GetType(), "showobj", "showobj('divprobatch');setaddbatchs(" + count + ");", true);
                string proname = "";
                string proId = "";
                string txtProCount = "";
                string txtProBatch = "";
                string txtProBoxNum = "";
                string txtMarkDate = "";
                string txtExPirationDate = "";
                string PurchaseProID = "";

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    proname += dt.Rows[i]["proName"].ToString() + ",";
                    proId += dt.Rows[i]["proID"].ToString() + ",";
                    txtProCount += dt.Rows[i]["proCount"].ToString() + ",";
                    txtProBatch += dt.Rows[i]["batchNum"].ToString() + ",";
                    txtProBoxNum += dt.Rows[i]["boxNum"].ToString() + ",";
                    txtMarkDate += Convert.ToDateTime(dt.Rows[i]["makeDate"].ToString()).ToString("yyyy-MM-dd") + ",";
                    txtExPirationDate += Convert.ToDateTime(dt.Rows[i]["expirationDate"].ToString()).ToString("yyyy-MM-dd") + ",";
                    PurchaseProID += dt.Rows[i]["purchaseProID"].ToString() + ",";

                }

                ClientScript.RegisterStartupScript(this.GetType(), "setbatchsvalues", "setbatchsvalues('" + proname + "','" 
+ proId + "','" + txtProCount + "','" + txtProBatch + "','" + txtProBoxNum + "','" + txtMarkDate + "','"
+ txtExPirationDate + "','" + PurchaseProID + "');", true); #endregion //判断是否存在此产品的批号信息 if (dt.Rows.Count>0) { //当前登录用户是否有产品质量审核权限 值50 if (SqlComm.getUserRightsByUserId(Session["Userid"].ToString()).Contains(",50,")) { ClientScript.RegisterStartupScript(this.GetType(), "test", "showobj('proAuditing');", true); if (pbll.getauditingProBatchCountByPurchaseID(id) != 0) { this.cb_Auditing.Checked = true; } } else { if (pbll.getauditingProBatchCountByPurchaseID(id) != 0) { ClientScript.RegisterStartupScript(this.GetType(), "test", "showobj('proAuditing');", true); this.cb_Auditing.Checked = true; this.cb_Auditing.Enabled = false; } } //如果产品批号已经审核 并且 当前登录用户是仓库管理员 则显示相应控件 if (pbll.getauditingProBatchCountByPurchaseID(id) != 0 && SqlComm.getUserRightsByUserId(Session["Userid"].ToString()).Contains(",25,")) { ClientScript.RegisterStartupScript(this.GetType(), "test1", "showobj('stockAuditing');", true); } } } } protected void getdata() { ////如果获取阐述不存在直接跳转。 if (Request.QueryString["taskid"] == null || Request.QueryString["listid"] == null) { Response.Write("<script>window.history.go(-1);this.close()</script>"); } string taskid = Request.QueryString["taskid"].ToString(); string listid = Request.QueryString["listid"].ToString(); //string taskid = "10"; //string listid = "50"; string rights= SqlComm.getUserRightsByUserId(Session["Userid"].ToString()); BioPurchaseBLL purchasebll=new BioPurchaseBLL(); ViewBioPurchaseAppInfo viewpurchase = purchasebll.getViewBioPurchaseAppInfo(taskid); ddlDepartMent.Text=viewpurchase.DepartMent.ToString(); this.lbApplayUser.Text = viewpurchase.AppUserName.ToString(); this.lbOldRealName.Text = viewpurchase.RealUserName; this.txtRealUserID.Text = viewpurchase.RealUserID.ToString(); this.lbTime.Text = Convert.ToDateTime(viewpurchase.OrderTime).ToString("yyyy-MM-dd"); this.lbOldSenComName.Text = viewpurchase.CopanyName; this.txtSendCom.Text = viewpurchase.sendComID.ToString(); this.ddlOrderCom.Text = viewpurchase.OrderCom.ToString(); this.ddlSaleType.Text = viewpurchase.WholeType; this.ddlTypes.Text = viewpurchase.sendType; //判断是否数据库中已经添加了财务审核的记录 if (viewpurchase.BillNo != "" && viewpurchase.BillNo != null) { this.lbBill.Visible = true; this.lbisPay.Visible = true; this.isPay.Visible = true; this.txtBillNo.Visible = true; this.lbPayuser.Visible = true; this.txtBillUser.Visible = true; this.txtBillUser.Text = viewpurchase.BillUserID.ToString(); this.txtBillNo.Text = viewpurchase.BillNo.ToString(); this.lbBillUserName.Text = viewpurchase.BillUserName.ToString(); int paycount = int.Parse(SqlComm.GetObjectByCondition("dbo.BioPurchasePro", "count(isPay)", " PurchaseID="+taskid).ToString()); if (paycount > 0) { this.isPay.Checked = true; } } else { if (rights.Contains(",48,")) { this.lbBill.Visible = true; this.lbisPay.Visible = true; this.isPay.Visible = true; this.txtBillNo.Visible = true; this.lbPayuser.Visible = true; this.txtBillUser.Visible = true; this.txtBillUser.Text = Session["Userid"].ToString(); this.txtBillNo.Text = DateTime.Now.ToString("yyyyMMdd") + taskid; } } //根据表单单号在流程表中查询历史审批记录绑定信息 this.lbRemarks.Text= SqlComm.getTaskListRecordsMindsByCondition(taskid, ((int)TaskNavigateEmun.ProPurchase).ToString()); if (SqlComm.getAuditingSateByCondition("listid") == "2") { this.cb_Stock.Checked = true; } //根据表单编号查询产品基本信息并绑定 DataTable dt = SqlComm.GetDataByCondition("View_BioPurchaseProInfo",
"ProID,ProName,ProCount,ProPrice,InvoicePrice,purchaseProID", "PurchaseID=" + taskid).Tables[0]; int count = dt.Rows.Count; ClientScript.RegisterStartupScript(this.GetType(), "addrows", "addrows(" + (count-1) + ");", true); string proNames = ""; string proIDs = ""; string proCounts = ""; string proPrices = ""; decimal totalInvoicePrice = 0; string purchaseProIDs = ""; for (int i = 0; i < dt.Rows.Count; i++) { proIDs+= dt.Rows[i]["ProID"].ToString()+","; proNames+=dt.Rows[i]["ProName"].ToString()+","; proCounts+= dt.Rows[i]["ProCount"].ToString()+","; proPrices+= decimal.Parse(dt.Rows[i]["ProPrice"].ToString()).ToString("0.0")+","; totalInvoicePrice += decimal.Parse(dt.Rows[i]["InvoicePrice"].ToString()); purchaseProIDs += dt.Rows[i]["purchaseProID"].ToString() + ","; } ClientScript.RegisterStartupScript(this.GetType(), "setValues",
"setValues('" + proNames + "','" + proIDs + "','" + proCounts + "','" + proPrices + "','" + purchaseProIDs + "');", true); this.lbTotalInvoicePrice.Text = totalInvoicePrice.ToString("0.0"); } }

 产品的执行状态页面(完成页面):

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProPurchaseRun.aspx.cs"
    Inherits="BioErpWeb.WholeSaleSystem.ProPurchase.ProPurchaseRun" %>

<!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" />
    <script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery.validate.js" type="text/javascript"></script>
    <script src="../../Scripts/validateExtender.js" type="text/javascript"></script>
    <script src="../../Scripts/ValidateMessage_ZW.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery.metadata.js" type="text/javascript"></script>
    <link href="../../Styles/InputStyle1.css" rel="stylesheet" type="text/css" />
    <script src="../../JS/CheckDepartMent.js" type="text/javascript"></script>
    <link href="../../Styles/CalenderStyle.css" rel="stylesheet" type="text/css" />
    <script src="../../Scripts/cld.js" type="text/javascript"></script>
    <script src="../../JS/CheckUserName.js" type="text/javascript"></script>
    <script src="../../JS/CustomerName.js" type="text/javascript"></script>
    <script src="../../JS/ProNameChoose.js" type="text/javascript"></script>
    <script src="../../Scripts/Comm.js" type="text/javascript"></script>
     <style type="text/css">
        #pricetable
        {
            border: none;
             99%;
        }
        #pricetable td
        {
            border: none;
        }
        #divprobatch
        {
             99%;
            border: none;
        }
        #divprobatch table
        {
             100%;
            border: none;
        }
        #divprobatch table td
        {
            border: none;
            padding-right: 2px;
             
        }
        .grayborder{ border:solid 1px #ccc;}
        .bordernone{ border-left:none; border-top:none; border-right:none; border-bottom:none;}
    </style>

    <script type="text/javascript">
        var tri = 0;
        $(document).ready(function () {
            $("#form1").validate();
            $(document).find("input[type='text']").each(function () {
                $(this).attr("readonly", "true");
            });

            $(document).find("input[type='checkbox']").each(function () {
                $(this).attr("disabled", "disabled");
            })

            $("#trprotitle").css("background-color", "#eee");
            $("#probatchtr").css("background-color", "#eee");

        });
        function addrows(count) {

            for (var i = 0; i < count; i++) {
                tri++;
                var tr = '<tr id="tr' + tri + '"><td><input  type="text" name="proName" 
class="required" style=" 294px"/><input type="hidden" name="proID" />
</td><td><input type="text" name="proCount" class="{required:true,min:1,digits:true}" style=" 150px"/></td>
<td colspan="2"><input type="text" name="proPrice" class="{required:true,min:0.1,number:true}" style=" 150px"/>
<input type="hidden" name="purchaseProID"/></td></tr>'; var obj = $("#troption"); $(obj).after(tr); } } //产品信息赋值 function setValues(proName, proID, proCount, proPrice, purchaseProID) { var proNames = proName.split(','); var proIDs = proID.split(','); var proCounts = proCount.split(','); var proPrices = proPrice.split(','); var purchaseProIDs=purchaseProID.split(','); var txtProName = document.getElementsByName("proName"); var txtProID = document.getElementsByName("proID"); var txtProCount = document.getElementsByName("proCount"); var txtproPrice = document.getElementsByName("proPrice"); var txtpurchaseProID = document.getElementsByName("purchaseProID"); for (var i = 0; i <(proIDs.length-1); i++) { txtProName[i].value = proNames[i]; txtProID[i].value = proIDs[i]; txtProCount[i].value = proCounts[i]; txtproPrice[i].value = proPrices[i]; txtpurchaseProID[i].value = purchaseProIDs[i]; } } function deleterow() { var obj = window.event.srcElement; var parenttr = obj.parentNode.parentNode; $(parenttr).remove(); } //根据后台传过来的产品批次个数,添加相应行数 function setaddbatchs(count) {
var trbatch = '<tr> <td id="td2"><input id="txtProName0" value="" readonly="readonly" name="txtProName0"
style=" 294px" type="text" class="input" size="50" /><input type="hidden" name="proIds" value=""/> </td>'; trbatch += '<td><input id="txtProCount0" name="txtProCount0" class="{required:true,min:1,digits:true}"
type="text" size="5" /></td><td><input id="txtProBatch0" name="txtProBatch0" type="text" size="11" /> </td>'; trbatch += '<td><input id="txtProBoxNum0" name="txtProBoxNum0" value="" readonly="readonly" type="text" size="11" /> </td>'; trbatch += '<td><input id="txtMarkDate0" name="txtMarkDate0" onfocus="setday(this)" onclick="setday(this)"
size="11" class="{required:true,dateISO:true}" type="text" readonly="readonly" /></td>'; trbatch += '<td><input id="txtExPirationDate0" onfocus="setday(this)"
onclick="setday(this)" name="txtExPirationDate0" class="{required:true,dateISO:true}" size="11" type="text" readonly="readonly" />'; trbatch += '</td><td><input type="hidden" value="" name="PurchaseProID2"/>'; trbatch += '</td></tr>'; for (var i = 0; i < count; i++) { $("#probatchtr").after(trbatch); } } function setbatchsvalues(proname, proId, txtProCount, txtProBatch, txtProBoxNum, txtMarkDate, txtExPirationDate, PurchaseProID) { var pronames = proname.split(","); var proIds = proId.split(","); var ProCouns = txtProCount.split(","); var ProBatchs = txtProBatch.split(","); var ProBoxNums = txtProBoxNum.split(","); var MarkDates = txtMarkDate.split(","); var ExPirationDates = txtExPirationDate.split(","); var PurchaseProIDs = PurchaseProID.split(","); var txtProName0s = document.getElementsByName("txtProName0"); var txtproIds = document.getElementsByName("proIds") var txtProCount0 = document.getElementsByName("txtProCount0"); var txtProBatch0 = document.getElementsByName("txtProBatch0"); var txtProBoxNum0 = document.getElementsByName("txtProBoxNum0"); var txtMarkDate0 = document.getElementsByName("txtMarkDate0"); var txtExPirationDate0 = document.getElementsByName("txtExPirationDate0"); var PurchaseProID2 = document.getElementsByName("PurchaseProID2"); for (var i = 0; i < txtProName0s.length; i++) { txtProName0s[i].value = pronames[i]; txtproIds[i].value = proIds[i]; txtProCount0[i].value = ProCouns[i]; txtProBatch0[i].value = ProBatchs[i]; txtProBoxNum0[i].value = ProBoxNums[i]; txtMarkDate0[i].value = MarkDates[i]; txtExPirationDate0[i].value = ExPirationDates[i]; PurchaseProID2[i].value = PurchaseProIDs[i]; } } </script> </head> <body> <form id="form1" runat="server"> <div style=" 99%; height:750px; overflow:scroll;"> <table class="maintable Inupttable" style=" 900px;"> <tr> <td colspan="8" class="titlebar"> 商品采购审核单 流程结束 </td> </tr> <tr> <td> 申请部门 </td> <td> <asp:TextBox ID="ddlDepartMent" runat="server"></asp:TextBox> </td> <td> 制表人 </td> <td class="style1"> <asp:Label ID="lbApplayUser" runat="server"></asp:Label> </td> <td> 经手人 </td> <td> <asp:TextBox ID="txtRealUserID" CssClass="{required:true,digits:true, min:1}" runat="server" Width="78px"></asp:TextBox> <asp:Label ID="lbOldRealName" runat="server" Text="Label"></asp:Label> </td> <td> 制表时间 </td> <td> <asp:Label ID="lbTime" runat="server" Text="Label"></asp:Label> </td> </tr> <tr> <td> 发货(订货)单位 </td> <td> <asp:TextBox ID="txtSendCom" runat="server" Width="72px" CssClass="{required:true,digits:true, min:1}"></asp:TextBox> <asp:Label ID="lbOldSenComName" runat="server" Text="Label"></asp:Label> </td> <td> 入库单位 </td> <td class="style1"> <asp:TextBox ID="ddlOrderCom" runat="server" Width="72px"></asp:TextBox> </td> <td> 采购方式 </td> <td> <asp:TextBox ID="ddlSaleType" runat="server" Width="72px"></asp:TextBox> </td> <td> 入库方式 </td> <td> <asp:TextBox ID="ddlTypes" runat="server" Width="72px"></asp:TextBox> </td> </tr> <tr> <td colspan="8" style="border: none;" class="style2"> <div> <table id="tableprolist" style="99%; border: solid 1px; border-collapse: collapse; line-height: 25px;"> <tr id="trprotitle"> <td> 产品名称及规格 </td> <td> 数量 </td> <td colspan="2"> 单价 </td> </tr> <tr id="troption"> <td> <input type="text" name="proName" class="required" style=" 294px" /><input type="hidden" name="proID" /> </td> <td> <input type="text" name="proCount" class="{required:true,min:1,digits:true}" style=" 150px" /> </td> <td colspan="2"> <input type="text" name="proPrice" class="{required:true,min:0.1,number:true}" style=" 150px" /> <!--2011年11月29日22:37:47 添加 <input type="hidden" name="purchaseProID"/>--> <input type="hidden" name="purchaseProID"/> </td> </tr> <tr id="caption"> <td colspan="4" style="text-align: right;"> </td> </tr> <tr> <td colspan="4"> <div id="divprobatch" style="display: none;"> <table id="tb2" align="left" cellpadding="0" border="0" cellspacing="0" width="100%" style=" margin:0px auto;"> <tr id="probatchtr"> <td> 订货产品名称及规格(只读) </td> <td style=" 70px;"> 数量 </td> <td style=" 95px;"> 批号 </td> <td style=" 95px;"> 货号(只读) </td> <td style=" 150px;"> 生产日期 </td> <td style=" 150px;"> 有效期 </td> </tr> </table> </div> </td> </tr> <tr> <td colspan="4"> <table id="pricetable"> <tr> <td> <asp:Label ID="lbTotal" runat="server" Text="产品总额"></asp:Label> <asp:Label ID="lbTotalInvoicePrice" runat="server" Text=""></asp:Label> </td> <td> <asp:Label ID="lbisPay" Visible="false" runat="server" Text="是否付款:"></asp:Label><asp:CheckBox ID="isPay" runat="server" Visible="false" /> </td> <td> <asp:Label ID="lbBill" runat="server" Text="账单编号:" Visible="false"></asp:Label> <asp:TextBox ID="txtBillNo" runat="server" Visible="false"></asp:TextBox> </td> <td> <asp:Label ID="lbPayuser" runat="server" Text=" 付款人:" Visible="false"></asp:Label> <asp:TextBox ID="txtBillUser" runat="server" Visible="false"></asp:TextBox> <asp:Label ID="lbBillUserName" runat="server" Text="Label"></asp:Label>   </td> </tr> </table> </td> </tr> </table> </div> <div id="proAuditing" style=" display:none;"> 产品质量审核:<asp:CheckBox ID="cb_Auditing" Text="质量审核合格" runat="server" /> </div> <div id="stockAuditing" style=" display:none;"> <span>仓库审核:<asp:CheckBox ID="cb_Stock" Text="仓库审核合格" runat="server" /></span> </span> </div> </td> </tr> <tr> <td> 历史审批意见 </td> <td colspan="7"> <asp:Label ID="lbRemarks" runat="server" Text=""></asp:Label> </td> </tr> <tr> <td> 备注</td> <td colspan="7"> <asp:TextBox ID="txtRemark" Width="547px" runat="server"></asp:TextBox> </td> </tr> <tr> <td colspan="8" class="bottomtd"> <asp:Button ID="Button1" runat="server" CssClass="btnorange" Text="结束流程" onclick="Button1_Click" /> </td> </tr> </table> <asp:HiddenField ID="hf_applayDepartMent" runat="server" /> <asp:HiddenField ID="hf_subject" runat="server" /> <asp:HiddenField ID="hf_FirstAccepter" runat="server" /> <asp:HiddenField ID="hf_FirstTransmitter" runat="server" /> </div> </form> </body> </html>

 后台的代码:

 public partial class ProPurchaseRun: BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {         
                getdata();               
                getprobatchDetail();
            }
       
        }
        /// <summary>
        /// 批号信息加载
        /// </summary>
        public void getprobatchDetail()
        {
            BioPurchaseBLL pbll = new BioPurchaseBLL();
            string id = Request.QueryString["taskid"];
            //string id = "10";

            DataTable dt = pbll.getProBatchDetailByPurchaseID(id);
            #region  加载产品批号信息
            if (dt.Rows.Count > 0)
            {
                int count = dt.Rows.Count;
                //2011年12月2日19:27:17
                //显示添加批号的前端方法修改为:showobj
                ClientScript.RegisterStartupScript(this.GetType(), "showobj", "showobj('divprobatch');setaddbatchs(" + count + ");", true);
                string proname = "";
                string proId = "";
                string txtProCount = "";
                string txtProBatch = "";
                string txtProBoxNum = "";
                string txtMarkDate = "";
                string txtExPirationDate = "";
                string PurchaseProID = "";

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    proname += dt.Rows[i]["proName"].ToString() + ",";
                    proId += dt.Rows[i]["proID"].ToString() + ",";
                    txtProCount += dt.Rows[i]["proCount"].ToString() + ",";
                    txtProBatch += dt.Rows[i]["batchNum"].ToString() + ",";
                    txtProBoxNum += dt.Rows[i]["boxNum"].ToString() + ",";
                    txtMarkDate += Convert.ToDateTime(dt.Rows[i]["makeDate"].ToString()).ToString("yyyy-MM-dd") + ",";
                    txtExPirationDate += Convert.ToDateTime(dt.Rows[i]["expirationDate"].ToString()).ToString("yyyy-MM-dd") + ",";
                    PurchaseProID += dt.Rows[i]["purchaseProID"].ToString() + ",";

                }

                ClientScript.RegisterStartupScript(this.GetType(), "setbatchsvalues", "setbatchsvalues('" + proname + "','" + proId + "','" +
txtProCount + "','" + txtProBatch + "','" + txtProBoxNum + "','" + txtMarkDate + "','" + txtExPirationDate + "','" + PurchaseProID + "');", true); #endregion //判断是否存在此产品的批号信息 if (dt.Rows.Count>0) { //当前登录用户是否有产品质量审核权限 值50 if (SqlComm.getUserRightsByUserId(Session["Userid"].ToString()).Contains(",50,")) { ClientScript.RegisterStartupScript(this.GetType(), "test", "showobj('proAuditing');", true); if (pbll.getauditingProBatchCountByPurchaseID(id) != 0) { this.cb_Auditing.Checked = true; } } else { if (pbll.getauditingProBatchCountByPurchaseID(id) != 0) { ClientScript.RegisterStartupScript(this.GetType(), "test", "showobj('proAuditing');", true); this.cb_Auditing.Checked = true; this.cb_Auditing.Enabled = false; } } //如果产品批号已经审核 并且 当前登录用户是仓库管理员 则显示相应控件 if (pbll.getauditingProBatchCountByPurchaseID(id) != 0 && SqlComm.getUserRightsByUserId(Session["Userid"].ToString()).Contains(",25,")) { ClientScript.RegisterStartupScript(this.GetType(), "test1", "showobj('stockAuditing');", true); } } } } protected void getdata() { ////如果获取阐述不存在直接跳转。 if (Request.QueryString["taskid"] == null || Request.QueryString["listid"] == null) { Response.Write("<script>window.history.go(-1);this.close()</script>"); } string taskid = Request.QueryString["taskid"].ToString(); string listid = Request.QueryString["listid"].ToString(); //string taskid = "10"; //string listid = "50"; string rights= SqlComm.getUserRightsByUserId(Session["Userid"].ToString()); BioPurchaseBLL purchasebll=new BioPurchaseBLL(); ViewBioPurchaseAppInfo viewpurchase = purchasebll.getViewBioPurchaseAppInfo(taskid); ddlDepartMent.Text=viewpurchase.DepartMent.ToString(); this.hf_applayDepartMent.Value = viewpurchase.DepartMentID.ToString(); this.lbApplayUser.Text = viewpurchase.AppUserName.ToString(); this.lbOldRealName.Text = viewpurchase.RealUserName; this.txtRealUserID.Text = viewpurchase.RealUserID.ToString(); this.lbTime.Text = Convert.ToDateTime(viewpurchase.OrderTime).ToString("yyyy-MM-dd"); this.lbOldSenComName.Text = viewpurchase.CopanyName; this.txtSendCom.Text = viewpurchase.sendComID.ToString(); this.ddlOrderCom.Text = viewpurchase.OrderCom.ToString(); this.ddlSaleType.Text = viewpurchase.WholeType; this.ddlTypes.Text = viewpurchase.sendType; //判断是否数据库中已经添加了财务审核的记录 if (viewpurchase.BillNo != "" && viewpurchase.BillNo != null) { this.lbBill.Visible = true; this.lbisPay.Visible = true; this.isPay.Visible = true; this.txtBillNo.Visible = true; this.lbPayuser.Visible = true; this.txtBillUser.Visible = true; this.txtBillUser.Text = viewpurchase.BillUserID.ToString(); this.txtBillNo.Text = viewpurchase.BillNo.ToString(); this.lbBillUserName.Text = viewpurchase.BillUserName.ToString(); int paycount = int.Parse(SqlComm.GetObjectByCondition("dbo.BioPurchasePro", "count(isPay)", " PurchaseID="+taskid).ToString()); if (paycount > 0) { this.isPay.Checked = true; } } else { if (rights.Contains(",48,")) { this.lbBill.Visible = true; this.lbisPay.Visible = true; this.isPay.Visible = true; this.txtBillNo.Visible = true; this.lbPayuser.Visible = true; this.txtBillUser.Visible = true; this.txtBillUser.Text = Session["Userid"].ToString(); this.txtBillNo.Text = DateTime.Now.ToString("yyyyMMdd") + taskid; } } //根据表单单号在流程表中查询历史审批记录绑定信息 this.lbRemarks.Text= SqlComm.getTaskListRecordsMindsByCondition(taskid, ((int)TaskNavigateEmun.ProPurchase).ToString()); if (SqlComm.getAuditingSateByCondition("listid") == "2") { this.cb_Stock.Checked = true; } this.hf_subject.Value = SqlComm.getTaskListSubjectByCondition(listid); this.hf_FirstTransmitter.Value = SqlComm.getFirstTransmitterByCondition(listid); this.hf_FirstAccepter.Value = SqlComm.getFirstAccpterByCondition(listid); //根据表单编号查询产品基本信息并绑定 DataTable dt = SqlComm.GetDataByCondition("View_BioPurchaseProInfo", "ProID,ProName,ProCount,ProPrice,
InvoicePrice,purchaseProID", "PurchaseID=" + taskid).Tables[0]; int count = dt.Rows.Count; ClientScript.RegisterStartupScript(this.GetType(), "addrows", "addrows(" + (count-1) + ");", true); string proNames = ""; string proIDs = ""; strin g proCounts = ""; string proPrices = ""; decimal totalInvoicePrice = 0; string purchaseProIDs = ""; for (int i = 0; i < dt.Rows.Count; i++) { proIDs+= dt.Rows[i]["ProID"].ToString()+","; proNames+=dt.Rows[i]["ProName"].ToString()+","; proCounts+= dt.Rows[i]["ProCount"].ToString()+","; proPrices+= decimal.Parse(dt.Rows[i]["ProPrice"].ToString()).ToString("0.0")+","; totalInvoicePrice += decimal.Parse(dt.Rows[i]["InvoicePrice"].ToString()); purchaseProIDs += dt.Rows[i]["purchaseProID"].ToString() + ","; } ClientScript.RegisterStartupScript(this.GetType(), "setValues", "setValues('" + proNames + "','" + proIDs +
"','" + proCounts + "','" + proPrices + "','" + purchaseProIDs + "');", true); this.lbTotalInvoicePrice.Text = totalInvoicePrice.ToString("0.0"); } protected void Button1_Click(object sender, EventArgs e) { TaskListRecord record = new TaskListRecord(); record.Accepter = int.Parse(this.hf_FirstTransmitter.Value); record.AuditingSate = 3; record.DepartMentId = int.Parse(this.hf_applayDepartMent.Value); record.FirstAccepter = int.Parse(this.hf_FirstAccepter.Value); record.FirstSumitTime = Convert.ToDateTime(this.lbTime.Text); record.FirstTransmitter = int.Parse(this.hf_FirstTransmitter.Value); record.Mind = this.txtRemark.Text; record.Pass = 1; record.Subject = hf_subject.Value; record.SumitTime = DateTime.Now; record.TaskID = int.Parse(Request.QueryString["taskid"].ToString()); record.TaskTableID = (int)TaskNavigateEmun.ProPurchase; record.Transmitter = int.Parse(Session["Userid"].ToString()); if (SqlComm.TaskListRecordAdd(record) != 0) { SqlComm.UpdateTableByCondition("dbo.TaskListRecord", " AuditingSate=1", " ListID=" + Request.QueryString["listid"].ToString()); } } }

 产品购进系统购进单列表查询视图:

根据产品购进单查询产品对应总额:

CREATE FUNCTION [dbo].[getPurchaseTotalMonenyByPurchaseID]
( 
	@PurchaseID INT
)
RETURNS MONEY
AS 
BEGIN
DECLARE @totalMoney MONEY
SELECT @totalMoney=SUM(ProPrice*ProCount) FROM dbo.BioPurchasePro
WHERE PurchaseID=@PurchaseID
RETURN @totalMoney
END

购进单列表需要显示的信息:
主题,表单状态,订货公司,发货公司,订货申请人,订货部门,订货时间,订货总金额,入库时间,下次接收人(当前接收人)

需要的视图:

CREATE VIEW [dbo].[View_PurchaseAppInfoShowList]
AS

SELECT
	PurchaseID,
	Subject,
	DepartMentID,
	DepartMentName=dbo.FN_GetDepartMentByID(DepartMentID),
	AppUserId,
	AppUserName=dbo.getUserNameByUserID(AppUserId),
	RealUserID,
	RealUserName=dbo.getUserNameByUserID(RealUserID),
	OrderCom,
	SendComID,
	SendComName=dbo.getCustomerByID(SendComID),
	ArrivedTime,
	OrderTime,
	sendType,
	WholeType,
	AcceptUserid,
	PurchaseTotal=dbo.getPurchaseTotalMonenyByPurchaseID(PurchaseID),
	BillUserID,
	DeleteSate,
	Transmitter=ISNULL(dbo.FN_CurrentTransmitter(2,PurchaseID),'数据错误'),
	Listid= ISNULL(dbo.FN_GetDynamicId(2,PurchaseID),0),
	AuditingSate=ISNULL(dbo.FN_CurrentAuditingSate(2,PurchaseID),0)
FROM
	dbo.BioPurchaseAppInfo

 产品采购审核列表查询页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProPurchaseListShow.aspx.cs" 
Inherits="BioErpWeb.WholeSaleSystem.ProPurchase.ProPurchaseListShow" %> <%@ 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" /> <script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script> <link href="../../Scripts/jquery-ui-1.7.custom.css" rel="stylesheet" type="text/css" /> <script src="../../Scripts/jquery-ui-1.7.custom.min.js" type="text/javascript"></script> <link href="../../Styles/TopMenu2.css" rel="stylesheet" type="text/css" /> <link href="../../Styles/InputStyle1.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $().ready(function () { $("#txtNoteTime").datepicker({ dateFormat: 'yy-mm-dd' }); }); </script> </head> <body> <form id="form1" runat="server"> <div> </div> <div> <table class="maintable" style=" 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" Width="100px"></asp:TextBox> </td> <td class="tdsearch"> <asp:Label ID="Label2" runat="server" Text="购进申请人:"></asp:Label> <asp:TextBox ID="txtUserName" runat="server" Width="100px"></asp:TextBox> </td> <td class="tdsearch"> <asp:Label ID="Label11" runat="server" Text="提交时间"></asp:Label> <asp:TextBox ID="txtOrderTime" runat="server" Width="100px"></asp:TextBox> </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:ImageButton ID="imgbutnSearch" Width="60" Height="22" runat="server" ImageUrl="~/Web/images/Btnsearch.gif" onclick="imgbutnSearch_Click" />  </td> </tr> <tr> <td colspan="6" class="bottomtd"> <asp:GridView ID="GridView1" Width="100%" runat="server" AutoGenerateColumns="False" DataKeyNames="PurchaseID"> <Columns> <asp:HyperLinkField DataNavigateUrlFields="PurchaseID,Listid" DataNavigateUrlFormatString="ToOtherAspx.aspx?id={0}&listid={1}" DataTextField="Subject" Target="MainFrame" HeaderText="主题"> <ItemStyle Width="150px" HorizontalAlign="Center" /> <HeaderStyle Width="150px" HorizontalAlign="Center"/> </asp:HyperLinkField> <asp:BoundField DataField="AuditingSate" HeaderText="状态" HeaderStyle-HorizontalAlign="Center"/> <asp:TemplateField HeaderText="订货公司" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="Label6" runat="server" Text='<%# Eval("OrderCom") %>'></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("SendComName") %>'></asp:Label> </ItemTemplate> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:TemplateField HeaderText="订货申请人" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="Label8" runat="server" Text='<%#Eval("AppUserName") %>'></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("DepartMentName") %>'></asp:Label> </ItemTemplate> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:TemplateField HeaderText="订货时间" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="lbortime" runat="server" Text='<%# Convert.ToDateTime(Eval("OrderTime")).ToString("yyyy-MM-dd") %>'>
</asp:Label> </ItemTemplate> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:TemplateField HeaderText="订货总额" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="lbtotal" runat="server" Text='<%# Eval("PurchaseTotal") %>'></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='<%#Eval("Transmitter").ToString()%>'></asp:Label> </ItemTemplate> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:TemplateField HeaderText="" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <a href="ProPurchaseShow.aspx?taskid=<%#Eval("PurchaseID") %>&listid=<%#Eval("Listid")%>">查看详细</a> </ItemTemplate> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> </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> <tr><td colspan="5"> <asp:Button ID="Button1" runat="server" Text="导出全部" CssClass="btngreen" onclick="Button1_Click"/></td></tr> </table> </div> </form> </body> </html>

 后台代码:

public partial class ProPurchaseListShow: BasePage
    {
        
        public static int pageindex = 0;
        public static int pagesize = 10;
        public static string condition = "";

        protected void Page_Load(object sender, EventArgs e)
        {
            //Session["Userid"] = "29";
            if (Session["Userid"] == null)
            {
                Response.Redirect("../../web/UserLogin.aspx");
            }

        
            if (!IsPostBack)
            {

                getallBioCRMContractList();
            }
        }



        /// <summary>
        /// 查询所有员工信息
        /// </summary>
        private void getallBioCRMContractList()
        {
            //如果有商品采购系统权限(特许权限)的人员可以查看所有表单
            if (SqlComm.getUserRightsByUserId(Session["Userid"].ToString()).Contains(",47,"))
            {
                this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("dbo.View_PurchaseAppInfoShowList", condition);
                this.AspNetPager1.PageSize = pagesize;
                this.GridView1.DataSource = SqlComm.getDataByPageIndex("dbo.View_PurchaseAppInfoShowList", "*", 
"PurchaseID", condition, pageindex, pagesize); this.GridView1.DataBind(); } else if (Web.UserLogin.user.RoleId == ((int)RoseEmun.DepartMentManager)) { condition = condition + " and DepartMentID=" + Web.UserLogin.user.DepartmentId; this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("dbo.View_PurchaseAppInfoShowList", condition); this.AspNetPager1.PageSize = pagesize; this.GridView1.DataSource = SqlComm.getDataByPageIndex("dbo.View_PurchaseAppInfoShowList", "*",
"PurchaseID", condition, pageindex, pagesize); this.GridView1.DataBind(); } else //员工只能看自己的购进单 { condition = condition + " and AppUserId=" + Session["Userid"].ToString(); this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("dbo.View_PurchaseAppInfoShowList", condition); this.AspNetPager1.PageSize = pagesize; this.GridView1.DataSource = SqlComm.getDataByPageIndex("dbo.View_PurchaseAppInfoShowList", "*",
"PurchaseID", condition, pageindex, pagesize); this.GridView1.DataBind(); } for (int i = 0; i < GridView1.Rows.Count; i++) { switch (GridView1.Rows[i].Cells[1].Text) { case "0": GridView1.Rows[i].Cells[1].Text = "待审核"; GridView1.Rows[i].Cells[1].ForeColor = System.Drawing.Color.Green; break; case "2": GridView1.Rows[i].Cells[1].Text = "执行中"; GridView1.Rows[i].Cells[1].ForeColor = System.Drawing.Color.Orange; break; case "3": GridView1.Rows[i].Cells[1].Text = "已完成"; GridView1.Rows[i].Cells[1].ForeColor = System.Drawing.Color.Green; break; default: GridView1.Rows[i].Cells[1].Text = "出现错误"; break; } } } protected void AspNetPager1_PageChanged(object sender, EventArgs e) { pageindex = this.AspNetPager1.CurrentPageIndex - 1; getallBioCRMContractList(); } 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 Subject like '" + txtName.Text + "%'"; } if (this.txtUserName.Text.Trim() != null && this.txtUserName.Text.Trim().Length != 0) { condition = condition + " and AppUserName like '" + txtUserName.Text + "%'"; } if (this.ddlState.SelectedValue == "1") { condition = condition + " and DeleteSate ='True'"; } else { condition = condition + " and DeleteSate ='False'"; } if (this.txtOrderTime.Text.Trim() != null && this.txtOrderTime.Text.Trim().Length != 0) { condition = condition + " and (OrderTime>= '" + Convert.ToDateTime(this.txtOrderTime.Text) +
"' and OrderTime<'" + Convert.ToDateTime(this.txtOrderTime.Text).AddDays(1) + "')"; } getallBioCRMContractList(); } protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("ToExcel.aspx?name='产品购进单信息'"); } }

 导出的公用方法:

   /// <summary>
       /// 根据指定文件名称和文件类型导出数据
       /// </summary>
       /// <param name="FileName">文件名</param>
       /// <param name="FileType">文件类型(Execl:application/vnd.ms-excel  Word:application/msword)</param>
       public static void ExportFile(System.Web.UI.Page p, string FileName, string FileType)
       {
           p.Response.Clear();
           p.Response.ContentEncoding = System.Text.Encoding.Default;
           p.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
           p.Response.ContentType = FileType;          
       }
    }

 导出的前端代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ToExcel.aspx.cs" Inherits="BioErpWeb.WholeSaleSystem.ProPurchase.ToExcel" %>

<!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>
    <style type="text/css">
td{ text-align:center;}
  body{ background-color:transparent;}
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
                     <asp:GridView ID="GridView1" Width="100%"  runat="server"  AutoGenerateColumns="False" DataKeyNames="PurchaseID">
                         <Columns>    
                             <asp:TemplateField  HeaderText="序号">
                             <ItemTemplate>
                             <%#Container.DataItemIndex+1 %>
                             </ItemTemplate>
                             </asp:TemplateField>               
                             <asp:BoundField  DataField="Subject" HeaderText="主题" HeaderStyle-HorizontalAlign="Center"/>
                                                     
                             <asp:TemplateField HeaderText="订货公司" HeaderStyle-HorizontalAlign="Center">
                                 <ItemTemplate>
                                      <asp:Label ID="Label6" runat="server" Text='<%# Eval("OrderCom") %>'></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("SendComName") %>'></asp:Label>
                                 </ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                 <ItemStyle HorizontalAlign="Center" />
                             </asp:TemplateField>

                               <asp:TemplateField HeaderText="订货申请人" HeaderStyle-HorizontalAlign="Center">
                                 <ItemTemplate>
                                      <asp:Label ID="Label8" runat="server" Text='<%#Eval("AppUserName") %>'></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("DepartMentName") %>'></asp:Label>
                                 </ItemTemplate>   
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                 <ItemStyle HorizontalAlign="Center" />                          
                             </asp:TemplateField>
                               <asp:TemplateField HeaderText="订货时间" HeaderStyle-HorizontalAlign="Center">
                                <ItemTemplate>
                                      <asp:Label ID="lbortime" runat="server" Text='<%#  Convert.ToDateTime(Eval("OrderTime")).ToString("yyyy-MM-dd") %>'></asp:Label>
                                 </ItemTemplate>   
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                 <ItemStyle HorizontalAlign="Center" />                          
                             </asp:TemplateField>
                               <asp:TemplateField HeaderText="订货总额" HeaderStyle-HorizontalAlign="Center">
                                <ItemTemplate>
                                      <asp:Label ID="lbtotal" runat="server" Text='<%# Eval("PurchaseTotal") %>'></asp:Label>
                                 </ItemTemplate>   
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                 <ItemStyle HorizontalAlign="Center" />                          
                             </asp:TemplateField>
                      
                          
                         </Columns>
                     </asp:GridView>
    
    </div>
    </form>
</body>
</html>

 后台代码:

  public partial class ToExcel : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string filename = "";
            if (Request.QueryString["name"] != null)
            {
                filename = DateTime.Now.ToString("yyyyMMdd")+Request.QueryString["name"].ToString()+".xls";
            }
            else
            {
                filename = DateTime.Now.ToString("yyyyMMdd.xls");
            }

            Comm.ExportFile(this, filename, "application/ms-excel");
            gridviewbind();

          
        }

        /// <summary>
        /// 绑定gridview
        /// </summary>
        protected void gridviewbind()
        {
            this.GridView1.DataSource = SqlComm.GetDataByCondition("dbo.View_PurchaseAppInfoShowList", "*",null);
            this.GridView1.DataBind();
        }
    }

  

原文地址:https://www.cnblogs.com/sunliyuan/p/7407066.html