From b1d01ea6fa62ce12c2e592b3315186f6b3c8359d Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期三, 17 七月 2024 15:20:38 +0800
Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/mis-prj

---
 jrj/project/business/SystemSettings/LogList.cpp |  217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 217 insertions(+), 0 deletions(-)

diff --git a/jrj/project/business/SystemSettings/LogList.cpp b/jrj/project/business/SystemSettings/LogList.cpp
new file mode 100644
index 0000000..07f77fb
--- /dev/null
+++ b/jrj/project/business/SystemSettings/LogList.cpp
@@ -0,0 +1,217 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
+#include <xcontrol/xdatetimepick.hpp>
+
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+	class  __declspec(dllexport) ViewLogList : public xwin
+	{
+	public:
+		xdwgrid	dw_list;
+		xoffice 	dw_office;
+		xcell		dw_cell;
+		xnode	m_agentNode;	//Agent Condition
+		xstring m_category;
+		xstring argStr;
+		xstring	searchStr;
+	public:
+		ViewLogList(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+	public:
+		static ViewLogList* CreateInstance(void* implPtr, void* hWnd)
+		{
+			ViewLogList* pWin = new ViewLogList(implPtr, (HWND)hWnd);
+			return pWin;
+		}
+		int SetAgent()
+		{
+			xstring xfNodeAgentArea  = L"agentarea";
+			xnode anode = GetAgentNode(xfNodeAgentArea);
+			if(m_agentNode)
+			{
+				SetAgentNode (anode,m_agentNode);
+			}
+			else
+			{
+				KXMLDOMElement xframeElement =  GetElement();
+				KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*");
+				if(agent)
+				{
+					xstring s = agent.xml();
+					m_agentNode =  SetAgentNode (anode,s);
+				}
+			}
+			return 1;
+		}
+
+		//焦点激活处理函数
+		int OnSetFocus(TEvent* evt, LPARAM param)
+		{
+			//重置工具条
+			SetAgent();
+			return 1;
+		}
+
+		//命令发布函数
+		int OnCmdDispatch(xstring comdid)
+		{
+			HCURSOR hCursor =  0;
+			 if(comdid==L"xmQuery")
+			{
+						xaserverarg ar ;
+					
+						ar.AddArg(L"argurl",L"/sale/view/Total3/arg/LogListItem");
+						if(argStr !=L"") 
+							ar.AddArg(L"arg",argStr);
+						OpenWindow(L"dev:xpage[view.total.arg.vx]",ar);
+						xstring arstr = ar.GetArgString(L"arg");
+						if(arstr != L"" && ar.GetArgString(L"action")==L"ok")
+						{
+							argStr = arstr;
+							hCursor = xutil::SetCursorWait();
+							OnRetrieve(L"/sale/data/Total3/total/GDNTotal/Item/LogList",argStr);
+							
+							xutil::RestoreCursor(hCursor);
+						}
+					
+					else
+					{
+						argStr=L"";
+						OnRetrieve(L"/sale/data/Total3/total/GDNTotal/Item/LogList",argStr);
+					}
+				
+				return 1;
+			 }
+					 if(comdid==L"xmAnalysis")
+			{
+				hCursor = xutil::SetCursorWait();
+				xstring str = dw_list.DataAnalysis(L"");
+				xaserverarg arg;
+				;						
+				arg.AddArg(L"html", str);
+				
+				OpenWindow(L"dev:xpage[data.vanalysis.vx]", arg);
+				xutil::RestoreCursor(hCursor);
+				return 1;
+			 }
+					 if(comdid==L"xmSearch") return OnSearch();
+			return 0;
+		}
+					 
+		int OnSearch()
+		{
+			xaserverarg arg;
+			;						
+			arg.AddArg(L"text", searchStr);
+			OpenWindow(L"dev:xpage[search.dialog.vx]", arg);
+			xstring str = arg.GetArgString(L"text");
+			if(str != searchStr)
+			{
+				searchStr = str;
+				dw_list.Filter(L"*",searchStr);
+				return 1;
+			}
+			return 1;
+		}
+		
+
+		
+		int OnCombboChanged(TEvent* evt, LPARAM lParam)
+		{
+			int h = xcombobox::GetCurSel(evt->command.hCtrl);
+			if(h > -1) 
+			{
+				HCURSOR hCursor = xutil::SetCursorWait();
+				KXMLDOMElement e = xcombobox::GetItemData(evt->command.hCtrl, h);
+				
+				PostMessage(GetHWND(),0x401,(LPARAM)L"xmQuery",0);
+				//OnCmdDispatch(L"xmQuery");
+				xutil::RestoreCursor(hCursor);
+			}
+			return 1;
+		}
+
+		
+			
+		//命令处理事件
+		int OnXCommand(TEvent* evt, LPARAM param)
+		{
+			return OnCmdDispatch(evt->xcommand.pStrID);
+		}
+		
+		int OnDWClick(TEvent* evt, int p)
+		{
+			DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+			xstring value = hdr.data;
+			xstring colname = hdr.colname;
+			int row = hdr.row;
+			
+			if(row < 1) return 1;
+			
+			return 1;
+		}
+
+		int OnAttachEvent()
+		{
+			//绑定工具条点击事件
+			AttachEvent(L"WM_XCOMMAND", (FEvent)&ViewLogList::OnXCommand);
+			//获取焦点事件,用于重置工具条
+			AttachEvent(L"WM_SETFOCUS", (FEvent)&ViewLogList::OnSetFocus);
+			AttachEvent(L"cb_report",L"CBN_SELCHANGE", (FEvent)&ViewLogList::OnCombboChanged);
+			AttachEvent(L"dw_report",L"DWV_CLICKED", (FEvent)&ViewLogList::OnDWClick);
+			return 1;
+		}
+		
+		int  OnRetrieve(xstring dataurl, xstring argstr)
+		{
+			dw_list.Reset();
+			
+			xml x ;
+			
+			xaserverarg arg ;
+			;	
+			arg.AddArg(L"arg",argstr);
+			//alert(argstr);
+				
+			if (xurl::get(dataurl,arg.GetString(),x)!=1)
+			{
+				//alert(x.xml());			
+				trace(x.text());
+				dw_list.Redraw();
+				return -1;
+			}
+			//alert(x.xml());			
+			dw_list.Retrieve(x);
+			dw_list.Redraw();
+			dw_list.SetReadOnly(true);
+
+			return 1;
+		}
+
+		int onload()
+		{
+			dw_list = GetControl(L"dw_report");
+			dw_office  = GetControl(L"dw_office");
+			dw_cell = GetControl(L"dw_cell");
+			dw_list.openUrl(L"/sale/view/Total3/template/business/gdn/LogList/ship/full");
+			
+			argStr =L"";
+			xcombobox xc = GetControl(L"cb_report");
+			
+
+			OnAttachEvent();	
+			return 1;
+		}
+		
+		int onloaded()
+		{
+			SetAgent();
+			OnCmdDispatch(L"xmQuery");
+			return 1;
+		}		
+	};
\ No newline at end of file

--
Gitblit v1.9.3