|
|
@@ -15,6 +15,10 @@ void CJiaobanWnd::Init()
|
|
|
//判断当前是否上班状态
|
|
|
int is_work = atoi(CSetting::GetParam("jiaoban_is_work").c_str());
|
|
|
|
|
|
+ m_is_work = is_work;
|
|
|
+
|
|
|
+ ShowError(false);
|
|
|
+
|
|
|
CLabelUI* pWorkStatus = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoban_status")));
|
|
|
|
|
|
CLabelUI* pShangbanTimeTitle = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoban_shangban_time_title")));
|
|
|
@@ -225,6 +229,12 @@ void CJiaobanWnd::HandleClickMsg(TNotifyUI& msg)
|
|
|
|
|
|
if (senderName == _T("jiaoban_closebtn"))
|
|
|
{
|
|
|
+ if (m_is_query)
|
|
|
+ {
|
|
|
+ //如果正在网络查询,禁止关闭
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
m_valueWnd->CloseJiaoban();
|
|
|
return;
|
|
|
}
|
|
|
@@ -260,6 +270,8 @@ void CJiaobanWnd::Shangban()
|
|
|
|
|
|
m_start_time = s_now;
|
|
|
|
|
|
+ m_is_work = true;
|
|
|
+
|
|
|
CLabelUI* pWorkStatus = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoban_status")));
|
|
|
|
|
|
CLabelUI* pShangbanTimeTitle = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoban_shangban_time_title")));
|
|
|
@@ -285,6 +297,8 @@ void CJiaobanWnd::Shangban()
|
|
|
pWorkInfo->SetVisible(true);
|
|
|
pWorkInfoAttention->SetVisible(false);
|
|
|
|
|
|
+ ShowError(false);
|
|
|
+
|
|
|
//这里要查询一次,不然如果直接点下班拿不到数据
|
|
|
StartQuery();
|
|
|
}
|
|
|
@@ -299,6 +313,8 @@ void CJiaobanWnd::Xiaban()
|
|
|
CSetting::SetParam("jiaoban_is_work", "0");
|
|
|
CSetting::SetParam("jiaoban_shangban_time", "");
|
|
|
|
|
|
+ m_is_work = false;
|
|
|
+
|
|
|
CLabelUI* pWorkStatus = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoban_status")));
|
|
|
|
|
|
CLabelUI* pShangbanTimeTitle = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoban_shangban_time_title")));
|
|
|
@@ -329,6 +345,8 @@ void CJiaobanWnd::Xiaban()
|
|
|
m_jiaobao_message.end_time = s_now;
|
|
|
|
|
|
m_valueWnd->PrintJiaoban(m_jiaobao_message);
|
|
|
+
|
|
|
+ ShowError(false);
|
|
|
}
|
|
|
|
|
|
void CJiaobanWnd::StartQuery()
|
|
|
@@ -373,6 +391,9 @@ void CJiaobanWnd::StartRefreshWork()
|
|
|
{
|
|
|
LOG_INFO("parse response error!");
|
|
|
m_is_query = false;
|
|
|
+
|
|
|
+ ShowError(true, L"服务器错误");
|
|
|
+
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -380,6 +401,9 @@ void CJiaobanWnd::StartRefreshWork()
|
|
|
{
|
|
|
LOG_INFO("json error!");
|
|
|
m_is_query = false;
|
|
|
+
|
|
|
+ ShowError(true, L"服务器错误");
|
|
|
+
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -389,11 +413,14 @@ void CJiaobanWnd::StartRefreshWork()
|
|
|
{
|
|
|
LOG_INFO("response failed! message:" << document["errmsg"].GetString());
|
|
|
wstring errmsg = CLewaimaiString::UTF8ToUnicode(document["errmsg"].GetString());
|
|
|
- MessageBox(GetHWND(), errmsg.c_str(), L"提示", MB_OK);
|
|
|
+ ShowError(true, errmsg);
|
|
|
+
|
|
|
m_is_query = false;
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ ShowError(false);
|
|
|
+
|
|
|
rapidjson::Value& data = document["data"];
|
|
|
|
|
|
std::string weixin_value = data["weixin_value"].GetString();
|
|
|
@@ -450,4 +477,31 @@ void CJiaobanWnd::StartRefreshWork()
|
|
|
tuikuanValue->SetText((CLewaimaiString::UTF8ToUnicode(tuikuan_value) + L"元").c_str());
|
|
|
|
|
|
m_is_query = false;
|
|
|
+}
|
|
|
+
|
|
|
+void CJiaobanWnd::ShowError(bool is_show, std::wstring msg)
|
|
|
+{
|
|
|
+ CVerticalLayoutUI* pWorkInfo = static_cast<CVerticalLayoutUI*>(m_pm.FindControl(_T("jiaoban_work_info")));
|
|
|
+
|
|
|
+ CHorizontalLayoutUI* errorLayout = static_cast<CHorizontalLayoutUI*>(m_pm.FindControl(_T("jiaoban_error_layout")));
|
|
|
+ CLabelUI* errorLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("jiaoban_error")));
|
|
|
+
|
|
|
+ if (is_show)
|
|
|
+ {
|
|
|
+ pWorkInfo->SetVisible(false);
|
|
|
+
|
|
|
+ errorLayout->SetVisible(true);
|
|
|
+ errorLabel->SetText(msg.c_str());
|
|
|
+
|
|
|
+ m_is_query = false;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (m_is_work)
|
|
|
+ {
|
|
|
+ pWorkInfo->SetVisible(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ errorLayout->SetVisible(false);
|
|
|
+ }
|
|
|
}
|