From 3d5183450ce30a21c5e89e3ec9b45c553372036e Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期四, 31 十月 2024 16:55:08 +0800
Subject: [PATCH] update
---
jrj/project/business/Enquiry/Entity.Product.Select.cpp | 376 +++++++++++++++++++++++++++--------------------------
1 files changed, 193 insertions(+), 183 deletions(-)
diff --git a/jrj/project/business/Enquiry/Entity.Product.Select.cpp b/jrj/project/business/Enquiry/Entity.Product.Select.cpp
index e992a08..4523de6 100644
--- a/jrj/project/business/Enquiry/Entity.Product.Select.cpp
+++ b/jrj/project/business/Enquiry/Entity.Product.Select.cpp
@@ -17,7 +17,7 @@
class __declspec(dllexport) EntityProductSelectWin : public xwin
{
public:
- int hObject = 0;
+ HWND hObject = 0;
xstring CustomerID;
xstring SupplierID;
xstring m_customer;
@@ -28,8 +28,8 @@
xdwgrid dwc_list;
//产品缓存对象
- xdataset g_xdoc_product;
- xdataset g_xdoc_shoppingcart;
+ //xdataset dw_list;
+ //xdataset dwc_list;
xcombobox cbx_goodscar;
//是否多选
@@ -63,7 +63,7 @@
{
KXMLDOMElement e = nlist.item(i);
xstring name = e.getAttribute(L"name");
- xcombobox::AddItem(xc.GetId(), name);
+ xcombobox::AddItem(xc.GetHWND(), name);
}
return 1;
}
@@ -100,8 +100,8 @@
KXMLDOMElement OnGetCarListRowElement(int row = 0)
{
if (row < 1) row = dwc_list.GetRow();
- if (row < 1 || row > dwc_list.GetRowCount()) return 0;
- KXMLDOMElement e = g_xdoc_shoppingcart.getRowElement(L"data/Item", row);
+ if (row < 1 || row > dwc_list.GetRowCount()) return KXMLDOMElement();
+ KXMLDOMElement e = dwc_list.GetRowElement(row);
return e;
}
@@ -114,7 +114,7 @@
xml xp ;
xaserverarg arg_pic;
- arg_pic.setNativePointer(arg_pic.CreateInstance());
+
arg_pic.AddArg(L"SKUID", skuid);
if (xurl::get(L"/sale/data/ProductLibrary3/pref/picture/imagelistSKU", arg_pic.GetString(), xp) != 1)
{
@@ -151,7 +151,7 @@
xml xp ;
xaserverarg arg_pic;
- arg_pic.setNativePointer(arg_pic.CreateInstance());
+
arg_pic.AddArg(L"SKUID", skuid);
arg_pic.AddArg(L"CustomerID", m_customer);
arg_pic.AddArg(L"CustomerItemNo", customerItemNo);
@@ -189,7 +189,7 @@
xs.SetContent(html);
xs.Redraw();
- xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
+ xstring id = dw_list.GetItemString(row, L"@guid");
OnShowImage(id);
return 1;
@@ -204,10 +204,10 @@
xstring html = makeGoodscarHtml(row);
xs.SetContent(html);
xs.Redraw();
- xstring id = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID");
+ xstring id = dwc_list.GetItemString(row, L"SKUID");
if (m_customer != L"")
{
- xstring customerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CustomerItemNo");
+ xstring customerItemNo = dwc_list.GetItemString(row, L"CustomerItemNo");
OnShowImage(id, customerItemNo);
}
else
@@ -218,18 +218,22 @@
return 1;
}
+#if 0
+
+
+
int DeleteRow(int row)
{
int IDOK = 1;
int MB_OKCANCEL = 1;
int MB_ICONQUESTION = 32;
if (MessageBox(GetHWND(), L"确认删除指定的项,删除后将不能恢复?", L"提示", MB_OKCANCEL | MB_ICONQUESTION) != IDOK) return 1;
- xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
+ xstring id = dw_list.GetItemString(row, L"@guid");
if (ProductLibraryView::DeleteItem(id) == 1) dw_list.DeleteRow(0);
return 1;
}
-
+#endif // 0
int SetSelectState(xdwgrid dw_obj, int state)
{
dw_obj.SetSelectionMode(3);
@@ -279,9 +283,9 @@
if (row < 1) row = dw_list.GetRow();
if (row < 1 || row > dw_list.GetRowCount()) return 0;
- KXMLDOMElement e = g_xdoc_product.getRowElement(L"data/Item", row);
- xstring skuid = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
- xstring SKUNo = g_xdoc_product.getData(0, L"data/Item", row, L"SKUNo");
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring skuid = dw_list.GetItemString(row, L"@guid");
+ xstring SKUNo = dw_list.GetItemString(row, L"SKUNo");
xstring id = ViewObject::GetGuid();
xstring ret1 = Up(id);
if (ret1 == L"-1") return -1;
@@ -302,18 +306,19 @@
xml x ;
x.loadXML(L"<Item update.new='1' update.modify='1' guid='" + id + L"'>" +
- "<ProductPictureID>" + id + L"</ProductPictureID>" +
- "<OriginFile>" + originfile + L"</OriginFile>" +
- "<FileExt>" + ext + L"</FileExt>" +
- "<SKUID>" + skuid + L"</SKUID>" +
- "<Name>[" + SKUNo.trim() + L"]</Name>" +
- "<FileName>" + id + L".jpg</FileName>" +
- "</Item>"
+ L"<ProductPictureID>" + id + L"</ProductPictureID>" +
+ L"<OriginFile>" + originfile + L"</OriginFile>" +
+ L"<FileExt>" + ext + L"</FileExt>" +
+ L"<SKUID>" + skuid + L"</SKUID>" +
+ L"<Name>[" + SKUNo.trim() + L"]</Name>" +
+ L"<FileName>" + id + L".jpg</FileName>" +
+ L"</Item>"
);
xaserverarg arg;
arg.AddArg(L"content", x.xml());
+ alert(x.xml());
if (xurl::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
{
alert(x.text());
@@ -331,11 +336,11 @@
if (row < 1) row = dwc_list.GetRow();
if (row < 1 || row > dwc_list.GetRowCount()) return 0;
- KXMLDOMElement e = g_xdoc_shoppingcart.getRowElement(L"data/Item", row);
- xstring skuid = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID");
- xstring SKUNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID/@__displaystring");
+ KXMLDOMElement e = dwc_list.GetRowElement(row);
+ xstring skuid = dwc_list.GetItemString(row, L"SKUID");
+ xstring SKUNo = dwc_list.GetItemString(row, L"SKUID/@__displaystring");
CustomerID = m_customer;
- xstring CustomerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CustomerItemNo");
+ xstring CustomerItemNo = dwc_list.GetItemString(row, L"CustomerItemNo");
xstring id = ViewObject::GetGuid();
xstring ret1 = Up(id);
if (ret1 == L"-1") return -1;
@@ -355,15 +360,15 @@
xml x ;
x.loadXML(L"<Item update.new='1' update.modify='1' guid='" + id + L"'>" +
- "<ProductPictureID>" + id + L"</ProductPictureID>" +
- "<OriginFile>" + originfile + L"</OriginFile>" +
- "<FileExt>" + ext + L"</FileExt>" +
- "<SKUID>" + skuid + L"</SKUID>" +
- "<CustomerItemNo>" + CustomerItemNo + L"</CustomerItemNo>" +
- "<CustomerID>" + CustomerID + L"</CustomerID>" +
- "<Name>[" + SKUNo.trim() + L"]</Name>" +
- "<FileName>" + id + L".jpg</FileName>" +
- "</Item>"
+ L"<ProductPictureID>" + id + L"</ProductPictureID>" +
+ L"<OriginFile>" + originfile + L"</OriginFile>" +
+ L"<FileExt>" + ext + L"</FileExt>" +
+ L"<SKUID>" + skuid + L"</SKUID>" +
+ L"<CustomerItemNo>" + CustomerItemNo + L"</CustomerItemNo>" +
+ L"<CustomerID>" + CustomerID + L"</CustomerID>" +
+ L"<Name>[" + SKUNo.trim() + L"]</Name>" +
+ L"<FileName>" + id + L".jpg</FileName>" +
+ L"</Item>"
);
xaserverarg arg;
@@ -420,10 +425,10 @@
dwc_list.Redraw();
}
- xstring skuid = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID");
- xstring SKUNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID/@__displaystring");
+ xstring skuid = dwc_list.GetItemString(row, L"SKUID");
+ xstring SKUNo = dwc_list.GetItemString(row, L"SKUID/@__displaystring");
CustomerID = m_customer;
- xstring CustomerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CustomerItemNo");
+ xstring CustomerItemNo = dwc_list.GetItemString(row, L"CustomerItemNo");
OnShowImage(skuid, CustomerItemNo);
return 1;
@@ -469,7 +474,7 @@
dw_list.Redraw();
}
- KXMLDOMElement e1 = g_xdoc_product.getRowElement(L"data/Item", row);
+ KXMLDOMElement e1 = dw_list.GetRowElement(row);
xstring skuid = e1.getAttribute(L"guid");
OnShowImage(skuid);
@@ -509,21 +514,21 @@
xstring makeHtml(int row)
{
- xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
+ xstring id = dw_list.GetItemString(row, L"@guid");
xml x = GetGoodsPropList(id);
xml x1 = GetGoodsPropListEx(id);
xstring html = L"<html><style> .text{ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>";
html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >编号:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, L"No") +
- "</span> <span style='font-weight:700;width:50;font-size:10pt' >类项:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, L"RefNo") +
- "</span></div>";
+ L"</span> <span style='font-weight:700;width:50;font-size:10pt' >类项:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, L"RefNo") +
+ L"</span></div>";
html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >货号:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, L"GoodsNo") +
- "</span></div>";
+ L"</span></div>";
html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >品名:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, L"CName") +
- "</span></div>";
+ L"</span></div>";
if (dw_list.GetItemString(row, L"CSpec") != L"")
html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >规格:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, L"CSpec") +
- "</span></div>";
+ L"</span></div>";
KXMLDOMNodeList fieldsEx = x1.selectNodes(L"data/field");
xstring ls_detail = L"";
@@ -541,14 +546,14 @@
{
name = fieldsEx.item(i).selectSingleNode(L"@name").text();
label = fieldsEx.item(i).selectSingleNode(L"@label").text();
- ls_item += L"<td>" + label + L"</td>" + L"<td style='text-align:center'>" + g_xdoc_product.getData(0, L"data/Item", row, name) + L"</td>";
+ ls_item += L"<td>" + label + L"</td>" + L"<td style='text-align:center'>" + dw_list.GetItemString(row, name) + L"</td>";
cnt++;
i++;
if (i == len)break;
}
ls_detail += L"<tr>" + ls_item + L"</tr>";
}
- html += L"<div style='margin-left:8px;margin-right:16px;'>" +
+ html += (xstring)L"<div style='margin-left:8px;margin-right:16px;'>" +
+L"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>"
+ ls_detail
+ L"</table>"
@@ -577,24 +582,24 @@
if (i >= len)count = 2;
continue;
}
- else if (g_xdoc_product.getData(0, L"data/Item", row, name) == L"")
+ else if (dw_list.GetItemString(row, name) == L"")
{
KXMLDOMNodeList options = fields.item(i).selectNodes(L"item");
int tlen = options.length();
xstring terms = L"";
for (int k = 0; k < tlen; k++)
{
- if (options.item(k).text)
+ if (options.item(k).text())
{
if (k > 0) terms += L", L";
- terms += L"[" + options.item(k).text + L"]";
+ terms += L"[" + xstring(options.item(k).text()) + L"]";
}
}
ls_star += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >" + label + L"*:</span><span style='width:90;font-size:10pt'>" + terms + L"</span></div>";
}
else
{
- ls_item = L"<td>" + label + L"</td>" + L"<td>" + g_xdoc_product.getData(0, L"data/Item", row, name) + L"</td>";
+ ls_item = L"<td>" + label + L"</td>" + L"<td>" + dw_list.GetItemString(row, name) + L"</td>";
count++;
}
i++;
@@ -604,7 +609,7 @@
ls_detail += ls_item;
}
- html += L"<div style='margin-left:8px;margin-right:16px;'>" +
+ html += (xstring)L"<div style='margin-left:8px;margin-right:16px;'>" +
+L"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>"
+ ls_detail
+ L"</table>"
@@ -623,10 +628,10 @@
html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row, L"PackTerm") + L"</span></div>";
}
- if (g_xdoc_product.getData(0, L"data/Item", row, L"Remark") != L"" && id == L"23A8BBA2-DEF1-4C00-978E-646151A6082E")
+ if (dw_list.GetItemString(row, L"Remark") != L"" && id == L"23A8BBA2-DEF1-4C00-978E-646151A6082E")
{
html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >备注:</span></div>";
- html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + g_xdoc_product.getData(0, L"data/Item", row, L"Remark") + L"</span></div>";
+ html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row, L"Remark") + L"</span></div>";
}
html += L"<div style='height:24px'/>";
@@ -653,18 +658,18 @@
xstring html = L"<html><style> .text{ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>";
html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >编号:</span><span style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row, L"No") +
- "</span></div>";
+ L"</span></div>";
html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >品名:</span><span style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row, L"CName") +
- "</span></div>";
+ L"</span></div>";
html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >规格:</span><span style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row, L"CSpec") +
- "</span></div>";
+ L"</span></div>";
KXMLDOMNodeList fields = x.selectNodes(L"data/field");
int len = fields.length();
- html += L"<table>" +
- "<colgroup span='1' width='80'/>" +
- "<colgroup span='1' width='120'/>" +
- "<colgroup span='1' width='420'/>";
+ html += (xstring)L"<table>" +
+ L"<colgroup span='1' width='80'/>" +
+ L"<colgroup span='1' width='120'/>" +
+ L"<colgroup span='1' width='420'/>";
html += L"<tr>";
html += L"<td style='text-align:center'>编号</td><td style='text-align:center'>项目</td><td style='text-align:center'>内容</td>";
html += L"</tr>";
@@ -674,26 +679,26 @@
xstring label = fields.item(i).selectSingleNode(L"@label").text();
html += L"<tr>";
if (i == 0)
- html += L"<td rowspan='" + len.toString() + L"'>" + No + L"</td><td >" + label + L"</td><td >" + L"</td>";
+ html += L"<td rowspan='" + xstring(len) + L"'>" + No + L"</td><td >" + label + L"</td><td >" + L"</td>";
else
- html += L"<td >" + label + L"</td><td >" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, name) + L"</td>";
+ html += L"<td >" + label + L"</td><td >" + dwc_list.GetItemString(row, name) + L"</td>";
html += L"</tr>";
}
html += L"<tr>";
- html += L"<td rowspan='3'>" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"PackCode") + L"</td><td >包装方式</td><td >" +
- g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CPack") + L"</td>";
+ html += L"<td rowspan='3'>" + dwc_list.GetItemString(row, L"PackCode") + L"</td><td >包装方式</td><td >" +
+ dwc_list.GetItemString(row, L"CPack") + L"</td>";
html += L"</tr>";
html += L"<tr height='48'>";
- html += L"<td >包装要求</td><td >" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"PackQualityTerm") + L"</td>";
+ html += L"<td >包装要求</td><td >" + dwc_list.GetItemString(row, L"PackQualityTerm") + L"</td>";
html += L"</tr>";
html += L"<tr>";
html += L"<td >侧唛</td><td ></td>";
html += L"</tr>";
html += L"<tr height='72'>";
- html += L"<td>" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"QualityCode") + L"</td><td >质量要求</td><td >" +
- g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"QualityTerm") + L"</td>";
+ html += L"<td>" + dwc_list.GetItemString(row, L"QualityCode") + L"</td><td >质量要求</td><td >" +
+ dwc_list.GetItemString(row, L"QualityTerm") + L"</td>";
html += L"</tr>";
html += L"</table>";
@@ -722,19 +727,19 @@
if (dwc_list.GetItemString(row, L"pic") != L"*")
{
- alert(L"第" + row.toString() + L"行请增加产品图片!");
+ alert(L"第" + xstring(row) + L"行请增加产品图片!");
return 1;
}
row = dwc_list.GetNextSelectRow(row + 1);
}
}
else {
- row = dw_list.GetNextSelectRow(1);
+ int row = dw_list.GetNextSelectRow(1);
while (row > 0)
{
if (dw_list.GetItemString(row, L"pic") != L"*")
{
- alert(L"第" + row.toString() + L"行请增加产品图片!");
+ alert(L"第" + xstring(row) + L"行请增加产品图片!");
return 1;
}
row = dw_list.GetNextSelectRow(row + 1);
@@ -748,7 +753,7 @@
dw_list.Redraw();
impStr = L"";
- SendMessage(hObject, 0x401, ls_nos, 0);
+ SendMessage(hObject, 0x401, (LPARAM)ls_nos.c_str(), 0);
alert(L"转入完成!");
return 1;
@@ -756,7 +761,7 @@
int OnSearch()
{
- int hItem = tv_folder.GetSelectedItem();
+ HTREEITEM hItem = tv_folder.GetSelectedItem();
return RetrieveItem(hItem);
}
@@ -766,7 +771,7 @@
int MB_OKCANCEL = 1;
int MB_ICONQUESTION = 32;
if (MessageBox(GetHWND(), L"确认删除指定的项,删除后将不能恢复?", L"提示", MB_OKCANCEL | MB_ICONQUESTION) != IDOK) return 1;
- xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
+ xstring id = dw_list.GetItemString(row, L"@guid");
if (ProductLibraryView::DeleteItem(id) == 1) dw_list.DeleteRow(0);
@@ -824,10 +829,10 @@
int ItemAdd()
{
- int hItem = tv_folder.GetSelectedItem();
- int hTopItem = LookupTopFolder(hItem);
+ HTREEITEM hItem = tv_folder.GetSelectedItem();
+ HTREEITEM hTopItem = LookupTopFolder(hItem);
xstring name = tv_folder.GetItemLabel(hTopItem);
-
+ if(name==L"") return 1;
KXMLDOMElement e = tv_folder.GetItemData(hItem);
xstring guid = e.getAttribute(L"guid");
if (guid == L"") return 1;
@@ -844,15 +849,15 @@
if (Name == L"") Name = e.getAttribute(L"cname");
arg.AddArg(L"No", No);
arg.AddArg(L"CName", Name);
- int p = arg;
- OpenWindow(L"dev:xpage[Quick.Input.NewProductEx.vx]", p);
+
+ OpenWindow(L"dev:xpage[Quick.Input.NewProductEx.vx]", arg);
if (arg.GetArgString(L"data.modify") == L"1")RetrieveItem(hItem);
return 1;
}
int ItemMaint()
{
- int hItem = tv_folder.GetSelectedItem();
+ HTREEITEM hItem = tv_folder.GetSelectedItem();
KXMLDOMElement e = tv_folder.GetItemData(hItem);
//xstring no = e.getAttribute(L"no");
//if(no==L"") return 1;
@@ -865,15 +870,13 @@
OpenWindow(L"dev:xpage[PackSchemaMaint.goodslib.vx]");
}else
{
- int pr = g_xdoc_product;
- OpenWindow(L"dev:xpage[ProductLibraryItemMaint.vx]",pr);
+ OpenWindow(L"dev:xpage[ProductLibraryItemMaint.vx]",dw_list);
}
*/
- //KXMLDOMElement ele = g_xdoc_product.getRowElement(L"data/Item", 1);
+ //KXMLDOMElement ele = dw_list.getRowElement(L"data/Item", 1);
//alert(ele.xml);
- int pr = g_xdoc_product;
- OpenWindow(L"dev:xpage[ProductLibraryItemMaint3.vx]", pr);
+ OpenWindow(L"dev:xpage[ProductLibraryItemMaint3.vx]", dw_list);
return 1;
}
@@ -885,15 +888,15 @@
}
//查找当前树项的顶级目录
- int LookupTopFolder(int hItem)
+ HTREEITEM LookupTopFolder(HTREEITEM hItem)
{
- int hRoot = tv_folder.GetRootItem();
+ HTREEITEM hRoot = tv_folder.GetRootItem();
while (tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem);
return hItem;
}
//插入产品类项的子项
- int MakeGoodsFolderItem(int hItem, xstring sno)
+ int MakeGoodsFolderItem(HTREEITEM hItem, xstring sno)
{
xml x = ProductLibraryView::GetTreeChildItems3(sno);
if (!x) return 0;
@@ -907,14 +910,18 @@
xstring no = e.getAttribute(L"CategoryNo");
xstring label = no.trim() + L" " + name;
- int h = tv_folder.InsertChildItem(hItem, label, trust(e as int), 15);
- tv_folder.SetItemChild(h, 1);
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, label, e, 15);
+ xstring child = e.getAttribute(L"Childs");
+ if (child == L"")
+ tv_folder.SetItemChild(h, 1);
+ else if (child != L"0")
+ tv_folder.SetItemChild(h, 1);
}
return 1;
}
//插入新产品目录子项
- int MakeUserGoodsFolderItem(int hItem, xstring sno)
+ int MakeUserGoodsFolderItem(HTREEITEM hItem, xstring sno)
{
xml x = ProductLibraryView::GetTreeUserChildItems3(sno);
if (!x) return 0;
@@ -928,7 +935,7 @@
xstring no = e.getAttribute(L"CategoryNo");
xstring label = no.trim() + L" " + name;
- int h = tv_folder.InsertChildItem(hItem, label, trust(e as int), 15);
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, label, e, 15);
xstring child = e.getAttribute(L"Childs");
if (child == L"")
tv_folder.SetItemChild(h, 1);
@@ -939,7 +946,7 @@
}
//插入购物车项
- int ExpandCatChildFolder(int hItem, KXMLDOMElement ele, int image)
+ int ExpandCatChildFolder(HTREEITEM hItem, KXMLDOMElement ele, int image)
{
KXMLDOMNodeList nlist = ele.selectNodes(L"item");
int len = nlist.length();
@@ -948,12 +955,12 @@
{
KXMLDOMElement e = nlist.item(i);
xstring name = e.getAttribute(L"name");
- int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), image);
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image);
ExpandCatChildFolder(h, e, 35);
}
return 1;
}
- int MakeGoodCarFolderItem(int hItem)
+ int MakeGoodCarFolderItem(HTREEITEM hItem)
{
xml x = ShoppingCartView::GetSupplierRoleList(SupplierID);
if (!x) return 0;
@@ -963,20 +970,20 @@
{
KXMLDOMElement e = nlist.item(i);
xstring name = e.getAttribute(L"name");
- int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), 35);
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, 35);
ExpandCatChildFolder(h, e, 35);
}
return 1;
}
//树展开
- int OnTreeExpanding(ref TNotifyEvent evt, int p)
+ int OnTreeExpanding(TEvent* evt, int p)
{
- ref NMTREEVIEW nmtv = evt.pnmh;
- int hItem = nmtv.itemNew.hItem;
- int hTopItem = LookupTopFolder(hItem);
+ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+ HTREEITEM hItem = nmtv.itemNew.hItem;
+ HTREEITEM hTopItem = LookupTopFolder(hItem);
xstring name = tv_folder.GetItemLabel(hTopItem);
- int child = tv_folder.GetChildItem(hItem);
+ HTREEITEM child = tv_folder.GetChildItem(hItem);
xstring no = L"";
KXMLDOMElement e;
@@ -1023,11 +1030,11 @@
return 1;
}
- int LookupCustomerFolder(int hItem)
+ HTREEITEM LookupCustomerFolder(HTREEITEM hItem)
{
while (true)
{
- KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
+ KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
xstring str = e1.getAttribute(L"no");
if (str.find(L"Customer:") >= 0) return hItem;
hItem = tv_folder.GetParentItem(hItem);
@@ -1036,24 +1043,26 @@
return 0;
}
- xstring LookupCustomer(int hItem)
+ xstring LookupCustomer(HTREEITEM hItem)
{
hItem = LookupCustomerFolder(hItem);
- if (hItem == 0) return "";
- KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
+ if (hItem == 0) return L"";
+ KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
xstring str = e1.getAttribute(L"no");
- return str.mid(L"Customer:".length(), 9999);
+ return str.mid(xstring(L"Customer:").length(), 9999);
}
- int RetrieveItem(int hItem)
+ int RetrieveItem(HTREEITEM hItem)
{
- int hTopItem = LookupTopFolder(hItem);
+ HTREEITEM hTopItem = LookupTopFolder(hItem);
tname = tv_folder.GetItemLabel(hTopItem);
xstring selectname = tv_folder.GetItemLabel(hItem);
ximageview im = GetControl(L"im1");
m_customer = L"";
xcontrol query = GetControl(L"sl_search");
xstring queryString = query.GetText();
+ xshtml xs;
+ xstring str = L"";
if (hTopItem == 0 && queryString != L"")
{
tname = L"已询价产品";
@@ -1065,9 +1074,12 @@
ResetAgent(L"goodscar");
if (selectname != tname)
{
- KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
- xstring str = e1.getAttribute(L"no");
- if (str == L"Supplier") return 1;
+ KXMLDOMElement e1 =tv_folder.GetItemData(hItem);
+ str = e1.getAttribute(L"no");
+ if (str == L"Supplier")
+ {
+ return 1;
+ }
if (str.find(L"Customer:") == 0 || str.find(L"SO:") == 0 || str.find(L"Supplier:") == 0 || str.find(L"Enquiry:") == 0)
{
m_customer = LookupCustomer(hItem);
@@ -1078,9 +1090,9 @@
dwc_list.Reset();
dwc_list.SetReadOnly(true);
if (queryString == L"")
- g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str));
+ dwc_list.Retrieve(ShoppingCartView::GetGoodsList(str));
else
- g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
+ dwc_list.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
if (str.find(L"Supplier:") == 0)
{
if (dwc_list.GetRowCount() > 0)
@@ -1097,9 +1109,9 @@
dwc_list.SetReadOnly(true);
dwc_list.Reset();
if (queryString == L"")
- g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid));
+ dwc_list.Retrieve(ProductLibraryView::GetMaintList3(categoryid));
else
- g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString, L""));
+ dwc_list.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString, L""));
}
else
{
@@ -1107,27 +1119,26 @@
dwc_list.SetReadOnly(true);
dwc_list.Reset();
if (queryString == L"")
- g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname));
+ dwc_list.Retrieve(ShoppingCartView::GetGoodsList(selectname));
else
- g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname, queryString));
+ dwc_list.Retrieve(ShoppingCartView::GetGoodsList(selectname, queryString));
}
- dwc_list.PostRetrieve();
dwc_list.Redraw();
if (dwc_list.GetRowCount() >= 1)
{
- htmlctrl xs = GetControl(L"html_detail");
+ xs = GetControl(L"html_detail");
xs.SetContent(makeGoodscarHtml(1));
if (m_customer != L"")
{
- xstring skuid = g_xdoc_shoppingcart.getData(0, L"data/Item", 1, L"SKUID");
- xstring customerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", 1, L"CustomerItemNo");
+ xstring skuid = dwc_list.GetItemString(1, L"SKUID");
+ xstring customerItemNo = dwc_list.GetItemString(1, L"CustomerItemNo");
OnShowImage(skuid, customerItemNo);
}
}
else {
- im.ResetEx();
+ im.Reset();
im.Redraw();
xs = GetControl(L"html_detail");
@@ -1144,8 +1155,8 @@
else
{
str = L"Supplier:All";
- g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
- dwc_list.PostRetrieve();
+ dwc_list.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
+ //dwc_list.PostRetrieve();
dwc_list.Redraw();
}
}
@@ -1157,7 +1168,7 @@
ResetAgent(L"userlib");
else
ResetAgent(L"goodslib");
- int hCursor = xutil::SetCursorWait();
+ HCURSOR hCursor = xutil::SetCursorWait();
if (tname == L"个人库" || tname == L"公司库")
{
xstring no = L"N000005";
@@ -1185,8 +1196,8 @@
x = ProductLibraryView::GetMaintList3(no);
if (x)
{
- g_xdoc_product.Retrieve(x);
- x.Free();
+ dw_list.Retrieve(x);
+
}
}
else
@@ -1207,21 +1218,21 @@
else
x = ProductLibraryView::GetMaintList3(no);
}
- if (x)g_xdoc_product.Retrieve(x);
+ if (x)dw_list.Retrieve(x);
}
- dw_list.PostRetrieve();
+ //dw_list.PostRetrieve();
dw_list.Redraw();
if (dw_list.GetRowCount() > 0)
{
xs = GetControl(L"html_detail");
xs.SetContent(makeHtml(1));
- xstring id = g_xdoc_product.getData(0, L"data/Item", 1, L"@guid");
+ xstring id = dw_list.GetItemString(1, L"@guid");
OnShowImage(id);
}
else
{
- im.ResetEx();
+ im.Reset();
im.Redraw();
xs = GetControl(L"html_detail");
@@ -1232,16 +1243,17 @@
}
}
impStr = L"";
+ return 1;
}
- int OnTreeSelChanged(ref TNotifyEvent evt, int p)
+ int OnTreeSelChanged(TEvent* evt, int p)
{
- ref NMTREEVIEW nmtv = cast(evt.pnmh as NMTREEVIEW);
- int hItem = nmtv.itemNew.hItem;
+ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+ HTREEITEM hItem = nmtv.itemNew.hItem;
return RetrieveItem(hItem);
}
- int ExpandChildFolder(int hItem, KXMLDOMElement pElement)
+ int ExpandChildFolder(HTREEITEM hItem, KXMLDOMElement pElement)
{
KXMLDOMNodeList nlist = pElement.selectNodes(L"Item");
int len = nlist.length();
@@ -1252,7 +1264,7 @@
xstring sImage = e.getAttribute(L"image");
int image = 15;
//if(sImage) image = sImage.toInt();
- int h = tv_folder.InsertChildItem(tv_folder.GetId(), hItem, name, trust(e as int), image);
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image);
tv_folder.SetItemChild(h, 1);
ExpandChildFolder(h, e);
}
@@ -1267,9 +1279,9 @@
return 1;
}
- int OnDwClicked(ref TNotifyEvent evt, int p)
+ int OnDwClicked(TEvent* evt, int p)
{
- ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
char ch;
int row = hdr.row;
xstring col = hdr.colname;
@@ -1293,13 +1305,13 @@
return 1;
}
- int OnDwcClicked(ref TNotifyEvent evt, int p)
+ int OnDwcClicked(TEvent* evt, int p)
{
- ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
char ch;
int row = hdr.row;
xstring col = hdr.colname;
- xstring str = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SOLineID");
+ xstring str = dwc_list.GetItemString(row, L"SOLineID");
if (str != L"")
str = L"sl:" + str;
else if (dwc_list.GetItemString(row, L"SKUNo") != L"")
@@ -1320,15 +1332,16 @@
return 1;
}
- int OnDwcDoubleClicked(ref TNotifyEvent evt, int p)
+ int OnDwcDoubleClicked(TEvent* evt, int p)
{
+
- int hCursor = xutil::SetCursorWait();
- ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
+ HCURSOR hCursor = xutil::SetCursorWait();
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
int row = hdr.row;
xstring ls_nos = L"ImportXml:";
- xstring str = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SOLineID");
- xstring str1 = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"EnquiryPriceListID");
+ xstring str = dwc_list.GetItemString(row, L"SOLineID");
+ xstring str1 = dwc_list.GetItemString(row, L"EnquiryPriceListID");
if (str1 != L"")
str += L"el:" + str1;
else if (str != L"")
@@ -1344,21 +1357,21 @@
dw_list.Redraw();
dwc_list.Redraw();
impStr = L"";
- SendMessage(hObject, 0x401, ls_nos, 0);
+ SendMessage(hObject, 0x401, (LPARAM)ls_nos.c_str(), 0);
xutil::RestoreCursor(hCursor);
CloseWindow();
return 1;
}
- int OnDwDoubleClicked(ref TNotifyEvent evt, int p)
+ int OnDwDoubleClicked(TEvent* evt, int p)
{
- int hCursor = xutil::SetCursorWait();
- ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
+ HCURSOR hCursor = xutil::SetCursorWait();
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
int row = hdr.row;
if (row > 0)
{
if (dw_list.GetItemString(row, L"pic") != L"*")
{
- alert(L"第" + row.toString() + L"行请增加产品图片!");
+ alert(L"第" + xstring(row) + L"行请增加产品图片!");
return 1;
}
}
@@ -1374,7 +1387,7 @@
dw_list.Redraw();
dwc_list.Redraw();
impStr = L"";
- SendMessage(hObject, 0x401, ls_nos, 0);
+ SendMessage(hObject, 0x401, (LPARAM)ls_nos.c_str(), 0);
xutil::RestoreCursor(hCursor);
CloseWindow();
return 1;
@@ -1383,59 +1396,51 @@
int OnAttachEvent()
{
//绑定工具条点击事件
- AttachEvent(L"WM_XCOMMAND", (FEvent)&BasicFareList::OnXCommand);
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&EntityProductSelectWin::OnXCommand);
//获取焦点事件,用于重置工具条
- AttachEvent(L"WM_SETFOCUS", (FEvent)&BasicFareList::OnSetFocus);
- AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&BasicFareList::OnRowChanged);
- AttachEvent(L"dwc_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&BasicFareList::OnGoodsCarRowChanged);
- AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING", (FEvent)&BasicFareList::OnTreeExpanding);
- AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&BasicFareList::OnTreeSelChanged);
- AttachEvent(L"WM_COMMAND", (FEvent)&BasicFareList::OnCkbCLick); //checkbox打钩事件
- AttachEvent(L"WM_COMMAND", (FEvent)&BasicFareList::OnCkbCLick2); //checkbox打钩事件
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&EntityProductSelectWin::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&EntityProductSelectWin::OnRowChanged);
+ AttachEvent(L"dwc_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&EntityProductSelectWin::OnGoodsCarRowChanged);
+ AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING", (FEvent)&EntityProductSelectWin::OnTreeExpanding);
+ AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&EntityProductSelectWin::OnTreeSelChanged);
+ AttachEvent(L"WM_COMMAND", (FEvent)&EntityProductSelectWin::OnCkbCLick); //checkbox打钩事件
+ AttachEvent(L"WM_COMMAND", (FEvent)&EntityProductSelectWin::OnCkbCLick2); //checkbox打钩事件
- AttachEvent(L"dwc_list", L"DWV_DOUBLECLICKED", (FEvent)&BasicFareList::OnDwcDoubleClicked);
- AttachEvent(L"dw_list", L"DWV_DOUBLECLICKED", (FEvent)&BasicFareList::OnDwDoubleClicked);
+ AttachEvent(L"dwc_list", L"DWV_DOUBLECLICKED", (FEvent)&EntityProductSelectWin::OnDwcDoubleClicked);
+ AttachEvent(L"dw_list", L"DWV_DOUBLECLICKED", (FEvent)&EntityProductSelectWin::OnDwDoubleClicked);
- AttachEvent(L"dw_list", L"DWV_CLICKED", (FEvent)&BasicFareList::OnDwClicked);
- AttachEvent(L"dwc_list", L"DWV_CLICKED", (FEvent)&BasicFareList::OnDwcClicked);
+ AttachEvent(L"dw_list", L"DWV_CLICKED", (FEvent)&EntityProductSelectWin::OnDwClicked);
+ AttachEvent(L"dwc_list", L"DWV_CLICKED", (FEvent)&EntityProductSelectWin::OnDwcClicked);
+ return 1;
}
int onload()
{
+ SetArg();
agentFor = L"goodslib";
impStr = L"";
OnAttachEvent();
- imageElement = 0;
+ //imageElement = 0;
tv_folder = GetControl(L"tv_folder");
dw_list = GetControl(L"dw_list");
dwc_list = GetControl(L"dwc_list");
- xaserverarg arg = GetParam();
+ xaserverarg arg = GetArg();
CustomerID = L"";
SupplierID = L"";
m_customer = L"";
hObject = 0;
if (arg)
{
- hObject = arg.GetArgString(L"HWND").toInt();
+ hObject = (HWND)arg.GetParam(L"HWND");
CustomerID = arg.GetArgString(L"CustomerID");
CustomerID = arg.GetArgString(L"SupplierID");
}
InitialFolder();
- g_xdoc_product = new xdataset;
- g_xdoc_product.Init();
- xbind bindproduct = new xbind;
- bindproduct.bindEx(dw_list, g_xdoc_product, L"");
-
- g_xdoc_shoppingcart = new xdataset;
- g_xdoc_shoppingcart.Init();
-
- xbind bindcart = new xbind;
- bindcart.bindEx(dwc_list, g_xdoc_shoppingcart, L"");
-
+
dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(L""));
dw_list = GetControl(L"dw_list");
dw_list.SetReadOnly(true);
@@ -1447,15 +1452,21 @@
if (dw_list.GetRowCount())
{
- htmlctrl xs = GetControl(L"html_detail");
+ xshtml xs = GetControl(L"html_detail");
xs.SetContent(makeHtml(1));
}
+ tv_folder.ExpandItem(tv_folder.GetNextItem(tv_folder.GetRootItem()));
+ tv_folder.ExpandItem(tv_folder.GetNextItem(tv_folder.GetNextItem(tv_folder.GetRootItem())));
+#if 0
xtreeview::ExpandItem(tv_folder.GetId(),
xtreeview::GetNextItem(tv_folder.GetId(), xtreeview::GetRootItem(tv_folder.GetId())));
xtreeview::ExpandItem(tv_folder.GetId(),
xtreeview::GetNextItem(tv_folder.GetId(), xtreeview::GetNextItem(tv_folder.GetId(), xtreeview::GetRootItem(tv_folder.GetId()))));
+#endif // 0
+
+
dw_list.SetSelectionMode(3);
dwc_list.SetSelectionMode(3);
@@ -1468,5 +1479,4 @@
return 1;
}
- };
-]
\ No newline at end of file
+ };
\ No newline at end of file
--
Gitblit v1.9.3