ÿþ#include <wobject/xstring.hpp> #include <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include <wobject/xdouble.hpp> #include <xcontrol/xlayersheet.hpp> #include <xcontrol/xdatetimepick.hpp> #include <xcontrol/ximageview.hpp> #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) ViewPicturesEx : public xframe { public: ViewPicturesEx(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static ViewPicturesEx* CreateInstance(void* implPtr, void* hWnd) { return new ViewPicturesEx(implPtr, (HWND)hWnd); } public: KXMLDOMElement imageElement; xstring m_customer; int OnCmdDispatch(xstring comdid) { if(comdid==L"xmClose") { CloseWindow(); return 1; } return 0; } int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { AttachEvent(L"WM_XCOMMAND", (FEvent)&ViewPicturesEx::OnXCommand); return 1; } int OnShowImage(xstring skuid,xstring customerItemNo,xstring CustomerID) { ximageview im = GetControl(L"im1"); im.Reset(); xml xp; xaserverarg arg_pic; arg_pic.AddArg(L"SKUID",skuid); arg_pic.AddArg(L"CustomerID",CustomerID); arg_pic.AddArg(L"CustomerItemNo",customerItemNo); //alert(arg_pic.GetString()); if(xurl::get(L"/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKU",arg_pic.GetString(),xp)!=1) { trace(L"error:" + (xstring)xp.xml()); }else { imageElement = xp.documentElement(); KXMLDOMNodeList nlistp= xp.selectNodes(L"ImageList/image"); int lenp = nlistp.length(); if(lenp >0) { for(int ip=0;ip<lenp;ip++) { KXMLDOMElement xitem = nlistp.item(ip); xstring picname = xitem.selectSingleNode(L"PicPath").text(); xstring goodno = xitem.selectSingleNode(L"GoodsNo").text(); if(picname == L"/business/products/Thumbs//") picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg"; im.AddImages(picname, L""); } } else { OnShowImageEx(skuid); } im.Redraw(); } return 1; } int OnShowImageEx(xstring skuid) { ximageview im = GetControl(L"im1"); //im.RemoveImage(); im.Reset(); xml xp; xaserverarg arg_pic; arg_pic.AddArg(L"SKUID",skuid); if(xurl::get(L"/sale/data/ProductLibrary3/pref/picture/imagelistSKU",arg_pic.GetString(),xp)!=1) { trace(xstring(L"xxx",xp.xml())); }else { trace(skuid+L"===== L"+xp.xml()); imageElement = xp.documentElement(); KXMLDOMNodeList nlistp= xp.selectNodes(L"ImageList/image"); int lenp = nlistp.length(); for(int ip=0;ip<lenp;ip++) { KXMLDOMElement xitem = nlistp.item(ip); xstring picname = xitem.selectSingleNode(L"PicPath").text(); xstring goodno = xitem.selectSingleNode(L"GoodsNo").text(); if(picname == L"/business/products/Thumbs//") picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg"; im.AddImages(picname, L""); } im.Redraw(); //SendMessage(im.GetId(),0x000f,0,1); //InvalidateRect(im.GetId(),cast(0 as ref xrect),true); } return 1; } int onload() { SetArg(); OnAttachEvent(); xaserverarg arg ; int p = GetArg(); xstring skuid = arg.GetArgString(L"guid"); xstring customerItemNo=arg.GetArgString(L"CustomerItemNo"); xstring CustomerID=arg.GetArgString(L"CustomerID"); OnShowImage(skuid,customerItemNo,CustomerID); return 1; } };