瀏覽代碼

继续做交班

zhangyang 4 年之前
父節點
當前提交
69bec5af37

+ 102 - 85
bin/Win32/Debug/zhipuzi_pos_windows/skin/jiaoban_page.xml

@@ -5,102 +5,119 @@
 	<Font id="2" name="微软雅黑" size="20" />
 	
 	<JiaobanPage>
-		<VerticalLayout>
-			<VerticalLayout name="data_layout" visible="false">
-				<HorizontalLayout height="180" padding="20,20,20,0" bkcolor="#FFFFFFFF">
+		<VerticalLayout name="data_layout" visible="false" vscrollbar="true">
+			<HorizontalLayout height="180" padding="20,20,20,0" bkcolor="#FFFFFFFF">
+				<VerticalLayout width="474">
+					<Label text="开班时间" font="2" padding="30,30,0,0"></Label>
+					<Combo name="jiaoban_page_init_time_select" padding="30,20,0,0" width="200" height="32" tooltip="请点击这里选择您的标签纸出纸方向" normalimage="file='Setting_Combox_Normal.png' corner='2,2,24,2'" hotimage="file='Setting_Combox_Hover.png' corner='2,2,24,2'" pushedimage="Setting_Combox_Click.png' corner='2,2,24,2'" textpadding="10,1,1,1" >
+						
+					</Combo>
+					<Label text="默认为最近一次本账号登录收银系统的时间" padding="30,15,0,0"></Label>
+				</VerticalLayout>
 				
-				</HorizontalLayout>
+				<Control width="1" bkcolor="#FFEEEEEE" padding="0,10,0,10"></Control>
 				
-				<VerticalLayout height="180" padding="0,30,0,0">
-					<Label text="营业概况" font="2" padding="20,0,0,0"></Label>
-					
-					<HorizontalLayout>					
-						<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
-							<Label name="waimai_num" text="" font="2" padding="20,25,0,0"></Label>
-							<Label text="外卖订单数量" padding="20,15,0,0" textcolor="#FF777777"></Label>
-						</VerticalLayout>
-						
-						<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
-							<Label name="waimai_value" text="" font="2" padding="20,25,0,0"></Label>
-							<Label text="外卖营业额" padding="20,15,0,0" textcolor="#FF777777"></Label>
-						</VerticalLayout>
-						
-						<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
-							<Label name="diannei_num" text="" font="2" padding="20,25,0,0"></Label>
-							<Label text="店内订单数量" padding="20,15,0,0" textcolor="#FF777777"></Label>
-						</VerticalLayout>
-						
-						<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
-							<Label name="diannei_value" text="" font="2" padding="20,25,0,0"></Label>
-							<Label text="店内营业额" padding="20,15,0,0" textcolor="#FF777777"></Label>
-						</VerticalLayout>
-						
-						<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
-							<Label name="huiyuan_num" text="" font="2" padding="20,25,0,0"></Label>
-							<Label text="新增会员数量" padding="20,15,0,0" textcolor="#FF777777"></Label>
-						</VerticalLayout>
-						
-						<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
-							<Label name="huiyuan_value" text="" font="2" padding="20,25,0,0"></Label>
-							<Label text="会员储值金额" padding="20,15,0,0" textcolor="#FF777777"></Label>
-						</VerticalLayout>
-					</HorizontalLayout>
+				<VerticalLayout width="474">
+					<Label text="交班时间" font="2" padding="30,30,0,0"></Label>
+					<Label name="jiaoban_page_end_time" text="" padding="30,20,0,0"></Label>
 				</VerticalLayout>
+			</HorizontalLayout>
+			
+			<VerticalLayout height="180" padding="0,30,0,0">
+				<Label text="营业概况" font="2" padding="20,0,0,0"></Label>
 				
-				<VerticalLayout height="180" padding="0,30,0,0">
-					<Label text="资金概况" font="2" padding="20,0,0,0"></Label>
+				<HorizontalLayout>					
+					<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
+						<Label name="waimai_num" text="" font="2" padding="20,25,0,0"></Label>
+						<Label text="外卖订单数量" padding="20,15,0,0" textcolor="#FF777777"></Label>
+					</VerticalLayout>
 					
-					<HorizontalLayout>					
-						<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
-							<Label name="waimai_num" text="" font="2" padding="20,25,0,0"></Label>
-							<Label text="店内退款订单数" padding="20,15,0,0" textcolor="#FF777777"></Label>
-						</VerticalLayout>
-						
-						<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
-							<Label name="waimai_value" text="" font="2" padding="20,25,0,0"></Label>
-							<Label text="店内退款订单金额" padding="20,15,0,0" textcolor="#FF777777"></Label>
-						</VerticalLayout>
-						
-						<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
-							<Label name="diannei_num" text="" font="2" padding="20,25,0,0"></Label>
-							<Label text="店内订单优惠金额" padding="20,15,0,0" textcolor="#FF777777"></Label>
-						</VerticalLayout>
-					</HorizontalLayout>
-				</VerticalLayout>
+					<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
+						<Label name="waimai_value" text="" font="2" padding="20,25,0,0"></Label>
+						<Label text="外卖营业额" padding="20,15,0,0" textcolor="#FF777777"></Label>
+					</VerticalLayout>
+					
+					<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
+						<Label name="diannei_num" text="" font="2" padding="20,25,0,0"></Label>
+						<Label text="店内订单数量" padding="20,15,0,0" textcolor="#FF777777"></Label>
+					</VerticalLayout>
+					
+					<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
+						<Label name="diannei_value" text="" font="2" padding="20,25,0,0"></Label>
+						<Label text="店内营业额" padding="20,15,0,0" textcolor="#FF777777"></Label>
+					</VerticalLayout>
+					
+					<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
+						<Label name="huiyuan_num" text="" font="2" padding="20,25,0,0"></Label>
+						<Label text="新增会员数量" padding="20,15,0,0" textcolor="#FF777777"></Label>
+					</VerticalLayout>
+					
+					<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
+						<Label name="huiyuan_value" text="" font="2" padding="20,25,0,0"></Label>
+						<Label text="会员储值金额" padding="20,15,0,0" textcolor="#FF777777"></Label>
+					</VerticalLayout>
+				</HorizontalLayout>
+			</VerticalLayout>
+			
+			<VerticalLayout height="180" padding="0,30,0,0">
+				<Label text="资金概况" font="2" padding="20,0,0,0"></Label>
 				
-				<VerticalLayout height="180" padding="0,30,0,0">
-					<Label text="现金概况" font="2" padding="20,0,0,0"></Label>
+				<HorizontalLayout>					
+					<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
+						<Label name="diannei_tuikuan_num" text="" font="2" padding="20,25,0,0"></Label>
+						<Label text="店内退款订单数" padding="20,15,0,0" textcolor="#FF777777"></Label>
+					</VerticalLayout>
 					
-					<HorizontalLayout>					
-						<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
-							<Label name="waimai_num" text="" font="2" padding="20,25,0,0"></Label>
-							<Label text="店内订单现金收入" padding="20,15,0,0" textcolor="#FF777777"></Label>
-						</VerticalLayout>
-						
-						<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
-							<Label name="waimai_value" text="" font="2" padding="20,25,0,0"></Label>
-							<Label text="店内订单现金退款" padding="20,15,0,0" textcolor="#FF777777"></Label>
-						</VerticalLayout>
-						
-						<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
-							<Label name="diannei_num" text="" font="2" padding="20,25,0,0"></Label>
-							<Label text="现金净增长" padding="20,15,0,0" textcolor="#FF777777"></Label>
-						</VerticalLayout>
-					</HorizontalLayout>
-				</VerticalLayout>
+					<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
+						<Label name="diannei_tuikuan_value" text="" font="2" padding="20,25,0,0"></Label>
+						<Label text="店内退款订单金额" padding="20,15,0,0" textcolor="#FF777777"></Label>
+					</VerticalLayout>
+					
+					<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
+						<Label name="diannei_youhui_value" text="" font="2" padding="20,25,0,0"></Label>
+						<Label text="店内订单优惠金额" padding="20,15,0,0" textcolor="#FF777777"></Label>
+					</VerticalLayout>
+				</HorizontalLayout>
+			</VerticalLayout>
+			
+			<VerticalLayout height="180" padding="0,30,0,0">
+				<Label text="现金概况" font="2" padding="20,0,0,0"></Label>
 				
-				<HorizontalLayout name="loading">
-					<Control></Control>
-					<VerticalLayout width="24">
-						<Control></Control>
-						<HorizontalLayout height="24">
-							<GifAnim bkimage="loading.gif" autosize="true"></GifAnim>
-						</HorizontalLayout>
-						<Control></Control>
+				<HorizontalLayout>					
+					<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
+						<Label name="diannei_xianjin_value" text="" font="2" padding="20,25,0,0"></Label>
+						<Label text="店内订单现金收入" padding="20,15,0,0" textcolor="#FF777777"></Label>
+					</VerticalLayout>
+					
+					<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
+						<Label name="diannei_xianjin_tuikuan" text="" font="2" padding="20,25,0,0"></Label>
+						<Label text="店内订单现金退款" padding="20,15,0,0" textcolor="#FF777777"></Label>
+					</VerticalLayout>
+					
+					<VerticalLayout bkcolor="#FFFFFFFF" width="240" height="126" padding="20,15,0,0">
+						<Label name="diannei_xianjin_zengzhang" text="" font="2" padding="20,25,0,0"></Label>
+						<Label text="现金净增长" padding="20,15,0,0" textcolor="#FF777777"></Label>
 					</VerticalLayout>
-					<Control></Control>
 				</HorizontalLayout>
 			</VerticalLayout>
+			
+			<HorizontalLayout height="80" padding="30,30,0,0">
+				<Control></Control>
+				<Button name="jiaoban_page_queren_btn" width="400" height="52" text="交班并退出登录" textcolor="#FFFFFFFF" normalimage="file='green_zhengchang.png' corner='5,5,5,5'" hotimage="file='green_xuanfu.png' corner='5,5,5,5'" pushedimage="file='green_dianji.png' corner='5,5,5,5'" />
+				<Control></Control>
+			</HorizontalLayout>
 		</VerticalLayout>
+		
+		<HorizontalLayout name="loading">
+			<Control></Control>
+			<VerticalLayout width="24">
+				<Control></Control>
+				<HorizontalLayout height="24">
+					<GifAnim bkimage="loading.gif" autosize="true"></GifAnim>
+				</HorizontalLayout>
+				<Control></Control>
+			</VerticalLayout>
+			<Control></Control>
+		</HorizontalLayout>
 	</JiaobanPage>
 </Window>

+ 126 - 10
zhipuzi_pos_windows/page/CJiaobanPageUI.cpp

@@ -19,12 +19,14 @@ void CJiaobanPageUI::InitShow()
 {
 	time_t now = time(NULL);
 
-	std::string s_now = CLewaimaiTime::DatetimeToDateString(now);
+	std::string s_now = CLewaimaiTime::DatetimeToString(now);
 
-	m_init_time = s_now + " 00:00:00";
-	m_end_time = s_now + " 23:59:59";
+	m_end_time = s_now;	
 
-	Refresh();
+	CLabelUI* endLabel = static_cast<CLabelUI*>(this->FindSubControl(L"jiaoban_page_end_time"));
+	endLabel->SetText(CLewaimaiString::UTF8ToUnicode(m_end_time).c_str());
+
+	InitJiaobanShijian();
 }
 
 //处理按钮点击类事件
@@ -42,7 +44,17 @@ void CJiaobanPageUI::HandleSelectChangeMsg(TNotifyUI& msg)
 //处理下拉框、radio的切换事件
 void CJiaobanPageUI::HandleItemSelectMsg(TNotifyUI& msg)
 {
+	CDuiString name = msg.pSender->GetName();
+
+	if (name == _T("jiaoban_page_init_time_select"))
+	{
+		CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("jiaoban_page_init_time_select")));
+
+		std::wstring ws = com->GetItemAt(com->GetCurSel())->GetText();
+		m_init_time = CLewaimaiString::UnicodeToUTF8(ws);
 
+		HandleRefresh();
+	}
 }
 
 //处理编辑框输入内容改变事件
@@ -65,6 +77,86 @@ void CJiaobanPageUI::HandleTextCapture(std::string content)
 	}
 }
 
+void CJiaobanPageUI::InitJiaobanShijian()
+{
+	CContainerUI* pOrderListLayout = static_cast<CContainerUI*>(this->FindSubControl(_T("data_layout")));
+	pOrderListLayout->SetVisible(false);
+
+	this->FindSubControl(_T("loading"))->SetVisible(true);
+
+	//启动一个线程,进行网络请求操作
+	std::thread t(&CJiaobanPageUI::HandleJiaobanShijian, this);
+	t.detach();
+}
+
+void CJiaobanPageUI::HandleJiaobanShijian()
+{
+	std::string url = "/user/getlogintime";
+
+	//请求外卖的未处理订单,直接用当前的page值去请求
+	std::map<string, string> params;
+	std::string response;
+
+	CZhipuziHttpClient::Request(url.c_str(), params, response);
+
+	rapidjson::Document document;
+	document.Parse(response.c_str());
+
+	if (document.HasParseError())
+	{
+		LOG_INFO("parse response error!");
+		return;
+	}
+
+	if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
+	{
+		LOG_INFO("json error!");
+		return;
+	}
+
+	rapidjson::Value& v_errcode = document["errcode"];
+	int errcode = v_errcode.GetInt();
+	if (errcode != 0)
+	{
+		LOG_INFO("response failed! message:" << document["errmsg"].GetString());
+		return;
+	}
+
+	//获得数据成功
+	rapidjson::Value& data = document["data"];
+
+	std::string select_time = data["select_time"].GetString();
+	rapidjson::Value& rows = data["rows"];
+
+	//取最后一个时间点
+	m_init_time = rows[rows.Size() - 1]["init_time"].GetString();
+
+	m_shangban_times.clear();
+
+	CComboUI* com = NULL;
+
+	com = static_cast<CComboUI*>(this->FindSubControl(_T("jiaoban_page_init_time_select")));
+	com->RemoveAll();
+
+	for (rapidjson::SizeType i = 0; i < rows.Size(); ++i)
+	{
+		std::string cur_time = rows[i]["init_time"].GetString();
+
+		m_shangban_times.push_back(cur_time);
+
+		CListLabelElementUI* elem = new CListLabelElementUI();
+		elem->SetText(CLewaimaiString::UTF8ToUnicode(cur_time).c_str());
+		com->Add(elem);
+	}
+
+	com->SetInternVisible(true);
+	com->SelectItem(rows.Size() - 1, false, false);
+	com->SetText(CLewaimaiString::UTF8ToUnicode(m_init_time).c_str());
+
+	//到这里了,开始处理数据刷新
+	HandleRefresh();
+}
+
 void CJiaobanPageUI::Refresh()
 {
 	//根据当前的起始时间,刷新数据显示
@@ -75,7 +167,6 @@ void CJiaobanPageUI::Refresh()
 	this->FindSubControl(_T("loading"))->SetVisible(true);
 
 	//启动一个线程,进行网络请求操作
-
 	std::thread t(&CJiaobanPageUI::HandleRefresh, this);
 	t.detach();
 }
@@ -84,7 +175,6 @@ void CJiaobanPageUI::HandleRefresh()
 {
 	std::string url = "/analysis/index/statistics/index";
 
-
 	//请求外卖的未处理订单,直接用当前的page值去请求
 	std::map<string, string> params;
 	params["begin_time"] = m_init_time;
@@ -119,14 +209,22 @@ void CJiaobanPageUI::HandleRefresh()
 	//获得数据成功
 	rapidjson::Value& data = document["data"];
 
-	std::string waimai_num = to_string(data["today_num"].GetInt());
-	std::string diannei_num = to_string(data["today_num"].GetInt());
+	std::string waimai_num = to_string(data["waimai_member"].GetInt());
+	std::string diannei_num = to_string(data["diannei_member"].GetInt());
 	std::string huiyuan_num = to_string(data["today_member"].GetInt());
 
-	std::string waimai_value = CLewaimaiString::DoubleToString(data["today_money"].GetFloat(), 2);
-	std::string diannei_value = CLewaimaiString::DoubleToString(data["today_money"].GetFloat(), 2);
+	std::string waimai_value = CLewaimaiString::DoubleToString(data["waimai_money"].GetFloat(), 2);
+	std::string diannei_value = CLewaimaiString::DoubleToString(data["diannei_money"].GetFloat(), 2);
 	std::string huiyuan_value = CLewaimaiString::DoubleToString(data["today_recharge"].GetFloat(), 2);
 
+	std::string diannei_refund_member = to_string(data["diannei_refund_member"].GetInt());
+	std::string diannei_refund_money = CLewaimaiString::DoubleToString(data["diannei_refund_money"].GetFloat(), 2);
+	std::string diannei_discount_money = CLewaimaiString::DoubleToString(data["diannei_refund_money"].GetFloat(), 2);
+
+	std::string diannei_xianjin_value = CLewaimaiString::DoubleToString(data["ready_money"].GetFloat(), 2);
+	std::string diannei_xianjin_tuikuan = CLewaimaiString::DoubleToString(data["ready_money_refund"].GetFloat(), 2);
+	std::string diannei_xianjin_zengzhang = CLewaimaiString::DoubleToString(data["ready_money_boost"].GetFloat(), 2);
+
 	//开始渲染数据
 	CLabelUI* waimainumLabel = static_cast<CLabelUI*>(this->FindSubControl(L"waimai_num"));
 	waimainumLabel->SetText(CLewaimaiString::UTF8ToUnicode(waimai_num).c_str());
@@ -146,6 +244,24 @@ void CJiaobanPageUI::HandleRefresh()
 	CLabelUI* huiyuanvalueLabel = static_cast<CLabelUI*>(this->FindSubControl(L"huiyuan_value"));
 	huiyuanvalueLabel->SetText(CLewaimaiString::UTF8ToUnicode(huiyuan_value).c_str());
 
+	CLabelUI* diannei_tuikuan_numLabel = static_cast<CLabelUI*>(this->FindSubControl(L"diannei_tuikuan_num"));
+	diannei_tuikuan_numLabel->SetText(CLewaimaiString::UTF8ToUnicode(diannei_refund_member).c_str());
+
+	CLabelUI* diannei_tuikuan_valueLabel = static_cast<CLabelUI*>(this->FindSubControl(L"diannei_tuikuan_value"));
+	diannei_tuikuan_valueLabel->SetText(CLewaimaiString::UTF8ToUnicode(diannei_refund_money).c_str());
+
+	CLabelUI* diannei_youhui_valueLabel = static_cast<CLabelUI*>(this->FindSubControl(L"diannei_youhui_value"));
+	diannei_youhui_valueLabel->SetText(CLewaimaiString::UTF8ToUnicode(diannei_discount_money).c_str());
+
+	CLabelUI* diannei_xianjin_valueLabel = static_cast<CLabelUI*>(this->FindSubControl(L"diannei_xianjin_value"));
+	diannei_xianjin_valueLabel->SetText(CLewaimaiString::UTF8ToUnicode(diannei_xianjin_value).c_str());
+
+	CLabelUI* diannei_xianjin_tuikuanLabel = static_cast<CLabelUI*>(this->FindSubControl(L"diannei_xianjin_tuikuan"));
+	diannei_xianjin_tuikuanLabel->SetText(CLewaimaiString::UTF8ToUnicode(diannei_xianjin_tuikuan).c_str());
+
+	CLabelUI* diannei_xianjin_zengzhangLabel = static_cast<CLabelUI*>(this->FindSubControl(L"diannei_xianjin_zengzhang"));
+	diannei_xianjin_zengzhangLabel->SetText(CLewaimaiString::UTF8ToUnicode(diannei_xianjin_zengzhang).c_str());
+
 	CContainerUI* pOrderListLayout = static_cast<CContainerUI*>(this->FindSubControl(_T("data_layout")));
 	pOrderListLayout->SetVisible(true);
 

+ 5 - 1
zhipuzi_pos_windows/page/CJiaobanPageUI.h

@@ -36,6 +36,10 @@ public:
 		return false;
 	}
 
+	//³õʼ»¯Éϰàʱ¼äµÄչʾ
+	void InitJiaobanShijian();
+	void HandleJiaobanShijian();
+
 	void Refresh();
 	void HandleRefresh();
 
@@ -53,5 +57,5 @@ private:
 	std::string m_init_time;
 	std::string m_end_time;
 
-
+	std::vector<std::string> m_shangban_times;
 };