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(""); this.m_configDoc = x.GetXmlDoc(); rowSearch("ϵͳÓû§.vface/template/SysUser/list"); GridSearchEx(); return 1; } ] ] ]