CSettingPageUI.cpp 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299
  1. #include "../pch/pch.h"
  2. #include "CSettingPageUI.h"
  3. #include "../wnd/CChufangSettingWnd.h"
  4. #include "../print/CPosPrinter.h"
  5. CSettingPageUI::CSettingPageUI()
  6. {
  7. }
  8. CSettingPageUI::~CSettingPageUI()
  9. {
  10. }
  11. //初始化当前页面的展示,处理默认展示效果,在页面被加载的时候调用
  12. void CSettingPageUI::InitShow()
  13. {
  14. CLabelUI* version = static_cast<CLabelUI*>(this->FindSubControl(_T("setting_version")));
  15. version->SetText((L"版本号:" + CLewaimaiString::UTF8ToUnicode(CSystem::GetVersion())).c_str());
  16. CCheckBoxUI* box = NULL;
  17. CComboUI* com = NULL;
  18. //外卖订单设置
  19. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_new_waimai_voice")));
  20. if (CSetting::GetParam("setting_is_new_waimai_voice") == "1")
  21. {
  22. box->Selected(true, false);
  23. }
  24. else
  25. {
  26. box->Selected(false, false);
  27. }
  28. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_new_waimai_autoconfirm")));
  29. if (CSetting::GetParam("setting_is_new_waimai_autoconfirm") == "1")
  30. {
  31. box->Selected(true, false);
  32. }
  33. else
  34. {
  35. box->Selected(false, false);
  36. }
  37. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_new_waimai_printer")));
  38. if (CSetting::GetParam("setting_is_new_waimai_printer") == "1")
  39. {
  40. box->Selected(true, false);
  41. }
  42. else
  43. {
  44. box->Selected(false, false);
  45. }
  46. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_new_waimai_biaoqian_printer")));
  47. if (CSetting::GetParam("setting_is_new_waimai_biaoqian_printer") == "1")
  48. {
  49. box->Selected(true, false);
  50. }
  51. else
  52. {
  53. box->Selected(false, false);
  54. }
  55. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_new_waimai_chufang_printer")));
  56. if (CSetting::GetParam("setting_is_new_waimai_chufang_printer") == "1")
  57. {
  58. box->Selected(true, false);
  59. }
  60. else
  61. {
  62. box->Selected(false, false);
  63. }
  64. com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_printer_guige")));
  65. if (CSetting::GetParam("setting_printer_guige") == "58")
  66. {
  67. com->SetInternVisible(true);
  68. com->SelectItem(0, false, false);
  69. }
  70. else
  71. {
  72. com->SetInternVisible(true);
  73. com->SelectItem(1, false, false);
  74. }
  75. com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_printer_lianshu")));
  76. std::string setting_printer_lianshu = CSetting::GetParam("setting_printer_lianshu");
  77. if (setting_printer_lianshu == "1")
  78. {
  79. com->SetInternVisible(true);
  80. com->SelectItem(0, false, false);
  81. com->SetText(L"1联");
  82. }
  83. else if (setting_printer_lianshu == "2")
  84. {
  85. com->SetInternVisible(true);
  86. com->SelectItem(1, false, false);
  87. com->SetText(L"2联");
  88. }
  89. else if (setting_printer_lianshu == "3")
  90. {
  91. com->SetInternVisible(true);
  92. com->SelectItem(2, false, false);
  93. com->SetText(L"3联");
  94. }
  95. else if (setting_printer_lianshu == "4")
  96. {
  97. com->SetInternVisible(true);
  98. com->SelectItem(3, false, false);
  99. com->SetText(L"4联");
  100. }
  101. com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_printer_leixing")));
  102. std::string setting_printer_leixing = CSetting::GetParam("setting_printer_leixing");
  103. CHorizontalLayoutUI* usb_layout = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(_T("setting_printer_usb_layout")));
  104. CHorizontalLayoutUI* wangkou_layout = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(_T("setting_printer_wangkou_layout")));
  105. if (setting_printer_leixing == "auto")
  106. {
  107. com->SetInternVisible(true);
  108. com->SelectItem(0, false, false);
  109. com->SetText(L"智能识别模式");
  110. //智能识别模式隐藏这2个
  111. usb_layout->SetVisible(false);
  112. wangkou_layout->SetVisible(false);
  113. }
  114. else if (setting_printer_leixing == "usb")
  115. {
  116. com->SetInternVisible(true);
  117. com->SelectItem(1, false, false);
  118. com->SetText(L"usb");
  119. //显示usb布局
  120. usb_layout->SetVisible(true);
  121. wangkou_layout->SetVisible(false);
  122. //usb下拉框默认选中
  123. CComboUI* com_usb = static_cast<CComboUI*>(this->FindSubControl(_T("setting_printer_usb")));
  124. com_usb->RemoveAll();
  125. //数据库中保存的之前的设置
  126. std::string setting_printer_usb = CSetting::GetParam("setting_printer_usb");
  127. std::wstring ws_setting_printer_usb = CLewaimaiString::UTF8ToUnicode(setting_printer_usb);
  128. std::vector<std::wstring> usb_devices = CPosPrinterQueue::GetInstance()->getUsbDevices();
  129. int i = 0;
  130. int nSelect = -1;
  131. for (std::vector<std::wstring>::iterator it = usb_devices.begin(); it != usb_devices.end(); it++)
  132. {
  133. CListLabelElementUI* elem = new CListLabelElementUI();
  134. elem->SetText((*it).c_str());
  135. com_usb->Add(elem);
  136. if (*it == ws_setting_printer_usb)
  137. {
  138. nSelect = i;
  139. }
  140. i++;
  141. }
  142. com_usb->SetInternVisible(true);
  143. com_usb->SelectItem(nSelect, false, false);
  144. com_usb->SetText(CLewaimaiString::UTF8ToUnicode(setting_printer_usb).c_str());
  145. }
  146. else if (setting_printer_leixing == "bingkou")
  147. {
  148. com->SetInternVisible(true);
  149. com->SelectItem(2, false, false);
  150. com->SetText(L"并口");
  151. usb_layout->SetVisible(false);
  152. wangkou_layout->SetVisible(false);
  153. }
  154. else if (setting_printer_leixing == "chuankou")
  155. {
  156. com->SetInternVisible(true);
  157. com->SelectItem(3, false, false);
  158. com->SetText(L"串口");
  159. usb_layout->SetVisible(false);
  160. wangkou_layout->SetVisible(false);
  161. }
  162. else if (setting_printer_leixing == "wangkou")
  163. {
  164. com->SetInternVisible(true);
  165. com->SelectItem(4, false, false);
  166. com->SetText(L"网口");
  167. usb_layout->SetVisible(false);
  168. wangkou_layout->SetVisible(true);
  169. std::string setting_printer_wangkou_ip = CSetting::GetParam("setting_printer_wangkou_ip");
  170. CEditUI* ip_edit = static_cast<CEditUI*>(this->FindSubControl(_T("setting_printer_wangkou_ip")));
  171. ip_edit->SetText(CLewaimaiString::UTF8ToUnicode(setting_printer_wangkou_ip).c_str());
  172. }
  173. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_quhuo_big")));
  174. if (CSetting::GetParam("setting_printer_quhuo_big") == "1")
  175. {
  176. box->Selected(true, false);
  177. }
  178. else
  179. {
  180. box->Selected(false, false);
  181. }
  182. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_dingdanhao_big")));
  183. if (CSetting::GetParam("setting_printer_dingdanhao_big") == "1")
  184. {
  185. box->Selected(true, false);
  186. }
  187. else
  188. {
  189. box->Selected(false, false);
  190. }
  191. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_xiadanshijian_big")));
  192. if (CSetting::GetParam("setting_printer_xiadanshijian_big") == "1")
  193. {
  194. box->Selected(true, false);
  195. }
  196. else
  197. {
  198. box->Selected(false, false);
  199. }
  200. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_peisongshijian_big")));
  201. if (CSetting::GetParam("setting_printer_peisongshijian_big") == "1")
  202. {
  203. box->Selected(true, false);
  204. }
  205. else
  206. {
  207. box->Selected(false, false);
  208. }
  209. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_name_big")));
  210. if (CSetting::GetParam("setting_printer_name_big") == "1")
  211. {
  212. box->Selected(true, false);
  213. }
  214. else
  215. {
  216. box->Selected(false, false);
  217. }
  218. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_phone_big")));
  219. if (CSetting::GetParam("setting_printer_phone_big") == "1")
  220. {
  221. box->Selected(true, false);
  222. }
  223. else
  224. {
  225. box->Selected(false, false);
  226. }
  227. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_address_big")));
  228. if (CSetting::GetParam("setting_printer_address_big") == "1")
  229. {
  230. box->Selected(true, false);
  231. }
  232. else
  233. {
  234. box->Selected(false, false);
  235. }
  236. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_shangpin_big")));
  237. if (CSetting::GetParam("setting_printer_shangpin_big") == "1")
  238. {
  239. box->Selected(true, false);
  240. }
  241. else
  242. {
  243. box->Selected(false, false);
  244. }
  245. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_memo_big")));
  246. if (CSetting::GetParam("setting_printer_memo_big") == "1")
  247. {
  248. box->Selected(true, false);
  249. }
  250. else
  251. {
  252. box->Selected(false, false);
  253. }
  254. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_price_big")));
  255. if (CSetting::GetParam("setting_printer_price_big") == "1")
  256. {
  257. box->Selected(true, false);
  258. }
  259. else
  260. {
  261. box->Selected(false, false);
  262. }
  263. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_pay_big")));
  264. if (CSetting::GetParam("setting_printer_pay_big") == "1")
  265. {
  266. box->Selected(true, false);
  267. }
  268. else
  269. {
  270. box->Selected(false, false);
  271. }
  272. //系统设置
  273. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_auto_start")));
  274. if (CSetting::GetParam("setting_is_auto_start") == "1")
  275. {
  276. box->Selected(true, false);
  277. }
  278. else
  279. {
  280. box->Selected(false, false);
  281. }
  282. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_auto_login")));
  283. if (CSetting::GetParam("setting_is_auto_login") == "1")
  284. {
  285. box->Selected(true, false);
  286. }
  287. else
  288. {
  289. box->Selected(false, false);
  290. }
  291. box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_close_min")));
  292. if (CSetting::GetParam("setting_is_close_min") == "1")
  293. {
  294. box->Selected(true, false);
  295. }
  296. else
  297. {
  298. box->Selected(false, false);
  299. }
  300. //初始化标签打印机的设置
  301. //usb下拉框默认选中
  302. CComboUI* com_usb = static_cast<CComboUI*>(this->FindSubControl(_T("setting_biaoqian_printer_usb")));
  303. com_usb->RemoveAll();
  304. //数据库中保存的之前的设置
  305. std::string setting_biaoqian_printer_usb = CSetting::GetParam("setting_biaoqian_printer_usb");
  306. std::wstring ws_setting_biaoqian_printer_usb = CLewaimaiString::UTF8ToUnicode(setting_biaoqian_printer_usb);
  307. std::vector<std::wstring> usb_devices = CPosPrinterQueue::GetInstance()->getUsbDevices();
  308. int i = 0;
  309. int nSelect = -1;
  310. for (std::vector<std::wstring>::iterator it = usb_devices.begin(); it != usb_devices.end(); it++)
  311. {
  312. CListLabelElementUI* elem = new CListLabelElementUI();
  313. elem->SetText((*it).c_str());
  314. com_usb->Add(elem);
  315. if (*it == ws_setting_biaoqian_printer_usb)
  316. {
  317. nSelect = i;
  318. }
  319. i++;
  320. }
  321. com_usb->SetInternVisible(true);
  322. com_usb->SelectItem(nSelect, false, false);
  323. com_usb->SetText(CLewaimaiString::UTF8ToUnicode(setting_biaoqian_printer_usb).c_str());
  324. com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_biaoqian_printer_guige")));
  325. std::string setting_biaoqian_printer_guige = CSetting::GetParam("setting_biaoqian_printer_guige");
  326. if (setting_biaoqian_printer_guige == "40*30mm")
  327. {
  328. com->SetInternVisible(true);
  329. com->SelectItem(0, false, false);
  330. com->SetText(L"40*30mm");
  331. }
  332. else if (setting_biaoqian_printer_guige == "35*25mm")
  333. {
  334. com->SetInternVisible(true);
  335. com->SelectItem(1, false, false);
  336. com->SetText(L"35*25mm");
  337. }
  338. else if (setting_biaoqian_printer_guige == "30*25mm")
  339. {
  340. com->SetInternVisible(true);
  341. com->SelectItem(2, false, false);
  342. com->SetText(L"30*25mm");
  343. }
  344. else if (setting_biaoqian_printer_guige == "30*20mm")
  345. {
  346. com->SetInternVisible(true);
  347. com->SelectItem(3, false, false);
  348. com->SetText(L"30*20mm");
  349. }
  350. com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_biaoqian_printer_fangxiang")));
  351. std::string setting_biaoqian_printer_fangxiang = CSetting::GetParam("setting_biaoqian_printer_fangxiang");
  352. if (setting_biaoqian_printer_fangxiang == "1")
  353. {
  354. com->SetInternVisible(true);
  355. com->SelectItem(0, false, false);
  356. com->SetText(L"正方向");
  357. }
  358. else if (setting_biaoqian_printer_fangxiang == "0")
  359. {
  360. com->SetInternVisible(true);
  361. com->SelectItem(1, false, false);
  362. com->SetText(L"反方向");
  363. }
  364. //这里开始,初始化厨房打印机的设置
  365. CListUI* pPrinterList = static_cast<CListUI*>(this->FindSubControl(_T("setting_chufang_printer_list")));
  366. //获取当前店铺的商品分类信息,用于设置厨房打印机的分类打印
  367. while (1)
  368. {
  369. //先清空一次分类(主要考虑退出登陆重新登录的情况)
  370. CSetting::ClearFoodtype();
  371. std::string shop_id = CShopinfo::m_shopinfo.m_shop_id;
  372. if (shop_id != "0")
  373. {
  374. std::map<string, string> params;
  375. params["shop_id"] = shop_id;
  376. std::string response;
  377. std::string url = "/goodstype/getlist";
  378. CZhipuziHttpClient::Request(url.c_str(), params, response);
  379. rapidjson::Document document;
  380. document.Parse(response.c_str());
  381. if (document.HasParseError())
  382. {
  383. LOG_INFO("parse response error!");
  384. break;
  385. }
  386. if (!document.HasMember("errcode") || !document.HasMember("errmsg") || !document.HasMember("data"))
  387. {
  388. LOG_INFO("json error!");
  389. break;
  390. }
  391. rapidjson::Value& v_errcode = document["errcode"];
  392. int errcode = v_errcode.GetInt();
  393. if (errcode != 0)
  394. {
  395. LOG_INFO("response failed! message:" << document["errmsg"].GetString());
  396. break;
  397. }
  398. //获得数据成功,把分类信息保存起来
  399. rapidjson::Value& data = document["data"];
  400. rapidjson::Value& v_rows = data["goods_types"];
  401. for (rapidjson::SizeType i = 0; i < v_rows.Size(); ++i)
  402. {
  403. rapidjson::Value& v_row_i = v_rows[i];
  404. std::string type_id = v_row_i["type_id"].GetString();
  405. std::string name = v_row_i["name"].GetString();
  406. CSetting::AddFoodtype(name, type_id);
  407. }
  408. }
  409. break;
  410. }
  411. //获取厨房打印机的集合
  412. std::vector<ChufangPrinter> printers = CSetting::getChufangPrints();
  413. for (std::vector<ChufangPrinter>::iterator it = printers.begin(); it != printers.end(); it++)
  414. {
  415. ChufangPrinter newPrinter = *it;
  416. CDialogBuilder builder;
  417. CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(builder.Create(_T("setting_chufang_printer_item.xml"), (UINT)0, NULL, m_pManager));
  418. CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_name")));
  419. pName->SetText(CLewaimaiString::UTF8ToUnicode(newPrinter.name).c_str());
  420. CLabelUI* pIP = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_ip")));
  421. pIP->SetText(CLewaimaiString::UTF8ToUnicode(newPrinter.ip).c_str());
  422. CLabelUI* pGuige = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_guige")));
  423. if (newPrinter.guige == "58")
  424. {
  425. pGuige->SetText(L"58mm");
  426. }
  427. else
  428. {
  429. pGuige->SetText(L"80mm");
  430. }
  431. CLabelUI* pFendan = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_fendan")));
  432. if (newPrinter.fendan == "1")
  433. {
  434. pFendan->SetText(L"是");
  435. }
  436. else
  437. {
  438. pFendan->SetText(L"否");
  439. }
  440. CLabelUI* pFenlei = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_fenlei")));
  441. if (newPrinter.fenlei == "1")
  442. {
  443. pFenlei->SetText(L"是");
  444. }
  445. else
  446. {
  447. pFenlei->SetText(L"否");
  448. }
  449. std::string foodtypeNames = "";
  450. std::string foodtype_ids = newPrinter.fenlei_ids;
  451. //这个是删除掉不存在的type_id之后的
  452. std::string new_foodtype_ids = "";
  453. std::vector<string> ids = CLewaimaiString::Split(foodtype_ids, ",");
  454. for (std::vector<string>::iterator it = ids.begin(); it != ids.end(); it++)
  455. {
  456. std::string name = CSetting::getFoodtypeName((*it));
  457. if (name == "zhipuzi_not_found_xxx")
  458. {
  459. //这种情况是以前保存的分类后来被删掉了
  460. }
  461. else
  462. {
  463. foodtypeNames += name + " ";
  464. new_foodtype_ids += (*it) + ",";
  465. }
  466. }
  467. //删掉不存在的type_id,更新内存和数据库
  468. new_foodtype_ids = new_foodtype_ids.substr(0, new_foodtype_ids.length() - 1);
  469. if (new_foodtype_ids.compare(foodtype_ids) != 0)
  470. {
  471. CSetting::UpdateChufangPrinter(newPrinter.date, newPrinter.name, newPrinter.ip, newPrinter.guige, newPrinter.fendan, newPrinter.fenlei, new_foodtype_ids, true);
  472. }
  473. foodtypeNames = foodtypeNames.substr(0, foodtypeNames.size() - 1);
  474. std::wstring ws_foodtypeNames = CLewaimaiString::UTF8ToUnicode(foodtypeNames);
  475. CLabelUI* pFenleiIds = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_fenlei_ids")));
  476. pFenleiIds->SetText(ws_foodtypeNames.c_str());
  477. //设置标记属性,用于修改时候匹配
  478. pEle->AddCustomAttribute(L"date", CLewaimaiString::UTF8ToUnicode(newPrinter.date).c_str());
  479. pPrinterList->Add(pEle);
  480. }
  481. //初始化展示设置
  482. CCheckBoxUI* box_youtu = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("xianshi_setting_youtu")));
  483. CCheckBoxUI* box_wutu = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("xianshi_setting_wutu")));
  484. if (CSetting::GetParam("setting_xianshi_is_youtu") == "1")
  485. {
  486. box_youtu->Selected(true, false);
  487. box_wutu->Selected(false, false);
  488. }
  489. else
  490. {
  491. box_youtu->Selected(false, false);
  492. box_wutu->Selected(true, false);
  493. }
  494. }
  495. //处理按钮点击类事件
  496. void CSettingPageUI::HandleClickMsg(TNotifyUI& msg)
  497. {
  498. CDuiString name = msg.pSender->GetName();
  499. //开始处理设置页面的
  500. if (name == _T("setting_is_new_waimai_voice"))
  501. {
  502. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_new_waimai_voice")));
  503. //注意这里的IsSelected如果为true,表示的是点击前为true,而不是点击后为true,所以这里设置状态要反过来
  504. if (box->IsSelected())
  505. {
  506. CSetting::SetParam("setting_is_new_waimai_voice", "0");
  507. }
  508. else
  509. {
  510. CSetting::SetParam("setting_is_new_waimai_voice", "1");
  511. }
  512. }
  513. else if (name == _T("setting_is_new_waimai_autoconfirm"))
  514. {
  515. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_new_waimai_autoconfirm")));
  516. if (box->IsSelected())
  517. {
  518. CSetting::SetParam("setting_is_new_waimai_autoconfirm", "0");
  519. }
  520. else
  521. {
  522. CSetting::SetParam("setting_is_new_waimai_autoconfirm", "1");
  523. }
  524. }
  525. else if (name == _T("setting_is_new_waimai_dialog"))
  526. {
  527. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_new_waimai_dialog")));
  528. if (box->IsSelected())
  529. {
  530. CSetting::SetParam("setting_is_new_waimai_dialog", "0");
  531. }
  532. else
  533. {
  534. CSetting::SetParam("setting_is_new_waimai_dialog", "1");
  535. }
  536. }
  537. else if (name == _T("setting_is_new_waimai_printer"))
  538. {
  539. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_new_waimai_printer")));
  540. if (box->IsSelected())
  541. {
  542. CSetting::SetParam("setting_is_new_waimai_printer", "0");
  543. }
  544. else
  545. {
  546. CSetting::SetParam("setting_is_new_waimai_printer", "1");
  547. }
  548. }
  549. else if (name == _T("setting_printer_wangkouk_save_btn"))
  550. {
  551. CEditUI* wangkou_ip = static_cast<CEditUI*>(this->FindSubControl(_T("setting_printer_wangkou_ip")));
  552. wstring ip = wangkou_ip->GetText();
  553. CSetting::SetParam("setting_printer_wangkou_ip", CLewaimaiString::UnicodeToUTF8(ip));
  554. }
  555. else if (name == _T("setting_printer_quhuo_big"))
  556. {
  557. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_quhuo_big")));
  558. if (box->IsSelected())
  559. {
  560. CSetting::SetParam("setting_printer_quhuo_big", "0");
  561. }
  562. else
  563. {
  564. CSetting::SetParam("setting_printer_quhuo_big", "1");
  565. }
  566. }
  567. else if (name == _T("setting_printer_dingdanhao_big"))
  568. {
  569. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_dingdanhao_big")));
  570. if (box->IsSelected())
  571. {
  572. CSetting::SetParam("setting_printer_dingdanhao_big", "0");
  573. }
  574. else
  575. {
  576. CSetting::SetParam("setting_printer_dingdanhao_big", "1");
  577. }
  578. }
  579. else if (name == _T("setting_printer_xiadanshijian_big"))
  580. {
  581. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_xiadanshijian_big")));
  582. if (box->IsSelected())
  583. {
  584. CSetting::SetParam("setting_printer_xiadanshijian_big", "0");
  585. }
  586. else
  587. {
  588. CSetting::SetParam("setting_printer_xiadanshijian_big", "1");
  589. }
  590. }
  591. else if (name == _T("setting_printer_peisongshijian_big"))
  592. {
  593. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_peisongshijian_big")));
  594. if (box->IsSelected())
  595. {
  596. CSetting::SetParam("setting_printer_peisongshijian_big", "0");
  597. }
  598. else
  599. {
  600. CSetting::SetParam("setting_printer_peisongshijian_big", "1");
  601. }
  602. }
  603. else if (name == _T("setting_printer_name_big"))
  604. {
  605. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_name_big")));
  606. if (box->IsSelected())
  607. {
  608. CSetting::SetParam("setting_printer_name_big", "0");
  609. }
  610. else
  611. {
  612. CSetting::SetParam("setting_printer_name_big", "1");
  613. }
  614. }
  615. else if (name == _T("setting_printer_phone_big"))
  616. {
  617. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_phone_big")));
  618. if (box->IsSelected())
  619. {
  620. CSetting::SetParam("setting_printer_phone_big", "0");
  621. }
  622. else
  623. {
  624. CSetting::SetParam("setting_printer_phone_big", "1");
  625. }
  626. }
  627. else if (name == _T("setting_printer_address_big"))
  628. {
  629. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_address_big")));
  630. if (box->IsSelected())
  631. {
  632. CSetting::SetParam("setting_printer_address_big", "0");
  633. }
  634. else
  635. {
  636. CSetting::SetParam("setting_printer_address_big", "1");
  637. }
  638. }
  639. else if (name == _T("setting_printer_shangpin_big"))
  640. {
  641. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_shangpin_big")));
  642. if (box->IsSelected())
  643. {
  644. CSetting::SetParam("setting_printer_shangpin_big", "0");
  645. }
  646. else
  647. {
  648. CSetting::SetParam("setting_printer_shangpin_big", "1");
  649. }
  650. }
  651. else if (name == _T("setting_printer_memo_big"))
  652. {
  653. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_memo_big")));
  654. if (box->IsSelected())
  655. {
  656. CSetting::SetParam("setting_printer_memo_big", "0");
  657. }
  658. else
  659. {
  660. CSetting::SetParam("setting_printer_memo_big", "1");
  661. }
  662. }
  663. else if (name == _T("setting_printer_price_big"))
  664. {
  665. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_price_big")));
  666. if (box->IsSelected())
  667. {
  668. CSetting::SetParam("setting_printer_price_big", "0");
  669. }
  670. else
  671. {
  672. CSetting::SetParam("setting_printer_price_big", "1");
  673. }
  674. }
  675. else if (name == _T("setting_printer_pay_big"))
  676. {
  677. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_printer_pay_big")));
  678. if (box->IsSelected())
  679. {
  680. CSetting::SetParam("setting_printer_pay_big", "0");
  681. }
  682. else
  683. {
  684. CSetting::SetParam("setting_printer_pay_big", "1");
  685. }
  686. }
  687. else if (name == _T("setting_is_new_waimai_biaoqian_printer"))
  688. {
  689. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_new_waimai_biaoqian_printer")));
  690. if (box->IsSelected())
  691. {
  692. CSetting::SetParam("setting_is_new_waimai_biaoqian_printer", "0");
  693. }
  694. else
  695. {
  696. CSetting::SetParam("setting_is_new_waimai_biaoqian_printer", "1");
  697. }
  698. }
  699. else if (name == _T("setting_is_new_waimai_chufang_printer"))
  700. {
  701. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_new_waimai_chufang_printer")));
  702. if (box->IsSelected())
  703. {
  704. CSetting::SetParam("setting_is_new_waimai_chufang_printer", "0");
  705. }
  706. else
  707. {
  708. CSetting::SetParam("setting_is_new_waimai_chufang_printer", "1");
  709. }
  710. }
  711. else if (name == _T("setting_new_chufang_printer_btn"))
  712. {
  713. CChufangSettingWnd* pChufangFrame = new CChufangSettingWnd(1);
  714. if (pChufangFrame != NULL)
  715. {
  716. pChufangFrame->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
  717. pChufangFrame->SetIcon(IDI_ICON_DUILIB);
  718. pChufangFrame->CenterWindow();
  719. UINT ret = pChufangFrame->ShowModal();
  720. if (ret == IDOK)
  721. {
  722. //这个时候是点击保存返回了,厨房打印机的数据已经建立好了,这个时候刷新表格的显示
  723. CListUI* pPrinterList = static_cast<CListUI*>(this->FindSubControl(_T("setting_chufang_printer_list")));
  724. //把最后一个厨房打印机取出来
  725. ChufangPrinter newPrinter = CSetting::getLastChufangPrinter();
  726. CDialogBuilder builder;
  727. CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(builder.Create(_T("setting_chufang_printer_item.xml"), (UINT)0, NULL, m_pManager));
  728. CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_name")));
  729. pName->SetText(CLewaimaiString::UTF8ToUnicode(newPrinter.name).c_str());
  730. CLabelUI* pIP = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_ip")));
  731. pIP->SetText(CLewaimaiString::UTF8ToUnicode(newPrinter.ip).c_str());
  732. CLabelUI* pGuige = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_guige")));
  733. if (newPrinter.guige == "58")
  734. {
  735. pGuige->SetText(L"58mm");
  736. }
  737. else
  738. {
  739. pGuige->SetText(L"80mm");
  740. }
  741. CLabelUI* pFendan = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_fendan")));
  742. if (newPrinter.fendan == "1")
  743. {
  744. pFendan->SetText(L"是");
  745. }
  746. else
  747. {
  748. pFendan->SetText(L"否");
  749. }
  750. CLabelUI* pFenlei = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_fenlei")));
  751. if (newPrinter.fenlei == "1")
  752. {
  753. pFenlei->SetText(L"是");
  754. }
  755. else
  756. {
  757. pFenlei->SetText(L"否");
  758. }
  759. std::string foodtypeNames = "";
  760. std::string foodtype_ids = newPrinter.fenlei_ids;
  761. std::vector<string> ids = CLewaimaiString::Split(foodtype_ids, ",");
  762. for (std::vector<string>::iterator it = ids.begin(); it != ids.end(); it++)
  763. {
  764. std::string name = CSetting::getFoodtypeName((*it));
  765. std::wstring ws_name = CLewaimaiString::UTF8ToUnicode(name);
  766. if (name == "zhipuzi_not_found_xxx")
  767. {
  768. //这种情况是以前保存的分类后来被删掉了
  769. }
  770. else
  771. {
  772. foodtypeNames += name + " ";
  773. }
  774. }
  775. foodtypeNames = foodtypeNames.substr(0, foodtypeNames.size() - 1);
  776. std::wstring ws_foodtypeNames = CLewaimaiString::UTF8ToUnicode(foodtypeNames);
  777. CLabelUI* pFenleiIds = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_fenlei_ids")));
  778. pFenleiIds->SetText(ws_foodtypeNames.c_str());
  779. pEle->AddCustomAttribute(L"date", CLewaimaiString::UTF8ToUnicode(newPrinter.date).c_str());
  780. pPrinterList->Add(pEle);
  781. }
  782. }
  783. }
  784. else if (name == _T("setting_is_auto_start"))
  785. {
  786. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_auto_start")));
  787. if (box->IsSelected())
  788. {
  789. CSetting::SetParam("setting_is_auto_start", "0");
  790. CSystem::cancelAutoStart();
  791. }
  792. else
  793. {
  794. CSetting::SetParam("setting_is_auto_start", "1");
  795. CSystem::autostart();
  796. }
  797. }
  798. else if (name == _T("setting_is_auto_login"))
  799. {
  800. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_auto_login")));
  801. if (box->IsSelected())
  802. {
  803. CSetting::SetParam("setting_is_auto_login", "0");
  804. }
  805. else
  806. {
  807. CSetting::SetParam("setting_is_auto_login", "1");
  808. }
  809. }
  810. else if (name == _T("setting_is_close_min"))
  811. {
  812. CCheckBoxUI* box = static_cast<CCheckBoxUI*>(this->FindSubControl(_T("setting_is_close_min")));
  813. if (box->IsSelected())
  814. {
  815. CSetting::SetParam("setting_is_close_min", "0");
  816. }
  817. else
  818. {
  819. CSetting::SetParam("setting_is_close_min", "1");
  820. }
  821. }
  822. else if (name == _T("setting_chufang_printer_item_update_btn"))
  823. {
  824. CListUI* pPrinterList = static_cast<CListUI*>(this->FindSubControl(_T("setting_chufang_printer_list")));
  825. CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(msg.pSender->GetParent()->GetParent()->GetParent());
  826. wstring date = pEle->GetCustomAttribute(L"date");
  827. CChufangSettingWnd* pChufangFrame = new CChufangSettingWnd(2);
  828. pChufangFrame->SetPrinterDate(CLewaimaiString::UnicodeToUTF8(date));
  829. if (pChufangFrame != NULL)
  830. {
  831. pChufangFrame->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
  832. pChufangFrame->SetIcon(IDI_ICON_DUILIB);
  833. pChufangFrame->CenterWindow();
  834. UINT ret = pChufangFrame->ShowModal();
  835. if (ret == IDOK)
  836. {
  837. //这个时候是点击保存返回了,厨房打印机的数据已经建立好了,这个时候刷新表格的显示
  838. CListUI* pPrinterList = static_cast<CListUI*>(this->FindSubControl(_T("setting_chufang_printer_list")));
  839. ChufangPrinter newPrinter = CSetting::GetChufangPrinter(CLewaimaiString::UnicodeToUTF8(date));
  840. CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_name")));
  841. pName->SetText(CLewaimaiString::UTF8ToUnicode(newPrinter.name).c_str());
  842. CLabelUI* pIP = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_ip")));
  843. pIP->SetText(CLewaimaiString::UTF8ToUnicode(newPrinter.ip).c_str());
  844. CLabelUI* pGuige = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_guige")));
  845. if (newPrinter.guige == "58")
  846. {
  847. pGuige->SetText(L"58mm");
  848. }
  849. else
  850. {
  851. pGuige->SetText(L"80mm");
  852. }
  853. CLabelUI* pFendan = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_fendan")));
  854. if (newPrinter.fendan == "1")
  855. {
  856. pFendan->SetText(L"是");
  857. }
  858. else
  859. {
  860. pFendan->SetText(L"否");
  861. }
  862. CLabelUI* pFenlei = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_fenlei")));
  863. if (newPrinter.fenlei == "1")
  864. {
  865. pFenlei->SetText(L"是");
  866. }
  867. else
  868. {
  869. pFenlei->SetText(L"否");
  870. }
  871. std::string foodtypeNames = "";
  872. std::string foodtype_ids = newPrinter.fenlei_ids;
  873. std::vector<string> ids = CLewaimaiString::Split(foodtype_ids, ",");
  874. for (std::vector<string>::iterator it = ids.begin(); it != ids.end(); it++)
  875. {
  876. std::string name = CSetting::getFoodtypeName((*it));
  877. std::wstring ws_name = CLewaimaiString::UTF8ToUnicode(name);
  878. if (name == "zhipuzi_not_found_xxx")
  879. {
  880. //这种情况是以前保存的分类后来被删掉了
  881. }
  882. else
  883. {
  884. foodtypeNames += name + " ";
  885. }
  886. }
  887. foodtypeNames = foodtypeNames.substr(0, foodtypeNames.size() - 1);
  888. std::wstring ws_foodtypeNames = CLewaimaiString::UTF8ToUnicode(foodtypeNames);
  889. CLabelUI* pFenleiIds = static_cast<CLabelUI*>(pEle->FindSubControl(_T("setting_chufang_printer_item_fenlei_ids")));
  890. pFenleiIds->SetText(ws_foodtypeNames.c_str());
  891. }
  892. }
  893. }
  894. else if (name == _T("setting_chufang_printer_item_delete_btn"))
  895. {
  896. CListUI* pPrinterList = static_cast<CListUI*>(this->FindSubControl(_T("setting_chufang_printer_list")));
  897. CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(msg.pSender->GetParent()->GetParent()->GetParent());
  898. wstring date = pEle->GetCustomAttribute(L"date");
  899. //获得了ID,这个时候从内存和数据库中分别删除对应的记录
  900. CSetting::DelChufangPrinter(CLewaimaiString::UnicodeToUTF8(date));
  901. pPrinterList->Remove(pEle);
  902. }
  903. else if (name == _T("setting_logout"))
  904. {
  905. //退出登录
  906. m_pMainWnd->LoginOut(1);
  907. }
  908. }
  909. //处理option切换事件,radio事件
  910. void CSettingPageUI::HandleSelectChangeMsg(TNotifyUI& msg)
  911. {
  912. CDuiString name = msg.pSender->GetName();
  913. //判断设置中心的tab
  914. if (name == _T("setting_waimai_order_switch"))
  915. {
  916. CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
  917. pControl->SelectItem(0);
  918. }
  919. if (name == _T("setting_diannei_order_switch"))
  920. {
  921. CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
  922. pControl->SelectItem(1);
  923. }
  924. else if (name == _T("setting_printer_switch"))
  925. {
  926. CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
  927. pControl->SelectItem(2);
  928. }
  929. else if (name == _T("setting_biaoqian_printer_switch"))
  930. {
  931. CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
  932. pControl->SelectItem(3);
  933. }
  934. else if (name == _T("setting_chufang_printer_switch"))
  935. {
  936. CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
  937. pControl->SelectItem(4);
  938. }
  939. else if (name == _T("setting_xianshi_switch"))
  940. {
  941. CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
  942. pControl->SelectItem(5);
  943. }
  944. else if (name == _T("setting_system_switch"))
  945. {
  946. CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
  947. pControl->SelectItem(6);
  948. }
  949. else if (name == _T("setting_system_about"))
  950. {
  951. CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(this->FindSubControl(_T("setting_switch")));
  952. pControl->SelectItem(7);
  953. }
  954. else if (name == _T("xianshi_setting_youtu"))
  955. {
  956. CSetting::SetParam("setting_xianshi_is_youtu", "1");
  957. }
  958. else if (name == _T("xianshi_setting_wutu"))
  959. {
  960. CSetting::SetParam("setting_xianshi_is_youtu", "0");
  961. }
  962. }
  963. //处理下拉框、radio的切换事件
  964. void CSettingPageUI::HandleItemSelectMsg(TNotifyUI& msg)
  965. {
  966. CDuiString name = msg.pSender->GetName();
  967. if (name == _T("setting_printer_guige"))
  968. {
  969. CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_printer_guige")));
  970. if (com->GetCurSel() == 0)
  971. {
  972. CSetting::SetParam("setting_printer_guige", "58");
  973. }
  974. else
  975. {
  976. CSetting::SetParam("setting_printer_guige", "80");
  977. }
  978. }
  979. else if (name == _T("setting_printer_lianshu"))
  980. {
  981. CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_printer_lianshu")));
  982. if (com->GetCurSel() == 0)
  983. {
  984. CSetting::SetParam("setting_printer_lianshu", "1");
  985. }
  986. else if (com->GetCurSel() == 1)
  987. {
  988. CSetting::SetParam("setting_printer_lianshu", "2");
  989. }
  990. else if (com->GetCurSel() == 2)
  991. {
  992. CSetting::SetParam("setting_printer_lianshu", "3");
  993. }
  994. else if (com->GetCurSel() == 3)
  995. {
  996. CSetting::SetParam("setting_printer_lianshu", "4");
  997. }
  998. }
  999. else if (name == _T("setting_printer_leixing"))
  1000. {
  1001. CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_printer_leixing")));
  1002. CHorizontalLayoutUI* usb_layout = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(_T("setting_printer_usb_layout")));
  1003. CHorizontalLayoutUI* wangkou_layout = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(_T("setting_printer_wangkou_layout")));
  1004. if (com->GetCurSel() == 0)
  1005. {
  1006. CSetting::SetParam("setting_printer_leixing", "auto");
  1007. usb_layout->SetVisible(false);
  1008. wangkou_layout->SetVisible(false);
  1009. }
  1010. else if (com->GetCurSel() == 1)
  1011. {
  1012. CSetting::SetParam("setting_printer_leixing", "usb");
  1013. //显示usb布局
  1014. usb_layout->SetVisible(true);
  1015. wangkou_layout->SetVisible(false);
  1016. //usb下拉框默认选中
  1017. CComboUI* com_usb = static_cast<CComboUI*>(this->FindSubControl(_T("setting_printer_usb")));
  1018. com_usb->RemoveAll();
  1019. //数据库中保存的之前的设置
  1020. std::string setting_printer_usb = CSetting::GetParam("setting_printer_usb");
  1021. std::wstring ws_setting_printer_usb = CLewaimaiString::UTF8ToUnicode(setting_printer_usb);
  1022. std::vector<std::wstring> usb_devices = CPosPrinterQueue::GetInstance()->getUsbDevices();
  1023. int i = 0;
  1024. int nSelect = -1;
  1025. for (std::vector<std::wstring>::iterator it = usb_devices.begin(); it != usb_devices.end(); it++)
  1026. {
  1027. CListLabelElementUI* elem = new CListLabelElementUI();
  1028. elem->SetText((*it).c_str());
  1029. com_usb->Add(elem);
  1030. if (*it == ws_setting_printer_usb)
  1031. {
  1032. nSelect = i;
  1033. }
  1034. i++;
  1035. }
  1036. com_usb->SetInternVisible(true);
  1037. com_usb->SelectItem(nSelect, false, false);
  1038. com_usb->SetText(CLewaimaiString::UTF8ToUnicode(setting_printer_usb).c_str());
  1039. }
  1040. else if (com->GetCurSel() == 2)
  1041. {
  1042. CSetting::SetParam("setting_printer_leixing", "bingkou");
  1043. usb_layout->SetVisible(false);
  1044. wangkou_layout->SetVisible(false);
  1045. }
  1046. else if (com->GetCurSel() == 3)
  1047. {
  1048. CSetting::SetParam("setting_printer_leixing", "chuankou");
  1049. usb_layout->SetVisible(false);
  1050. wangkou_layout->SetVisible(false);
  1051. }
  1052. else if (com->GetCurSel() == 4)
  1053. {
  1054. CSetting::SetParam("setting_printer_leixing", "wangkou");
  1055. usb_layout->SetVisible(false);
  1056. wangkou_layout->SetVisible(true);
  1057. std::string setting_printer_wangkou_ip = CSetting::GetParam("setting_printer_wangkou_ip");
  1058. CEditUI* ip_edit = static_cast<CEditUI*>(this->FindSubControl(_T("setting_printer_wangkou_ip")));
  1059. ip_edit->SetText(CLewaimaiString::UTF8ToUnicode(setting_printer_wangkou_ip).c_str());
  1060. }
  1061. }
  1062. else if (name == _T("setting_printer_usb"))
  1063. {
  1064. CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_printer_usb")));
  1065. wstring usb_device = com->GetText();
  1066. CSetting::SetParam("setting_printer_usb", CLewaimaiString::UnicodeToUTF8(usb_device));
  1067. }
  1068. else if (name == _T("setting_biaoqian_printer_usb"))
  1069. {
  1070. CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_biaoqian_printer_usb")));
  1071. wstring usb_device = com->GetText();;
  1072. CSetting::SetParam("setting_biaoqian_printer_usb", CLewaimaiString::UnicodeToUTF8(usb_device));
  1073. }
  1074. else if (name == _T("setting_biaoqian_printer_guige"))
  1075. {
  1076. CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_biaoqian_printer_guige")));
  1077. if (com->GetCurSel() == 0)
  1078. {
  1079. CSetting::SetParam("setting_biaoqian_printer_guige", "40*30mm");
  1080. }
  1081. else if (com->GetCurSel() == 1)
  1082. {
  1083. CSetting::SetParam("setting_biaoqian_printer_guige", "35*25mm");
  1084. }
  1085. else if (com->GetCurSel() == 2)
  1086. {
  1087. CSetting::SetParam("setting_biaoqian_printer_guige", "30*25mm");
  1088. }
  1089. else if (com->GetCurSel() == 3)
  1090. {
  1091. CSetting::SetParam("setting_biaoqian_printer_guige", "30*20mm");
  1092. }
  1093. }
  1094. else if (name == _T("setting_biaoqian_printer_fangxiang"))
  1095. {
  1096. CComboUI* com = static_cast<CComboUI*>(this->FindSubControl(_T("setting_biaoqian_printer_fangxiang")));
  1097. if (com->GetCurSel() == 0)
  1098. {
  1099. CSetting::SetParam("setting_biaoqian_printer_fangxiang", "1");
  1100. }
  1101. else if (com->GetCurSel() == 1)
  1102. {
  1103. CSetting::SetParam("setting_biaoqian_printer_fangxiang", "0");
  1104. }
  1105. }
  1106. }
  1107. //处理编辑框输入内容改变事件
  1108. void CSettingPageUI::HandleTextChangedMsg(TNotifyUI& msg)
  1109. {
  1110. }
  1111. //处理扫码枪捕捉到的扫码信息
  1112. void CSettingPageUI::HandleTextCapture(std::string content)
  1113. {
  1114. }