From 94d3840bda13f23c0cd4619a99ac215b74ffcd94 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期四, 07 十一月 2024 13:54:14 +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