@model System.Data.DataTable
@using System.Data
@using ZoomLa.Model
@using ZoomLa.BLL
@using ZoomLa.Model.Shop
@using ZoomLa.BLL.Shop
@using ZoomLa.Common
@using ZoomLa.SQLDAL
@using ZoomLa.Components
@using System.IO
@functions{
M_UserInfo mu = null;
B_Order_IDC idcBll = new B_Order_IDC();
OrderCommon orderCom = new OrderCommon();
DataTable OrderDT = null;
public void InitData()
{
OrderDT = ViewBag.OrderDT;
mu = ViewBag.mu;
}
public string GetSnap(DataRow dr)
{
string result = "";
int paystatus = Convert.ToInt32(dr["PaymentStatus"]);
if (paystatus == (int)M_OrderList.PayEnum.HasPayed)
{
string dir = ZLHelper.GetUploadDir_User(mu, "snapdir") + dr["OrderNo"] + "/" + dr["ProID"] + ".mht";
if (File.Exists(function.VToP(dir))) { result += " [交易快照]"; }
if (Convert.ToInt32(dr["OrderType"]) == 7 && Convert.ToInt32(dr["OrderStatus"]) == 99)
{
string orderNo = dr["OrderNo"].ToString();
M_Order_IDC idcMod = idcBll.SelModelByOrderNo(orderNo);
if (idcMod != null)
{
result += "(到期时间:" + idcMod.ETime.ToString("yyyy/MM/dd") + ") ";
}
}
}
return result;
}
public string GetRepair(DataRow dr)
{
//已完结状态才能返修,退款等售后,其他情况下申请订单退款
string guess = DataConvert.CStr(dr["GuessXML"]);
string result = "";
int orderStatus = Convert.ToInt32(dr["OrderStatus"]);
if (dr["AddStatus"].ToString().Contains("exchange"))
{
result += "已申请换货";
}
else if (dr["AddStatus"].ToString().Contains("repair"))
{
result += "已申请返修";
}
else if (dr["AddStatus"].ToString().Contains("drawback"))
{
result += "已申请退货";
}
else if (!string.IsNullOrEmpty(guess) && orderStatus >= (int)M_OrderList.StatusEnum.OrderFinish)
{
result += "返修/退换货";
}
return result;
}
public string FirstRow(DataRow dr)
{
int count = OrderDT.Select("id=" + dr["ID"]).Length;
//收货人
" + dr["AddUser"] + " |
string html = "";
//金额栏
html += "" + Convert.ToDouble(dr["OrdersAmount"]).ToString("f2") + " ";
string _paytypeHtml = OrderHelper.GetStatus(dr, OrderHelper.TypeEnum.PayType);
if (!string.IsNullOrEmpty(_paytypeHtml)) { _paytypeHtml = _paytypeHtml + " "; }
html += _paytypeHtml;
html += "(" + OrderHelper.GetStatus(dr, OrderHelper.TypeEnum.Pay) + ") | ";
//订单状态
html += "" + OrderHelper.GetStatus(dr, OrderHelper.TypeEnum.Order) + " ";
int ordertype = DataConvert.CLng(dr["OrderType"]);
if (ordertype != 7 && ordertype != 9) { html += OrderHelper.GetExpStatus(Convert.ToInt32(dr["StateLogistics"])) + " "; }
html += " | ";
//操作栏
html += "订单详情 " + Getoperator(dr) + " | ";
return html;
}
//获取订单操作按钮,分为已下单(未付款),已下单(已付款),已完结(显示)
public string Getoperator(DataRow dr)
{
M_OrderList orderMod = new M_OrderList();
string result = "";
int orderStatus = DataConverter.CLng(dr["OrderStatus"]);
int payStatus = DataConverter.CLng(dr["Paymentstatus"]);
int oid = Convert.ToInt32(dr["ID"]);
int aside = Convert.ToInt32(dr["Aside"]);
string orderNo = dr["OrderNo"].ToString();
//----------如果已经删除,则不执行其余的判断
if (aside != 0)//如果已删除,则不进行其余的判断
{
result += "";
result += "";
return result;
}
if (payStatus == (int)M_OrderList.PayEnum.NoPay)//未付款,显示倒计时和付款链接
{
bool isnormal = true;
//订单过期判断
if (SiteConfig.ShopConfig.OrderExpired > 0)
{
int seconds = GetOrderUnix(dr);
if (seconds <= 0)
{ result += "订单关闭
"; isnormal = false; }
else
{ result += ""; }
}
//订单未完成,且为正常状态,显示付款
if (isnormal && OrderHelper.IsCanPay(dr))
{
result += "";
}
result += "";
}
else
{
//---物流
switch (Convert.ToInt32(dr["StateLogistics"]))
{
case 1:
if (Convert.ToInt32(dr["Ordertype"]) != 7 && Convert.ToInt32(dr["Ordertype"]) != 9)
{
result += "";
}
break;
}
//已付款,但处理申请退款等状态
if (orderStatus < (int)M_OrderList.StatusEnum.Normal)
{
//result += "取消退款
";
}
//已付款未完结,可申请退款
if (orderStatus >= (int)M_OrderList.StatusEnum.Normal && orderStatus < (int)M_OrderList.StatusEnum.OrderFinish)
{
result += "取消订单
";
}
//已付款已完结,可评价晒单
if (orderStatus >= (int)M_OrderList.StatusEnum.OrderFinish)//已完结
{
if (!(dr["AddStatus"].ToString().Contains("comment")))
{
if (Convert.ToInt32(dr["OrderType"]) == 7 && Convert.ToInt32(dr["OrderStatus"]) == 99)
{
M_Order_IDC idcMod = idcBll.SelModelByOrderNo(orderNo);
if (idcMod != null)
{
result += "续费
";
}
}
result += "
";
//result += "立即购买";
}
}
}
return result;
}
//还差多少分钟到期
public int GetOrderUnix(DataRow dr)
{
DateTime addTime = Convert.ToDateTime(dr["AddTime"]);
int seconds = (SiteConfig.ShopConfig.OrderExpired * 60 * 60) - (int)(DateTime.Now - addTime).TotalSeconds;
return seconds;
}
}
@for (int i = 0; i < Model.Rows.Count; i++)
{
DataRow dr = Model.Rows[i];
@dr["Proname"]@GetSnap(dr)
|
<%#GetRepair() %> |
x@(dr["Pronum"]) |
@if (i == 0)
{
MvcHtmlString.Create(FirstRow(dr));
}
}