| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031 |
- #include "../pch/pch.h"
- #include "CMainWnd.h"
- #include "CLoginWnd.h"
- #include "CChufangSettingWnd.h"
- #include "../control/ControlEx.h"
- #include "../control/CWaimaiOrderInfoUI.h"
- #include "../network/CMessagePush.h"
- #include "CWaimaiOrderFailReasonWnd.h"
- void CMainWnd::Init()
- {
- m_pCloseBtn = static_cast<CButtonUI*>(m_pm.FindControl(_T("closebtn")));
- m_pMaxBtn = static_cast<CButtonUI*>(m_pm.FindControl(_T("maxbtn")));
- m_pRestoreBtn = static_cast<CButtonUI*>(m_pm.FindControl(_T("restorebtn")));
- m_pMinBtn = static_cast<CButtonUI*>(m_pm.FindControl(_T("minbtn")));
- //初始化外卖订单列表
- COptionUI* waimai_tab = static_cast<COptionUI*>(m_pm.FindControl(_T("main_waimai")));
- if(waimai_tab->IsSelected())
- {
- OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
- orderlist->Refresh();
- }
- //初始化设置中心的状态
- InitSettingStatus();
- //登录成功,启动消息和任务处理
- m_push = new CMessagePush(m_hWnd);
- m_push->Start();
- }
- LRESULT CMainWnd::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- LONG styleValue = ::GetWindowLong(*this, GWL_STYLE);
- styleValue &= ~WS_CAPTION;
- ::SetWindowLong(*this, GWL_STYLE, styleValue | WS_CLIPSIBLINGS | WS_CLIPCHILDREN);
- m_pm.Init(m_hWnd);
- CDialogBuilder builder;
- CDialogBuilderCallbackEx cb;
- CControlUI* pRoot = builder.Create(_T("main.xml"), (UINT)0, &cb, &m_pm);
- ASSERT(pRoot && "Failed to parse XML");
- m_pm.AttachDialog(pRoot);
- m_pm.AddNotifier(this);
- Init();
- return 0;
- }
- void CMainWnd::Notify(TNotifyUI& msg)
- {
- if(msg.sType == _T("windowinit"))
- {
- OnPrepare();
- }
- else if(msg.sType == _T("click"))
- {
- HandleClickMsg(msg);
- }
- else if(msg.sType == _T("selectchanged"))
- {
- HandleSelectChangeMsg(msg);
- }
- else if(msg.sType == _T("itemclick"))
- {
- }
- else if(msg.sType == _T("itemactivate"))
- {
- }
- else if(msg.sType == _T("itemselect"))
- {
- HandleItemSelectMsg(msg);
- }
- }
- void CMainWnd::HandleClickMsg(TNotifyUI& msg)
- {
- if(msg.pSender == m_pCloseBtn)
- {
- if(CSetting::GetParam("setting_is_close_min") == "1")
- {
- AddTrayIcon();
- }
- else
- {
- PostQuitMessage(0);
- }
- 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();
- m_push->AddPinter(waimai_order_id, waimai_order_no, 2);
- }
- 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();
- CWaimaiOrderFailReasonWnd* pWaimaiFailFrame = new CWaimaiOrderFailReasonWnd();
- pWaimaiFailFrame->Create(this->GetHWND(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
- pWaimaiFailFrame->SetIcon(IDI_ICON_DUILIB);
- pWaimaiFailFrame->CenterWindow();
- UINT ret = pWaimaiFailFrame->ShowModal();
- if(ret == IDOK)
- {
- std::string sReason = pWaimaiFailFrame->getReason();
- CWaimaiOrder order;
- bool ret = order.FailOrder(waimai_order_id, sReason);
- if(ret)
- {
- //如果设为失败成功,将被设为失败的订单删除掉
- OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
- int index = orderlist->GetItemIndex(item);
- orderlist->RemoveAt(index);
- }
- }
- delete pWaimaiFailFrame;
- }
- 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);
- }
- //刷新当前列表
- OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
- orderlist->Refresh();
- }
- else if(name == _T("waimai_order_info_page_print"))
- {
- CWaimaiOrderInfoUI* order_info_page = static_cast<CWaimaiOrderInfoUI*>(m_pm.FindControl(_T("waimaiorder_info_page")));
- m_push->AddPinter(order_info_page->m_order.m_order_id, order_info_page->m_order.m_order_no, 2);
- }
- else if(name == _T("waimai_order_info_page_confirme"))
- {
- 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)
- {
- //确认成功,这里怎么处理
- //请求服务器,获取订单数据
- 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_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)
- {
- //订单设为成功,这里怎么处理
- //请求服务器,获取订单数据
- 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_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;
- CWaimaiOrderFailReasonWnd* pWaimaiFailFrame = new CWaimaiOrderFailReasonWnd();
- pWaimaiFailFrame->Create(this->GetHWND(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
- pWaimaiFailFrame->SetIcon(IDI_ICON_DUILIB);
- pWaimaiFailFrame->CenterWindow();
- UINT ret = pWaimaiFailFrame->ShowModal();
- if(ret == IDOK)
- {
- std::string sReason = pWaimaiFailFrame->getReason();
- CWaimaiOrder order;
- bool ret = order.FailOrder(waimai_order_id, sReason);
- if(ret)
- {
- //订单设为失败,这里怎么处理
- //请求服务器,获取订单数据
- CWaimaiOrder new_order;
- new_order.InitData(waimai_order_id, waimai_order_no);
- //刷新订单详情页数据
- order_info_page->SetDate(new_order);
- order_info_page->Refresh(new_order);
- }
- }
- delete pWaimaiFailFrame;
- }
- 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)
- {
- //订单设为成功,这里怎么处理
- //请求服务器,获取订单数据
- 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_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)
- {
- //订单设为成功,这里怎么处理
- //请求服务器,获取订单数据
- 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_info_page_refund"))
- {
- 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.Refund(waimai_order_id);
- if(ret)
- {
- //订单设为成功,这里怎么处理
- //请求服务器,获取订单数据
- 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("setting_is_new_waimai_voice"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_new_waimai_voice")));
- //注意这里的IsSelected如果为true,表示的是点击前为true,而不是点击后为true,所以这里设置状态要反过来
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_is_new_waimai_voice", "0");
- }
- else
- {
- CSetting::SetParam("setting_is_new_waimai_voice", "1");
- }
- }
- else if(name == _T("setting_is_new_waimai_autoconfirm"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_new_waimai_autoconfirm")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_is_new_waimai_autoconfirm", "0");
- }
- else
- {
- CSetting::SetParam("setting_is_new_waimai_autoconfirm", "1");
- }
- }
- else if(name == _T("setting_is_new_waimai_dialog"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_new_waimai_dialog")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_is_new_waimai_dialog", "0");
- }
- else
- {
- CSetting::SetParam("setting_is_new_waimai_dialog", "1");
- }
- }
- else if(name == _T("setting_is_new_waimai_printer"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_new_waimai_printer")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_is_new_waimai_printer", "0");
- }
- else
- {
- CSetting::SetParam("setting_is_new_waimai_printer", "1");
- }
- }
- else if(name == _T("setting_printer_wangkouk_save_btn"))
- {
- CEditUI* wangkou_ip = static_cast<CEditUI*>(m_pm.FindControl(_T("setting_printer_wangkou_ip")));
- wstring ip = wangkou_ip->GetText();
- CSetting::SetParam("setting_printer_wangkou_ip", CLewaimaiString::UnicodeToUTF8(ip));
- }
- else if(name == _T("setting_printer_quhuo_big"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_quhuo_big")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_printer_quhuo_big", "0");
- }
- else
- {
- CSetting::SetParam("setting_printer_quhuo_big", "1");
- }
- }
- else if(name == _T("setting_printer_dingdanhao_big"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_dingdanhao_big")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_printer_dingdanhao_big", "0");
- }
- else
- {
- CSetting::SetParam("setting_printer_dingdanhao_big", "1");
- }
- }
- else if(name == _T("setting_printer_xiadanshijian_big"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_xiadanshijian_big")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_printer_xiadanshijian_big", "0");
- }
- else
- {
- CSetting::SetParam("setting_printer_xiadanshijian_big", "1");
- }
- }
- else if(name == _T("setting_printer_peisongshijian_big"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_peisongshijian_big")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_printer_peisongshijian_big", "0");
- }
- else
- {
- CSetting::SetParam("setting_printer_peisongshijian_big", "1");
- }
- }
- else if(name == _T("setting_printer_name_big"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_name_big")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_printer_name_big", "0");
- }
- else
- {
- CSetting::SetParam("setting_printer_name_big", "1");
- }
- }
- else if(name == _T("setting_printer_phone_big"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_phone_big")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_printer_phone_big", "0");
- }
- else
- {
- CSetting::SetParam("setting_printer_phone_big", "1");
- }
- }
- else if(name == _T("setting_printer_address_big"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_address_big")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_printer_address_big", "0");
- }
- else
- {
- CSetting::SetParam("setting_printer_address_big", "1");
- }
- }
- else if(name == _T("setting_printer_shangpin_big"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_shangpin_big")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_printer_shangpin_big", "0");
- }
- else
- {
- CSetting::SetParam("setting_printer_shangpin_big", "1");
- }
- }
- else if(name == _T("setting_printer_memo_big"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_memo_big")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_printer_memo_big", "0");
- }
- else
- {
- CSetting::SetParam("setting_printer_memo_big", "1");
- }
- }
- else if(name == _T("setting_printer_price_big"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_price_big")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_printer_price_big", "0");
- }
- else
- {
- CSetting::SetParam("setting_printer_price_big", "1");
- }
- }
- else if(name == _T("setting_printer_pay_big"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_pay_big")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_printer_pay_big", "0");
- }
- else
- {
- CSetting::SetParam("setting_printer_pay_big", "1");
- }
- }
- else if(name == _T("setting_is_new_waimai_biaoqian_printer"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_new_waimai_biaoqian_printer")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_is_new_waimai_biaoqian_printer", "0");
- }
- else
- {
- CSetting::SetParam("setting_is_new_waimai_biaoqian_printer", "1");
- }
- }
- else if(name == _T("setting_is_new_waimai_chufang_printer"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_new_waimai_chufang_printer")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_is_new_waimai_chufang_printer", "0");
- }
- else
- {
- CSetting::SetParam("setting_is_new_waimai_chufang_printer", "1");
- }
- }
- else if(name == _T("setting_new_chufang_printer_btn"))
- {
- CChufangSettingWnd* pChufangFrame = new CChufangSettingWnd(1);
- if(pChufangFrame != NULL)
- {
- pChufangFrame->Create(this->GetHWND(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
- pChufangFrame->SetIcon(IDI_ICON_DUILIB);
- pChufangFrame->CenterWindow();
- UINT ret = pChufangFrame->ShowModal();
- if(ret == IDOK)
- {
- //这个时候是点击保存返回了,厨房打印机的数据已经建立好了,这个时候刷新表格的显示
- CListUI* pPrinterList = static_cast<CListUI*>(m_pm.FindControl(_T("setting_chufang_printer_list")));
- //把最后一个厨房打印机取出来
- ChufangPrinter newPrinter = CSetting::getLastChufangPrinter();
- CDialogBuilder builder;
- CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(builder.Create(_T("setting_chufang_printer_item.xml"), (UINT)0, NULL, &m_pm));
- CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_name")));
- pName->SetText(CLewaimaiString::UTF8ToUnicode(newPrinter.name).c_str());
- CLabelUI* pIP = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_ip")));
- pIP->SetText(CLewaimaiString::UTF8ToUnicode(newPrinter.ip).c_str());
- CLabelUI* pGuige = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_guige")));
- if(newPrinter.guige == "58")
- {
- pGuige->SetText(L"58mm");
- }
- else
- {
- pGuige->SetText(L"80mm");
- }
- CLabelUI* pFendan = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_fendan")));
- if(newPrinter.fendan == "1")
- {
- pFendan->SetText(L"是");
- }
- else
- {
- pFendan->SetText(L"否");
- }
- CLabelUI* pFenlei = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_fenlei")));
- if(newPrinter.fenlei == "1")
- {
- pFenlei->SetText(L"是");
- }
- else
- {
- pFenlei->SetText(L"否");
- }
- std::string foodtypeNames = "";
- std::string foodtype_ids = newPrinter.fenlei_ids;
- std::vector<string> ids = CLewaimaiString::Split(foodtype_ids, ",");
- for (std::vector<string>::iterator it = ids.begin(); it != ids.end(); it++)
- {
- std::string name = CSetting::getFoodtypeName((*it));
- std::wstring ws_name = CLewaimaiString::UTF8ToUnicode(name);
- if (name == "zhipuzi_not_found_xxx")
- {
- //这种情况是以前保存的分类后来被删掉了
- }
- else
- {
- foodtypeNames += name + " ";
- }
- }
- foodtypeNames = foodtypeNames.substr(0, foodtypeNames.size() - 1);
- std::wstring ws_foodtypeNames = CLewaimaiString::UTF8ToUnicode(foodtypeNames);
- CLabelUI* pFenleiIds = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_fenlei_ids")));
- pFenleiIds->SetText(ws_foodtypeNames.c_str());
- pEle->AddCustomAttribute(L"date", CLewaimaiString::UTF8ToUnicode(newPrinter.date).c_str());
- pPrinterList->Add(pEle);
- }
- }
- }
- else if(name == _T("setting_is_auto_start"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_auto_start")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_is_auto_start", "0");
- CSystem::cancelAutoStart();
- }
- else
- {
- CSetting::SetParam("setting_is_auto_start", "1");
- CSystem::autostart();
- }
- }
- else if(name == _T("setting_is_auto_login"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_auto_login")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_is_auto_login", "0");
- }
- else
- {
- CSetting::SetParam("setting_is_auto_login", "1");
- }
- }
- else if(name == _T("setting_is_close_min"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_close_min")));
- if(box->IsSelected())
- {
- CSetting::SetParam("setting_is_close_min", "0");
- }
- else
- {
- CSetting::SetParam("setting_is_close_min", "1");
- }
- }
- else if(name == _T("setting_chufang_printer_item_update_btn"))
- {
- CListUI* pPrinterList = static_cast<CListUI*>(m_pm.FindControl(_T("setting_chufang_printer_list")));
- CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(msg.pSender->GetParent()->GetParent()->GetParent());
- wstring date = pEle->GetCustomAttribute(L"date");
- CChufangSettingWnd* pChufangFrame = new CChufangSettingWnd(2);
- pChufangFrame->SetPrinterDate(CLewaimaiString::UnicodeToUTF8(date));
- if(pChufangFrame != NULL)
- {
- pChufangFrame->Create(this->GetHWND(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
- pChufangFrame->SetIcon(IDI_ICON_DUILIB);
- pChufangFrame->CenterWindow();
- UINT ret = pChufangFrame->ShowModal();
- if(ret == IDOK)
- {
- //这个时候是点击保存返回了,厨房打印机的数据已经建立好了,这个时候刷新表格的显示
- CListUI* pPrinterList = static_cast<CListUI*>(m_pm.FindControl(_T("setting_chufang_printer_list")));
- ChufangPrinter newPrinter = CSetting::GetChufangPrinter(CLewaimaiString::UnicodeToUTF8(date));
- CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_name")));
- pName->SetText(CLewaimaiString::UTF8ToUnicode(newPrinter.name).c_str());
- CLabelUI* pIP = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_ip")));
- pIP->SetText(CLewaimaiString::UTF8ToUnicode(newPrinter.ip).c_str());
- CLabelUI* pGuige = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_guige")));
- if(newPrinter.guige == "58")
- {
- pGuige->SetText(L"58mm");
- }
- else
- {
- pGuige->SetText(L"80mm");
- }
- CLabelUI* pFendan = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_fendan")));
- if(newPrinter.fendan == "1")
- {
- pFendan->SetText(L"是");
- }
- else
- {
- pFendan->SetText(L"否");
- }
- CLabelUI* pFenlei = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_fenlei")));
- if (newPrinter.fenlei == "1")
- {
- pFenlei->SetText(L"是");
- }
- else
- {
- pFenlei->SetText(L"否");
- }
- std::string foodtypeNames = "";
- std::string foodtype_ids = newPrinter.fenlei_ids;
- std::vector<string> ids = CLewaimaiString::Split(foodtype_ids, ",");
- for (std::vector<string>::iterator it = ids.begin(); it != ids.end(); it++)
- {
- std::string name = CSetting::getFoodtypeName((*it));
- std::wstring ws_name = CLewaimaiString::UTF8ToUnicode(name);
- if (name == "zhipuzi_not_found_xxx")
- {
- //这种情况是以前保存的分类后来被删掉了
- }
- else
- {
- foodtypeNames += name + " ";
- }
- }
- foodtypeNames = foodtypeNames.substr(0, foodtypeNames.size() - 1);
- std::wstring ws_foodtypeNames = CLewaimaiString::UTF8ToUnicode(foodtypeNames);
- CLabelUI* pFenleiIds = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_fenlei_ids")));
- pFenleiIds->SetText(ws_foodtypeNames.c_str());
- }
- }
- }
- else if(name == _T("setting_chufang_printer_item_delete_btn"))
- {
- CListUI* pPrinterList = static_cast<CListUI*>(m_pm.FindControl(_T("setting_chufang_printer_list")));
- CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(msg.pSender->GetParent()->GetParent()->GetParent());
- wstring date = pEle->GetCustomAttribute(L"date");
- //获得了ID,这个时候从内存和数据库中分别删除对应的记录
- CSetting::DelChufangPrinter(CLewaimaiString::UnicodeToUTF8(date));
- pPrinterList->Remove(pEle);
- }
- else if(name == _T("setting_logout"))
- {
- //退出登录
- LoginOut(1);
- }
- }
- void CMainWnd::HandleSelectChangeMsg(TNotifyUI& msg)
- {
- 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_setting"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
- if(pControl && pControl->GetCurSel() != 2)
- {
- pControl->SelectItem(2);
- }
- }
- else if(name == _T("main_contact"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch")));
- if(pControl && pControl->GetCurSel() != 3)
- {
- pControl->SelectItem(3);
- }
- }
- //判断外卖的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);
- 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();
- }
- //判断设置中心的tab
- else if(name == _T("setting_waimai_order_switch"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("setting_switch")));
- pControl->SelectItem(0);
- }
- else if(name == _T("setting_printer_switch"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("setting_switch")));
- pControl->SelectItem(1);
- }
- else if(name == _T("setting_biaoqian_printer_switch"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("setting_switch")));
- pControl->SelectItem(2);
- }
- else if(name == _T("setting_chufang_printer_switch"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("setting_switch")));
- pControl->SelectItem(3);
- }
- else if(name == _T("setting_system_switch"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("setting_switch")));
- pControl->SelectItem(4);
- }
- else if(name == _T("setting_system_about"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("setting_switch")));
- pControl->SelectItem(5);
- }
- }
- void CMainWnd::HandleItemSelectMsg(TNotifyUI& msg)
- {
- CDuiString name = msg.pSender->GetName();
- if(name == _T("setting_printer_guige"))
- {
- CComboUI* com = static_cast<CComboUI*>(m_pm.FindControl(_T("setting_printer_guige")));
- if(com->GetCurSel() == 0)
- {
- CSetting::SetParam("setting_printer_guige", "58");
- }
- else
- {
- CSetting::SetParam("setting_printer_guige", "80");
- }
- }
- else if(name == _T("setting_printer_lianshu"))
- {
- CComboUI* com = static_cast<CComboUI*>(m_pm.FindControl(_T("setting_printer_lianshu")));
- if(com->GetCurSel() == 0)
- {
- CSetting::SetParam("setting_printer_lianshu", "1");
- }
- else if(com->GetCurSel() == 1)
- {
- CSetting::SetParam("setting_printer_lianshu", "2");
- }
- else if(com->GetCurSel() == 2)
- {
- CSetting::SetParam("setting_printer_lianshu", "3");
- }
- else if(com->GetCurSel() == 3)
- {
- CSetting::SetParam("setting_printer_lianshu", "4");
- }
- }
- else if(name == _T("setting_printer_leixing"))
- {
- CComboUI* com = static_cast<CComboUI*>(m_pm.FindControl(_T("setting_printer_leixing")));
- CHorizontalLayoutUI* usb_layout = static_cast<CHorizontalLayoutUI*>(m_pm.FindControl(_T("setting_printer_usb_layout")));
- CHorizontalLayoutUI* wangkou_layout = static_cast<CHorizontalLayoutUI*>(m_pm.FindControl(_T("setting_printer_wangkou_layout")));
- if(com->GetCurSel() == 0)
- {
- CSetting::SetParam("setting_printer_leixing", "auto");
- usb_layout->SetVisible(false);
- wangkou_layout->SetVisible(false);
- }
- else if(com->GetCurSel() == 1)
- {
- CSetting::SetParam("setting_printer_leixing", "usb");
- //显示usb布局
- usb_layout->SetVisible(true);
- wangkou_layout->SetVisible(false);
- //usb下拉框默认选中
- CComboUI* com_usb = static_cast<CComboUI*>(m_pm.FindControl(_T("setting_printer_usb")));
- com_usb->RemoveAll();
- //数据库中保存的之前的设置
- std::string setting_printer_usb = CSetting::GetParam("setting_printer_usb");
- std::wstring ws_setting_printer_usb = CLewaimaiString::UTF8ToUnicode(setting_printer_usb);
- CPosPrinter printer;
- printer.InitUsb();
- std::vector<std::wstring> usb_devices = printer.getUsbDevices();
- int i = 0;
- int nSelect = -1;
- for(std::vector<std::wstring>::iterator it = usb_devices.begin(); it != usb_devices.end(); it++)
- {
- CListLabelElementUI* elem = new CListLabelElementUI();
- elem->SetText((*it).c_str());
- com_usb->Add(elem);
- if(*it == ws_setting_printer_usb)
- {
- nSelect = i;
- }
- i++;
- }
- com_usb->SetInternVisible(true);
- com_usb->SelectItem(nSelect, false, false);
- com_usb->SetText(CLewaimaiString::UTF8ToUnicode(setting_printer_usb).c_str());
- }
- else if(com->GetCurSel() == 2)
- {
- CSetting::SetParam("setting_printer_leixing", "bingkou");
- usb_layout->SetVisible(false);
- wangkou_layout->SetVisible(false);
- }
- else if(com->GetCurSel() == 3)
- {
- CSetting::SetParam("setting_printer_leixing", "chuankou");
- usb_layout->SetVisible(false);
- wangkou_layout->SetVisible(false);
- }
- else if(com->GetCurSel() == 4)
- {
- CSetting::SetParam("setting_printer_leixing", "wangkou");
- usb_layout->SetVisible(false);
- wangkou_layout->SetVisible(true);
- std::string setting_printer_wangkou_ip = CSetting::GetParam("setting_printer_wangkou_ip");
- CEditUI* ip_edit = static_cast<CEditUI*>(m_pm.FindControl(_T("setting_printer_wangkou_ip")));
- ip_edit->SetText(CLewaimaiString::UTF8ToUnicode(setting_printer_wangkou_ip).c_str());
- }
- }
- else if(name == _T("setting_printer_usb"))
- {
- CComboUI* com = static_cast<CComboUI*>(m_pm.FindControl(_T("setting_printer_usb")));
- wstring usb_device = com->GetText();
- CSetting::SetParam("setting_printer_usb", CLewaimaiString::UnicodeToUTF8(usb_device));
- }
- else if(name == _T("setting_biaoqian_printer_usb"))
- {
- CComboUI* com = static_cast<CComboUI*>(m_pm.FindControl(_T("setting_biaoqian_printer_usb")));
- wstring usb_device = com->GetText();;
- CSetting::SetParam("setting_biaoqian_printer_usb", CLewaimaiString::UnicodeToUTF8(usb_device));
- }
- }
- LRESULT CMainWnd::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
- {
- LRESULT lRes = 0;
- BOOL bHandled = TRUE;
- switch(uMsg)
- {
- case WM_CREATE:
- lRes = OnCreate(uMsg, wParam, lParam, bHandled);
- break;
- case WM_CLOSE:
- lRes = OnClose(uMsg, wParam, lParam, bHandled);
- break;
- case WM_DESTROY:
- lRes = OnDestroy(uMsg, wParam, lParam, bHandled);
- break;
- case WM_NCACTIVATE:
- lRes = OnNcActivate(uMsg, wParam, lParam, bHandled);
- break;
- case WM_NCCALCSIZE:
- lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled);
- break;
- case WM_NCPAINT:
- lRes = OnNcPaint(uMsg, wParam, lParam, bHandled);
- break;
- case WM_NCHITTEST:
- lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled);
- break;
- case WM_SIZE:
- lRes = OnSize(uMsg, wParam, lParam, bHandled);
- break;
- case WM_GETMINMAXINFO:
- lRes = OnGetMinMaxInfo(uMsg, wParam, lParam, bHandled);
- break;
- case WM_SYSCOMMAND:
- lRes = OnSysCommand(uMsg, wParam, lParam, bHandled);
- break;
- case WM_SHOWTASK:
- lRes = OnTrayIcon(uMsg, wParam, lParam, bHandled);
- break;
- case WM_ORDERLIST_REFRESH:
- lRes = OnOrderlistRefresh(uMsg, wParam, lParam, bHandled);
- break;
- case WM_LOGIN_AGAIN_OUT:
- lRes = OnLoginOut(uMsg, wParam, lParam, bHandled);
- break;
- default:
- bHandled = FALSE;
- }
- if(bHandled)
- {
- return lRes;
- }
- if(m_pm.MessageHandler(uMsg, wParam, lParam, lRes))
- {
- return lRes;
- }
- return CWindowWnd::HandleMessage(uMsg, wParam, lParam);
- }
- LRESULT CMainWnd::MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled)
- {
- return false;
- }
- LRESULT CMainWnd::OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- // 有时会在收到WM_NCDESTROY后收到wParam为SC_CLOSE的WM_SYSCOMMAND
- if(wParam == SC_CLOSE)
- {
- ::PostQuitMessage(0L);
- bHandled = TRUE;
- return 0;
- }
- BOOL bZoomed = ::IsZoomed(*this);
- LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam);
- if(::IsZoomed(*this) != bZoomed)
- {
- if(!bZoomed)
- {
- CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn")));
- if(pControl)
- {
- pControl->SetVisible(false);
- }
- pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn")));
- if(pControl)
- {
- pControl->SetVisible(true);
- }
- }
- else
- {
- CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn")));
- if(pControl)
- {
- pControl->SetVisible(true);
- }
- pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn")));
- if(pControl)
- {
- pControl->SetVisible(false);
- }
- }
- }
- return lRes;
- }
- LRESULT CMainWnd::OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- int primaryMonitorWidth = ::GetSystemMetrics(SM_CXSCREEN);
- int primaryMonitorHeight = ::GetSystemMetrics(SM_CYSCREEN);
- MONITORINFO oMonitor = {};
- oMonitor.cbSize = sizeof(oMonitor);
- ::GetMonitorInfo(::MonitorFromWindow(*this, MONITOR_DEFAULTTOPRIMARY), &oMonitor);
- CDuiRect rcWork = oMonitor.rcWork;
- rcWork.Offset(-oMonitor.rcMonitor.left, -oMonitor.rcMonitor.top);
- if(rcWork.right > primaryMonitorWidth)
- {
- rcWork.right = primaryMonitorWidth;
- }
- if(rcWork.bottom > primaryMonitorHeight)
- {
- rcWork.right = primaryMonitorHeight;
- }
- LPMINMAXINFO lpMMI = (LPMINMAXINFO)lParam;
- lpMMI->ptMaxPosition.x = rcWork.left;
- lpMMI->ptMaxPosition.y = rcWork.top;
- lpMMI->ptMaxSize.x = rcWork.right;
- lpMMI->ptMaxSize.y = rcWork.bottom;
- bHandled = FALSE;
- return 0;
- }
- LRESULT CMainWnd::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- SIZE szRoundCorner = m_pm.GetRoundCorner();
- if(!::IsIconic(*this) && (szRoundCorner.cx != 0 || szRoundCorner.cy != 0))
- {
- CDuiRect rcWnd;
- ::GetWindowRect(*this, &rcWnd);
- rcWnd.Offset(-rcWnd.left, -rcWnd.top);
- rcWnd.right++;
- rcWnd.bottom++;
- HRGN hRgn = ::CreateRoundRectRgn(rcWnd.left, rcWnd.top, rcWnd.right, rcWnd.bottom, szRoundCorner.cx, szRoundCorner.cy);
- ::SetWindowRgn(*this, hRgn, TRUE);
- ::DeleteObject(hRgn);
- }
- bHandled = FALSE;
- return 0;
- }
- LRESULT CMainWnd::OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- bHandled = FALSE;
- return 0;
- }
- /*
- *这个是窗口被销毁的时候调用的
- **/
- LRESULT CMainWnd::OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- //直接退出程序,或者退出登录都会执行这个
- m_push->Stop();
- bHandled = FALSE;
- return 0;
- }
- LRESULT CMainWnd::OnNcActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- if(::IsIconic(*this))
- {
- bHandled = FALSE;
- }
- return (wParam == 0) ? TRUE : FALSE;
- }
- LRESULT CMainWnd::OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- return 0;
- }
- LRESULT CMainWnd::OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- return 0;
- }
- LRESULT CMainWnd::OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- POINT pt;
- pt.x = GET_X_LPARAM(lParam);
- pt.y = GET_Y_LPARAM(lParam);
- ::ScreenToClient(*this, &pt);
- RECT rcClient;
- ::GetClientRect(*this, &rcClient);
- if(!::IsZoomed(*this))
- {
- RECT rcSizeBox = m_pm.GetSizeBox();
- if(pt.y < rcClient.top + rcSizeBox.top)
- {
- if(pt.x < rcClient.left + rcSizeBox.left)
- {
- return HTTOPLEFT;
- }
- if(pt.x > rcClient.right - rcSizeBox.right)
- {
- return HTTOPRIGHT;
- }
- return HTTOP;
- }
- else if(pt.y > rcClient.bottom - rcSizeBox.bottom)
- {
- if(pt.x < rcClient.left + rcSizeBox.left)
- {
- return HTBOTTOMLEFT;
- }
- if(pt.x > rcClient.right - rcSizeBox.right)
- {
- return HTBOTTOMRIGHT;
- }
- return HTBOTTOM;
- }
- if(pt.x < rcClient.left + rcSizeBox.left)
- {
- return HTLEFT;
- }
- if(pt.x > rcClient.right - rcSizeBox.right)
- {
- return HTRIGHT;
- }
- }
- RECT rcCaption = m_pm.GetCaptionRect();
- if(pt.x >= rcClient.left + rcCaption.left && pt.x < rcClient.right - rcCaption.right \
- && pt.y >= rcCaption.top && pt.y < rcCaption.bottom)
- {
- CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(pt));
- if(pControl && _tcscmp(pControl->GetClass(), DUI_CTR_BUTTON) != 0 &&
- _tcscmp(pControl->GetClass(), DUI_CTR_OPTION) != 0 &&
- _tcscmp(pControl->GetClass(), DUI_CTR_TEXT) != 0)
- {
- return HTCAPTION;
- }
- }
- return HTCLIENT;
- }
- void CMainWnd::AddTrayIcon()
- {
- memset(&m_trayIcon, 0, sizeof(NOTIFYICONDATA));
- m_trayIcon.cbSize = sizeof(NOTIFYICONDATA);
- m_trayIcon.hIcon = ::LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON_DUILIB));
- m_trayIcon.hWnd = m_hWnd;
- lstrcpy(m_trayIcon.szTip, _T("乐外卖接单软件"));
- m_trayIcon.uCallbackMessage = WM_SHOWTASK;
- m_trayIcon.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
- Shell_NotifyIcon(NIM_ADD, &m_trayIcon);
- ShowWindow(SW_HIDE);
- }
- LRESULT CMainWnd::OnTrayIcon(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- //如果在图标中单击左键则还原
- if(lParam == WM_LBUTTONDOWN)
- {
- //删除托盘图标
- Shell_NotifyIcon(NIM_DELETE, &m_trayIcon);
- //显示主窗口
- ShowWindow(SW_SHOWNORMAL);
- //窗口最大化
- SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE, 0);
- }
- //如果在图标中单击右键则弹出声明式菜单
- if(lParam == WM_RBUTTONDOWN)
- {
- //获取鼠标坐标
- POINT pt;
- GetCursorPos(&pt);
- //右击后点别地可以清除“右击出来的菜单”
- SetForegroundWindow(m_hWnd);
- //托盘菜单 win32程序使用的是HMENU,如果是MFC程序可以使用CMenu
- HMENU hMenu;
- //生成托盘菜单
- hMenu = CreatePopupMenu();
- //添加菜单,关键在于设置的一个标识符 WM_ONCLOSE 点击后会用到
- AppendMenu(hMenu, MF_STRING, WM_ONCLOSE, _T("退出"));
- //弹出菜单,并把用户所选菜单项的标识符返回
- int cmd = TrackPopupMenu(hMenu, TPM_RETURNCMD, pt.x, pt.y, NULL, m_hWnd, NULL);
- //如果标识符是WM_ONCLOSE则关闭
- if(cmd == WM_ONCLOSE)
- {
- m_trayIcon.hIcon = NULL;
- Shell_NotifyIcon(NIM_DELETE, &m_trayIcon);
- //退出程序
- ::PostQuitMessage(0);
- }
- }
- bHandled = true;
- return 0;
- }
- LRESULT CMainWnd::OnOrderlistRefresh(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- OrderListUI* orderlist = static_cast<OrderListUI*>(m_pm.FindControl(_T("orderlist")));
- orderlist->DoRefresh();
- return 1;
- }
- LRESULT CMainWnd::OnLoginOut(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
- {
- LoginOut(2);
- bHandled = true;
- return 1;
- }
- void CMainWnd::InitSettingStatus()
- {
- //显示当前软件版本和登录账号信息
- CLabelUI* name_version = static_cast<CLabelUI*>(m_pm.FindControl(_T("main_name_version")));
- std::wstring wsShowName = L"乐外卖接单软件 " + CLewaimaiString::UTF8ToUnicode(CSystem::GetVersion());
- std::string last_login_username = CSetting::GetParam("last_login_username");
- std::wstring wx_last_login_username = CLewaimaiString::UTF8ToUnicode(last_login_username);
- wsShowName += L"(登录账号:" + wx_last_login_username + L")";
- name_version->SetText(wsShowName.c_str());
- CLabelUI* version = static_cast<CLabelUI*>(m_pm.FindControl(_T("setting_version")));
- version->SetText((L"版本号:" + CLewaimaiString::UTF8ToUnicode(CSystem::GetVersion())).c_str());
- CCheckBoxUI* box = NULL;
- CComboUI* com = NULL;
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_new_waimai_voice")));
- if(CSetting::GetParam("setting_is_new_waimai_voice") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_new_waimai_autoconfirm")));
- if(CSetting::GetParam("setting_is_new_waimai_autoconfirm") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_new_waimai_dialog")));
- if(CSetting::GetParam("setting_is_new_waimai_dialog") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_new_waimai_printer")));
- if(CSetting::GetParam("setting_is_new_waimai_printer") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- com = static_cast<CComboUI*>(m_pm.FindControl(_T("setting_printer_guige")));
- if(CSetting::GetParam("setting_printer_guige") == "58")
- {
- com->SetInternVisible(true);
- com->SelectItem(0, false, false);
- }
- else
- {
- com->SetInternVisible(true);
- com->SelectItem(1, false, false);
- }
- com = static_cast<CComboUI*>(m_pm.FindControl(_T("setting_printer_lianshu")));
- std::string setting_printer_lianshu = CSetting::GetParam("setting_printer_lianshu");
- if(setting_printer_lianshu == "1")
- {
- com->SetInternVisible(true);
- com->SelectItem(0, false, false);
- com->SetText(L"1联");
- }
- else if(setting_printer_lianshu == "2")
- {
- com->SetInternVisible(true);
- com->SelectItem(1, false, false);
- com->SetText(L"2联");
- }
- else if(setting_printer_lianshu == "3")
- {
- com->SetInternVisible(true);
- com->SelectItem(2, false, false);
- com->SetText(L"3联");
- }
- else if(setting_printer_lianshu == "4")
- {
- com->SetInternVisible(true);
- com->SelectItem(3, false, false);
- com->SetText(L"4联");
- }
- com = static_cast<CComboUI*>(m_pm.FindControl(_T("setting_printer_leixing")));
- std::string setting_printer_leixing = CSetting::GetParam("setting_printer_leixing");
- CHorizontalLayoutUI* usb_layout = static_cast<CHorizontalLayoutUI*>(m_pm.FindControl(_T("setting_printer_usb_layout")));
- CHorizontalLayoutUI* wangkou_layout = static_cast<CHorizontalLayoutUI*>(m_pm.FindControl(_T("setting_printer_wangkou_layout")));
- if(setting_printer_leixing == "auto")
- {
- com->SetInternVisible(true);
- com->SelectItem(0, false, false);
- com->SetText(L"智能识别模式");
- //智能识别模式隐藏这2个
- usb_layout->SetVisible(false);
- wangkou_layout->SetVisible(false);
- }
- else if(setting_printer_leixing == "usb")
- {
- com->SetInternVisible(true);
- com->SelectItem(1, false, false);
- com->SetText(L"usb");
- //显示usb布局
- usb_layout->SetVisible(true);
- wangkou_layout->SetVisible(false);
- //usb下拉框默认选中
- CComboUI* com_usb = static_cast<CComboUI*>(m_pm.FindControl(_T("setting_printer_usb")));
- com_usb->RemoveAll();
- //数据库中保存的之前的设置
- std::string setting_printer_usb = CSetting::GetParam("setting_printer_usb");
- std::wstring ws_setting_printer_usb = CLewaimaiString::UTF8ToUnicode(setting_printer_usb);
- CPosPrinter printer;
- printer.InitUsb();
- std::vector<std::wstring> usb_devices = printer.getUsbDevices();
- int i = 0;
- int nSelect = -1;
- for(std::vector<std::wstring>::iterator it = usb_devices.begin(); it != usb_devices.end(); it++)
- {
- CListLabelElementUI* elem = new CListLabelElementUI();
- elem->SetText((*it).c_str());
- com_usb->Add(elem);
- if(*it == ws_setting_printer_usb)
- {
- nSelect = i;
- }
- i++;
- }
- com_usb->SetInternVisible(true);
- com_usb->SelectItem(nSelect, false, false);
- com_usb->SetText(CLewaimaiString::UTF8ToUnicode(setting_printer_usb).c_str());
- }
- else if(setting_printer_leixing == "bingkou")
- {
- com->SetInternVisible(true);
- com->SelectItem(2, false, false);
- com->SetText(L"并口");
- usb_layout->SetVisible(false);
- wangkou_layout->SetVisible(false);
- }
- else if(setting_printer_leixing == "chuankou")
- {
- com->SetInternVisible(true);
- com->SelectItem(3, false, false);
- com->SetText(L"串口");
- usb_layout->SetVisible(false);
- wangkou_layout->SetVisible(false);
- }
- else if(setting_printer_leixing == "wangkou")
- {
- com->SetInternVisible(true);
- com->SelectItem(4, false, false);
- com->SetText(L"网口");
- usb_layout->SetVisible(false);
- wangkou_layout->SetVisible(true);
- std::string setting_printer_wangkou_ip = CSetting::GetParam("setting_printer_wangkou_ip");
- CEditUI* ip_edit = static_cast<CEditUI*>(m_pm.FindControl(_T("setting_printer_wangkou_ip")));
- ip_edit->SetText(CLewaimaiString::UTF8ToUnicode(setting_printer_wangkou_ip).c_str());
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_quhuo_big")));
- if(CSetting::GetParam("setting_printer_quhuo_big") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_dingdanhao_big")));
- if(CSetting::GetParam("setting_printer_dingdanhao_big") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_xiadanshijian_big")));
- if(CSetting::GetParam("setting_printer_xiadanshijian_big") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_peisongshijian_big")));
- if(CSetting::GetParam("setting_printer_peisongshijian_big") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_name_big")));
- if(CSetting::GetParam("setting_printer_name_big") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_phone_big")));
- if(CSetting::GetParam("setting_printer_phone_big") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_address_big")));
- if(CSetting::GetParam("setting_printer_address_big") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_shangpin_big")));
- if(CSetting::GetParam("setting_printer_shangpin_big") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_memo_big")));
- if(CSetting::GetParam("setting_printer_memo_big") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_price_big")));
- if(CSetting::GetParam("setting_printer_price_big") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_printer_pay_big")));
- if(CSetting::GetParam("setting_printer_pay_big") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- //厨房打印机设置
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_new_waimai_chufang_printer")));
- if(CSetting::GetParam("setting_is_new_waimai_chufang_printer") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_auto_start")));
- if(CSetting::GetParam("setting_is_auto_start") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_auto_login")));
- if(CSetting::GetParam("setting_is_auto_login") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_close_min")));
- if(CSetting::GetParam("setting_is_close_min") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- //初始化标签打印机的设置
- box = static_cast<CCheckBoxUI*>(m_pm.FindControl(_T("setting_is_new_waimai_biaoqian_printer")));
- if(CSetting::GetParam("setting_is_new_waimai_biaoqian_printer") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- //usb下拉框默认选中
- CComboUI* com_usb = static_cast<CComboUI*>(m_pm.FindControl(_T("setting_biaoqian_printer_usb")));
- com_usb->RemoveAll();
- //数据库中保存的之前的设置
- std::string setting_biaoqian_printer_usb = CSetting::GetParam("setting_biaoqian_printer_usb");
- std::wstring ws_setting_biaoqian_printer_usb = CLewaimaiString::UTF8ToUnicode(setting_biaoqian_printer_usb);
- CPosPrinter printer;
- printer.InitUsb(2);
- std::vector<std::wstring> usb_devices = printer.getUsbDevices();
- int i = 0;
- int nSelect = -1;
- for(std::vector<std::wstring>::iterator it = usb_devices.begin(); it != usb_devices.end(); it++)
- {
- CListLabelElementUI* elem = new CListLabelElementUI();
- elem->SetText((*it).c_str());
- com_usb->Add(elem);
- if(*it == ws_setting_biaoqian_printer_usb)
- {
- nSelect = i;
- }
- i++;
- }
- com_usb->SetInternVisible(true);
- com_usb->SelectItem(nSelect, false, false);
- com_usb->SetText(CLewaimaiString::UTF8ToUnicode(setting_biaoqian_printer_usb).c_str());
- //这里开始,初始化厨房打印机的设置
- CListUI* pPrinterList = static_cast<CListUI*>(m_pm.FindControl(_T("setting_chufang_printer_list")));
- //获取当前店铺的商品分类信息,用于设置厨房打印机的分类打印
- //先清空一次分类(主要考虑退出登陆重新登录的情况)
- CSetting::ClearFoodtype();
- std::string shop_id = CLewaimaiHttpClient::getShopId();
- if (shop_id != "0")
- {
- std::map<string, string> params;
- params["shop_id"] = shop_id;
- std::string response;
- std::string url = "/goodstype/getlist";
- CLewaimaiHttpClient::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"];
- rapidjson::Value& v_rows = data["goods_types"];
- for (rapidjson::SizeType i = 0; i < v_rows.Size(); ++i)
- {
- rapidjson::Value& v_row_i = v_rows[i];
- std::string type_id = v_row_i["type_id"].GetString();
- std::string name = v_row_i["name"].GetString();
- CSetting::AddFoodtype(name, type_id);
- }
- }
- //获取厨房打印机的集合
- std::vector<ChufangPrinter> printers = CSetting::getChufangPrints();
- for(std::vector<ChufangPrinter>::iterator it = printers.begin(); it != printers.end(); it++)
- {
- ChufangPrinter newPrinter = *it;
- CDialogBuilder builder;
- CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(builder.Create(_T("setting_chufang_printer_item.xml"), (UINT)0, NULL, &m_pm));
- CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_name")));
- pName->SetText(CLewaimaiString::UTF8ToUnicode(newPrinter.name).c_str());
- CLabelUI* pIP = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_ip")));
- pIP->SetText(CLewaimaiString::UTF8ToUnicode(newPrinter.ip).c_str());
- CLabelUI* pGuige = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_guige")));
- if(newPrinter.guige == "58")
- {
- pGuige->SetText(L"58mm");
- }
- else
- {
- pGuige->SetText(L"80mm");
- }
- CLabelUI* pFendan = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_fendan")));
- if(newPrinter.fendan == "1")
- {
- pFendan->SetText(L"是");
- }
- else
- {
- pFendan->SetText(L"否");
- }
- CLabelUI* pFenlei = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_fenlei")));
- if(newPrinter.fenlei == "1")
- {
- pFenlei->SetText(L"是");
- }
- else
- {
- pFenlei->SetText(L"否");
- }
- std::string foodtypeNames = "";
- std::string foodtype_ids = newPrinter.fenlei_ids;
- //这个是删除掉不存在的type_id之后的
- std::string new_foodtype_ids = "";
- std::vector<string> ids = CLewaimaiString::Split(foodtype_ids, ",");
- for(std::vector<string>::iterator it = ids.begin(); it != ids.end(); it++)
- {
- std::string name = CSetting::getFoodtypeName((*it));
- if(name == "zhipuzi_not_found_xxx")
- {
- //这种情况是以前保存的分类后来被删掉了
- }
- else
- {
- foodtypeNames += name + " ";
- new_foodtype_ids += (*it) + ",";
- }
- }
- //删掉不存在的type_id,更新内存和数据库
- new_foodtype_ids = new_foodtype_ids.substr(0, new_foodtype_ids.length() - 1);
- if(new_foodtype_ids.compare(foodtype_ids) != 0)
- {
- CSetting::UpdateChufangPrinter(newPrinter.date, newPrinter.name, newPrinter.ip, newPrinter.guige, newPrinter.fendan, newPrinter.fenlei, new_foodtype_ids, true);
- }
- foodtypeNames = foodtypeNames.substr(0, foodtypeNames.size() - 1);
- std::wstring ws_foodtypeNames = CLewaimaiString::UTF8ToUnicode(foodtypeNames);
- CLabelUI* pFenleiIds = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_fenlei_ids")));
- pFenleiIds->SetText(ws_foodtypeNames.c_str());
- //设置标记属性,用于修改时候匹配
- pEle->AddCustomAttribute(L"date", CLewaimaiString::UTF8ToUnicode(newPrinter.date).c_str());
- pPrinterList->Add(pEle);
- }
- }
- void CMainWnd::LoginOut(int mode)
- {
- CSetting::SetParam("setting_is_auto_login", "0", true);
- CLoginWnd* pLogin = new CLoginWnd();
- if(pLogin == NULL)
- {
- return;
- }
- //设置模式
- pLogin->SetMode(mode);
- pLogin->Create(NULL, _T("乐外卖接单软件登录"), UI_WNDSTYLE_DIALOG, 0, 0, 0, 0, 0, NULL);
- pLogin->SetIcon(IDI_ICON_DUILIB);
- pLogin->CenterWindow();
- ::ShowWindow(*pLogin, SW_SHOWNORMAL);
- Close();
- }
|