use "win.vl"
|
use "dev:vm[xdwgrid.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 "frame.vl"
|
//unit vclient.vobject tpp
|
unit vbusiness.xpage
|
[
|
HrPerson is extend frame;
|
about HrPerson
|
[
|
control:
|
|
method:
|
[
|
xdwgrid__ dw_list;
|
xdwgrid__ dw_HrEmployee;
|
string m_sTxt;
|
|
xnode__ m_agentNode; //Agent Condition
|
string m_agentCond; //Agent Node
|
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 p)
|
{
|
SetAgent();
|
|
//ÖØÖù¤¾ßÌõ
|
return 1;
|
}
|
|
//xgridexË«»÷
|
int OnDoubleClicked(ref TNotifyEvent evt,int p)
|
{
|
ref DWNMHDR hdr = evt.pnmh;
|
int row = hdr.row;
|
if(row < 1 || row > dw_list.GetRowCount())
|
return 1;
|
msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
|
string sguid = e.SelectSingleNode("@guid").text;
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("operate","modify");
|
arg.AddArg("guid",sguid);
|
//trace(sguid);
|
//xwin::OpenWindow("dev:xpage[HrPersonMaint.xpage]",arg);
|
openUrl("×éÖ¯¼Ü¹¹.vface/xpage/Hr/HrPersonMaint", arg);
|
return 1;
|
}
|
//Ðиıä
|
int OnRowFocusChanged(ref TNotifyEvent evt,int p)
|
{
|
ref DWNMHDR hdr = evt.pnmh;
|
int row = hdr.row;
|
if(row < 1 || row > dw_list.GetRowCount())
|
return 1;
|
msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
|
string sPersonID = e.SelectSingleNode("@guid").text;
|
xml__ x = new xml__;
|
x.setNativePointer(x.CreateInstance());
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("guid",sPersonID);
|
|
if (url::get("OrganizationStruct/Person.HrEmployee",arg.GetString(),x) != 1)
|
{
|
trace(x.GetXmlDoc().text);
|
return -1;
|
}else
|
{
|
dw_HrEmployee.Retrieve(x);
|
dw_HrEmployee.Redraw();
|
}
|
|
return 1;
|
}
|
|
int OnRetrieve()
|
{
|
xml__ x = new xml__;
|
x.setNativePointer(x.CreateInstance());
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("sTxt",m_sTxt);
|
if (url::get("OrganizationStruct/list.HrPerson",arg.GetString(),x) != 1)
|
{
|
trace(x.GetXmlDoc().text);
|
return -1;
|
}
|
else
|
{
|
dw_list.Retrieve(x);
|
dw_list.Redraw();
|
}
|
// if (dw_list.GetRowCount() >0)
|
// OnRowFocusChanged();
|
dw_list.SetReadOnly(true);
|
return 1;
|
}
|
|
int OnSearch()
|
{
|
control__ xc = new control__;
|
xc.setNativePointer(this.GetControl("QueryTxt"));
|
m_sTxt= xc.GetText();
|
OnRetrieve();
|
return 1;
|
}
|
|
int OnUpdateAssignmentView()
|
{
|
xml__ x1 = new xml__;
|
x1.setNativePointer(x1.CreateInstance());
|
if (url::post("OrganizationStruct/update.Assignmentview","",x1) != 1)
|
{
|
string error = x1.GetXmlDoc().text;
|
trace(error);
|
return 1;
|
}
|
else
|
{
|
trace(x1.GetXml());
|
win__::MessageBox(GetHWND(),"¸üгɹ¦£¡","Ìáʾ",0);
|
}
|
return 1;
|
}
|
|
//ÃüÁî·¢²¼º¯Êý
|
int OnCmdDispatch(string comdid)
|
{
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
msxml::IXMLDOMElement e;
|
string sPersonID;
|
string sName;
|
if (comdid =="AddPerson")
|
{
|
arg.AddArg("operate","new0");
|
arg.AddArg("guid","");
|
openUrl("×éÖ¯¼Ü¹¹.vface/xpage/Hr/HrPersonMaint", arg);
|
}
|
else if(comdid=="UpdateAssignmentView")
|
OnUpdateAssignmentView();
|
else if (comdid =="ModifyPerson")
|
{
|
int row = dw_list.GetNextSelectRow(1);
|
if (row < 1)
|
{
|
row = dw_list.GetRow();
|
if (row < 1)
|
{
|
win__::MessageBox(GetHWND(),"ÇëÑ¡ÖÐÒªÐ޸ĵÄÈËÔ±ÐУ¡","Ìáʾ",0);
|
return -1;
|
}
|
}
|
e = dw_list.GetRowElement(row);
|
sPersonID = e.SelectSingleNode("@guid").text;
|
arg.AddArg("operate","modify");
|
arg.AddArg("guid",sPersonID);
|
openUrl("×éÖ¯¼Ü¹¹.vface/xpage/Hr/HrPersonMaint", arg);
|
}
|
else if (comdid =="DeletePerson")
|
{
|
int row = dw_list.GetNextSelectRow(1);
|
if (row < 1)
|
{
|
row = dw_list.GetRow();
|
if (row < 1)
|
{
|
win__::MessageBox(GetHWND(),"ÇëÑ¡ÖÐҪɾ³ýµÄÈËÔ±ÐУ¡","Ìáʾ",0);
|
return -1;
|
}
|
}
|
|
e = dw_list.GetRowElement(row);
|
sPersonID = e.SelectSingleNode("@guid").text;
|
sName = e.selectSingleNode("Name").text;
|
sName += "";
|
int MB_YESNO = 0x00000004;
|
int IDYES = 6;
|
if(win__::MessageBox(GetHWND(),"È·ÈÏҪɾ³ý "+sName+" µÄÐÅÏ¢Âð£¿","Ìáʾ",MB_YESNO)!=IDYES) return 1;
|
|
|
arg.AddArg("guid",sPersonID);
|
|
|
xml__ x1 = new xml__;
|
x1.setNativePointer(x1.CreateInstance());
|
if (url::post("OrganizationStruct/delete.HrPerson",arg.GetString(),x1) != 1)
|
{
|
string error = x1.GetXmlDoc().text;
|
trace(error);
|
}
|
else
|
{
|
//win32::MessageBox(GetHWND(),"ɾ³ý³É¹¦£¡","Ìáʾ",0);
|
dw_list.DeleteRow(row);
|
}
|
}
|
else if (comdid =="Refresh")
|
{
|
OnRetrieve();
|
}
|
else if (comdid =="search" || comdid=="query")
|
{
|
OnSearch();
|
}
|
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_list","DWV_CLICKED",OnRowFocusChanged);
|
AttachEvent("dw_list","DWV_DOUBLECLICKED",OnDoubleClicked);
|
}
|
|
int OnInitial()
|
{
|
SetAgent();
|
|
OnAttachEvent();
|
|
return 1;
|
}
|
|
int onload()
|
{
|
m_sTxt="";
|
dw_list = new xdwgrid__;
|
dw_list.setNativePointer(this.GetControl("dw_list"));
|
dw_list.openUrl("×éÖ¯¼Ü¹¹.vface/template/HrPerson/list");
|
dw_list.SetReadOnly(true);
|
dw_list.SetSelectionMode(1);
|
|
dw_HrEmployee = new xdwgrid__;
|
dw_HrEmployee.setNativePointer(this.GetControl("dw_HrEmployee"));
|
dw_HrEmployee.openUrl("×éÖ¯¼Ü¹¹.vface/template/HrPerson/listemp");
|
//dw_HrEmployee.openUrl("×éÖ¯¼Ü¹¹.vface/template/HrEmployee/list");
|
OnInitial();
|
|
OnRetrieve();
|
|
return 1;
|
}
|
]
|
|
]
|
]
|