From 39874cc0992b23bb2544f88cc4257f16616cdd78 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期四, 24 四月 2025 14:51:57 +0800
Subject: [PATCH] update

---
 jrj/project/IndexMenuWin.cpp |   49 ++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 42 insertions(+), 7 deletions(-)

diff --git a/jrj/project/IndexMenuWin.cpp b/jrj/project/IndexMenuWin.cpp
index 8c0c021..c25a3ba 100644
--- a/jrj/project/IndexMenuWin.cpp
+++ b/jrj/project/IndexMenuWin.cpp
@@ -11,6 +11,9 @@
 #include "wobject/xnode.hpp"
 #include "platform/nstring.hpp"
 
+#include <vector>
+//#include <stdio.h>
+
 class __declspec(dllexport)IndexMenuWin: public xwin
 {
 public:
@@ -28,7 +31,7 @@
 	HWND m_nHwnd;
 	int tabNo;
 
-	//int m_panelNo; // 褰撳墠鑿滃崟缁�
+	//int m_panelNo; // 当前菜单组
 	xstring m_Assignment;
 public:
 	IndexMenuWin(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
@@ -199,7 +202,7 @@
 		if(hItem == 0) return 1;
 		int hasChild = tv_menu.GetItemChild1(hItem);
 		if(hasChild > 0) return 1;
-		int ret = rClick(L"鏀惰棌鑿滃崟");
+		int ret = rClick(L"收藏菜单");
 		if(ret == 1)
 		{
 			xstring id = (xstring)tv_menu.GetItemData(hItem);
@@ -210,7 +213,7 @@
 			if(xaserver::ExecXQuery(GetServerUrl(),L"[menu.user.edit.xq]",arg.GetString(),x)!=1)
 			{
 				trace(x.xml());
-				//alert("鏀惰棌澶辫触!");
+				//alert("收藏失败!");
 				return -1;	
 			}
 			createTree1();
@@ -290,7 +293,38 @@
 		dbClick(tv_menu, hItem);
 		return 1;
 	}
-		
+	
+	int SetMenuAgent()
+	{
+		xaserverarg arg;
+		KXMLDOMDocument x;
+		arg.SetArg(L"pid", L"null");
+		arg.SetArg(L"Assignment", this->m_Assignment);
+		if (xaserver::ExecXQuery(GetServerUrl(), L"[Items.menu.xq]", arg.GetString(), x) != 1)
+		{
+			trace(x.xml());
+			alert("取消失败!");
+			return -1;
+		}
+		KXMLDOMNodeList items = x.selectNodes(L"*/item");
+		long len = items.length();
+		xstring tools;
+		wchar_t tool[1204];
+		const wchar_t * templ = L"<xtoolbutton width ='80' imageflow ='top' height ='80' caption ='%s' name ='Menu-%d'  src ='icons32/%s白.png' style ='font-family:思源黑体 CN Bold;font-size:9pt;margin:8;text-align:center;background-color:%s;background-radius:8pt;'><help>%s</help></xtoolbutton>";
+		std::vector<const wchar_t*> colors{L"#DE9832",L"#32B2E6",L"#FFEF34",L"#2EA14A",L"#D54C84"};
+		for (int i = 0; i < len; i++)
+		{
+			if (i >= 20)break;
+			xstring name = items.item(i).selectSingleNode(L"name").text();
+			xstring id = items.item(i).selectSingleNode(L"id").text();
+			xstring src = name.replace(L"管理", L"").replace(L"模块", L"");
+			swprintf_s(tool, 1024, templ, name.c_str(), i, src.c_str(), colors[i % 5],name.c_str());
+			if (i == 0) tools = tool; else  tools += tool;
+		}
+		tools = L"<box layerflow ='htmlflow'>" + tools + L"</box>";
+		xnode node = this->GetAgentNode(L"menu-item");
+		if(node)this->SetAgentNode(node, tools);
+	}
 	int SetInitAgent()
 	{
 		int no = GetCurPanel();
@@ -346,7 +380,7 @@
 		xstring str = xc.GetText();
 		if(str.isEmpty())
 		{
-			alert(L"璇疯緭鍏ユ煡璇㈡潯浠�!");
+			alert(L"请输入查询条件!");
 			return -1;
 		}
 		HTREEITEM rItem = tv_menu2.GetRootItem();
@@ -425,7 +459,7 @@
 		TVNNMHDR& nmtv = *(TVNNMHDR*)evt->notify.pnmh;
 		HTREEITEM hItem = nmtv.FromItem;
 		if(!hItem) return 1;
-		int ret = rClick(L"鍙栨秷鏀惰棌");
+		int ret = rClick(L"取消收藏");
 		if(ret == 1)
 		{
 			xstring id = (xstring)tv_menu1.GetItemData(hItem);
@@ -436,7 +470,7 @@
 			if(xaserver::ExecXQuery(GetServerUrl(),L"[menu.user.edit.xq]",arg.GetString(),x)!=1)
 			{
 				trace(x.xml());
-				alert("鍙栨秷澶辫触!");
+				alert("取消失败!");
 				return -1;	
 			}
 			tv_menu1.DeleteItem(hItem);
@@ -505,6 +539,7 @@
 		SetInitAgent();
 		createTree1();
 		
+		SetMenuAgent();
 		xutil::RestoreCursor(hCursor);
 		//this->Redraw();
 

--
Gitblit v1.9.3