use "win.vl"
|
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 "frame.vl"
|
use "treeview.vm"
|
|
//unit vclient.vobject tpp
|
unit vbusiness.xpage
|
[
|
HrPosition is extend frame;
|
about HrPosition
|
[
|
field:
|
[
|
treeview__ tv_org;
|
xdwgrid__ dw_list;
|
string sOrgID;
|
string sOrgName;
|
|
xnode__ m_agentNode; //Agent Condition
|
string m_agentCond; //Agent Node
|
]
|
|
method:
|
[
|
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 OnRetrieve(string ls_orgid)
|
{
|
string query = "[MSSqlHrPosition.xq]";
|
xml__ x = new xml__;
|
x.setNativePointer(x.CreateInstance());
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("orgID", ls_orgid);
|
//if (xaserver__::ExecXQuery(GetServerUrl(),query,arg.GetString(),x)!=1)
|
if (url::post("OrganizationStruct/list.Position", arg.GetString(), x) != 1)
|
{
|
trace(x.GetXmlDoc().text);
|
return -1;
|
}
|
else
|
{
|
//trace(x.GetXml());
|
//dw_list.openUrl("×éÖ¯¼Ü¹¹.vface/template/HrPosition/list");
|
dw_list.Retrieve(x);
|
dw_list.Redraw();
|
}
|
return 1;
|
}
|
|
int OnTreeSelChanged(ref TXCommandEvent evt, int p)
|
{
|
int wid = tv_org.GetId();
|
int hitem = treeview__::GetSelectedItem(wid);
|
msxml::IXMLDOMElement ele = treeview__::GetItemData(wid, hitem);
|
string ls_orgid = ele.selectSingleNode("@guid").text;
|
sOrgID = ls_orgid + "";
|
sOrgName = ele.selectSingleNode("OrgName").text;
|
OnRetrieve(ls_orgid);
|
return 1;
|
}
|
|
int OnSave()
|
{
|
xml__ x = new xml__;
|
x.setNativePointer(x.CreateInstance());
|
dw_list.AcceptText();
|
dw_list.DwUpdateAllToEx(x.GetXmlDoc());
|
|
string xdata = x.GetXml();
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("xdata", xdata);
|
//trace(x.GetXml());
|
//return 1;
|
|
//string xAction="[MSSqlHrPositionUpdate.xa]";
|
//if(xaserver__::ExecXAction(GetServerUrl(),xAction,arg.GetString())!=1)
|
if (url::post("OrganizationStruct/update.Position", arg.GetString(), x) != 1)
|
{
|
trace(x.GetXmlDoc().documentElement.text);
|
alert("±£´æÊ§°Ü1");
|
}
|
else
|
{
|
dw_list.ResetUpdateStatus();
|
alert("±£´æ³É¹¦");
|
}
|
return 1;
|
}
|
|
int OnAddRow()
|
{
|
int wid = tv_org.GetId();
|
int hitem = treeview__::GetSelectedItem(wid);
|
if (!hitem)
|
{
|
alert("ÇëÑ¡Ôñ×éÖ¯¼Ü¹¹£¡");
|
return 0;
|
}
|
//openUrl("×éÖ¯¼Ü¹¹.vface/xpage/Hr/HrPositionAdd", this);
|
OpenWindow("dev:xpage[HrPositionAdd.vx]", this);
|
return 1;
|
}
|
|
int OnInsertRow()
|
{
|
int row = dw_list.GetRow();
|
dw_list.InsertRow(row);
|
return 1;
|
}
|
|
int OnDeleteRow()
|
{
|
int row = dw_list.GetRow();
|
if (row > 0)
|
{
|
string sPositionName = dw_list.GetItemString(row, "PositionName", 0);
|
int del_flog = win__::MessageBox(0, "È·¶¨ÒªÉ¾³ýÑ¡ÖеĸÚλ " + sPositionName + " Âð£¿", "Ìáʾ", 4);
|
if (del_flog == 7) { return 0; }
|
//ÅжÏHrEmployeeÀïÃæÊÇ·ñ´æÔڸøÚλ
|
//string sPositionID = dw_list.GetItemString(row,"PositionID",0);
|
msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
|
string sPositionID = e.selectSingleNode("@guid").text;
|
xml__ x = new xml__;
|
x.setNativePointer(x.CreateInstance());
|
xaserverarg__ args = new xaserverarg__;
|
args.setNativePointer(args.CreateInstance());
|
args.AddArg("guid", sPositionID);
|
//if(xaserver__::ExecXQuery(GetServerUrl(),"[HrpositionSel.xq]",args.GetString(),x)!=1)
|
if (url::post("OrganizationStruct/select.Position", args.GetString(), x) != 1)
|
{
|
trace(x.GetXml());
|
return 0;
|
}
|
var doc = x.GetXmlDoc();
|
string cnt = doc.text;
|
int ll_cnt = cnt.toInt();
|
if (ll_cnt == 0) //ÅжÏHrEmploeeÀïÃæÊÇ·ñ´æÔڸøÚλ
|
{
|
args.ClearArgs();
|
//xaserverarg__ Args = new xaserverarg__;
|
//Args.setNativePointer(Args.CreateInstance());
|
args.AddArg("guid", sPositionID);
|
//if(xaserver__::ExecXAction(GetServerUrl(),"[HrPositionDel.xa]",Args.GetString(),x)!=1)
|
if (url::post("OrganizationStruct/delete.Position", args.GetString(), x) != 1)
|
{
|
trace(x.GetXmlDoc().documentElement.text);
|
alert("ɾ³ýʧ°Ü");
|
}
|
else {
|
dw_list.DeleteRow(row);
|
alert("ɾ³ý³É¹¦");
|
}
|
}
|
else
|
{
|
alert("ÆäËûµØ·½ÒѾʹÓøøÚ룬²»ÔÊÐíɾ³ý£¡");
|
return 0;
|
}
|
}
|
return 1;
|
}
|
|
int OnChildContent(ref TNotifyEvent evt, int param) {
|
ref DWNMHDR dwhdr = evt.pnmh;
|
string col = dwhdr.colname;
|
if (col != "") {
|
xml__ x = new xml__;
|
x.setNativePointer(x.CreateInstance());
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
string query;
|
query = "[IResourceMSSql.xq]";
|
if (col == "OrgID") {
|
arg.AddArg("ResourceType", "HrOrg");
|
}
|
else if (col == "JobID") {
|
arg.AddArg("ResourceType", "HrJob");
|
}
|
if (xaserver__::ExecXQuery(GetServerUrl(), query, arg.GetString(), x) == 1)
|
dwhdr.data = x.GetXml();
|
//trace(x.GetXml());
|
}
|
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();
|
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_org", "TVN_SELCHANGED", OnTreeSelChanged);
|
//AttachEvent("dw_list","DWV_CHILDCONTENT",OnChildContent);
|
//AttachEvent("dw_list","DWV_ITEMCHANGED",OnItemChanged);
|
}
|
|
int OnInitial()
|
{
|
SetAgent();
|
OnAttachEvent();
|
return 1;
|
}
|
|
int onload()
|
{
|
tv_org = new treeview__;
|
tv_org.setNativePointer(this.GetControl("tv_org"));
|
dw_list = new xdwgrid__;
|
dw_list.setNativePointer(this.GetControl("dw_list"));
|
dw_list.openUrl("×éÖ¯¼Ü¹¹.vface/template/HrPosition/list");
|
|
OnInitial();
|
|
int wid = tv_org.GetId();
|
int root = treeview__::GetRootItem(wid);
|
treeview__::ExpandItem(wid, root);
|
//OnRetrieve();
|
|
return 1;
|
}
|
]
|
|
]
|
]
|