合同审核完成页面:

<%@ 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. java.lang.UnsupportedClassVersionError: xxx/xxxClass : Unsupported major.minor version 51.0【转】

    以下小段参考自overflow: Unsupported major.minor version 52.0 [duplicate] 或csdn也有提及 : http://blog.csdn.net/p ...

  2. collectd使用

    1.什么是collectd collectd是一款基于C语言研发的插件式架构的监控软件,它可以收集各种来源的指标,如操作系统,应用程序,日志文件和外部设备,并存储此信息或通过网络提供.这些统计数据可用 ...

  3. numpy笔记—np.squeeze用法

    import numpy as np x = np.array([[[0], [1], [2]]]) print(x.shape) d = np.squeeze(x) # 从数组的形状中删除单维条目, ...

  4. SLT 优先队列 哈弗曼树最小带权路径

    与普通的队列不同,普通的队列是先进先出的,而优先队列出队的顺序不是先进先出,而是大(或者小)元素先出队,需要#include <queue> 成员函数 成员函数 作用 empty() 判断 ...

  5. C++内存管理(转)http://www.cnblogs.com/qiubole/archive/2008/03/07/1094770.html

    [导语] 内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不 ...

  6. Java EE之分页器设计

    由于数据库实训的课程设计,在做项目过程中,需要使项目更加规范的结构和各层间责任分离.无疑地,分页器是其中之一. 1. 本文仅陈述分页器如何实现,关于分页器的其他概念,请自行搜索其他网络资源. 2. 关 ...

  7. Eclipse通用设置

    分类 Eclipse分为64位.32位,安装版.免安装版 查看Eclipse版本信息 Help - About Eclipse - Installation Details

  8. JS执行一次任务与定期任务与清除执行

    1.一次性任务的执行与清除执行 1.定期执行 <script> timer = 0; timer = setTimeout(function() { console.log("s ...

  9. ubuntu 14.04 安装 eclipse

    在安装 eclipse 之前必须先安装 jdk 1. 卸载默认的 jdk,以防安装出错 sudo apt-get purge openjdk* 2. 安装 jdk1.8.0_111 下载jdk1.8. ...

  10. Windows和Mac上NodeJS和Express的安装

    一.安装NodeJS,官网上下载,https://nodejs.org/en/ 直接下一步安装就行了. 打开命令行工具,输入 node -v 则会出现node的版本,则成功了. 下面我们介绍如何安装e ...