use "xcontrol.vframe.vbusiness.vd"
use "xbase.vframe.vbusiness.vd"
use "base.view.vd"
unit trade
[
class MessageBusinessWin : public xframe
{
//xdwgrid dw_list;
xdwtable dw_base;
xnode m_agentNode; //Agent Condition
xwin sheet;
bool readonly;
string MessageID;
string bill;
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 OnItemChanged(ref TNotifyEvent evt,int p)
{
ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
string colname=hdr.colname;
string value = hdr.data;
int row = hdr.row;
if(colname=="Category")
{
if(value=="¹©Ó¦ÉÌÉêÇë")
{
dw_base.SetItemString(1,"Receiver","fdp-011");
dw_base.SetItemString(1,"Subject","ÇëÌí¼Ó");
}
return 1;
bool changed = false;
xml x = ViewObject::RetrieveData("/sale/data/business/message/maint","typ",value);
if(x)
{
string xpage_ = x.GetXmlDoc().documentElement.getAttribute("xpage");
string templaterpt = x.GetXmlDoc().documentElement.getAttribute("template");
if(xpage_ !="")
{
string s = "";
s += "";
s += "";
SetAgentNodeContent (GetAgentNode("agent"),s);
SwitchLayer("sheet2","frame");
sheet = GetChildWin("contentex");
changed = true;
}
}
if(!changed)
{
sheet = 0;
SwitchLayer("sheet1","frame");
}
}
return 1;
}
//ÃüÁî·¢²¼º¯Êý
int OnCmdDispatch(string comdid)
{
if(comdid=="xmSend")
{
if(!readonly) OnSend();
return 1;
}
else if(comdid=="xmSave")
{
if(!readonly) OnSave();
return 1;
}
else if(comdid=="xmCancel")
{
CloseWindow();
return 1;
}
if(sheet && comdid !="")
{
int ret = win32::SendMessage(sheet.GetHWND(),0x401,comdid,0);
if(ret) return ret;
}
return 0;
}
//ÃüÁî´¦Àíʼþ
int OnXCommand(ref TXCommandEvent evt,int param)
{
return OnCmdDispatch(evt.pStrID);
}
int OnDWClick(ref TNotifyEvent evt,int p)
{
ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
string value = hdr.data;
string colname = hdr.colname;
if (value == "ÊÕ¼þÈË:")
{
xaserverarg arg2 = new xaserverarg;
arg2.setNativePointer(arg2.CreateInstance());
xaserverarg parg2 = GetParam();
OpenWindow("dev:xpage[UserGroupPersonSelect.vx]",cast(arg2 as int));
if(arg2.GetArgString("comdid")=="xmOk")
{
string data = arg2.GetArgString("data");
xml x2 = new xml;
x2.setNativePointer(xml::CreateInstance());
x2.LoadXml(data);
msxml::IXMLDOMNodeList nodes = x2.GetXmlDoc().selectNodes("/root/item");
trace(x2.GetXml());
int len = nodes.length;
string Names = "";
for(int i=0;i= 0)
{
tm = str2.mid(pos+"EntityID=".length(),64);
if(tm.find(" ")>0) tm = tm.left(tm.find(" "));
EntityID=tm;
}
pos = str2.find("Category=");
if(pos >= 0)
{
tm = str2.mid(pos+"Category=".length(),64);
if(tm.find(" ")>0) tm = tm.left(tm.find(" "));
Category=tm;
}
trace("EntityID:"+EntityID);
trace("Category:"+Category);
if(EntityID != "" && Category != "")
{
string eleStr = "
";
bill = "EntityID="+EntityID+" Category=" + Category;
ShowDetail(eleStr);
}
}
}
return 1;
}
int ShowDetail(string eleStr)
{
xaserverarg arg=new xaserverarg;
arg.setNativePointer(arg.CreateInstance());
arg.AddArg("content",eleStr);
xml doc=new xml;
doc.setNativePointer(xml::CreateInstance());
if(getUrl("/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1)
{
trace("error->:"+doc.GetXml());
return 0;
}
if(doc.GetXml() == "")
return -1;
htmlctrl ht = GetControl("taskinfo");
ht.SetContent(doc.GetXml());
ht.Redraw();
return 1;
}
int onload()
{
dw_base = GetControl("dw_base");
dw_base.openUrl("/sale/view/business3/template/message/maint");
dw_base.SetColHeaderHeight(0);
dw_base.SetRowSelectorWidth(0);
dw_base.SetHScrollState(false);
dw_base.SetVScrollState(false);
dw_base.SetItemString(1,"Category","ÆÕͨ");
OnAttachEvent();
readonly = false;
MessageID = "";
bill = "";
SetAgent();
if(GetParam())
{
xaserverarg arg = GetParam();
MessageID = arg.GetArgString("id");
if(arg.GetArgString("readonly")=="1") readonly=true;
OnRetrieve();
if(arg.GetArgString("EntityID")!="")
{
string str = "
";
bill = "EntityID="+arg.GetArgString("EntityID")+" Category=" + arg.GetArgString("EntityName");
ShowDetail(str);
}
}
return 1;
}
int onloaded()
{
return 1;
}
};
]