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

📄 u_messageinfo.asp

📁 物业管理和办公自动化系统
💻 ASP
字号:
<%@ language="VBScript"%>
<!-- #include file="../config/common.asp" -->
<!-- #include file="msg.inc" -->

<script language="VBScript">
'--------------------------------------------------------------------
' 判断用户作了什么动作,【关闭】、【回复】还是【删除】?
'--------------------------------------------------------------------
' 用户按了【关闭】按钮
sub btnClose_OnClick()
	document.HandleMessage.FormAction.value= "close"
	HandleMessage.submit()
'	window.close()
end sub

' 用户按了【回复】按钮
sub btnReply_OnClick()
	Dim sReply
	sReply = document.HandleMessage.reply.value
'	if IsEmpty(sReply) or trim(sRelpy) = "" then	'“这样写有问题唉!”
	if trim(sReply = "") then
		msgbox "请输入回复内容!"
		document.HandleMessage.reply.focus()
		exit sub
	end if
	document.HandleMessage.FormAction.value = "reply"
	HandleMessage.submit()
end sub

' 用户按了【删除】按钮
sub btnDelete_OnClick()
	document.HandleMessage.FormAction.value = "delete"
'	msgbox document.HandleMessage.FormAction.value
	HandleMessage.submit()
end sub
</script>

<%
'--------------------------------------------------------------------------------------
' 根据用户的选择:【关闭】、【回复】或【删除】进行相应的操作
' 变量前导 t 表示是本页传过来的参数
' 回复时消息发送者将成为回复消息的接收者,回复消息的主题将是"Re:原主题"
'--------------------------------------------------------------------------------------
Dim sActionError: sActionError = ""

Dim tFormAction	: tFormAction = GetParam("FormAction")
Dim tMsgType	: tMsgType = conMsgCommon
Dim tSerial		: tSerial = GetParam("PMSerial")
Dim tMsgSerial	: tMsgSerial = GetParam("MsgSerial")
Dim tSubject	: tSubject = GetParam("Subject")
Dim tContent	: tContent = GetParam("reply")
Dim tSender		: tSender = Session("UserID")
Dim tReceiver	: tReceiver = GetParam("Sender")

if Not IsEmpty(tMsgSubject) then
	tMsgSubject = "Re:" & tMsgSubject
end if

SELECT CASE tFormAction
case empty
	' do nothing
case "close"	' 更新消息的状态为已发送,然后关闭窗口
	cn.execute "update T_PersonalMessage set beRead = 1, new = 1 where Serial = " & ToSQL(tSerial, "Number")
	Response.write "<script language=""JavaScript"">self.close();</script>"
	Response.End
case "reply"	' 发送回复消息并更新原消息的状态为已阅读,然后关闭窗口
	sSQL = "proc_NewMessage" & _
		" " & ToSQL(tMsgType,"Number") & _
		"," & ToSQL(tSubject,"Text") & _
		"," & ToSQL(tContent,"Text") & _
		"," & ToSQL(tSender,"Text") & _
		"," & ToSQL(tReceiver,"Text") & _
		"," & ToSQL(tMsgSerial,"Number")
'	Response.write sSQL : response.end
	cn.Execute(sSQL)
	Response.write "<script language=""JavaScript"">alert('恭喜,消息已经成功地回复了!');self.close();</script>"

	'Dim rtnCode : rtnCode = newMessage("proc_NewMessage", tMsgType, tSubject, tContent, tSender, tReceiver, tMsgSerial)
'	Dim rtnCode : rtnCode = newMessage(tMsgType, tSubject, tContent, tSender, tReceiver, tMsgSerial)
'	if rtnCode = 0 then 
'		Response.write "<script language=""JavaScript"">alert('恭喜,消息已经成功地回复了!');self.close();</script>"
	'	Response.write "<script language=""JavaScript"">self.close();</script>"
'		Response.End
'	else
'		Response.write "<script language=""JavaScript"">alert('消息发送没有成功,错误码为" & rtnCode & "');history.back();</script>"
'		Response.End
'	end if
case "delete"	' 删除消息,然后关闭窗口
	cn.execute("delete from T_PersonalMessage where Serial = " & ToSQL(tSerial, "Number"))
	sActionError = ProcessError
	if sActionError <> "" then
		response.write "<script language='JavaScript'>alert('消息删除不成功!');self.close();</script>"
		Response.End
	else
		response.write "<script language='JavaScript'>alert('消息删除成功!');self.close();</script>"
		Response.End
	end if
case else
	response.write "<script language='JavaScript'>alert('怎么会到这里来的?');self.close();</script>" 	' 这种情况应该永远不会出现
	Response.End
END SELECT
%>

<%
'--------------------------------------------------------------------
' 调用存储过程将员工工号翻译成员工姓名
'--------------------------------------------------------------------
function getName(idlist)
	Dim rsName : rsName = CreateObject("ADODB.Recordset")
	Set rsName = cn.Execute("proc_transEmpList " & ToSQL(idlist,"Text"))
	getName = GetValue(rsName, "namelist")
	rsName.close
	Set rsName = nothing
end function
%>

<%
'--------------------------------------------------------------------
' 准备数据以备显示
'--------------------------------------------------------------------
Dim sMessageError : sMessageError = ""
Dim pAccountID	: pAccountID = ""
Dim pSerial		: pSerial = ""
Dim pMsgSerial	: pMsgSerial = ""
Dim pMsgType	: pMsgType = ""
Dim pSubject	: pSubject = ""
Dim pContent	: pContent = ""
Dim pSender		: pSender = ""
Dim pSendTime	: pSendTime = ""
Dim pReceiver	: pReceiver = ""
Dim pSenderName	: pSenderName = ""	' 翻译发送者姓名

'------------------------------------------
' 是不是传了T_PersonalMessage的消息序列号参数
'------------------------------------------
pSerial = GetParam("pmSerial")
if IsEmpty(pSerial) then	sMessageError = "Error:无个人消息序列号参数"

'------------------------------------------
' 在T_Message中是不是找得到这样的消息
'------------------------------------------
sSQL = "select Account_id, Message_Serial, Message_Type, Subject, Content, Sender, Send_Time, Receiver from T_Message T1, T_PersonalMessage T2 where T2.Message_Serial = T1.Serial and T2.Serial = " & ToSQL(pSerial,"Number")
openrs rsMessage, sSQL
if rsMessage.EOF then	
	sMessageError = "Error:无相应的消息(T_PersonalMessage或T_Message中无相应记录)" & sSQL
end if

'------------------------------------------
' 该消息的主人是不是正在浏览的人
'------------------------------------------
pAccountID = GetValue(rsMessage, "Account_id")
if LCase(pAccountID) <> LCase(Session("UserID")) then 
'	sMessageError = "Error:不能偷看其它人的消息哦:" & pAccountID & ":" & Session("UserID") & ":" & sSQL
end if

if sMessageError <> "" then
'	response.write "<script language='JavaScript'>window.alert('消息已经删除,请刷新页面!!!');self.close();</script>"
	response.write "<script language='JavaScript'>window.alert('" & sMessageError &"');</script>"
end if

'------------------------------------------
' 从RecordSet中取到相应的值
'------------------------------------------
pMsgSerial = GetValue(rsMessage, "Message_Serial")
pMsgType = GetValue(rsMessage, "Message_Type")
pSubject = GetValue(rsMessage, "Subject")
pContent = GetValue(rsMessage, "Content")
pSender = GetValue(rsMessage, "Sender")
pSendTime = GetValue(rsMessage, "Send_Time")
pReceiver = GetValue(rsMessage, "Receiver")
	
'------------------------------------------
' 调用函数getName()翻译发送者和接收者的姓名
'------------------------------------------
pSenderName = getName(pSender)		' 翻译发送者姓名
pReceiver = getName(pReceiver)	' 翻译接收者姓名

'------------------------------------------
' 发送时间显示到分钟
'------------------------------------------
pSendTime = FormatDateTime(pSendTime, vbGeneralDate)

'------------------------------------------
' 释放
'------------------------------------------
rsMessage.close
Set rsMessage = nothing
%>

<html>
<head>
<style>
td {border-width:1px;border-color:white #D0D0D0 #D0D0D0 #D0D0D0;border-style:solid;font-size:9pt;height:20}
body {background-color:white;color:#000000;font-family:Arial,Tahoma,Verdana,Helvetica;color:#508CFF;
	scrollbar-face-color:#FFFFFF; scrollbar-shadow-color:#FFFFFF; scrollbar-highlight-color:#FFFFFF; scrollbar-3dlight-color:#FFFFFF; scrollbar-darkshadow-color:#FFFFFF; scrollbar-track-color:#FFFFFF; scrollbar-arrow-color:gray;
	margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px}
textarea {border-width:1px;border-color:gray;border-style:solid;font-size:9pt;line-height:14pt;}
.flatctrl {border-width:1px;border-color:gray; border-style:solid;font-size:9pt;line-heigth:20px}
</style>
</head>
<!--bgsound src="remind.wav" loop=1-->
<body>
<table cellspacing=0 cellpadding=0 width=300>
	<tr><td align=center style="border-color:#D0D0D0 #D0D0D0 #D0D0D0 #D0D0D0;font-size:11pt;font-weight:600;height:30px">
	<% 
		if pMsgType = conMsgBulletin then 
			response.write "最新公告" 
		elseif pMsgType = conMsgCommon then
			response.write "最新消息"
		elseif pMsgType = conMsgTaskRemind then
			response.write "任务提醒"
		elseif pMsgType = conMsgRMRemind then
			response.write "例会提醒"
		end if
	%></td></tr>
	<tr><td style="padding-left:5px;padding-right:10px" align="left">&nbsp;消息接收者:<font color="black"><%=pReceiver%></font></td></tr>
	<tr><td style="padding-left:5px;padding-right:10px">&nbsp;标题:<font color="black"><%=pSubject%></font></td></tr>
	<tr><td style="padding-left:5px;padding-right:10px">&nbsp;内容:<br><font color="black"><%=unescape(replace(escape(pContent),"%0D%0A","<br>"))%></font></td></tr>
	<tr><td align="right" style="padding-right:15px">&nbsp;<font color="black"><%=pSenderName%> <%=pSendTime%></font></td></tr>

<Form method="post" action="u_MessageInfo.asp" name="HandleMessage">
	<tr><td style="padding-left:5px">回复标题:<br><input type="text" name="Subject" class="FlatCtrl" size="50" maxlength="50" value="Re:<%=pSubject%>"></td></tr>

	<tr><td style="padding-left:5px">回复内容:<br><textarea name="reply" onFocus="JavaScript:this.select();" cols="48" rows=5>(这里填写回复内容)</textarea></td></tr>
	<tr><td align="center">

		<input type="hidden" name="PMSerial" value="<%=pSerial%>">
		<input type="hidden" name="MsgSerial" value="<%=pMsgSerial%>">
		<input type="hidden" name="Sender" value="<%=pSender%>">

		<input type="hidden" name="FormAction" value="close">
		<input type="button" name="btnReply" value=" 回复 " class="flatctrl"> 
		<input type="button" name="btnDelete" value=" 删除 " class="flatctrl"> 
		<input type="button" name="btnClose" value=" 关闭 " class="flatctrl">
	</td></tr>
</Form>

</table>
</body>
</html>

⌨️ 快捷键说明

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