|
@@ -29,6 +29,9 @@ void CBaobiaoPageUI::InitShow()
|
|
|
m_init_time = s_now + " 00:00:00";
|
|
m_init_time = s_now + " 00:00:00";
|
|
|
m_end_time = s_now + " 23:59:59";
|
|
m_end_time = s_now + " 23:59:59";
|
|
|
|
|
|
|
|
|
|
+ //默认停在「今天」
|
|
|
|
|
+ SetActiveTab(0);
|
|
|
|
|
+
|
|
|
Refresh();
|
|
Refresh();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -99,28 +102,198 @@ bool CBaobiaoPageUI::HandleCustomMessage(UINT uMsg, WPARAM wParam, LPARAM lParam
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+//==================== 第五十六轮:报表页格式化与胶囊渲染 ====================
|
|
|
|
|
+
|
|
|
|
|
+//整数部分每三位加逗号(CLewaimaiString::DoubleToString 不带千分位)
|
|
|
|
|
+static std::wstring Baobiao_GroupDigits(const std::wstring& strIntPart)
|
|
|
|
|
+{
|
|
|
|
|
+ std::wstring strOut;
|
|
|
|
|
+ int nLen = (int)strIntPart.size();
|
|
|
|
|
+ for (int i = 0; i < nLen; i++)
|
|
|
|
|
+ {
|
|
|
|
|
+ if (i > 0 && (nLen - i) % 3 == 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ strOut += L',';
|
|
|
|
|
+ }
|
|
|
|
|
+ strOut += strIntPart[i];
|
|
|
|
|
+ }
|
|
|
|
|
+ return strOut;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+//把金额拆成整数部分与小数部分(小数部分含小数点)
|
|
|
|
|
+static void Baobiao_SplitMoney(double dValue, std::wstring& strIntPart, std::wstring& strDecPart)
|
|
|
|
|
+{
|
|
|
|
|
+ std::string s = CLewaimaiString::DoubleToString(dValue, 2);
|
|
|
|
|
+ std::wstring ws = CLewaimaiString::UTF8ToUnicode(s);
|
|
|
|
|
+
|
|
|
|
|
+ size_t nDot = ws.find(L'.');
|
|
|
|
|
+ if (nDot == std::wstring::npos)
|
|
|
|
|
+ {
|
|
|
|
|
+ strIntPart = ws;
|
|
|
|
|
+ strDecPart = L"";
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ strIntPart = ws.substr(0, nDot);
|
|
|
|
|
+ strDecPart = ws.substr(nDot);
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+//形如 ¥1,234.50(副标题用的纯文本,不带 showhtml 标记)
|
|
|
|
|
+static std::wstring Baobiao_MoneyText(double dValue)
|
|
|
|
|
+{
|
|
|
|
|
+ std::wstring strInt, strDec;
|
|
|
|
|
+ Baobiao_SplitMoney(dValue, strInt, strDec);
|
|
|
|
|
+ return std::wstring(L"\u00A5") + Baobiao_GroupDigits(strInt) + strDec;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+//形如 59.8%(分母为 0 时给 --)
|
|
|
|
|
+//不用 swprintf_s:它是 MSVC 安全 CRT 扩展,依赖 <cstdio>,本项目 pch 不保证引入,
|
|
|
|
|
+//这里改成纯 std::to_wstring 拼接,零额外依赖。
|
|
|
|
|
+static std::wstring Baobiao_PercentText(int nPart, int nTotal)
|
|
|
|
|
+{
|
|
|
|
|
+ if (nTotal <= 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ return L"--";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //先放大 1000 倍再四舍五入,取到十分位(59.8% 存成 598)
|
|
|
|
|
+ int nTenth = (int)(nPart * 1000.0 / nTotal + 0.5);
|
|
|
|
|
+
|
|
|
|
|
+ std::wstring strOut = std::to_wstring(nTenth / 10);
|
|
|
|
|
+ strOut += L'.';
|
|
|
|
|
+ strOut += std::to_wstring(nTenth % 10);
|
|
|
|
|
+ strOut += L'%';
|
|
|
|
|
+ return strOut;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+//当前时刻 HH:MM
|
|
|
|
|
+static std::wstring Baobiao_ClockText()
|
|
|
|
|
+{
|
|
|
|
|
+ time_t now = time(NULL);
|
|
|
|
|
+ struct tm tmNow;
|
|
|
|
|
+ localtime_s(&tmNow, &now);
|
|
|
|
|
+
|
|
|
|
|
+ std::wstring strOut;
|
|
|
|
|
+ if (tmNow.tm_hour < 10)
|
|
|
|
|
+ {
|
|
|
|
|
+ strOut += L'0';
|
|
|
|
|
+ }
|
|
|
|
|
+ strOut += std::to_wstring(tmNow.tm_hour);
|
|
|
|
|
+ strOut += L':';
|
|
|
|
|
+ if (tmNow.tm_min < 10)
|
|
|
|
|
+ {
|
|
|
|
|
+ strOut += L'0';
|
|
|
|
|
+ }
|
|
|
|
|
+ strOut += std::to_wstring(tmNow.tm_min);
|
|
|
|
|
+ return strOut;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+void CBaobiaoPageUI::SetActiveTab(int nIndex)
|
|
|
|
|
+{
|
|
|
|
|
+ //四态完整切换(第五十六轮补):main.xml 的 <Default name="Button"> 给所有按钮
|
|
|
|
|
+ //默认套了 btn_green_* 三态图,所以 hot / pushed 必须显式接管,否则悬浮和按下
|
|
|
|
|
+ //会突然变成全局绿按钮样式(浅绿底黑字),与胶囊 Tab 完全不协调。
|
|
|
|
|
+ // 未选中:常态灰底灰字,悬浮浅绿底(#D8EFE3)绿字,按下再深一档(#C4E8D4)
|
|
|
|
|
+ // 选中:常态绿底(#2E9B5C)白字粗体,悬浮亮一档(#3AA968),按下暗一档(#27884F)
|
|
|
|
|
+ static const wchar_t* TAB_NAMES[4] = { L"btn_jintian", L"btn_zuotian", L"btn_qitian", L"btn_sanshitian" };
|
|
|
|
|
+
|
|
|
|
|
+ for (int i = 0; i < 4; i++)
|
|
|
|
|
+ {
|
|
|
|
|
+ CButtonUI* pBtn = static_cast<CButtonUI*>(this->FindSubControl(TAB_NAMES[i]));
|
|
|
|
|
+ if (pBtn == NULL)
|
|
|
|
|
+ {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (i == nIndex)
|
|
|
|
|
+ {
|
|
|
|
|
+ pBtn->SetNormalImage(L"file='bb_tab_active.png' corner='20,20,20,20'");
|
|
|
|
|
+ pBtn->SetHotImage(L"file='bb_tab_active_hot.png' corner='20,20,20,20'");
|
|
|
|
|
+ pBtn->SetPushedImage(L"file='bb_tab_active_pushed.png' corner='20,20,20,20'");
|
|
|
|
|
+ pBtn->SetTextColor(0xFFFFFFFF);
|
|
|
|
|
+ pBtn->SetHotTextColor(0xFFFFFFFF);
|
|
|
|
|
+ pBtn->SetPushedTextColor(0xFFFFFFFF);
|
|
|
|
|
+ pBtn->SetFont(115);
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ pBtn->SetNormalImage(L"");
|
|
|
|
|
+ pBtn->SetHotImage(L"file='bb_tab_hover.png' corner='20,20,20,20'");
|
|
|
|
|
+ pBtn->SetPushedImage(L"file='bb_tab_pushed.png' corner='20,20,20,20'");
|
|
|
|
|
+ pBtn->SetTextColor(0xFF5F6368);
|
|
|
|
|
+ pBtn->SetHotTextColor(0xFF2E9B5C);
|
|
|
|
|
+ pBtn->SetPushedTextColor(0xFF2E9B5C);
|
|
|
|
|
+ pBtn->SetFont(15);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+void CBaobiaoPageUI::SetPillCount(const wchar_t* lpName, int nValue, const wchar_t* lpUnit, const wchar_t* lpLightColor)
|
|
|
|
|
+{
|
|
|
|
|
+ CLabelUI* pLabel = static_cast<CLabelUI*>(this->FindSubControl(lpName));
|
|
|
|
|
+ if (pLabel == NULL)
|
|
|
|
|
+ {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //{c} 只准 6 位 #RRGGBB。写成 8 位(#FF77ACE9)会被 UIRender.cpp 的 _tcstol
|
|
|
|
|
+ //饱和成 0x7FFFFFFF,真机上画出来是一片近白。
|
|
|
|
|
+ std::wstring strText = std::to_wstring(nValue);
|
|
|
|
|
+ strText += L"{x 4}{c ";
|
|
|
|
|
+ strText += lpLightColor;
|
|
|
|
|
+ strText += L"}{f 12}";
|
|
|
|
|
+ strText += lpUnit;
|
|
|
|
|
+ strText += L"{/f}{/c}";
|
|
|
|
|
+
|
|
|
|
|
+ pLabel->SetText(strText.c_str());
|
|
|
|
|
+ //autocalcwidth 的估宽缓存在 SetText 后不会自动失效,必须重置 font 触发重算
|
|
|
|
|
+ pLabel->SetFont(pLabel->GetFont());
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+void CBaobiaoPageUI::SetPillMoney(const wchar_t* lpName, double dValue, const wchar_t* lpLightColor)
|
|
|
|
|
+{
|
|
|
|
|
+ CLabelUI* pLabel = static_cast<CLabelUI*>(this->FindSubControl(lpName));
|
|
|
|
|
+ if (pLabel == NULL)
|
|
|
|
|
+ {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ std::wstring strInt, strDec;
|
|
|
|
|
+ Baobiao_SplitMoney(dValue, strInt, strDec);
|
|
|
|
|
+
|
|
|
|
|
+ std::wstring strText = L"{c ";
|
|
|
|
|
+ strText += lpLightColor;
|
|
|
|
|
+ strText += L"}{f 14}\u00A5{/f}{/c}{x 3}";
|
|
|
|
|
+ strText += Baobiao_GroupDigits(strInt);
|
|
|
|
|
+
|
|
|
|
|
+ if (!strDec.empty())
|
|
|
|
|
+ {
|
|
|
|
|
+ strText += L"{c ";
|
|
|
|
|
+ strText += lpLightColor;
|
|
|
|
|
+ strText += L"}{f 12}";
|
|
|
|
|
+ strText += strDec;
|
|
|
|
|
+ strText += L"{/f}{/c}";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ pLabel->SetText(strText.c_str());
|
|
|
|
|
+ pLabel->SetFont(pLabel->GetFont());
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+void CBaobiaoPageUI::SetSubText(const wchar_t* lpName, const std::wstring& strText)
|
|
|
|
|
+{
|
|
|
|
|
+ CLabelUI* pLabel = static_cast<CLabelUI*>(this->FindSubControl(lpName));
|
|
|
|
|
+ if (pLabel == NULL)
|
|
|
|
|
+ {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ pLabel->SetText(strText.c_str());
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
void CBaobiaoPageUI::ShowJintian()
|
|
void CBaobiaoPageUI::ShowJintian()
|
|
|
{
|
|
{
|
|
|
- //先处理顶部按钮状态变化
|
|
|
|
|
- CButtonUI* jintian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_jintian"));
|
|
|
|
|
- CControlUI* jintian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_jintian_line"));
|
|
|
|
|
- jintian->SetTextColor(0xFF43A947);
|
|
|
|
|
- jintian_line->SetVisible(true);
|
|
|
|
|
-
|
|
|
|
|
- CButtonUI* zuotian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_zuotian"));
|
|
|
|
|
- CControlUI* zuotian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_zuotian_line"));
|
|
|
|
|
- zuotian->SetTextColor(0xFF555555);
|
|
|
|
|
- zuotian_line->SetVisible(false);
|
|
|
|
|
-
|
|
|
|
|
- CButtonUI* qitian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_qitian"));
|
|
|
|
|
- CControlUI * qitian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_qitian_line"));
|
|
|
|
|
- qitian->SetTextColor(0xFF555555);
|
|
|
|
|
- qitian_line->SetVisible(false);
|
|
|
|
|
-
|
|
|
|
|
- CButtonUI* sanshitian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_sanshitian"));
|
|
|
|
|
- CControlUI * sanshitian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_sanshitian_line"));
|
|
|
|
|
- sanshitian->SetTextColor(0xFF555555);
|
|
|
|
|
- sanshitian_line->SetVisible(false);
|
|
|
|
|
|
|
+ SetActiveTab(0);
|
|
|
|
|
|
|
|
//然后处理日期
|
|
//然后处理日期
|
|
|
time_t now = time(NULL);
|
|
time_t now = time(NULL);
|
|
@@ -135,26 +308,7 @@ void CBaobiaoPageUI::ShowJintian()
|
|
|
|
|
|
|
|
void CBaobiaoPageUI::ShowZuotian()
|
|
void CBaobiaoPageUI::ShowZuotian()
|
|
|
{
|
|
{
|
|
|
- //先处理顶部按钮状态变化
|
|
|
|
|
- CButtonUI* jintian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_jintian"));
|
|
|
|
|
- CControlUI* jintian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_jintian_line"));
|
|
|
|
|
- jintian->SetTextColor(0xFF555555);
|
|
|
|
|
- jintian_line->SetVisible(false);
|
|
|
|
|
-
|
|
|
|
|
- CButtonUI* zuotian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_zuotian"));
|
|
|
|
|
- CControlUI* zuotian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_zuotian_line"));
|
|
|
|
|
- zuotian->SetTextColor(0xFF43A947);
|
|
|
|
|
- zuotian_line->SetVisible(true);
|
|
|
|
|
-
|
|
|
|
|
- CButtonUI* qitian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_qitian"));
|
|
|
|
|
- CControlUI * qitian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_qitian_line"));
|
|
|
|
|
- qitian->SetTextColor(0xFF555555);
|
|
|
|
|
- qitian_line->SetVisible(false);
|
|
|
|
|
-
|
|
|
|
|
- CButtonUI* sanshitian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_sanshitian"));
|
|
|
|
|
- CControlUI * sanshitian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_sanshitian_line"));
|
|
|
|
|
- sanshitian->SetTextColor(0xFF555555);
|
|
|
|
|
- sanshitian_line->SetVisible(false);
|
|
|
|
|
|
|
+ SetActiveTab(1);
|
|
|
|
|
|
|
|
//然后处理日期
|
|
//然后处理日期
|
|
|
time_t now = time(NULL);
|
|
time_t now = time(NULL);
|
|
@@ -169,26 +323,7 @@ void CBaobiaoPageUI::ShowZuotian()
|
|
|
|
|
|
|
|
void CBaobiaoPageUI::ShowQitian()
|
|
void CBaobiaoPageUI::ShowQitian()
|
|
|
{
|
|
{
|
|
|
- //先处理顶部按钮状态变化
|
|
|
|
|
- CButtonUI* jintian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_jintian"));
|
|
|
|
|
- CControlUI* jintian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_jintian_line"));
|
|
|
|
|
- jintian->SetTextColor(0xFF555555);
|
|
|
|
|
- jintian_line->SetVisible(false);
|
|
|
|
|
-
|
|
|
|
|
- CButtonUI* zuotian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_zuotian"));
|
|
|
|
|
- CControlUI* zuotian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_zuotian_line"));
|
|
|
|
|
- zuotian->SetTextColor(0xFF555555);
|
|
|
|
|
- zuotian_line->SetVisible(false);
|
|
|
|
|
-
|
|
|
|
|
- CButtonUI* qitian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_qitian"));
|
|
|
|
|
- CControlUI * qitian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_qitian_line"));
|
|
|
|
|
- qitian->SetTextColor(0xFF43A947);
|
|
|
|
|
- qitian_line->SetVisible(true);
|
|
|
|
|
-
|
|
|
|
|
- CButtonUI* sanshitian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_sanshitian"));
|
|
|
|
|
- CControlUI * sanshitian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_sanshitian_line"));
|
|
|
|
|
- sanshitian->SetTextColor(0xFF555555);
|
|
|
|
|
- sanshitian_line->SetVisible(false);
|
|
|
|
|
|
|
+ SetActiveTab(2);
|
|
|
|
|
|
|
|
//然后处理日期
|
|
//然后处理日期
|
|
|
time_t now = time(NULL);
|
|
time_t now = time(NULL);
|
|
@@ -205,26 +340,7 @@ void CBaobiaoPageUI::ShowQitian()
|
|
|
|
|
|
|
|
void CBaobiaoPageUI::ShowSanshitian()
|
|
void CBaobiaoPageUI::ShowSanshitian()
|
|
|
{
|
|
{
|
|
|
- //先处理顶部按钮状态变化
|
|
|
|
|
- CButtonUI* jintian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_jintian"));
|
|
|
|
|
- CControlUI* jintian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_jintian_line"));
|
|
|
|
|
- jintian->SetTextColor(0xFF555555);
|
|
|
|
|
- jintian_line->SetVisible(false);
|
|
|
|
|
-
|
|
|
|
|
- CButtonUI* zuotian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_zuotian"));
|
|
|
|
|
- CControlUI* zuotian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_zuotian_line"));
|
|
|
|
|
- zuotian->SetTextColor(0xFF555555);
|
|
|
|
|
- zuotian_line->SetVisible(false);
|
|
|
|
|
-
|
|
|
|
|
- CButtonUI* qitian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_qitian"));
|
|
|
|
|
- CControlUI * qitian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_qitian_line"));
|
|
|
|
|
- qitian->SetTextColor(0xFF555555);
|
|
|
|
|
- qitian_line->SetVisible(false);
|
|
|
|
|
-
|
|
|
|
|
- CButtonUI* sanshitian = static_cast<CButtonUI*>(this->FindSubControl(L"btn_sanshitian"));
|
|
|
|
|
- CControlUI * sanshitian_line = static_cast<CControlUI*>(this->FindSubControl(L"btn_sanshitian_line"));
|
|
|
|
|
- sanshitian->SetTextColor(0xFF43A947);
|
|
|
|
|
- sanshitian_line->SetVisible(true);
|
|
|
|
|
|
|
+ SetActiveTab(3);
|
|
|
|
|
|
|
|
//然后处理日期
|
|
//然后处理日期
|
|
|
time_t now = time(NULL);
|
|
time_t now = time(NULL);
|
|
@@ -299,32 +415,37 @@ void CBaobiaoPageUI::DoRefresh()
|
|
|
//获得数据成功
|
|
//获得数据成功
|
|
|
rapidjson::Value& data = document["data"];
|
|
rapidjson::Value& data = document["data"];
|
|
|
|
|
|
|
|
- std::string waimai_num = std::to_string(data["waimai_member"].GetInt());
|
|
|
|
|
- std::string diannei_num = std::to_string(data["diannei_member"].GetInt());
|
|
|
|
|
- std::string huiyuan_num = std::to_string(data["today_member"].GetInt());
|
|
|
|
|
-
|
|
|
|
|
- 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);
|
|
|
|
|
|
|
+ int nWaimaiNum = data["waimai_member"].GetInt();
|
|
|
|
|
+ int nDianneiNum = data["diannei_member"].GetInt();
|
|
|
|
|
+ int nHuiyuanNum = data["today_member"].GetInt();
|
|
|
|
|
|
|
|
- //开始渲染数据
|
|
|
|
|
- CLabelUI* waimainumLabel = static_cast<CLabelUI*>(this->FindSubControl(L"waimai_num"));
|
|
|
|
|
- waimainumLabel->SetText(CLewaimaiString::UTF8ToUnicode(waimai_num).c_str());
|
|
|
|
|
|
|
+ double dWaimaiMoney = (double)data["waimai_money"].GetFloat();
|
|
|
|
|
+ double dDianneiMoney = (double)data["diannei_money"].GetFloat();
|
|
|
|
|
+ double dRecharge = (double)data["today_recharge"].GetFloat();
|
|
|
|
|
|
|
|
- CLabelUI* waimaivalueLabel = static_cast<CLabelUI*>(this->FindSubControl(L"waimai_value"));
|
|
|
|
|
- waimaivalueLabel->SetText(CLewaimaiString::UTF8ToUnicode(waimai_value).c_str());
|
|
|
|
|
|
|
+ int nTotalOrder = nWaimaiNum + nDianneiNum;
|
|
|
|
|
|
|
|
- CLabelUI* dianneinumLabel = static_cast<CLabelUI*>(this->FindSubControl(L"diannei_num"));
|
|
|
|
|
- dianneinumLabel->SetText(CLewaimaiString::UTF8ToUnicode(diannei_num).c_str());
|
|
|
|
|
|
|
+ //6 张字段卡的数字胶囊:外卖蓝、店内橙、会员绿
|
|
|
|
|
+ SetPillCount(L"waimai_num", nWaimaiNum, L"\u5355", L"#77ACE9");
|
|
|
|
|
+ SetPillMoney(L"waimai_value", dWaimaiMoney, L"#77ACE9");
|
|
|
|
|
+ SetPillCount(L"diannei_num", nDianneiNum, L"\u5355", L"#E8A750");
|
|
|
|
|
+ SetPillMoney(L"diannei_value", dDianneiMoney, L"#E8A750");
|
|
|
|
|
+ SetPillCount(L"huiyuan_num", nHuiyuanNum, L"\u4EBA", L"#62B585");
|
|
|
|
|
+ SetPillMoney(L"huiyuan_value", dRecharge, L"#62B585");
|
|
|
|
|
|
|
|
- CLabelUI* dianneivalueLabel = static_cast<CLabelUI*>(this->FindSubControl(L"diannei_value"));
|
|
|
|
|
- dianneivalueLabel->SetText(CLewaimaiString::UTF8ToUnicode(diannei_value).c_str());
|
|
|
|
|
|
|
+ //副标题全部由本次返回的数据现算,不额外发请求
|
|
|
|
|
+ SetSubText(L"waimai_num_sub", L"\u5360\u603B\u8BA2\u5355 " + Baobiao_PercentText(nWaimaiNum, nTotalOrder));
|
|
|
|
|
+ SetSubText(L"diannei_num_sub", L"\u5360\u603B\u8BA2\u5355 " + Baobiao_PercentText(nDianneiNum, nTotalOrder));
|
|
|
|
|
+ SetSubText(L"huiyuan_num_sub", L"\u65B0\u5BA2\u5360\u8BA2\u5355 " + Baobiao_PercentText(nHuiyuanNum, nTotalOrder));
|
|
|
|
|
|
|
|
- CLabelUI* huiyuannumLabel = static_cast<CLabelUI*>(this->FindSubControl(L"huiyuan_num"));
|
|
|
|
|
- huiyuannumLabel->SetText(CLewaimaiString::UTF8ToUnicode(huiyuan_num).c_str());
|
|
|
|
|
|
|
+ SetSubText(L"waimai_value_sub", L"\u5BA2\u5355\u4EF7 " + Baobiao_MoneyText(nWaimaiNum > 0 ? dWaimaiMoney / nWaimaiNum : 0.0));
|
|
|
|
|
+ SetSubText(L"diannei_value_sub", L"\u5BA2\u5355\u4EF7 " + Baobiao_MoneyText(nDianneiNum > 0 ? dDianneiMoney / nDianneiNum : 0.0));
|
|
|
|
|
+ SetSubText(L"huiyuan_value_sub", L"\u7B14\u5747 " + Baobiao_MoneyText(nHuiyuanNum > 0 ? dRecharge / nHuiyuanNum : 0.0));
|
|
|
|
|
|
|
|
- CLabelUI* huiyuanvalueLabel = static_cast<CLabelUI*>(this->FindSubControl(L"huiyuan_value"));
|
|
|
|
|
- huiyuanvalueLabel->SetText(CLewaimaiString::UTF8ToUnicode(huiyuan_value).c_str());
|
|
|
|
|
|
|
+ //顶部工具条右侧:统计区间 + 数据更新时间
|
|
|
|
|
+ SetSubText(L"bb_range_value",
|
|
|
|
|
+ CLewaimaiString::UTF8ToUnicode(m_init_time) + L" ~ " + CLewaimaiString::UTF8ToUnicode(m_end_time));
|
|
|
|
|
+ SetSubText(L"bb_update_time", L"\u6570\u636E\u5DF2\u66F4\u65B0 \u00B7 " + Baobiao_ClockText());
|
|
|
|
|
|
|
|
CContainerUI* pOrderListLayout = static_cast<CContainerUI*>(this->FindSubControl(_T("data_layout")));
|
|
CContainerUI* pOrderListLayout = static_cast<CContainerUI*>(this->FindSubControl(_T("data_layout")));
|
|
|
pOrderListLayout->SetVisible(true);
|
|
pOrderListLayout->SetVisible(true);
|
|
@@ -332,60 +453,3 @@ void CBaobiaoPageUI::DoRefresh()
|
|
|
this->FindSubControl(_T("loading"))->SetVisible(false);
|
|
this->FindSubControl(_T("loading"))->SetVisible(false);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-void CBaobiaoPageUI::SetPos(RECT rc, bool bNeedInvalidate)
|
|
|
|
|
-{
|
|
|
|
|
- int m_nPageWidth = rc.right - rc.left;
|
|
|
|
|
-
|
|
|
|
|
- //添加支付方式
|
|
|
|
|
- int nWidth = m_nPageWidth;
|
|
|
|
|
- if (nWidth == 0)
|
|
|
|
|
- {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //根据宽度计算每行显示的数量
|
|
|
|
|
- int nMeihangNum = nWidth / 260;
|
|
|
|
|
-
|
|
|
|
|
- if (nMeihangNum < 1)
|
|
|
|
|
- {
|
|
|
|
|
- nMeihangNum = 1;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- int num = 0;
|
|
|
|
|
-
|
|
|
|
|
- CHorizontalLayoutUI* pFenleiLayout = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(_T("baobiao_page_yingye_items")));
|
|
|
|
|
- for (int i = 0; i < 6; i++)
|
|
|
|
|
- {
|
|
|
|
|
- CVerticalLayoutUI* curItem = static_cast<CVerticalLayoutUI*>(pFenleiLayout->GetItemAt(i));
|
|
|
|
|
-
|
|
|
|
|
- int curRow = num / nMeihangNum + 1;
|
|
|
|
|
- int curCol = num % nMeihangNum + 1;
|
|
|
|
|
-
|
|
|
|
|
- RECT rect;
|
|
|
|
|
- rect.left = (curCol - 1) * 260 + 20;
|
|
|
|
|
- rect.right = rect.left + 240;
|
|
|
|
|
- rect.top = (curRow - 1) * 146 + 20;
|
|
|
|
|
- rect.bottom = rect.top + 126;
|
|
|
|
|
-
|
|
|
|
|
- curItem->SetFloat(true);
|
|
|
|
|
-
|
|
|
|
|
- // 强制设置固定大小和位置
|
|
|
|
|
- SIZE size;
|
|
|
|
|
- size.cx = rect.left;
|
|
|
|
|
- size.cy = rect.top;
|
|
|
|
|
-
|
|
|
|
|
- curItem->SetFixedXY(size);
|
|
|
|
|
- curItem->SetFixedWidth(rect.right - rect.left);
|
|
|
|
|
- curItem->SetFixedHeight(rect.bottom - rect.top);
|
|
|
|
|
-
|
|
|
|
|
- num++;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //调整区域高度
|
|
|
|
|
- CVerticalLayoutUI* pLayout = static_cast<CVerticalLayoutUI*>(this->FindSubControl(_T("data_layout")));
|
|
|
|
|
-
|
|
|
|
|
- int lastRow = (num - 1) / nMeihangNum + 1;
|
|
|
|
|
- pLayout->SetFixedHeight(lastRow * 146 + 20 + 30);
|
|
|
|
|
-
|
|
|
|
|
- CContainerUI::SetPos(rc, bNeedInvalidate);
|
|
|
|
|
-}
|
|
|