张洋 пре 4 година
родитељ
комит
ac6bfd43ba

BIN
bin/Win32/Debug/zhipuzi_pos_windows/db/pos.db


+ 15 - 32
bin/Win32/Debug/zhipuzi_pos_windows/skin/diandan_page.xml

@@ -6,10 +6,9 @@
 	
 	<DiandanPage>
 		<HorizontalLayout>
-			<VerticalLayout width="500">
+			<VerticalLayout width="430">
 				<HorizontalLayout>
-
-					<VerticalLayout bkcolor="#FFFFFFFF" width="350" padding="15,15,0,0">
+					<VerticalLayout bkcolor="#FFFFFFFF" width="300" padding="15,15,0,0">
 						<HorizontalLayout height="70">
 							<Control></Control>
 							<Button name="btn_diandan_cundan" width="70" height="36" padding="0,15,20,0" text="存单" textcolor="#FFFFFFFF" />
@@ -20,9 +19,9 @@
 						
 						<List name="list_diandan_cart" padding="0,10,0,0" itemlinecolor="#FF000000" vscrollbar="true">
 							<ListHeader />
-							<ListHeaderItem text="商品" width="200" align="center" />
-							<ListHeaderItem text="数量" width="75" align="center" />
-							<ListHeaderItem text="金额" width="75" align="center" />
+							<ListHeaderItem text="商品" width="160" align="center" />
+							<ListHeaderItem text="数量" width="70" align="center" />
+							<ListHeaderItem text="金额" width="70" align="center" />
 						</List>
 						
 						<Label text="5份 ¥100" font="0" textcolor="#FFFF0000" height="40" align="right" padding="0,10,15,0"></Label>
@@ -34,14 +33,14 @@
 						</HorizontalLayout>
 					</VerticalLayout>
 					
-					<VerticalLayout bkcolor="#FFFFFFFF" width="120" padding="15,15,0,0">
-						<Button name="btn_diandan_jia" width="80" height="36" padding="20,80,20,0" text="+" textcolor="#FFFFFFFF" />
-						<Button name="btn_diandan_jian" width="80" height="36" padding="20,15,20,0" text="-" textcolor="#FFFFFFFF" />
-						<Button name="btn_diandan_shanchu" width="80" height="36" padding="20,15,20,0" text="删除" textcolor="#FFFFFFFF" />
-						<Button name="btn_diandan_guige" width="80" height="36" padding="20,15,20,0" text="规格/做法" textcolor="#FFFFFFFF" />
+					<VerticalLayout bkcolor="#FFFFFFFF" width="100" padding="15,15,0,0">
+						<Button name="btn_diandan_jia" width="80" height="36" padding="10,80,10,0" text="+" textcolor="#FFFFFFFF" />
+						<Button name="btn_diandan_jian" width="80" height="36" padding="10,15,10,0" text="-" textcolor="#FFFFFFFF" />
+						<Button name="btn_diandan_shanchu" width="80" height="36" padding="10,15,10,0" text="删除" textcolor="#FFFFFFFF" />
+						<Button name="btn_diandan_guige" width="80" height="36" padding="10,15,10,0" text="规格/做法" textcolor="#FFFFFFFF" />
 						
-						<Button name="btn_diandan_dabao" width="80" height="36" padding="20,50,20,0" text="打包" textcolor="#FFFFFFFF" />
-						<Button name="btn_diandan_budabao" width="80" height="36" padding="20,15,20,0" text="不打包" textcolor="#FFFFFFFF" />
+						<Button name="btn_diandan_dabao" width="80" height="36" padding="10,50,10,0" text="打包" textcolor="#FFFFFFFF" />
+						<Button name="btn_diandan_budabao" width="80" height="36" padding="10,15,10,0" text="不打包" textcolor="#FFFFFFFF" />
 					</VerticalLayout>
 				</HorizontalLayout>
 				
@@ -52,28 +51,12 @@
 			
 			<VerticalLayout>
 				<HorizontalLayout name="diandan_fenlei_layout" height="56" hscrollbar="true" padding="15,15,15,0">
-					<Option name="option_diandan_1" group="diandan_fenlei_tab" text="商品分类1" width="120" height="38" padding="0,0,15,0" bkcolor="#FFFFFFFF" selectedtextcolor="FFFF0000"></Option>
-					
-					<Option name="option_diandan_1" group="diandan_fenlei_tab" text="商品分类1" width="120" height="38" padding="0,0,15,0" bkcolor="#FFFFFFFF" selectedtextcolor="FFFF0000"></Option>
-					
-					<Option name="option_diandan_1" group="diandan_fenlei_tab" text="商品分类1" width="120" height="38" padding="0,0,15,0" bkcolor="#FFFFFFFF" selectedtextcolor="FFFF0000"></Option>
-					
-					<Option name="option_diandan_1" group="diandan_fenlei_tab" text="商品分类1" width="120" height="38" padding="0,0,15,0" bkcolor="#FFFFFFFF" selectedtextcolor="FFFF0000"></Option>
-					
-					<Option name="option_diandan_1" group="diandan_fenlei_tab" text="商品分类1" width="120" height="38" padding="0,0,15,0" bkcolor="#FFFFFFFF" selectedtextcolor="FFFF0000"></Option>
-					
-					<Option name="option_diandan_1" group="diandan_fenlei_tab" text="商品分类1" width="120" height="38" padding="0,0,15,0" bkcolor="#FFFFFFFF" selectedtextcolor="FFFF0000"></Option>
-					
-					<Option name="option_diandan_1" group="diandan_fenlei_tab" text="商品分类1" width="120" height="38" padding="0,0,15,0" bkcolor="#FFFFFFFF" selectedtextcolor="FFFF0000"></Option>
-					
-					<Option name="option_diandan_1" group="diandan_fenlei_tab" text="商品分类1" width="120" height="38" padding="0,0,15,0" bkcolor="#FFFFFFFF" selectedtextcolor="FFFF0000"></Option>
-					
-					<Option name="option_diandan_1" group="diandan_fenlei_tab" text="商品分类1" width="120" height="38" padding="0,0,15,0" bkcolor="#FFFFFFFF" selectedtextcolor="FFFF0000"></Option>
+
 				</HorizontalLayout>
 				
-				<FoodList name="diandan_foodlist" padding="15,15,15,0" bkcolor="#FFDEB887" vscrollbar="true">
+				<TileLayout name="diandan_foodlist" padding="15,15,15,0" bkcolor="#FFDEB887" vscrollbar="true">
 				
-				</FoodList>
+				</TileLayout>
 				
 				<HorizontalLayout height="100" bkcolor="#FFFFFFFF" padding="15,15,15,15">
 				

+ 5 - 0
bin/Win32/Debug/zhipuzi_pos_windows/skin/foodtype_option.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Window>
+	<FoodtypeOption width="120" height="38" padding="0,0,15,0" bkcolor="#FFFFFFFF" selectedtextcolor="FFFF0000">
+	</FoodtypeOption>
+</Window>

+ 0 - 56
zhipuzi_pos_windows/control/CFoodlistUI.cpp

@@ -1,56 +0,0 @@
-#include "CFoodlistUI.h"
-#include "CDiandanFoodItemUI.h"
-
-#include "ControlEx.h"
-
-inline double CalculateDelay(double state) {
-	return pow(state, 2);
-}
-
-CFoodlistUI::CFoodlistUI()
-{
-	this->Refresh(1);
-}
-
-
-CFoodlistUI::~CFoodlistUI()
-{
-}
-
-void CFoodlistUI::DoEvent(TEventUI& event)
-{
-	CTileLayoutUI::DoEvent(event);
-}
-
-void CFoodlistUI::Refresh(int nType)
-{
-	SIZE itemSize;
-	itemSize.cx = 150;
-	itemSize.cy = 200;
-
-	this->SetItemSize(itemSize);
-
-	this->SetChildPadding(20);
-	this->SetChildVPadding(20);
-
-	for (int i = 0; i < 50; ++i)
-	{
-		//´´½¨Ò»¸ö¶ÔÏó
-		CDialogBuilder builder;
-		CDialogBuilderCallbackEx cb;
-
-		CDiandanFoodItemUI* pItem = static_cast<CDiandanFoodItemUI*>(builder.Create(_T("diandan_fooditem.xml"), (UINT)0, &cb, m_pManager));
-		if (pItem != NULL)
-		{
-			
-
-			this->Add(pItem);
-
-			pItem = NULL;
-		}
-		else
-		{
-			LOG_INFO("create waimai_order_item fail!");
-		}
-	}
-}

+ 0 - 24
zhipuzi_pos_windows/control/CFoodlistUI.h

@@ -1,24 +0,0 @@
-#pragma once
-
-#include "../pch/pch.h"
-
-class CFoodlistUI : public CTileLayoutUI
-{
-public:
-	CFoodlistUI();
-	~CFoodlistUI();
-
-	enum { SCROLL_TIMERID = 10 };
-
-	void Refresh(int nType);
-
-	void DoEvent(TEventUI& event);
-
-private:
-	UINT m_uButtonState;
-	POINT m_ptLastMouse;
-	LONG m_dwDelayDeltaY;
-	DWORD m_dwDelayNum;
-	DWORD m_dwDelayLeft;
-};
-

+ 39 - 0
zhipuzi_pos_windows/control/CFoodtypeOptionUI.cpp

@@ -0,0 +1,39 @@
+#include "CFoodtypeOptionUI.h"
+
+
+
+CFoodtypeOptionUI::CFoodtypeOptionUI()
+{
+}
+
+
+CFoodtypeOptionUI::~CFoodtypeOptionUI()
+{
+}
+
+void CFoodtypeOptionUI::SetName(std::wstring name)
+{
+	m_name = name;
+
+	this->SetText(m_name.c_str());
+}
+
+void CFoodtypeOptionUI::SetTypeId(std::string id)
+{
+	m_id = id;
+}
+
+void CFoodtypeOptionUI::SetTaocan()
+{
+	m_is_taocan = true;
+}
+
+std::string CFoodtypeOptionUI::GetTypeId()
+{
+	return m_id;
+}
+
+bool CFoodtypeOptionUI::GetIsTaocan()
+{
+	return m_is_taocan;
+}

+ 25 - 0
zhipuzi_pos_windows/control/CFoodtypeOptionUI.h

@@ -0,0 +1,25 @@
+#pragma once
+
+#include "../pch/pch.h"
+
+class CFoodtypeOptionUI : public COptionUI
+{
+public:
+	CFoodtypeOptionUI();
+	~CFoodtypeOptionUI();
+
+	void SetName(std::wstring name);
+	void SetTypeId(std::string id);
+	void SetTaocan();
+
+	std::string GetTypeId();
+	bool GetIsTaocan();
+
+private:
+	std::wstring m_name;
+	
+	std::string m_id;
+
+	bool m_is_taocan = false;
+};
+

+ 3 - 3
zhipuzi_pos_windows/control/ControlEx.h

@@ -8,8 +8,8 @@
 #include "../page/CSettingPageUI.h"
 
 #include "CWaimaiOrderItemUI.h"
-#include "CFoodlistUI.h"
 #include "CDiandanFoodItemUI.h"
+#include "CFoodtypeOptionUI.h"
 
 class CDialogBuilderCallbackEx : public IDialogBuilderCallback
 {
@@ -39,9 +39,9 @@ public:
 		{
 			return new CWaimaiOrderItemUI;
 		}		
-		else if (_tcscmp(pstrClass, _T("FoodList")) == 0)
+		else if (_tcscmp(pstrClass, _T("FoodtypeOption")) == 0)
 		{
-			return new CFoodlistUI;
+			return new CFoodtypeOptionUI;
 		}
 		else if (_tcscmp(pstrClass, _T("DiandanFoodItem")) == 0)
 		{

+ 1 - 1
zhipuzi_pos_windows/network/CMessagePush.cpp

@@ -2,7 +2,7 @@
 #include "CMessagePush.h"
 
 #include "../tool/CPosPrinter.h"
-#include "../order/CWaimaiOrder.h"
+#include "../zhipuzi/CWaimaiOrder.h"
 
 #include "mmsystem.h"
 

+ 1 - 1
zhipuzi_pos_windows/network/CMessagePush.h

@@ -1,7 +1,7 @@
 #pragma once
 
 #include "../pch/pch.h"
-#include "../order/CWaimaiOrder.h"
+#include "../zhipuzi/CWaimaiOrder.h"
 
 using boost::asio::ip::tcp;
 

+ 118 - 0
zhipuzi_pos_windows/page/CDiandanPageUI.cpp

@@ -1,7 +1,9 @@
 #include "../pch/pch.h"
 #include "CDiandanPageUI.h"
 
+#include "../control/ControlEx.h"
 
+#include "../tool/CSqlite3.h"
 
 CDiandanPageUI::CDiandanPageUI()
 {
@@ -15,7 +17,38 @@ CDiandanPageUI::~CDiandanPageUI()
 //初始化当前页面的展示,处理默认展示效果,在页面被加载的时候调用
 void CDiandanPageUI::InitShow()
 {
+	m_foodLayout = static_cast<CTileLayoutUI*>(this->FindSubControl(_T("diandan_foodlist")));
+	m_foodtypeLayout = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(_T("diandan_fenlei_layout")));
 
+	CSqlite3 sqlite;
+	m_nFoodpackageNum = sqlite.GetFoodpackageNum();
+	m_types = sqlite.GetFoodtypes(); //只包含收银机显示的分类
+	if (m_nFoodpackageNum > 0)
+	{
+		//默认选中的分类是商品套餐
+		m_cur_type_id = "taocan";
+	}
+	else
+	{
+		//没有套餐,默认选中第一个商品分类
+		if (m_types.size() > 0)
+		{
+			m_cur_type_id = m_types[0].id;
+		}
+	}
+
+	//先初始化商品分类
+	this->InitFoodtypeShow();
+
+	//如果不是一个分类都没有,选中第一个分类
+	if (m_cur_type_id != "")
+	{
+		CFoodtypeOptionUI* curTypeUI = static_cast<CFoodtypeOptionUI*>(m_foodtypeLayout->GetItemAt(0));
+
+		curTypeUI->Selected(true, false);
+	}
+
+	this->InitFoodShow();
 }
 
 //处理按钮点击类事件
@@ -35,3 +68,88 @@ void CDiandanPageUI::HandleItemSelectMsg(TNotifyUI& msg)
 {
 
 }
+
+void CDiandanPageUI::InitFoodtypeShow()
+{	
+	//先判断有没有套餐分类
+	if (m_nFoodpackageNum > 0)
+	{
+		CDialogBuilder builder;
+		CDialogBuilderCallbackEx cb;
+
+		CFoodtypeOptionUI* pItem = static_cast<CFoodtypeOptionUI*>(builder.Create(_T("foodtype_option.xml"), (UINT)0, &cb, m_pManager));
+
+		pItem->SetName(L"商品套餐");
+		pItem->SetTypeId("0");
+		pItem->SetTaocan();
+		pItem->SetGroup(L"diandan_foodtype");
+
+		m_foodtypeLayout->Add(pItem);
+	}
+
+	//接下来开始处理商品分类
+	for (std::vector<CFoodType>::iterator it = m_types.begin(); it != m_types.end(); it++)
+	{
+		CFoodType type = *it;
+
+		if (type.is_shouyinji_show == "1")
+		{
+			CDialogBuilder builder;
+			CDialogBuilderCallbackEx cb;
+
+			CFoodtypeOptionUI* pItem = static_cast<CFoodtypeOptionUI*>(builder.Create(_T("foodtype_option.xml"), (UINT)0, &cb, m_pManager));
+
+			pItem->SetName(CLewaimaiString::UTF8ToUnicode(type.name));
+			pItem->SetTypeId(type.id);
+			pItem->SetGroup(L"diandan_foodtype");
+
+			m_foodtypeLayout->Add(pItem);
+		}
+	}
+}
+
+void CDiandanPageUI::InitFoodShow()
+{
+	//如果当前一个分类都没有,那么就处理了
+	if (m_cur_type_id == "")
+	{
+		return;
+	}
+	else if (m_cur_type_id == "taocan")
+	{
+		//选择的是套餐分类
+	}
+	else
+	{
+		//正常的商品分类
+
+	}
+
+	SIZE itemSize;
+	itemSize.cx = 150;
+	itemSize.cy = 200;
+
+	m_foodLayout->SetItemSize(itemSize);
+
+	m_foodLayout->SetChildPadding(20);
+	m_foodLayout->SetChildVPadding(20);
+
+	for (int i = 0; i < 50; ++i)
+	{
+		//创建一个对象
+		CDialogBuilder builder;
+		CDialogBuilderCallbackEx cb;
+
+		CDiandanFoodItemUI* pItem = static_cast<CDiandanFoodItemUI*>(builder.Create(_T("diandan_fooditem.xml"), (UINT)0, &cb, m_pManager));
+		if (pItem != NULL)
+		{
+			m_foodLayout->Add(pItem);
+
+			pItem = NULL;
+		}
+		else
+		{
+			LOG_INFO("create waimai_order_item fail!");
+		}
+	}
+}

+ 19 - 0
zhipuzi_pos_windows/page/CDiandanPageUI.h

@@ -3,6 +3,8 @@
 #include "../pch/pch.h"
 #include "CBasePageUI.h"
 
+#include "../zhipuzi/CFoodtype.h"
+
 class CDiandanPageUI : public CBasePageUI
 {
 public:
@@ -20,5 +22,22 @@ public:
 
 	//处理下拉框、radio的切换事件
 	void HandleItemSelectMsg(TNotifyUI& msg);
+
+	void InitFoodtypeShow();
+
+	void InitFoodShow();
+
+private:
+	CTileLayoutUI* m_foodLayout;
+	CHorizontalLayoutUI* m_foodtypeLayout;
+
+	//套餐商品数量
+	int m_nFoodpackageNum;
+
+	//所有商品分类(只包含收银机显示的分类)
+	std::vector<CFoodType> m_types;
+
+	//当前选中的商品分类ID
+	std::string m_cur_type_id = "";
 };
 

+ 1 - 1
zhipuzi_pos_windows/page/CWaimaiOrderInfoPageUI.h

@@ -3,7 +3,7 @@
 #include "../pch/pch.h"
 #include "CBasePageUI.h"
 
-#include "../order/CWaimaiOrder.h"
+#include "../zhipuzi/CWaimaiOrder.h"
 
 class CWaimaiOrderInfoPageUI : public CBasePageUI
 {

+ 1 - 1
zhipuzi_pos_windows/tool/CPosPrinter.h

@@ -1,7 +1,7 @@
 #pragma once
 
 #include "../pch/pch.h"
-#include "../order/CWaimaiOrder.h"
+#include "../zhipuzi/CWaimaiOrder.h"
 
 //SetupDiGetInterfaceDeviceDetail所需要的输出长度,定义足够大
 #define INTERFACE_DETAIL_SIZE 1024

+ 70 - 0
zhipuzi_pos_windows/tool/CSqlite3.cpp

@@ -960,4 +960,74 @@ bool CSqlite3::ExeSQl(std::string sql)
 	}
 
 	return true;
+}
+
+//获取套餐商品的数量
+int CSqlite3::GetFoodpackageNum()
+{
+	int count = 0;
+
+	std::string sql = "SELECT count(*) as num FROM pos_foodpackage;";
+	sqlite3_stmt * stmt = NULL;
+
+	if (sqlite3_prepare_v2(m_db, sql.c_str(), -1, &stmt, NULL) == SQLITE_OK)
+	{
+		if (sqlite3_step(stmt) == SQLITE_ROW)
+		{
+			count = sqlite3_column_int(stmt, 0);
+		}
+
+		sqlite3_finalize(stmt);
+	}
+	else
+	{
+		//异常情况
+		sqlite3_finalize(stmt);
+	}
+
+	return count;
+}
+
+std::vector<CFoodType> CSqlite3::GetFoodtypes(bool is_shouyinji_show)
+{
+	std::vector<CFoodType> data;
+
+	std::string sql;
+	
+	if (is_shouyinji_show)
+	{
+		sql = "SELECT * FROM pos_foodtype WHERE is_shouyinji_show = '1';";
+	}
+	else
+	{
+		sql = "SELECT * FROM pos_foodtype;";
+	}
+	
+	sqlite3_stmt * stmt = NULL;
+
+	if (sqlite3_prepare_v2(m_db, sql.c_str(), -1, &stmt, NULL) == SQLITE_OK)
+	{
+		while (sqlite3_step(stmt) == SQLITE_ROW)
+		{
+			std::string id = (char*)sqlite3_column_text(stmt, 0);
+			std::string name = (char*)sqlite3_column_text(stmt, 1);
+			std::string is_shouyinji_show = (char*)sqlite3_column_text(stmt, 2);
+
+			CFoodType newtype;
+			newtype.id = id;
+			newtype.name = name;
+			newtype.is_shouyinji_show = is_shouyinji_show;
+
+			data.push_back(newtype);
+		}
+
+		sqlite3_finalize(stmt);
+	}
+	else
+	{
+		//异常情况
+		sqlite3_finalize(stmt);
+	}
+
+	return data;
 }

+ 7 - 0
zhipuzi_pos_windows/tool/CSqlite3.h

@@ -4,6 +4,8 @@
 
 #include "CSetting.h"
 
+#include "../zhipuzi/CFoodtype.h"
+
 class CSqlite3
 {
 public:
@@ -30,6 +32,11 @@ public:
 	bool InitFoodtypeData(rapidjson::Value& foodtyperows);
 	bool InitFoodpackageData(rapidjson::Value& foodpackagerows);
 
+	//»ñÈ¡ÌײÍÉÌÆ·µÄÊýÁ¿
+	int GetFoodpackageNum();
+
+	std::vector<CFoodType> GetFoodtypes(bool is_shouyinji_show = true);
+
 private:
 	bool ExeSQl(std::string sql);
 

+ 1 - 1
zhipuzi_pos_windows/wnd/CMainWnd.h

@@ -3,7 +3,7 @@
 #include "../pch/pch.h"
 
 #include "../control/CWaimaiOrderItemUI.h"
-#include "../order/CWaimaiOrder.h"
+#include "../zhipuzi/CWaimaiOrder.h"
 #include "../tool/CPosPrinter.h"
 
 #include "../page/CBasePageUI.h"

+ 34 - 0
zhipuzi_pos_windows/zhipuzi/CFood.h

@@ -0,0 +1,34 @@
+#pragma once
+
+#include <string>
+#include <vector>
+
+class CFood
+{
+public:
+	std::string id;
+	std::string shop_id;
+	std::string name;
+	std::string price;
+	std::string tag;
+	std::string status;
+	std::string type_id;
+	std::string is_dabao;
+	std::string dabao_money;
+	std::string is_nature;
+	std::string nature;
+	std::string autostocknum;
+	std::string goods_img;
+	std::string unit;
+	std::string barcode;
+	std::string member_price_used;
+	std::string member_price;
+	std::string buying_price;
+	std::string stock;
+	std::string stockvalid;
+	std::string stock_warning;
+	std::string is_shouyinji_show;
+	std::string expiration_date;
+	std::string is_weight;
+	std::string member_price_json;
+};

+ 12 - 0
zhipuzi_pos_windows/zhipuzi/CFoodtype.h

@@ -0,0 +1,12 @@
+#pragma once
+
+#include <string>
+#include <vector>
+
+class CFoodType
+{
+public:
+	std::string id;
+	std::string name;
+	std::string is_shouyinji_show;
+};

zhipuzi_pos_windows/order/CWaimaiOrder.cpp → zhipuzi_pos_windows/zhipuzi/CWaimaiOrder.cpp


+ 1 - 2
zhipuzi_pos_windows/order/CWaimaiOrder.h

@@ -126,5 +126,4 @@ public:
     std::vector<CWaimaiOrderItem> m_order_items;
     std::vector<CWaimaiOrderField> m_order_field;
     std::vector<CWaimaiOrderField> m_addservie;
-};
-
+};

+ 6 - 4
zhipuzi_pos_windows/zhipuzi_pos_windows.vcxproj

@@ -225,12 +225,12 @@ copy $(ProjectDir)conf\ $(SolutionDir)bin\$(Platform)\$(Configuration)\conf\</Co
     </PostBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
+    <ClInclude Include="control\CFoodtypeOptionUI.h" />
     <ClInclude Include="page\CBasePageUI.h" />
     <ClInclude Include="page\CWaimaiOrderListPageUI.h" />
     <ClInclude Include="page\CDiandanPageUI.h" />
     <ClInclude Include="helper\CLewaimaiJson.h" />
     <ClInclude Include="control\CDiandanFoodItemUI.h" />
-    <ClInclude Include="control\CFoodlistUI.h" />
     <ClInclude Include="helper\CBitmapHelper.h" />
     <ClInclude Include="network\CZhipuziHttpProxy.h" />
     <ClInclude Include="tool\CComHelper.h" />
@@ -245,7 +245,9 @@ copy $(ProjectDir)conf\ $(SolutionDir)bin\$(Platform)\$(Configuration)\conf\</Co
     <ClInclude Include="tool\CSetting.h" />
     <ClInclude Include="tool\CSqlite3.h" />
     <ClInclude Include="network\CMessagePush.h" />
-    <ClInclude Include="order\CWaimaiOrder.h" />
+    <ClInclude Include="zhipuzi\CFood.h" />
+    <ClInclude Include="zhipuzi\CFoodtype.h" />
+    <ClInclude Include="zhipuzi\CWaimaiOrder.h" />
     <ClInclude Include="tool\CPosPrinter.h" />
     <ClInclude Include="control\CWaimaiOrderItemUI.h" />
     <ClInclude Include="wnd\CMainWnd.h" />
@@ -264,11 +266,11 @@ copy $(ProjectDir)conf\ $(SolutionDir)bin\$(Platform)\$(Configuration)\conf\</Co
     <ClInclude Include="helper\CSystem.h" />
   </ItemGroup>
   <ItemGroup>
+    <ClCompile Include="control\CFoodtypeOptionUI.cpp" />
     <ClCompile Include="page\CWaimaiOrderListPageUI.cpp" />
     <ClCompile Include="page\CDiandanPageUI.cpp" />
     <ClCompile Include="helper\CLewaimaiJson.cpp" />
     <ClCompile Include="control\CDiandanFoodItemUI.cpp" />
-    <ClCompile Include="control\CFoodlistUI.cpp" />
     <ClCompile Include="helper\CBitmapHelper.cpp" />
     <ClCompile Include="tool\CComHelper.cpp" />
     <ClCompile Include="tool\CExceptionDmp.cpp" />
@@ -281,7 +283,7 @@ copy $(ProjectDir)conf\ $(SolutionDir)bin\$(Platform)\$(Configuration)\conf\</Co
     <ClCompile Include="tool\CSetting.cpp" />
     <ClCompile Include="tool\CSqlite3.cpp" />
     <ClCompile Include="network\CMessagePush.cpp" />
-    <ClCompile Include="order\CWaimaiOrder.cpp" />
+    <ClCompile Include="zhipuzi\CWaimaiOrder.cpp" />
     <ClCompile Include="tool\CPosPrinter.cpp" />
     <ClCompile Include="control\CWaimaiOrderItemUI.cpp" />
     <ClCompile Include="wnd\CMainWnd.cpp" />

+ 18 - 12
zhipuzi_pos_windows/zhipuzi_pos_windows.vcxproj.filters

@@ -48,9 +48,6 @@
     <ClInclude Include="tool\CPosPrinter.h">
       <Filter>头文件</Filter>
     </ClInclude>
-    <ClInclude Include="order\CWaimaiOrder.h">
-      <Filter>头文件</Filter>
-    </ClInclude>
     <ClInclude Include="wnd\CMainWnd.h">
       <Filter>头文件</Filter>
     </ClInclude>
@@ -87,9 +84,6 @@
     <ClInclude Include="tool\CExceptionDmp.h">
       <Filter>头文件</Filter>
     </ClInclude>
-    <ClInclude Include="control\CFoodlistUI.h">
-      <Filter>头文件</Filter>
-    </ClInclude>
     <ClInclude Include="control\CDiandanFoodItemUI.h">
       <Filter>头文件</Filter>
     </ClInclude>
@@ -126,6 +120,18 @@
     <ClInclude Include="page\CBasePageUI.h">
       <Filter>头文件</Filter>
     </ClInclude>
+    <ClInclude Include="control\CFoodtypeOptionUI.h">
+      <Filter>头文件</Filter>
+    </ClInclude>
+    <ClInclude Include="zhipuzi\CWaimaiOrder.h">
+      <Filter>头文件</Filter>
+    </ClInclude>
+    <ClInclude Include="zhipuzi\CFoodtype.h">
+      <Filter>头文件</Filter>
+    </ClInclude>
+    <ClInclude Include="zhipuzi\CFood.h">
+      <Filter>头文件</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="pch\pch.cpp">
@@ -155,9 +161,6 @@
     <ClCompile Include="tool\CPosPrinter.cpp">
       <Filter>源文件</Filter>
     </ClCompile>
-    <ClCompile Include="order\CWaimaiOrder.cpp">
-      <Filter>源文件</Filter>
-    </ClCompile>
     <ClCompile Include="zhipuzi_pos_windows.cpp">
       <Filter>源文件</Filter>
     </ClCompile>
@@ -194,9 +197,6 @@
     <ClCompile Include="tool\CExceptionDmp.cpp">
       <Filter>源文件</Filter>
     </ClCompile>
-    <ClCompile Include="control\CFoodlistUI.cpp">
-      <Filter>源文件</Filter>
-    </ClCompile>
     <ClCompile Include="control\CDiandanFoodItemUI.cpp">
       <Filter>源文件</Filter>
     </ClCompile>
@@ -224,6 +224,12 @@
     <ClCompile Include="page\CSettingPageUI.cpp">
       <Filter>源文件</Filter>
     </ClCompile>
+    <ClCompile Include="control\CFoodtypeOptionUI.cpp">
+      <Filter>源文件</Filter>
+    </ClCompile>
+    <ClCompile Include="zhipuzi\CWaimaiOrder.cpp">
+      <Filter>源文件</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <Image Include="resource\zhipuzi.ico">