From 47180b84a17b15c976b96343449cc5747f9c14f7 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期六, 14 九月 2024 19:31:44 +0800 Subject: [PATCH] update --- jrj/project/business/SystemSettings/level.Customer.v3.cpp | 324 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 168 insertions(+), 156 deletions(-) diff --git a/jrj/project/business/SystemSettings/level.Customer.v3.cpp b/jrj/project/business/SystemSettings/level.Customer.v3.cpp index a3615e3..9548411 100644 --- a/jrj/project/business/SystemSettings/level.Customer.v3.cpp +++ b/jrj/project/business/SystemSettings/level.Customer.v3.cpp @@ -1,45 +1,59 @@ -use "xcontrol.vframe.vbusiness.vd" -use "xbase.vframe.vbusiness.vd" +#include <wobject/xstring.hpp> +#include <xcontrol/xtreeview.hpp> +#include <xcontrol/xdwgrid.hpp> +#include <wobject/xdouble.hpp> +#include <xcontrol/xlayersheet.hpp> +#include <xcontrol/xdatetimepick.hpp> -unit trade -[ -class levelCustomerv3 : public listwin + +#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" +#include "viewobject/view.base.hpp" + +using xml = KXMLDOMDocument; +class __declspec(dllexport) levelCustomerv3 : public listwin { +public: xdwgrid dw_goods; xtreeview tv_1; xcombobox ddlb_1; int changeddlb; - string m_sType; //type - string m_sTypeTxt; //选中树的data -// string m_searchtxt; + xstring m_sType; //type + xstring m_sTypeTxt; //选中树的data +// xstring m_searchtxt; int PIndex; xnode m_agentNode; //Agent Condition - string m_agentCond; //Agent Node + xstring m_agentCond; //Agent Node - +public: + levelCustomerv3(void* implPtr, HWND hWnd) :listwin(implPtr, hWnd) {} +public: + static levelCustomerv3* CreateInstance(void* implPtr, void* hWnd) + { + levelCustomerv3* pWin = new levelCustomerv3(implPtr, (HWND)hWnd); + return pWin; + } int OnPreRetrieve() { - xml x = new xml; - x.setNativePointer(xml ::CreateInstance()); - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("pageindex", PIndex.toString()); //第几页 - arg.AddArg("pagenumber", m_pageNumber.toString()); //每页数量 - arg.AddArg("QueryTxt",m_QueryTxt ); - arg.AddArg("sType", m_sType);//没有参数 - arg.AddArg("sTypeTxt", m_sTypeTxt);//没有参数 + xml x; + xaserverarg arg; + + arg.AddArg(L"pageindex", xstring(PIndex)); //第几页 + arg.AddArg(L"pagenumber", xstring(m_pageNumber)); //每页数量 + arg.AddArg(L"QueryTxt",m_QueryTxt ); + arg.AddArg(L"sType", m_sType);//没有参数 + arg.AddArg(L"sTypeTxt", m_sTypeTxt);//没有参数 - if(getUrl("/sale/data/"+GetEntityName(1)+"/entity/list",arg.GetString(),x)!=1) + if(getUrl(L"/sale/data/"+GetEntityName(1)+L"/entity/list",arg.GetString(),x)!=1) { - alert("出现错误请联系管理员!"); + alert(L"出现错误请联系管理员!"); return 0; }else { - msxml::IXMLDOMElement e=x.GetXmlDoc().documentElement; - if(listwin::dw_pages.ptr_native_ && e.selectSingleNode("@TotalPage")) + KXMLDOMElement e=x.documentElement(); + if(listwin::dw_pages && e.selectSingleNode(L"@TotalPage")) { - string s=e.selectSingleNode("@TotalPage").text; //总数量 + xstring s=e.selectSingleNode(L"@TotalPage").text(); //总数量 listwin::dw_pages.SetMaxPage(s.toInt()); } listwin::dw_list.Retrieve(x); @@ -49,22 +63,23 @@ return 1; } - int OnChangePages(ref TNotifyEvent evt,int p) + int OnChangePages(TEvent* evt, int p) { - ref PAGENMHDR h = evt.pnmh; + PAGENMHDR& h = *(PAGENMHDR*)evt->notify.pnmh; + int c = h.cur; - int hCursor = xutil::SetCursorWait(); + HCURSOR hCursor = xutil::SetCursorWait(); OnRetrieve(); PIndex=c; xutil::RestoreCursor(hCursor); return 1; } - int ViewUpdate(int pr,string updateItem,xaserverarg arg) + int ViewUpdate(LPARAM pr,xstring updateItem,xaserverarg arg) { - if(updateItem == "refresh") + if(updateItem == L"refresh") { - xdwpages zz = this.GetControl("pages"); + xdwpages zz = GetControl(L"pages"); int h = zz.SetCurPage(1); OnRetrieve(); } @@ -72,20 +87,20 @@ } //树选择 - int OnTreeSelChanged(ref TNotifyEvent evt,int p) + int OnTreeSelChanged(TEvent* evt, int p) { if (changeddlb != 1) { - int wid = tv_1.GetId(); - int h=xtreeview::GetSelectedItem(wid); - msxml::IXMLDOMElement e = xtreeview::GetItemData(wid,h); - string t = e.SelectSingleNode("@type").text; - m_sType=t+""; - string txt = e.SelectSingleNode("@code").text; - if (txt == "") - txt = e.SelectSingleNode("@name").text; - m_sTypeTxt= txt+""; + HTREEITEM h=tv_1.GetSelectedItem(); + KXMLDOMElement e = tv_1.GetItemData(h); + + xstring t = e.selectSingleNode(L"@type").text(); + m_sType=t+L""; + xstring txt = e.selectSingleNode(L"@code").text(); + if (txt == L"") + txt = e.selectSingleNode(L"@name").text(); + m_sTypeTxt= txt+L""; PIndex= 1; OnRetrieve(); @@ -93,53 +108,54 @@ return 1; } - int createSubTree(int wid,int h, msxml::IXMLDOMElement ele) + int createSubTree(HTREEITEM h, KXMLDOMElement ele) { - msxml::IXMLDOMNodeList nlist=ele.SelectNodes("item"); + KXMLDOMNodeList nlist=ele.selectNodes(L"item"); int i; - int s=nlist.length; + int s=nlist.length(); if (s>0) for (i=0; i<s; i++) { - msxml::IXMLDOMElement e=nlist.item(i); - string name=e.SelectSingleNode("@name").text; - int hw=xtreeview::InsertChildItem(wid,h,name,trust(e as int),15); - createSubTree(wid,hw, e); + KXMLDOMElement* e = new KXMLDOMElement(nlist.item(i)); + xstring name = e->selectSingleNode(L"@name").text(); + HTREEITEM hw = tv_1.InsertChildItem(h, name, (LPARAM)e, 15); + createSubTree(hw, *e); } return 1; } - int OnCreateTree(string sType) + + int OnCreateTree(xstring sType) { - int wid = tv_1.GetId(); - while (xtreeview::GetRootItem(wid)>0) - xtreeview::DeleteItem(wid,xtreeview::GetRootItem(wid)); - xml x = new xml; - x.setNativePointer(x.CreateInstance()); - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("sType",sType); - if(getUrl("/sale/data/"+GetEntityName(1)+"/pref/list/tree",arg.GetString(),x)!=1) + while (tv_1.GetRootItem()) + tv_1.DeleteItem(tv_1.GetRootItem()); + + xml x; + xaserverarg arg; + + arg.AddArg(L"sType",sType); + if(getUrl(L"/sale/data/"+GetEntityName(1)+L"/pref/list/tree",arg.GetString(),x)!=1) { - trace(x.GetXmlDoc().text); + trace(x.text()); return -1; }else { - msxml::IXMLDOMNodeList nlist=x.GetXmlDoc().SelectNodes("root/item"); - int len = nlist.length; + KXMLDOMNodeList nlist=x.selectNodes(L"root/item"); + int len = nlist.length(); if (len >0) { int i; for (i=0;i <len; i++) { - msxml::IXMLDOMElement e = nlist.item(i); - string name = e.SelectSingleNode("@name").text; - int h = xtreeview::InsertChildItem(wid,0,name,trust(e as int),15); - createSubTree(wid,h,e); - xtreeview::ExpandItem(wid,h); + KXMLDOMElement* e = new KXMLDOMElement(nlist.item(i)); + xstring name = e->selectSingleNode(L"@name").text(); + HTREEITEM hw = tv_1.InsertChildItem(0, name, (LPARAM)e, 15); + + createSubTree(hw, *e); + tv_1.ExpandItem(hw); } - xtreeview::ExpandItem(wid,0); + tv_1.ExpandItem(0); } } @@ -147,17 +163,17 @@ } //xcombobox下拉 - int OnSelectDdlb(ref TNotifyEvent evt,int p) + int OnSelectDdlb(TEvent* evt, int p) { - changeddlb=1; - int wid = ddlb_1.GetId(); - int CB_GETCURSEL = 0x0147; - int nIndex = win32::SendMessage(wid,CB_GETCURSEL,0,0); - msxml::IXMLDOMElement e = ddlb_1.GetElement(); - msxml::IXMLDOMElement e2 = e.selectSingleNode("item["+(nIndex+1).toString()+"]"); - string text=e2.selectSingleNode("@element").text; + changeddlb = 1; + + int CB_GETCURSEL = 0x0147; + int nIndex = SendMessageW(ddlb_1.GetHWND(), CB_GETCURSEL, 0, 0); + KXMLDOMElement e = ddlb_1.GetElement();//GetitemData(wid,nIndex);//ddlb_1.GetElement(); + KXMLDOMElement e2 = e.selectSingleNode(L"item[" + xstring((nIndex + 1)) + L"]"); + xstring text = e2.selectSingleNode(L"@element").text(); OnCreateTree(text); - changeddlb=0; + changeddlb = 0; return 1; } @@ -171,20 +187,19 @@ } } - msxml::IXMLDOMElement e = listwin::dw_list.GetRowElement(row); - string sguid = e.SelectSingleNode("@guid").text; - string sName = e.selectSingleNode("Name").text+""; + KXMLDOMElement e = listwin::dw_list.GetRowElement(row); + xstring sguid = e.selectSingleNode(L"@guid").text(); + xstring sName = e.selectSingleNode(L"Name").text()+(xstring)L""; int MB_YESNO = 0x00000004; int IDYES = 6; - if(win32::MessageBox(GetHWND(),"确认要删除客户 "+sName+" 的信息吗?","提示",MB_YESNO)!=IDYES) return 1; - xml x = new xml; - x.setNativePointer(x.CreateInstance()); - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("guid",sguid); - if (url::post("/sale/data/"+GetEntityName(1)+"/entity/delete",arg.GetString(),x) != 1) + if(MessageBox(GetHWND(),L"确认要删除客户 "+sName+L" 的信息吗?",L"提示",MB_YESNO)!=IDYES) return 1; + xml x; + xaserverarg arg; + + arg.AddArg(L"guid",sguid); + if (xurl::post(L"/sale/data/"+GetEntityName(1)+L"/entity/delete",arg.GetString(),x) != 1) { - string error = x.GetXmlDoc().text; + xstring error = x.text(); trace(error); } else @@ -203,7 +218,7 @@ return 1; } - int OnRClick(ref TNotifyEvent evt,int p) + int OnRClick(TEvent* evt, int p) { return 1; } @@ -214,66 +229,66 @@ //设置层级弹出窗与保存 int OnLevelCustomer() { - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - OpenWindow("dev:xpage[maint.Level.Customer3.vx]", cast(arg as int)); + xaserverarg arg; - xml ux = new xml; - ux.setNativePointer(ux.CreateInstance()); - ux.LoadXml("<Partys/>"); - msxml::IXMLDOMElement ele = ux.GetXmlDoc().documentElement; + OpenWindow(L"dev:xpage[maint.Level.Customer3.vx]", arg); + + xml ux ; + + ux.loadXML(L"<Partys/>"); + KXMLDOMElement ele = ux.documentElement(); - if(arg.GetArgString("ok")=="true") + if(arg.GetArgString(L"ok")==L"true") { - xml x = new xml; - x.setNativePointer(x.CreateInstance()); - x.LoadXml(arg.GetArgString("arg")); - msxml::IXMLDOMElement uele = x.GetXmlDoc().documentElement; - string ParentPartyID = uele.selectSingleNode("//ParentPartyID").text; - string ParentPartyName = ""; - string GroupPartyID = uele.selectSingleNode("//GroupPartyID").text; - string GroupPartyName = ""; + xml x; - if( uele.selectSingleNode("//ParentPartyID/@_displaystring")) - ParentPartyName = uele.selectSingleNode("//ParentPartyID/@_displaystring").text; - if(uele.selectSingleNode("//GroupPartyID/@_displaystring")) - GroupPartyName = uele.selectSingleNode("//GroupPartyID/@_displaystring").text; + x.loadXML(arg.GetArgString(L"arg")); + KXMLDOMElement uele = x.documentElement(); + xstring ParentPartyID = uele.selectSingleNode(L"//ParentPartyID").text(); + xstring ParentPartyName = L""; + xstring GroupPartyID = uele.selectSingleNode(L"//GroupPartyID").text(); + xstring GroupPartyName = L""; + + if( uele.selectSingleNode(L"//ParentPartyID/@_displaystring")) + ParentPartyName = uele.selectSingleNode(L"//ParentPartyID/@_displaystring").text(); + if(uele.selectSingleNode(L"//GroupPartyID/@_displaystring")) + GroupPartyName = uele.selectSingleNode(L"//GroupPartyID/@_displaystring").text(); int row = dw_list.GetNextSelectRow(1); while(row > 0) { - dw_list.SetItemString(row,"ParentPartyID",ParentPartyID); - dw_list.SetItemDisplayString(row,"ParentPartyID",ParentPartyName); - dw_list.SetItemString(row,"GroupPartyID",GroupPartyID); - dw_list.SetItemDisplayString(row,"GroupPartyID",GroupPartyName); + dw_list.SetItemString(row,L"ParentPartyID",ParentPartyID); + dw_list.SetItemDisplayString(row,L"ParentPartyID",ParentPartyName); + dw_list.SetItemString(row,L"GroupPartyID",GroupPartyID); + dw_list.SetItemDisplayString(row,L"GroupPartyID",GroupPartyName); ele.appendChild(dw_list.GetRowElement(row).cloneNode(-1)); row = dw_list.GetNextSelectRow(row + 1); } - dw_list.RedrawEx(); - arg.AddArg("content",ele.xml); - if (getUrl("/sale/data/CustomerV3/level/update",arg.GetString(),x)!=1) + dw_list.Redraw(); + arg.AddArg(L"content",ele.xml()); + if (getUrl(L"/sale/data/CustomerV3/level/update",arg.GetString(),x)!=1) { - trace(x.GetXmlDoc().text); - alert("设置错误!"); + trace(x.text()); + alert(L"设置错误!"); return -1; }else { - alert("设置成功!"); + alert(L"设置成功!"); } } return 1; } - int PreOnCmdDispatch(string comdid) + int PreOnCmdDispatch(xstring comdid) { - if(comdid.find("action:LogOff",0)>=0) return OnLogOff(); - if(comdid.find("action:bill.delete",0)>=0) return OnDeleteRow(); - //if(comdid=="action:search1") return GridSearch(); - if(comdid=="action:bill.refresh") + if(comdid.find(L"action:LogOff",0)>=0) return OnLogOff(); + if(comdid.find(L"action:bill.delete",0)>=0) return OnDeleteRow(); + //if(comdid==L"action:search1") return GridSearch(); + if(comdid==L"action:bill.refresh") { return OnRetrieve(); } - if(comdid=="action:level.customer") + if(comdid==L"action:level.customer") { return OnLevelCustomer(); } @@ -281,21 +296,19 @@ return 1; } - int OnRowChangedEx(ref TNotifyEvent evt,int p) + int OnRowChangedEx(TEvent* evt, int p) { - alert("999"); - ref DWNMHDR hdr =cast(evt.pnmh as ref DWNMHDR); + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; - msxml::IXMLDOMElement ele = listwin::dw_list.GetRowElement(row); - string entity = ele.selectSingleNode("CustomerID").text; - xml x = new xml; - x.setNativePointer(xml::CreateInstance()); - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("EntityID",entity); - if (getUrl("/sale/data/CustomerV3/entity/customeritem",arg.GetString(),x)!=1) + KXMLDOMElement ele = listwin::dw_list.GetRowElement(row); + xstring entity = ele.selectSingleNode(L"CustomerID").text(); + xml x; + xaserverarg arg; + + arg.AddArg(L"EntityID",entity); + if (getUrl(L"/sale/data/CustomerV3/entity/customeritem",arg.GetString(),x)!=1) { - trace(x.GetXmlDoc().text); + trace(x.text()); return -1; }else { @@ -310,12 +323,12 @@ int PostOnAttachEvent() { //获得树的选择事件 - AttachEvent("tv_1", "TVN_SELCHANGED",OnTreeSelChanged); - AttachEvent("cbx_1","CBN_SELCHANGE",OnSelectDdlb); - AttachEvent("pages","PAGE_CLICK",OnChangePages); - AttachEvent("dw_list","DWV_RCLICKED",OnRClick);//鼠标右键 - //AttachEvent("dw_list","DWV_CLICKED",OnClick);//鼠标右键 - AttachEvent("dw_list","DWV_ROWFOCUSCHANGED",OnRowChangedEx); + AttachEvent(L"tv_1", L"TVN_SELCHANGED", (FEvent)&levelCustomerv3::OnTreeSelChanged); + AttachEvent(L"cbx_1",L"CBN_SELCHANGE", (FEvent)&levelCustomerv3::OnSelectDdlb); + AttachEvent(L"pages",L"PAGE_CLICK", (FEvent)&levelCustomerv3::OnChangePages); + AttachEvent(L"dw_list",L"DWV_RCLICKED", (FEvent)&levelCustomerv3::OnRClick);//鼠标右键 + //AttachEvent(L"dw_list",L"DWV_CLICKED",OnClick);//鼠标右键 + AttachEvent(L"dw_list",L"DWV_ROWFOCUSCHANGED", (FEvent)&levelCustomerv3::OnRowChangedEx); return 1; } @@ -323,19 +336,19 @@ int onload() { PIndex=1; - listwin::m_QueryTxt =""; //查询条件 - m_sType=""; //type - m_sTypeTxt=""; //选中树的data + listwin::m_QueryTxt =L""; //查询条件 + m_sType=L""; //type + m_sTypeTxt=L""; //选中树的data listwin::onload(); - tv_1 = this.GetControl("tv_1"); - ddlb_1 = this.GetControl("cbx_1"); + tv_1 = GetControl(L"tv_1"); + ddlb_1 = GetControl(L"cbx_1"); changeddlb = 0; - OnCreateTree("Source"); - dw_goods = GetControl("dw_goods"); - dw_goods.openUrl("/sale/view/CustomerV3/template/customer/customeritem"); + OnCreateTree(L"Source"); + dw_goods = GetControl(L"dw_goods"); + dw_goods.openUrl(L"/sale/view/CustomerV3/template/customer/customeritem"); return 1; } @@ -344,16 +357,15 @@ { listwin::onloaded(); - string EntityID; + xstring EntityID; int row = dw_list.GetRow(); - if(row<0 || row>dw_list.GetRowCount()) return ""; - msxml::IXMLDOMElement ele = dw_list.GetRowElement(row); - string id = listwin::m_configDoc.selectSingleNode("//entity/EntityID[1]").text; + if(row<0 || row>dw_list.GetRowCount()) return (xstring)L""; + KXMLDOMElement ele = dw_list.GetRowElement(row); + xstring id = listwin::m_configDoc.selectSingleNode(L"//entity/EntityID[1]").text(); if(ele.selectSingleNode(id)) - EntityID = ele.selectSingleNode(id).text; + EntityID = ele.selectSingleNode(id).text(); return 1; } -}; -] \ No newline at end of file +}; \ No newline at end of file -- Gitblit v1.9.3