use "xcontrol.vframe.vbusiness.vd"
|
use "xbase.vframe.vbusiness.vd"
|
|
unit trade
|
[
|
class SKUProductPictureView3 : public frame
|
{
|
imageview im;
|
xml doc;
|
int m_winHwnd;
|
int ParentHWND;
|
|
int hiddenBox(string name, bool f)
|
{
|
//xnode anode = GetAgentNode(name);
|
xnode anode = GetAgentNode(name);
|
int LayerFlow_None = 0x00000001;
|
int LayerFlow_UnLayer = 0x00000100;
|
int LayerFlow_NS = 0x00000004;
|
int LayerFlow_WE = 0x00000008;
|
int LayerFlow_Control = 0x00000010;
|
if (f)
|
anode.SetLayerFlow(LayerFlow_WE | LayerFlow_Control);
|
else
|
anode.SetLayerFlow(LayerFlow_None | LayerFlow_UnLayer);
|
return 1;
|
}
|
|
int OnImgDBClicked(ref TNotifyEvent evt, int pr)
|
{
|
ref IMGNNMHDR nmtv = evt.pnmh;
|
string src = nmtv.path;
|
/*if(src.length() > 60)
|
src = src.right(44);
|
else
|
src=src.mid(src.find("Thumbs", 0)+6, 50);
|
*/
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
//arg.AddArg("src","/business/products/chanpin"+src);
|
arg.AddArg("src", src);
|
|
//win::OpenWindow("dev:xpage[BigPicture.vx]",arg);
|
|
int h = openUrl("/sale/view/ProductLibrary/xpage/bigpictureview", arg);
|
return 1;
|
|
xwin x = new xwin;
|
x.setNativePointer(h);
|
m_winHwnd = x.GetHWND();
|
|
string sh = doc.GetXml();
|
int p = cast(sh as int);
|
win32::SendMessage(m_winHwnd, 0x401, p, 0);
|
return 1;
|
}
|
|
int OnCmdDispatch(string comdid)
|
{
|
if (comdid == "xmSave")
|
{
|
string x = " ".space(256);
|
xutil::OpenDialog(this.GetHWND(), x);
|
if (x == "") return 0;
|
|
msxml::IXMLDOMElement e = doc.GetXmlDoc().selectSingleNode("ImageList");
|
msxml::IXMLDOMNodeList nlist = e.SelectNodes("image");
|
|
int hCursor = xutil::SetCursorWait();
|
int s = nlist.length;
|
string result = "";
|
for (int i = 0; i < s; i++)
|
{
|
msxml::IXMLDOMElement xitem = nlist.item(i);
|
string picname = xitem.selectSingleNode("PicPath").text;
|
if (picname == "") continue;
|
string goodsno = xitem.selectSingleNode("GoodsNo").text;
|
string src = picname.mid(26, picname.length());
|
//trace(picname + "-->" + src + "\r\n");
|
if (src == "" || src == "/") continue;
|
int openRet = xaserver::DownLoadFile(GetServerUrl(), "/business/products/chanpin/" + src, "", x + "/" + goodsno + ".jpg");
|
if (openRet < 0)
|
{
|
//trace(picname + "-->" + src + "\r\n");
|
result += goodsno + " ";
|
}
|
}
|
xutil::RestoreCursor(hCursor);
|
if (result != "")
|
alert(result + "\r\nÒÔÉÏ»õºÅÏÂÔØÍ¼Æ¬Ê§°Ü!");
|
else
|
alert("±£´æÍê±Ï!");
|
}
|
else if (comdid == "xmDelete")
|
{
|
int hh = ParentHWND;
|
if (hh > 0)
|
{
|
int nIndex = im.GetSelectIndex();
|
if (nIndex < 0 || nIndex >= im.GetImageCount()) return 0;
|
im.RemoveImage(nIndex);
|
im.Redraw();
|
string comd = "Delete:" + nIndex.toString();
|
win32::SendMessage(hh, 0x401, comd, 0);
|
}
|
}
|
return 0;
|
}
|
|
int OnXCommand(ref TXCommandEvent evt, int p)
|
{
|
return OnCmdDispatch(evt.pStrID);
|
}
|
|
int OnCombboChange(ref TCommandEvent evt, int lParam)
|
{
|
xcombobox xc = GetControl("precent");
|
string text = xcombobox::GetLBText(xc.GetId());
|
int p = text.toInt();
|
if (p == 0) p = 100;
|
im.Preview(p);
|
return 1;
|
}
|
|
int OnAttachEvent()
|
{
|
AttachEvent("im1", "IMG_LDBCLICK", OnImgDBClicked);
|
AttachEvent("WM_XCOMMAND", OnXCommand);
|
AttachEvent("precent", "CBN_SELCHANGE", OnCombboChange);
|
}
|
|
int init()
|
{
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
xaserverarg arg = new xaserverarg;
|
|
if (this.GetParam())
|
arg = this.GetParam();
|
else
|
return 0;
|
|
if (url::get(GetEntityName(1) + "/pref/category/picture/list", arg.GetString(), x) != 1)
|
{
|
trace("xxx", x.GetXml());
|
return 0;
|
}
|
//trace(arg.GetString());
|
//trace(x.GetXml());
|
return 1;
|
}
|
|
int onload()
|
{
|
im = GetControl("im1");
|
OnAttachEvent();
|
|
ParentHWND = 0;
|
|
if (this.GetParam())
|
{
|
xaserverarg arg = new xaserverarg;
|
//arg.setNativePointer(arg.CreateInstance());
|
arg = this.GetParam();
|
string hh = arg.GetArgString("ParentHWND");
|
ParentHWND = hh.toInt();
|
string openflag = arg.GetArgString("OpenFlag");
|
//alert(openflag);
|
if (openflag != "0") hiddenBox("xmDelete", false);
|
//trace(arg.GetString());
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
//alert(arg.GetString());
|
//if(url::get("/sale/data/product/pref/category/picture/list",arg.GetString(),x)!=1)
|
if (url::get("/sale/data/ProductLibrary3/pref/picture/imagelistSKUNoList", arg.GetString(), x) != 1)
|
{
|
trace("xxx", x.GetXml());
|
return 0;
|
}
|
doc = x;
|
//alert(x.GetXml());
|
msxml::IXMLDOMElement e = x.GetXmlDoc().selectSingleNode("ImageList");
|
msxml::IXMLDOMNodeList nlist = e.SelectNodes("image");
|
int i;
|
int s = nlist.length;
|
for (i = 0; i < s; i++)
|
{
|
msxml::IXMLDOMElement xitem = nlist.item(i);
|
string picname = xitem.selectSingleNode("PicPath").text;
|
string goodno = xitem.selectSingleNode("GoodsNo").text;
|
//trace(picname + "\r\n");
|
if (picname == "/business/products/Thumbs//")
|
picname = "/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
|
im.AddImages(picname, goodno);
|
}
|
im.Redraw();
|
}
|
else {
|
im.AddImages("/business/products/chanpin/BL-002/291679.jpg", "x1");
|
im.AddImages("/business/products/chanpin/BL-002/291759.jpg", "x2");
|
im.AddImages("/business/products/chanpin/BL-002/417884.jpg", "x3");
|
im.Redraw();
|
}
|
win32::SetFocus(im.GetId());
|
|
string userno = xaserver::GetUserNo();
|
/*if(userno == "1003" || userno == "1137" || userno == "admin") {
|
//hiddenBox();
|
} else {
|
hiddenBox("xmSave", false);
|
}*/
|
hiddenBox("xmSave", false);
|
|
return -1;
|
}
|
};
|
]
|