Explorar el Código

关于退款中的处理完成了

zhangyang hace 6 años
padre
commit
5fdd9d90ed

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 396 - 0
bin/Win32/Debug/zhipuzi_pos_windows/log/pos.log


+ 3 - 1
bin/Win32/Debug/zhipuzi_pos_windows/skin/desk.xml

@@ -6,10 +6,12 @@
 			<Label float="true" name="waimai_order_list_name" text="姓名:" pos="10,36,182,66" />
 			<Label float="true" name="waimai_order_list_phone" text="电话:" pos="320,36,600,66" />
 			<Label float="true" name="waimai_order_list_address" text="地址:" pos="10,66,182,96" />
-			<Label float="true" name="waimai_order_list_init_date" text="下单时间:" pos="10,96,182,126" />
+			<Label float="true" name="waimai_order_list_init_date" text="下单时间:" pos="10,96,220,126" />
 			<Label float="true" name="waimai_order_list_type" text="订单类型:" pos="10,126,182,156" />
 			<Label float="true" name="waimai_order_list_delivery_date" text="配送时间:" pos="10,156,182,186" />
 			
+			<Label float="true" name="waimai_order_list_refund_status" text="退款状态:" pos="320,156,800,186" />
+			
 			<Label float="true" name="waimai_order_list_price" text="价格:" pos="320,6,482,36" />
 		</HorizontalLayout>
 		<HorizontalLayout width="200">

+ 3 - 3
bin/Win32/Debug/zhipuzi_pos_windows/skin/waimaiorder_info.xml

@@ -50,12 +50,12 @@
 				<Control height="1" bkcolor="#FF708090" />
 				<Label name="waimai_order_info_page_type" height="30" text="订单来源:" />
 				<Label name="waimai_order_info_page_pay_type" height="30" text="付款方式:" />
-				<Label name="waimai_order_info_page_delivery_type" height="30" text="配送方式:" />
-				<Label name="waimai_order_info_page_delivery_time" height="30" text="配送时间:" />
-
 				<VerticalLayout name="waimai_order_info_page_field">
 
 				</VerticalLayout>
+				<Label name="waimai_order_info_page_delivery_type" height="30" text="配送方式:" />
+				<Label name="waimai_order_info_page_delivery_time" height="30" text="配送时间:" />
+				<Label name="waimai_order_info_page_refund_status" height="30" text="退款状态:" />
 			</VerticalLayout>
 
 			<HorizontalLayout width="250" height="400" bkcolor="#FFFFFFFF" padding="0,20,0,0">

BIN
bin/Win32/Debug/zhipuzi_pos_windows/zhipuzi_pos_windows.exe


BIN
dll/debug/bcrypt.dll


+ 329 - 212
lewaimai_dispatch/wnd/CGameFrameWnd.cpp

@@ -43,11 +43,11 @@ void CGameFrameWnd::Notify(TNotifyUI& msg)
     }
     else if(msg.sType == _T("click"))
     {
-		HandleClickMsg(msg);
+        HandleClickMsg(msg);
     }
     else if(msg.sType == _T("selectchanged"))
     {
-		HandleSelectChangeMsg(msg);
+        HandleSelectChangeMsg(msg);
     }
     else if(msg.sType == _T("itemclick"))
     {
@@ -73,264 +73,381 @@ void CGameFrameWnd::Notify(TNotifyUI& msg)
 
 void CGameFrameWnd::HandleClickMsg(TNotifyUI& msg)
 {
-	if (msg.pSender == m_pCloseBtn)
-	{
-		COptionUI* pControl = static_cast<COptionUI*>(m_pm.FindControl(_T("hallswitch")));
-		if (pControl && pControl->IsSelected() == false)
-		{
-			CControlUI* pFadeControl = m_pm.FindControl(_T("fadeEffect"));
-			if (pFadeControl)
-			{
-				pFadeControl->SetVisible(true);
-			}
-		}
-		else
-		{
-			/*Close()*/PostQuitMessage(0); // 因为activex的原因,使用close可能会出现错误
-		}
-		return;
-	}
-	else if (msg.pSender == m_pMinBtn)
-	{
-		SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0);
-		return;
-	}
-	else if (msg.pSender == m_pMaxBtn)
-	{
-		SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE, 0);
-		return;
-	}
-	else if (msg.pSender == m_pRestoreBtn)
-	{
-		SendMessage(WM_SYSCOMMAND, SC_RESTORE, 0);
-		return;
-	}
+    if(msg.pSender == m_pCloseBtn)
+    {
+        COptionUI* pControl = static_cast<COptionUI*>(m_pm.FindControl(_T("hallswitch")));
+        if(pControl && pControl->IsSelected() == false)
+        {
+            CControlUI* pFadeControl = m_pm.FindControl(_T("fadeEffect"));
+            if(pFadeControl)
+            {
+                pFadeControl->SetVisible(true);
+            }
+        }
+        else
+        {
+            /*Close()*/PostQuitMessage(0); // 因为activex的原因,使用close可能会出现错误
+        }
+        return;
+    }
+    else if(msg.pSender == m_pMinBtn)
+    {
+        SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0);
+        return;
+    }
+    else if(msg.pSender == m_pMaxBtn)
+    {
+        SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE, 0);
+        return;
+    }
+    else if(msg.pSender == m_pRestoreBtn)
+    {
+        SendMessage(WM_SYSCOMMAND, SC_RESTORE, 0);
+        return;
+    }
 
-	CDuiString name = msg.pSender->GetName();
-	if (name == _T("quitbtn"))
-	{
-		/*Close()*/PostQuitMessage(0); // 因为activex的原因,使用close可能会出现错误
-	}
-	else if (name == _T("waimai_order_list_print"))
-	{
-		CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
-		std::string waimai_order_id = item->getOrderID();
-		std::string waimai_order_no = item->getOrderNo();
+    CDuiString name = msg.pSender->GetName();
+    if(name == _T("quitbtn"))
+    {
+        /*Close()*/PostQuitMessage(0); // 因为activex的原因,使用close可能会出现错误
+    }
+    else if(name == _T("waimai_order_list_print"))
+    {
+        CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
+        std::string waimai_order_id = item->getOrderID();
+        std::string waimai_order_no = item->getOrderNo();
 
-		CWaimaiOrder order;
-		order.InitData(waimai_order_id, waimai_order_no);
+        CWaimaiOrder order;
+        order.InitData(waimai_order_id, waimai_order_no);
 
-		CPosPrinter printer;
-		printer.PrintWaimaiOrder(order);
-	}
-	else if (name == _T("waimai_order_list_confirme"))
+        CPosPrinter printer;
+        printer.PrintWaimaiOrder(order);
+    }
+    else if(name == _T("waimai_order_list_confirme"))
+    {
+        CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
+        std::string waimai_order_id = item->getOrderID();
+
+        CWaimaiOrder order;
+        bool ret = order.ConfirmeOrder(waimai_order_id);
+
+        if(ret)
+        {
+            //如果确认成功,将被确认的订单删除掉
+            OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
+            int index = orderlist->GetItemIndex(item);
+            orderlist->RemoveAt(index);
+        }
+    }
+    else if(name == _T("waimai_order_list_success"))
+    {
+        CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
+        std::string waimai_order_id = item->getOrderID();
+
+        CWaimaiOrder order;
+        bool ret = order.SuccessOrder(waimai_order_id);
+
+        if(ret)
+        {
+            //如果确认成功,将被确认的订单删除掉
+            OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
+            int index = orderlist->GetItemIndex(item);
+            orderlist->RemoveAt(index);
+        }
+    }
+    else if(name == _T("waimai_order_list_fail"))
+    {
+        //外卖订单的打印
+        CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
+        std::string waimai_order_id = item->getOrderID();
+
+        CWaimaiOrder order;
+        bool ret = order.FailOrder(waimai_order_id, "windows收银机测试");
+
+        if(ret)
+        {
+            //如果设为失败成功,将被设为失败的订单删除掉
+            OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
+            int index = orderlist->GetItemIndex(item);
+            orderlist->RemoveAt(index);
+        }
+    }
+    else if(name == _T("waimai_order_list_agree"))
+    {
+        CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
+        std::string waimai_order_id = item->getOrderID();
+
+        CWaimaiOrder order;
+        bool ret = order.AgreeRefund(waimai_order_id);
+
+        if(ret)
+        {
+            //同意退款之后,订单变为失败状态
+            OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
+            int index = orderlist->GetItemIndex(item);
+            orderlist->RemoveAt(index);
+        }
+    }
+    else if(name == _T("waimai_order_list_disagree"))
+    {
+        CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
+        std::string waimai_order_id = item->getOrderID();
+
+        CWaimaiOrder order;
+        bool ret = order.DisagreeRefund(waimai_order_id);
+
+        if(ret)
+        {
+            //不同意退款,订单还是退款中,等待第三方客服处理
+            //OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
+            //int index = orderlist->GetItemIndex(item);
+            //orderlist->RemoveAt(index);
+        }
+    }
+    else if(name == _T("waimai_order_list_info"))
+    {
+        CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
+        std::string waimai_order_id = item->getOrderID();
+        std::string waimai_order_no = item->getOrderNo();
+
+        //请求服务器,获取订单数据
+        CWaimaiOrder order;
+        order.InitData(waimai_order_id, waimai_order_no);
+
+        //刷新订单详情页数据
+        CWaimaiOrderInfoUI* order_info_page = static_cast<CWaimaiOrderInfoUI*>(m_pm.FindControl(_T("waimaiorder_info_page")));
+        order_info_page->SetDate(order);
+        order_info_page->Refresh(order);
+
+        //显示订单详情页的内容
+        CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
+        if(pControl && pControl->GetCurSel() != 1)
+        {
+            pControl->SelectItem(1);
+        }
+    }
+    else if(name == _T("waimai_order_list_last"))
+    {
+        OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
+
+        orderlist->LastPage();
+    }
+    else if(name == _T("waimai_order_list_next"))
+    {
+        OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
+
+        orderlist->NextPage();
+    }
+    else if(name == _T("waimai_order_list_refresh"))
+    {
+        OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
+
+        orderlist->Refresh();
+    }
+    else if(name == _T("waimai_order_info_page_return"))
+    {
+        CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
+        if(pControl && pControl->GetCurSel() != 0)
+        {
+            pControl->SelectItem(0);
+        }
+    }
+    else if(name == _T("waimai_order_info_page_print"))
+    {
+        CWaimaiOrderInfoUI* order_info_page = static_cast<CWaimaiOrderInfoUI*>(m_pm.FindControl(_T("waimaiorder_info_page")));
+
+        CPosPrinter printer;
+        printer.PrintWaimaiOrder(order_info_page->m_order);
+    }
+	else if (name == _T("waimai_order_info_page_confirme"))
 	{
-		CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
-		std::string waimai_order_id = item->getOrderID();
+		CWaimaiOrderInfoUI* order_info_page = static_cast<CWaimaiOrderInfoUI*>(m_pm.FindControl(_T("waimaiorder_info_page")));
+
+		std::string waimai_order_id = order_info_page->m_order.m_order_id;
+		std::string waimai_order_no = order_info_page->m_order.m_order_no;
 
 		CWaimaiOrder order;
 		bool ret = order.ConfirmeOrder(waimai_order_id);
 
 		if (ret)
 		{
-			//如果确认成功,将被确认的订单删除掉
-			OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
-			int index = orderlist->GetItemIndex(item);
-			orderlist->RemoveAt(index);
+			//确认成功,这里怎么处理
+			//请求服务器,获取订单数据
+			CWaimaiOrder new_order;
+			new_order.InitData(waimai_order_id, waimai_order_no);
+
+			//刷新订单详情页数据
+			order_info_page->SetDate(new_order);
+			order_info_page->Refresh(new_order);
 		}
 	}
-	else if (name == _T("waimai_order_list_success"))
-	{
-		CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
-		std::string waimai_order_id = item->getOrderID();
+    else if(name == _T("waimai_order_info_page_success"))
+    {
+		CWaimaiOrderInfoUI* order_info_page = static_cast<CWaimaiOrderInfoUI*>(m_pm.FindControl(_T("waimaiorder_info_page")));
+
+		std::string waimai_order_id = order_info_page->m_order.m_order_id;
+		std::string waimai_order_no = order_info_page->m_order.m_order_no;
 
 		CWaimaiOrder order;
 		bool ret = order.SuccessOrder(waimai_order_id);
 
 		if (ret)
 		{
-			//如果确认成功,将被确认的订单删除掉
-			OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
-			int index = orderlist->GetItemIndex(item);
-			orderlist->RemoveAt(index);
+			//订单设为成功,这里怎么处理
+			//请求服务器,获取订单数据
+			CWaimaiOrder new_order;
+			new_order.InitData(waimai_order_id, waimai_order_no);
+
+			//刷新订单详情页数据
+			order_info_page->SetDate(new_order);
+			order_info_page->Refresh(new_order);
 		}
-	}
-	else if (name == _T("waimai_order_list_fail"))
-	{
-		//外卖订单的打印
-		CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
-		std::string waimai_order_id = item->getOrderID();
+    }
+    else if(name == _T("waimai_order_info_page_fail"))
+    {
+		CWaimaiOrderInfoUI* order_info_page = static_cast<CWaimaiOrderInfoUI*>(m_pm.FindControl(_T("waimaiorder_info_page")));
+
+		std::string waimai_order_id = order_info_page->m_order.m_order_id;
+		std::string waimai_order_no = order_info_page->m_order.m_order_no;
 
 		CWaimaiOrder order;
-		bool ret = order.FailOrder(waimai_order_id, "windows收银机测试");
+		bool ret = order.FailOrder(waimai_order_id, "Windwos收银机测试");
 
 		if (ret)
 		{
-			//如果设为失败成功,将被设为失败的订单删除掉
-			OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
-			int index = orderlist->GetItemIndex(item);
-			orderlist->RemoveAt(index);
+			//订单设为失败,这里怎么处理
+			//请求服务器,获取订单数据
+			CWaimaiOrder new_order;
+			new_order.InitData(waimai_order_id, waimai_order_no);
+
+			//刷新订单详情页数据
+			order_info_page->SetDate(new_order);
+			order_info_page->Refresh(new_order);
 		}
-	}
-	else if (name == _T("waimai_order_list_agree"))
-	{
-		CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
-		std::string waimai_order_id = item->getOrderID();
+    }
+    else if(name == _T("waimai_order_info_page_agree"))
+    {
+		CWaimaiOrderInfoUI* order_info_page = static_cast<CWaimaiOrderInfoUI*>(m_pm.FindControl(_T("waimaiorder_info_page")));
+
+		std::string waimai_order_id = order_info_page->m_order.m_order_id;
+		std::string waimai_order_no = order_info_page->m_order.m_order_no;
 
 		CWaimaiOrder order;
 		bool ret = order.AgreeRefund(waimai_order_id);
 
 		if (ret)
 		{
-			//同意退款之后,订单变为失败状态
-			OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
-			int index = orderlist->GetItemIndex(item);
-			orderlist->RemoveAt(index);
+			//订单设为成功,这里怎么处理
+			//请求服务器,获取订单数据
+			CWaimaiOrder new_order;
+			new_order.InitData(waimai_order_id, waimai_order_no);
+
+			//刷新订单详情页数据
+			order_info_page->SetDate(new_order);
+			order_info_page->Refresh(new_order);
 		}
-	}
-	else if (name == _T("waimai_order_list_disagree"))
-	{
-		CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
-		std::string waimai_order_id = item->getOrderID();
+    }
+    else if(name == _T("waimai_order_info_page_disagree"))
+    {
+		CWaimaiOrderInfoUI* order_info_page = static_cast<CWaimaiOrderInfoUI*>(m_pm.FindControl(_T("waimaiorder_info_page")));
+
+		std::string waimai_order_id = order_info_page->m_order.m_order_id;
+		std::string waimai_order_no = order_info_page->m_order.m_order_no;
 
 		CWaimaiOrder order;
 		bool ret = order.DisagreeRefund(waimai_order_id);
 
 		if (ret)
 		{
-			//不同意退款,订单还是退款中,等待第三方客服处理
-			//OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
-			//int index = orderlist->GetItemIndex(item);
-			//orderlist->RemoveAt(index);
-		}
-	}
-	else if (name == _T("waimai_order_list_info"))
-	{
-		CWaimaiOrderItemUI* item = static_cast<CWaimaiOrderItemUI*>(msg.pSender->GetParent()->GetParent());
-		std::string waimai_order_id = item->getOrderID();
-		std::string waimai_order_no = item->getOrderNo();
-
-		//请求服务器,获取订单数据
-		CWaimaiOrder order;
-		order.InitData(waimai_order_id, waimai_order_no);
-
-		//刷新订单详情页数据
-		CWaimaiOrderInfoUI* order_info_page = static_cast<CWaimaiOrderInfoUI*>(m_pm.FindControl(_T("waimaiorder_info_page")));
-		order_info_page->SetDate(order);
-		order_info_page->Refresh(order);
-
-		//显示订单详情页的内容
-		CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
-		if (pControl && pControl->GetCurSel() != 1)
-		{
-			pControl->SelectItem(1);
-		}
-	}
-	else if (name == _T("waimai_order_list_last"))
-	{
-		OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
-
-		orderlist->LastPage();
-	}
-	else if (name == _T("waimai_order_list_next"))
-	{
-		OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
-
-		orderlist->NextPage();
-	}
-	else if (name == _T("waimai_order_list_refresh"))
-	{
-		OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
-
-		orderlist->Refresh();
-	}
-	else if (name == _T("waimai_order_info_page_return"))
-	{
-		CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
-		if (pControl && pControl->GetCurSel() != 0)
-		{
-			pControl->SelectItem(0);
+			//订单设为成功,这里怎么处理
+			//请求服务器,获取订单数据
+			CWaimaiOrder new_order;
+			new_order.InitData(waimai_order_id, waimai_order_no);
+
+			//刷新订单详情页数据
+			order_info_page->SetDate(new_order);
+			order_info_page->Refresh(new_order);
 		}
-	}
+    }
 }
 
 void CGameFrameWnd::HandleSelectChangeMsg(TNotifyUI& msg)
 {
-	CDuiString name = msg.pSender->GetName();
+    CDuiString name = msg.pSender->GetName();
 
-	//先判断主页面的tab
-	if (name == _T("main_waimai"))
-	{
-		CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
-		if (pControl && pControl->GetCurSel() != 0)
-		{
-			pControl->SelectItem(0);
-		}
-	}
-	else if (name == _T("main_saomaxiadan"))
-	{
-		CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
-		if (pControl && pControl->GetCurSel() != 2)
-		{
-			pControl->SelectItem(2);
-		}
-	}
-	else if (name == _T("main_setting"))
-	{
-		CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
-		if (pControl && pControl->GetCurSel() != 3)
-		{
-			pControl->SelectItem(3);
-		}
-	}
-	else if (name == _T("main_web"))
-	{
-		CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
-		if (pControl && pControl->GetCurSel() != 4)
-		{
-			pControl->SelectItem(4);
-		}
-	}
+    //先判断主页面的tab
+    if(name == _T("main_waimai"))
+    {
+        CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
+        if(pControl && pControl->GetCurSel() != 0)
+        {
+            pControl->SelectItem(0);
+        }
+    }
+    else if(name == _T("main_saomaxiadan"))
+    {
+        CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
+        if(pControl && pControl->GetCurSel() != 2)
+        {
+            pControl->SelectItem(2);
+        }
+    }
+    else if(name == _T("main_setting"))
+    {
+        CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
+        if(pControl && pControl->GetCurSel() != 3)
+        {
+            pControl->SelectItem(3);
+        }
+    }
+    else if(name == _T("main_web"))
+    {
+        CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
+        if(pControl && pControl->GetCurSel() != 4)
+        {
+            pControl->SelectItem(4);
+        }
+    }
 
-	//判断外卖的tab
-	else if (name == _T("waimai_open_switch") || name == _T("waimai_confirmed_switch") || name == _T("waimai_delivery_switch") || name == _T("waimai_success_switch") || name == _T("waimai_fail_switch") || name == _T("waimai_cancel_switch") || name == _T("waimai_refund_switch"))
-	{
-		OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
+    //判断外卖的tab
+    else if(name == _T("waimai_open_switch") || name == _T("waimai_confirmed_switch") || name == _T("waimai_delivery_switch") || name == _T("waimai_success_switch") || name == _T("waimai_fail_switch") || name == _T("waimai_cancel_switch") || name == _T("waimai_refund_switch"))
+    {
+        OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
 
-		//切换状态全部重新开始从第1页
-		orderlist->SetPage(1);
+        //切换状态全部重新开始从第1页
+        orderlist->SetPage(1);
 
-		if (name == _T("waimai_open_switch"))
-		{
-			orderlist->SetStatus(1);
-		}
-		else if (name == _T("waimai_confirmed_switch"))
-		{
-			orderlist->SetStatus(2);
-		}
-		else if (name == _T("waimai_delivery_switch"))
-		{
-			orderlist->SetStatus(3);
-		}
-		else if (name == _T("waimai_success_switch"))
-		{
-			orderlist->SetStatus(4);
-		}
-		else if (name == _T("waimai_fail_switch"))
-		{
-			orderlist->SetStatus(5);
-		}
-		else if (name == _T("waimai_cancel_switch"))
-		{
-			orderlist->SetStatus(6);
-		}
-		else if (name == _T("waimai_refund_switch"))
-		{
-			orderlist->SetStatus(7);
-		}
+        if(name == _T("waimai_open_switch"))
+        {
+            orderlist->SetStatus(1);
+        }
+        else if(name == _T("waimai_confirmed_switch"))
+        {
+            orderlist->SetStatus(2);
+        }
+        else if(name == _T("waimai_delivery_switch"))
+        {
+            orderlist->SetStatus(3);
+        }
+        else if(name == _T("waimai_success_switch"))
+        {
+            orderlist->SetStatus(4);
+        }
+        else if(name == _T("waimai_fail_switch"))
+        {
+            orderlist->SetStatus(5);
+        }
+        else if(name == _T("waimai_cancel_switch"))
+        {
+            orderlist->SetStatus(6);
+        }
+        else if(name == _T("waimai_refund_switch"))
+        {
+            orderlist->SetStatus(7);
+        }
 
-		orderlist->Refresh();
-	}
+        orderlist->Refresh();
+    }
 }
 
 LRESULT CGameFrameWnd::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)

+ 63 - 4
lewaimai_dispatch/wnd/CWaimaiOrderInfoUI.cpp

@@ -248,9 +248,16 @@ void CWaimaiOrderInfoUI::Refresh(CWaimaiOrder& order)
 
 			pLayout->Add(newField);
 		}
-	}
 
-	pLayout->SetFixedHeight(order.m_order_field.size() * 30);
+		//这里预设选项默认有一个配送时间,所以要减1
+		pLayout->SetFixedHeight((order.m_order_field.size() - 1) * 30);
+
+		pLayout->SetVisible(true);
+	}
+	else
+	{
+		pLayout->SetVisible(false);
+	}
 
 	//配送时间
 	wstring delivery_date;
@@ -278,6 +285,8 @@ void CWaimaiOrderInfoUI::Refresh(CWaimaiOrder& order)
 	CButtonUI* agree_button = static_cast<CButtonUI *>(m_pManager->FindControl(_T("waimai_order_info_page_agree")));
 	CButtonUI* disagree_button = static_cast<CButtonUI *>(m_pManager->FindControl(_T("waimai_order_info_page_disagree")));
 
+	CLabelUI *pRefundStatus = static_cast<CLabelUI *>(this->FindSubControl(_T("waimai_order_info_page_refund_status")));
+
 	if (_tcscmp(CLewaimaiString::UTF8ToUnicode(order.m_order_status).c_str(), _T("未处理")) == 0)
 	{
 		confirm_button->SetVisible(true);
@@ -286,6 +295,8 @@ void CWaimaiOrderInfoUI::Refresh(CWaimaiOrder& order)
 
 		agree_button->SetVisible(false);
 		disagree_button->SetVisible(false);
+
+		pRefundStatus->SetVisible(false);
 	}
 	else if (_tcscmp(CLewaimaiString::UTF8ToUnicode(order.m_order_status).c_str(), _T("已确认")) == 0)
 	{
@@ -295,6 +306,8 @@ void CWaimaiOrderInfoUI::Refresh(CWaimaiOrder& order)
 
 		agree_button->SetVisible(false);
 		disagree_button->SetVisible(false);
+
+		pRefundStatus->SetVisible(false);
 	}
 	else if (_tcscmp(CLewaimaiString::UTF8ToUnicode(order.m_order_status).c_str(), _T("交易成功")) == 0)
 	{
@@ -304,6 +317,8 @@ void CWaimaiOrderInfoUI::Refresh(CWaimaiOrder& order)
 
 		agree_button->SetVisible(false);
 		disagree_button->SetVisible(false);
+
+		pRefundStatus->SetVisible(false);
 	}
 	else if (_tcscmp(CLewaimaiString::UTF8ToUnicode(order.m_order_status).c_str(), _T("交易失败")) == 0)
 	{
@@ -313,6 +328,8 @@ void CWaimaiOrderInfoUI::Refresh(CWaimaiOrder& order)
 
 		agree_button->SetVisible(false);
 		disagree_button->SetVisible(false);
+
+		pRefundStatus->SetVisible(false);
 	}
 	else if (_tcscmp(CLewaimaiString::UTF8ToUnicode(order.m_order_status).c_str(), _T("已取消")) == 0)
 	{
@@ -322,6 +339,8 @@ void CWaimaiOrderInfoUI::Refresh(CWaimaiOrder& order)
 
 		agree_button->SetVisible(false);
 		disagree_button->SetVisible(false);
+
+		pRefundStatus->SetVisible(false);
 	}
 	else if (_tcscmp(CLewaimaiString::UTF8ToUnicode(order.m_order_status).c_str(), _T("退款中")) == 0)
 	{
@@ -329,7 +348,47 @@ void CWaimaiOrderInfoUI::Refresh(CWaimaiOrder& order)
 		success_button->SetVisible(false);
 		fail_button->SetVisible(false);
 
-		agree_button->SetVisible(true);
-		disagree_button->SetVisible(true);
+		std::string refund_status = m_order.m_refund_status;
+		if (refund_status == "1")
+		{
+			agree_button->SetVisible(true);
+			disagree_button->SetVisible(true);
+		}
+		else if (refund_status == "5")
+		{
+			agree_button->SetVisible(true);
+			disagree_button->SetVisible(false);
+		}
+		else
+		{
+			agree_button->SetVisible(false);
+			disagree_button->SetVisible(false);
+		}
+
+		pRefundStatus->SetVisible(true);
+
+		std::wstring refund_status_text = L"退款状态:";
+		if (refund_status == "1")
+		{
+			refund_status_text += L"顾客申请退款,等待商家处理";
+		}
+		else if (refund_status == "2")
+		{
+			refund_status_text += L"退款成功,订单失败";
+		}
+		else if (refund_status == "3")
+		{
+			refund_status_text += L"商家已拒绝退款,等待顾客受理";
+		}
+		else if (refund_status == "4")
+		{
+			refund_status_text += L"退款失败,订单变为已确认";
+		}
+		else if (refund_status == "5")
+		{
+			refund_status_text += L"顾客再次发起退款,等待客服介入处理中";
+		}
+
+		pRefundStatus->SetText(refund_status_text.c_str());
 	}
 }

+ 49 - 2
lewaimai_dispatch/wnd/CWaimaiOrderItemUI.cpp

@@ -63,6 +63,8 @@ void CWaimaiOrderItemUI::SetData(rapidjson::Value& orderinfo)
 
 	if (m_status == 1)
 	{
+		this->FindSubControl(L"waimai_order_list_refund_status")->SetVisible(false);
+
 		this->FindSubControl(L"waimai_order_list_confirme")->SetVisible(true);
 		this->FindSubControl(L"waimai_order_list_success")->SetVisible(false);
 		this->FindSubControl(L"waimai_order_list_fail")->SetVisible(true);
@@ -72,6 +74,8 @@ void CWaimaiOrderItemUI::SetData(rapidjson::Value& orderinfo)
 	}
 	else if (m_status == 2 || m_status == 3)
 	{
+		this->FindSubControl(L"waimai_order_list_refund_status")->SetVisible(false);
+
 		this->FindSubControl(L"waimai_order_list_confirme")->SetVisible(false);
 		this->FindSubControl(L"waimai_order_list_success")->SetVisible(true);
 		this->FindSubControl(L"waimai_order_list_fail")->SetVisible(true);
@@ -81,6 +85,8 @@ void CWaimaiOrderItemUI::SetData(rapidjson::Value& orderinfo)
 	}
 	else if (m_status == 4 || m_status == 5)
 	{
+		this->FindSubControl(L"waimai_order_list_refund_status")->SetVisible(false);
+
 		this->FindSubControl(L"waimai_order_list_confirme")->SetVisible(false);
 		this->FindSubControl(L"waimai_order_list_success")->SetVisible(false);
 		this->FindSubControl(L"waimai_order_list_fail")->SetVisible(false);
@@ -90,6 +96,8 @@ void CWaimaiOrderItemUI::SetData(rapidjson::Value& orderinfo)
 	}
 	else if (m_status == 6)
 	{
+		this->FindSubControl(L"waimai_order_list_refund_status")->SetVisible(false);
+
 		this->FindSubControl(L"waimai_order_list_confirme")->SetVisible(false);
 		this->FindSubControl(L"waimai_order_list_success")->SetVisible(false);
 		this->FindSubControl(L"waimai_order_list_fail")->SetVisible(false);
@@ -103,7 +111,46 @@ void CWaimaiOrderItemUI::SetData(rapidjson::Value& orderinfo)
 		this->FindSubControl(L"waimai_order_list_success")->SetVisible(false);
 		this->FindSubControl(L"waimai_order_list_fail")->SetVisible(false);
 
-		this->FindSubControl(L"waimai_order_list_agree")->SetVisible(true);
-		this->FindSubControl(L"waimai_order_list_disagree")->SetVisible(true);
+		std::string refund_status = orderinfo["refund_status"].GetString();
+		if (refund_status == "1")
+		{
+			this->FindSubControl(L"waimai_order_list_agree")->SetVisible(true);
+			this->FindSubControl(L"waimai_order_list_disagree")->SetVisible(true);
+		}
+		else if (refund_status == "5")
+		{
+			this->FindSubControl(L"waimai_order_list_agree")->SetVisible(true);
+			this->FindSubControl(L"waimai_order_list_disagree")->SetVisible(false);
+		}
+		else
+		{
+			this->FindSubControl(L"waimai_order_list_agree")->SetVisible(false);
+			this->FindSubControl(L"waimai_order_list_disagree")->SetVisible(false);
+		}
+
+		this->FindSubControl(L"waimai_order_list_refund_status")->SetVisible(true);
+		std::wstring refund_status_text = L"退款状态:";
+		if (refund_status == "1")
+		{
+			refund_status_text += L"顾客申请退款,等待商家处理";
+		}
+		else if (refund_status == "2")
+		{
+			refund_status_text += L"退款成功,订单失败";
+		}
+		else if (refund_status == "3")
+		{
+			refund_status_text += L"商家已拒绝退款,等待顾客受理";
+		}
+		else if (refund_status == "4")
+		{
+			refund_status_text += L"退款失败,订单变为已确认";
+		}
+		else if (refund_status == "5")
+		{
+			refund_status_text += L"顾客再次发起退款,等待客服介入处理中";
+		}
+
+		this->FindSubControl(L"waimai_order_list_refund_status")->SetText(refund_status_text.c_str());
 	}
 }