ÿþuse "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class ItemCustomerPictureView : public xframe { xdwgrid dw_list; xdwtable dw_arg; xnode m_agentNode; //Agent Condition msxml::IXMLDOMElement imageElement; int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //&q¹pÀo;mYtýQpe int OnSetFocus(ref TEvent evt,int param) { //͑nå]wQag SetAgent(); return 1; } //}TäNÑS^ýQpe int OnCmdDispatch(string comdid) { if(comdid=="xmAddImage") { return OnAddImage(); } else if(comdid=="xmDeleteImage") { return OnDeleteImage(); } else if(comdid=="xmQuery") { return OnRetrieve(); } return 0; } //}TäNYt‹NöN int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnImgDBClicked(ref TNotifyEvent evt,int pr) { ref IMGNNMHDR nmtv = evt.pnmh; string src = nmtv.path; xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("src",src); int h = openUrl("/sale/view/ProductLibrary/xpage/bigpictureview", arg); return 1; } int OnAttachEvent() { //Ñ~š[å]wQag¹pûQ‹NöN AttachEvent("WM_XCOMMAND",OnXCommand); //·ƒÖS&q¹p‹NöN ÿ(uŽN͑nå]wQag AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent("dw_list","DWV_ROWFOCUSCHANGED",OnRowChanged); AttachEvent("im1","IMG_LDBCLICK",OnImgDBClicked); } string Up(string name) { string str = name.mid(0,2); str = str.upper(); return xaserver::UploadFile("product"+str, name+".jpg", this.GetHWND(),"",false); } int OnAddImage(){ int row = dw_list.GetNextSelectRow(1); if(row < 1) row = dw_list.GetRow(); if(row < 1 || row > dw_list.GetRowCount()) return 0; string skuid = dw_list.GetItemString(row,"SKUID"); //string SKUNo = dw_list.GetItemDisplayString(row,"SKUID"); string SKUNo = dw_list.GetItemString(row,"No"); //alert(SKUNo); string CustomerID = dw_list.GetItemString(row,"CustomerID"); string CustomerItemNo = dw_list.GetItemString(row,"CustomerItemNo"); string id = ViewObject::GetGuid(); string ret1 = Up(id); if(ret1 == "-1") return -1; if(ret1 == "0") { alert(" N OþVGr1Y%"); return -1; } string originfile = ret1; string ext = originfile.right(7); if(ext.find(".")>=0) ext = ext.mid(ext.find(".")+1,9999); else ext = "jpg"; // þVGr T ReQpenc“^ xml x = new xml; x.setNativePointer(xml::CreateInstance()); x.LoadXml("<Item update.new='1' update.modify='1' guid='"+ id+"'>" + "<ProductPictureID>" + id +"</ProductPictureID>" + "<OriginFile>"+originfile+"</OriginFile>"+ "<FileExt>"+ext+"</FileExt>"+ "<SKUID>" + skuid +"</SKUID>" + "<CustomerItemNo>" + CustomerItemNo +"</CustomerItemNo>" + "<CustomerID>" + CustomerID +"</CustomerID>" + "<Name>[" + SKUNo.trim() +"]</Name>" + "<FileName>" + id +".jpg</FileName>" + "</Item>" ); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("content",x.GetXml()); if(url::get("/sale/data/ProductLibrary/image/update", arg.GetString(),x)!=1) { alert(x.GetXmlDoc().text); return -1; } dw_list.SetItemString(row,"pic","*"); dw_list.Redraw(); //7R°eN NLub— ÿ>f:yþVGr OnShowImageEx(dw_list.GetItemString(dw_list.GetRow(),"GDNLineID")); return 1; } int OnDeleteImage() { int row = dw_list.GetNextSelectRow(1); if(row < 1) row = dw_list.GetRow(); if(row < 1 || row > dw_list.GetRowCount()) return 0; imageview im = GetControl("im1"); int index = im.GetSelectIndex(); int count = im.GetImageCount(); if(count < 1) return 1; msxml::IXMLDOMNodeList images = imageElement.selectNodes("image"); int length = images.length; if(length < index) return 1; int MB_OKCANCEL = 0x00000001; int IDOK = 1; if(win32::MessageBox(GetHWND(),"nx¤‹ Rd–S_MRþVGr?","Ðc:y", MB_OKCANCEL)!=IDOK) return 1; string id = images.item(index).selectSingleNode("@guid").text; xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); string str = "<Item update.modify='1' update.delete='1' guid='"+id+"'/>"; arg.AddArg("content",str); if(url::get("/sale/data/ProductLibrary/image/update", arg.GetString(),x)!=1) { alert(x.GetXmlDoc().text); return -1; } if(count==1) { dw_list.SetItemString(row,"pic",""); dw_list.Redraw(); } string skuid = dw_list.GetItemString(row,"SKUID"); string SKUNo = dw_list.GetItemDisplayString(row,"SKUID"); string CustomerItemNo = dw_list.GetItemString(row,"CustomerItemNo"); OnShowImageEx(dw_list.GetItemString(dw_list.GetRow(),"GDNLineID")); return 1; } int OnShowImageEx(string GDNLineID) { imageview im = GetControl("im1"); im.ResetEx(); int i=0; msxml::IXMLDOMElement xitem =0; string picname; string goodno; xml x = xml::Make(); xaserverarg arg = xaserverarg::Make(); arg.AddArg("GDNLineID",GDNLineID); msxml::IXMLDOMNodeList nlist = 0; /*arg.AddArg("ShipImage","0"); xaserver::ExecXQuery(GetServerUrl(),"[GNDItem.PictureList.xq]",arg.GetString(),x); nlist = x.GetXmlDoc().selectNodes("ImageList/image"); for(i=0;i<nlist.length;i++) { xitem = nlist.item(i); picname = xitem.selectSingleNode("PicPath").text; im.AddImages(picname, "7hÁTþVGr"); }*/ arg.AddArg("ShipImage","1"); xaserver::ExecXQuery(GetServerUrl(),"[GNDItem.PictureList.xq]",arg.GetString(),x); imageElement = x.GetXmlDoc().documentElement; nlist = x.GetXmlDoc().selectNodes("ImageList/image"); for(i=0;i<nlist.length;i++) { xitem = nlist.item(i); picname = xitem.selectSingleNode("PicPath").text; im.AddImages(picname, "[úQ'þVGr]"); } im.Redraw(); return 1; } int OnShowImage(string skuid, string customerItemNo) { imageview im = GetControl("im1"); im.ResetEx(); xml xp=new xml; xp.setNativePointer(xml::CreateInstance()); xaserverarg arg_pic=new xaserverarg; arg_pic.setNativePointer(arg_pic.CreateInstance()); arg_pic.AddArg("SKUID",skuid); arg_pic.AddArg("CustomerID",dw_list.GetItemString(dw_list.GetRow(),"CustomerID")); arg_pic.AddArg("CustomerItemNo",customerItemNo); alert(arg_pic.GetString()); if(url::get("/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKU",arg_pic.GetString(),xp)!=1) { trace("error:" + xp.GetXml()); }else { imageElement = xp.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlistp= xp.GetXmlDoc().selectNodes("ImageList/image"); int lenp = nlistp.length; for(int ip=0;ip<lenp;ip++) { msxml::IXMLDOMElement xitem = nlistp.item(ip); string picname = xitem.selectSingleNode("PicPath").text; string goodno = xitem.selectSingleNode("GoodsNo").text; if(picname == "/business/products/Thumbs//") picname = "/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg"; im.AddImages(picname, ""); } im.Redraw(); } return 1; } int ShowRowImage(int row) { string id = dw_list.GetItemString(row,"SKUID"); string CustomerItemNo = dw_list.GetItemString(row,"CustomerItemNo"); OnShowImageEx(dw_list.GetItemString(row,"GDNLineID")); return 1; } int OnRowChanged(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); int row = hdr.row; return ShowRowImage(row); } int OnRetrieve() { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); dw_arg.AcceptText(); dw_arg.DwUpdateAllTo(x.GetXmlDoc()); arg.AddArg("query",x.GetXml()); trace(x.GetXml()); if (getUrl("/sale/data/ProductLibrary3/customeritem/list",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); return -1; }else { dw_list.Retrieve(x); dw_list.Redraw(); } if(dw_list.GetRowCount() > 0) OnShowImageEx(dw_list.GetItemString(1,"GDNLineID")); return 1; } int onload() { dw_list = GetControl("dw_list"); dw_list.SetDataObject(GetServerUrl(),"dev:sheet[ProductLibrary.tpl/GoodsCustomerList]"); dw_arg= GetControl("dw_arg"); dw_arg.openUrl("/sale/view/ProductLibrary/template/ItemCustomerArg"); dw_arg.SetColHeaderHeight(0); dw_arg.SetRowSelectorWidth(0); dw_arg.SetHScrollState(false); dw_arg.SetVScrollState(false); dw_list.SetColumnState("UnitPrice",false); dw_list.SetColumnState("CurrencyCode",false); //dw_list.SetColumnState("CustomerID",false); dw_list.SetColumnState("SKUID",false); dw_list.SetColumnState("GDNLineID",false); imageElement = 0; OnAttachEvent(); return 1; } int onloaded() { SetAgent(); OnRetrieve(); return 1; } }; ]