From 6c8c9ddaeb2bc6245a374c9354296bcfc2d96c06 Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期二, 29 四月 2025 14:10:22 +0800
Subject: [PATCH] update

---
 jrj/project/business/HR/ManpowerFileWindow.cpp |  154 ++++++++++++++++++++++++++++++---------------------
 1 files changed, 90 insertions(+), 64 deletions(-)

diff --git a/jrj/project/business/HR/ManpowerFileWindow.cpp b/jrj/project/business/HR/ManpowerFileWindow.cpp
index 2075a76..de04899 100644
--- a/jrj/project/business/HR/ManpowerFileWindow.cpp
+++ b/jrj/project/business/HR/ManpowerFileWindow.cpp
@@ -1,23 +1,34 @@
-use "xcontrol.vframe.vbusiness.vd"
-use "xbase.vframe.vbusiness.vd"
-use "xcontrol.vframe.vbusiness.vd"
-use "xbase.vframe.vbusiness.vd"
-use "vbind.vbind.wface.vd"
-use "publiccode.vutil.vbusiness.vd"
-use "multi.vbind.vbind.wface.vd"
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <xcontrol/xcell.hpp>
 
-unit trade
-[
-	class ViewManpowerFileWiondow : public xframe
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+	class __declspec(dllexport) ViewManpowerFileWiondow : public xframe
 	{
+	public:
 		//xdwgrid	dw_list;//新建列表时使用
 		xdwtable dw_base;//新增弹窗时使用
-		string mfid;
+		xstring mfid;
 		xnode	m_agentNode;	//Agent Condition
-
+		bool updated;
+		
+		xstring UserNo;
+	public:
+		ViewManpowerFileWiondow(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+	public:
+		static ViewManpowerFileWiondow* CreateInstance(void* implPtr, void* hWnd)
+		{
+			ViewManpowerFileWiondow* pWin = new ViewManpowerFileWiondow(implPtr, (HWND)hWnd);
+			return pWin;
+		}
 		/*int SetAgent()
 		{
-			string xfNodeAgentArea  = "agentarea";
+			xstring xfNodeAgentArea  = L"agentarea";
 			xnode anode = GetAgentNode(xfNodeAgentArea);
 			if(m_agentNode)
 			{
@@ -26,10 +37,10 @@
 			else
 			{
 				msxml::IXMLDOMElement xframeElement =  GetElement();
-				msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
+				msxml::IXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*");
 				if(agent)
 				{
-					string s = agent.xml;
+					xstring s = agent.xml;
 					m_agentNode =  SetAgentNodeContent (anode,s);
 				}
 			}
@@ -37,7 +48,7 @@
 		}*/
 
 		//焦点激活处理函数
-		int OnSetFocus(ref TEvent evt, int param)
+		int OnSetFocus(TEvent* evt, LPARAM p)
 		{
 			//重置工具条
 			SetAgent();
@@ -47,99 +58,107 @@
 		//保存数据
 		int OnSave()
 		{
-			xml x = new xml;
-			x.setNativePointer(xml::CreateInstance());
+			xml x ;
+			
 			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/ManpowerFile/update", arg.GetString(), x) != 1)
+			dw_base.DwUpdateAllTo(x);
+			xaserverarg arg;
+			
+			arg.AddArg(L"content", x.xml());
+			//trace(x.xml());
+			if (xurl::get(L"/sale/data/ManpowerFile/update", arg.GetString(), x) != 1)
 			{
-				string error = x.GetXmlDoc().text;
-				alert("err:" + error);
+				xstring error = x.text();
+				alert(L"err:" + error);
 				return 1;
 			}
-			//trace("返回值="+x.GetXml());
-			string str = x.GetXmlDoc().documentElement.getAttribute("text");
-			if (str == "true")
+			//trace(L"返回值=L"+x.xml());
+			xstring str = x.documentElement().getAttribute(L"text");
+			if (str == L"true")
 			{
 				dw_base.ResetUpdateStatus();
 				CloseWindow();
-				alert("保存成功!");
+				alert(L"保存成功!");
 			}
 			else
 			{
-				alert("保存失败!");
+				alert(L"保存失败!");
 			}
 			return 1;
 		}
 
 		//命令发布函数
-		int OnCmdDispatch(string comdid)
+		int OnCmdDispatch(xstring comdid)
 		{
-			if (comdid == "xmClose") {//关闭窗口
+			if (comdid == L"xmClose") {//关闭窗口
 				CloseWindow();
 				return 1;
 			}
-			else if (comdid == "xmSave") {//保存窗口
+			else if (comdid == L"xmSave") {//保存窗口
 				return OnSave();
 			}
 			return 0;
 		}
 
 		//命令处理事件
-		int OnXCommand(ref TXCommandEvent evt, int param)
+		int OnXCommand(TEvent* evt, LPARAM p)
 		{
-			return OnCmdDispatch(evt.pStrID);
+			return OnCmdDispatch(evt->xcommand.pStrID);
 		}
 
 		int OnAttachEvent()
 		{
 			//绑定工具条点击事件
-			AttachEvent("WM_XCOMMAND", OnXCommand);
+			AttachEvent(L"WM_XCOMMAND", (FEvent)&ViewManpowerFileWiondow::OnXCommand);
 			//获取焦点事件,用于重置工具条
-			AttachEvent("WM_SETFOCUS", OnSetFocus);
-			AttachEvent("dw_base", "DWV_ITEMCHANGING", OnItemChanging);
+			AttachEvent(L"WM_SETFOCUS", (FEvent)&ViewManpowerFileWiondow::OnSetFocus);
+			AttachEvent(L"dw_base", L"DWV_ITEMCHANGING", (FEvent)&ViewManpowerFileWiondow::OnItemChanging);
+
+
+			return 1;
 		}
 
-		int OnItemChanging(ref TNotifyEvent evt, int p)
+		int OnItemChanging(TEvent* evt, LPARAM p)
 		{
-			ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
-			string colname = hdr.colname;
-			string value = hdr.data;
+			DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+			xstring colname = hdr.colname;
+			xstring value = hdr.data;
 			int row = hdr.row;
+#if 0
 
-			if (value == "") return 1;
-			string cellType = dw_base.GetColumnProp(colname, "celltype");
+
+
+			if (value == L"") return 1;
+			xstring cellType = dw_base.GetColumnProp(colname, L"celltype");
 			//alert(cellType);
-			if (cellType == "xs:decimal" || cellType == "xs:integer")
+			if (cellType == L"xs:decimal" || cellType == L"xs:integer")
 			{
 				if (value.isNumber() == false)
 				{
-					alert(value + "不是数字!");
+					alert(value + L"不是数字!");
 					hdr.idFrom = -1;
 					return 1;
 				}
 			}
+#endif // 0
+			return 1;
 		}
 
 		int  OnRetrieve()
 		{
-			xml x = new xml;
-			x.setNativePointer(xml::CreateInstance());
-			xaserverarg arg = new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg("mfid", mfid);
-			if (getUrl("/sale/data/ManpowerFile/getsingle", arg.GetString(), x) != 1)
+			xml x ;
+			
+			xaserverarg arg;
+			
+			arg.AddArg(L"mfid", mfid);
+			if (getUrl(L"/sale/data/ManpowerFile/getsingle", arg.GetString(), x) != 1)
 			{
-				trace("错误信息=" + x.GetXmlDoc().text);
+				trace(L"错误信息=L" + xstring(x.text()));
 				return -1;
 			}
 			else
 			{
-				//trace("返回信息="+x.GetXml());
+				//trace(L"返回信息=L"+x.xml());
 				dw_base.Retrieve(x);
 				dw_base.Redraw();
 			}
@@ -148,12 +167,13 @@
 
 		int onload()
 		{
-			dw_base = GetControl("dw_base");
-			dw_base.openUrl("/sale/view/ManpowerFile/template/win");
-			mfid = "";
-			if (GetParam())
-				mfid = GetParam();
-			if (mfid != "")
+			//SetArg();
+			dw_base = GetControl(L"dw_base");
+			dw_base.openUrl(L"/sale/view/ManpowerFile/template/win");
+			mfid = L"";
+			if (GetWinParam())
+				mfid = GetParamString();
+			if (mfid != L"")
 			{
 				OnRetrieve();
 			}
@@ -162,8 +182,15 @@
 			dw_base.SetRowSelectorWidth(0);
 			dw_base.SetHScrollState(false);
 			dw_base.SetVScrollState(false);
-
 			OnAttachEvent();
+
+			UserNo = publiccode::GetUser().name;
+			
+			if (UserNo.find(L"周冉") >= 0) {
+				dw_base.SetItemString(1, L"Position", L"周冉");
+			}
+
+			
 
 			return 1;
 		}
@@ -174,5 +201,4 @@
 
 			return 1;
 		}
-	};
-]
\ No newline at end of file
+	};
\ No newline at end of file

--
Gitblit v1.9.3