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 "list.vl"
|
unit vbusiness.xpage
|
[
|
HrOrgType is extend list;
|
about HrOrgType
|
[
|
control:
|
|
method:
|
[
|
xdwgrid__ dw_list;
|
|
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;
|
}
|
|
int OnSave()
|
{
|
int hIcon = xutil__::SetCursorWait();
|
|
xml__ x = new xml__;
|
x.setNativePointer(x.CreateInstance());
|
var xdoc = x.GetXmlDoc();
|
dw_list.AcceptText();
|
dw_list.DwUpdateAllTo(xdoc);//dw_list.DwUpdateAllTo(xdoc); //dw_list.DwUpdateTo(xdoc);
|
|
string val = xdoc.xml;
|
xaserverarg__ args = new xaserverarg__;
|
args.setNativePointer(args.CreateInstance());
|
args.AddArg("content", val);
|
//trace(val);
|
//return 1;
|
if (url::post("OrganizationStruct/update.HrOrgType", args.GetString(), x) != 1)
|
{
|
string error = x.GetXmlDoc().text;
|
trace(error);
|
xutil__::RestoreCursor(hIcon);
|
return -1;
|
}
|
|
xutil__::RestoreCursor(hIcon);
|
win__::MessageBox(GetHWND(), "±£´æ³É¹¦£¡", "Ìáʾ", 0);
|
return 1;
|
}
|
|
int OnRetrieve()
|
{
|
int hIcon = xutil__::SetCursorWait();
|
xml__ x = new xml__;
|
x.setNativePointer(x.CreateInstance());
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
//arg.AddArg("guid","xxx");
|
if (url::post("OrganizationStruct/list.HrOrgType", arg.GetString(), x) != 1)
|
{
|
trace(x.GetXmlDoc().text);
|
return -1;
|
}
|
else
|
{
|
dw_list.Retrieve(x);
|
dw_list.Redraw();
|
}
|
xutil__::RestoreCursor(hIcon);
|
return 1;
|
}
|
|
int OnAddrow()
|
{
|
dw_list.InsertRow(0);
|
return 1;
|
}
|
|
int OnInsertrow()
|
{
|
int row = dw_list.GetRow();
|
if (row < 1) return 0;
|
dw_list.InsertRow(row);
|
return 1;
|
}
|
|
int OnDeleteRow()
|
{
|
int row = dw_list.GetRow();
|
if (row < 1) return 0;
|
|
msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
|
string sguid = e.selectSingleNode("Code").text; //e.getAttribute("guid");
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("guid", sguid);
|
//trace(sguid);
|
xml__ x = new xml__;
|
x.setNativePointer(x.CreateInstance());
|
if (url::post("OrganizationStruct/delete.HrOrgType", arg.GetString(), x) != 1)
|
{
|
string error = x.GetXmlDoc().text;
|
trace(error);
|
}
|
else
|
{
|
dw_list.DeleteRow(row);
|
}
|
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 p)
|
{
|
return OnCmdDispatch(evt.pStrID);
|
}
|
|
int OnAttachEvent()
|
{
|
//°ó¶¨¹¤¾ßÌõµã»÷ʼþ
|
AttachEvent("WM_XCOMMAND", OnXCommand);
|
//»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ
|
AttachEvent("WM_SETFOCUS", OnSetFocus);
|
}
|
|
int OnInitial()
|
{
|
SetAgent();
|
OnAttachEvent();
|
return 1;
|
}
|
|
int onload()
|
{
|
dw_list = new xdwgrid__;
|
dw_list.setNativePointer(this.GetControl("dw_list"));
|
dw_list.openUrl("×éÖ¯¼Ü¹¹.vface/template/HrOrg/orgtype");
|
//dw_list.SetSelectionMode(1);
|
//dw_list.SetReadOnly(true);
|
|
OnInitial();
|
OnRetrieve();
|
|
return 1;
|
}
|
]
|
|
]
|
]
|