use "xcontrol.vframe.vbusiness.vd"
|
use "xbase.vframe.vbusiness.vd"
|
use "base.view.vd"
|
|
unit trade
|
[
|
class ViewManpowerFileList : public xframe
|
{
|
xdwgrid dw_list;//hxsoft.com -> Developer -> wface -> vcontrol
|
int hSignWin;
|
xdwtable dw_arg;
|
xnode m_agentNode; //Agent Condition
|
|
string urlTree;
|
xtreeview tv_folder;
|
//Õ¹¿ª×ÓÎļþ
|
int ExpandChildFolder(int hItem, msxml::IXMLDOMElement pElement)
|
{
|
msxml::IXMLDOMNodeList nlist = pElement.SelectNodes("Item");
|
int len = nlist.length;
|
for (int i = 0; i < len; i++)
|
{
|
msxml::IXMLDOMElement e = nlist.item(i);
|
string name = e.getAttribute("name");
|
string sImage = e.getAttribute("image");
|
string child = e.getAttribute("child");
|
int image = 15;
|
if (sImage) image = sImage.toInt();
|
int h = tv_folder.InsertChildItem(tv_folder.GetId(), hItem, name, trust(e as int), image);
|
if (child != "no") tv_folder.SetItemChild(h, 1);
|
ExpandChildFolder(h, e);
|
}
|
return 1;
|
}
|
int InitialFolder()
|
{
|
msxml::IXMLDOMElement xframeElement = GetElement();
|
msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder']/initial");
|
if (e)
|
ExpandChildFolder(0, e);
|
return 1;
|
}
|
|
int ExpandCatChildFolder(int hItem, msxml::IXMLDOMElement ele, int image)
|
{
|
msxml::IXMLDOMNodeList nlist = ele.SelectNodes("item");
|
int len = nlist.length;
|
if (len > 0) tv_folder.SetItemChild(hItem, 1);
|
for (int i = 0; i < len; i++)
|
{
|
msxml::IXMLDOMElement e = nlist.item(i);
|
string name = e.getAttribute("name");
|
int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), image);
|
ExpandCatChildFolder(h, e, 35);
|
}
|
return 1;
|
}
|
int ExpandFolderItem(int hItem)
|
{
|
xml x = ViewObject::RetrieveData(urlTree);
|
if (!x) return 0;
|
msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("/data/item");
|
int len = nlist.length;
|
for (int i = 0; i < len; i++)
|
{
|
msxml::IXMLDOMElement e = nlist.item(i);
|
string name = e.getAttribute("name");
|
int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), 35);
|
ExpandCatChildFolder(h, e, 35);
|
}
|
return 1;
|
}
|
|
int SetAgent()
|
{
|
string xfNodeAgentArea = "agentarea";
|
xnode anode = GetAgentNode(xfNodeAgentArea);
|
if (m_agentNode)
|
{
|
SetAgentNodeContent(anode, m_agentNode);
|
}
|
else
|
{
|
msxml::IXMLDOMElement xframeElement = GetElement();
|
msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/" + xfNodeAgentArea + "[1]/*");
|
if (agent)
|
{
|
string s = agent.xml;
|
m_agentNode = SetAgentNodeContent(anode, s);
|
}
|
}
|
return 1;
|
}
|
|
//½¹µã¼¤»î´¦Àíº¯Êý
|
int OnSetFocus(ref TEvent evt, int param)
|
{
|
//ÖØÖù¤¾ßÌõ
|
SetAgent();
|
return 1;
|
}
|
|
int OnOpenAddWindow()
|
{
|
OpenWindow("dev:xpage[ManpowerFileWindow.vx]");
|
return 1;
|
}
|
|
int OnOpenUpdateWindow()
|
{
|
int row = dw_list.GetRow();
|
if (row < 1)
|
return 1;
|
msxml::IXMLDOMElement ele = dw_list.GetRowElement(row);
|
string mfid = ele.selectSingleNode("mfid").text;//»ñÈ¡½ÚµãµÄÖµ
|
OpenWindow("dev:xpage[ManpowerFileWindow.vx]", cast(mfid as int));
|
return 1;
|
}
|
|
int OnExchangeFileWindow()
|
{
|
xwin xw = OpenWindow("dev:xpage[BlankExcelTemplate.vx]", 0);
|
hSignWin = xw.GetHWND();
|
return 1;
|
}
|
|
int OnDelete()
|
{
|
int MB_OKCANCEL = 1;
|
int IDOK = 1;
|
int ret = win32::MessageBox(GetHWND(), "È·ÈÏɾ³ý?", "Ìáʾ", MB_OKCANCEL);
|
if (ret == IDOK)
|
{
|
int row = dw_list.GetRow();
|
if (row < 1)
|
return 1;
|
msxml::IXMLDOMElement ele = dw_list.GetRowElement(row);
|
string mfid = ele.selectSingleNode("mfid").text;//²é¿´
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
xaserverarg arg = new xaserverarg;//·ÅÖòÎÊý
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("mfid", mfid);
|
if (getUrl("/sale/data/ManpowerFile/delete", arg.GetString(), x) != 1)
|
{
|
string error = x.GetXmlDoc().text;
|
alert("err:" + error);
|
return 1;
|
}
|
alert(x.GetXmlDoc().text);
|
OnRefresh();
|
}
|
return 1;
|
}
|
|
int OnRefresh() {
|
OnRetrieve();
|
return 1;
|
}
|
|
//·ÖÎö
|
int OnAnalysis()
|
{
|
int hCursor = xutil::SetCursorWait();
|
string str = dw_list.DataAnalysis("");
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("html", str);
|
int obj = cast(dw_list as int);
|
arg.AddArg("obj", obj.toString());
|
OpenWindow("dev:xpage[data.vanalysis.vx]", cast(arg as int));
|
xutil::RestoreCursor(hCursor);
|
return 1;
|
}
|
|
string GetQueryArg()
|
{
|
dw_arg.AcceptText();
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
dw_arg.DwUpdateAllTo(x.GetXmlDoc());
|
|
return x.GetXml();
|
}
|
|
int OnRetrieveEx1()
|
{
|
int hItem = tv_folder.GetSelectedItem();
|
if (hItem <= 0) return 1;
|
|
int hCursor = xutil::SetCursorWait();
|
msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement);
|
string no = e1.getAttribute("no");
|
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
//arg.AddArg("QueryTxt",GetControl("sle_search").GetText());
|
arg.AddArg("QueryArg", GetQueryArg());
|
arg.AddArg("MStatus", no);
|
|
arg.AddArg("QueryName", GetControl("QueryName").GetText());
|
//trace(arg.GetString());
|
if (getUrl("/sale/data/ManpowerFile/list", arg.GetString(), x) != 1)
|
{
|
trace(x.GetXmlDoc().text);
|
return -1;
|
}
|
else
|
{
|
|
dw_list.Retrieve(x);
|
dw_list.Redraw();
|
dw_list.SetReadOnly(true);
|
dw_list.SetSelectionMode(1);
|
}
|
return 1;
|
}
|
|
//ÃüÁî·¢²¼º¯Êý
|
int OnCmdDispatch(string comdid)
|
{
|
if (comdid == "xmAddHumanDocument")
|
return OnOpenAddWindow();
|
else if (comdid == "xmUpdateHumanDocument")
|
return OnOpenUpdateWindow();
|
else if (comdid == "xmRefresh" || comdid == "xmSearch")
|
return OnRetrieveEx1();
|
else if (comdid == "xmExchangeFile")
|
return OnExchangeFileWindow();
|
else if (comdid == "xmDelete")
|
return OnDelete();
|
else if (comdid == "xmAnalysis")
|
return OnAnalysis();
|
return 0;
|
}
|
|
//ÃüÁî´¦Àíʼþ
|
int OnXCommand(ref TXCommandEvent evt, int param)
|
{
|
return OnCmdDispatch(evt.pStrID);
|
}
|
|
int OnDoubleClicked(ref TNotifyEvent evt, int p)
|
{
|
return OnCmdDispatch("xmUpdateHumanDocument");
|
}
|
|
|
int OnTreeSelChanged(ref TNotifyEvent evt, int p)
|
{
|
return OnRetrieveEx1();
|
}
|
|
int OnAttachEvent()
|
{
|
//°ó¶¨¹¤¾ßÌõµã»÷ʼþ
|
AttachEvent("WM_XCOMMAND", OnXCommand);
|
//»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ
|
AttachEvent("WM_SETFOCUS", OnSetFocus);
|
AttachEvent("dw_list", "DWV_DOUBLECLICKED", OnDoubleClicked);//ÐÐË«»÷
|
AttachEvent("tv_folder", "TVN_SELCHANGED", OnTreeSelChanged); //Ê÷Ñ¡Ôñ
|
}
|
|
//Êý¾Ý´«Ê亯Êý
|
int OnRetrieve()
|
{
|
//int hCursor = xutil::SetCursorWait();//Êó±êλÖÃ
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
xaserverarg arg = new xaserverarg;//·ÅÖòÎÊý
|
arg.setNativePointer(arg.CreateInstance());
|
//arg.AddArg("QueryTxt",GetControl("sle_search").GetText());//Ìí¼ÓËùÐèÒª´«µ½ºǫ́µÄ²ÎÊý
|
arg.AddArg("QueryArg", GetQueryArg());
|
arg.AddArg("MStatus", "");
|
arg.AddArg("QueryName", GetControl("QueryName").GetText());
|
//trace("²é¿´arg="+arg.GetString());//ÔËÐнçÃæ´òÓ¡
|
if (getUrl("/sale/data/ManpowerFile/list", arg.GetString(), x) != 1)///sale/data/ManpowerFile/doclistºǫ́½Ó¿Ú
|
{
|
trace(x.GetXmlDoc().text);
|
return -1;
|
}
|
else
|
{
|
dw_list.Retrieve(x);
|
dw_list.Redraw();
|
}
|
return 1;
|
}
|
|
int onload()
|
{
|
//¡¾1¡¿¿ØÖÆÒ³ÃæÖÐname="dw_list"µÄÄÚÈÝ
|
dw_list = GetControl("dw_list");
|
//¡¾2¡¿¼ÓÔØsale¸ùĿ¼ÏÂviewϵÄManpowerFile.vfaceÎļþÖеÄtemplate/list url ǰ¶ËÒ³Ãæ
|
dw_list.openUrl("/sale/view/ManpowerFile/template/list");
|
//¡¾3¡¿°ó¶¨Ê¼þ
|
OnAttachEvent();
|
//¡¾4¡¿¼ÓÔØºǫ́Êý¾Ý
|
|
//¡¾6¡¿ÉèΪֻ¶Á
|
dw_list.SetReadOnly(true);
|
|
dw_arg = GetControl("dw_arg");
|
dw_arg.openUrl("/sale/view/ManpowerFile/template/QueryArg");
|
dw_arg.SetColHeaderHeight(0);
|
dw_arg.SetRowSelectorWidth(0);
|
dw_arg.SetHScrollState(false);
|
dw_arg.SetVScrollState(false);
|
dw_arg.SetItemString(1, "DateType", "²»É趨");
|
|
OnRetrieve();
|
urlTree = "/sale/data/ManpowerFile/folder";
|
tv_folder = GetControl("tv_folder");
|
tv_folder.SetLineAtRoot(true);
|
InitialFolder();
|
|
return 1;
|
}
|
|
int onloaded()
|
{
|
SetAgent();
|
int hItem = tv_folder.GetRootItem();
|
ExpandFolderItem(hItem);
|
tv_folder.ExpandItem(hItem);
|
tv_folder.ItemFocus(hItem);
|
return 1;
|
}
|
};
|
]
|