|  |  | 
 |  |  |  | 
 |  |  |       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 (xurl::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1) | 
 |  |  | 
 |  |  |       //alert(id); | 
 |  |  |  | 
 |  |  |       HTREEITEM hItem = tv_folder.GetSelectedItem(); | 
 |  |  |       KXMLDOMElement& e1 = *(KXMLDOMElement * )tv_folder.GetItemData(hItem); | 
 |  |  |       KXMLDOMElement e1 = tv_folder.GetItemData(hItem); | 
 |  |  |       xstring categoryid = e1.selectSingleNode(L"@guid").text(); | 
 |  |  |       //alert(categoryid); | 
 |  |  |       xaserverarg* arg = new xaserverarg; | 
 |  |  | 
 |  |  |    int ItemMaint() | 
 |  |  |    { | 
 |  |  |       HTREEITEM hItem = tv_folder.GetSelectedItem(); | 
 |  |  |       KXMLDOMElement& e = *(KXMLDOMElement * )tv_folder.GetItemData(hItem); | 
 |  |  |       KXMLDOMElement e = tv_folder.GetItemData(hItem); | 
 |  |  |       //xstring no = e.getAttribute(L"no"); | 
 |  |  |       //if(no==L"") return 1; | 
 |  |  |       xstring guid = e.getAttribute(L"guid"); | 
 |  |  |       xaserverarg arg; | 
 |  |  |       //xstring guid = e.getAttribute(L"guid"); | 
 |  |  | 	 | 
 |  |  |  | 
 |  |  |       int row = dw_list.GetNextSelectRow(1); | 
 |  |  |       if (row < 1) row = dw_list.GetRow(); | 
 |  |  |       if (row < 1 || row > dw_list.GetRowCount()) return 0; | 
 |  |  |       xstring guid = dw_list.GetItemString(row, L"@guid"); | 
 |  |  |       if (guid == L"") return 1; | 
 |  |  |       arg.AddArg(L"skuid", guid); | 
 |  |  |  | 
 |  |  |       /* | 
 |  |  |       if(no==L"NP0000FS" || no==L"UP0000FS") | 
 |  |  | 
 |  |  |          OpenWindow(L"dev:xpage[PackSchemaMaint.goodslib.vx]"); | 
 |  |  |       }else | 
 |  |  |       { | 
 |  |  |          int pr = g_xdoc_product; | 
 |  |  |          LPARAM  pr = g_xdoc_product; | 
 |  |  |          OpenWindow(L"dev:xpage[ProductLibraryItemMaint.vx]",pr); | 
 |  |  |       } | 
 |  |  |       */ | 
 |  |  |       //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 | 
 |  |  |  | 
 |  |  |       OpenWindow(L"dev:xpage[ProductLibraryItemMaint3.vx]", arg); | 
 |  |  | # | 
 |  |  |       return 1; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  | 
 |  |  |       HTREEITEM hTopItem = LookupTopFolder(hItem); | 
 |  |  |       xstring name = tv_folder.GetItemLabel(hTopItem); | 
 |  |  |  | 
 |  |  |       KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); | 
 |  |  |       KXMLDOMElement e = tv_folder.GetItemData(hItem); | 
 |  |  |       //alert(e.xml); | 
 |  |  |       /*xstring no = e.getAttribute(L"no"); | 
 |  |  |       if(no==L"") return 1; | 
 |  |  | 
 |  |  |       xstring guid = e.getAttribute(L"guid"); | 
 |  |  |       if (guid == L"") return 1; | 
 |  |  |       xaserverarg arg; | 
 |  |  |       arg.setNativePointer(arg.CreateInstance()); | 
 |  |  | 		 | 
 |  |  |       arg.AddArg(L"guid", e.getAttribute(L"guid")); | 
 |  |  |       if (name == L"个人产品") | 
 |  |  |          arg.AddArg(L"FolderID", e.getAttribute(L"guid")); | 
 |  |  | 
 |  |  |       xaserverarg arg; | 
 |  |  |       if (hItem != hTopItem) | 
 |  |  |       { | 
 |  |  |          KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); | 
 |  |  |          KXMLDOMElement e = tv_folder.GetItemData(hItem); | 
 |  |  |          xstring folder = e.getAttribute(L"guid"); | 
 |  |  |          if (folder != L"") | 
 |  |  |          { | 
 |  |  | 
 |  |  |       if (name == L"个人库" && selectname == L"新产品" && tv_folder.GetParentItem(hItem) == hTopItem) return 1; | 
 |  |  |       if (hItem != hTopItem) | 
 |  |  |       { | 
 |  |  |          KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); | 
 |  |  |          KXMLDOMElement e = tv_folder.GetItemData(hItem); | 
 |  |  |          xstring folder = e.getAttribute(L"guid"); | 
 |  |  |          if (folder != L"") | 
 |  |  |          { | 
 |  |  | 
 |  |  |          } | 
 |  |  |          content += L"</data>"; | 
 |  |  |          xaserverarg carg; | 
 |  |  |          carg.setNativePointer(carg.CreateInstance()); | 
 |  |  | 			 | 
 |  |  |          carg.AddArg(L"content", content); | 
 |  |  |          OpenWindow(L"dev:xpage[SO.Simulation.Import.vx]", (LPARAM) & carg); | 
 |  |  |          OpenWindow(L"dev:xpage[SO.Simulation.Import.vx]",  carg); | 
 |  |  |          return 1; | 
 |  |  |       } | 
 |  |  |       else if (comdid == L"xmEnquiry") | 
 |  |  | 
 |  |  |          } | 
 |  |  |          content += L"</data>"; | 
 |  |  |          xaserverarg carg; | 
 |  |  |          carg.setNativePointer(carg.CreateInstance()); | 
 |  |  | 			 | 
 |  |  |          carg.AddArg(L"content", content); | 
 |  |  |          OpenWindow(L"dev:xpage[Enquiry.Import.vx]", (LPARAM)&carg); | 
 |  |  |          OpenWindow(L"dev:xpage[Enquiry.Import.vx]", carg); | 
 |  |  |          return 1; | 
 |  |  |       } | 
 |  |  |       else if (comdid == L"xmPurchar") | 
 |  |  | 
 |  |  |       int len = nlist.length(); | 
 |  |  |       for (int i = 0; i < len; i++) | 
 |  |  |       { | 
 |  |  |          KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i)); | 
 |  |  |          KXMLDOMElement e = nlist.item(i); | 
 |  |  |          xstring name = e.getAttribute(L"CName"); | 
 |  |  |          xstring no = e.getAttribute(L"CategoryNo"); | 
 |  |  |          xstring label = no.trim() + L" " + name; | 
 |  |  |  | 
 |  |  |          HTREEITEM h = tv_folder.InsertChildItem(hItem, label, (LPARAM)& e, 15); | 
 |  |  |          HTREEITEM h = tv_folder.InsertChildItem(hItem, label, e, 15); | 
 |  |  |          xstring child = e.getAttribute(L"Childs"); | 
 |  |  |          if (child == L"") | 
 |  |  |             tv_folder.SetItemChild(h, 1); | 
 |  |  | 
 |  |  |       int len = nlist.length(); | 
 |  |  |       for (int i = 0; i < len; i++) | 
 |  |  |       { | 
 |  |  |          KXMLDOMElement& e = * new KXMLDOMElement(nlist.item(i)); | 
 |  |  |          KXMLDOMElement e = nlist.item(i); | 
 |  |  |          xstring name = e.getAttribute(L"CName"); | 
 |  |  |          xstring no = e.getAttribute(L"CategoryNo"); | 
 |  |  |          xstring label = no.trim() + L" " + name; | 
 |  |  |  | 
 |  |  |          HTREEITEM h = tv_folder.InsertChildItem(hItem, label, (LPARAM)&e, 15); | 
 |  |  |          HTREEITEM h = tv_folder.InsertChildItem(hItem, label, e, 15); | 
 |  |  |          xstring child = e.getAttribute(L"Childs"); | 
 |  |  |          if (child == L"") | 
 |  |  |             tv_folder.SetItemChild(h, 1); | 
 |  |  | 
 |  |  |       if (len > 0) tv_folder.SetItemChild(hItem, 1); | 
 |  |  |       for (int i = 0; i < len; i++) | 
 |  |  |       { | 
 |  |  |          KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i)); | 
 |  |  |          KXMLDOMElement e = nlist.item(i); | 
 |  |  |          xstring name = e.getAttribute(L"name"); | 
 |  |  |          HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM) & e, image); | 
 |  |  |          HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image); | 
 |  |  |          ExpandCatChildFolder(h, e, 35); | 
 |  |  |       } | 
 |  |  |       return 1; | 
 |  |  | 
 |  |  |       int len = nlist.length(); | 
 |  |  |       for (int i = 0; i < len; i++) | 
 |  |  |       { | 
 |  |  |          KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i)); | 
 |  |  |          KXMLDOMElement e = nlist.item(i); | 
 |  |  |          xstring name = e.getAttribute(L"name"); | 
 |  |  |          HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, 35); | 
 |  |  |          HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, 35); | 
 |  |  |          ExpandCatChildFolder(h, e, 35); | 
 |  |  |       } | 
 |  |  |       return 1; | 
 |  |  | 
 |  |  |       xstring name = tv_folder.GetItemLabel(hTopItem); | 
 |  |  |       HTREEITEM child = tv_folder.GetChildItem(hItem); | 
 |  |  |       xstring no = L""; | 
 |  |  |       KXMLDOMElement* e=nullptr; | 
 |  |  |       KXMLDOMElement e; | 
 |  |  |       if (name == L"公司库" && !child) | 
 |  |  |       { | 
 |  |  |          no = L""; | 
 |  |  |          if (hTopItem != hItem) | 
 |  |  |          { | 
 |  |  |             e = (KXMLDOMElement * )tv_folder.GetItemData(hItem); | 
 |  |  |             no = e->getAttribute(L"categoryid"); | 
 |  |  |             e = tv_folder.GetItemData(hItem); | 
 |  |  |             no = e.getAttribute(L"categoryid"); | 
 |  |  |          } | 
 |  |  |          else | 
 |  |  |          { | 
 |  |  |             e = (KXMLDOMElement*)tv_folder.GetItemData(hItem); | 
 |  |  |             no = e->getAttribute(L"categoryid"); | 
 |  |  |             e = tv_folder.GetItemData(hItem); | 
 |  |  |             no = e.getAttribute(L"categoryid"); | 
 |  |  |          } | 
 |  |  |          MakeGoodsFolderItem(hItem, no); | 
 |  |  |       } | 
 |  |  | 
 |  |  |          no = L""; | 
 |  |  |          if (hTopItem != hItem) | 
 |  |  |          { | 
 |  |  |             e = (KXMLDOMElement*)tv_folder.GetItemData(hItem); | 
 |  |  |             no = e->getAttribute(L"categoryid"); | 
 |  |  |             e = tv_folder.GetItemData(hItem); | 
 |  |  |             no = e.getAttribute(L"categoryid"); | 
 |  |  |             MakeUserGoodsFolderItem(hItem, no); | 
 |  |  |          } | 
 |  |  |       } | 
 |  |  | 
 |  |  |    { | 
 |  |  |       while (true) | 
 |  |  |       { | 
 |  |  |          KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); | 
 |  |  |          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); | 
 |  |  | 
 |  |  |    { | 
 |  |  |       hItem = LookupCustomerFolder(hItem); | 
 |  |  |       if (hItem == 0) return L""; | 
 |  |  |       KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); | 
 |  |  |       KXMLDOMElement e1 = tv_folder.GetItemData(hItem); | 
 |  |  |       xstring str = e1.getAttribute(L"no"); | 
 |  |  |       return str.mid(xstring(L"Customer:").length(), 9999); | 
 |  |  |    } | 
 |  |  | 
 |  |  |       { | 
 |  |  |          if (selectname != name) | 
 |  |  |          { | 
 |  |  |             KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); | 
 |  |  |             KXMLDOMElement e1 = tv_folder.GetItemData(hItem); | 
 |  |  |             xstring str = e1.getAttribute(L"no"); | 
 |  |  |             alert(str); | 
 |  |  |             if (str.find(L"Customer:") == 0 || str.find(L"SO:") == 0) | 
 |  |  | 
 |  |  |  | 
 |  |  |             if (hItem != hTopItem) | 
 |  |  |             { | 
 |  |  |                KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); | 
 |  |  |                KXMLDOMElement e = tv_folder.GetItemData(hItem); | 
 |  |  |                no = e.getAttribute(L"guid"); | 
 |  |  |             } | 
 |  |  |             else | 
 |  |  |                return 1; | 
 |  |  |  | 
 |  |  |             /*   dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no).GetXmlDoc()); | 
 |  |  |             /*   dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no)); | 
 |  |  |                dw_list = GetControl(L"dw_list"); | 
 |  |  |                dw_list.Reset(); | 
 |  |  |                dw_list.SetReadOnly(true); | 
 |  |  | 
 |  |  |                      dw_list.Retrieve(ProductLibraryView::GetMaintList3(no, queryString, L"")); | 
 |  |  |                } | 
 |  |  |                else | 
 |  |  |                { | 
 |  |  |                   if (no == L"N000005") return 1; | 
 |  |  |                   dw_list.Retrieve(ProductLibraryView::GetMaintList3(no)); | 
 |  |  |                } | 
 |  |  |             } | 
 |  |  |             //dw_list.PostRetrieve(); | 
 |  |  |             dw_list.Redraw(); | 
 |  |  | 
 |  |  |       int len = nlist.length(); | 
 |  |  |       for (int i = 0; i < len; i++) | 
 |  |  |       { | 
 |  |  |          KXMLDOMElement& e = * new KXMLDOMElement(nlist.item(i)); | 
 |  |  |          KXMLDOMElement e = nlist.item(i); | 
 |  |  |          xstring name = e.getAttribute(L"cname"); | 
 |  |  |          xstring sImage = e.getAttribute(L"image"); | 
 |  |  |          int image = 15; | 
 |  |  |          //if(sImage) image = sImage.toInt(); | 
 |  |  |          HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM) & e, image); | 
 |  |  |          HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image); | 
 |  |  |          tv_folder.SetItemChild(h, 1); | 
 |  |  |          ExpandChildFolder(h, e); | 
 |  |  |       } | 
 |  |  | 
 |  |  |       dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist"); | 
 |  |  |       dwc_list.SetReadOnly(true); | 
 |  |  |  | 
 |  |  |       tv_folder.ExpandItem(tv_folder.GetRootItem()); | 
 |  |  |       tv_folder.ItemFocus(tv_folder.GetRootItem()); | 
 |  |  |  | 
 |  |  |       if (dw_list.GetRowCount()) | 
 |  |  |       { | 
 |  |  |          xshtml xs = GetControl(L"html_detail"); | 
 |  |  |          xs.SetContent(makeHtml(1)); | 
 |  |  |       } | 
 |  |  |  | 
 |  |  |       tv_folder.ExpandItem(tv_folder.GetRootItem()); | 
 |  |  |       tv_folder.ItemFocus(tv_folder.GetRootItem()); | 
 |  |  |       return 1; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  | 
 |  |  |       return 1; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    int OnImgDBClicked(TEvent * evt, int pr) | 
 |  |  |    int OnImgDBClicked(TEvent * evt, LPARAM  pr) | 
 |  |  |    { | 
 |  |  |       IMGNNMHDR& nmtv = *(IMGNNMHDR*)evt->notify.pnmh; | 
 |  |  |       xstring src = nmtv.path; |