📄 classhotel.asp
字号:
ReturnString = ""
Dim ItemHTML
For i = 1 To RowCount
ItemHTML = MatchString
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_HotelID}", rsSearch("HotelID"))
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_Province}", EL_Common.HTMLEncode(rsSearch("Province")))
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_City}", EL_Common.HTMLEncode(rsSearch("City")))
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_Area}", EL_Common.HTMLEncode(rsSearch("Area")))
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_HotelName}", EL_Common.HTMLEncode(rsSearch("HotelName")))
If rsSearch("Commended") Then
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_Commend}", "<img src='"& InstallDir & EL_Channel.ChannelDir &"/Images/Commend.gif' border=0>")
Else
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_Commend}", "")
End If
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_MinPrice}", Search_GetHotelMinPrice(rsSearch("HotelID"), ArrHotelMinPrice))
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_LevelPictrue}", "<img src='"& rsSearch("LevelPictrue") &"' border=0 alt='"& EL_Common.ServerHTMLEncode(rsSearch("LevelName")) &"'>")
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_LevelName}", EL_Common.ServerHTMLEncode(rsSearch("LevelName")))
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_Address}", rsSearch("Address"))
If Trim(rsSearch("DefaultPictrue")) = "" Then
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_DefaultPictrue}", "")
Else
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_DefaultPictrue}", "<img src='"& EL_Common.PictrueURL(rsSearch("DefaultPictrue"), EL_Channel.FilePath) &"' width=110 height=80 border=0>")
End If
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_Content}", EL_Common.GetTopic(EL_Common.RemoveHTML(rsSearch("Content")), EL_Common.Lang("Hotel.ContentLen", 250)))
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_AroundSight}", AroundInfoURL(rsSearch("AroundSight")))
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_AroundHotel}", AroundInfoURL(rsSearch("AroundHotel")))
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_RoomList}", Search_RoomList(rsSearch("HotelID")))
ReturnString = ReturnString & ItemHTML
If i<RowCount Then rsSearch.MoveNext
Next
HTML = Replace(HTML, Match.Value, ReturnString)
Next
rsSearch.Close()
Dim PageHTML
PageHTML = EL_Common.Lang("BaseConfig.ShowPage", "")
PageHTML = EL_Common.ReplaceText(PageHTML, "\{\$PageList\}", EL_Common.ShowPage(URLParameters, CurrentPage, PageSizes, PageCounts, TotalRowCount, EL_Channel.ItemName, EL_Channel.ItemUnit))
HTML = EL_Common.RegExpStaticLabel(HTML, "{$ShowPage}", PageHTML)
End If
HTML = Label_GetHotelList(HTML)
HTML = Label_GetHotelPhoto(HTML)
Set Matches = Nothing
Set rsSearch = Nothing
Set SearchCmd = Nothing
Session("EL_LastSearchDateTime") = Now()
Response.Write HTML
End Sub
Private Function Search_RoomList(ByVal HotelID)
Dim RoomCmd, rsRoom, RowCount, i
Dim PriceCmd, rsPrice, PriceCount, k, j
Dim CheckInDate, CheckOutDate, DayNum, This_CheckOutDate
Dim ListHTML, Rowspan, wi, ArrWeek(7), PriceIcon, NullPrice, ObjectPrice, BookButtonText
CheckInDate = CDate(Hotel_CheckInDate)
CheckOutDate = CDate(Hotel_CheckOutDate)
DayNum = DateDiff("d", CheckInDate, CheckOutDate)
This_CheckOutDate = DateAdd("d", -1, CheckOutDate)
PriceIcon = EL_Common.Lang("BaseConfig.PriceIcon", "¥")
NullPrice = EL_Common.Lang("BaseConfig.NullPrice", "<span style='color:#CC0000'>×</span>")
BookButtonText = EL_Common.Lang("BaseConfig.BookButtonText", "预订")
wi = EL_Common.Lang("Hotel.Week.wi", "第{$WeekIndex}周")
ArrWeek(1) = EL_Common.Lang("Hotel.Week.w1", "周日")
ArrWeek(2) = EL_Common.Lang("Hotel.Week.w2", "周一")
ArrWeek(3) = EL_Common.Lang("Hotel.Week.w3", "周二")
ArrWeek(4) = EL_Common.Lang("Hotel.Week.w4", "周三")
ArrWeek(5) = EL_Common.Lang("Hotel.Week.w5", "周四")
ArrWeek(6) = EL_Common.Lang("Hotel.Week.w6", "周五")
ArrWeek(7) = EL_Common.Lang("Hotel.Week.w7", "周六")
Call EL_Common.InitCommonCmd(RoomCmd, rsRoom, "EL_HotelRoom", "TOP 2 RoomID,RoomName,MarketPrice,Breakfast", "HotelID="& HotelID &" AND ChannelID="& ChannelID)
rsRoom.Close()
RowCount = RoomCmd(0)
ListHTML = "<table width='100%' border='0' cellspacing='1' cellpadding='0' class='search_room_table'>"
ListHTML = ListHTML &"<tr class='search_room_title'>"
ListHTML = ListHTML &"<td>"& EL_Common.Lang("Hotel.RoomTypeName", "房型") &"</td>"
ListHTML = ListHTML &"<td width='60'>"& EL_Common.Lang("Hotel.Breakfast", "早餐") &"</td>"
ListHTML = ListHTML &"<td width='60'>"& EL_Common.Lang("BaseConfig.MarketPrice", "门市价") &"</td>"
If DayNum > 7 Then ListHTML = ListHTML &"<td width='45'></td>"
For i = 0 To DayNum-1
If i>6 Then Exit For
ListHTML = ListHTML &"<td width='55'>"& ArrWeek(WeekDay(DateAdd("d", i, Hotel_CheckInDate))) &"</td>"
Next
ListHTML = ListHTML &"<td width='70'></td>"
ListHTML = ListHTML &"</tr>"
If DayNum > 7 then
Rowspan = Int(DayNum / 7)
If (DayNum Mod 7) > 0 Then Rowspan = Rowspan + 1
Else
Rowspan = 0
End If
Set ObjectPrice = Server.CreateObject ("Scripting.Dictionary")
ObjectPrice.CompareMode = 1
rsRoom.Open()
For i = 1 To RowCount
ListHTML = ListHTML &"<tr>"
If Rowspan > 0 Then '合并行
ListHTML = ListHTML &"<td rowspan='"& Rowspan &"' class='search_room_items'>"& EL_Common.ServerHTMLEncode(rsRoom("RoomName")) &"</td>"
ListHTML = ListHTML &"<td rowspan='"& Rowspan &"' class='search_room_breakfast'>"& EL_Common.ServerHTMLEncode(rsRoom("Breakfast")) &"</td>"
ListHTML = ListHTML &"<td rowspan='"& Rowspan &"' class='search_room_marketprice'>"& PriceIcon & rsRoom("MarketPrice") &"</td>"
Else
ListHTML = ListHTML &"<td class='search_room_items'>"& EL_Common.ServerHTMLEncode(rsRoom("RoomName")) &"</td>"
ListHTML = ListHTML &"<td class='search_room_breakfast'>"& EL_Common.ServerHTMLEncode(rsRoom("Breakfast")) &"</td>"
ListHTML = ListHTML &"<td class='search_room_marketprice'>"& PriceIcon & rsRoom("MarketPrice") &"</td>"
End If
'价格
Call EL_Common.InitCommand(PriceCmd, "EL_SP_GetHotelRoomPrice")
With PriceCmd
.Parameters.Append .CreateParameter("RETURN", 2, 4)
.Parameters.Append .CreateParameter("@RoomID", 3, 1, 4, rsRoom("RoomID"))
.Parameters.Append .CreateParameter("@HotelID", 3, 1, 4, HotelID)
.Parameters.Append .CreateParameter("@ChannelID", 3, 1, 4, ChannelID)
.Parameters.Append .CreateParameter("@BeginDate", 135, 1, 8, CheckInDate)
.Parameters.Append .CreateParameter("@EndDate", 135, 1, 8, CheckOutDate)
Set rsPrice = .Execute()
End With
rsPrice.Close()
PriceCount = PriceCmd(0)
If PriceCount > 0 Then
Dim TempBeginDate, TempEndDate, TempPrice
rsPrice.Open()
For k = 1 To PriceCount
TempPrice = rsPrice(1)
TempBeginDate = rsPrice(2)
TempEndDate = rsPrice(3)
For j = TempBeginDate To TempEndDate
If j >= CheckInDate And j < CheckOutDate Then ObjectPrice.Add j, PriceIcon & TempPrice
Next
If k<PriceCount Then rsPrice.MoveNext
Next
rsPrice.Close()
If TempEndDate < CheckOutDate Then
For k = DateAdd("d", 1, TempEndDate) To This_CheckOutDate
ObjectPrice.Add k, NullPrice
Next
End If
Else
For k = CheckInDate To CheckOutDate
ObjectPrice.Add k, NullPrice
Next
End If
Set rsPrice = Nothing
Set PriceCmd = Nothing
Dim WeekIndex
WeekIndex = 1
j = 1
For k = CheckInDate To This_CheckOutDate
If DayNum > 7 And (j Mod 7) = 1 Then
ListHTML = ListHTML &"<td class='search_room_week'>"& EL_Common.ReplaceText(wi, "\{\$WeekIndex\}", WeekIndex) &"</td>"
Else
End If
ListHTML = ListHTML &"<td class='search_room_bookprice' title='"& k &"'>"& ObjectPrice.Item(k) &"</td>"
If WeekIndex = 1 And (j Mod 7) = 0 Or (k = This_CheckOutDate And DayNum<7) Then
If Rowspan > 0 Then '合并行
ListHTML = ListHTML &"<td rowspan='"& Rowspan &"' class='search_room_items'>"
ListHTML = ListHTML &"<form name='bookform_"& HotelID &"_"& rsRoom("RoomID") &"' action='Confirm.asp' method='post'>"
ListHTML = ListHTML &"<input type='hidden' id='HotelID' name='HotelID' value='"& HotelID &"'>"
ListHTML = ListHTML &"<input type='hidden' id='RoomID' name='RoomID' value='"& rsRoom("RoomID") &"'>"
ListHTML = ListHTML &"<input type='hidden' id='CheckInDate' name='CheckInDate' value='"& EL_Common.ServerHTMLEncode(Hotel_CheckInDate) &"'>"
ListHTML = ListHTML &"<input type='hidden' id='CheckOutDate' name='CheckOutDate' value='"& EL_Common.ServerHTMLEncode(Hotel_CheckOutDate) &"'>"
ListHTML = ListHTML &"<input type='hidden' id='Person' name='Person' value='"& Hotel_Person &"'>"
ListHTML = ListHTML &"<input type='hidden' id='Rooms' name='Rooms' value='"& Hotel_Rooms &"'>"
ListHTML = ListHTML &"<input type='submit' value='"& BookButtonText &"' class='bookbutton'/>"
ListHTML = ListHTML &"</form></td>"
Else
ListHTML = ListHTML &"<td class='search_room_items'>"
ListHTML = ListHTML &"<form name='bookform_"& HotelID &"_"& rsRoom("RoomID") &"' action='Confirm.asp' method='post'>"
ListHTML = ListHTML &"<input type='hidden' id='HotelID' name='HotelID' value='"& HotelID &"'>"
ListHTML = ListHTML &"<input type='hidden' id='RoomID' name='RoomID' value='"& rsRoom("RoomID") &"'>"
ListHTML = ListHTML &"<input type='hidden' id='CheckInDate' name='CheckInDate' value='"& EL_Common.ServerHTMLEncode(Hotel_CheckInDate) &"'>"
ListHTML = ListHTML &"<input type='hidden' id='CheckOutDate' name='CheckOutDate' value='"& EL_Common.ServerHTMLEncode(Hotel_CheckOutDate) &"'>"
ListHTML = ListHTML &"<input type='hidden' id='Person' name='Person' value='"& Hotel_Person &"'>"
ListHTML = ListHTML &"<input type='hidden' id='Rooms' name='Rooms' value='"& Hotel_Rooms &"'>"
ListHTML = ListHTML &"<input type='submit' value='"& BookButtonText &"' class='bookbutton'/>"
ListHTML = ListHTML &"</form></td>"
End If
End If
If (j Mod 7) = 0 And j < DayNum Then
WeekIndex = WeekIndex + 1
ListHTML = ListHTML &"</tr><tr>"
End If
j = j + 1
Next
If DayNum>7 And ((j-1) Mod 7)>0 Then
For k = 1 To 7-((j-1) Mod 7)
ListHTML = ListHTML &"<td class='search_room_bookprice'></td>"
Next
End If
ListHTML = ListHTML &"</tr>"
ObjectPrice.RemoveAll()
If i < RowCount Then rsRoom.MoveNext
Next
rsRoom.Close()
Set ObjectPrice = Nothing
Set rsRoom = Nothing
Set RoomCmd = Nothing
ListHTML = ListHTML &"</table>"
Search_RoomList = ListHTML
End Function
Private Function RoomPrice()
End Function
Private Function Search_GetHotelMinPrice(ByVal HotelID, ByVal PriceList)
Dim ArrPrice, i, TempPrice, arr, TempPrice2
ArrPrice = Split(PriceList, "$")
TempPrice = 99999
For i = 0 To UBound(ArrPrice)
arr = Split(ArrPrice(i), "|")
If Trim(arr(0)) = Trim(HotelID) Then
TempPrice2 = EL_Common.ELClng(arr(1))
If TempPrice2<TempPrice Then
TempPrice = TempPrice2
End If
End If
Next
Search_GetHotelMinPrice = TempPrice
End Function
Private Function GetBookNumber()
Dim RndN, DtNow, Prefix_Hotel
Prefix_Hotel = EL_Common.GetFieldValue("Prefix_Hotel", "EL_Config", "1=1")
Randomize
DtNow = Now()
RndN = Cint(9999*rnd)+1000
GetBookNumber = year(DtNow) & right("0" & month(DtNow),2) & right("0" & day(DtNow),2) & right("0" & hour(DtNow),2) & right("0" & minute(DtNow),2) & right("0" & second(DtNow),2) & RndN
If Len(GetBookNumber)>18 Then GetBookNumber = Left(GetBookNumber, 18)
GetBookNumber = Prefix_Hotel & GetBookNumber
End Function
Private Function GetBookPriceInfo(ByVal RoomID, ByVal HotelID)
Dim PriceCmd, rsPrice, RowCount, i, j
Dim CheckInDate, CheckOutDate, BookPriceInfo
CheckInDate = CDate(Hotel_CheckInDate)
CheckOutDate = CDate(Hotel_CheckOutDate)
Call EL_Common.InitCommand(PriceCmd, "EL_SP_GetHotelRoomPrice")
With PriceCmd
.Parameters.Append .CreateParameter("RETURN", 2, 4)
.Parameters.Append .CreateParameter("@RoomID", 3, 1, 4, RoomID)
.Parameters.Append .CreateParameter("@HotelID", 3, 1, 4, HotelID)
.Parameters.Append .CreateParameter("@ChannelID", 3, 1, 4, ChannelID)
.Parameters.Append .CreateParameter("@BeginDate", 135, 1, 8, CheckInDate)
.Parameters.Append .CreateParameter("@EndDate", 135, 1, 8, CheckOutDate)
Set rsPrice = .Execute()
End With
rsPrice.Close()
RowCount = PriceCmd(0)
If RowCount = 0 Then
EL_Common.ShowErrorMsg(EL_Common.Lang("Hotel.Error9", "房价数据不全,请缩小预订日期范围"))
Call ApplicationTerminate()
Set rsPrice = Nothing
Set PriceCmd = Nothing
Exit Function
End If
rsPrice.Open()
Dim TempPrice, TempIndex, UsePrice, TempBeginDate, TempEndDate, TempPrevDate
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -