From f7c01240b27f0ad97feb9115b238d7a44b4b56b2 Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期三, 17 七月 2024 17:06:12 +0800
Subject: [PATCH] update
---
jrj/project/business/SystemSettings/BindComputer.cpp | 213 +-
jrj/project/business/SystemSettings/AddUser.cpp | 429 +++---
jrj/project/business/SystemSettings/Data.config.cpp | 1108 +++++++++---------
jrj/project/business/SystemSettings/AddUserGroup.cpp | 333 ++---
jrj/project/business/SystemSettings/UserImport.cpp | 634 +++++-----
jrj/project/business/SystemSettings/SysUser.cpp | 647 +++++-----
6 files changed, 1,686 insertions(+), 1,678 deletions(-)
diff --git a/jrj/project/business/SystemSettings/AddUser.cpp b/jrj/project/business/SystemSettings/AddUser.cpp
index 3d9c416..4f10945 100644
--- a/jrj/project/business/SystemSettings/AddUser.cpp
+++ b/jrj/project/business/SystemSettings/AddUser.cpp
@@ -3,227 +3,226 @@
use "dev:vm[xdwgrid.vm]"
use "dev:vm[xdwtable.vm]"
use "pref.vl"
-use "dev:vm[xml.vm]"
-use "dev:vm[xaserverarg.vm]"
-use "dev:vm[xaserver.vm]"
-use "dev:vm[xutil.vm]"
-use "dev:code[pa.tpp]"
-use "dev:vm[control.vm]"
-#include "dev:xpage[SysUser.vx]"
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
-unit vbusiness.xpage tpp
-[
- class pa
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+//use "dev:xpage[SysUser.vx]"
+
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) AddUser : public xwin
+{
+
+public:
+
+ xstring note;
+ int hitem;
+ int row;
+ int wid;
+ xtreeview tv;
+ xdwgrid dw;
+ xwin pwin;
+ pa p;
+public:
+ AddUser(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+public:
+ static AddUser* CreateInstance(void* implPtr, void* hWnd)
{
- string note;
- int hitem;
- int row;
- int wid;
- treeview__ tv;
- xdwgrid__ dw;
- win__ pwin;
+ AddUser* pWin = new AddUser(implPtr, (HWND)hWnd);
+ return pWin;
}
-]
-unit vbusiness.xpage
-[
- AddUser is extend win__;
- about AddUser
- [
- control:
-
- method:
- [
- pa p;
-
- int SetAgent()
- {
- return 1;
- }
- //焦点激活处理函数
- int OnSetFocus(ref TEvent evt,int param)
- {
- int SetAgent();
+ int SetAgent()
+ {
+ return 1;
+ }
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ int SetAgent();
- //重置工具条
- return 1;
- }
- int AppendItem(xml__ x,msxml::IXMLDOMElement r,string item){
- var e = x.GetXmlDoc().createElement(item);
- //xcontrol xc = GetControl(item);
- control__ xc = new control__;
- xc.setNativePointer(this.GetControl(item));
- e.text = xc.GetText();
- r.appendChild(e);
- return 1;
- }
-
- int OnSave()
- {
- control__ xc = new control__;
- /*xc=GetControl("EmployeeNo");
- if (xc.GetText()=="")
- {
- alert("用户代码不能为空!");
- return 0;
- }*/
- xc=GetControl("UserName");
- if (xc.GetText()=="")
- {
- alert("用户名称不能为空!");
- return 0;
- }
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- x.LoadXml("<SysUser/>");
- var r = x.GetXmlDoc().documentElement;
- string guid;
- string guid1;
- if (p.note=="修改")
- {
- msxml::IXMLDOMElement ele=xdwgrid__::GetRowElement(p.row);
- guid = ele.selectSingleNode("UserID").text;
- //guid=ele.getAttribute("guid");
- //if (ele.selectSingleNode("empid"))
- // r.appendChild(ele.selectSingleNode("empid"));
- }
- else
- guid=win__::GetGuid();
- //guid1=win32::GetGuid();
- r.setAttribute("guid",guid);
- //r.setAttribute("guid1",guid1);
- //AppendItem(x,r,"EmployeeNo");
- AppendItem(x,r,"UserName");
- AppendItem(x,r,"PassWord");
- AppendItem(x,r,"Status");
- //trace(x.GetXml());
- //return 1;
- arg.AddArg("content",x.GetXml());
- int ls_item = treeview__::GetSelectedItem(p.wid);
- msxml::IXMLDOMElement e=treeview__::GetItemData(p.wid,ls_item);
- string gpguid=e.selectSingleNode("@guid").text;
- arg.AddArg("gpguid",gpguid);
- if (xaserver__::ExecXAction(GetServerUrl(),"[update.User.xa]",arg.GetString())==1)
- {
- alert("ok");
- if (p.note=="修改")
- {
- xdwgrid__ dw = new xdwgrid__;
- //dw.setNativePointer(p.dw_user);
- int row = dw.GetNextSelectRow(0);
- //dw.SetItemString(row,"UserName","");
- msxml::IXMLDOMElement e;
- e = x.GetXmlDoc().documentElement;
- string ls_pass = e.selectSingleNode("PassWord").text;
- string ls_status = e.selectSingleNode("Status").text;
- dw.SetItemString(row,"PassWord",ls_pass);
- dw.SetItemString(row,"Status",ls_status);
- dw.Redraw();
- }
- else
- {
- //----------
- //p.pwin.OnTreeSelChanged();
- }
- }
- else
- {
- alert("保存出错!");
- return 0;
- }
- return 1;
- }
-
- int ClearItem(string item)
- {
- control__ xc = new control__;
- xc.setNativePointer(GetControl(item));
- xc.SetText("");
- return 1;
- }
- //命令发布函数
- int OnCmdDispatch(string comdid)
- {
- if (comdid=="cb_cancel")
- CloseWindow();
- else if(comdid=="cb_ok")
- {
- int r=OnSave();
- if (r==1)
- CloseWindow();
- }
- else if(comdid=="cb_save")
- {
- OnSave();
- p.note="新增";
- win__::SetWindowText(GetHWND(),p.note+"用户");
- ClearItem("userno");
- ClearItem("username");
- ClearItem("pwd");
- }
- return 0;
- }
-
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt,int param)
- {
- return OnCmdDispatch(evt.pStrID);
- }
-
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND",OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS",OnSetFocus);
- }
-
- int OnInitial()
- {
- SetAgent();
+ //重置工具条
+ return 1;
+ }
+ int AppendItem(xml x, KXMLDOMElement r, xstring item) {
+ var e = x.createElement(item);
+ //xcontrol xc = GetControl(item);
+ control xc = new control;
+ xc.setNativePointer(GetControl(item));
+ e.text() = xc.GetText();
+ r.appendChild(e);
+ return 1;
+ }
- OnAttachEvent();
-
- return 1;
- }
-
- int SetItem(string value,string item){
- control__ xc = new control__;
- xc.setNativePointer(GetControl(item));
- xc.SetText(value);
- return 1;
- }
- int onload()
+ int OnSave()
+ {
+ control xc = new control;
+ /*xc=GetControl(L"EmployeeNo");
+ if (xc.GetText()==L"")
+ {
+ alert(L"用户代码不能为空!");
+ return 0;
+ }*/
+ xc = GetControl(L"UserName");
+ if (xc.GetText() == L"")
+ {
+ alert(L"用户名称不能为空!");
+ return 0;
+ }
+ xml x;
+
+ xaserverarg arg;
+
+ x.loadXML(L"<SysUser/>");
+ var r = x.documentElement();
+ xstring guid;
+ xstring guid1;
+ if (p.note == L"修改")
+ {
+ KXMLDOMElement ele = xdwgrid::GetRowElement(p.row);
+ guid = ele.selectSingleNode(L"UserID").text();
+ //guid=ele.getAttribute(L"guid");
+ //if (ele.selectSingleNode(L"empid"))
+ // r.appendChild(ele.selectSingleNode(L"empid"));
+ }
+ else
+ guid = GetGuid();
+ //guid1=win32::GetGuid();
+ r.setAttribute(L"guid", guid);
+ //r.setAttribute(L"guid1",guid1);
+ //AppendItem(x,r,L"EmployeeNo");
+ AppendItem(x, r, L"UserName");
+ AppendItem(x, r, L"PassWord");
+ AppendItem(x, r, L"Status");
+ //trace(x.xml());
+ //return 1;
+ arg.AddArg(L"content", x.xml());
+ int ls_item = treeview::GetSelectedItem(p.wid);
+ KXMLDOMElement e = treeview::GetItemData(p.wid, ls_item);
+ xstring gpguid = e.selectSingleNode(L"@guid").text();
+ arg.AddArg(L"gpguid", gpguid);
+ if (xaserver::ExecXAction(GetServerUrl(), L"[update.User.xa]", arg.GetString()) == 1)
+ {
+ alert(L"ok");
+ if (p.note == L"修改")
{
- OnInitial();
- p = new pa;
-
- if(this.GetParam())
- {
- p=GetParam();
- win__::SetWindowText(GetHWND(),p.note+"用户");
- if (p.note=="修改")
- {
- xdwgrid__ dw = new xdwgrid__;
- dw.setNativePointer(p.dw);
- msxml::IXMLDOMElement ele=dw.GetRowElement(p.row);
- //if(ele.selectSingleNode("EmployeeNo"))
- //SetItem(ele.selectSingleNode("EmployeeNo").text,"EmployeeNo");
- if(ele.selectSingleNode("UserName"))
- SetItem(ele.selectSingleNode("UserName").text,"UserName");
- if(ele.selectSingleNode("PassWord"))
- SetItem(ele.selectSingleNode("PassWord").text,"PassWord");
- if(ele.selectSingleNode("Status"))
- SetItem(ele.selectSingleNode("Status").text,"Status");
- trace("Aa");
- return 1;
- }
- }
+ xdwgrid dw = new xdwgrid;
+ //dw.setNativePointer(p.dw_user);
+ int row = dw.GetNextSelectRow(0);
+ //dw.SetItemString(row,L"UserName",L"");
+ KXMLDOMElement e;
+ e = x.documentElement();
+ xstring ls_pass = e.selectSingleNode(L"PassWord").text();
+ xstring ls_status = e.selectSingleNode(L"Status").text();
+ dw.SetItemString(row, L"PassWord", ls_pass);
+ dw.SetItemString(row, L"Status", ls_status);
+ dw.Redraw();
+ }
+ else
+ {
+ //----------
+ //p.pwin.OnTreeSelChanged();
+ }
+ }
+ else
+ {
+ alert(L"保存出错!");
+ return 0;
+ }
+ return 1;
+ }
+
+ int ClearItem(xstring item)
+ {
+ control xc = new control;
+ xc.setNativePointer(GetControl(item));
+ xc.SetText(L"");
+ return 1;
+ }
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"cb_cancel")
+ CloseWindow();
+ else if (comdid == L"cb_ok")
+ {
+ int r = OnSave();
+ if (r == 1)
+ CloseWindow();
+ }
+ else if (comdid == L"cb_save")
+ {
+ OnSave();
+ p.note = L"新增";
+ SetWindowText(GetHWND(), p.note + L"用户");
+ ClearItem(L"userno");
+ ClearItem(L"username");
+ ClearItem(L"pwd");
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&AddUser::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&AddUser::OnSetFocus);
+ return 1;
+ }
+
+ int OnInitial()
+ {
+ SetAgent();
+
+ OnAttachEvent();
+
+ return 1;
+ }
+
+ int SetItem(xstring value, xstring item) {
+ control xc = new control;
+ xc.setNativePointer(GetControl(item));
+ xc.SetText(value);
+ return 1;
+ }
+ int onload()
+ {
+ SetArg();
+ OnInitial();
+ p = new pa;
+
+ if (GetWinParam())
+ {
+ p = GetArg();
+ SetWindowText(GetHWND(), p.note + L"用户");
+ if (p.note == L"修改")
+ {
+ xdwgrid dw = new xdwgrid;
+ dw.setNativePointer(p.dw);
+ KXMLDOMElement ele = dw.GetRowElement(p.row);
+ //if(ele.selectSingleNode(L"EmployeeNo"))
+ //SetItem(ele.selectSingleNode(L"EmployeeNo").text(),L"EmployeeNo");
+ if (ele.selectSingleNode(L"UserName"))
+ SetItem(ele.selectSingleNode(L"UserName").text(), L"UserName");
+ if (ele.selectSingleNode(L"PassWord"))
+ SetItem(ele.selectSingleNode(L"PassWord").text(), L"PassWord");
+ if (ele.selectSingleNode(L"Status"))
+ SetItem(ele.selectSingleNode(L"Status").text(), L"Status");
+ trace(L"Aa");
return 1;
}
- ]
-
- ]
-]
\ No newline at end of file
+ }
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/business/SystemSettings/AddUserGroup.cpp b/jrj/project/business/SystemSettings/AddUserGroup.cpp
index fc7a253..978f2fa 100644
--- a/jrj/project/business/SystemSettings/AddUserGroup.cpp
+++ b/jrj/project/business/SystemSettings/AddUserGroup.cpp
@@ -1,183 +1,172 @@
-use "win.vl"
-use "treeview.vm"
-use "dev:vm[xdwgrid.vm]"
-use "dev:vm[xdwtable.vm]"
-use "pref.vl"
-use "dev:vm[xml.vm]"
-use "dev:vm[xaserverarg.vm]"
-use "dev:vm[xaserver.vm]"
-use "dev:vm[xutil.vm]"
-use "dev:code[pa.tpp]"
-use "dev:vm[control.vm]"
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
-unit vbusiness.xpage tpp
-[
- class pa
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) AddUserGroup : public xwin
+{
+
+public:
+ xstring note;
+ int hitem;
+ int row;
+ int wid;
+ xtreeview tv;
+ xdwgrid dw;
+ xwin pwin;
+
+public:
+ AddUserGroup(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+public:
+ static AddUserGroup* CreateInstance(void* implPtr, void* hWnd)
{
- string note;
- int hitem;
- int row;
- int wid;
- treeview__ tv;
- xdwgrid__ dw;
- win__ pwin;
+ AddUserGroup* pWin = new AddUserGroup(implPtr, (HWND)hWnd);
+ return pWin;
}
-]
-
-unit vbusiness.xpage
-[
+ int SetAgent()
+ {
+ return 1;
+ }
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ int SetAgent();
- AddUserGroup is extend win__;
- about AddUserGroup
- [
- control:
-
- method:
- [
- pa p;
-
- int SetAgent()
- {
- return 1;
- }
- //焦点激活处理函数
- int OnSetFocus(ref TEvent evt,int p)
- {
- int SetAgent();
+ //重置工具条
+ return 1;
+ }
+ int AppendItem(xml x, KXMLDOMElement r, xstring item) {
+ var e = x.createElement(item);
+ control xc = new control;
+ xc.setNativePointer(GetControl(item));
+ e.text() = xc.GetText();
+ r.appendChild(e);
+ return 1;
+ }
+ int AppendAttrib(xml x, KXMLDOMElement r, xstring item) {
+ var e = x.createElement(item);
+ //xcontrol xc = GetControl(item);
+ control xc = new control;
+ xc.setNativePointer(GetControl(item));
+ e.text() = xc.GetText();
+ r.setAttribute(item, xc.GetText());
+ return 1;
+ }
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"cb_cancel")
+ CloseWindow();
+ else if (comdid == L"cb_ok")
+ {
+ int wid = p.wid;
+ xml x;
- //重置工具条
- return 1;
- }
- int AppendItem(xml__ x,msxml::IXMLDOMElement r,string item){
- var e = x.GetXmlDoc().createElement(item);
- control__ xc = new control__;
- xc.setNativePointer(this.GetControl(item));
- e.text = xc.GetText();
- r.appendChild(e);
- return 1;
- }
- int AppendAttrib(xml__ x,msxml::IXMLDOMElement r,string item){
- var e = x.GetXmlDoc().createElement(item);
- //xcontrol xc = GetControl(item);
- control__ xc = new control__;
- xc.setNativePointer(this.GetControl(item));
- e.text = xc.GetText();
- r.setAttribute(item,xc.GetText());
- return 1;
- }
- //命令发布函数
- int OnCmdDispatch(string comdid)
+ xaserverarg arg;
+
+ x.loadXML(L"<row/>");
+ var r = x.documentElement();
+ xstring gpguid;
+ if (p.note == L"修改")
{
- if (comdid=="cb_cancel")
- CloseWindow();
- else if(comdid=="cb_ok")
+ KXMLDOMElement ele = treeview::GetItemData(wid, p.hitem);
+ gpguid = ele.selectSingleNode(L"@JobID").text();
+ }
+ else
+ gpguid = GetGuid();
+ r.setAttribute(L"JobID", gpguid);
+ AppendAttrib(x, r, L"JobName");
+ AppendAttrib(x, r, L"JobType");
+ //AppendItem(x,r,L"JobName");
+ //AppendItem(x,r,L"JobType");
+ //trace(x.xml());
+ //return 1;
+ arg.AddArg(L"content", x.xml());
+ if (xaserver::ExecXAction(GetServerUrl(), L"[update.Usergroup.xa]", arg.GetString()) == 1)
+ {
+ control xc = new control;
+ xc.setNativePointer(GetControl(L"JobName"));
+ //p.tv.Redraw();
+ if (p.note == L"修改")
{
- int wid = p.wid;
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- x.LoadXml("<row/>");
- var r = x.GetXmlDoc().documentElement;
- string gpguid;
- if (p.note=="修改")
- {
- msxml::IXMLDOMElement ele = treeview__::GetItemData(wid,p.hitem);
- gpguid=ele.selectSingleNode("@JobID").text;
- }
- else
- gpguid=win__::GetGuid();
- r.setAttribute("JobID",gpguid);
- AppendAttrib(x,r,"JobName");
- AppendAttrib(x,r,"JobType");
- //AppendItem(x,r,"JobName");
- //AppendItem(x,r,"JobType");
- //trace(x.GetXml());
- //return 1;
- arg.AddArg("content",x.GetXml());
- if (xaserver__::ExecXAction(GetServerUrl(),"[update.Usergroup.xa]",arg.GetString())==1)
- {
- control__ xc = new control__;
- xc.setNativePointer(this.GetControl("JobName"));
- //p.tv.Redraw();
- if (p.note=="修改")
- {
- treeview__::SetItemData(wid,p.hitem,r);
- treeview__::SetItemLabel(wid,p.hitem,xc.GetText());
- }
- else
- {
- int root = treeview__::GetRootItem(wid);
- treeview__::InsertChildItem(wid,root,xc.GetText(),r,15);
- }
- CloseWindow();
- }
- else
- {
- alert("保存出错!");
- }
+ treeview::SetItemData(wid, p.hitem, r);
+ treeview::SetItemLabel(wid, p.hitem, xc.GetText());
}
- return 0;
- }
-
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt,int p)
- {
- return OnCmdDispatch(evt.pStrID);
- }
-
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND",OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS",OnSetFocus);
- }
-
- int OnInitial()
- {
- SetAgent();
-
- OnAttachEvent();
-
- return 1;
- }
-
- int SetItem(string value,string item){
- control__ xc = new control__;
- xc.setNativePointer(GetControl(item));
- xc.SetText(value);
- return 1;
- }
-
- int onload()
- {
- OnInitial();
- p = new pa;
-
- if(this.GetParam())
+ else
{
- p=GetParam();
- win__::SetWindowText(GetHWND(),p.note+"用户组");
- if (p.note=="修改")
- {
- int wid = p.wid;
- msxml::IXMLDOMElement ele=treeview__::GetItemData(wid,p.hitem);
- //trace(ele.xml);
- //SetItem(ele.selectSingleNode("gpno").text,"gpno");
- //SetItem(ele.selectSingleNode("gpname").text,"gpname");
- string ls_guid = ele.selectSingleNode("@JobID").text;
- string ls_name = ele.selectSingleNode("@JobName").text;
- string ls_type = ele.selectSingleNode("@JobType").text;
- SetItem(ls_guid,"JobID");
- SetItem(ls_name,"JobName");
- SetItem(ls_type,"JobType");
- }
+ int root = treeview::GetRootItem(wid);
+ treeview::InsertChildItem(wid, root, xc.GetText(), r, 15);
}
-
- return 1;
+ CloseWindow();
}
- ]
-
- ]
-]
\ No newline at end of file
+ else
+ {
+ alert(L"保存出错!");
+ }
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&AddUserGroup::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&AddUserGroup::OnSetFocus);
+ return 1;
+ }
+
+ int OnInitial()
+ {
+ SetAgent();
+
+ OnAttachEvent();
+
+ return 1;
+ }
+
+ int SetItem(xstring value, xstring item) {
+ control xc = new control;
+ xc.setNativePointer(GetControl(item));
+ xc.SetText(value);
+ return 1;
+ }
+
+ int onload()
+ {
+ OnInitial();
+ p = new pa;
+
+ if (GetWinParam())
+ {
+ p = GetArg();
+ SetWindowText(GetHWND(), p.note + L"用户组");
+ if (p.note == L"修改")
+ {
+ int wid = p.wid;
+ KXMLDOMElement ele = treeview::GetItemData(wid, p.hitem);
+ //trace(ele.xml);
+ //SetItem(ele.selectSingleNode(L"gpno").text(),L"gpno");
+ //SetItem(ele.selectSingleNode(L"gpname").text(),L"gpname");
+ xstring ls_guid = ele.selectSingleNode(L"@JobID").text();
+ xstring ls_name = ele.selectSingleNode(L"@JobName").text();
+ xstring ls_type = ele.selectSingleNode(L"@JobType").text();
+ SetItem(ls_guid, L"JobID");
+ SetItem(ls_name, L"JobName");
+ SetItem(ls_type, L"JobType");
+ }
+ }
+
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/business/SystemSettings/BindComputer.cpp b/jrj/project/business/SystemSettings/BindComputer.cpp
index 0af3e7f..73bc5aa 100644
--- a/jrj/project/business/SystemSettings/BindComputer.cpp
+++ b/jrj/project/business/SystemSettings/BindComputer.cpp
@@ -1,106 +1,115 @@
-use"lang.vl"
-use "win.vl"
-use "dev:vm[xdwgrid.vm]"
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
-unit vbusiness.vpage
-[
- BindComputerDlgNew is extend win__;
- about BindComputerDlgNew
- [
- field:
-
- method:
- [
- xdwgrid__ dw_list;
- int OnRetrieve()
- {
- xml__ x = new xml__;
- x.setNativePointer(xml__ ::CreateInstance());
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) BindComputerDlgNew : public xwin
+{
- xaserverarg__ arg=new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg = this.GetParam();
- if(arg.GetArgString("BindComputer"))
- {
- string sbys= arg.GetArgString("BindComputer");
- //alert(sbys);
- x.LoadXml(sbys);
-
- }
- else
- {
+public:
- x.LoadXml("<args></args>");
- }
+ xdwgrid dw_list;
+public:
+ BindComputerDlgNew(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+public:
+ static BindComputerDlgNew* CreateInstance(void* implPtr, void* hWnd)
+ {
+ BindComputerDlgNew* pWin = new BindComputerDlgNew(implPtr, (HWND)hWnd);
+ return pWin;
+ }
+ int OnRetrieve()
+ {
+ xml x;
- dw_list.Retrieve(x.GetXmlDoc().selectSingleNode("args"));
- dw_list.ResetUpdateStatus();
- dw_list.Redraw();
- return 1;
- }
- int OnAddRow(xdwgrid__ dw)
- {
- dw.InsertRow(0);
- return 1;
- }
-
- int OnDelRow(xdwgrid__ dw)
- {
- int row = dw.GetRow();
- if(row<1 || row > dw.GetRowCount()) return -1;
- dw.DeleteRow(row);
- return 1;
- }
- //命令发布函数
- int OnCmdDispatch(string comdid)
- {
- dw_list.AcceptText();
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg = win__::GetParam();
- arg.AddArg("comdid",comdid);
- if (comdid=="ok")
- {
- xml__ x = new xml__;
- x.setNativePointer(xml__ ::CreateInstance());
- dw_list.DwUpdateAllTo(x.GetXmlDoc());
- arg.AddArg("xml",x.GetXml());
- CloseWindow();
- }
- else if(comdid=="close")
- CloseWindow();
- else if(comdid == "add")
- OnAddRow(dw_list);
- else if(comdid == "del")
- OnDelRow(dw_list);
- return 0;
- }
-
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt,int p)
- {
- return OnCmdDispatch(evt.pStrID);
- }
-
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND",OnXCommand);
- }
- int onload()
- {
- OnAttachEvent();
-
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(GetControl("dw_list"));
- dw_list.SetDataObject(GetServerUrl(),"dev:sheet[SysUser.tpl/BindComputer]");
- dw_list.SetReadOnly(true);
- if(this.GetParam())
- {
- OnRetrieve();
- }
- return 1;
- }
- ]
- ]
-]
\ No newline at end of file
+
+ xaserverarg arg;
+
+ arg = GetArg();
+ if (arg.GetArgString(L"BindComputer"))
+ {
+ xstring sbys = arg.GetArgString(L"BindComputer");
+ //alert(sbys);
+ x.loadXML(sbys);
+
+ }
+ else
+ {
+
+ x.loadXML(L"<args></args>");
+ }
+
+ dw_list.Retrieve(x.selectSingleNode(L"args"));
+ dw_list.ResetUpdateStatus();
+ dw_list.Redraw();
+ return 1;
+ }
+ int OnAddRow(xdwgrid dw)
+ {
+ dw.InsertRow(0);
+ return 1;
+ }
+
+ int OnDelRow(xdwgrid dw)
+ {
+ int row = dw.GetRow();
+ if (row<1 || row > dw.GetRowCount()) return -1;
+ dw.DeleteRow(row);
+ return 1;
+ }
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ dw_list.AcceptText();
+ xaserverarg arg;
+
+ arg = GetArg();
+ arg.AddArg(L"comdid", comdid);
+ if (comdid == L"ok")
+ {
+ xml x;
+
+ dw_list.DwUpdateAllTo(x);
+ arg.AddArg(L"xml", x.xml());
+ CloseWindow();
+ }
+ else if (comdid == L"close")
+ CloseWindow();
+ else if (comdid == L"add")
+ OnAddRow(dw_list);
+ else if (comdid == L"del")
+ OnDelRow(dw_list);
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&BindComputerDlgNew::OnXCommand);
+ return 1;
+ }
+ int onload()
+ {
+ SetArg();
+ OnAttachEvent();
+
+ dw_list = new xdwgrid;
+ dw_list.setNativePointer(GetControl(L"dw_list"));
+ dw_list.SetDataObject(GetServerUrl(), L"dev:sheet[SysUser.tpl/BindComputer]");
+ dw_list.SetReadOnly(true);
+ if (GetWinParam())
+ {
+ OnRetrieve();
+ }
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/business/SystemSettings/Data.config.cpp b/jrj/project/business/SystemSettings/Data.config.cpp
index f5b5019..c3f0327 100644
--- a/jrj/project/business/SystemSettings/Data.config.cpp
+++ b/jrj/project/business/SystemSettings/Data.config.cpp
@@ -1,571 +1,571 @@
-use "lang.vl"
-use "win.vl"
-use "treeview.vm"
-use "dev:vm[xutil.vm]"
-use "dev:vm[xdwtable.vm]"
-use "dev:vm[xdwgrid.vm]"
-use "dev:vm[combobox.vm]"
-use "frame.vl"
-use "file.vl"
-use "dev:vm[xlayersheet.vm]"
-use "publiccode.vl"
+#include <wobject/xstring.hpp>
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
-unit vbusiness.vpage
-[
- DataConfig is extend frame;
- about DataConfig
- [
- field:
-
- method:
- [
- treeview__ dw_tree;
- xdwgrid__ dw_list;
- xdwgrid__ dw_role;
- combobox__ dw_ddlb;
- xlayersheet__ m_sheet;
-
- int alert(string str)
- {
- TApp::alert(this,str,3);
- return 0;
- }
- int createTree(msxml::IXMLDOMElement e, int parentItem)
- {
- if(treeview__::GetChildItem(dw_tree.GetId(), parentItem) > 0) return 0;
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- var list=e.selectNodes("item");
- int i=0,s=list.length;
- msxml::IXMLDOMElement xitem;
- for (i=0;i<s;i++)
- {
- xitem= list.item(s - i - 1);
- string Name=xitem.selectSingleNode("name").text;
- string image = xitem.selectSingleNode("image").text;
- int curItem=treeview__::InsertItem(dw_tree.GetId(), parentItem,0,Name,xitem,image.toInt());
- string child=xitem.selectSingleNode("child").text;
- if (child != "0")
- treeview__::SetItemChild1(dw_tree.GetId(), curItem,1);
- }
- return 1;
- }
-
- int OnTreeExpanding(ref TNotifyEvent evt,int p)
- {
- ref NMTREEVIEW nmtv = evt.pnmh;
- int sitem = nmtv.itemNew.hItem;
-
- int i = combobox__::GetCurSel(dw_ddlb.GetId());
- msxml::IXMLDOMElement e = treeview__::GetItemData(dw_tree.GetId(), sitem);
- string id = e.selectSingleNode("id").text;
- string xid = e.selectSingleNode("tree").text;
- int hCursor = xutil__::SetCursorWait();
- xml__ x = new xml__;
- x.setNativePointer(xml__ ::CreateInstance());
- xaserverarg__ arg=new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("pid",id);
- arg.AddArg("tree",xid);
- //if(xaserver__::ExecXQuery(GetServerUrl(),"[selectRoleInt.xq]",arg.GetString(),x)!=1)
- if(url::get("/sale/data/Role.config/pref/user/select",arg.GetString(),x)!=1)
- {
- trace("错误返回="+x.GetXml());
- return -1;
- }
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) DataConfig : public xframe
+{
- msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement;
- createTree(ele, sitem);
- xutil__::RestoreCursor(hCursor);
- return 1;
- }
-
- int OnRetrieve(string id)
- {
- int hIcon= xutil__::SetCursorWait();
- xml__ x = new xml__;
- x.setNativePointer(xml__ ::CreateInstance());
- xaserverarg__ arg=new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("id",id);
- trace(id);
- arg.AddArg("flag","-1");
- //if(xaserver__::ExecXQuery(GetServerUrl(),"[selectRoleInt.xq]",arg.GetString(),x)!=1)
- if(url::get("/sale/data/Role.config/pref/maint/data",arg.GetString(),x)!=1)
- {
- trace("错误返回1="+x.GetXml());
- return -1;
- }
+public:
+ xtreeview dw_tree;
+ xdwgrid dw_list;
+ xdwgrid dw_role;
+ combobox dw_ddlb;
+ xlayersheet m_sheet;
+public:
+ DataConfig(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+ static DataConfig* CreateInstance(void* implPtr, void* hWnd)
+ {
+ DataConfig* pWin = new DataConfig(implPtr, (HWND)hWnd);
+ return pWin;
+ }
+ int alert(xstring str)
+ {
+ TApp::alert(this, str, 3);
+ return 0;
+ }
+ int createTree(KXMLDOMElement e, HTREEITEM parentItem)
+ {
+ if (dw_tree.GetChildItem(parentItem) > 0) return 0;
- if(x.GetXml() == "")
- x.LoadXml("<root><items/><roles/></root>");
-
- xml__ x1 = new xml__;
- x1.setNativePointer(xml__ ::CreateInstance());
- if(x.GetXmlDoc().selectSingleNode("root/items"))
- {
- dw_list.Retrieve(x.GetXmlDoc().selectSingleNode("root/items"));
- dw_list.SetReadOnly(true);
- dw_list.Redraw();
- }
- else
- {
- x1.LoadXml("<items/>");
- dw_list.Retrieve(x1);
- dw_list.SetReadOnly(true);
- dw_list.Redraw();
- }
- if(x.GetXmlDoc().selectSingleNode("root/roles"))
- {
- dw_role.Retrieve(x.GetXmlDoc().selectSingleNode("root/roles"));
- dw_role.SetReadOnly(true);
- dw_role.Redraw();
- }
- else
- {
- x1.LoadXml("<roles/>");
- dw_role.Retrieve(x1);
- dw_role.SetReadOnly(true);
- dw_role.Redraw();
- }
- xutil__::RestoreCursor(hIcon);
- return 1;
- }
+ var list = e.selectNodes(L"item");
+ int i = 0, s = list.length;
+ KXMLDOMElement xitem;
+ for (i = 0; i < s; i++)
+ {
+ xitem = list.item(s - i - 1);
+ xstring Name = xitem.selectSingleNode(L"name").text();
+ xstring image = xitem.selectSingleNode(L"image").text();
+ HTREEITEM curItem = dw_tree.InsertItem(parentItem, 0, Name, xitem, image.toInt());
+ xstring child = xitem.selectSingleNode(L"child").text();
+ if (child != L"0")
+ dw_tree.SetItemChild1(curItem, 1);
+ }
+ return 1;
+ }
- int OnTreeSelecded( ref TNotifyEvent evt,int p)
- {
- ref NMTREEVIEW nmtv = evt.pnmh;
- int hItem = nmtv.itemNew.hItem;
- int wid = dw_tree.GetId();
- msxml::IXMLDOMElement ele =treeview__::GetItemData(wid,hItem);
-
- string id = ele.SelectSingleNode("id").text;
- OnRetrieve(id);
-
- return 1;
- }
-
- int OnSelect()
- {
- int nIndex = combobox__::GetCurSel(dw_ddlb.GetId());
+ int OnTreeExpanding(TEvent* evt, LPARAM p)
+ {
+ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
- combobox__ dw_ddlbdata = new combobox__;
- dw_ddlbdata.setNativePointer(this.GetControl("dw_ddlbdata"));
- int h = combobox__::FindString(dw_ddlbdata.GetId(), nIndex.toString());
- param p;
- xnode__ bnode;
- xnode__ anode = new xnode__;
- anode.setNativePointer(GetAgentNode("tree"));
- if(h < 0)
- {
- string str = "<vbox><xtree name='dw_tree"+nIndex.toString()+"' imagelist='0'/></vbox>";
- bnode = new xnode__;
- bnode.setNativePointer(SetAgentNodeContent(anode,str));
-
- p = combobox__::GetItemData(dw_ddlb.GetId(), nIndex);
- msxml::IXMLDOMElement ele = p;
-
- dw_tree = new treeview__;
- dw_tree.setNativePointer(this.GetControl("dw_tree"+nIndex.toString()));
-
- createTree(ele, 0);
- AttachEvent("dw_tree"+nIndex.toString(), "TVN_ITEMEXPANDING",OnTreeExpanding);
- AttachEvent("dw_tree"+nIndex.toString(), "TVN_SELCHANGED",OnTreeSelecded);
-
- int sk = combobox__::AddItem(dw_ddlbdata.GetId(), nIndex.toString());
- p = bnode;
- combobox__::SetItemData(dw_ddlbdata.GetId(), sk, p);
- }
- else
- {
- p = combobox__::GetItemData(dw_ddlbdata.GetId(), h);
- bnode = p;
- SetAgentNodeContent(anode,bnode);
-
- dw_tree = new treeview__;
- dw_tree.setNativePointer(this.GetControl("dw_tree"+nIndex.toString()));
- }
-
- return 1;
- }
-
- int OnSave()
- {
- int m = treeview__::GetSelectedItem(dw_tree.GetId());
- if(m == 0) return 0;
-
- int wid = dw_tree.GetId();
- int hItem=treeview__::GetSelectedItem(wid);
- msxml::IXMLDOMElement ele =treeview__::GetItemData(wid,hItem);
- string id = ele.SelectSingleNode("id").text;
- string tpy = ele.SelectSingleNode("type").text;
-
- xml__ x = new xml__;
- x.setNativePointer(xml__ ::CreateInstance());
- dw_list.DwUpdateAllToEx(x.GetXmlDoc());
- msxml::IXMLDOMElement e = x.GetXmlDoc().documentElement;
- e.SetAttribute("id", id);
- e.SetAttribute("type", tpy);
-
- xml__ x1 = new xml__;
- x1.setNativePointer(xml__ ::CreateInstance());
- dw_role.DwUpdateAllToEx(x1.GetXmlDoc());
- msxml::IXMLDOMElement e1 = x1.GetXmlDoc().documentElement;
- e.AppendChild(e1);
-
- xaserverarg__ arg=new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("content", e.xml);
- arg.AddArg("dbmap", "Data.config.dbmap");
- //if(xaserver__::ExecXAction(GetServerUrl(),"[onSave.xa]",arg.GetString(),x)!=1)
- if(url::get("/sale/data/Role.config/pref/save",arg.GetString(),x)!=1)
- //if(url::get("/workflow/action/datarole.resource/bill.update",arg.GetString(),x)!=1)
- {
- trace("error:"+x.GetXml());
- alert("保存出错!");
- return 0;
- }
- if(x.GetXmlDoc().selectSingleNode("error"))
- {
- alert("保存出错2!");
- return 0;
- }
- dw_list.ResetUpdateStatus();
- dw_role.ResetUpdateStatus();
- alert("保存成功!");
-
- return 1;
- }
-
- int OnSelectDdlb(ref TNotifyEvent evt,int p)
- {
- xml__ x = new xml__;
- x.setNativePointer(xml__ ::CreateInstance());
- dw_list.DwUpdateAllToEx(x.GetXmlDoc());
- msxml::IXMLDOMElement e = x.GetXmlDoc().documentElement;
- if(e)
- {
- var list = e.SelectNodes("//*[@update.new='1' or @update.modify='1' or @update.delete='1']");
- int s = list.length;
- if(s>0)
- {
- int ret = win__::MessageBox(this.GetHWND(), "当前修改记录未保存,是否保存?","提示",4);
- if(ret == 6)
- OnSave();
- }
- }
-
- OnSelect();
+ HTREEITEM sitem = nmtv.itemNew.hItem;
- int m = treeview__::GetSelectedItem(dw_tree.GetId());
- string id;
- if(m == 0)
- {
- id = "";
- }
- else
- {
- msxml::IXMLDOMElement ele =treeview__::GetItemData(dw_tree.GetId(),m);
- id = ele.SelectSingleNode("id").text;
- }
- OnRetrieve(id);
+ int i = dw_ddlb.GetCurSel();
+ KXMLDOMElement e = dw_tree.GetItemData(sitem);
+ xstring id = e.selectSingleNode(L"id").text();
+ xstring xid = e.selectSingleNode(L"tree").text();
+ HCURSOR hCursor = xutil::SetCursorWait();
+ xml x;
- return 1;
- }
-
- int createTreeRoot()
- {
- xml__ x = new xml__;
- x.setNativePointer(xml__ ::CreateInstance());
- xaserverarg__ arg=new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("pid","");
- arg.AddArg("tree","0");
- //if(xaserver__::ExecXQuery(GetServerUrl(),"[selectRoleInt.xq]",arg.GetString(),x)!=1)
- if(url::get("/sale/data/Role.config/pref/user/select",arg.GetString(),x)!=1)
- {
- trace("错误返回="+x.GetXml());
- return -1;
- }
- msxml::IXMLDOMElement e = x.GetXmlDoc().documentElement;
- var list = e.SelectNodes("*");
- int i;
- int len = list.length;
- msxml::IXMLDOMElement ele;
- for(i=0; i<len; i++)
- {
- ele= list.item(i);
- string name = ele.selectSingleNode("@tree").text;
- int sk = combobox__::AddItem(dw_ddlb.GetId(), name);
- param p = ele;
- combobox__::SetItemData(dw_ddlb.GetId(), sk, p);
- }
- if(len > 0)
- {
- combobox__::SetCurSel(dw_ddlb.GetId(), 0);
- OnSelect();
- }
- OnRetrieve("");
- return 1;
- }
-
- int OnSetFocus(ref TEvent evt,int p)
- {
- SetAgent("data");
- return 1;
- }
-
- string GetPath()
- {
- int h = treeview__::GetSelectedItem(dw_tree.GetId());
- if(h == 0) return 0;
-
- int tv = dw_tree.GetId();
- string str = treeview__::GetItemLabel(tv, h);
- int k = treeview__::GetParentItem(tv, h);
- while(k > 0)
- {
- string tmp = treeview__::GetItemLabel(tv, k);
- str = tmp+"\\" + str;
- k = treeview__::GetParentItem(tv, k);
- }
- return str;
- }
-
- int OnAddRole()
- {
- int m = treeview__::GetSelectedItem(dw_tree.GetId());
- if(m == 0) return -1;
- msxml::IXMLDOMElement ele =treeview__::GetItemData(dw_tree.GetId(),m);
- string tpy=""+ele.selectSingleNode("type").text;
- xaserverarg__ arg=new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("dataUrl","/sale/data/Role.config/pref/model/select");
- openUrl("/sale/view/Role.config/xpage/role/select/user", arg);
- string str = arg.GetArgString("item");
- if(str == "") return -1;
- xml__ x = new xml__;
- x.setNativePointer(xml__ ::CreateInstance());
- x.LoadXml(str);
- var list=x.GetXmlDoc().selectNodes("items/item");
- int i=0,s=list.length;
- msxml::IXMLDOMElement xitem;
- int row = dw_role.GetRowCount() + 1;
- string treepath = GetPath();
- for (i=0;i<s;i++)
- {
- xitem= list.item(i);
- string id = ""+xitem.selectSingleNode("@id").text;
- string name=""+xitem.selectSingleNode("@name").text;
- //string tpy=""+xitem.selectSingleNode("@type").text;
- dw_role.InsertRow(0);
- dw_role.SetItemString(row + i, "id", id);
- dw_role.SetItemString(row + i, "name", ""+treepath);
- dw_role.SetItemDisplayString(row + i, "name", name);
- dw_role.SetItemString(row + i, "type", tpy);
- }
- return 1;
- }
-
- int OnAddRow()
- {
- int m = treeview__::GetSelectedItem(dw_tree.GetId());
- if(m == 0) return 0;
-
- int k = m_sheet.GetSheetIndex();
- if(k == 0)
- //openUrl("/sale/view/role.config/xpage/data/select/resource", dw_list);
- OpenWindow("dev:xpage[Resource.select.data.config.vx]", dw_list);
- else
- OnAddRole();
-
- return 1;
- }
-
- int OnDelRow()
- {
- int k = m_sheet.GetSheetIndex();
- int row;
- string hr_type;
- msxml::IXMLDOMElement e;
- if(k == 0)
- {
- row = dw_list.GetRow();
- if(row<1 || row > dw_list.GetRowCount()) return -1;
- e = dw_list.GetRowElement(row);
- if(e.selectSingleNode("fromparent"))
- {
- hr_type = e.selectSingleNode("fromparent").text;
- if(hr_type != "")
- {
- alert("继承的权限无权删除!");
- return 0;
- }
- }
- dw_list.DeleteRow(row);
- }
- else
- {
- row = dw_role.GetRow();
- if(row<1 || row > dw_role.GetRowCount()) return -1;
- e = dw_role.GetRowElement(row);
- if(e.selectSingleNode("fromparent"))
- {
- hr_type = e.selectSingleNode("fromparent").text;
- if(hr_type != "")
- {
- alert("继承的权限无权删除!");
- return 0;
- }
- }
- dw_role.DeleteRow(row);
- }
-
- return 1;
- }
-
- int OnSetCopy(xdwgrid__ dw, msxml::IXMLDOMElement e, string name)
- {
- xml__ x = new xml__;
- x.setNativePointer(xml__ ::CreateInstance());
- msxml::IXMLDOMElement ele;
- bool f = false;
-
- int count = dw.GetRowCount();
- if(count == 0)
- {
- x.LoadXml("<" + name + "s/>");
- ele = x.GetXmlDoc().documentElement;
- }
- else
- {
- msxml::IXMLDOMElement e1 = dw.GetRowElement(1);
- ele = e1.parentNode;
- }
- var li = e.SelectNodes(name);
- int i;
- int len = li.length;
- string treepath = GetPath();
- for(i=0; i<len; i++)
- {
- msxml::IXMLDOMElement ele1= li.item(i);
- if(ele1.selectSingleNode("fromparent"))
- {
- string str = ele1.selectSingleNode("fromparent").text;
- if(str != "") continue;
- }
- xml__ x1 = new xml__;
- x1.setNativePointer(xml__::CreateInstance());
- x1.LoadXml(ele1.xml);
- msxml::IXMLDOMElement ele2 = x1.GetXmlDoc().documentElement;
- ele2.setAttribute("update.new","1");
- ele2.setAttribute("update.modify","1");
- ele2.setAttribute("guid",publiccode::GetGuid());
- if(ele2.selectSingleNode("name"))
- ele2.selectSingleNode("name").text = treepath;
- //ele1.selectSingleNode("@guid").text = publiccode::GetGuid();
- //ele1.selectSingleNode("@update.new").text = "1";
- //ele1.selectSingleNode("@update.modify").text = "1";
- ele.appendChild(ele2);
- }
- dw.Retrieve(ele);
- dw.SetReadOnly(true);
- dw.Redraw();
+ xaserverarg arg;
+ arg.setNativePointer(arg.CreateInstance());
+ arg.AddArg(L"pid", id);
+ arg.AddArg(L"tree", xid);
+ //if(xaserver::ExecXQuery(GetServerUrl(),L"[selectRoleInt.xq]",arg.GetString(),x)!=1)
+ if (xurl::get(L"/sale/data/Role.config/pref/user/select", arg.GetString(), x) != 1)
+ {
+ trace(L"错误返回=L" + (xstring)x.xml());
+ return -1;
+ }
- return 1;
- }
-
- int OnCopy()
- {
- xaserverarg__ arg=new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- int p = arg.__nativept;
- OpenWindow("dev:xpage[Data.config.copy.vx]", p);
- string id = arg.GetArgString("id");
- string f = arg.GetArgString("flag");
- if(id == "") return 1;
-
- xml__ x = new xml__;
- x.setNativePointer(xml__ ::CreateInstance());
- if(url::get("/sale/data/Role.config/pref/maint/data",arg.GetString(),x)!=1)
- {
- trace("错误返回="+x.GetXml());
- return -1;
- }
+ KXMLDOMElement ele = x.documentElement();
+ createTree(ele, sitem);
+ xutil::RestoreCursor(hCursor);
+ return 1;
+ }
- if(x.GetXml() == "")
- x.LoadXml("<root><items/><roles/></root>");
-
- msxml::IXMLDOMElement e = x.GetXmlDoc().documentElement;
-
- if(f == "0" || f == "1")
- {
- msxml::IXMLDOMElement ele1 = e.selectSingleNode("items");
- OnSetCopy(dw_list, ele1, "item");
- }
-
- if(f == "0" || f == "2")
- {
- msxml::IXMLDOMElement ele2 = e.selectSingleNode("roles")
- OnSetCopy(dw_role, ele2, "role");
- }
-
- return 1;
- }
-
- int OnCmdDispatch(string comdid)
+ int OnRetrieve(xstring id)
+ {
+ HCURSOR hIcon = xutil::SetCursorWait();
+ xml x;
+
+ xaserverarg arg;
+ arg.setNativePointer(arg.CreateInstance());
+ arg.AddArg(L"id", id);
+ trace(id);
+ arg.AddArg(L"flag", L"-1");
+ //if(xaserver::ExecXQuery(GetServerUrl(),L"[selectRoleInt.xq]",arg.GetString(),x)!=1)
+ if (xurl::get(L"/sale/data/Role.config/pref/maint/data", arg.GetString(), x) != 1)
+ {
+ trace(L"错误返回1=L" + (xstring)x.xml());
+ return -1;
+ }
+
+ if (x.xml() == L"")
+ x.loadXML(L"<root><items/><roles/></root>");
+
+ xml x1;
+
+ if (x.selectSingleNode(L"root/items"))
+ {
+ dw_list.Retrieve(x.selectSingleNode(L"root/items"));
+ dw_list.SetReadOnly(true);
+ dw_list.Redraw();
+ }
+ else
+ {
+ x1.loadXML(L"<items/>");
+ dw_list.Retrieve(x1);
+ dw_list.SetReadOnly(true);
+ dw_list.Redraw();
+ }
+ if (x.selectSingleNode(L"root/roles"))
+ {
+ dw_role.Retrieve(x.selectSingleNode(L"root/roles"));
+ dw_role.SetReadOnly(true);
+ dw_role.Redraw();
+ }
+ else
+ {
+ x1.loadXML(L"<roles/>");
+ dw_role.Retrieve(x1);
+ dw_role.SetReadOnly(true);
+ dw_role.Redraw();
+ }
+ xutil::RestoreCursor(hIcon);
+ return 1;
+ }
+
+ int OnTreeSelecded(TEvent* evt, LPARAM p)
+ {
+ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+
+ HTREEITEM hItem = nmtv.itemNew.hItem;
+ //int wid = dw_tree.GetId();
+ KXMLDOMElement ele = dw_tree.GetItemData(hItem);
+
+ xstring id = ele.selectSingleNode(L"id").text();
+ OnRetrieve(id);
+
+ return 1;
+ }
+
+ int OnSelect()
+ {
+ int nIndex = dw_ddlb.GetCurSel();
+
+ combobox dw_ddlbdata = new combobox;
+ dw_ddlbdata.setNativePointer(GetControl(L"dw_ddlbdata"));
+ int h = combobox::FindString(dw_ddlbdata.GetId(), xstring(nIndex));
+ param p;
+ xnode bnode;
+ xnode anode = new xnode;
+ anode.setNativePointer(GetAgentNode(L"tree"));
+ if (h < 0)
+ {
+ xstring str = L"<vbox><xtree name='dw_tree" + xstring(nIndex) + L"' imagelist='0'/></vbox>";
+ bnode = new xnode;
+ bnode.setNativePointer(SetAgentNodeContent(anode, str));
+
+ p = combobox::GetItemData(dw_ddlb.GetId(), nIndex);
+ KXMLDOMElement ele = p;
+
+ dw_tree = new treeview;
+ dw_tree.setNativePointer(GetControl(L"dw_tree" + xstring(nIndex)));
+
+ createTree(ele, 0);
+ AttachEvent(L"dw_tree" + xstring(nIndex), L"TVN_ITEMEXPANDING", (FEvent)&DataConfig::OnTreeExpanding);
+ AttachEvent(L"dw_tree" + xstring(nIndex), L"TVN_SELCHANGED", (FEvent)&DataConfig::OnTreeSelecded);
+
+ int sk = combobox::AddItem(dw_ddlbdata.GetId(), xstring(nIndex));
+ p = bnode;
+ combobox::SetItemData(dw_ddlbdata.GetId(), sk, p);
+ }
+ else
+ {
+ p = combobox::GetItemData(dw_ddlbdata.GetId(), h);
+ bnode = p;
+ SetAgentNodeContent(anode, bnode);
+
+ dw_tree = new treeview;
+ dw_tree.setNativePointer(GetControl(L"dw_tree" + xstring(nIndex)));
+ }
+
+ return 1;
+ }
+
+ int OnSave()
+ {
+ HTREEITEM m = dw_tree.GetSelectedItem();
+ if (m == 0) return 0;
+
+ //int wid = dw_tree.GetId();
+ HTREEITEM hItem = dw_tree.GetSelectedItem();
+ KXMLDOMElement ele = dw_tree.GetItemData(hItem);
+ xstring id = ele.selectSingleNode(L"id").text();
+ xstring tpy = ele.selectSingleNode(L"type").text();
+
+ xml x;
+
+ dw_list.DwUpdateAllToEx(x);
+ KXMLDOMElement e = x.documentElement();
+ e.setAttribute(L"id", id);
+ e.setAttribute(L"type", tpy);
+
+ xml x1;
+
+ dw_role.DwUpdateAllToEx(x1);
+ KXMLDOMElement e1 = x1.documentElement();
+ e.appendChild(e1);
+
+ xaserverarg arg;
+
+ arg.AddArg(L"content", e.xml());
+ arg.AddArg(L"dbmap", L"Data.config.dbmap");
+ //if(xaserver::ExecXAction(GetServerUrl(),L"[onSave.xa]",arg.GetString(),x)!=1)
+ if (xurl::get(L"/sale/data/Role.config/pref/save", arg.GetString(), x) != 1)
+ //if(xurl::get(L"/workflow/action/datarole.resource/bill.update",arg.GetString(),x)!=1)
+ {
+ trace(L"error:" + (xstring)x.xml());
+ alert(L"保存出错!");
+ return 0;
+ }
+ if (x.selectSingleNode(L"error"))
+ {
+ alert(L"保存出错2!");
+ return 0;
+ }
+ dw_list.ResetUpdateStatus();
+ dw_role.ResetUpdateStatus();
+ alert(L"保存成功!");
+
+ return 1;
+ }
+
+ int OnSelectDdlb(TEvent* evt, LPARAM p)
+ {
+ xml x;
+
+ dw_list.DwUpdateAllToEx(x);
+ KXMLDOMElement e = x.documentElement();
+ if (e)
+ {
+ var list = e.selectNodes(L"//*[@update.new='1' or @update.modify='1' or @update.delete='1']");
+ int s = list.length;
+ if (s > 0)
{
- if(comdid == "Config")
- openUrl("/sale/view/role.config/xpage/data/resource/config");
- if(comdid == "RightQuery")
- openUrl("/sale/view/role.config/xpage/data/modulerightquery");
- else if(comdid == "New")
- OnAddRow();
- else if(comdid == "Del")
- OnDelRow();
- else if(comdid == "Save")
+ int ret = MessageBox(GetHWND(), L"当前修改记录未保存,是否保存?", L"提示", 4);
+ if (ret == 6)
OnSave();
- else if(comdid == "Copy")
- OnCopy();
- else if(comdid == "xmProdDivi")
- openUrl("/sale/view/RoleAccount3/xpage/data/proddivi");
- return 0;
}
+ }
- int OnXCommand(ref TXCommandEvent evt,int p)
- {
- return OnCmdDispatch(evt.pStrID);
- }
+ OnSelect();
- int onload()
+ HTREEITEM m = dw_tree.GetSelectedItem();
+ xstring id;
+ if (m == 0)
+ {
+ id = L"";
+ }
+ else
+ {
+ KXMLDOMElement ele = dw_tree.GetItemData(m);
+ id = ele.selectSingleNode(L"id").text();
+ }
+ OnRetrieve(id);
+
+ return 1;
+ }
+
+ int createTreeRoot()
+ {
+ xml x;
+
+ xaserverarg arg;
+
+ arg.AddArg(L"pid", L"");
+ arg.AddArg(L"tree", L"0");
+ //if(xaserver::ExecXQuery(GetServerUrl(),L"[selectRoleInt.xq]",arg.GetString(),x)!=1)
+ if (xurl::get(L"/sale/data/Role.config/pref/user/select", arg.GetString(), x) != 1)
+ {
+ trace(L"错误返回=L" + (xstring)x.xml());
+ return -1;
+ }
+ KXMLDOMElement e = x.documentElement();
+ var list = e.selectNodes(L"*");
+ int i;
+ int len = list.length;
+ KXMLDOMElement ele;
+ for (i = 0; i < len; i++)
+ {
+ ele = list.item(i);
+ xstring name = ele.selectSingleNode(L"@tree").text();
+ int sk = combobox::AddItem(dw_ddlb.GetId(), name);
+ param p = ele;
+ combobox::SetItemData(dw_ddlb.GetId(), sk, p);
+ }
+ if (len > 0)
+ {
+ combobox::SetCurSel(dw_ddlb.GetId(), 0);
+ OnSelect();
+ }
+ OnRetrieve(L"");
+ return 1;
+ }
+
+ int OnSetFocus(TEvent* evt, LPARAM p)
+ {
+ SetAgent(L"data");
+ return 1;
+ }
+
+ xstring GetPath()
+ {
+ HTREEITEM h = dw_tree.GetSelectedItem();
+ if (h == 0) return 0;
+
+ //int tv = dw_tree.GetId();
+ xstring str = dw_tree.GetItemLabel(h);
+ HTREEITEM k = dw_tree.GetParentItem(h);
+ while (k > 0)
+ {
+ xstring tmp = dw_tree.GetItemLabel(k);
+ str = tmp + L"\\" + str;
+ k = dw_tree.GetParentItem(k);
+ }
+ return str;
+ }
+
+ int OnAddRole()
+ {
+ HTREEITEM m = dw_tree.GetSelectedItem();
+ if (m == 0) return -1;
+ KXMLDOMElement ele = dw_tree.GetItemData(m);
+ xstring tpy = L"" + (xstring)ele.selectSingleNode(L"type").text();
+ xaserverarg arg;
+ arg.setNativePointer(arg.CreateInstance());
+ arg.AddArg(L"dataUrl", L"/sale/data/Role.config/pref/model/select");
+ openUrl(L"/sale/view/Role.config/xpage/role/select/user", arg);
+ xstring str = arg.GetArgString(L"item");
+ if (str == L"") return -1;
+ xml x;
+
+ x.loadXML(str);
+ var list = x.selectNodes(L"items/item");
+ int i = 0, s = list.length;
+ KXMLDOMElement xitem;
+ int row = dw_role.GetRowCount() + 1;
+ xstring treepath = GetPath();
+ for (i = 0; i < s; i++)
+ {
+ xitem = list.item(i);
+ xstring id = L"" + (xstring)xitem.selectSingleNode(L"@id").text();
+ xstring name = L"" + (xstring)xitem.selectSingleNode(L"@name").text();
+ //xstring tpy=L""+xitem.selectSingleNode(L"@type").text();
+ dw_role.InsertRow(0);
+ dw_role.SetItemString(row + i, L"id", id);
+ dw_role.SetItemString(row + i, L"name", L"" + treepath);
+ dw_role.SetItemDisplayString(row + i, L"name", name);
+ dw_role.SetItemString(row + i, L"type", tpy);
+ }
+ return 1;
+ }
+
+ int OnAddRow()
+ {
+ HTREEITEM m = dw_tree.GetSelectedItem();
+ if (m == 0) return 0;
+
+ int k = m_sheet.GetSheetIndex();
+ if (k == 0)
+ //openUrl(L"/sale/view/role.config/xpage/data/select/resource", dw_list);
+ OpenWindow(L"dev:xpage[Resource.select.data.config.vx]", dw_list);
+ else
+ OnAddRole();
+
+ return 1;
+ }
+
+ int OnDelRow()
+ {
+ int k = m_sheet.GetSheetIndex();
+ int row;
+ xstring hr_type;
+ KXMLDOMElement e;
+ if (k == 0)
+ {
+ row = dw_list.GetRow();
+ if (row<1 || row > dw_list.GetRowCount()) return -1;
+ e = dw_list.GetRowElement(row);
+ if (e.selectSingleNode(L"fromparent"))
{
- SetAgent("data");
-
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(GetControl("dw_list"));
- dw_list.openUrl("/sale/view/Role.config/template/data/config/resourceOrg");
- dw_list.SetReadOnly(false);
-
- dw_role = new xdwgrid__;
- dw_role.setNativePointer(GetControl("dw_role"));
- //dw_role.SetDataObject(GetServerUrl(), "dev:sheet[leftFrame.tpl/role]");
- //dw_role.openUrl(m_vface+"/template/role/config/role");
- dw_role.openUrl("/sale/view/Role.config/template/role/config/role");
- dw_role.SetReadOnly(false);
-
- dw_ddlb = new combobox__;
- dw_ddlb.setNativePointer(this.GetControl("dw_ddlb"));
-
- m_sheet = new xlayersheet__;
- m_sheet.setNativePointer(this.GetControl("m_sheet"));
-
- AttachEvent("WM_XCOMMAND",OnXCommand);
- AttachEvent("WM_SETFOCUS",OnSetFocus);
- AttachEvent("dw_ddlb","CBN_SELCHANGE",OnSelectDdlb);
-
- createTreeRoot();
-
- return 1;
+ hr_type = e.selectSingleNode(L"fromparent").text();
+ if (hr_type != L"")
+ {
+ alert(L"继承的权限无权删除!");
+ return 0;
+ }
}
- ]
- ]
-]
\ No newline at end of file
+ dw_list.DeleteRow(row);
+ }
+ else
+ {
+ row = dw_role.GetRow();
+ if (row<1 || row > dw_role.GetRowCount()) return -1;
+ e = dw_role.GetRowElement(row);
+ if (e.selectSingleNode(L"fromparent"))
+ {
+ hr_type = e.selectSingleNode(L"fromparent").text();
+ if (hr_type != L"")
+ {
+ alert(L"继承的权限无权删除!");
+ return 0;
+ }
+ }
+ dw_role.DeleteRow(row);
+ }
+
+ return 1;
+ }
+
+ int OnSetCopy(xdwgrid dw, KXMLDOMElement e, xstring name)
+ {
+ xml x;
+
+ KXMLDOMElement ele;
+ bool f = false;
+
+ int count = dw.GetRowCount();
+ if (count == 0)
+ {
+ x.loadXML(L"<" + name + L"s/>");
+ ele = x.documentElement();
+ }
+ else
+ {
+ KXMLDOMElement e1 = dw.GetRowElement(1);
+ ele = e1.parentNode;
+ }
+ var li = e.selectNodes(name);
+ int i;
+ int len = li.length;
+ xstring treepath = GetPath();
+ for (i = 0; i < len; i++)
+ {
+ KXMLDOMElement ele1 = li.item(i);
+ if (ele1.selectSingleNode(L"fromparent"))
+ {
+ xstring str = ele1.selectSingleNode(L"fromparent").text();
+ if (str != L"") continue;
+ }
+ xml x1;
+
+ x1.loadXML(ele1.xml());
+ KXMLDOMElement ele2 = x1.documentElement();
+ ele2.setAttribute(L"update.new", L"1");
+ ele2.setAttribute(L"update.modify", L"1");
+ ele2.setAttribute(L"guid", publiccode::GetGuid());
+ if (ele2.selectSingleNode(L"name"))
+ ele2.selectSingleNode(L"name").text() = treepath;
+ //ele1.selectSingleNode(L"@guid").text() = publiccode::GetGuid();
+ //ele1.selectSingleNode(L"@update.new").text() = L"1";
+ //ele1.selectSingleNode(L"@update.modify").text() = L"1";
+ ele.appendChild(ele2);
+ }
+ dw.Retrieve(ele);
+ dw.SetReadOnly(true);
+ dw.Redraw();
+
+ return 1;
+ }
+
+ int OnCopy()
+ {
+ xaserverarg arg;
+
+ OpenWindow(L"dev:xpage[Data.config.copy.vx]", arg);
+ xstring id = arg.GetArgString(L"id");
+ xstring f = arg.GetArgString(L"flag");
+ if (id == L"") return 1;
+
+ xml x;
+
+ if (xurl::get(L"/sale/data/Role.config/pref/maint/data", arg.GetString(), x) != 1)
+ {
+ trace(L"错误返回=L" + (xstring)x.xml());
+ return -1;
+ }
+
+ if (x.xml() == L"")
+ x.loadXML(L"<root><items/><roles/></root>");
+
+ KXMLDOMElement e = x.documentElement();
+
+ if (f == L"0" || f == L"1")
+ {
+ KXMLDOMElement ele1 = e.selectSingleNode(L"items");
+ OnSetCopy(dw_list, ele1, L"item");
+ }
+
+ if (f == L"0" || f == L"2")
+ {
+ KXMLDOMElement ele2 = e.selectSingleNode(L"roles");
+ OnSetCopy(dw_role, ele2, L"role");
+ }
+
+ return 1;
+ }
+
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"Config")
+ openUrl(L"/sale/view/role.config/xpage/data/resource/config");
+ if (comdid == L"RightQuery")
+ openUrl(L"/sale/view/role.config/xpage/data/modulerightquery");
+ else if (comdid == L"New")
+ OnAddRow();
+ else if (comdid == L"Del")
+ OnDelRow();
+ else if (comdid == L"Save")
+ OnSave();
+ else if (comdid == L"Copy")
+ OnCopy();
+ else if (comdid == L"xmProdDivi")
+ openUrl(L"/sale/view/RoleAccount3/xpage/data/proddivi");
+ return 0;
+ }
+
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ int onload()
+ {
+ SetAgent(L"data");
+
+ dw_list = new xdwgrid;
+ dw_list.setNativePointer(GetControl(L"dw_list"));
+ dw_list.openUrl(L"/sale/view/Role.config/template/data/config/resourceOrg");
+ dw_list.SetReadOnly(false);
+
+ dw_role = new xdwgrid;
+ dw_role.setNativePointer(GetControl(L"dw_role"));
+ //dw_role.SetDataObject(GetServerUrl(), L"dev:sheet[leftFrame.tpl/role]");
+ //dw_role.openUrl(m_vface+L"/template/role/config/role");
+ dw_role.openUrl(L"/sale/view/Role.config/template/role/config/role");
+ dw_role.SetReadOnly(false);
+
+ dw_ddlb = new combobox;
+ dw_ddlb.setNativePointer(GetControl(L"dw_ddlb"));
+
+ m_sheet = new xlayersheet;
+ m_sheet.setNativePointer(GetControl(L"m_sheet"));
+
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&DataConfig::OnXCommand);
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&DataConfig::OnSetFocus);
+ AttachEvent(L"dw_ddlb", L"CBN_SELCHANGE", (FEvent)&DataConfig::OnSelectDdlb);
+
+ createTreeRoot();
+
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/business/SystemSettings/SysUser.cpp b/jrj/project/business/SystemSettings/SysUser.cpp
index 51322ba..13952ec 100644
--- a/jrj/project/business/SystemSettings/SysUser.cpp
+++ b/jrj/project/business/SystemSettings/SysUser.cpp
@@ -1,330 +1,335 @@
-use "win.vl"
-use "treeview.vm"
-use "dev:vm[xdwgrid.vm]"
-use "dev:vm[xdwtable.vm]"
-use "pref.vl"
-use "dev:vm[xml.vm]"
-use "dev:vm[xaserverarg.vm]"
-use "dev:vm[xaserver.vm]"
-use "dev:vm[xutil.vm]"
-use "dev:code[pa.tpp]"
-use "list.vl"
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
-unit vbusiness.xpage
-[
- SysUser is extend list;
- about SysUser
- [
-
- method:
- [
- treeview__ tv_usergroup;
- xdwgrid__ dw_user;
- xnode__ m_agentNode;
- string strJobID;
- int SetAgent()
- {
- string xfNodeAgentArea = "agentarea";
- xnode__ anode = new xnode__;
- anode.setNativePointer(GetAgentNode(xfNodeAgentArea));
- var xframeElement = GetElement();
- var agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
- if(agent)
- {
- string s = agent.xml;
- SetAgentNodeContent (anode,s);
- }
- return 1;
- }
-
- //焦点激活处理函数
- int OnSetFocus(ref TEvent evt,int param)
- {
- SetAgent();
- //重置工具条
- return 1;
- }
-
- int SetEntityData(param p)
- {
- xml__ x=new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- string str = this.m_QueryTxt;
- //trace(ele.xml);
- //alert(str);
- arg.AddArg("guid",str);
- //trace(strJobID);
- if (xaserver__::ExecXQuery("","[list.SysUser.xq]",arg.GetString(),x) == 1)
- {
- dw_user.AcceptText();
- dw_user.Retrieve(x);
- dw_user.Redraw();
- }
- return 1;
- }
-
- int OnTreeSelChanged(ref TNotifyEvent evt,int p)
- {
- ref NMTREEVIEW nmtv = evt.pnmh;
- int hItem = nmtv.itemNew.hItem;
-
- int wid = tv_usergroup.GetId();
- int hitem=treeview__::GetSelectedItem(wid);
- int rootItem = treeview__::GetRootItem(wid);
- //if (hItem <=0 || hItem == rootItem)
- // return 0;
- msxml::IXMLDOMElement ele = treeview__::GetItemData(wid,hitem);
- //trace("ok");
- if (ele)
- {
- xml__ x=new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- strJobID = ele.selectSingleNode("@JobID").text;
- //trace(ele.xml);
- //alert(strJobID);
- arg.AddArg("guid",strJobID);
- //trace(strJobID);
- if (xaserver__::ExecXQuery("","[list.SysUser.xq]",arg.GetString(),x) == 1)
- {
- dw_user.AcceptText();
- dw_user.Retrieve(x);
- dw_user.Redraw();
- }
- }
-
- return 1;
- }
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- int xmImport()
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) SysUser : public xwin
+{
+public:
+ xtreeview tv_usergroup;
+ xdwgrid dw_user;
+ xnode m_agentNode;
+ xstring strJobID;
+public:
+ SysUser(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+public:
+ static SysUser* CreateInstance(void* implPtr, void* hWnd)
+ {
+ SysUser* pWin = new SysUser(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)
{
-
- int wid = tv_usergroup.GetId();
- int hitem=treeview__::GetSelectedItem(wid);
- if (!hitem)
- {
- alert("请选择职位!");
- return 0;
- }
- OpenWindow("dev:xpage[UserImport.vx]",this);
- //openUrl("系统用户.vface/xpage/SysUser/UserImport", this);
- return 1;
+ xstring s = agent.xml();
+ m_agentNode = SetAgentNode(anode, s);
}
- int OnSave()
- {
- xml__ x=new xml__;
- x.setNativePointer(x.CreateInstance());
- dw_user.DwUpdateAllToEx(x.GetXmlDoc());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("content",x.GetXml());
- arg.AddArg("dbmap","SysUser.dbmap");
- if(getUrl("/sale/data/SysUser/SysUser",arg.GetString(),x)!=1)
- {
- //trace("error:"+x.GetXml());
- alert("保存失败");
- }
- else{
- if(x.GetXmlDoc().selectSingleNode("erroe"))
- {
- alert("保存出错2! ");
- return 0;
- }
- //trace(x.GetXml());
- dw_user.ResetUpdateStatus();
- win__::MessageBox(GetHWND(),"保存成功!","提示",0);
- }
-
-/* arg.AddArg("xdata",x.GetXml());
- //arg.AddArg("jobguid",strJobID);
- //trace(x.GetXml());
- //trace(strJobID);
- //if (getUrl("/sale/data/SysUser/SysUser",arg.GetString(),x) != 1)
- //trace(xaserver__::ExecXAction(GetServerUrl(),"[SysUser.xa]",arg.GetString(),x));
- if (xaserver__::ExecXAction(GetServerUrl(),"[SysUser.xa]",arg.GetString(),x)!=1)
- {
- //trace("error:"+x.GetXml());
- alert("保存失败");
- }
- else{
- if(x.GetXmlDoc().selectSingleNode("ERROR"))
- {
- alert("保存出错2! ");
- return 0;
- }
- win__::MessageBox(GetHWND(),"保存成功!","提示",0);
- }*/
- return 1;
- }
- int OnAddRow()
- {
- int wid = tv_usergroup.GetId();
- int hitem=treeview__::GetSelectedItem(wid);
- if(hitem==0)
- {
- alert("请先选择职位类型!");
- }
- else
- {
- int row = dw_user.InsertRow(0);
- dw_user.SetItemString(row,"Status","Y");
- }
- return 1;
- }
-
- int OnInsertRow()
- {
- int wid = tv_usergroup.GetId();
- int hitem=treeview__::GetSelectedItem(wid);
- if(hitem==0)
- {
- alert("请先选择职位类型!");
- }
- else
- {
- int crow=dw_user.GetRow();
- int row=dw_user.InsertRow(crow);
- dw_user.SetItemString(row,"Status","Y");
- }
- return 1;
- }
+ }
+ return 1;
+ }
- int OnDeleteRow()
- {
- int row=dw_user.GetRow();
- dw_user.DeleteRow(row);
- return 1;
- }
-
- int OnJobType()
- {
- openUrl("组织架构.vface/worknode/Hr/HrJob");
- return 1;
- }
-
- int OnClicked(ref TNotifyEvent evt,int p)
- {
- ref DWNMHDR hdr = evt.pnmh;
- int row = hdr.row;
- int col=hdr.col ;
- string colname=dw_user.GetColumnName(col);
- msxml::IXMLDOMElement xrow = dw_user.GetRowElement(row);
- string BindComputer=xrow.selectSingleNode("BindComputer").text;
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- if(BindComputer != "" )
- {
- arg.AddArg("BindComputer",BindComputer);
- }
-
- string comdid;
- if(colname=="BindComputer")
- {
- openUrl("系统用户.vface/xpage/SysUser/BindComputer/dialog", arg);
- comdid = arg.GetArgString("comdid");
- if(comdid=="ok")
- {
- string strxml = arg.GetArgString("xml");
- dw_user.SetItemDisplayString(row,colname,strxml);
- dw_user.SetItemString(row,colname,strxml);
- dw_user.Redraw();
- }
- }
- return 1;
- }
-
- int OnResetPass()
- {
- xaserverarg__ arg = new xaserverarg__;
- int pt = arg.CreateInstance();
- arg.setNativePointer(pt);
-
- int row = dw_user.GetRow();
- if(row < 1) return 1;
- arg.AddArg("user", dw_user.GetItemString(row,"EmployeeNo"));
-
- OpenWindow("dev:xpage[ResetUserPassDlg.vx]",pt);
- return 1;
- }
-
- int Onlog()
- {
- openUrl("/sale/view/SysUser/xpage/SysUser/SysLoginRecord");
- return 1;
- }
- //命令发布函数
- int OnCmdDispatch(string comdid)
- {
- if (comdid =="Save") OnSave();
- else if (comdid =="AddRow") OnAddRow();
- else if (comdid =="InsertRow") OnInsertRow();
- else if (comdid =="DeleteRow") OnDeleteRow();
- else if (comdid =="JobType") OnJobType();
- else if (comdid=="xmImport") xmImport();
- else if (comdid == "xmLog") Onlog();
- else if(comdid=="_cb_grid_search") return GridSearchEx();
- else if(comdid=="xmResetPass") return OnResetPass();
- else if(comdid=="xmResetPassEx") OpenWindow("dev:xpage[SysForcePassward.vx]");
- return 0;
- }
-
-
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt,int param)
- {
- return OnCmdDispatch(evt.pStrID);
- }
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ SetAgent();
+ //重置工具条
+ return 1;
+ }
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND",OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS",OnSetFocus);
- //获得树的选择事件
- AttachEvent("tv_usergroup", "TVN_SELCHANGED",OnTreeSelChanged);
- //AttachEvent("dw_user","DWV_ITEMBEINGEDIT",OnClicked);
- AttachEvent("dw_user","DWV_DOUBLECLICKED",OnClicked);
- }
-
- int OnInitial()
- {
- SetAgent();
+ int SetEntityData(param p)
+ {
+ xml x;
- OnAttachEvent();
- return 1;
- }
-
- int onload()
+ xaserverarg arg;
+
+ xstring str = m_QueryTxt;
+ //trace(ele.xml);
+ //alert(str);
+ arg.AddArg(L"guid", str);
+ //trace(strJobID);
+ if (xaserver::ExecXQuery(L"", L"[list.SysUser.xq]", arg.GetString(), x) == 1)
+ {
+ dw_user.AcceptText();
+ dw_user.Retrieve(x);
+ dw_user.Redraw();
+ }
+ return 1;
+ }
+
+ int OnTreeSelChanged(TEvent* evt, LPARAM p)
+ {
+ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+
+ HTREEITEM hItem = nmtv.itemNew.hItem;
+
+ //int wid = tv_usergroup.GetId();
+ HTREEITEM hitem = tv_usergroup.GetSelectedItem();
+ HTREEITEM rootItem = tv_usergroup.GetRootItem();
+ //if (hItem <=0 || hItem == rootItem)
+ // return 0;
+ KXMLDOMElement ele = tv_usergroup.GetItemData(hitem);
+ //trace(L"ok");
+ if (ele)
+ {
+ xml x;
+
+ xaserverarg arg;
+
+ strJobID = ele.selectSingleNode(L"@JobID").text();
+ //trace(ele.xml);
+ //alert(strJobID);
+ arg.AddArg(L"guid", strJobID);
+ //trace(strJobID);
+ if (xaserver::ExecXQuery(L"", L"[list.SysUser.xq]", arg.GetString(), x) == 1)
{
- m_agentNode = new xnode__;
-
- tv_usergroup = new treeview__;
- tv_usergroup.setNativePointer(this.GetControl("tv_usergroup"));
- dw_user = new xdwgrid__;
- dw_user.setNativePointer(this.GetControl("dw_user"));
- dw_user.SetDataObject(GetServerUrl(),"dev:sheet[SysUser.tpl/UserList]");
- dw_user.SetReadOnly(true);
- dw_user.SetSelectionMode(1);
-
- OnInitial();
- int wid = tv_usergroup.GetId();
- int root = treeview__::GetRootItem(wid);
- treeview__::ExpandItem(wid,root);
-
- xml__ x=new xml__;
- x.setNativePointer(xml__::CreateInstance());
- x.LoadXml("<Config/>");
- this.m_configDoc = x.GetXmlDoc();
- rowSearch("系统用户.vface/template/SysUser/list");
- GridSearchEx();
-
- return 1;
+ dw_user.AcceptText();
+ dw_user.Retrieve(x);
+ dw_user.Redraw();
}
- ]
-
- ]
-]
\ No newline at end of file
+ }
+
+ return 1;
+ }
+
+ int xmImport()
+ {
+
+ //int wid = tv_usergroup.GetId();
+ HTREEITEM hitem = tv_usergroup.GetSelectedItem();
+ if (!hitem)
+ {
+ alert(L"请选择职位!");
+ return 0;
+ }
+ OpenWindow(L"dev:xpage[UserImport.vx]");
+ //openUrl(L"系统用户.vface/xpage/SysUser/UserImport", this);
+ return 1;
+ }
+ int OnSave()
+ {
+ xml x;
+
+ dw_user.DwUpdateAllToEx(x);
+ xaserverarg arg;
+
+ arg.AddArg(L"content", x.xml());
+ arg.AddArg(L"dbmap", L"SysUser.dbmap");
+ if (getUrl(L"/sale/data/SysUser/SysUser", arg.GetString(), x) != 1)
+ {
+ //trace(L"error:"+x.xml());
+ alert(L"保存失败");
+ }
+ else {
+ if (x.selectSingleNode(L"erroe"))
+ {
+ alert(L"保存出错2! ");
+ return 0;
+ }
+ //trace(x.xml());
+ dw_user.ResetUpdateStatus();
+ MessageBox(GetHWND(), L"保存成功!", L"提示", 0);
+ }
+
+ /* arg.AddArg(L"xdata",x.xml());
+ //arg.AddArg(L"jobguid",strJobID);
+ //trace(x.xml());
+ //trace(strJobID);
+ //if (getUrl(L"/sale/data/SysUser/SysUser",arg.GetString(),x) != 1)
+ //trace(xaserver::ExecXAction(GetServerUrl(),L"[SysUser.xa]",arg.GetString(),x));
+ if (xaserver::ExecXAction(GetServerUrl(),L"[SysUser.xa]",arg.GetString(),x)!=1)
+ {
+ //trace(L"error:"+x.xml());
+ alert(L"保存失败");
+ }
+ else{
+ if(x.selectSingleNode(L"ERROR"))
+ {
+ alert(L"保存出错2! ");
+ return 0;
+ }
+ MessageBox(GetHWND(),L"保存成功!",L"提示",0);
+ }*/
+ return 1;
+ }
+ int OnAddRow()
+ {
+ //int wid = tv_usergroup.GetId();
+ HTREEITEM hitem = tv_usergroup.GetSelectedItem();
+ if (hitem == 0)
+ {
+ alert(L"请先选择职位类型!");
+ }
+ else
+ {
+ int row = dw_user.InsertRow(0);
+ dw_user.SetItemString(row, L"Status", L"Y");
+ }
+ return 1;
+ }
+
+ int OnInsertRow()
+ {
+ //int wid = tv_usergroup.GetId();
+ HTREEITEM hitem = tv_usergroup.GetSelectedItem();
+ if (hitem == 0)
+ {
+ alert(L"请先选择职位类型!");
+ }
+ else
+ {
+ int crow = dw_user.GetRow();
+ int row = dw_user.InsertRow(crow);
+ dw_user.SetItemString(row, L"Status", L"Y");
+ }
+ return 1;
+ }
+
+ int OnDeleteRow()
+ {
+ int row = dw_user.GetRow();
+ dw_user.DeleteRow(row);
+ return 1;
+ }
+
+ int OnJobType()
+ {
+ openUrl(L"组织架构.vface/worknode/Hr/HrJob");
+ return 1;
+ }
+
+ int OnClicked(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ int col = hdr.col;
+ xstring colname = dw_user.GetColumnName(col);
+ KXMLDOMElement xrow = dw_user.GetRowElement(row);
+ xstring BindComputer = xrow.selectSingleNode(L"BindComputer").text();
+ xaserverarg arg;
+
+ if (BindComputer != L"")
+ {
+ arg.AddArg(L"BindComputer", BindComputer);
+ }
+
+ xstring comdid;
+ if (colname == L"BindComputer")
+ {
+ openUrl(L"系统用户.vface/xpage/SysUser/BindComputer/dialog", arg);
+ comdid = arg.GetArgString(L"comdid");
+ if (comdid == L"ok")
+ {
+ xstring strxml = arg.GetArgString(L"xml");
+ dw_user.SetItemDisplayString(row, colname, strxml);
+ dw_user.SetItemString(row, colname, strxml);
+ dw_user.Redraw();
+ }
+ }
+ return 1;
+ }
+
+ int OnResetPass()
+ {
+ xaserverarg arg;
+
+
+ int row = dw_user.GetRow();
+ if (row < 1) return 1;
+ arg.AddArg(L"user", dw_user.GetItemString(row, L"EmployeeNo"));
+
+ OpenWindow(L"dev:xpage[ResetUserPassDlg.vx]", arg);
+ return 1;
+ }
+
+ int Onlog()
+ {
+ openUrl(L"/sale/view/SysUser/xpage/SysUser/SysLoginRecord");
+ return 1;
+ }
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"Save") OnSave();
+ else if (comdid == L"AddRow") OnAddRow();
+ else if (comdid == L"InsertRow") OnInsertRow();
+ else if (comdid == L"DeleteRow") OnDeleteRow();
+ else if (comdid == L"JobType") OnJobType();
+ else if (comdid == L"xmImport") xmImport();
+ else if (comdid == L"xmLog") Onlog();
+ else if (comdid == L"_cb_grid_search") return GridSearchEx();
+ else if (comdid == L"xmResetPass") return OnResetPass();
+ else if (comdid == L"xmResetPassEx") OpenWindow(L"dev:xpage[SysForcePassward.vx]");
+ return 0;
+ }
+
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&SysUser::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&SysUser::OnSetFocus);
+ //获得树的选择事件
+ AttachEvent(L"tv_usergroup", L"TVN_SELCHANGED", (FEvent)&SysUser::OnTreeSelChanged);
+ //AttachEvent(L"dw_user",L"DWV_ITEMBEINGEDIT",OnClicked);
+ AttachEvent(L"dw_user", L"DWV_DOUBLECLICKED", (FEvent)&SysUser::OnClicked);
+ return 1;
+ }
+
+ int OnInitial()
+ {
+ SetAgent();
+
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onload()
+ {
+ m_agentNode = new xnode;
+
+ tv_usergroup = new treeview;
+ tv_usergroup.setNativePointer(GetControl(L"tv_usergroup"));
+ dw_user = new xdwgrid;
+ dw_user.setNativePointer(GetControl(L"dw_user"));
+ dw_user.SetDataObject(GetServerUrl(), L"dev:sheet[SysUser.tpl/UserList]");
+ dw_user.SetReadOnly(true);
+ dw_user.SetSelectionMode(1);
+
+ OnInitial();
+ //int wid = tv_usergroup.GetId();
+ HTREEITEM root = tv_usergroup.GetRootItem();
+ tv_usergroup.ExpandItem( root);
+
+ xml x;
+
+ x.loadXML(L"<Config/>");
+ m_configDoc = x;
+ rowSearch(L"系统用户.vface/template/SysUser/list");
+ GridSearchEx();
+
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/business/SystemSettings/UserImport.cpp b/jrj/project/business/SystemSettings/UserImport.cpp
index 801196b..0ef3160 100644
--- a/jrj/project/business/SystemSettings/UserImport.cpp
+++ b/jrj/project/business/SystemSettings/UserImport.cpp
@@ -1,329 +1,335 @@
-use "win.vl"
-use "treeview.vm"
-use "dev:vm[xdwgrid.vm]"
-use "dev:vm[xdwtable.vm]"
-use "pref.vl"
-use "dev:vm[xml.vm]"
-use "dev:vm[xaserverarg.vm]"
-use "dev:vm[xaserver.vm]"
-use "dev:vm[xutil.vm]"
-use "dev:code[SysUser.vx]"
-use "frame.vl"
-use "file.vl"
-unit vbusiness.xpage
-[
- UserImport is extend frame;
- about UserImport
- [
- field:
- [
- SysUser lw_obj;
- xdwgrid__ dw_list;
- treeview__ tv_org;
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- string m_sTxt;
- string is_orgid;
- ]
-
- method:
- [
- int SetAgent()
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+//use "dev:code[SysUser.vx]"
+
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) UserImport : public xframe
+{
+public:
+
+
+ SysUser lw_obj;
+ xdwgrid dw_list;
+ xtreeview tv_org;
+ xnode m_agentNode; //Agent Condition
+ xstring m_agentCond; //Agent Node
+ xstring m_sTxt;
+ xstring is_orgid;
+public:
+ UserImport(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+ static UserImport* CreateInstance(void* implPtr, void* hWnd)
+ {
+ UserImport* pWin = new UserImport(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)
{
- string xfNodeAgentArea = "agentarea";
- xnode__ anode = new xnode__;
- anode.setNativePointer(GetAgentNode(xfNodeAgentArea));
- var xframeElement = GetElement();
- var agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
- if(agent)
+ xstring s = agent.xml();
+ m_agentNode = SetAgentNode(anode, s);
+ }
+ }
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ SetAgent();
+ //重置工具条
+ return 1;
+ }
+
+ int OnRetrieve(xstring ls_orgid)
+ {
+
+ xml x;
+
+ xaserverarg arg;
+
+ arg.AddArg(L"OrgID", ls_orgid);
+ //trace(ls_orgid);
+ //if (xaserver::ExecXQuery(GetServerUrl(),L"[MSSqlHrEmployee.xq]",arg.GetString(),x) == 1)
+ if (xurl::get(L"SysUser.config/UserSelect.xq", arg.GetString(), x) == 1)
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ //trace(x.xml());
+ return 1;
+ }
+
+ int OnOK()
+ {
+ if (GetWinParam())
+ {
+ lw_obj = new SysUser;
+ lw_obj.setNativePointer(GetParam());
+ lw_obj = GetParam();
+ }
+ else
+ return 0;
+
+ int row = dw_list.GetNextSelectRow(1);
+ //trace(row);
+ if (row < 1)
+ {
+ alert(L"请选择人员!");
+ return 1;
+ }
+
+ xstring sPositionID, sPositionName;
+ xstring sOrgID, sOrgName;
+ xstring sJobID, sJobName;
+ int wid = lw_obj.tv_usergroup.GetId();
+ int hitem = tv_org.GetSelectedItem(wid);
+ KXMLDOMElement ele = tv_org.GetItemData(wid, hitem);
+
+
+ while (row > 0)
+ {
+ //trace(row);
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ trace(e.xml());
+ xstring sEmployeeNo = e.selectSingleNode(L"EmployeeNo").text() + L"";
+ xstring sOldEmpNo = e.selectSingleNode(L"OldEmpNo").text() + L"";
+ xstring sPersonID = e.selectSingleNode(L"PersonID").text() + L"";
+ xstring sPersonName = e.selectSingleNode(L"Name").text() + L"";
+ xstring sPassWord = xutil::MD5(sOldEmpNo);
+
+ /*
+ xml xx;
+ x
+ xaserverarg arg;
+ arg.setNativePointer(arg.CreateInstance());
+ arg.AddArg(L"userno",sOldEmpNo);
+ arg.AddArg(L"password",sPassWord);
+ if(xurl::get(L"/sale/data/SysUser/GetOldPassWord",arg.GetString(),xx)==1)
+ {
+ if(xx.xml()!=L"")
{
- string s = agent.xml;
- SetAgentNodeContent (anode,s);
+ KXMLDOMElement ex = xx.documentElement();
+ sPassWord = L""+ex.text();
}
- return 1;
- }
+ }*/
- //焦点激活处理函数
- int OnSetFocus(ref TEvent evt,int param)
+ int nRow = lw_obj.dw_user.InsertRow(0);
+ lw_obj.dw_user.SetItemString(nRow, L"EmployeeNo", sEmployeeNo);
+ lw_obj.dw_user.SetItemString(nRow, L"UserName", sOldEmpNo);
+ lw_obj.dw_user.SetItemString(nRow, L"PassWord", sPassWord);
+ lw_obj.dw_user.SetItemString(nRow, L"PersonID", sPersonID);
+ lw_obj.dw_user.SetItemDisplayString(nRow, L"PersonID", sPersonName);
+ lw_obj.dw_user.SetItemString(nRow, L"Status", L"Y");
+ lw_obj.dw_user.SetItemDisplayString(nRow, L"Status", L"有效");
+ lw_obj.dw_user.SetItemString(nRow, L"OldEmpNo", sOldEmpNo);
+ /*
+ lw_obj.dw_user.SetItemString(nRow,L"PositionID",sPositionID);
+ lw_obj.dw_user.SetItemDisplayString(nRow,L"PositionID",sPositionName);
+ lw_obj.dw_user.SetItemString(nRow,L"OrgID",sOrgID);
+ lw_obj.dw_user.SetItemDisplayString(nRow,L"OrgID",sOrgName);
+ lw_obj.dw_user.SetItemString(nRow,L"JobID",sJobID);
+ lw_obj.dw_user.SetItemDisplayString(nRow,L"JobID",sJobName);
+
+ lw_obj.dw_user.SetItemString(nRow,L"Status",L"Y");
+ lw_obj.dw_user.SetItemDisplayString(nRow,L"Status",L"有效");
+ xstring sdate = TApp::GetCurDate()+L"";
+ lw_obj.dw_user.SetItemString(nRow,L"StartDate",sdate+L"");
+ lw_obj.dw_user.SetItemString(nRow,L"EndDate",L"2050-12-31");*/
+
+ row = dw_list.GetNextSelectRow(row + 1);
+ //trace(row);
+ }
+ CloseWindow();
+ return 1;
+ }
+ int OnSubTree(xstring id, HTREEITEM parentitem)
+ {
+ int wid = tv_org.GetId();
+ if (tv_org.GetChildItem(wid, parentitem) > 0) return 1;
+ xml x;
+
+ xaserverarg arg;
+ arg.setNativePointer(arg.CreateInstance());
+ arg.AddArg(L"sguid", id);
+ if (xurl::post(L"/sale/data/OrganizationStruct/tree.child.OrgChart", arg.GetString(), x) != 1)
+ {
+ trace(x.xml());
+ return -1;
+ }
+ //trace(x.xml());
+ var list = x.selectNodes(L"//item");
+ int i = 0, s = list.length;
+ KXMLDOMElement xitem;
+ xstring sName;
+ xstring sguid;
+ xstring stype;
+ if (s > 0)
+ {
+ for (i = 0; i < s; i++)
{
- SetAgent();
- //重置工具条
- return 1;
- }
-
- int OnRetrieve(string ls_orgid)
- {
-
- xml__ x=new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("OrgID",ls_orgid);
- //trace(ls_orgid);
- //if (xaserver__::ExecXQuery(GetServerUrl(),"[MSSqlHrEmployee.xq]",arg.GetString(),x) == 1)
- if (url::get("SysUser.config/UserSelect.xq",arg.GetString(),x) == 1)
+ xitem = list.item(i);
+ sName = xitem.selectSingleNode(L"name").text();
+ sguid = xitem.selectSingleNode(L"id").text();
+ stype = xitem.selectSingleNode(L"typ").text();
+ //int curItem = tv_org.InsertChildItemEx(wid,parentitem,sName,xitem,15,4);
+ int curItem = 0;
+ if (stype == L"Org")
{
- dw_list.Retrieve(x);
- dw_list.Redraw();
- }
- //trace(x.GetXml());
- return 1;
- }
-
- int OnOK()
- {
- if (GetParam())
- {
- lw_obj = new SysUser;
- lw_obj.setNativePointer(GetParam());
- lw_obj = GetParam();
+ curItem = tv_org.InsertChildItemEx(wid, parentitem, sName, xitem, 15, 4);
+ tv_org.SetItemChild1(wid, curItem, 1);
}
else
- return 0;
+ {
+ curItem = tv_org.InsertChildItemEx(wid, parentitem, sName, xitem, 21, 21);
+ }
+ //OnSubTree(sguid,curItem);
+ }
+ }
+ return 1;
+ }
- int row = dw_list.GetNextSelectRow(1);
- trace(row);
- if (row<1)
- {
- alert("请选择人员!");
- return 1;
- }
-
- string sPositionID,sPositionName;
- string sOrgID,sOrgName;
- string sJobID,sJobName;
- int wid = lw_obj.tv_usergroup.GetId();
- int hitem=treeview__::GetSelectedItem(wid);
- msxml::IXMLDOMElement ele = treeview__::GetItemData(wid,hitem);
+ int OnCreateTree(xstring id, int parentitem)
+ {
+ //while (tv_1.GetRootItem()>0)
+ // tv_1.DeleteItem(tv_1.GetRootItem());
+ int wid = tv_org.GetId();
+ xml x;
-
- while (row>0)
- {
- trace(row);
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- trace(e.xml);
- string sEmployeeNo = e.selectSingleNode("EmployeeNo").text+"";
- string sOldEmpNo = e.selectSingleNode("OldEmpNo").text+"";
- string sPersonID = e.selectSingleNode("PersonID").text+"";
- string sPersonName = e.selectSingleNode("Name").text+"";
- string sPassWord = xutil__::MD5(sOldEmpNo);
-
- /*
- xml__ xx = new xml__;
- xx.setNativePointer(xml__ ::CreateInstance());
- xaserverarg__ arg=new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("userno",sOldEmpNo);
- arg.AddArg("password",sPassWord);
- if(url::get("/sale/data/SysUser/GetOldPassWord",arg.GetString(),xx)==1)
- {
- if(xx.GetXml()!="")
- {
- msxml::IXMLDOMElement ex = xx.GetXmlDoc().documentElement;
- sPassWord = ""+ex.text;
- }
- }*/
+ x.loadXML(L"<item><id>" + id + L"</id><no/><name>凤凰集团</name><typ>Org</typ></item>");
+ //KXMLDOMDocument root = x;
+ //KXMLDOMElement RDoc = x.documentElement();
+ //KXMLDOMElement ele = RDoc.SelectSingleNode(L"//Org");
+ KXMLDOMElement ele = x.selectSingleNode(L"//item");
+ int hItem = tv_org.InsertChildItemEx(wid, 0, L"凤凰集团", ele, 15, 4);
+ tv_org.SetItemChild1(wid, hItem, 1);
+ return 1;
- int nRow = lw_obj.dw_user.InsertRow(0);
- lw_obj.dw_user.SetItemString(nRow,"EmployeeNo",sEmployeeNo);
- lw_obj.dw_user.SetItemString(nRow,"UserName",sOldEmpNo);
- lw_obj.dw_user.SetItemString(nRow,"PassWord",sPassWord);
- lw_obj.dw_user.SetItemString(nRow,"PersonID",sPersonID);
- lw_obj.dw_user.SetItemDisplayString(nRow,"PersonID",sPersonName);
- lw_obj.dw_user.SetItemString(nRow,"Status","Y");
- lw_obj.dw_user.SetItemDisplayString(nRow,"Status","有效");
- lw_obj.dw_user.SetItemString(nRow,"OldEmpNo",sOldEmpNo);
- /*
- lw_obj.dw_user.SetItemString(nRow,"PositionID",sPositionID);
- lw_obj.dw_user.SetItemDisplayString(nRow,"PositionID",sPositionName);
- lw_obj.dw_user.SetItemString(nRow,"OrgID",sOrgID);
- lw_obj.dw_user.SetItemDisplayString(nRow,"OrgID",sOrgName);
- lw_obj.dw_user.SetItemString(nRow,"JobID",sJobID);
- lw_obj.dw_user.SetItemDisplayString(nRow,"JobID",sJobName);
-
- lw_obj.dw_user.SetItemString(nRow,"Status","Y");
- lw_obj.dw_user.SetItemDisplayString(nRow,"Status","有效");
- string sdate = TApp::GetCurDate()+"";
- lw_obj.dw_user.SetItemString(nRow,"StartDate",sdate+"");
- lw_obj.dw_user.SetItemString(nRow,"EndDate","2050-12-31");*/
-
- row = dw_list.GetNextSelectRow(row + 1);
- trace(row);
- }
- CloseWindow();
- return 1;
- }
- int OnSubTree(string id,int parentitem)
+ /*xaserverarg arg;
+ arg.setNativePointer(arg.CreateInstance());
+ arg.AddArg(L"sguid",id);
+ if(xurl::post(L"/sale/data/OrganizationStruct/tree.child.OrgChart",arg.GetString(),x)!=1)
+ {
+ trace(x.xml());
+ return -1;
+ }
+ //trace(x.xml());
+ var list=x.selectNodes(L"//item");
+ int i=0,s=list.length;
+ KXMLDOMElement xitem;
+ xstring sName;
+ xstring sguid;
+ if (s >0)
+ {
+ for (i=0;i<s;i++)
{
- int wid = tv_org.GetId();
- if (treeview__::GetChildItem(wid,parentitem) >0) return 1;
- xml__ x = new xml__;
- x.setNativePointer(xml__ ::CreateInstance());
- xaserverarg__ arg=new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("sguid",id);
- if(url::post("/sale/data/OrganizationStruct/tree.child.OrgChart",arg.GetString(),x)!=1)
- {
- trace(x.GetXml());
- return -1;
- }
- //trace(x.GetXml());
- var list=x.GetXmlDoc().selectNodes("//item");
- int i=0,s=list.length;
- msxml::IXMLDOMElement xitem;
- string sName;
- string sguid;
- string stype;
- if (s >0)
- {
- for (i=0;i<s;i++)
- {
- xitem= list.item(i);
- sName = xitem.SelectSingleNode("name").text;
- sguid = xitem.SelectSingleNode("id").text;
- stype = xitem.SelectSingleNode("typ").text;
- //int curItem = tv_org.InsertChildItemEx(wid,parentitem,sName,xitem,15,4);
- int curItem=0;
- if (stype =="Org")
- {
- curItem=tv_org.InsertChildItemEx(wid,parentitem,sName,xitem,15,4);
- tv_org.SetItemChild1(wid,curItem,1);
- }
- else
- {
- curItem=tv_org.InsertChildItemEx(wid,parentitem,sName,xitem,21,21);
- }
- //OnSubTree(sguid,curItem);
- }
- }
- return 1;
+ xitem= list.item(i);
+ sName = xitem.SelectSingleNode(L"@name").text();
+ sguid = xitem.SelectSingleNode(L"@id").text();
+ int curItem = tv_org.InsertChildItemEx(wid,hItem,sName,xitem,15,4);
+ tv_org.SetItemChild1(wid,curItem,1);
+ //OnSubTree(sguid,curItem);
}
-
- int OnCreateTree(string id,int parentitem)
- {
- //while (tv_1.GetRootItem()>0)
- // tv_1.DeleteItem(tv_1.GetRootItem());
- int wid = tv_org.GetId();
- xml__ x = new xml__;
- x.setNativePointer(xml__ ::CreateInstance());
- x.LoadXml("<item><id>"+id+"</id><no/><name>凤凰集团</name><typ>Org</typ></item>");
- //msxml::IXMLDOMDocument root = x.GetXmlDoc();
- //msxml::IXMLDOMElement RDoc = x.GetXmlDoc().documentElement;
- //msxml::IXMLDOMElement ele = RDoc.SelectSingleNode("//Org");
- msxml::IXMLDOMElement ele = x.GetXmlDoc().SelectSingleNode("//item");
- int hItem = treeview__::InsertChildItemEx(wid,0,"凤凰集团",ele,15,4);
- treeview__::SetItemChild1(wid,hItem,1);
- return 1;
-
- /*xaserverarg__ arg=new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("sguid",id);
- if(url::post("/sale/data/OrganizationStruct/tree.child.OrgChart",arg.GetString(),x)!=1)
- {
- trace(x.GetXml());
- return -1;
- }
- //trace(x.GetXml());
- var list=x.GetXmlDoc().selectNodes("//item");
- int i=0,s=list.length;
- msxml::IXMLDOMElement xitem;
- string sName;
- string sguid;
- if (s >0)
- {
- for (i=0;i<s;i++)
- {
- xitem= list.item(i);
- sName = xitem.SelectSingleNode("@name").text;
- sguid = xitem.SelectSingleNode("@id").text;
- int curItem = tv_org.InsertChildItemEx(wid,hItem,sName,xitem,15,4);
- tv_org.SetItemChild1(wid,curItem,1);
- //OnSubTree(sguid,curItem);
- }
- }
- return 1;*/
- }
-
- int OnTreeExpanding(ref TNotifyEvent evt,int p)
- {
- ref NMTREEVIEW nmtv = evt.pnmh;
- int sitem = nmtv.itemNew.hItem;
-
- int hCursor = xutil__::SetCursorWait();
- //string id = treeview__::GetItemData(tv_org.GetId(), sitem);
- msxml::IXMLDOMElement ele = treeview__::GetItemData(tv_org.GetId(),sitem);
- string id = ele.SelectSingleNode("id").text;
- OnSubTree(id, sitem);
- xutil__::RestoreCursor(hCursor);
- return 1;
- }
-
- int OnTreeSelChanged(ref TXCommandEvent evt,int p)
- {
- int wid = tv_org.GetId();
- int hitem=treeview__::GetSelectedItem(wid);
- msxml::IXMLDOMElement ele = treeview__::GetItemData(wid,hitem);
- if (ele)
- {
- string ls_orgid = ele.SelectSingleNode("id").text;
- is_orgid = ls_orgid;
- OnRetrieve(ls_orgid);
- }
- return 1;
- }
- //命令发布函数
- int OnCmdDispatch(string comdid)
- {
- if (comdid=="cb_import")
- OnOK();
- else if (comdid=="cb_close")
- CloseWindow();
- return 0;
- }
-
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt,int p)
- {
- return OnCmdDispatch(evt.pStrID);
- }
-
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND",OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS",OnSetFocus);
- //获得树的选择事件
- AttachEvent("tv_org", "TVN_SELCHANGED",OnTreeSelChanged);
- AttachEvent("tv_org", "TVN_ITEMEXPANDING",OnTreeExpanding);
- }
-
- int OnInitial()
- {
- SetAgent();
- OnAttachEvent();
- return 1;
- }
-
- int onload()
- {
- tv_org = new treeview__ ;
- tv_org.setNativePointer(this.GetControl("tv_org"));
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(this.GetControl("dw_list"));
- dw_list.openUrl("系统用户.vface/template/SysUser/EmpSelect");
- dw_list.SetSelectionMode(3); //3
- dw_list.SetReadOnly(true);
+ }
+ return 1;*/
+ }
- OnInitial();
- OnCreateTree("00000000-0000-0000-0000-000000000000", 0);
- int wid = tv_org.GetId();
- int root = treeview__::GetRootItem(wid);
- treeview__::ExpandItem(wid,root);
- OnRetrieve("00000000-0000-0000-0000-000000000000");
- return 1;
- }
- ]
+ int OnTreeExpanding(TEvent* evt, LPARAM p)
+ {
- ]
-]
\ No newline at end of file
+ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+ HTREEITEM sitem = nmtv.itemNew.hItem;
+
+ HCURSOR hCursor = xutil::SetCursorWait();
+ //xstring id = tv_org.GetItemData(tv_org.GetId(), sitem);
+ KXMLDOMElement ele = tv_org.GetItemData(tv_org.GetId(), sitem);
+ xstring id = ele.selectSingleNode(L"id").text();
+ OnSubTree(id, sitem);
+ xutil::RestoreCursor(hCursor);
+ return 1;
+ }
+
+ int OnTreeSelChanged(TEvent* evt, LPARAM p)
+ {
+ //int wid = tv_org.GetId();
+ int hitem = tv_org.GetSelectedItem();
+ KXMLDOMElement ele = tv_org.GetItemData(hitem);
+ if (ele)
+ {
+ xstring ls_orgid = ele.selectSingleNode(L"id").text();
+ is_orgid = ls_orgid;
+ OnRetrieve(ls_orgid);
+ }
+ return 1;
+ }
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"cb_import")
+ OnOK();
+ else if (comdid == L"cb_close")
+ CloseWindow();
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&UserImport::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&UserImport::OnSetFocus);
+ //获得树的选择事件
+ AttachEvent(L"tv_org", L"TVN_SELCHANGED", (FEvent)&UserImport::OnTreeSelChanged);
+ AttachEvent(L"tv_org", L"TVN_ITEMEXPANDING", (FEvent)&UserImport::OnTreeExpanding);
+ return 1;
+ }
+
+ int OnInitial()
+ {
+ SetAgent();
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onload()
+ {
+ tv_org = new treeview;
+ tv_org.setNativePointer(GetControl(L"tv_org"));
+ dw_list = new xdwgrid;
+ dw_list.setNativePointer(GetControl(L"dw_list"));
+ dw_list.openUrl(L"系统用户.vface/template/SysUser/EmpSelect");
+ dw_list.SetSelectionMode(3); //3
+ dw_list.SetReadOnly(true);
+
+ OnInitial();
+ OnCreateTree(L"00000000-0000-0000-0000-000000000000", 0);
+ //int wid = tv_org.GetId();
+ int root = tv_org.GetRootItem();
+ tv_org.ExpandItem(root);
+ OnRetrieve(L"00000000-0000-0000-0000-000000000000");
+ return 1;
+ }
+};
\ No newline at end of file
--
Gitblit v1.9.3