合同审核完成页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CRMContractOver.aspx.cs" Inherits="BioErpWeb.CRMSystem.CRMContract.CRMContractOver" %>

<!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="../../JS/CheckUserName.js" type="text/javascript"></script>
<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>
<script src="../../JS/CustomerName.js" type="text/javascript"></script>
<link href="../../Styles/InputStyle1.css" rel="stylesheet" type="text/css" />
<script src="../../JS/CheckDepartMent.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.7.custom.min.js" type="text/javascript"></script>
<link href="../../Scripts/jquery-ui-1.7.custom.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready(function () {
$("#form1").validate(); });
</script>
<style type="text/css">
.style1
{
width: 73px;
}
</style>
</head>
<body>
<form id="form1" runat="server"> <div>
<table class="maintable Inupttable" style=" width:900px;">
<tr>
<td colspan="8" class="titlebar">合同完成</td>
</tr>
<tr>
<td class="style1">合同名称</td><td class="style3"><asp:TextBox ID="txtName" CssClass="required" runat="server"></asp:TextBox></td>
<td class="style4">合同负责人</td><td><asp:TextBox ID="txtUser2" CssClass="{required:true,digits:true, min:1}" runat="server"></asp:TextBox>
</td>
<td class="style7">所属部门</td><td class="style6">
<asp:TextBox ID="txtDepartMentID" CssClass="{required:true,digits:true, min:1}" runat="server"></asp:TextBox>
</td>
<td>合同创建时间</td><td>
<asp:TextBox ID="txtCreatTime" CssClass="{required:true,dateISO:true}" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style1">签约客户</td><td class="style3"><asp:TextBox ID="txtCustomer" CssClass="{required:true,digits:true, min:1}" runat="server"></asp:TextBox>
 </td>
<td class="style4">签约金额</td><td><asp:TextBox ID="txtSum" CssClass="{required:true,number:true}" runat="server"></asp:TextBox>元(RMB)</td>
<td class="style7">计划签约时间</td><td class="style6"><asp:TextBox ID="txtSinTime" CssClass="{required:true,dateISO:true}" runat="server"></asp:TextBox></td>
<td>生效时间</td><td><asp:TextBox ID="txtEffectiveTime" CssClass="{required:true,dateISO:true}" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td class="style1">截止时间</td><td class="style3" ><asp:TextBox ID="txtEndTime" CssClass="{required:true,dateISO:true}" runat="server"></asp:TextBox></td>
<td class="style4"> </td><td colspan="5"> </td> </tr>
<tr>
<td class="style1">合同内容</td><td colspan="7">
<asp:TextBox ID="txtDesc" CssClass="required"
runat="server" Height="300px" Width="100%" Rows="10" TextMode="MultiLine"></asp:TextBox></td> </tr>
<tr>
<td class="style1">合同附件</td><td colspan="5">
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/Web/images/files.gif" Width="26px" Height="24px"
onclick="ImageButton1_Click"/>
(下载)</td>
<td>合同类型</td><td>
<asp:DropDownList ID="ddlType" runat="server">
<asp:ListItem>买卖合同</asp:ListItem>
<asp:ListItem>运输合同</asp:ListItem>
<asp:ListItem>技术合同</asp:ListItem>
<asp:ListItem>保管合同</asp:ListItem>
<asp:ListItem>仓储合同</asp:ListItem>
<asp:ListItem>委托合同</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td class="style1">历史意见</td><td colspan="7">
<asp:Label ID="lbHistory" Width="99%" runat="server"
Text=""></asp:Label> </td>
</tr>
<tr>
<td class="style1">审批意见</td><td colspan="5">
<asp:TextBox ID="txtMind" Width="80%" runat="server"></asp:TextBox> </td>
<td>
<asp:Label ID="lbIsCheck" runat="server" Text="法律顾问意见"></asp:Label> </td><td>
<asp:CheckBox ID="cbIsCheck" Text="符合法律效应" BorderStyle="None" runat="server" /></td>
</tr>
<tr>
<td colspan="8" class="bottomtd">
<asp:Button ID="btnSubmit" runat="server" BackColor="#51C600" Text="结束流程"
onclick="btnSubmit_Click" /> </td>
</tr>
<tr> <td colspan="8"> <asp:HiddenField ID="hf_FirstAccepter" runat="server" />
<asp:HiddenField ID="hf_FirstTransmitter" runat="server" />
<asp:HiddenField ID="hf_FirstDateTime" runat="server" />
<asp:HiddenField ID="hfFileName" runat="server" />
</td>
</tr>
</table> </div>
</form>
</body>
</html>

是否符合法律效应:

 if (this.cbIsCheck.Checked == false)
{
ClientScript.RegisterStartupScript(this.GetType(), "test", "alert('无法律资质审核不能执行')", true);
return;
}

结束流程的代码:

 //如果不是合同负责人本人,则不能修改合同的相关信息,只能发表审批意见或则如果是法律顾问权限人员则可以修改法律审核备注
protected void btnSubmit_Click(object sender, EventArgs e)
{
TaskListRecord tasklistRecord =null; tasklistRecord = new TaskListRecord()
{
Accepter=int.Parse(this.txtUser2.Text),
Transmitter = int.Parse(this.txtUser2.Text),
AuditingSate = 3,
DepartMentId = int.Parse(this.txtDepartMentID.Text),
FirstAccepter = int.Parse(this.hf_FirstAccepter.Value),
FirstSumitTime = Convert.ToDateTime(this.hf_FirstDateTime.Value),
FirstTransmitter = int.Parse(this.hf_FirstTransmitter.Value),
Mind =this.txtMind.Text,
Pass = 1,
Subject = this.txtName.Text,
SumitTime = DateTime.Now,
TaskID =int.Parse(contractid),
TaskTableID = 1
}; //向流程表添加一条新的记录
if (SqlComm.TaskListRecordAdd(tasklistRecord) != 0)
{
SqlComm.UpdateTableByCondition("dbo.TaskListRecord", " AuditingSate=1", " ListID=" + tasklistid);
ClientScript.RegisterStartupScript(this.GetType(), "test", "alert('合同流程审核结束,可以签约')", true);
}
}

合同主体的跳转页面:(只用后台的代码)

 protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["id"] == null || Request.QueryString["listid"] == null)
{
Response.Redirect("CRMContractListShow.aspx");
return;
} string id = Request.QueryString["id"].ToString();
string listid = Request.QueryString["listid"].ToString();
System.Data.DataTable dt = CommTool.SqlComm.GetDataByCondition("dbo.TaskListRecord", "ListID,TaskID,TaskTableID,Accepter,AuditingSate", " ListID=" + listid).Tables[0];
if (dt.Rows.Count == 0)
{
Response.Redirect("CRMContractListShow.aspx");
return;
} if (dt.Rows[0]["Accepter"].ToString() != Session["Userid"].ToString())
{
Response.Redirect("")
} if (dt.Rows[0]["Accepter"].ToString() != Session["Userid"].ToString())
{
Response.Redirect("CRMContractShow.aspx?taskid=" + id + "&listid=" + listid);
return;
}
else
{
if (dt.Rows[0]["AuditingSate"].ToString() == "0")
{
Response.Redirect("CRMContractEidt.aspx?taskid=" + id + "&listid=" + listid);
return;
}
else if (dt.Rows[0]["AuditingSate"].ToString() == "2")
{
Response.Redirect("CRMContractOver.aspx?taskid=" + id + "&listid=" + listid);
return;
}
else if (dt.Rows[0]["AuditingSate"].ToString() == "3")
{
Response.Redirect("CRMContractShow.aspx?taskid=" + id + "&listid=" + listid);
return;
}
}
}

执行一个sql语句

       /// <summary>
/// 执行一个Sql语句或相关的存储过程返回一个对象
/// </summary>
/// <param name="tableName"></param>
/// <param name="columns"></param>
/// <param name="condition"></param>
/// <returns></returns>
public static Object GetObjectByCondition(string tableName, string columns, string condition)
{
SqlParameter[] pars = new SqlParameter[]{
new SqlParameter("@tableName",tableName),
new SqlParameter("@columns",columns),
new SqlParameter("@condition",condition)
};
object obj = DataBaseHelper.SelectSQLReturnObject("GetDataByCondition", CommandType.StoredProcedure, pars); return obj;
}

下载获取文件的后缀名:

  Object o= SqlComm.GetObjectByCondition("BioCrmCorrelationDocument","Name"," DocumentID="+ contactinfo.DocumentID);
if (o != null)
{
this.hfFileName.Value = o.ToString();
}

防止重复提交:

1.设计一个全局变量。点击后改变全局变量。
2.点击后设置按钮Enable属性。

 bool issubmit = false;
if (issubmit)
{
Response.Redirect("~/Web/Desk.aspx");
return;
}

把下载的方法封装成通用的方法:

 /// <summary>
/// 根据文档编号下载文档内容
/// </summary>
/// <param name="documentid"></param>
public static void FileDownLoad(System.Web.UI.Page p, string documentid)
{
byte[] data = null; data= Comm.GetDownDocumet("BioCrmCorrelationDocument", "Content", " DocumentID=" + documentid);
string filename = SqlComm.GetObjectByCondition("BioCrmCorrelationDocument", "Name", " DocumentID=" + documentid).ToString(); p.Response.ClearContent();
//创建弹出式Windows下载窗体
p.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename));
//把二进制数组写入Http输出流
p.Response.BinaryWrite(data);
//想当前客户端缓冲区输出
p.Response.Flush();
//停止执行
p.Response.End(); }

通用方法的调用:

 Comm.FileDownLoad(this, documentsid);

ERP合同列表页面自动导航(三十二)的更多相关文章

  1. Bootstrap <基础三十二>模态框(Modal)插件

    模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用  ...

  2. NeHe OpenGL教程 第三十二课:拾取游戏

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  3. SQL注入之Sqli-labs系列第三十二关(基于宽字符逃逸注入)

    开始挑战第三十二关(Bypass addslashes) 0x1查看源代码 (1)代码关键点 很明显,代码中利用正则匹配将 [ /,'," ]这些三个符号都过滤掉了 function che ...

  4. 微信小程序把玩(三十二)Image API

    原文:微信小程序把玩(三十二)Image API 选择图片时可设置图片是否是原图,图片来源.这用的也挺常见的,比如个人中心中设置头像,可以与wx.upLoadFile()API使用 主要方法: wx. ...

  5. 《手把手教你》系列技巧篇(三十二)-java+ selenium自动化测试-select 下拉框(详解教程)

    1.简介 在实际自动化测试过程中,我们也避免不了会遇到下拉选择的测试,因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助. 2.select 下拉框 2.1Select ...

  6. COJ968 WZJ的数据结构(负三十二)

    WZJ的数据结构(负三十二) 难度级别:D: 运行时间限制:5000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 给你一棵N个点的无根树,边上均有权值,每个点上有 ...

  7. 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)

    摘自 http://blog.csdn.net/liujun13579/article/details/7773945 三十二.Java图形化界面设计--布局管理器之CardLayout(卡片布局) ...

  8. JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用

    JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...

  9. Java进阶(三十二) HttpClient使用详解

    Java进阶(三十二) HttpClient使用详解 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们 ...

随机推荐

  1. python---RabbitMQ(1)简单队列使用,消息依次分发(一对一),消息持久化处理

    MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的是程序之间 ...

  2. 学习windows编程 day4 之视口和窗口

    LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...

  3. bootstrap3 input 验证样式【转】

    feedback <form role="form"> <div class="form-group has-success has-feedback& ...

  4. HDU4685 Prince and Princess【强连通】

    题意: 有n个王子和m个公主,每个王子都会喜欢若干个公主,也就是王子只跟自己喜欢的公主结婚,公主就比较悲惨, 跟谁结婚都行.然后输出王子可能的结婚对象,必须保证王子与任意这些对象中的一个结婚,都不会影 ...

  5. HDU 1162 Eddy's picture (最小生成树 prim)

    题目链接 Problem Description Eddy begins to like painting pictures recently ,he is sure of himself to be ...

  6. HTTP 协议报文解析

    说明转载自https://blog.csdn.net/chf1142152101/article/details/74162755 本篇主要是为了记录HTTP中报文的格式,以便针对报文进行解析.首先会 ...

  7. A - A Secret (扩展kmp)

    题目链接:https://cn.vjudge.net/contest/283743#problem/A 题目大意:给你字符串s1和s2,然后问你s2的每一个后缀在s1中出现的次数之和(可重叠). 具体 ...

  8. More Effective C++ 条款0,1

    More Effective C++ 条款0,1 条款0 关于编译器 不同的编译器支持C++的特性能力不同.有些编译器不支持bool类型,此时可用 enum bool{false, true};枚举类 ...

  9. HTML中Meta标签中http-equiv属性

    HTML中Meta标签中http-equiv的用法: <meta http-equiv="这里是参数" content="这里是参数值"> 1.Ex ...

  10. IDEA常用快捷键和常用插件集成,持续更新......

    用习惯了eclipse,不容易转过来,记一下! 快捷键 psvm: main 方法快捷键 sout :syso快捷键 CTRL+O: 重写父类方法 Ctrl+Alt+V :自动补全返回值 Ctrl+S ...