From c5d398d6632918583c5c9c830af91b0cbe6fbcac Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期四, 27 六月 2024 17:43:17 +0800 Subject: [PATCH] update win api --- jrj/ext-jrj/GraduationSchool.cpp | 150 +++++++++++++++++++++++++ jrj/ext-jrj/GraduationSchoolWin.vx.cpp | 150 +++++++++++++++++++++++++ jrj/ext-jrj/ext-jrj.vcxproj | 2 jrj/ext-jrj/ext-jrj.vcxproj.filters | 9 + 4 files changed, 311 insertions(+), 0 deletions(-) diff --git a/jrj/ext-jrj/GraduationSchool.cpp b/jrj/ext-jrj/GraduationSchool.cpp new file mode 100644 index 0000000..1005701 --- /dev/null +++ b/jrj/ext-jrj/GraduationSchool.cpp @@ -0,0 +1,150 @@ +use "xcontrol.vframe.vbusiness.vd" +use "xbase.vframe.vbusiness.vd" + +unit trade +[ + class ViewGraduationSchoolWin : public xframe + { + //xdwgrid dw_list; + xdwtable dw_base;//新增弹窗时使用 + string gsid; + xnode m_agentNode; //Agent Condition + + /*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 OnSave() + { + xml x = new xml; + x.setNativePointer(xml::CreateInstance()); + dw_base.AcceptText(); + dw_base.DwUpdateAllTo(x.GetXmlDoc()); + xaserverarg arg = new xaserverarg; + arg.setNativePointer(xaserverarg::CreateInstance()); + arg.AddArg("content", x.GetXml()); + //trace(x.GetXml()); + if (url::get("/sale/data/GraduationSchool/data/update", arg.GetString(), x) != 1) + { + string error = x.GetXmlDoc().text; + alert("err:" + error); + return 1; + } + //trace("返回值="+x.GetXml()); + string str = x.GetXmlDoc().documentElement.getAttribute("text"); + if (str == "true") + { + dw_base.ResetUpdateStatus(); + CloseWindow(); + alert("保存成功!"); + } + else + { + alert("保存失败!"); + } + return 1; + } + + int OnClose() + { + CloseWindow(); + return 1; + } + + //命令发布函数 + int OnCmdDispatch(string comdid) + { + if (comdid == "xmSave") + return OnSave(); + else if (comdid == "xmClose") + return OnClose(); + return 0; + } + + //命令处理事件 + int OnXCommand(ref TXCommandEvent evt, int param) + { + return OnCmdDispatch(evt.pStrID); + } + + int OnAttachEvent() + { + //绑定工具条点击事件 + AttachEvent("WM_XCOMMAND", OnXCommand); + //获取焦点事件,用于重置工具条 + AttachEvent("WM_SETFOCUS", OnSetFocus); + } + + int OnRetrieve() + { + xml x = new xml; + x.setNativePointer(xml::CreateInstance()); + xaserverarg arg = new xaserverarg; + arg.setNativePointer(arg.CreateInstance()); + arg.AddArg("gsid", gsid); + if (getUrl("/sale/data/GraduationSchool/data/getsingle", arg.GetString(), x) != 1) + { + trace(x.GetXmlDoc().text); + return -1; + } + else + { + dw_base.Retrieve(x); + dw_base.Redraw(); + } + return 1; + } + + int onload() + { + dw_base = GetControl("dw_base"); + dw_base.openUrl("/sale/view/GraduationSchool/template/win"); + gsid = ""; + + if (GetParam()) + gsid = GetParam(); + if (gsid != "") + OnRetrieve(); + + dw_base.SetColHeaderHeight(0); + dw_base.SetRowSelectorWidth(0); + dw_base.SetHScrollState(false); + dw_base.SetVScrollState(false); + OnAttachEvent(); + + return 1; + } + + int onloaded() + { + SetAgent(); + + return 1; + } + }; +] \ No newline at end of file diff --git a/jrj/ext-jrj/GraduationSchoolWin.vx.cpp b/jrj/ext-jrj/GraduationSchoolWin.vx.cpp new file mode 100644 index 0000000..1005701 --- /dev/null +++ b/jrj/ext-jrj/GraduationSchoolWin.vx.cpp @@ -0,0 +1,150 @@ +use "xcontrol.vframe.vbusiness.vd" +use "xbase.vframe.vbusiness.vd" + +unit trade +[ + class ViewGraduationSchoolWin : public xframe + { + //xdwgrid dw_list; + xdwtable dw_base;//新增弹窗时使用 + string gsid; + xnode m_agentNode; //Agent Condition + + /*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 OnSave() + { + xml x = new xml; + x.setNativePointer(xml::CreateInstance()); + dw_base.AcceptText(); + dw_base.DwUpdateAllTo(x.GetXmlDoc()); + xaserverarg arg = new xaserverarg; + arg.setNativePointer(xaserverarg::CreateInstance()); + arg.AddArg("content", x.GetXml()); + //trace(x.GetXml()); + if (url::get("/sale/data/GraduationSchool/data/update", arg.GetString(), x) != 1) + { + string error = x.GetXmlDoc().text; + alert("err:" + error); + return 1; + } + //trace("返回值="+x.GetXml()); + string str = x.GetXmlDoc().documentElement.getAttribute("text"); + if (str == "true") + { + dw_base.ResetUpdateStatus(); + CloseWindow(); + alert("保存成功!"); + } + else + { + alert("保存失败!"); + } + return 1; + } + + int OnClose() + { + CloseWindow(); + return 1; + } + + //命令发布函数 + int OnCmdDispatch(string comdid) + { + if (comdid == "xmSave") + return OnSave(); + else if (comdid == "xmClose") + return OnClose(); + return 0; + } + + //命令处理事件 + int OnXCommand(ref TXCommandEvent evt, int param) + { + return OnCmdDispatch(evt.pStrID); + } + + int OnAttachEvent() + { + //绑定工具条点击事件 + AttachEvent("WM_XCOMMAND", OnXCommand); + //获取焦点事件,用于重置工具条 + AttachEvent("WM_SETFOCUS", OnSetFocus); + } + + int OnRetrieve() + { + xml x = new xml; + x.setNativePointer(xml::CreateInstance()); + xaserverarg arg = new xaserverarg; + arg.setNativePointer(arg.CreateInstance()); + arg.AddArg("gsid", gsid); + if (getUrl("/sale/data/GraduationSchool/data/getsingle", arg.GetString(), x) != 1) + { + trace(x.GetXmlDoc().text); + return -1; + } + else + { + dw_base.Retrieve(x); + dw_base.Redraw(); + } + return 1; + } + + int onload() + { + dw_base = GetControl("dw_base"); + dw_base.openUrl("/sale/view/GraduationSchool/template/win"); + gsid = ""; + + if (GetParam()) + gsid = GetParam(); + if (gsid != "") + OnRetrieve(); + + dw_base.SetColHeaderHeight(0); + dw_base.SetRowSelectorWidth(0); + dw_base.SetHScrollState(false); + dw_base.SetVScrollState(false); + OnAttachEvent(); + + return 1; + } + + int onloaded() + { + SetAgent(); + + return 1; + } + }; +] \ No newline at end of file diff --git a/jrj/ext-jrj/ext-jrj.vcxproj b/jrj/ext-jrj/ext-jrj.vcxproj index 01fca5c..114a729 100644 --- a/jrj/ext-jrj/ext-jrj.vcxproj +++ b/jrj/ext-jrj/ext-jrj.vcxproj @@ -297,6 +297,8 @@ <ClCompile Include="..\xframe\src\nstring.cpp" /> <ClCompile Include="..\xframe\src\xstring.cpp" /> <ClCompile Include="dllmain.cpp" /> + <ClCompile Include="GraduationSchool.cpp" /> + <ClCompile Include="GraduationSchoolWin.vx.cpp" /> <ClCompile Include="pch.cpp"> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> diff --git a/jrj/ext-jrj/ext-jrj.vcxproj.filters b/jrj/ext-jrj/ext-jrj.vcxproj.filters index 9732631..05fab92 100644 --- a/jrj/ext-jrj/ext-jrj.vcxproj.filters +++ b/jrj/ext-jrj/ext-jrj.vcxproj.filters @@ -58,6 +58,9 @@ <Filter Include="project\business\SO"> <UniqueIdentifier>{22bae563-5202-4217-b8fc-3e83febc6b91}</UniqueIdentifier> </Filter> + <Filter Include="project\business\HR"> + <UniqueIdentifier>{5f718d5a-c9c4-4438-95e8-b079e44db2aa}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> <ClInclude Include="framework.h"> @@ -362,5 +365,11 @@ <ClCompile Include="..\project\business\SO\select.item.so.cpp"> <Filter>project\business\SO</Filter> </ClCompile> + <ClCompile Include="GraduationSchool.cpp"> + <Filter>project\business\HR</Filter> + </ClCompile> + <ClCompile Include="GraduationSchoolWin.vx.cpp"> + <Filter>project\business\HR</Filter> + </ClCompile> </ItemGroup> </Project> \ No newline at end of file -- Gitblit v1.9.3