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" use "dev:code[HrPosition.vx]" use "HrPosition.vx" //unit vclient.vobject tpp unit vbusiness.xpage [ HrPositionAdd is extend frame; about HrPositionAdd [ field: [ HrPosition lw_obj; xdwgrid__ dw_list; treeview__ tv_1; string m_type; 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 query = "[MSSqlHrJob.xq]"; xml__ x = new xml__; x.setNativePointer(x.CreateInstance()); xaserverarg__ arg = new xaserverarg__; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("type", m_type); //if (xaserver__::ExecXQuery(GetServerUrl(),query,arg.GetString(),x)!=1 if (url::post("OrganizationStruct/list.Job", arg.GetString(), x) != 1) { trace(x.GetXmlDoc().text); return -1; } else { dw_list.Retrieve(x); dw_list.Redraw(); dw_list.SetReadOnly(true); } return 1; } int OnTreeSelChanged(ref TNotifyEvent evt, int p) { ref NMTREEVIEW nmtv = evt.pnmh; int hItem = nmtv.itemNew.hItem; int wid = tv_1.GetId(); int hItem = treeview__::GetSelectedItem(wid); int rootItem = treeview__::GetRootItem(wid); if (hItem <= 0 || hItem == rootItem) { m_type = "all"; } else { msxml::IXMLDOMElement ele = treeview__::GetItemData(wid, hItem); m_type = ele.SelectSingleNode("@name").text; } OnRetrieve(); return 1; } int OnCreateTree() { int wid = tv_1.GetId(); xml__ x = new xml__; x.setNativePointer(xml__::CreateInstance()); x.Load(""); msxml::IXMLDOMElement ele = x.GetXmlDoc().SelectSingleNode("Type"); int hItem = tv_1.InsertChildItemEx(wid, 0, "¹¤ÖÖÀàÐÍ", ele, 15, 4); if (url::post("/sale/data/OrganizationStruct/type.Job", "", x) != 1) { trace(x.GetXml()); return -1; } //trace(x.GetXml()); var list = x.GetXmlDoc().selectNodes("//Type"); int i = 0, s = list.length; msxml::IXMLDOMElement e; string sname; if (s > 0) { for (i = 0; i < s; i++) { e = list.item(i); sname = e.SelectSingleNode("@name").text; int curItem = tv_1.InsertChildItemEx(wid, hItem, sname, e, 15, 4); } } return 1; } int OnOK() { if (GetParam()) { lw_obj = new HrPosition; lw_obj.setNativePointer(GetParam()); lw_obj = GetParam(); } else return 0; int row = dw_list.GetNextSelectRow(1); if (row < 1) { alert("ÇëÑ¡Ôñ¹¤ÖÖ!"); return 1; } //treeview__ tv_org = new treeview__; //tv_org.setNativePointer(lw_obj.tv_org); int wid = lw_obj.tv_org.GetId(); int hitem = treeview__::GetSelectedItem(wid); msxml::IXMLDOMElement ele = treeview__::GetItemData(wid, hitem); string sOrgID = ele.selectSingleNode("@guid").text; string sOrgName = ele.selectSingleNode("OrgName").text; while (row > 0) { msxml::IXMLDOMElement e = dw_list.GetRowElement(row); string sJobID = e.selectSingleNode("@guid").text + ""; string sJobName = e.selectSingleNode("JobName").text + ""; int nRow = lw_obj.dw_list.InsertRow(0); lw_obj.dw_list.SetItemString(nRow, "JobID", sJobID); lw_obj.dw_list.SetItemDisplayString(nRow, "JobID", sJobName); lw_obj.dw_list.SetItemString(nRow, "Status", "Y"); lw_obj.dw_list.SetItemDisplayString(nRow, "Status", "ÓÐЧ"); lw_obj.dw_list.SetItemString(nRow, "OrgID", sOrgID); lw_obj.dw_list.SetItemDisplayString(nRow, "OrgID", sOrgName); lw_obj.dw_list.SetItemString(nRow, "PositionName", sOrgName + sJobName); row = dw_list.GetNextSelectRow(row + 1); } CloseWindow(); return 1; } //ÃüÁî·¢²¼º¯Êý int OnCmdDispatch(string comdid) { if (comdid == "xmOk") OnOK(); else if (comdid == "xmCancel") CloseWindow(); 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_1", "TVN_SELCHANGED", OnTreeSelChanged); } int OnInitial() { //SetAgent(); OnAttachEvent(); return 1; } int onload() { m_type = "all"; tv_1 = new treeview__; tv_1.setNativePointer(this.GetControl("tv_1")); dw_list = new xdwgrid__; dw_list.setNativePointer(this.GetControl("dw_list")); dw_list.openUrl("×éÖ¯¼Ü¹¹.vface/template/HrJob/list"); dw_list.SetSelectionMode(3); //3 dw_list.SetReadOnly(true); OnInitial(); OnCreateTree(); int wid = tv_1.GetId(); int hItem = treeview__::GetRootItem(wid); tv_1.ExpandItem(wid, hItem); OnRetrieve(); return 1; } ] ] ]