From 94d3840bda13f23c0cd4619a99ac215b74ffcd94 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期四, 07 十一月 2024 13:54:14 +0800
Subject: [PATCH] update

---
 jrj/project/vindexform.cpp |  140 +++++++++++++++++++++++++++-------------------
 1 files changed, 83 insertions(+), 57 deletions(-)

diff --git a/jrj/project/vindexform.cpp b/jrj/project/vindexform.cpp
index 26602c9..58821fc 100644
--- a/jrj/project/vindexform.cpp
+++ b/jrj/project/vindexform.cpp
@@ -16,20 +16,15 @@
 class __declspec(dllexport) vindexform: public xwin
 {
 public:
-	string m_Assignment;
+	xstring m_Assignment;
 	HWND m_hMenu;
 	xlayersheet mainsheet;
-	xcombobox cbx_menu;
-	xcombobox cbx_panelName;
-	xcombobox cbx_panelNo;
-	xcombobox cbx_tab;
+	xcombobox cbx_menu; //椤电鏁扮粍
+	xcombobox cbx_panelName; //椤电椤哄簭鏁扮粍
+	xcombobox cbx_panelNo; //椤电鏁扮粍
+	xcombobox cbx_tab; //椤电椤哄簭鏁扮粍
 
 	
-	xcombobox memuId; //椤电鏁扮粍
-	xcombobox tabNo; //椤电椤哄簭鏁扮粍
-	xcombobox panelNo; //椤电鏁扮粍
-	xcombobox panelName; //椤电椤哄簭鏁扮粍
-
 	HWND m_npHwnd; //鑿滃崟鏍戠獥鍙e彞鏌�
 	HWND m_nHwnd; //鑿滃崟鏍戠獥鍙e彞鏌�
 	int m_cursheet; //褰撳墠椤电
@@ -53,7 +48,7 @@
 		xml x ;
 		x.load(L"cache\\config.xml");
 		//alert(x.GetXml());
-		if (x.xml() == L"") return L"";
+		if ((xstring)x.xml() == L"") return L"";
 		KXMLDOMElement e = x.documentElement();
 		if (e.selectSingleNode(L"home"))
 		{
@@ -68,24 +63,27 @@
 	{
 		xml x ;
 		x.load(L"cache\\config.xml");
-		if (x.xml() == L"")
+		if ((xstring)x.xml() == L"")
 		{
-			//alert(L"<config><home "+att+L"=L"+value+L"/></config>");
+			//alert(L"<config><home "+att+L"="+value+L"/></config>");
 			x.loadXML(L"<config><home " + att + L"='" + value + L"'/></config>");
 		}
 		else
 		{
 			KXMLDOMElement e = x.documentElement();
-			if (e.selectSingleNode(L"home"))
+			if (e)
 			{
-				KXMLDOMElement e1 = e.selectSingleNode(L"home");
-				e1.setAttribute(att, value);
-			}
-			else
-			{
-				KXMLDOMElement e2 = x.createElement(L"home");
-				e2.setAttribute(att, value);
-				e.appendChild(e2);
+				if (e.selectSingleNode(L"home"))
+				{
+					KXMLDOMElement e1 = e.selectSingleNode(L"home");
+					e1.setAttribute(att, value);
+				}
+				else
+				{
+					KXMLDOMElement e2 = x.createElement(L"home");
+					e2.setAttribute(att, value);
+					e.appendChild(e2);
+				}
 			}
 			//alert(e.xml);
 		}
@@ -105,17 +103,16 @@
 		if (!hMenu)
 		{
 			HWND hw = m_hMenu;
-			bool f = IsWindow(hw);
-
-			if (hw == 0 && f <= 0)
+			bool bwin = hw ? IsWindow(hw):false;
+			if (!bwin)
 			{
 				xaserverarg* arg = new xaserverarg();
 				HWND hWnd = GetHWND();
 				arg->SetParam(L"hwnd", (LPARAM)hWnd);
-				arg->SetParam(L"memuId", (LPARAM)cbx_menu.getNativePointer());
-				arg->SetParam(L"tabNo", (LPARAM)cbx_tab.getNativePointer());
-				arg->SetParam(L"panelNo", (LPARAM)cbx_panelNo.getNativePointer());
-				arg->SetParam(L"panelName", (LPARAM)cbx_panelName.getNativePointer());
+				arg->SetParam(L"cbx_menu", (LPARAM)cbx_menu.getNativePointer());
+				arg->SetParam(L"cbx_tab", (LPARAM)cbx_tab.getNativePointer());
+				arg->SetParam(L"cbx_panelNo", (LPARAM)cbx_panelNo.getNativePointer());
+				arg->SetParam(L"cbx_panelName", (LPARAM)cbx_panelName.getNativePointer());
 				xwin* pwin = OpenWindow(L"dev:xpage[vindexmenu.vx]", (LPARAM)arg);
 				m_hMenu = pwin->GetHWND();
 				hw = m_hMenu;
@@ -162,8 +159,8 @@
 				xaserverarg* arg = new xaserverarg();
 				HWND hWnd = GetHWND();
 				arg->SetParam(L"hwnd", (LPARAM)hWnd);
-				arg->SetParam(L"memuId", (LPARAM)cbx_menu.getNativePointer());
-				arg->SetParam(L"tabNo", (LPARAM)cbx_tab.getNativePointer());
+				arg->SetParam(L"cbx_menu", (LPARAM)cbx_menu.getNativePointer());
+				arg->SetParam(L"cbx_tab", (LPARAM)cbx_tab.getNativePointer());
 				arg->SetParam(L"panelNo", (LPARAM)cbx_panelNo.getNativePointer());
 				arg->SetParam(L"panelName", (LPARAM)cbx_panelName.getNativePointer());
 				xwin* pwin=OpenWindow(L"dev:xpage[vindexmenu.vx]", (LPARAM)arg);
@@ -250,7 +247,7 @@
 			OnMenu(NULL);
 		}
 		menuShow = -1 - isshow;
-		xcombobox::SetCurSel(memuId.GetHWND(), menuShow);
+		cbx_menu.SetCurSel(menuShow);
 		if (f != L"")
 			setHomeConfig(L"menuposition", xstring(menuShow));
 		return 1;
@@ -258,9 +255,16 @@
 
 	int ResetMenu()
 	{
+		::DestroyWindow(m_hMenu);
+		m_hMenu = 0;
+		return 1;
+
 		//if(m_nHwnd) xwin::CloseWindow(m_nHwnd);
 		m_nHwnd = 0;
+		OnMenu(NULL);
+		OnMenuAgent(L"");
 
+#if 0
 		menuShow = -1;
 		xstring f = getHomeConfig(L"menuposition");
 		if (f == L"0")
@@ -269,6 +273,7 @@
 			OnMenuAgent(L"");
 		}
 
+
 		xaserverarg arg;
 	
 		HWND h = GetHWND();
@@ -276,17 +281,17 @@
 		arg.SetParam(L"hwnd", h);
 		
 		OpenWindow(L"dev:xpage[vindexforold.vx]", arg);
-
+#endif
 		return 1;
 	}
 
 	int ReSetInfo()
 	{
 		
-		memuId.ResetContent();
-		tabNo.ResetContent();
-		panelNo.ResetContent();
-		panelName.ResetContent();
+		cbx_menu.ResetContent();
+		cbx_tab.ResetContent();
+		cbx_panelNo.ResetContent();
+		cbx_panelName.ResetContent();
 
 		int hItem = mainsheet.GetSheetCount();
 		while (hItem > 1)
@@ -307,7 +312,7 @@
 			//trace(x.GetXml());
 			return -1;
 		}
-		if (x.xml() == L"") return -1;
+		if ((xstring)x.xml() == L"") return -1;
 		KXMLDOMElement e = x.documentElement();
 		if (/*m_Assignment == L"" &&*/ e.selectSingleNode(L"AssignmentID"))
 		{
@@ -318,10 +323,10 @@
 		if (m_Assignment == L"")
 			alert(L"鑾峰彇鐢ㄦ埛鏁版嵁澶辫触锛岃閲嶆柊鐧诲綍!");
 		else
-			xaserver::SetUID((LPWSTR)m_Assignment);
+			xaserver::SetUID((LPWSTR)m_Assignment.c_str(true));
 
-		xcombobox::AddItem(memuId.GetHWND(), L"寮�濮�");
-		xcombobox::AddItem(tabNo.GetHWND(), L"-1");
+		xcombobox::AddItem(cbx_menu.GetHWND(), L"寮�濮�");
+		xcombobox::AddItem(cbx_tab.GetHWND(), L"-1");
 		//OpenWindow(L"dev:xpage[vstart.vx]");
 		xcontrol xc = GetControl(L"statusbar0");
 		xc.SetText(L"姝e湪鍒濆鍖栫郴缁燂紝璇风◢鍊�....");
@@ -349,7 +354,7 @@
 			trace(x.xml());
 			return -1;
 		}
-		if (x.xml() == L"") return -1;
+		if ((xstring)x.xml() == L"") return -1;
 		KXMLDOMElement e = x.documentElement();
 		KXMLDOMNodeList li = e.selectNodes(L"item");
 		int i;
@@ -401,11 +406,11 @@
 		int MF_CHECKED = 0x8;
 
 		int k = mainsheet.GetSheetIndex();
-		//int cs = xcombobox::GetCount(memuId.GetId());
+		//int cs = xcombobox::GetCount(cbx_menu.GetId());
 		int cs = mainsheet.GetSheetCount();
 		int i;
 		for (i = 0; i < cs; i++) {
-			//string str = xcombobox::GetLBText(memuId.GetId(), i);
+			//xstring str = xcombobox::GetLBText(cbx_menu.GetId(), i);
 			xstring str = mainsheet.GetSheetText(i);
 			if (i == k)
 				AppendMenu(m, MF_STRING | MF_CHECKED, i + 1, str);
@@ -535,7 +540,7 @@
 	int OnAttachListon()
 	{
 		AttachEvent(L"WM_XCOMMAND",(FEvent)&vindexform::OnXCommand,this);
-		//AttachEvent(L"mdilayer", L"LYSN_SELECTEDSHEET",OnSheetChanged);	
+		//AttachEvent(L"mdilayer", L"LYSN_SELECTEDSHEET", (FEvent)&vindexform::OnSheetChanged);
 		////AttachEvent(L"mdilayer", L"LYSN_CLOSESHEET",OnCloseSheet);	
 		return 1;
 	}
@@ -545,27 +550,27 @@
 		int sheet = nmtv.nSheet;
 		int s = mainsheet.GetSheetCount();
 		//trace(s);
-		int cs = xcombobox::GetCount(memuId.GetHWND());
+		int cs = xcombobox::GetCount(cbx_menu.GetHWND());
 		int cursheet = m_cursheet;
 
 		if (s > cs) {
-			xcombobox::AddItem(memuId.GetHWND(), L"鑷敱绐楀彛");
-			xcombobox::AddItem(tabNo.GetHWND(), xstring(cursheet));
+			xcombobox::AddItem(cbx_menu.GetHWND(), L"鑷敱绐楀彛");
+			xcombobox::AddItem(cbx_tab.GetHWND(), xstring(cursheet));
 		}
 		if (s < cs) {
-			xcombobox::DeleteItem(memuId.GetHWND(), cursheet);
+			xcombobox::DeleteItem(cbx_menu.GetHWND(), cursheet);
 			int i = 0;
-			xstring value = xcombobox::GetLBText(tabNo.GetHWND(), cursheet);
+			xstring value = xcombobox::GetLBText(cbx_tab.GetHWND(), cursheet);
 			for (i = 0; i < cs; i++)
 			{
-				xstring tabId = xcombobox::GetLBText(tabNo.GetHWND(), i);
+				xstring tabId = xcombobox::GetLBText(cbx_tab.GetHWND(), i);
 				if (tabId == xstring(cursheet))
 				{
-					xcombobox::DeleteItem(tabNo.GetHWND(), i);
-					xcombobox::InsertString(tabNo.GetHWND(), i, value);
+					xcombobox::DeleteItem(cbx_tab.GetHWND(), i);
+					xcombobox::InsertString(cbx_tab.GetHWND(), i, value);
 				}
 			}
-			xcombobox::DeleteItem(tabNo.GetHWND(), cursheet);
+			xcombobox::DeleteItem(cbx_tab.GetHWND(), cursheet);
 			if (sheet != value.toInt())
 				mainsheet.SelectSheet(value.toInt());
 		}
@@ -607,14 +612,14 @@
 		Hxsoft::XFrame::KXMLDOMElement e = x.documentElement();
 		if((xstring)m_Assignment == L"" && e.selectSingleNode(L"AssignmentID"))
 		{
-			string sInfoEx = e.selectSingleNode(L"AssignmentID").text();
+			xstring sInfoEx = e.selectSingleNode(L"AssignmentID").text();
 			m_Assignment = sInfoEx;
 		}
 		
 		if((xstring)m_Assignment == L"")
 			alert(L"鑾峰彇鐢ㄦ埛鏁版嵁澶辫触锛岃閲嶆柊鐧诲綍!");
 		else
-			xaserver::SetUID((LPWSTR)m_Assignment);
+			xaserver::SetUID((LPWSTR)m_Assignment.c_str(true));
 		return 1;
 	}
 
@@ -637,6 +642,16 @@
 	int Initial()
 	{
 		SetUserID();
+		xstring userno = xaserver::GetUserNo();
+		if (userno == L"admin")
+		{
+			xnode anode = GetAgentNode(L"dev");
+			int LayerFlow_WE_ = 0x00000002;
+			int LayerFlow_Control_ = 0x00000010;
+			anode.SetLayerFlow(LayerFlow_WE_ | LayerFlow_Control_);
+		}
+		m_Assignment = L"";
+
 		return 1;
 	}
 	int onload()
@@ -653,11 +668,22 @@
 		Initial();
 
 		OnAttachListon();
-		OpenWindow(L"dev:xpage[start.vframe.vbusiness.vx]");
 	
 		return 1;
 	}
 	
+	int onloaded()
+	{
+		ReSetInfo();
+		//OpenWindow("dev:xpage[start.vframe.vbusiness.vx]");
+		//xwin* lw_face = OpenWindow(L"dev:xpage[start.vframe.vbusiness.vx]");
+		xwin* lw_face = OpenWindow(L"dev:xpage[Business5.vx]");
+		if(lw_face)m_startwin = lw_face->GetHWND();
+		cbx_panelName.SetCurSel( -1);
+		ResetMenu();
+
+		return 1;
+	}
 
 
 };

--
Gitblit v1.9.3