use "xcontrol.vframe.vbusiness.vd"
use "xbase.vframe.vbusiness.vd"
unit trade
[
class SupplierMessageWin : public xframe
{
xdwtable dw_base;
//xdwgrid dw_list;
xnode m_agentNode; //Agent Condition
int SetAgent()
{
return 1;
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;
}
//½¹µã¼¤»î´¦Àíº¯Êý
int OnSetFocus(ref TEvent evt,int param)
{
//ÖØÖù¤¾ßÌõ
SetAgent();
return 1;
}
int UpLoad(string name)
{
string str = name.mid(0,2);
str = str.upper();
int ret1 = xaserver::Upload("supplier"+str, name+".jpg", this.GetHWND(),"",false);
return ret1;
}
int OnItemClick(ref TNotifyEvent evt,int p)
{
ref DWNMHDR hdr1 = trust(evt.pnmh as ref DWNMHDR);
string colname1= hdr1.colname;
ref DWNMHDR hdr = evt.pnmh;
string value = hdr.data;
xaserverarg arg=new xaserverarg;
arg.setNativePointer(arg.CreateInstance());
if(value == "ÉÏ´«¸½¼þ")
{
string strguid = publiccode::GetGuid();
//alert(strguid);
int ret1 = UpLoad(strguid);
if(ret1 == -1)
return -1;
if(ret1 == 0)
{
alert("ÉÏ´«¸½¼þʧ°Ü");
return -1;
}
else
{
alert("ÉÏ´«¸½¼þ³É¹¦");
string strimage=dw_base.GetItemString(1,"ImageList1");
//alert(strimage);
if(strimage=="")
strimage="";
xml y=new xml;
y.setNativePointer(xml::CreateInstance());
y.LoadXml(strimage);
msxml::IXMLDOMElement ele= y.GetXmlDoc().documentElement;
xml x=new xml;
x.setNativePointer(xml::CreateInstance());
string xx = ""+strguid+".jpg";
x.LoadXml(xx);
msxml::IXMLDOMElement e= x.GetXmlDoc().selectSingleNode("//image");
ele.appendChild(e);
dw_base.SetItemString(1,"ImageList1",ele.xml);
dw_base.Redraw();
}
}
if(value == "²é¿´")
{
arg.AddArg("src",dw_base.GetItemString(1,"ImageList1"));
int pa = arg.getNativePointer();
openUrl("/sale/view/SupplierV3/xpage/supplierattachment/picture", pa);
arg.setNativePointer(pa);
dw_base.SetItemString(1,"ImageList1",arg.GetArgString("src"));
}
return 1;
}
int GetEntityData(xaserverarg arg)
{
xml x = new xml;
x.setNativePointer(xml::CreateInstance());
dw_base.DwUpdateAllTo(x.GetXmlDoc());
arg.AddArg("EntityData",x.GetXml());
return 1;
}
xaserverarg GetArg(string comdid)
{
if(comdid.find(":")>=0)
{
xaserverarg arg = comdid.mid(comdid.find(":")+1,64).toInt();
return arg;
}
return 0;
}
int GetEntityInfo(xaserverarg arg)
{
arg.AddArg("EntityName","Supplier");
arg.AddArg("EntityID",dw_base.GetGuid(1));
return 1;
}
//ÃüÁî·¢²¼º¯Êý
int OnCmdDispatch(string comdid)
{
if(comdid.find("GetEntityInfo:")==0) return GetEntityInfo(GetArg(comdid));
else if(comdid.find("GetEntityData:")==0) return GetEntityData(GetArg(comdid));
else if(comdid=="xmAddRow") return OnAddRow();
else if(comdid=="xmDeleteRow") return OnDeleteRow();
return 0;
}
//ÃüÁî´¦Àíʼþ
int OnXCommand(ref TXCommandEvent evt,int param)
{
return OnCmdDispatch(evt.pStrID);
}
int OnAttachEvent()
{
//°ó¶¨¹¤¾ßÌõµã»÷ʼþ
AttachEvent("WM_XCOMMAND",OnXCommand);
//»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ
AttachEvent("WM_SETFOCUS",OnSetFocus);
AttachEvent("dw_base","DWV_CLICKED",OnItemClick);
}
int OnAddRow()
{
xdwtable dw_obj = dw_base.FindDwTable("item");
dw_obj.InsertRow(0);
return 1;
}
int OnDeleteRow()
{
xdwtable dw_obj = dw_base.GetCurTable();
dw_obj.DeleteRow(0);
return 1;
}
/*
int OnRetrieve()
{
xml x = new xml;
x.setNativePointer(xml::CreateInstance());
xaserverarg arg = new xaserverarg;
arg.setNativePointer(arg.CreateInstance());
arg.AddArg("xxx","xxx");
if (getUrl("",arg.GetString(),x)!=1)
{
trace(x.GetXmlDoc().text);
return -1;
}else
{
//dw_list.Retrieve(x);
//dw_list.Redraw();
}
return 1;
}
*/
int onload()
{
dw_base = GetControl("dw_base");
dw_base.openUrl("/sale/view/SupplierV3/template/supplier/simplebase");
dw_base.SetColHeaderHeight(0);
dw_base.SetRowSelectorWidth(0);
//dw_base.SetHScrollState(false);
//dw_base.SetVScrollState(false);
OnAttachEvent();
return 1;
}
int onloaded()
{
SetAgent();
return 1;
}
};
]