|
|
@@ -6,70 +6,102 @@
|
|
|
|
|
|
void CDiandanNatureWnd::Init()
|
|
|
{
|
|
|
- if (m_fooditemUI->GetIsTaocan())
|
|
|
+ bool is_taocan;
|
|
|
+ CFood foodinfo;
|
|
|
+ CFoodpackage foodpackageinfo;
|
|
|
+
|
|
|
+ if (m_mode == 1)
|
|
|
{
|
|
|
- //当前展示的是套餐
|
|
|
+ //点击商品弹框
|
|
|
+ is_taocan = m_fooditemUI->GetIsTaocan();
|
|
|
+ foodinfo = m_fooditemUI->GetFoodInfo();
|
|
|
+ foodpackageinfo = m_fooditemUI->GetFoodpackageInfo();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- //当前展示的是普通商品
|
|
|
- std::string nature = m_fooditemUI->GetFoodInfo().nature;
|
|
|
+ //修改规格属性弹框
|
|
|
+ is_taocan = m_DiandanOrderItem.GetIsTaocan();
|
|
|
+ foodinfo = m_DiandanOrderItem.GetFoodInfo();
|
|
|
+ foodpackageinfo = m_DiandanOrderItem.GetFoodpackageInfo();
|
|
|
+ }
|
|
|
|
|
|
- rapidjson::Document document;
|
|
|
- document.Parse(nature.c_str());
|
|
|
+ //当前展示的是普通商品
|
|
|
+ std::string nature = foodinfo.nature;
|
|
|
|
|
|
- if (document.HasParseError())
|
|
|
- {
|
|
|
- //属性json报错,直接不处理了
|
|
|
- Close(IDCANCEL);
|
|
|
- return;
|
|
|
- }
|
|
|
+ rapidjson::Document document;
|
|
|
+ document.Parse(nature.c_str());
|
|
|
|
|
|
- CVerticalLayoutUI* pNatureLayout = static_cast<CVerticalLayoutUI*>(this->m_pm.FindControl(_T("diandan_nature_layout")));
|
|
|
+ if (document.HasParseError())
|
|
|
+ {
|
|
|
+ //属性json报错,直接不处理了
|
|
|
+ Close(IDCANCEL);
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
- rapidjson::Value& data = document;
|
|
|
- for (rapidjson::SizeType i = 0; i < data.Size(); ++i)
|
|
|
- {
|
|
|
- //创建一个属性控件
|
|
|
- CDialogBuilder builder;
|
|
|
- CDialogBuilderCallbackEx cb;
|
|
|
- CDiandanNatureItemUI* pItem = static_cast<CDiandanNatureItemUI*>(builder.Create(_T("diandan_nature_item.xml"), (UINT)0, &cb, &m_pm));
|
|
|
+ CVerticalLayoutUI* pNatureLayout = static_cast<CVerticalLayoutUI*>(this->m_pm.FindControl(_T("diandan_nature_layout")));
|
|
|
+
|
|
|
+ std::vector<FoodNatureSelectValue> natureSelectedArray;
|
|
|
+ if (m_mode == 2)
|
|
|
+ {
|
|
|
+ //这个是修改属性才有,要把属性弹框初始化为这个里面的选项
|
|
|
+ natureSelectedArray = m_DiandanOrderItem.natureSelectedArray;
|
|
|
+ }
|
|
|
|
|
|
- //要先Add,子控件才能调用SetPos
|
|
|
- pNatureLayout->Add(pItem);
|
|
|
+ rapidjson::Value& data = document;
|
|
|
+ for (rapidjson::SizeType i = 0; i < data.Size(); ++i)
|
|
|
+ {
|
|
|
+ //创建一个属性控件
|
|
|
+ CDialogBuilder builder;
|
|
|
+ CDialogBuilderCallbackEx cb;
|
|
|
+ CDiandanNatureItemUI* pItem = static_cast<CDiandanNatureItemUI*>(builder.Create(_T("diandan_nature_item.xml"), (UINT)0, &cb, &m_pm));
|
|
|
|
|
|
- m_natureitems.push_back(pItem);
|
|
|
+ //要先Add,子控件才能调用SetPos
|
|
|
+ pNatureLayout->Add(pItem);
|
|
|
|
|
|
- //这里面的是属性名字信息
|
|
|
- rapidjson::Value& natureinfo = data[i];
|
|
|
+ m_natureitems.push_back(pItem);
|
|
|
|
|
|
- std::string name = natureinfo["name"].GetString();
|
|
|
- std::string limit_choose = natureinfo["limit_choose"].GetString();
|
|
|
+ //这里面的是属性名字信息
|
|
|
+ rapidjson::Value& natureinfo = data[i];
|
|
|
|
|
|
- rapidjson::Value& value = natureinfo["value"];
|
|
|
+ std::string name = natureinfo["name"].GetString();
|
|
|
+ std::string limit_choose = natureinfo["limit_choose"].GetString();
|
|
|
|
|
|
- for (rapidjson::SizeType j = 0; j < value.Size(); ++j)
|
|
|
- {
|
|
|
- FoodNatureValue newvalueItem;
|
|
|
+ rapidjson::Value& value = natureinfo["value"];
|
|
|
+
|
|
|
+ for (rapidjson::SizeType j = 0; j < value.Size(); ++j)
|
|
|
+ {
|
|
|
+ FoodNatureValue newvalueItem;
|
|
|
+
|
|
|
+ newvalueItem.name = value[j]["name"].GetString();
|
|
|
+ newvalueItem.value = value[j]["value"].GetInt();
|
|
|
|
|
|
- newvalueItem.name = value[j]["name"].GetString();
|
|
|
- newvalueItem.value = value[j]["value"].GetInt();
|
|
|
+ pItem->addNatureValue(newvalueItem);
|
|
|
+ }
|
|
|
|
|
|
- pItem->addNatureValue(newvalueItem);
|
|
|
- }
|
|
|
+ pItem->SetNatureName(name);
|
|
|
+ pItem->SetNatureNameNum(i);
|
|
|
|
|
|
- pItem->SetNatureName(name);
|
|
|
- pItem->SetNatureNameNum(i);
|
|
|
- pItem->ShowNatureValue();
|
|
|
+ if (m_mode == 1)
|
|
|
+ {
|
|
|
+ pItem->ShowNatureValue(0);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ pItem->ShowNatureValue(natureSelectedArray[i].nature_select_index);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void CDiandanNatureWnd::SetFooditemUI(CDiandanFoodItemUI* item)
|
|
|
+void CDiandanNatureWnd::SetFoodItemUI(CDiandanFoodItemUI* item)
|
|
|
{
|
|
|
m_fooditemUI = item;
|
|
|
}
|
|
|
|
|
|
+void CDiandanNatureWnd::SetDiandanOrderItem(CDiandanOrderItem item)
|
|
|
+{
|
|
|
+ m_DiandanOrderItem = item;
|
|
|
+}
|
|
|
+
|
|
|
std::vector<FoodNatureSelectValue> CDiandanNatureWnd::GetNatureSelectedArray()
|
|
|
{
|
|
|
return m_NatureSelectedArray;
|