From 4988c8950db8640eaeb2498b51aca2dfed2c685b Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期一, 15 七月 2024 12:10:15 +0800 Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/mis-prj --- jrj/project/business/Company/HrOrgType.cpp | 186 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 186 insertions(+), 0 deletions(-) diff --git a/jrj/project/business/Company/HrOrgType.cpp b/jrj/project/business/Company/HrOrgType.cpp new file mode 100644 index 0000000..59517b6 --- /dev/null +++ b/jrj/project/business/Company/HrOrgType.cpp @@ -0,0 +1,186 @@ +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; + } + ] + + ] +] \ No newline at end of file -- Gitblit v1.9.3