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