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
|
[
|
CompanyList is extend list;
|
about CompanyList
|
[
|
control:
|
|
method:
|
[
|
xdwgrid__ dw_list;
|
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 OnRetrieve()
|
{
|
xml__ x = new xml__;
|
x.setNativePointer(x.CreateInstance());
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
//arg.AddArg("sType",c_type);
|
if (url::get("OrganizationStruct/list.CompanyInfo", arg.GetString(), x) != 1)
|
{
|
trace(x.GetXmlDoc().text);
|
return -1;
|
}
|
else
|
{
|
//trace(x.GetXml());
|
dw_list.Retrieve(x);
|
dw_list.Redraw();
|
}
|
dw_list.SetReadOnly(true);
|
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);
|
//trace(row.toString());
|
//win__::OpenWindow("dev:xpage[CompanyMaint.vx]",arg);
|
openUrl("×éÖ¯¼Ü¹¹.vface/xpage/CompanyInfo/maint", arg);
|
return 1;
|
}
|
|
//ÃüÁî·¢²¼º¯Êý
|
int OnCmdDispatch(string comdid)
|
{
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
msxml::IXMLDOMElement e;
|
string sguid;
|
string sName;
|
|
if (comdid == "AddRow")
|
{
|
arg.AddArg("operate", "new0");
|
arg.AddArg("guid", "");
|
//win__::OpenWindow("dev:xpage[CompanyMaint.vx]",arg);
|
openUrl("×éÖ¯¼Ü¹¹.vface/xpage/CompanyInfo/maint", arg);
|
}
|
else if (comdid == "ModifyRow")
|
{
|
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);
|
sguid = e.SelectSingleNode("@guid").text;
|
arg.AddArg("operate", "modify");
|
arg.AddArg("guid", sguid);
|
//win__::OpenWindow("dev:xpage[CompanyMaint.vx]",arg);
|
openUrl("×éÖ¯¼Ü¹¹.vface/xpage/CompanyInfo/maint", arg);
|
}
|
else if (comdid == "DeleteRow")
|
{
|
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);
|
|
sguid = 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", sguid);
|
trace(sguid);
|
xml__ x1 = new xml__;
|
x1.setNativePointer(x1.CreateInstance());
|
if (url::post("OrganizationStruct/delete.CompanyInfo", arg.GetString(), x1) != 1)
|
{
|
string error = x1.GetXmlDoc().text;
|
trace(error);
|
}
|
else
|
{
|
win__::MessageBox(GetHWND(), "ɾ³ý³É¹¦£¡", "Ìáʾ", 0);
|
dw_list.DeleteRow(row);
|
}
|
|
}
|
else if (comdid == "Refresh")
|
{
|
OnRetrieve();
|
}
|
return 0;
|
}
|
|
//ÃüÁî´¦Àíʼþ
|
int OnXCommand(ref TXCommandEvent evt, int p)
|
{
|
return OnCmdDispatch(evt.pStrID);
|
}
|
|
int OnAttachEvent()
|
{
|
//°ó¶¨¹¤¾ßÌõµã»÷ʼþ
|
AttachEvent("WM_XCOMMAND", OnXCommand);
|
//»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ
|
AttachEvent("WM_SETFOCUS", OnSetFocus);
|
//Ë«»÷
|
AttachEvent("dw_list", "DWV_DOUBLECLICKED", OnDoubleClicked);
|
}
|
|
int OnInitial()
|
{
|
SetAgent();
|
OnAttachEvent();
|
|
return 1;
|
}
|
|
int onload()
|
{
|
dw_list = new xdwgrid__;
|
dw_list.setNativePointer(this.GetControl("dw_list"));
|
|
//xaserverarg__ args = new xaserverarg__;
|
//args.setNativePointer(args.CreateInstance());
|
//args.AddArg("type","CompanyList");
|
//dw_list.SetDataObject(GetServerUrl(),pref::getPref("HumanResource/GetHrObject",args.GetString()));
|
dw_list.openUrl("×éÖ¯¼Ü¹¹.vface/template/company/list");
|
dw_list.SetSelectionMode(1);
|
dw_list.SetReadOnly(true);
|
|
OnInitial();
|
OnRetrieve();
|
|
return 1;
|
}
|
|
]
|
|
]
|
]
|