use "xcontrol.vframe.vbusiness.vd"
|
use "xbase.vframe.vbusiness.vd"
|
|
unit trade
|
[
|
class ViewLogList : public xwin
|
{
|
xdwgrid dw_list;
|
xoffice dw_office;
|
xcell dw_cell;
|
xnode m_agentNode; //Agent Condition
|
string m_category;
|
string argStr;
|
string searchStr;
|
|
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;
|
}
|
|
//½¹µã¼¤»î´¦Àíº¯Êý
|
int OnSetFocus(ref TEvent evt,int param)
|
{
|
//ÖØÖù¤¾ßÌõ
|
SetAgent();
|
return 1;
|
}
|
|
//ÃüÁî·¢²¼º¯Êý
|
int OnCmdDispatch(string comdid)
|
{
|
int hCursor = 0;
|
if(comdid=="xmQuery")
|
{
|
xaserverarg ar = new xaserverarg;
|
ar.setNativePointer(ar.CreateInstance());
|
ar.AddArg("argurl","/sale/view/Total3/arg/LogListItem");
|
if(argStr !="")
|
ar.AddArg("arg",argStr);
|
OpenWindow("dev:xpage[view.total.arg.vx]",cast(ar as int));
|
string arstr = ar.GetArgString("arg");
|
if(arstr != "" && ar.GetArgString("action")=="ok")
|
{
|
argStr = arstr;
|
hCursor = xutil::SetCursorWait();
|
OnRetrieve("/sale/data/Total3/total/GDNTotal/Item/LogList",argStr);
|
|
xutil::RestoreCursor(hCursor);
|
}
|
|
else
|
{
|
argStr="";
|
OnRetrieve("/sale/data/Total3/total/GDNTotal/Item/LogList",argStr);
|
}
|
|
return 1;
|
}
|
if(comdid=="xmAnalysis")
|
{
|
hCursor = xutil::SetCursorWait();
|
string str = dw_list.DataAnalysis("");
|
xaserverarg arg=new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("html", str);
|
int obj = cast(dw_list as int);
|
arg.AddArg("obj",obj.toString());
|
OpenWindow("dev:xpage[data.vanalysis.vx]", cast(arg as int));
|
xutil::RestoreCursor(hCursor);
|
return 1;
|
}
|
if(comdid=="xmSearch") return OnSearch();
|
return 0;
|
}
|
|
int OnSearch()
|
{
|
xaserverarg arg=new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("text", searchStr);
|
OpenWindow("dev:xpage[search.dialog.vx]", cast(arg as int));
|
string str = arg.GetArgString("text");
|
if(str != searchStr)
|
{
|
searchStr = str;
|
dw_list.Filter("*",searchStr);
|
return 1;
|
}
|
return 1;
|
}
|
|
|
|
int OnCombboChanged(ref TCommandEvent evt,int lParam)
|
{
|
int h = xcombobox::GetCurSel(evt.hCtrl);
|
if(h > -1)
|
{
|
int hCursor = xutil::SetCursorWait();
|
msxml::IXMLDOMElement e = xcombobox::GetItemData(evt.hCtrl, h);
|
|
win32::PostMessage(GetHWND(),0x401,"xmQuery",0);
|
//OnCmdDispatch("xmQuery");
|
xutil::RestoreCursor(hCursor);
|
}
|
return 1;
|
}
|
|
|
|
//ÃüÁî´¦Àíʼþ
|
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;
|
int row = hdr.row;
|
|
if(row < 1) return 1;
|
|
return 1;
|
}
|
|
int OnAttachEvent()
|
{
|
//°ó¶¨¹¤¾ßÌõµã»÷ʼþ
|
AttachEvent("WM_XCOMMAND",OnXCommand);
|
//»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ
|
AttachEvent("WM_SETFOCUS",OnSetFocus);
|
AttachEvent("cb_report","CBN_SELCHANGE",OnCombboChanged);
|
AttachEvent("dw_report","DWV_CLICKED",OnDWClick);
|
}
|
|
int OnRetrieve(string dataurl, string argstr)
|
{
|
dw_list.Reset();
|
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("arg",argstr);
|
//alert(argstr);
|
|
if (url::get(dataurl,arg.GetString(),x)!=1)
|
{
|
//alert(x.GetXml());
|
trace(x.GetXmlDoc().text);
|
dw_list.Redraw();
|
return -1;
|
}
|
//alert(x.GetXml());
|
dw_list.Retrieve(x);
|
dw_list.Redraw();
|
dw_list.SetReadOnly(true);
|
|
return 1;
|
}
|
|
int onload()
|
{
|
dw_list = GetControl("dw_report");
|
dw_office = GetControl("dw_office");
|
dw_cell = GetControl("dw_cell");
|
dw_list.openUrl("/sale/view/Total3/template/business/gdn/LogList/ship/full");
|
|
argStr ="";
|
xcombobox xc = GetControl("cb_report");
|
|
|
OnAttachEvent();
|
return 1;
|
}
|
|
int onloaded()
|
{
|
SetAgent();
|
OnCmdDispatch("xmQuery");
|
return 1;
|
}
|
};
|
]
|