use "win.vl"
|
use "treeview.vm"
|
use "dev:vm[xdwgrid.vm]"
|
use "dev:vm[xdwtable.vm]"
|
use "pref.vl"
|
use "dev:vm[xml.vm]"
|
use "dev:vm[xaserverarg.vm]"
|
use "dev:vm[xaserver.vm]"
|
use "dev:vm[xutil.vm]"
|
use "dev:code[pa.tpp]"
|
use "list.vl"
|
|
unit vbusiness.xpage
|
[
|
SysUser is extend list;
|
about SysUser
|
[
|
|
method:
|
[
|
treeview__ tv_usergroup;
|
xdwgrid__ dw_user;
|
xnode__ m_agentNode;
|
string strJobID;
|
int SetAgent()
|
{
|
string xfNodeAgentArea = "agentarea";
|
xnode__ anode = new xnode__;
|
anode.setNativePointer(GetAgentNode(xfNodeAgentArea));
|
var xframeElement = GetElement();
|
var agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
|
if(agent)
|
{
|
string s = agent.xml;
|
SetAgentNodeContent (anode,s);
|
}
|
return 1;
|
}
|
|
//½¹µã¼¤»î´¦Àíº¯Êý
|
int OnSetFocus(ref TEvent evt,int param)
|
{
|
SetAgent();
|
//ÖØÖù¤¾ßÌõ
|
return 1;
|
}
|
|
int SetEntityData(param p)
|
{
|
xml__ x=new xml__;
|
x.setNativePointer(x.CreateInstance());
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
string str = this.m_QueryTxt;
|
//trace(ele.xml);
|
//alert(str);
|
arg.AddArg("guid",str);
|
//trace(strJobID);
|
if (xaserver__::ExecXQuery("","[list.SysUser.xq]",arg.GetString(),x) == 1)
|
{
|
dw_user.AcceptText();
|
dw_user.Retrieve(x);
|
dw_user.Redraw();
|
}
|
return 1;
|
}
|
|
int OnTreeSelChanged(ref TNotifyEvent evt,int p)
|
{
|
ref NMTREEVIEW nmtv = evt.pnmh;
|
int hItem = nmtv.itemNew.hItem;
|
|
int wid = tv_usergroup.GetId();
|
int hitem=treeview__::GetSelectedItem(wid);
|
int rootItem = treeview__::GetRootItem(wid);
|
//if (hItem <=0 || hItem == rootItem)
|
// return 0;
|
msxml::IXMLDOMElement ele = treeview__::GetItemData(wid,hitem);
|
//trace("ok");
|
if (ele)
|
{
|
xml__ x=new xml__;
|
x.setNativePointer(x.CreateInstance());
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
strJobID = ele.selectSingleNode("@JobID").text;
|
//trace(ele.xml);
|
//alert(strJobID);
|
arg.AddArg("guid",strJobID);
|
//trace(strJobID);
|
if (xaserver__::ExecXQuery("","[list.SysUser.xq]",arg.GetString(),x) == 1)
|
{
|
dw_user.AcceptText();
|
dw_user.Retrieve(x);
|
dw_user.Redraw();
|
}
|
}
|
|
return 1;
|
}
|
|
int xmImport()
|
{
|
|
int wid = tv_usergroup.GetId();
|
int hitem=treeview__::GetSelectedItem(wid);
|
if (!hitem)
|
{
|
alert("ÇëÑ¡Ôñְλ£¡");
|
return 0;
|
}
|
OpenWindow("dev:xpage[UserImport.vx]",this);
|
//openUrl("ϵͳÓû§.vface/xpage/SysUser/UserImport", this);
|
return 1;
|
}
|
int OnSave()
|
{
|
xml__ x=new xml__;
|
x.setNativePointer(x.CreateInstance());
|
dw_user.DwUpdateAllToEx(x.GetXmlDoc());
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("content",x.GetXml());
|
arg.AddArg("dbmap","SysUser.dbmap");
|
if(getUrl("/sale/data/SysUser/SysUser",arg.GetString(),x)!=1)
|
{
|
//trace("error:"+x.GetXml());
|
alert("±£´æÊ§°Ü");
|
}
|
else{
|
if(x.GetXmlDoc().selectSingleNode("erroe"))
|
{
|
alert("±£´æ³ö´í2! ");
|
return 0;
|
}
|
//trace(x.GetXml());
|
dw_user.ResetUpdateStatus();
|
win__::MessageBox(GetHWND(),"±£´æ³É¹¦£¡","Ìáʾ",0);
|
}
|
|
/* arg.AddArg("xdata",x.GetXml());
|
//arg.AddArg("jobguid",strJobID);
|
//trace(x.GetXml());
|
//trace(strJobID);
|
//if (getUrl("/sale/data/SysUser/SysUser",arg.GetString(),x) != 1)
|
//trace(xaserver__::ExecXAction(GetServerUrl(),"[SysUser.xa]",arg.GetString(),x));
|
if (xaserver__::ExecXAction(GetServerUrl(),"[SysUser.xa]",arg.GetString(),x)!=1)
|
{
|
//trace("error:"+x.GetXml());
|
alert("±£´æÊ§°Ü");
|
}
|
else{
|
if(x.GetXmlDoc().selectSingleNode("ERROR"))
|
{
|
alert("±£´æ³ö´í2! ");
|
return 0;
|
}
|
win__::MessageBox(GetHWND(),"±£´æ³É¹¦£¡","Ìáʾ",0);
|
}*/
|
return 1;
|
}
|
int OnAddRow()
|
{
|
int wid = tv_usergroup.GetId();
|
int hitem=treeview__::GetSelectedItem(wid);
|
if(hitem==0)
|
{
|
alert("ÇëÏÈÑ¡ÔñְλÀàÐÍ£¡");
|
}
|
else
|
{
|
int row = dw_user.InsertRow(0);
|
dw_user.SetItemString(row,"Status","Y");
|
}
|
return 1;
|
}
|
|
int OnInsertRow()
|
{
|
int wid = tv_usergroup.GetId();
|
int hitem=treeview__::GetSelectedItem(wid);
|
if(hitem==0)
|
{
|
alert("ÇëÏÈÑ¡ÔñְλÀàÐÍ£¡");
|
}
|
else
|
{
|
int crow=dw_user.GetRow();
|
int row=dw_user.InsertRow(crow);
|
dw_user.SetItemString(row,"Status","Y");
|
}
|
return 1;
|
}
|
|
int OnDeleteRow()
|
{
|
int row=dw_user.GetRow();
|
dw_user.DeleteRow(row);
|
return 1;
|
}
|
|
int OnJobType()
|
{
|
openUrl("×éÖ¯¼Ü¹¹.vface/worknode/Hr/HrJob");
|
return 1;
|
}
|
|
int OnClicked(ref TNotifyEvent evt,int p)
|
{
|
ref DWNMHDR hdr = evt.pnmh;
|
int row = hdr.row;
|
int col=hdr.col ;
|
string colname=dw_user.GetColumnName(col);
|
msxml::IXMLDOMElement xrow = dw_user.GetRowElement(row);
|
string BindComputer=xrow.selectSingleNode("BindComputer").text;
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
if(BindComputer != "" )
|
{
|
arg.AddArg("BindComputer",BindComputer);
|
}
|
|
string comdid;
|
if(colname=="BindComputer")
|
{
|
openUrl("ϵͳÓû§.vface/xpage/SysUser/BindComputer/dialog", arg);
|
comdid = arg.GetArgString("comdid");
|
if(comdid=="ok")
|
{
|
string strxml = arg.GetArgString("xml");
|
dw_user.SetItemDisplayString(row,colname,strxml);
|
dw_user.SetItemString(row,colname,strxml);
|
dw_user.Redraw();
|
}
|
}
|
return 1;
|
}
|
|
int OnResetPass()
|
{
|
xaserverarg__ arg = new xaserverarg__;
|
int pt = arg.CreateInstance();
|
arg.setNativePointer(pt);
|
|
int row = dw_user.GetRow();
|
if(row < 1) return 1;
|
arg.AddArg("user", dw_user.GetItemString(row,"EmployeeNo"));
|
|
OpenWindow("dev:xpage[ResetUserPassDlg.vx]",pt);
|
return 1;
|
}
|
|
int Onlog()
|
{
|
openUrl("/sale/view/SysUser/xpage/SysUser/SysLoginRecord");
|
return 1;
|
}
|
//ÃüÁî·¢²¼º¯Êý
|
int OnCmdDispatch(string comdid)
|
{
|
if (comdid =="Save") OnSave();
|
else if (comdid =="AddRow") OnAddRow();
|
else if (comdid =="InsertRow") OnInsertRow();
|
else if (comdid =="DeleteRow") OnDeleteRow();
|
else if (comdid =="JobType") OnJobType();
|
else if (comdid=="xmImport") xmImport();
|
else if (comdid == "xmLog") Onlog();
|
else if(comdid=="_cb_grid_search") return GridSearchEx();
|
else if(comdid=="xmResetPass") return OnResetPass();
|
else if(comdid=="xmResetPassEx") OpenWindow("dev:xpage[SysForcePassward.vx]");
|
return 0;
|
}
|
|
|
//ÃüÁî´¦Àíʼþ
|
int OnXCommand(ref TXCommandEvent evt,int param)
|
{
|
return OnCmdDispatch(evt.pStrID);
|
}
|
|
int OnAttachEvent()
|
{
|
//°ó¶¨¹¤¾ßÌõµã»÷ʼþ
|
AttachEvent("WM_XCOMMAND",OnXCommand);
|
//»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ
|
AttachEvent("WM_SETFOCUS",OnSetFocus);
|
//»ñµÃÊ÷µÄÑ¡Ôñʼþ
|
AttachEvent("tv_usergroup", "TVN_SELCHANGED",OnTreeSelChanged);
|
//AttachEvent("dw_user","DWV_ITEMBEINGEDIT",OnClicked);
|
AttachEvent("dw_user","DWV_DOUBLECLICKED",OnClicked);
|
}
|
|
int OnInitial()
|
{
|
SetAgent();
|
|
OnAttachEvent();
|
return 1;
|
}
|
|
int onload()
|
{
|
m_agentNode = new xnode__;
|
|
tv_usergroup = new treeview__;
|
tv_usergroup.setNativePointer(this.GetControl("tv_usergroup"));
|
dw_user = new xdwgrid__;
|
dw_user.setNativePointer(this.GetControl("dw_user"));
|
dw_user.SetDataObject(GetServerUrl(),"dev:sheet[SysUser.tpl/UserList]");
|
dw_user.SetReadOnly(true);
|
dw_user.SetSelectionMode(1);
|
|
OnInitial();
|
int wid = tv_usergroup.GetId();
|
int root = treeview__::GetRootItem(wid);
|
treeview__::ExpandItem(wid,root);
|
|
xml__ x=new xml__;
|
x.setNativePointer(xml__::CreateInstance());
|
x.LoadXml("<Config/>");
|
this.m_configDoc = x.GetXmlDoc();
|
rowSearch("ϵͳÓû§.vface/template/SysUser/list");
|
GridSearchEx();
|
|
return 1;
|
}
|
]
|
|
]
|
]
|