| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299 |
- #include "../pch/pch.h"
- #include "CSettingPageUI.h"
- #include "../wnd/CChufangSettingWnd.h"
- #include "../print/CPosPrinter.h"
- CSettingPageUI::CSettingPageUI()
- {
- }
- CSettingPageUI::~CSettingPageUI()
- {
- }
- //初始化当前页面的展示,处理默认展示效果,在页面被加载的时候调用
- void CSettingPageUI::InitShow()
- {
- CLabelUI* version = static_cast<CLabelUI*>(this->FindSubControl(_T("setting_version")));
- version->SetText((L"版本号:" + CLewaimaiString::UTF8ToUnicode(CSystem::GetVersion())).c_str());
- CCheckBoxUI* box = NULL;
- CComboUI* com = NULL;
- //外卖订单设置
- box = static_cast<CCheckBoxUI*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_T("setting_is_new_waimai_printer")));
- if (CSetting::GetParam("setting_is_new_waimai_printer") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- box = static_cast<CCheckBoxUI*>(this->FindSubControl(_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);
- }
- box = static_cast<CCheckBoxUI*>(this->FindSubControl(_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);
- }
- com = static_cast<CComboUI*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_T("setting_printer_leixing")));
- std::string setting_printer_leixing = CSetting::GetParam("setting_printer_leixing");
- CHorizontalLayoutUI* usb_layout = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(_T("setting_printer_usb_layout")));
- CHorizontalLayoutUI* wangkou_layout = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(_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*>(this->FindSubControl(_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);
- std::vector<std::wstring> usb_devices = CPosPrinterQueue::GetInstance()->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*>(this->FindSubControl(_T("setting_printer_wangkou_ip")));
- ip_edit->SetText(CLewaimaiString::UTF8ToUnicode(setting_printer_wangkou_ip).c_str());
- }
- box = static_cast<CCheckBoxUI*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_T("setting_is_close_min")));
- if (CSetting::GetParam("setting_is_close_min") == "1")
- {
- box->Selected(true, false);
- }
- else
- {
- box->Selected(false, false);
- }
- //初始化标签打印机的设置
- //usb下拉框默认选中
- CComboUI* com_usb = static_cast<CComboUI*>(this->FindSubControl(_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);
- std::vector<std::wstring> usb_devices = CPosPrinterQueue::GetInstance()->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());
- com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_biaoqian_printer_guige")));
- std::string setting_biaoqian_printer_guige = CSetting::GetParam("setting_biaoqian_printer_guige");
- if (setting_biaoqian_printer_guige == "40*30mm")
- {
- com->SetInternVisible(true);
- com->SelectItem(0, false, false);
- com->SetText(L"40*30mm");
- }
- else if (setting_biaoqian_printer_guige == "35*25mm")
- {
- com->SetInternVisible(true);
- com->SelectItem(1, false, false);
- com->SetText(L"35*25mm");
- }
- else if (setting_biaoqian_printer_guige == "30*25mm")
- {
- com->SetInternVisible(true);
- com->SelectItem(2, false, false);
- com->SetText(L"30*25mm");
- }
- else if (setting_biaoqian_printer_guige == "30*20mm")
- {
- com->SetInternVisible(true);
- com->SelectItem(3, false, false);
- com->SetText(L"30*20mm");
- }
- com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_biaoqian_printer_fangxiang")));
- std::string setting_biaoqian_printer_fangxiang = CSetting::GetParam("setting_biaoqian_printer_fangxiang");
- if (setting_biaoqian_printer_fangxiang == "1")
- {
- com->SetInternVisible(true);
- com->SelectItem(0, false, false);
- com->SetText(L"正方向");
- }
- else if (setting_biaoqian_printer_fangxiang == "0")
- {
- com->SetInternVisible(true);
- com->SelectItem(1, false, false);
- com->SetText(L"反方向");
- }
- //这里开始,初始化厨房打印机的设置
- CListUI* pPrinterList = static_cast<CListUI*>(this->FindSubControl(_T("setting_chufang_printer_list")));
- //获取当前店铺的商品分类信息,用于设置厨房打印机的分类打印
- while (1)
- {
- //先清空一次分类(主要考虑退出登陆重新登录的情况)
- CSetting::ClearFoodtype();
- std::string shop_id = CShopinfo::m_shopinfo.m_shop_id;
- if (shop_id != "0")
- {
- std::map<string, string> params;
- params["shop_id"] = shop_id;
- std::string response;
- std::string url = "/goodstype/getlist";
- CZhipuziHttpClient::Request(url.c_str(), params, response);
- rapidjson::Document document;
- document.Parse(response.c_str());
- if (document.HasParseError())
- {
- LOG_INFO("parse response error!");
- break;
- }
- if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
- {
- LOG_INFO("json error!");
- break;
- }
- rapidjson::Value& v_errcode = document["errcode"];
- int errcode = v_errcode.GetInt();
- if (errcode != 0)
- {
- LOG_INFO("response failed! message:" << document["errmsg"].GetString());
- break;
- }
- //获得数据成功,把分类信息保存起来
- 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);
- }
- }
- break;
- }
- //获取厨房打印机的集合
- 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_pManager));
- 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);
- }
- //初始化展示设置
- CCheckBoxUI* box_youtu = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("xianshi_setting_youtu")));
- CCheckBoxUI* box_wutu = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("xianshi_setting_wutu")));
- if (CSetting::GetParam("setting_xianshi_is_youtu") == "1")
- {
- box_youtu->Selected(true, false);
- box_wutu->Selected(false, false);
- }
- else
- {
- box_youtu->Selected(false, false);
- box_wutu->Selected(true, false);
- }
- }
- //处理按钮点击类事件
- void CSettingPageUI::HandleClickMsg(TNotifyUI& msg)
- {
- CDuiString name = msg.pSender->GetName();
- //开始处理设置页面的
- if (name == _T("setting_is_new_waimai_voice"))
- {
- CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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(m_pManager->GetPaintWindow(), _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*>(this->FindSubControl(_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_pManager));
- 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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_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(m_pManager->GetPaintWindow(), _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*>(this->FindSubControl(_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*>(this->FindSubControl(_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"))
- {
- //退出登录
- m_pMainWnd->LoginOut(1);
- }
- }
- //处理option切换事件,radio事件
- void CSettingPageUI::HandleSelectChangeMsg(TNotifyUI& msg)
- {
- CDuiString name = msg.pSender->GetName();
- //判断设置中心的tab
- if (name == _T("setting_waimai_order_switch"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
- pControl->SelectItem(0);
- }
- if (name == _T("setting_diannei_order_switch"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
- pControl->SelectItem(1);
- }
- else if (name == _T("setting_printer_switch"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
- pControl->SelectItem(2);
- }
- else if (name == _T("setting_biaoqian_printer_switch"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
- pControl->SelectItem(3);
- }
- else if (name == _T("setting_chufang_printer_switch"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
- pControl->SelectItem(4);
- }
- else if (name == _T("setting_xianshi_switch"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
- pControl->SelectItem(5);
- }
- else if (name == _T("setting_system_switch"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
- pControl->SelectItem(6);
- }
- else if (name == _T("setting_system_about"))
- {
- CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
- pControl->SelectItem(7);
- }
- else if (name == _T("xianshi_setting_youtu"))
- {
- CSetting::SetParam("setting_xianshi_is_youtu", "1");
- }
- else if (name == _T("xianshi_setting_wutu"))
- {
- CSetting::SetParam("setting_xianshi_is_youtu", "0");
- }
- }
- //处理下拉框、radio的切换事件
- void CSettingPageUI::HandleItemSelectMsg(TNotifyUI& msg)
- {
- CDuiString name = msg.pSender->GetName();
- if (name == _T("setting_printer_guige"))
- {
- CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_T("setting_printer_leixing")));
- CHorizontalLayoutUI* usb_layout = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(_T("setting_printer_usb_layout")));
- CHorizontalLayoutUI* wangkou_layout = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(_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*>(this->FindSubControl(_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);
- std::vector<std::wstring> usb_devices = CPosPrinterQueue::GetInstance()->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*>(this->FindSubControl(_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*>(this->FindSubControl(_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*>(this->FindSubControl(_T("setting_biaoqian_printer_usb")));
- wstring usb_device = com->GetText();;
- CSetting::SetParam("setting_biaoqian_printer_usb", CLewaimaiString::UnicodeToUTF8(usb_device));
- }
- else if (name == _T("setting_biaoqian_printer_guige"))
- {
- CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_biaoqian_printer_guige")));
- if (com->GetCurSel() == 0)
- {
- CSetting::SetParam("setting_biaoqian_printer_guige", "40*30mm");
- }
- else if (com->GetCurSel() == 1)
- {
- CSetting::SetParam("setting_biaoqian_printer_guige", "35*25mm");
- }
- else if (com->GetCurSel() == 2)
- {
- CSetting::SetParam("setting_biaoqian_printer_guige", "30*25mm");
- }
- else if (com->GetCurSel() == 3)
- {
- CSetting::SetParam("setting_biaoqian_printer_guige", "30*20mm");
- }
- }
- else if (name == _T("setting_biaoqian_printer_fangxiang"))
- {
- CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_biaoqian_printer_fangxiang")));
- if (com->GetCurSel() == 0)
- {
- CSetting::SetParam("setting_biaoqian_printer_fangxiang", "1");
- }
- else if (com->GetCurSel() == 1)
- {
- CSetting::SetParam("setting_biaoqian_printer_fangxiang", "0");
- }
- }
- }
- //处理编辑框输入内容改变事件
- void CSettingPageUI::HandleTextChangedMsg(TNotifyUI& msg)
- {
- }
- //处理扫码枪捕捉到的扫码信息
- void CSettingPageUI::HandleTextCapture(std::string content)
- {
- }
|