|
|
@@ -64,11 +64,8 @@ void CGengduoPageUI::HandleClickMsg(TNotifyUI& msg)
|
|
|
}
|
|
|
else if (name == L"changyong_reset")
|
|
|
{
|
|
|
- ChongzhiPaixu(true);
|
|
|
- }
|
|
|
- else if (name == L"gengduo_reset")
|
|
|
- {
|
|
|
- ChongzhiPaixu(false);
|
|
|
+ //重置排序:一个按钮负责两组,同时恢复常用功能和更多功能的默认排序
|
|
|
+ ChongzhiPaixu();
|
|
|
}
|
|
|
else if (name == L"gengduo_item_btn")
|
|
|
{
|
|
|
@@ -872,65 +869,24 @@ void CGengduoPageUI::GengduoJiaohuan(CControlUI* pSender)
|
|
|
m_pMainWnd->UpdateGongnengDaohang();
|
|
|
}
|
|
|
|
|
|
-//重置排序:按默认顺序重排,成员一个不动
|
|
|
-//⚠️ 不能直接写回 CSetting 的初始默认值 —— CMainWnd 会按餐饮/零售业态增删成员,
|
|
|
-// 写死默认串会覆盖掉这些调整。这里保留当前成员,只恢复它们的相对顺序。
|
|
|
-void CGengduoPageUI::ChongzhiPaixu(bool isChangyong)
|
|
|
+//重置排序:把「常用功能」和「更多功能」都恢复成默认排序(由上方那一个按钮统一触发)
|
|
|
+//这里就是直接写回初始默认值。之所以安全:CMainWnd::UpdateGongnengString() 对这两串
|
|
|
+//只做「补齐缺失项」,从不删除成员,而默认的更多列表已经包含它会补齐的全部 5 项
|
|
|
+//(zhengcan / saomashouyin / shoukuan / yubaozhuangbiaoqian / huhuanqucan),
|
|
|
+//所以写回默认串之后不会再被它改动。
|
|
|
+void CGengduoPageUI::ChongzhiPaixu()
|
|
|
{
|
|
|
- static const char* kOrder[] = {
|
|
|
- "diandan", "dingdan", "huiyuan", "baobiao", "jiaoban", "setting",
|
|
|
- "shangpin", "kucun", "caigou", "zhengcan", "saomashouyin", "shoukuan", "yubaozhuangbiaoqian"
|
|
|
- };
|
|
|
- int nOrder = sizeof(kOrder) / sizeof(kOrder[0]);
|
|
|
-
|
|
|
- std::vector<std::string> cur = CLewaimaiString::Split(isChangyong ? m_changyongString : m_gengduoString, ",");
|
|
|
-
|
|
|
- std::string out;
|
|
|
- for (int i = 0; i < nOrder; i++)
|
|
|
- {
|
|
|
- for (std::vector<std::string>::iterator it = cur.begin(); it != cur.end(); )
|
|
|
- {
|
|
|
- if (*it == kOrder[i])
|
|
|
- {
|
|
|
- if (!out.empty())
|
|
|
- {
|
|
|
- out += ",";
|
|
|
- }
|
|
|
- out += *it;
|
|
|
- it = cur.erase(it);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- it++;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //默认顺序表之外的成员(业态专属)保持原相对顺序追加到末尾
|
|
|
- for (std::vector<std::string>::iterator it = cur.begin(); it != cur.end(); it++)
|
|
|
- {
|
|
|
- if (it->empty())
|
|
|
- {
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (!out.empty())
|
|
|
- {
|
|
|
- out += ",";
|
|
|
- }
|
|
|
- out += *it;
|
|
|
- }
|
|
|
-
|
|
|
- if (isChangyong)
|
|
|
- {
|
|
|
- m_changyongString = out;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- m_gengduoString = out;
|
|
|
- }
|
|
|
+ //默认排序:与 CSetting.cpp 里这两个参数的初始默认值完全一致
|
|
|
+ m_changyongString = "diandan,dingdan,huiyuan,shangpin,kucun,baobiao,jiaoban,setting";
|
|
|
+ m_gengduoString = "zhengcan,saomashouyin,shoukuan,yubaozhuangbiaoqian,huhuanqucan,caigou";
|
|
|
|
|
|
Save();
|
|
|
+
|
|
|
+ //按新的字符串重建控件
|
|
|
Refresh();
|
|
|
+
|
|
|
+ //同步刷新左侧功能导航
|
|
|
+ m_pMainWnd->UpdateGongnengDaohang();
|
|
|
}
|
|
|
|
|
|
void CGengduoPageUI::Save()
|