<%@ Page CodeFileBaseClass="IlgharCMS.Lib.AdminPageBase" %>
<%@ Register TagPrefix="IlgharUC" TagName="Ime" Src="../../ime.dwt.ascx"%>
<%@ Register TagPrefix="IlgharUC" TagName="LanguageMenu" Src="../../language_menu.dwt.ascx"%>
<!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>
<!-- TemplateInfo codeOutsideHTMLIsLocked="true" -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>订单列表</title>
<ilghar:Comment><link rel="stylesheet" type="text/css" href="../../S01/CHS/css/common.css" /></ilghar:Comment>
<link rel="stylesheet" href="<%=CssPath%>common.css" />
<script type="text/javascript" src="<%=CommonPath%>ajax.js"></script>
<script type="text/javascript" src="<%=JsPath%>common.js"></script>
<ilgharUC:Ime Ime="true" Eot="true" runat="server" />
<style type="text/css">
.Block TBODY TD{text-align:center}
</style>
<script language="c#" runat="server">
protected string Condition()
{
	StringBuilder condition = new StringBuilder();
	string and = String.Empty;

	#region 状态
	switch (Request.QueryString["Status"])
	{
		case "1":
			condition.Append(Alias.Order.IsConfirmed + "=false AND " + Alias.Order.IsArchived + "=false AND " + Alias.Order.IsCanceled + "=false");
			break;
		case "2":
			condition.Append(Alias.Order.IsConfirmed + "=true AND " + Alias.Order.IsArchived + "=false AND " + Alias.Order.IsCanceled + "=false");
			break;
		case "3":
			condition.Append(Alias.Order.IsCanceled + "=true");
			break;
		case "4":
			condition.Append(Alias.Order.IsArchived + "=true");
			break;
		default:
			break;
	}
	#endregion

	if (and == String.Empty && condition.Length != 0)
		and = " AND ";

	#region 关键词
	string keyword = Request.QueryString["Keyword"];
	if (!String.IsNullOrEmpty(keyword))
	{
		if (Request.QueryString["KeywordType"] == "Number")
			condition.Append(and + Alias.Order.Number + "='" + keyword + "'");
		else if (Request.QueryString["KeywordType"] == "Member")
			condition.Append(and + Alias.Order.Member + " LIKE '%" + keyword + "%'");
	}
	#endregion
	
	return condition.ToString();
}

protected string Sort()
{
	string sort = String.Empty;
	switch (Request.QueryString["Sort"])
	{
		case "1":
			sort = Alias.Order.CreateTime + " DESC";
			break;
		case "2":
			sort = Alias.Order.CreateTime + " ASC";
			break;
		case "3":
			sort = Alias.Order.Price + " DESC";
			break;
		case "4":
			sort = Alias.Order.Price + " ASC";
			break;
		default:
			sort = Alias.Order.CreateTime + " DESC";
			break;
	}
	
	return sort;
}
</script>
<script type="text/javascript">
var _page = 1;
var _action = null;
function XmlHttpCallBack(xmlHttp)
{
	if (xmlHttp.status == 200)
	{
		var list = document.getElementById("List");
		list.innerHTML = HandleFake404(xmlHttp);

		if (_action == "Delete")		
			alert("删除成功！");
		else if (_action == "Confirm")
			alert("确认成功！");
		else if (_action == "Cancel")
			alert("取消成功！");
		else if (_action == "Archive")
			alert("归档成功！");
	}
	else
	{
		if (_action == "Delete")
			alert("删除失败！请查看日志！");
		else if (_action == "Confirm")
			alert("确认失败！请查看日志！");
		else if (_action == "Cancel")
			alert("取消失败！请查看日志！");
		else if (_action == "Archive")
			alert("归档失败！请查看日志！");
	}
	
	window.status = "";
}

function BuildHeader()
{
	return BuildAjaxPath(true) + "?Lang=<%=ContentLang%>&Status=" + document.getElementById("Status").value + "&Sort=" + document.getElementById("Sort").value + "&Keyword=" + encodeURIComponent(document.getElementById("Keyword").value) + "&KeywordType=" + document.getElementById("KeywordType").value + "&Page=" + _page;
}

function OnSearch()
{
	if (arguments.length > 0)
		_page = arguments[0];
	
	_action = "Search";
	_ajax.Post(BuildHeader(), null, XmlHttpCallBack);
	return false;
}

function OnConfirm(id)
{
	if (!confirm("要受理此项吗？"))
		return;
	
	_action = "Confirm";
	window.status = "正在操作...";
	_ajax.Post("<%=WebPath%>ilghar.aspx?Lang=<%=ContentLang%>&Object=Order&Operation=Confirm&ID=" + id + "&Transfer=" + encodeURIComponent(BuildHeader()), null, XmlHttpCallBack);
}

function OnCancel(id)
{
	if (!confirm("要取消此项吗？"))
		return;
	
	_action = "Cancel";
	window.status = "正在操作...";
	_ajax.Post("<%=WebPath%>ilghar.aspx?Lang=<%=ContentLang%>&Object=Order&Operation=Cancel&ID=" + id + "&Transfer=" + encodeURIComponent(BuildHeader()), null, XmlHttpCallBack);
}

function OnArchive(id)
{
	if (!confirm("要归档此项吗？"))
		return;
	
	_action = "Archive";
	window.status = "正在操作...";
	_ajax.Post("<%=WebPath%>ilghar.aspx?Lang=<%=ContentLang%>&Object=Order&Operation=Archive&ID=" + id + "&Transfer=" + encodeURIComponent(BuildHeader()), null, XmlHttpCallBack);
}

function OnDelete(id)
{
	if (!confirm("要删除此项吗？"))
		return;
	
	_action = "Delete";
	window.status = "正在操作...";
	_ajax.Post("<%=WebPath%>ilghar.aspx?Lang=<%=ContentLang%>&Object=Order&Operation=Delete&ID=" + id + "&Transfer=" + encodeURIComponent(BuildHeader()), null, XmlHttpCallBack);
}

function ShowActionDialog(id, action)
{
	var path;
	var width, height;
	if (action == "Payment")
	{
		path = "make_payment.aspx?Lang=<%=ContentLang%>&ID=" + id;
		width = 600;
		height = 400;
	}
	else if (action == "Refund")
	{
		path = "make_refund.aspx?Lang=<%=ContentLang%>&ID=" + id;
		width = 600;
		height = 400;
	}
	else if (action == "Delivery")
	{
		path = "make_delivery.aspx?Lang=<%=ContentLang%>&ID=" + id;
		width = 800;
		height = 400;
	}
	else if (action == "Return")
	{
		path = "make_return.aspx?Lang=<%=ContentLang%>&ID=" + id;
		width = 800;
		height = 400;
	}
		
	path = HandleFake404(path);
	if (g_browser == "IE")
		window.showModalDialog(path, window, "status=0;dialogWidth=" + width + "px;dialogHeight=" + height + "px;center=1;help=0;resizable=1;scroll=1");
	else
		window.open(path,null,"width=" + width + ",height=" + height + ",menubar=no,toolbar=no,location=no,scrollbars=yes,status=no,modal=yes");
}
</script>
</head>
<body>
<div class="WhiteHeader">
	<div class="Left"><img src="<%=ImagePath%>close_frame.gif" onclick="OpenCloseLeftFrame()" /></div>
	<div class="Title">订单列表</div>
	<div class="Right">
		<ilgharUC:LanguageMenu runat="server" />
		<img height="15" src="<%=ImagePath%>dropdown.gif" onmouseover="this.src='<%=ImagePath%>dropdown_over.gif';ShowLanguageMenu(this);" onmouseout="this.src='<%=ImagePath%>dropdown.gif'" />
		语言：<%=CurrentLanguage%>
	</div>
</div>
<div class="Block">
	<ul class="TabMenu">
		<li class="Left Selected"></li>
		<li class="Middle Selected">订单列表</li>
		<li class="Right Selected"></li>
		<li class="Left"></li>
		<li class="Middle"><a href="add.aspx?Lang=<%=ContentLang%>">添加订单</a></li>
		<li class="Right"></li>
		<li class="Left"></li>
		<li class="Middle"><a href="detail/list.aspx?Lang=<%=ContentLang%>">产品列表</a></li>
		<li class="Right"></li>
	</ul>
	<ul class="Title">
		<li class="Left"></li>
		<li class="Middle"></li>
		<li class="Right"></li>
	</ul>
	<div class="ToolBar">
		<select id="Status" onchange="OnSearch()">
			<option value="0">-- 订单状态 --</option>
			<option value="1">未受理</option>
			<option value="2">正在处理</option>
			<option value="3">已取消</option>
			<option value="4">已归档</option>
		</select>
		<select id="Sort" onchange="OnSearch()">
			<option value="1">下单日期↓</option>
			<option value="2">下单日期↑</option>
			<option value="3">订单价格↓</option>
			<option value="4">订单价格↑</option>
		</select>
		<input id="Keyword" class="Text <%=ContentLang%>Font" onkeydown="if(event.keyCode == 13) OnSearch(1);" />
		<select id="KeywordType">
			<option value="Number">订单号</option>
			<option value="Member">会员名</option>
		</select>
		<input type="button" value="搜索" class="Button" onclick="OnSearch(1)" />
	</div>
	<div id="List">
		<table border="0" cellpadding="4" cellspacing="1">
			<thead>
				<tr>
					<th>操作</th>
					<th>订单号</th>
					<th>会员</th>
					<th>下单日期</th>
					<th>订单总额</th>
					<th>订单状态</th>
					<th>归档/取消</th>
				</tr>
			</thead>
			<tbody>
				<ilghar:List ID="List" Object="Order" Page="PageNumber" PageSize="20" Condition="Condition()" Sort="Sort()" Validate="True">
					<ilghar:Record>
						<tr>
							<td>
								<%If !Convert.ToBoolean(IsArchived) && !Convert.ToBoolean(IsCanceled)%>
									<%If Convert.ToBoolean(IsConfirmed)%>
										<%If Int32.Equals(IsPayed, 1)%>
											<input type="button" value="付款" onclick="ShowActionDialog(<%=InnerID%>, 'Payment')" />
										<%ElseIf Int32.Equals(IsPayed, 2)%>
											<input type="button" value="付款" onclick="ShowActionDialog(<%=InnerID%>, 'Payment')" />
											<input type="button" value="退款" onclick="ShowActionDialog(<%=InnerID%>, 'Refund')" />
										<%ElseIf Int32.Equals(IsPayed, 3)%>
											<input type="button" value="退款" onclick="ShowActionDialog(<%=InnerID%>, 'Refund')" />
										<%ElseIf Int32.Equals(IsPayed, 4)%>
											<input type="button" value="付款" onclick="ShowActionDialog(<%=InnerID%>, 'Payment')" />
											<input type="button" value="退款" onclick="ShowActionDialog(<%=InnerID%>, 'Refund')" />
										<%ElseIf Int32.Equals(IsPayed, 5)%>
											<input type="button" value="付款" onclick="ShowActionDialog(<%=InnerID%>, 'Payment')" />
										<%EndIf%>
										
										<%If Int32.Equals(IsDelivered, 1)%>
											<input type="button" value="发货" onclick="ShowActionDialog(<%=InnerID%>, 'Delivery')" />
										<%ElseIf Int32.Equals(IsDelivered, 2)%>
											<input type="button" value="发货" onclick="ShowActionDialog(<%=InnerID%>, 'Delivery')" />
											<input type="button" value="退货" onclick="ShowActionDialog(<%=InnerID%>, 'Return')" />
										<%ElseIf Int32.Equals(IsDelivered, 3)%>
											<input type="button" value="退货" onclick="ShowActionDialog(<%=InnerID%>, 'Return')" />
										<%ElseIf Int32.Equals(IsDelivered, 4)%>
											<input type="button" value="发货" onclick="ShowActionDialog(<%=InnerID%>, 'Delivery')" />
											<input type="button" value="退货" onclick="ShowActionDialog(<%=InnerID%>, 'Return')" />
										<%ElseIf Int32.Equals(IsDelivered, 5)%>
											<input type="button" value="发货" onclick="ShowActionDialog(<%=InnerID%>, 'Delivery')" />
										<%EndIf%>										
									<%Else%>
										<input type="button" value="确认" onclick="OnConfirm(<%=InnerID%>)" />
									<%EndIf%>
								<%EndIf%>
							</td>
							<td>
								<%If !Convert.ToBoolean(IsArchived) && !Convert.ToBoolean(IsCanceled) && !Convert.ToBoolean(IsConfirmed)%>
									<a href="edit.aspx?Lang=<%=ContentLang%>&amp;ID=<%=InnerID%>"><%=Number%></a>
								<%Else%>
									<a href="view.aspx?Lang=<%=ContentLang%>&amp;ID=<%=InnerID%>"><%=Number%></a>
								<%EndIf%>
							</td>
							<td class="<%=ContentLang%>Font"><%=Member%></td>
							<td><%=CreateTime%></td>
							<td><%=Sum%></td>
							<td>
								<%If Int32.Equals(IsPayed, 1)%>
									未付款
								<%ElseIf Int32.Equals(IsPayed, 2)%>
									部分付款
								<%ElseIf Int32.Equals(IsPayed, 3)%>
									已付款
								<%ElseIf Int32.Equals(IsPayed, 4)%>
									部分退款
								<%ElseIf Int32.Equals(IsPayed, 5)%>
									已退款
								<%EndIf%>
								，
								<%If Int32.Equals(IsDelivered, 1)%>
									未发货
								<%ElseIf Int32.Equals(IsDelivered, 2)%>
									部分发货
								<%ElseIf Int32.Equals(IsDelivered, 3)%>
									已发货
								<%ElseIf Int32.Equals(IsDelivered, 4)%>
									部分退货
								<%ElseIf Int32.Equals(IsDelivered, 5)%>
									已退货
								<%EndIf%>
								
								<%If Convert.ToBoolean(IsArchived)%>
									，已归档
								<%EndIf%>
								
								<%If Convert.ToBoolean(IsCanceled)%>
									，已取消
								<%EndIf%>
							</td>
							<td>
								<%If !Convert.ToBoolean(IsArchived) && !Convert.ToBoolean(IsCanceled)%>
									<input type="button" value="归档" onclick="OnArchive(<%=InnerID%>)" />
									<input type="button" value="取消" onclick="OnCancel(<%=InnerID%>)" />									
								<%ElseIf Convert.ToBoolean(IsArchived) || Convert.ToBoolean(IsCanceled)%>
									<input type="button" value="删除" onclick="OnDelete(<%=InnerID%>)" />									
								<%EndIf%>
							</td>
						</tr>
					</ilghar:Record>
				</ilghar:List>
			</tbody>
		</table>
		<ilghar:Pagination Page="PageNumber" PageSize="20" RecordCount="List[RecordCount]">
			<div class="Pagination">
				<div class="Left">共 <%=RecordCount%> 条 当前显示第 <%=PageNumber%> 页 第 <%=RangeLower%>-<%=RangeUpper%> 条 </div>
				<div class="Right">
					<ilghar:FirstPage>
						<ilghar:Yes>
							<img src="<%=ImagePath%>pagination/first_page_off.gif"/>
							<img src="<%=ImagePath%>pagination/previous_page_off.gif"/>
						</ilghar:Yes>
						<ilghar:No>
							<a href="javascript:Go(1)"><img src="<%=ImagePath%>pagination/first_page_on.gif"/></a>
							<a href="javascript:Go(<%=PageNumber%> - 1)" id="PrevPage"><img src="<%=ImagePath%>pagination/previous_page_on.gif"/></a>
						</ilghar:No>
					</ilghar:FirstPage>
					<ilghar:CurrentPage Range="5">
						<ilghar:Yes>
							<span class="Current"><%=Index%></span>						
						</ilghar:Yes>
						<ilghar:No>
							<a href="javascript:Go(<%=Index%>)">[<%=Index%>]</a>
						</ilghar:No>
					</ilghar:CurrentPage>
					<ilghar:LastPage>
						<ilghar:Yes>
							<img src="<%=ImagePath%>pagination/next_page_off.gif"/>
							<img src="<%=ImagePath%>pagination/last_page_off.gif"/>
						</ilghar:Yes>
						<ilghar:No>
							<a href="javascript:Go(<%=PageNumber%> + 1)" id="NextPage"><img src="<%=ImagePath%>pagination/next_page_on.gif"/></a>
							<a href="javascript:Go(<%=PageCount%>)"><img src="<%=ImagePath%>pagination/last_page_on.gif"/></a>
						</ilghar:No>
					</ilghar:LastPage>
				</div>
			</div>
		</ilghar:Pagination>
	</div>
</div>
<script type="text/javascript">
HandleFake404();
</script>
</body>
</html>