From a4d2315ee4ca3f6177b4fb2526bed2feff3d89be Mon Sep 17 00:00:00 2001
From: lifan <2308045698@qq.com>
Date: 星期三, 22 十月 2025 16:52:58 +0800
Subject: [PATCH] update
---
jrj/project/business/HR/ManpowerFile.cpp | 246 +++++++++++++++++++++++++-----------------------
1 files changed, 128 insertions(+), 118 deletions(-)
diff --git a/jrj/project/business/HR/ManpowerFile.cpp b/jrj/project/business/HR/ManpowerFile.cpp
index e834cf5..3cd79ba 100644
--- a/jrj/project/business/HR/ManpowerFile.cpp
+++ b/jrj/project/business/HR/ManpowerFile.cpp
@@ -8,68 +8,77 @@
#include "viewobject/view.base.hpp"
using xml = KXMLDOMDocument;
- class ViewManpowerFileList : public xframe
+ class __declspec(dllexport) ViewManpowerFileList : public xframe
{
+ public:
xdwgrid dw_list;//hxsoft.com -> Developer -> wface -> vcontrol
- int hSignWin;
+ HWND hSignWin;
xdwtable dw_arg;
xnode m_agentNode; //Agent Condition
- string urlTree;
+ xstring urlTree;
xtreeview tv_folder;
- //展开子文件
- int ExpandChildFolder(int hItem, msxml::IXMLDOMElement pElement)
+ public:
+ ViewManpowerFileList(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static ViewManpowerFileList* CreateInstance(void* implPtr, void* hWnd)
{
- msxml::IXMLDOMNodeList nlist = pElement.SelectNodes("Item");
- int len = nlist.length;
+ ViewManpowerFileList* pWin = new ViewManpowerFileList(implPtr, (HWND)hWnd);
+ return pWin;
+ }
+ //展开子文件
+ int ExpandChildFolder(HTREEITEM hItem,KXMLDOMElement pElement)
+ {
+ KXMLDOMNodeList nlist = pElement.selectNodes(L"Item");
+ int len = nlist.length();
for (int i = 0; i < len; i++)
{
- msxml::IXMLDOMElement e = nlist.item(i);
- string name = e.getAttribute("name");
- string sImage = e.getAttribute("image");
- string child = e.getAttribute("child");
+ KXMLDOMElement e = nlist.item(i);
+ xstring name = e.getAttribute(L"name");
+ xstring sImage = e.getAttribute(L"image");
+ xstring child = e.getAttribute(L"child");
int image = 15;
if (sImage) image = sImage.toInt();
- int h = tv_folder.InsertChildItem(tv_folder.GetId(), hItem, name, trust(e as int), image);
- if (child != "no") tv_folder.SetItemChild(h, 1);
+ HTREEITEM h = tv_folder.InsertChildItem( hItem, name, e, image);
+ if (child != L"no") tv_folder.SetItemChild(h, 1);
ExpandChildFolder(h, e);
}
return 1;
}
int InitialFolder()
{
- msxml::IXMLDOMElement xframeElement = GetElement();
- msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder']/initial");
+ KXMLDOMElement xframeElement = GetElement();
+ KXMLDOMElement e = xframeElement.selectSingleNode(L"//xtree[@name='tv_folder']/initial");
if (e)
ExpandChildFolder(0, e);
return 1;
}
- int ExpandCatChildFolder(int hItem, msxml::IXMLDOMElement ele, int image)
+ int ExpandCatChildFolder(HTREEITEM hItem, KXMLDOMElement ele, int image)
{
- msxml::IXMLDOMNodeList nlist = ele.SelectNodes("item");
- int len = nlist.length;
+ KXMLDOMNodeList nlist = ele.selectNodes(L"item");
+ int len = nlist.length();
if (len > 0) tv_folder.SetItemChild(hItem, 1);
for (int i = 0; i < len; i++)
{
- msxml::IXMLDOMElement e = nlist.item(i);
- string name = e.getAttribute("name");
- int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), image);
+ KXMLDOMElement e = nlist.item(i);
+ xstring name = e.getAttribute(L"name");
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image);
ExpandCatChildFolder(h, e, 35);
}
return 1;
}
- int ExpandFolderItem(int hItem)
+ int ExpandFolderItem(HTREEITEM hItem)
{
xml x = ViewObject::RetrieveData(urlTree);
if (!x) return 0;
- msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("/data/item");
- int len = nlist.length;
+ KXMLDOMNodeList nlist = x.selectNodes(L"/data/item");
+ int len = nlist.length();
for (int i = 0; i < len; i++)
{
- msxml::IXMLDOMElement e = nlist.item(i);
- string name = e.getAttribute("name");
- int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), 35);
+ KXMLDOMElement e = nlist.item(i);
+ xstring name = e.getAttribute(L"name");
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, 35);
ExpandCatChildFolder(h, e, 35);
}
return 1;
@@ -77,27 +86,27 @@
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 p)
{
//重置工具条
SetAgent();
@@ -106,7 +115,7 @@
int OnOpenAddWindow()
{
- OpenWindow("dev:xpage[ManpowerFileWindow.vx]");
+ OpenWindow(L"dev:xpage[ManpowerFileWindow.vx]");
return 1;
}
@@ -115,16 +124,18 @@
int row = dw_list.GetRow();
if (row < 1)
return 1;
- msxml::IXMLDOMElement ele = dw_list.GetRowElement(row);
- string mfid = ele.selectSingleNode("mfid").text;//获取节点的值
- OpenWindow("dev:xpage[ManpowerFileWindow.vx]", cast(mfid as int));
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ xstring mfid = ele.selectSingleNode(L"mfid").text();//获取节点的值
+ xaserverarg arg;
+ //arg.AddArg(L"mfid", mfid);
+ OpenWindow(L"dev:xpage[ManpowerFileWindow.vx]",mfid);
return 1;
}
int OnExchangeFileWindow()
{
- xwin xw = OpenWindow("dev:xpage[BlankExcelTemplate.vx]", 0);
- hSignWin = xw.GetHWND();
+ xwin* xw = OpenWindow(L"dev:xpage[BlankExcelTemplate.vx]", 0);
+ hSignWin = xw->GetHWND();
return 1;
}
@@ -132,26 +143,26 @@
{
int MB_OKCANCEL = 1;
int IDOK = 1;
- int ret = win32::MessageBox(GetHWND(), "确认删除?", "提示", MB_OKCANCEL);
+ int ret = MessageBoxW(GetHWND(), L"确认删除?", L"提示", MB_OKCANCEL);
if (ret == IDOK)
{
int row = dw_list.GetRow();
if (row < 1)
return 1;
- msxml::IXMLDOMElement ele = dw_list.GetRowElement(row);
- string mfid = ele.selectSingleNode("mfid").text;//查看
- 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/delete", arg.GetString(), x) != 1)
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ xstring mfid = ele.selectSingleNode(L"mfid").text();//查看
+ xml x ;
+
+ xaserverarg arg;//放置参数
+
+ arg.AddArg(L"mfid", mfid);
+ if (getUrl(L"/sale/data/ManpowerFile/delete", arg.GetString(), x) != 1)
{
- string error = x.GetXmlDoc().text;
- alert("err:" + error);
+ xstring error = x.text();
+ alert(L"err:" + error);
return 1;
}
- alert(x.GetXmlDoc().text);
+ alert(x.text());
OnRefresh();
}
return 1;
@@ -165,50 +176,49 @@
//分析
int OnAnalysis()
{
- int hCursor = xutil::SetCursorWait();
- string str = dw_list.DataAnalysis("");
- xaserverarg arg = new xaserverarg;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("html", str);
- int obj = cast(dw_list as int);
- arg.AddArg("obj", obj.toString());
- OpenWindow("dev:xpage[data.vanalysis.vx]", cast(arg as int));
+ HCURSOR hCursor = xutil::SetCursorWait();
+ xstring str = dw_list.DataAnalysis(L"");
+ xaserverarg arg;
+
+ arg.AddArg(L"html", str);
+ arg.SetParam(L"obj", (LPARAM)&dw_list);
+ OpenWindow(L"dev:xpage[data.vanalysis.vx]", arg);
xutil::RestoreCursor(hCursor);
return 1;
}
- string GetQueryArg()
+ xstring GetQueryArg()
{
dw_arg.AcceptText();
- xml x = new xml;
- x.setNativePointer(xml::CreateInstance());
- dw_arg.DwUpdateAllTo(x.GetXmlDoc());
+ xml x ;
+
+ dw_arg.DwUpdateAllTo(x);
- return x.GetXml();
+ return x.xml();
}
int OnRetrieveEx1()
{
- int hItem = tv_folder.GetSelectedItem();
- if (hItem <= 0) return 1;
+ HTREEITEM hItem = tv_folder.GetSelectedItem();
+ if (!hItem) return 1;
- int hCursor = xutil::SetCursorWait();
- msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement);
- string no = e1.getAttribute("no");
+ HCURSOR hCursor = xutil::SetCursorWait();
+ KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
+ xstring no = e1.getAttribute(L"no");
- xml x = new xml;
- x.setNativePointer(xml::CreateInstance());
- xaserverarg arg = new xaserverarg;
- arg.setNativePointer(arg.CreateInstance());
- //arg.AddArg("QueryTxt",GetControl("sle_search").GetText());
- arg.AddArg("QueryArg", GetQueryArg());
- arg.AddArg("MStatus", no);
+ xml x ;
+
+ xaserverarg arg;
+
+ //arg.AddArg(L"QueryTxt",GetControl(L"sle_search").GetText());
+ arg.AddArg(L"QueryArg", GetQueryArg());
+ arg.AddArg(L"MStatus", no);
- arg.AddArg("QueryName", GetControl("QueryName").GetText());
+ arg.AddArg(L"QueryName", xcontrol(GetControl(L"QueryName")).GetText());
//trace(arg.GetString());
- if (getUrl("/sale/data/ManpowerFile/list", arg.GetString(), x) != 1)
+ if (getUrl(L"/sale/data/ManpowerFile/list", arg.GetString(), x) != 1)
{
- trace(x.GetXmlDoc().text);
+ trace(x.text());
return -1;
}
else
@@ -223,36 +233,36 @@
}
//命令发布函数
- int OnCmdDispatch(string comdid)
+ int OnCmdDispatch(xstring comdid)
{
- if (comdid == "xmAddHumanDocument")
+ if (comdid == L"xmAddHumanDocument")
return OnOpenAddWindow();
- else if (comdid == "xmUpdateHumanDocument")
+ else if (comdid == L"xmUpdateHumanDocument")
return OnOpenUpdateWindow();
- else if (comdid == "xmRefresh" || comdid == "xmSearch")
+ else if (comdid == L"xmRefresh" || comdid == L"xmSearch")
return OnRetrieveEx1();
- else if (comdid == "xmExchangeFile")
+ else if (comdid == L"xmExchangeFile")
return OnExchangeFileWindow();
- else if (comdid == "xmDelete")
+ else if (comdid == L"xmDelete")
return OnDelete();
- else if (comdid == "xmAnalysis")
+ else if (comdid == L"xmAnalysis")
return OnAnalysis();
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 OnDoubleClicked(ref TNotifyEvent evt, int p)
+ int OnDoubleClicked(TEvent* evt, LPARAM p)
{
- return OnCmdDispatch("xmUpdateHumanDocument");
+ return OnCmdDispatch(L"xmUpdateHumanDocument");
}
- int OnTreeSelChanged(ref TNotifyEvent evt, int p)
+ int OnTreeSelChanged(TEvent* evt, LPARAM p)
{
return OnRetrieveEx1();
}
@@ -260,29 +270,30 @@
int OnAttachEvent()
{
//绑定工具条点击事件
- AttachEvent("WM_XCOMMAND", OnXCommand);
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&ViewManpowerFileList::OnXCommand);
//获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
- AttachEvent("dw_list", "DWV_DOUBLECLICKED", OnDoubleClicked);//行双击
- AttachEvent("tv_folder", "TVN_SELCHANGED", OnTreeSelChanged); //树选择
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&ViewManpowerFileList::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_DOUBLECLICKED", (FEvent)&ViewManpowerFileList::OnDoubleClicked);//行双击
+ AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&ViewManpowerFileList::OnTreeSelChanged); //树选择
+ return 1;
}
//数据传输函数
int OnRetrieve()
{
//int hCursor = xutil::SetCursorWait();//鼠标位置
- xml x = new xml;
- x.setNativePointer(xml::CreateInstance());
- xaserverarg arg = new xaserverarg;//放置参数
- arg.setNativePointer(arg.CreateInstance());
- //arg.AddArg("QueryTxt",GetControl("sle_search").GetText());//添加所需要传到后台的参数
- arg.AddArg("QueryArg", GetQueryArg());
- arg.AddArg("MStatus", "");
- arg.AddArg("QueryName", GetControl("QueryName").GetText());
- //trace("查看arg="+arg.GetString());//运行界面打印
- if (getUrl("/sale/data/ManpowerFile/list", arg.GetString(), x) != 1)///sale/data/ManpowerFile/doclist后台接口
+ xml x ;
+
+ xaserverarg arg;//放置参数
+
+ //arg.AddArg(L"QueryTxt",GetControl(L"sle_search").GetText());//添加所需要传到后台的参数
+ arg.AddArg(L"QueryArg", GetQueryArg());
+ arg.AddArg(L"MStatus", L"");
+ arg.AddArg(L"QueryName", xcontrol(GetControl(L"QueryName")).GetText());
+ //trace(L"查看arg=L"+arg.GetString());//运行界面打印
+ if (getUrl(L"/sale/data/ManpowerFile/list", arg.GetString(), x) != 1)///sale/data/ManpowerFile/doclist后台接口
{
- trace(x.GetXmlDoc().text);
+ trace(x.text());
return -1;
}
else
@@ -295,10 +306,10 @@
int onload()
{
- //【1】控制页面中name="dw_list"的内容
- dw_list = GetControl("dw_list");
+ //【1】控制页面中name=L"dw_list"的内容
+ dw_list = GetControl(L"dw_list");
//【2】加载sale根目录下view下的ManpowerFile.vface文件中的template/list url 前端页面
- dw_list.openUrl("/sale/view/ManpowerFile/template/list");
+ dw_list.openUrl(L"/sale/view/ManpowerFile/template/list");
//【3】绑定事件
OnAttachEvent();
//【4】加载后台数据
@@ -306,17 +317,17 @@
//【6】设为只读
dw_list.SetReadOnly(true);
- dw_arg = GetControl("dw_arg");
- dw_arg.openUrl("/sale/view/ManpowerFile/template/QueryArg");
+ dw_arg = GetControl(L"dw_arg");
+ dw_arg.openUrl(L"/sale/view/ManpowerFile/template/QueryArg");
dw_arg.SetColHeaderHeight(0);
dw_arg.SetRowSelectorWidth(0);
dw_arg.SetHScrollState(false);
dw_arg.SetVScrollState(false);
- dw_arg.SetItemString(1, "DateType", "不设定");
+ dw_arg.SetItemString(1, L"DateType", L"不设定");
OnRetrieve();
- urlTree = "/sale/data/ManpowerFile/folder";
- tv_folder = GetControl("tv_folder");
+ urlTree = L"/sale/data/ManpowerFile/folder";
+ tv_folder = GetControl(L"tv_folder");
tv_folder.SetLineAtRoot(true);
InitialFolder();
@@ -326,11 +337,10 @@
int onloaded()
{
SetAgent();
- int hItem = tv_folder.GetRootItem();
+ HTREEITEM hItem = tv_folder.GetRootItem();
ExpandFolderItem(hItem);
tv_folder.ExpandItem(hItem);
tv_folder.ItemFocus(hItem);
return 1;
}
- };
-]
\ No newline at end of file
+ };
\ No newline at end of file
--
Gitblit v1.9.3