From f6b1117a23c5fefd2adf62c077c31cbe610437f2 Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期三, 26 六月 2024 10:32:44 +0800 Subject: [PATCH] 提交代码 --- jrj/project/business/Product.list.cpp | 487 ++++++++++++++++++++++++++---------------------------- 1 files changed, 234 insertions(+), 253 deletions(-) diff --git a/jrj/project/business/Product.list.cpp b/jrj/project/business/Product.list.cpp index 89e9de7..ba30975 100644 --- a/jrj/project/business/Product.list.cpp +++ b/jrj/project/business/Product.list.cpp @@ -22,8 +22,8 @@ xdwgrid dwc_list; //产品缓存对象 - xdataset g_xdoc_product; - xdataset g_xdoc_shoppingcart; + //xdataset g_xdoc_product; + //xdataset g_xdoc_shoppingcart; xcombobox cbx_goodscar; //是否多选 @@ -34,6 +34,14 @@ KXMLDOMElement imageElement; xstring m_customer; +public: + ProductLibrary4Win(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} +public: + static ProductLibrary4Win* CreateInstance(void* implPtr, void* hWnd) + { + ProductLibrary4Win* pWin = new ProductLibrary4Win(implPtr, (HWND)hWnd); + return pWin; + } public: int FillGoodsCarList() { @@ -88,7 +96,7 @@ { 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); + KXMLDOMElement e = dw_list.GetRowElement(row); return e; } @@ -172,7 +180,7 @@ xs.SetContent(html); xs.Redraw(); - xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid"); + xstring id = dw_list.GetGuid(row); OnShowImage(id); trace(id); return 1; @@ -189,8 +197,8 @@ xs.Redraw(); if (m_customer) { - xstring id = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID"); - xstring customerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CustomerItemNo"); + xstring id = dw_list.GetItemString(row, L"SKUID"); + xstring customerItemNo =dw_list.GetItemString( row, L"CustomerItemNo"); OnShowImage(id, customerItemNo); } @@ -203,7 +211,7 @@ int MB_OKCANCEL = 1; int MB_ICONQUESTION = 32; if (MessageBoxW(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.GetGuid(row); if (ProductLibraryView::DeleteItem(id) == 1) dw_list.DeleteRow(0); return 1; @@ -278,7 +286,7 @@ 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); @@ -310,7 +318,7 @@ { 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, (LPCTSTR)name) + L"</td>"; cnt++; i++; if (i == len)break; @@ -345,7 +353,7 @@ 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, (LPCTSTR)name) == L"") { KXMLDOMNodeList options = fields.item(i).selectNodes(L"item"); int tlen = options.length(); @@ -362,7 +370,7 @@ } 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, (LPCTSTR)name) + L"</td>"; count++; } i++; @@ -391,11 +399,11 @@ 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"") + if (dw_list.GetItemString( row, L"Remark") != L"") { //html += L"<div style='height:12px'/>"; 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'/>"; @@ -479,24 +487,24 @@ if (i == 0) 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 >" +dw_list.GetItemString( row, (LPCTSTR)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'>" +dw_list.GetItemString( row, L"PackCode") + L"</td><td >包装方式</td><td >" + + dw_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 >" +dw_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>" +dw_list.GetItemString( row, L"QualityCode") + L"</td><td >质量要求</td><td >" + + dw_list.GetItemString(row, L"QualityTerm") + L"</td>"; html += L"</tr>"; html += L"</table>"; @@ -514,7 +522,7 @@ xstring Up(xstring name) { xstring str = name.mid(0, 2); str = str.toUpper(); - return xaserver::UploadFile(L"product" + str, name + L".jpg", this.GetHWND(), L"", false); + return xaserver::UploadFile(L"product" + str, name + L".jpg", GetHWND(), L"", false); } int OnAddImage() { @@ -523,9 +531,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; @@ -542,24 +550,22 @@ ext = L"jpg"; // 图片名加入数据库 - xml x = new xml; - x.setNativePointer(xml::CreateInstance()); - 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>" + xml x ; + x.loadXML(L"<Item update.new='1' update.modify='1' guid='" + id + L"'>" + + 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 = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg(L"content", x.GetXml()); - if (url::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1) + xaserverarg arg; + arg.AddArg(L"content", x.xml()); + if (xurl::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1) { - alert(x.text); + alert(x.text()); return -1; } dw_list.SetItemString(row, L"pic", L"*"); @@ -574,11 +580,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 = dw_list.GetRowElement( row); + xstring skuid =dw_list.GetItemString( row, L"SKUID"); + xstring SKUNo =dw_list.GetItemString( row, L"SKUID/@__displaystring"); xstring CustomerID = m_customer; - xstring CustomerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CustomerItemNo"); + xstring CustomerItemNo =dw_list.GetItemString( row, L"CustomerItemNo"); xstring id = ViewObject::GetGuid(); xstring ret1 = Up(id); if (ret1 == L"-1") return -1; @@ -595,26 +601,24 @@ ext = L"jpg"; // 图片名加入数据库 - xml x = new xml; - x.setNativePointer(xml::CreateInstance()); - 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>" + xml x; + x.loadXML(L"<Item update.new='1' update.modify='1' guid='" + id + L"'>" + + 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 = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg(L"content", x.GetXml()); - if (url::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1) + xaserverarg arg; + arg.AddArg(L"content", x.xml()); + if (xurl::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1) { - alert(x.text); + alert(x.text()); return -1; } dwc_list.SetItemString(row, L"pic", L"*"); @@ -637,24 +641,23 @@ if (count < 1) return 1; KXMLDOMNodeList images = imageElement.selectNodes(L"image"); - int length = images.length; + int length = images.length(); if (length < index) return 1; int MB_OKCANCEL = 0x00000001; int IDOK = 1; - if (win32::MessageBox(GetHWND(), L"确认删除当前图片?", L"提示", MB_OKCANCEL) != IDOK) return 1; + if (MessageBox(GetHWND(), L"确认删除当前图片?", L"提示", MB_OKCANCEL) != IDOK) return 1; - xstring id = images.item(index).selectSingleNode(L"@guid").text; + xstring id = images.item(index).selectSingleNode(L"@guid").text(); - xml x = new xml; - x.setNativePointer(xml::CreateInstance()); - xaserverarg arg = new xaserverarg; + xml x ; + xaserverarg arg; arg.setNativePointer(arg.CreateInstance()); xstring str = L"<Item update.modify='1' update.delete='1' guid='" + id + L"'/>"; arg.AddArg(L"content", str); - if (url::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1) + if (xurl::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1) { - alert(x.text); + alert(x.text()); return -1; } if (count == 1) @@ -663,10 +666,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 =dw_list.GetItemString( row, L"SKUID"); + xstring SKUNo =dw_list.GetItemString( row, L"SKUID/@__displaystring"); xstring CustomerID = m_customer; - xstring CustomerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CustomerItemNo"); + xstring CustomerItemNo =dw_list.GetItemString( row, L"CustomerItemNo"); OnShowImage(skuid, CustomerItemNo); return 1; @@ -686,24 +689,22 @@ if (count < 1) return 1; KXMLDOMNodeList images = imageElement.selectNodes(L"image"); - int length = images.length; + int length = images.length(); if (length < index) return 1; int MB_OKCANCEL = 0x00000001; int IDOK = 1; - if (win32::MessageBox(GetHWND(), L"确认删除当前图片?", L"提示", MB_OKCANCEL) != IDOK) return 1; + if (MessageBox(GetHWND(), L"确认删除当前图片?", L"提示", MB_OKCANCEL) != IDOK) return 1; - xstring id = images.item(index).selectSingleNode(L"@guid").text; + xstring id = images.item(index).selectSingleNode(L"@guid").text(); - xml x = new xml; - x.setNativePointer(xml::CreateInstance()); - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); + xml x; + xaserverarg arg; xstring str = L"<Item update.modify='1' update.delete='1' guid='" + id + L"'/>"; arg.AddArg(L"content", str); - if (url::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1) + if (xurl::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1) { - alert(x.text); + alert(x.text()); return -1; } if (count == 1) @@ -712,7 +713,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); @@ -723,32 +724,29 @@ int row = dw_list.GetNextSelectRow(1); 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); + KXMLDOMElement e = dw_list.GetRowElement(row); //KXMLDOMElement e = dw_list.GetRowElement(row); //alert(e.xml); - xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid"); + xstring id = dw_list.GetItemString( row, L"@guid"); //alert(id); - int hItem = tv_folder.GetSelectedItem(); - KXMLDOMElement e1 = tv_folder.GetItemData(hItem); - xstring categoryid = e1.selectSingleNode(L"@guid").text; + HTREEITEM hItem = tv_folder.GetSelectedItem(); + KXMLDOMElement& e1 = *(KXMLDOMElement * )tv_folder.GetItemData(hItem); + xstring categoryid = e1.selectSingleNode(L"@guid").text(); //alert(categoryid); - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg(L"SKUID", id); - arg.AddArg(L"CategoryID", categoryid); + xaserverarg* arg = new xaserverarg; + arg->AddArg(L"SKUID", id); + arg->AddArg(L"CategoryID", categoryid); - - int pr = trust(arg as int); //g_xdoc_product - OpenWindow(L"dev:xpage[PictureView.Product3.vx]", pr); + OpenWindow(L"dev:xpage[PictureView.Product3.vx]", (LPARAM)arg); return 1; } int ItemMaint() { - int hItem = tv_folder.GetSelectedItem(); - KXMLDOMElement e = tv_folder.GetItemData(hItem); + HTREEITEM hItem = tv_folder.GetSelectedItem(); + KXMLDOMElement& e = *(KXMLDOMElement * )tv_folder.GetItemData(hItem); //xstring no = e.getAttribute(L"no"); //if(no==L"") return 1; xstring guid = e.getAttribute(L"guid"); @@ -766,20 +764,20 @@ */ //KXMLDOMElement ele = g_xdoc_product.getRowElement(L"data/Item", 1); //alert(ele.xml); - +#ifdef shouldfinished int pr = g_xdoc_product; OpenWindow(L"dev:xpage[ProductLibraryItemMaint3.vx]", pr); - +#endif return 1; } 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); - KXMLDOMElement e = tv_folder.GetItemData(hItem); + KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); //alert(e.xml); /*xstring no = e.getAttribute(L"no"); if(no==L"") return 1; @@ -793,7 +791,7 @@ }*/ xstring guid = e.getAttribute(L"guid"); if (guid == L"") return 1; - xaserverarg arg = new xaserverarg; + xaserverarg arg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg(L"guid", e.getAttribute(L"guid")); if (name == L"个人产品") @@ -806,8 +804,7 @@ 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.NewProduct.vx]", p); + OpenWindow(L"dev:xpage[Quick.Input.NewProduct.vx]", (LPARAM)&arg); if (arg.GetArgString(L"data.modify") == L"1")RetrieveData(); @@ -816,20 +813,20 @@ int OnAddFolder() { - int hItem = tv_folder.GetSelectedItem(); - int hTopItem = LookupTopFolder(hItem); + HTREEITEM hItem = tv_folder.GetSelectedItem(); + HTREEITEM hTopItem = LookupTopFolder(hItem); xstring name = tv_folder.GetItemLabel(hTopItem); xstring selectname = tv_folder.GetItemLabel(hItem); - xaserverarg arg = ViewObject::MakeArg(); + xaserverarg arg; if (hItem != hTopItem) { - KXMLDOMElement e = tv_folder.GetItemData(hItem); + KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); xstring folder = e.getAttribute(L"guid"); if (folder != L"") { arg.AddArg(L"parentCategoryID", folder); - OpenWindow(L"dev:xpage[UserFolderMaint.vx]", cast(arg as int)); + OpenWindow(L"dev:xpage[UserFolderMaint.vx]",(LPARAM)&arg); /*if(arg.GetArgString(L"FolderID")!=L"") { int child = tv_folder.GetChildItem(hItem); @@ -852,28 +849,27 @@ int OnMaintFolder() { - int hItem = tv_folder.GetSelectedItem(); - int hTopItem = LookupTopFolder(hItem); + HTREEITEM hItem = tv_folder.GetSelectedItem(); + HTREEITEM hTopItem = LookupTopFolder(hItem); xstring name = tv_folder.GetItemLabel(hTopItem); xstring selectname = tv_folder.GetItemLabel(hItem); - xaserverarg arg = ViewObject::MakeArg(); + xaserverarg arg; if (name == L"个人库" && selectname == L"新产品" && tv_folder.GetParentItem(hItem) == hTopItem) return 1; if (hItem != hTopItem) { - KXMLDOMElement e = tv_folder.GetItemData(hItem); + KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); xstring folder = e.getAttribute(L"guid"); if (folder != L"") { arg.AddArg(L"CategoryID", folder); - OpenWindow(L"dev:xpage[UserFolderMaint.vx]", cast(arg as int)); + OpenWindow(L"dev:xpage[UserFolderMaint.vx]", (LPARAM)&arg); if (arg.GetArgString(L"label") != L"") { tv_folder.SetItemLabel(hItem, arg.GetArgString(L"label")); } } } - return 1; } @@ -906,7 +902,9 @@ } else if (comdid == L"xmCarGoodsMaint") { +#ifdef shouldfinish OpenWindow(L"dev:xpage[ShoppingCartProductMaint.vx]", trust(g_xdoc_shoppingcart as int)); +#endif return 1; } else if (comdid == L"xmCarMaint") @@ -921,52 +919,48 @@ while (rw > 0) { KXMLDOMElement xe = OnGetCarListRowElement(rw); - content += xe.xml; + content += xe.xml(); rw = dwc_list.GetNextSelectRow(rw + 1); } content += L"</data>"; - xaserverarg carg = new xaserverarg; + xaserverarg carg; carg.setNativePointer(carg.CreateInstance()); carg.AddArg(L"content", content); - int newArg2 = carg.ptr_native_; - OpenWindow(L"dev:xpage[SO.Simulation.Import.vx]", newArg2); + OpenWindow(L"dev:xpage[SO.Simulation.Import.vx]", (LPARAM) & carg); return 1; } else if (comdid == L"xmEnquiry") { - rw = dwc_list.GetNextSelectRow(1); - content = L"<data>"; + int rw = dwc_list.GetNextSelectRow(1); + xstring content = L"<data>"; while (rw > 0) { - xe = OnGetCarListRowElement(rw); - content += xe.xml; + KXMLDOMElement xe = OnGetCarListRowElement(rw); + content += xe.xml(); rw = dwc_list.GetNextSelectRow(rw + 1); } content += L"</data>"; - carg = new xaserverarg; + xaserverarg carg; carg.setNativePointer(carg.CreateInstance()); carg.AddArg(L"content", content); - newArg2 = carg.ptr_native_; - OpenWindow(L"dev:xpage[Enquiry.Import.vx]", newArg2); + OpenWindow(L"dev:xpage[Enquiry.Import.vx]", (LPARAM)&carg); return 1; } else if (comdid == L"xmPurchar") { - rw = dwc_list.GetNextSelectRow(1); - content = L"<data>"; + int rw = dwc_list.GetNextSelectRow(1); + xstring content = L"<data>"; while (rw > 0) { - xe = OnGetCarListRowElement(rw); - content += xe.xml; + KXMLDOMElement xe = OnGetCarListRowElement(rw); + content += xe.xml(); rw = dwc_list.GetNextSelectRow(rw + 1); } content += L"</data>"; - carg = new xaserverarg; - carg.setNativePointer(carg.CreateInstance()); + xaserverarg carg ; carg.AddArg(L"content", content); - newArg2 = carg.ptr_native_; - OpenWindow(L"dev:xpage[PO.Import.vx]", newArg2); + OpenWindow(L"dev:xpage[PO.Import.vx]", (LPARAM)&carg); return 1; } else if (comdid == L"xmSearch") @@ -976,20 +970,18 @@ } else if (comdid == L"xmQuote") { - rw = dwc_list.GetNextSelectRow(1); - content = L"<data>"; + int rw = dwc_list.GetNextSelectRow(1); + xstring content = L"<data>"; while (rw > 0) { - xe = OnGetCarListRowElement(rw); - content += xe.xml; + KXMLDOMElement xe = OnGetCarListRowElement(rw); + content += xe.xml(); rw = dwc_list.GetNextSelectRow(rw + 1); } content += L"</data>"; - carg = new xaserverarg; - carg.setNativePointer(carg.CreateInstance()); + xaserverarg carg; carg.AddArg(L"content", content); - newArg2 = carg.ptr_native_; - OpenWindow(L"dev:xpage[Quote.Import.vx]", newArg2); + OpenWindow(L"dev:xpage[Quote.Import.vx]", (LPARAM) & carg); return 1; } else if (comdid == L"xmAdd") @@ -1000,9 +992,9 @@ { int row = dw_list.GetRow(); if (row < 1) return 1; - xstring skuid = g_xdoc_product.getData(0, L"data/Item", row, L"@guid"); + xstring skuid = dw_list.GetItemString( row, L"@guid"); xml skuid_x = ViewObject::RetrieveData(L"/sale/data/ProductLibrary3/ProductNumberone", L"SKUID", skuid); - xstring skuidEx = skuid_x.text; + xstring skuidEx = skuid_x.text(); int skuid1 = skuidEx.toInt(); if (skuid1) { @@ -1019,9 +1011,8 @@ } else if (comdid == L"xmCarAdd") { - hCursor = xutil::SetCursorWait(); - - name = GetControl(L"frame:ed_goodscar").GetText(); + HCURSOR hCursor = xutil::SetCursorWait(); + name = xcontrol(GetControl(L"frame:ed_goodscar")).GetText(); if (name != L"") { if (ShoppingCartView::AddCar(name) == 1) @@ -1051,8 +1042,10 @@ } else if (comdid == L"xmPropConfigure") { +#ifdef shouldfinish int r = cast(g_xdoc_product.getData(L"data/Item", L"@guid") as int); OpenWindow(L"dev:xpage[Product.ItemProp.Maint.vx]", r); +#endif return 1; } else if (comdid == L"xmRertieve") @@ -1068,7 +1061,7 @@ } else if (comdid == L"xmToCar") { - name = GetControl(L"frame:cbx_goodscar").GetText(); + name = xcontrol(GetControl(L"frame:cbx_goodscar")).GetText(); if (name == L"==选择购物车==L") { alert(L"请选择购物车"); @@ -1079,7 +1072,7 @@ xstring html = L"<data>"; while (xrow > 0) { - KXMLDOMElement e = g_xdoc_product.getRowElement(L"data/Item", xrow); + KXMLDOMElement e =dw_list.GetRowElement(xrow); goodsid = ProductLibraryView::GetElementString(e, L"@guid"); html += L"<item goodid='" + goodsid + L"' id ='" + ProductLibraryView::GetGuid() + L"'/>"; xrow = dw_list.GetNextSelectRow(xrow + 1); @@ -1096,35 +1089,35 @@ } //命令处理事件 - int OnXCommand(ref TXCommandEvent evt, int param) + int OnXCommand(TEvent* evt, int param) { - return OnCmdDispatch(evt.pStrID); + return OnCmdDispatch(evt->xcommand.pStrID); } //查找当前树项的顶级目录 - 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; - KXMLDOMNodeList nlist = x.SelectNodes(L"//Item"); - int len = nlist.length; + KXMLDOMNodeList nlist = x.selectNodes(L"//Item"); + int len = nlist.length(); for (int i = 0; i < len; i++) { - KXMLDOMElement e = nlist.item(i); + KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i)); xstring name = e.getAttribute(L"CName"); 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, (LPARAM)& e, 15); xstring child = e.getAttribute(L"Childs"); if (child == L"") tv_folder.SetItemChild(h, 1); @@ -1135,21 +1128,21 @@ } //插入新产品目录子项 - int MakeUserGoodsFolderItem(int hItem, xstring sno) + int MakeUserGoodsFolderItem(HTREEITEM hItem, xstring sno) { xml x = ProductLibraryView::GetTreeUserChildItems3(sno); if (!x) return 0; - KXMLDOMNodeList nlist = x.SelectNodes(L"//Item"); - int len = nlist.length; + KXMLDOMNodeList nlist = x.selectNodes(L"//Item"); + int len = nlist.length(); for (int i = 0; i < len; i++) { - KXMLDOMElement e = nlist.item(i); + KXMLDOMElement& e = * new KXMLDOMElement(nlist.item(i)); xstring name = e.getAttribute(L"CName"); 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, (LPARAM)&e, 15); xstring child = e.getAttribute(L"Childs"); if (child == L"") tv_folder.SetItemChild(h, 1); @@ -1160,55 +1153,55 @@ } //插入购物车项 - 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; + KXMLDOMNodeList nlist = ele.selectNodes(L"item"); + int len = nlist.length(); if (len > 0) tv_folder.SetItemChild(hItem, 1); for (int i = 0; i < len; i++) { - KXMLDOMElement e = nlist.item(i); + KXMLDOMElement& e = *new KXMLDOMElement(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, (LPARAM) & e, image); ExpandCatChildFolder(h, e, 35); } return 1; } - int MakeGoodCarFolderItem(int hItem) + int MakeGoodCarFolderItem(HTREEITEM hItem) { xml x = ShoppingCartView::GetRoleList(); if (!x) return 0; - KXMLDOMNodeList nlist = x.SelectNodes(L"/data/item"); - int len = nlist.length; + KXMLDOMNodeList nlist = x.selectNodes(L"/data/item"); + int len = nlist.length(); for (int i = 0; i < len; i++) { - KXMLDOMElement e = nlist.item(i); + KXMLDOMElement& e = *new KXMLDOMElement(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, (LPARAM)&e, 35); ExpandCatChildFolder(h, e, 35); } return 1; } - int ExpandItem(int hItem) + int ExpandItem(HTREEITEM hItem) { - int hTopItem = LookupTopFolder(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; + KXMLDOMElement* e=nullptr; if (name == L"公司库" && !child) { no = L""; if (hTopItem != hItem) { - e = tv_folder.GetItemData(hItem); - no = e.getAttribute(L"categoryid"); + e = (KXMLDOMElement * )tv_folder.GetItemData(hItem); + no = e->getAttribute(L"categoryid"); } else { - e = tv_folder.GetItemData(hItem); - no = e.getAttribute(L"categoryid"); + e = (KXMLDOMElement*)tv_folder.GetItemData(hItem); + no = e->getAttribute(L"categoryid"); } MakeGoodsFolderItem(hItem, no); } @@ -1217,8 +1210,8 @@ no = L""; if (hTopItem != hItem) { - e = tv_folder.GetItemData(hItem); - no = e.getAttribute(L"categoryid"); + e = (KXMLDOMElement*)tv_folder.GetItemData(hItem); + no = e->getAttribute(L"categoryid"); MakeUserGoodsFolderItem(hItem, no); } } @@ -1232,8 +1225,8 @@ //树展开 int OnTreeExpanding(TEvent * evt, int p) { - ref NMTREEVIEW nmtv = evt.pnmh; - int hItem = nmtv.itemNew.hItem; + NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh; + HTREEITEM hItem = nmtv.itemNew.hItem; return ExpandItem(hItem); } @@ -1248,11 +1241,11 @@ return 1; } - int LookupCustomerFolder(int hItem) + HTREEITEM LookupCustomerFolder(HTREEITEM hItem) { while (true) { - KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement); + KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); xstring str = e1.getAttribute(L"no"); if (str.find(L"Customer:") >= 0) return hItem; hItem = tv_folder.GetParentItem(hItem); @@ -1261,20 +1254,20 @@ 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 = *(KXMLDOMElement*)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 RetrieveData() { ximageview im = GetControl(L"im1"); - int hItem = tv_folder.GetSelectedItem(); - int hTopItem = LookupTopFolder(hItem); + HTREEITEM hItem = tv_folder.GetSelectedItem(); + HTREEITEM hTopItem = LookupTopFolder(hItem); xstring name = tv_folder.GetItemLabel(hTopItem); xstring selectname = tv_folder.GetItemLabel(hItem); @@ -1290,24 +1283,24 @@ dwc_list.SetReadOnly(true); dwc_list.Redraw(); - im.ResetEx(); + im.Reset(); im.Redraw(); - htmlctrl xs1 = GetControl(L"html_detail"); + xshtml xs1 = GetControl(L"html_detail"); xs1.SetContent(L"<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>"); if (name != L"公司库") return 1; } //return 1; - int hCursor = xutil::SetCursorWait(); + HCURSOR hCursor = xutil::SetCursorWait(); if (name == L"购物车") { if (selectname != name) { - KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement); + KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); xstring str = e1.getAttribute(L"no"); alert(str); if (str.find(L"Customer:") == 0 || str.find(L"SO:") == 0) @@ -1319,15 +1312,15 @@ dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodssolist"); dwc_list.Reset(); dwc_list.SetReadOnly(true); - g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str, queryString)); + dw_list.Retrieve(ShoppingCartView::GetGoodsList(str, queryString)); } else if (e1.getAttribute(L"categoryid") != L"") { xstring categoryid = e1.getAttribute(L"categoryid"); - dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid).GetXmlDoc()); + dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid)); dwc_list.SetReadOnly(true); dwc_list.Reset(); - g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString, L"")); + dw_list.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString, L"")); dwc_list.Redraw(); } else @@ -1335,27 +1328,26 @@ dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist"); dwc_list.SetReadOnly(true); dwc_list.Reset(); - g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname, queryString)); + dw_list.Retrieve(ShoppingCartView::GetGoodsList(selectname, queryString)); } - dwc_list.PostRetrieve(); + //dwc_list.PostRetrieve(); dwc_list.Redraw(); + xshtml xs = GetControl(L"html_detail"); if (dwc_list.GetRowCount() >= 1) { - htmlctrl 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 =dw_list.GetItemString( 1, L"SKUID"); + xstring customerItemNo =dw_list.GetItemString( 1, L"CustomerItemNo"); OnShowImage(skuid, customerItemNo); } } else { - - im.ResetEx(); + im.Reset(); im.Redraw(); xs = GetControl(L"html_detail"); @@ -1374,7 +1366,7 @@ if (hItem != hTopItem) { - KXMLDOMElement e = tv_folder.GetItemData(hItem); + KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); no = e.getAttribute(L"guid"); } @@ -1385,36 +1377,35 @@ */ if (name == L"个人库") - g_xdoc_product.Retrieve(ProductLibraryView::GetMaintRoleList3(no)); + dw_list.Retrieve(ProductLibraryView::GetMaintRoleList3(no)); else { if (queryString != L"") { if (no == L"N000005") - g_xdoc_product.Retrieve(ProductLibraryView::GetMaintList3(L"", queryString, L"")); + dw_list.Retrieve(ProductLibraryView::GetMaintList3(L"", queryString, L"")); else - g_xdoc_product.Retrieve(ProductLibraryView::GetMaintList3(no, queryString, L"")); + dw_list.Retrieve(ProductLibraryView::GetMaintList3(no, queryString, L"")); } else - g_xdoc_product.Retrieve(ProductLibraryView::GetMaintList3(no)); + dw_list.Retrieve(ProductLibraryView::GetMaintList3(no)); } - dw_list.PostRetrieve(); + //dw_list.PostRetrieve(); dw_list.Redraw(); + xshtml xs = GetControl(L"html_detail"); 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"); xs.SetContent(L"<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>"); } xs.Redraw(); @@ -1427,9 +1418,9 @@ int OnTreeSelChanged(TEvent * evt, int p) { - ref NMTREEVIEW nmtv = cast(evt.pnmh as NMTREEVIEW); - 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); xstring selectname = tv_folder.GetItemLabel(hItem); ximageview im = GetControl(L"im1"); @@ -1449,23 +1440,23 @@ ResetAgent(L"goodslib"); } //RetrieveData(); - win32::PostMessage(GetHWND(), 0x401, L"xmRefresh", 0); + PostMessage(GetHWND(), 0x401, (WPARAM)L"xmRefresh", 0); return 1; } - int ExpandChildFolder(int hItem, KXMLDOMElement pElement) + int ExpandChildFolder(HTREEITEM hItem, KXMLDOMElement pElement) { - KXMLDOMNodeList nlist = pElement.SelectNodes(L"Item"); - int len = nlist.length; + KXMLDOMNodeList nlist = pElement.selectNodes(L"Item"); + int len = nlist.length(); for (int i = 0; i < len; i++) { - KXMLDOMElement e = nlist.item(i); + KXMLDOMElement& e = * new KXMLDOMElement(nlist.item(i)); xstring name = e.getAttribute(L"cname"); 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, (LPARAM) & e, image); tv_folder.SetItemChild(h, 1); ExpandChildFolder(h, e); } @@ -1480,11 +1471,11 @@ return 1; } - int OnViewZoomChange(ref TCommandEvent evt, int lParam) + int OnViewZoomChange(TEvent* evt, int lParam) { ximageview im = GetControl(L"im1"); xcombobox xc = GetControl(L"precent"); - xstring text = xcombobox::GetLBText(xc.GetId()); + xstring text = xc.GetLBText(); int p = text.toInt(); if (p == 0) p = 100; im.Preview(p); @@ -1494,18 +1485,20 @@ int OnAttachEvent() { //绑定工具条点击事件 - AttachEvent(L"WM_XCOMMAND", OnXCommand); + AttachEvent(L"WM_XCOMMAND", (FEvent)&ProductLibrary4Win::OnXCommand); //获取焦点事件,用于重置工具条 - AttachEvent(L"WM_SETFOCUS", OnSetFocus); - AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", OnRowChanged); - AttachEvent(L"dwc_list", L"DWV_ROWFOCUSCHANGED", OnGoodsCarRowChanged); - AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING", OnTreeExpanding); - AttachEvent(L"tv_folder", L"TVN_SELCHANGED", OnTreeSelChanged); - AttachEvent(L"WM_COMMAND", OnCkbCLick); //checkbox打钩事件 - AttachEvent(L"WM_COMMAND", OnCkbCLick2); //checkbox打钩事件 + AttachEvent(L"WM_SETFOCUS", (FEvent)&ProductLibrary4Win::OnSetFocus); + AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&ProductLibrary4Win::OnRowChanged); + AttachEvent(L"dwc_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&ProductLibrary4Win::OnGoodsCarRowChanged); + AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING", (FEvent)&ProductLibrary4Win::OnTreeExpanding); + AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&ProductLibrary4Win::OnTreeSelChanged); + AttachEvent(L"WM_COMMAND", (FEvent)&ProductLibrary4Win::OnCkbCLick); //checkbox打钩事件 + AttachEvent(L"WM_COMMAND", (FEvent)&ProductLibrary4Win::OnCkbCLick2); //checkbox打钩事件 - AttachEvent(L"im1", L"IMG_LDBCLICK", OnImgDBClicked); - AttachEvent(L"precent", L"CBN_SELCHANGE", OnViewZoomChange); + AttachEvent(L"im1", L"IMG_LDBCLICK", (FEvent)&ProductLibrary4Win::OnImgDBClicked); + AttachEvent(L"precent", L"CBN_SELCHANGE", (FEvent)&ProductLibrary4Win::OnViewZoomChange); + + return 1; } int onload() @@ -1522,18 +1515,7 @@ 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"").GetXmlDoc()); + dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(L"")); dw_list = GetControl(L"dw_list"); dw_list.SetReadOnly(true); @@ -1542,7 +1524,7 @@ if (dw_list.GetRowCount()) { - htmlctrl xs = GetControl(L"html_detail"); + xshtml xs = GetControl(L"html_detail"); xs.SetContent(makeHtml(1)); } @@ -1560,21 +1542,20 @@ int OnImgDBClicked(TEvent * evt, int pr) { - ref IMGNNMHDR nmtv = evt.pnmh; + IMGNNMHDR& nmtv = *(IMGNNMHDR*)evt->notify.pnmh; xstring src = nmtv.path; /*if(src.length() > 60) src = src.right(44); else src=src.mid(src.find(L"Thumbs", 0)+6, 50); */ - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); + xaserverarg& arg = *new xaserverarg; //arg.AddArg(L"src",L"/business/products/chanpin"+src); arg.AddArg(L"src", src); //win::OpenWindow(L"dev:xpage[BigPicture.vx]",arg); - int h = openUrl(L"/sale/view/ProductLibrary/xpage/bigpictureview", arg); + int h = openUrl(L"/sale/view/ProductLibrary/xpage/bigpictureview", &arg); return 1; /* xwin x = new xwin; -- Gitblit v1.9.3