From b520858b7365095ec5926b7c1a16e4396d507747 Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期三, 10 七月 2024 11:25:36 +0800
Subject: [PATCH] update

---
 jrj/project/business/Enquiry/ProductSchema.cpp |  147 ++++++++++++++++++++++++++----------------------
 1 files changed, 80 insertions(+), 67 deletions(-)

diff --git a/jrj/project/business/Enquiry/ProductSchema.cpp b/jrj/project/business/Enquiry/ProductSchema.cpp
index 02bc853..0c1d4a8 100644
--- a/jrj/project/business/Enquiry/ProductSchema.cpp
+++ b/jrj/project/business/Enquiry/ProductSchema.cpp
@@ -1,38 +1,51 @@
-use "xcontrol.vframe.vbusiness.vd"
-use "xbase.vframe.vbusiness.vd"
-use "base.view.vd"
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
+#include <xcontrol/xdatetimepick.hpp>
 
-unit trade
-[
-	class ProductSchemaWin : public xframe
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+	class __declspec(dllexport) ProductSchemaWin : public xframe
 	{
+	public:
 		xdwtable	dw_base;
 		xdwgrid	dw_list;
 		xnode	m_agentNode;	//Agent Condition
-
+	public:
+		ProductSchemaWin(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+	public:
+		static ProductSchemaWin* CreateInstance(void* implPtr, void* hWnd)
+		{
+			ProductSchemaWin* pWin = new ProductSchemaWin(implPtr, (HWND)hWnd);
+			return pWin;
+		}
 		int SetAgent()
 		{
-			string xfNodeAgentArea = "agentarea";
+			xstring xfNodeAgentArea = L"agentarea";
 			xnode anode = GetAgentNode(xfNodeAgentArea);
 			if (m_agentNode)
 			{
-				SetAgentNodeContent(anode, m_agentNode);
+				SetAgentNode(anode, m_agentNode);
 			}
 			else
 			{
-				msxml::IXMLDOMElement xframeElement = GetElement();
-				msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/" + xfNodeAgentArea + "[1]/*");
+				KXMLDOMElement xframeElement = GetElement();
+				KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/" + xfNodeAgentArea + L"[1]/*");
 				if (agent)
 				{
-					string s = agent.xml;
-					m_agentNode = SetAgentNodeContent(anode, s);
+					xstring s = agent.xml();
+					m_agentNode = SetAgentNode(anode, s);
 				}
 			}
 			return 1;
 		}
 
 		//焦点激活处理函数
-		int OnSetFocus(ref TEvent evt, int param)
+		int OnSetFocus(TEvent* evt, LPARAM param)
 		{
 			//重置工具条
 			SetAgent();
@@ -40,48 +53,48 @@
 		}
 
 		//命令发布函数
-		int OnCmdDispatch(string comdid)
+		int OnCmdDispatch(xstring comdid)
 		{
-			if (comdid == "xmAddRow")
+			if (comdid == L"xmAddRow")
 			{
 				int row = dw_list.InsertRow(0);
-				string sdate = publiccode::GetCurrentDate();
-				dw_list.SetItemString(row, "SKUID", dw_base.GetItemString(1, "SKUID"));
-				dw_list.SetItemDisplayString(row, "SKUID", dw_base.GetItemString(1, "SKUNo"));
-				dw_list.SetItemString(row, "GoodsNo", dw_base.GetItemString(1, "GoodsNo"));
-				dw_list.SetItemString(row, "CName", dw_base.GetItemString(1, "CName"));
-				dw_list.SetItemString(row, "ProductQty", "1");
-				dw_list.SetItemString(row, "PartQty", "1");
-				dw_list.SetItemString(row, "CreateDate", sdate);
+				xstring sdate = publiccode::GetCurrentDate();
+				dw_list.SetItemString(row, L"SKUID", dw_base.GetItemString(1, L"SKUID"));
+				dw_list.SetItemDisplayString(row, L"SKUID", dw_base.GetItemString(1, L"SKUNo"));
+				dw_list.SetItemString(row, L"GoodsNo", dw_base.GetItemString(1, L"GoodsNo"));
+				dw_list.SetItemString(row, L"CName", dw_base.GetItemString(1, L"CName"));
+				dw_list.SetItemString(row, L"ProductQty", L"1");
+				dw_list.SetItemString(row, L"PartQty", L"1");
+				dw_list.SetItemString(row, L"CreateDate", sdate);
 				return 1;
 			}
-			else if (comdid == "xmDeleteRow")
+			else if (comdid == L"xmDeleteRow")
 			{
 				dw_list.DeleteRow(0);
 				return 1;
 			}
-			else if (comdid == "xmClose")
+			else if (comdid == L"xmClose")
 			{
 				CloseWindow();
 				return 1;
 			}
-			else if (comdid == "xmSave")
+			else if (comdid == L"xmSave")
 			{
 				return OnSave();
 			}
 			return 0;
 		}
 
-		int OnArgItemChanged(ref TNotifyEvent evt, int p)
+		int OnArgItemChanged(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;
 
-			string dwname = "dw_base";
-			if (value != "")
+			xstring dwname = L"dw_base";
+			if (value != L"")
 			{
-				msxml::IXMLDOMNodeList nlist = GetElement().selectNodes("//*[@name='" + dwname + "']/trans[@for='" + colname + "']");
+				KXMLDOMNodeList nlist = GetElement().selectNodes(L"//*[@name='" + dwname + L"']/trans[@for='" + colname + L"']");
 				ViewObject::TransData(nlist, dw_base, hdr.row, colname, value);
 			}
 			OnRetrieve();
@@ -92,46 +105,47 @@
 		int OnSave()
 		{
 			dw_list.AcceptText();
-			xml  x = xml::Make();
-			xaserverarg arg = xaserverarg::Make();
-			dw_list.DwUpdateAllToEx(x.GetXmlDoc());
+			xml  x ;
+			xaserverarg arg;
+			dw_list.DwUpdateAllToEx(x);
 
-			arg.AddArg("content", x.GetXml());
-			if (url::get("/sale/data/ProductLibrary3/update/product/schema", arg.GetString(), x) != 1)
+			arg.AddArg(L"content", x.xml());
+			if (xurl::get(L"/sale/data/ProductLibrary3/update/product/schema", arg.GetString(), x) != 1)
 			{
-				string error = x.GetXmlDoc().text;
-				alert("err:" + error);
-				x.Free();
+				xstring error = x.text();
+				alert(L"err:" + error);
+				
 				return -1;
 			}
-			string str = x.GetXmlDoc().documentElement.getAttribute("text");
+			xstring str = x.documentElement().getAttribute(L"text");
 			//alert(str);
-			x.Free();
-			if (str == "false")
+		
+			if (str == L"false")
 			{
-				alert("保存失败!");
+				alert(L"保存失败!");
 				return -1;
 			}
 
 			dw_list.ResetUpdateStatus();
-			alert("保存成功!");
+			alert(L"保存成功!");
 
 			return 1;
 		}
 
 		//命令处理事件
-		int OnXCommand(ref TXCommandEvent evt, int param)
+		int OnXCommand(TEvent* evt, LPARAM param)
 		{
-			return OnCmdDispatch(evt.pStrID);
+			return OnCmdDispatch(evt->xcommand.pStrID);
 		}
 
 		int OnAttachEvent()
 		{
 			//绑定工具条点击事件
-			AttachEvent("WM_XCOMMAND", OnXCommand);
+			AttachEvent(L"WM_XCOMMAND", (FEvent)&ProductSchemaWin::OnXCommand);
 			//获取焦点事件,用于重置工具条
-			AttachEvent("WM_SETFOCUS", OnSetFocus);
-			AttachEvent("dw_base", "DWV_ITEMCHANGED", OnArgItemChanged);
+			AttachEvent(L"WM_SETFOCUS", (FEvent)&ProductSchemaWin::OnSetFocus);
+			AttachEvent(L"dw_base", L"DWV_ITEMCHANGED", (FEvent)&ProductSchemaWin::OnArgItemChanged);
+			return 1;
 		}
 
 		int  OnRetrieve()
@@ -139,15 +153,15 @@
 			dw_list.Reset();
 			dw_list.Redraw();
 
-			xml x = new xml;
-			x.setNativePointer(xml::CreateInstance());
-			xaserverarg arg = new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg("SKUID", dw_base.GetItemString(1, "SKUID"));
-			//alert(dw_base.GetItemString(1,"SKUID"));
-			if (getUrl("/sale/data/ProductLibrary3/ProductSchemaList", arg.GetString(), x) != 1)
+			xml x ;
+			
+			xaserverarg arg;
+			
+			arg.AddArg(L"SKUID", dw_base.GetItemString(1, L"SKUID"));
+			//alert(dw_base.GetItemString(1,L"SKUID"));
+			if (getUrl(L"/sale/data/ProductLibrary3/ProductSchemaList", arg.GetString(), x) != 1)
 			{
-				trace(x.GetXmlDoc().text);
+				trace(x.text());
 				return -1;
 			}
 			else
@@ -160,12 +174,12 @@
 
 		int onload()
 		{
-			dw_list = GetControl("dw_list");
-			dw_list.openUrl("/sale/view/ProductLibrary/template/ProductSchema");
-			dw_list.SetColumnState("CreateDate", false);
+			dw_list = GetControl(L"dw_list");
+			dw_list.openUrl(L"/sale/view/ProductLibrary/template/ProductSchema");
+			dw_list.SetColumnState(L"CreateDate", false);
 
-			dw_base = GetControl("dw_base");
-			dw_base.openUrl("/sale/view/ProductLibrary/template/ProductArg");
+			dw_base = GetControl(L"dw_base");
+			dw_base.openUrl(L"/sale/view/ProductLibrary/template/ProductArg");
 			dw_base.SetColHeaderHeight(0);
 			dw_base.SetRowSelectorWidth(0);
 			dw_base.SetHScrollState(false);
@@ -183,5 +197,4 @@
 
 			return 1;
 		}
-	};
-]
\ No newline at end of file
+	};
\ No newline at end of file

--
Gitblit v1.9.3