⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newdocument.aspx.cs

📁 一套OA系统,使用SQL Server为后台数据库ASP.NET C#语言开发
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using UDS.Components;
using System.Data.SqlClient;

namespace UDS.SubModule.UnitiveDocument.DocumentFlow
{
	/// <summary>
	/// NewDocument 的摘要说明。
	/// </summary>
	public class NewDocument : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Table ht;
		protected System.Web.UI.WebControls.TextBox TextBox1;
		protected System.Web.UI.WebControls.Label Label1;
		protected System.Web.UI.WebControls.Button cmdDelete;
		protected System.Web.UI.WebControls.Button cmdReturn;
		protected System.Web.UI.WebControls.Button cmdSend;
		protected System.Web.UI.WebControls.Button cmdSave;
			
		private		long	StepID;
		private		long	FlowID;
		private		long	FieldNum=0;
		private		long	DocID;
		private		bool	bEditMode;		
		private		string	UserName;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
		protected System.Web.UI.WebControls.TextBox TextBox2;	
		private	long	ProjectID=-1;
		protected System.Web.UI.HtmlControls.HtmlInputHidden PID;
		protected System.Web.UI.HtmlControls.HtmlSelect ddlProject;
		private		ArrayList al = new ArrayList(); 
		
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			FlowID		= Int32.Parse(Request.QueryString["FlowID"]==null?"0":Request.QueryString["FlowID"].ToString());
			DocID		= Int32.Parse(Request.QueryString["DocID"]==null?"0":Request.QueryString["DocID"].ToString());
			UserName	= Request.Cookies["UserName"].Value.ToString(); 
			
			//动态添加控件
				

			//if(!Page.IsPostBack)			
				Bind();

			InitControl(DocID);		
					
		}
		private void Bind()
		{
			UDS.Components.DocumentFlow df =new UDS.Components.DocumentFlow();
			

			if(DocID>0)
			{				

				//读取稿件内容				
				FlowID		= df.GetDocumentFlowID(DocID);
				StepID		= df.GetDocumentStepID(DocID);				
				ProjectID	= 0;
				cmdSend.Enabled		= true;
				cmdDelete.Enabled	= true;
				bEditMode			= true;
				if(df.IsProject(UserName,DocID))
				{

					ProjectID = Int32.Parse(PID.Value);
					if(!Page.IsPostBack)
					{
						DataTable dt;

						ddlProject.Visible = true;
						ddlProject.Items.Clear();

						df.GetProject(UserName,out dt);

						ddlProject.DataSource		= dt.DefaultView;
						ddlProject.DataTextField	= "ClassName";
						ddlProject.DataValueField	= "ClassID";
						ddlProject.DataBind();

						//				for(int i=0;i<ddlProject.Items.Count;i++)
						//				{
						//					if(ddlProject.Items[i].Value.ToString()==UDS.Components.DocumentFlow.GetDocumentProjectID(DocID).ToString())
						//						ddlProject.SelectedIndex = i;
						//				}

						if(ddlProject.Items.Count>0)
						{
							PID.Value = ddlProject.Items[0].Value.ToString(); 
						}							
					}
				}
				else
				{
//					StepID = 1;		
//					cmdSend.Enabled		= false;
//					cmdDelete.Enabled	= false;
//					bEditMode			= false;
					ddlProject.Visible = false;					
					ddlProject.EnableViewState = false;
				}
			}
			else
			{
				StepID = 1;		
				cmdSend.Enabled		= false;
				cmdDelete.Enabled	= false;
				bEditMode			= false;
				ddlProject.EnableViewState = false;
				ddlProject.Visible = false;
			}

			df = null;

		}
		private void InitControl(long DocID)
		{
			UDS.Components.DocumentFlow df = new UDS.Components.DocumentFlow();

			SqlDataReader dr; //存放人物的数据
			DataTable dt	= null;						
				


			df.GetStyleDescription(FlowID,0,out dr); 
			if(DocID>0)
				df.GetDocumentInfo(DocID,out dt);

			ht.Style["Left"]="1px";
			ht.Style["Top"]="1px";

			al.Clear();
			AddHeadlin();		
			
			while(dr.Read())
			{
				TextBox txt					= new TextBox();				

				txt.ID ="txt" + dr["Field_Name"].ToString();
				al.Add(dr["Field_Name"].ToString());
				
				if(dr["MultiLine"].ToString()!="False")
				{
					txt.TextMode = TextBoxMode.MultiLine; 									
				}
				txt.Height		= Int32.Parse( dr["Height"].ToString());
				txt.Width		= Int32.Parse( dr["Width"].ToString());
				txt.CssClass	= "Input3";
				
				if(DocID>0)
				{
					if(dt.Rows.Count >0)
						txt.Text = dt.Rows[0][dr["Field_Name"].ToString()].ToString();
					else
						txt.Text ="不存在";
				}
				else
					txt.Text ="";
					
				
				TableRow  tr	= new TableRow();
				TableCell tl	= new TableCell();
				TableCell tc	= new TableCell();
				Literal lt		= new Literal();				
				
				lt.Text			= dr["Example"].ToString();
				
				tc.Controls.Add(txt);
				if(FieldNum==0||dr["judged"].ToString()=="True")
				{
					RequiredFieldValidator  rfv		= new RequiredFieldValidator(); 				
					rfv.ControlToValidate			= txt.ID;
					rfv.ErrorMessage				= "(*)";					
					rfv.Display						= ValidatorDisplay.Dynamic;					
					rfv.EnableClientScript			= true;

					tc.Controls.Add(rfv);					
				}
				if(dr["judged"].ToString()=="True")
				{

					RegularExpressionValidator rev	= new RegularExpressionValidator();

					rev.ErrorMessage				= "填写数字";
					rev.ControlToValidate			= txt.ID;
					rev.ValidationExpression		= @"\d+";

					rev.Display						= ValidatorDisplay.Dynamic;
					
					tc.Controls.Add(rev);

				}


				tc.Controls.Add(lt);

				tl.Text					= dr["Field_Description"].ToString() + ":";
				
				if(dr["MultiLine"].ToString()!="False")
					tl.VerticalAlign	= VerticalAlign.Top;
				else
					tl.VerticalAlign	= VerticalAlign.Middle;
				tl.HorizontalAlign		= HorizontalAlign.Right;				


				tr.Cells.Add(tl);
				tr.Cells.Add(tc);
				ht.Rows.Add(tr);

				tc = null;
				tl = null;
				tr = null;

				FieldNum +=1;

			}
			dr.Close();			
			dr = null;
			
			if(DocID>0)
				AddAttach(DocID);

			AddAttachControl();
			AddProjectControl();
			AddControl();

			//=============================//
			//			添加批注
			//=============================//
			DataTable dtPostil;
			df.GetDocumentPostil(DocID,out dtPostil); 
				
			if(dtPostil!=null)
			{
				if(dtPostil.Rows.Count>0)
				{
					Table tb	= new Table();
					tb.CssClass ="GbText";
					tb.Width = Unit.Percentage(98);
					AddRow(tb,"审批意见");
					AddPostitleHead(tb);

					for(int i=0;i<dtPostil.Rows.Count;i++)					
					{
						AddRow(tb,dtPostil.Rows[i]["RealName"].ToString(),dtPostil.Rows[i]["Postil_Date"].ToString(),dtPostil.Rows[i]["Postil_Content"].ToString(),Int32.Parse(dtPostil.Rows[i]["Postil_Type"].ToString() ),dtPostil.Rows[i]["FileName"].ToString(),dtPostil.Rows[i]["FileVisualPath"].ToString(),dtPostil.Rows[i]["UsedTime"].ToString());
					}
					AddTable(ht,tb);
				}
			}
			dtPostil = null;
									
			

		}
		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    			
			this.cmdSave.Click += new System.EventHandler(this.cmdSave_Click);
			this.cmdSend.Click += new System.EventHandler(this.cmdSend_Click);
			this.cmdDelete.Click += new System.EventHandler(this.cmdDelete_Click);
			this.cmdReturn.Click += new System.EventHandler(this.cmdReturn_Click);
			this.PID.ServerChange += new System.EventHandler(this.PID_ServerChange);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void AddTable(Table tab,Table tb)
		{
			TableRow tr		= new TableRow();
			TableCell tl	= new TableCell();
			tl.ColumnSpan	= 2;
			tl.Width		= Unit.Percentage(100);
			tl.HorizontalAlign  = HorizontalAlign.Center;
			//tl.Attributes["background"]="../../../Images/treetopbg.jpg";			
			tl.Controls.Add(tb);
			//tl.BackColor = Color.FromArgb(0xff,0xff,0xef);

			tr.Height		= 28;
			tr.Cells.Add(tl);

			tab.Rows.Add(tr);

			tl = null;
			tr = null;			

		}

		private void AddRow(Table tab,string Caption)
		{
			TableRow tr		= new TableRow();
			TableCell tl	= new TableCell();
			
			tl.Text			= Caption;	
			tl.ColumnSpan	= 6 ;
			tl.Width		= Unit.Percentage(100);
			tl.HorizontalAlign  = HorizontalAlign.Center;
			tl.Attributes["background"]="../../../Images/treetopbg.jpg";			
			//tl.BackColor = Color.FromArgb(0xff,0xff,0xef);

			tr.Height		= 28;
			tr.Cells.Add(tl);

			tab.Rows.Add(tr);

			tl = null;
			tr = null;			
		}
		private void AddRow(Table tab,string Postiler,string PostilTime,string PostilContent,int PostilType,string FileName,string FileVisualPath,string UsedTime)
		{
			TableRow tr						=	new TableRow();
			TableCell tdPotiler				=	new TableCell();
			TableCell tdPostilTime			=	new TableCell();
			TableCell tdPotilType			=	new TableCell();
			TableCell tdPotilContent		=	new TableCell();
			TableCell tdAttachFiles			=	new TableCell();
			TableCell tdTime				=	new TableCell();
			
			
			tdPotiler.Text					= Postiler;
			tdPotiler.HorizontalAlign		= HorizontalAlign.Center;
			tdPotiler.Width					= Unit.Percentage(20);
			

			tdPostilTime.Text				= PostilTime;
			tdPostilTime.HorizontalAlign	= HorizontalAlign.Center;
			tdPostilTime.Width				= Unit.Percentage(20);
			switch(PostilType)
			{
				case 1:
					tdPotilType.Text				= "同意";
					break;
				case 2:
					tdPotilType.Text				= "拒绝";
					break;
				case 3:
					tdPotilType.Text				= "完成";
					break;
				case 4:
					tdPotilType.Text				= "回退";
					break;
				default:
					break;
			}			
			tdPotilType.HorizontalAlign		= HorizontalAlign.Center;
			tdPotilType.Width				= Unit.Percentage(10);


			tdPotilContent.Text				= PostilContent;
			tdPotilContent.HorizontalAlign	= HorizontalAlign.Left;
			tdPotilContent.Width			= Unit.Percentage(30);
	
			tr.Height  =22;
			tr.BackColor = Color.FromArgb(0xe8,0xf4,0xff);
			

			string FilePath		= FileVisualPath + FileName;
			tdAttachFiles.Text				= "<a href='" +"." + FilePath.Replace("\\","/") +"' target='_blank'>" + FileName + "</a>";
			
			tdAttachFiles.HorizontalAlign	= HorizontalAlign.Center  ;
			tdAttachFiles.Width				= Unit.Percentage(10);

			tdTime.Text						= UsedTime;
			tdTime.HorizontalAlign			= HorizontalAlign.Center  ;
			tdTime.Width					= Unit.Percentage(10);

			tr.Cells.Add(tdPotiler);
			tr.Cells.Add(tdPostilTime);
			tr.Cells.Add(tdPotilType);
			tr.Cells.Add(tdPotilContent);
			tr.Cells.Add(tdAttachFiles);
			tr.Cells.Add(tdTime);


			tab.Rows.Add(tr);


			tdPotiler		= null;
			tdPostilTime	= null;
			tdPotilType		= null;
			tdPotilContent	= null;
			tdAttachFiles	= null;
			tdTime			= null;

			tr				= null;					
		}
		private void AddPostitleHead(Table tab)
		{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -