From 35f766073287cdd56de7cf3927c8783076ec1471 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期四, 27 六月 2024 17:11:24 +0800
Subject: [PATCH] update filter

---
 jrj/ext-jrj/GraduationSchoolWin.vx.cpp |  150 ++++++++++++++++++++++++++++++++++++++++++++++++++
 jrj/ext-jrj/ext-jrj.vcxproj            |    1 
 jrj/ext-jrj/ext-jrj.vcxproj.filters    |    3 +
 3 files changed, 154 insertions(+), 0 deletions(-)

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 63f3053..cc81c28 100644
--- a/jrj/ext-jrj/ext-jrj.vcxproj
+++ b/jrj/ext-jrj/ext-jrj.vcxproj
@@ -288,6 +288,7 @@
     <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 9962a4a..05fab92 100644
--- a/jrj/ext-jrj/ext-jrj.vcxproj.filters
+++ b/jrj/ext-jrj/ext-jrj.vcxproj.filters
@@ -368,5 +368,8 @@
     <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