@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)); } }