From 63eebabbfee1bc84850b36967ecac5116a28b73f Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期一, 12 五月 2025 14:52:25 +0800 Subject: [PATCH] update --- jrj/project/business/BasicCode/SKUItem.categoryselect.cpp | 197 +++++++++++++++++++++++++------------------------ 1 files changed, 101 insertions(+), 96 deletions(-) diff --git a/jrj/project/business/BasicCode/SKUItem.categoryselect.cpp b/jrj/project/business/BasicCode/SKUItem.categoryselect.cpp index aa3bcc1..22d6e39 100644 --- a/jrj/project/business/BasicCode/SKUItem.categoryselect.cpp +++ b/jrj/project/business/BasicCode/SKUItem.categoryselect.cpp @@ -1,8 +1,13 @@ -use"lang.vl" -use "win.vl" -use "treeview.vm" -use "file.vl" -use "dev:vm[xdwtable.vm]" +#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" + +using xml = KXMLDOMDocument; unit vbusiness.vpage [ @@ -10,116 +15,116 @@ about SKUItemcategoryselect [ field: - xdwtable__ dw_category; + xdwtable dw_category; method: [ - treeview__ tv_gs; + treeview tv_gs; //命令发布函数 - string GetPath(int tv, int h) + xstring GetPath(int tv, int h) { - string str = treeview__::GetItemLabel(tv, h); - int k = treeview__::GetParentItem(tv, h); - int r = treeview__::GetRootItem(tv); + xstring str = treeview::GetItemLabel(tv, h); + int k = treeview::GetParentItem(tv, h); + int r = treeview::GetRootItem(tv); while(k > 0 && r != k) { - string tmp = treeview__::GetItemLabel(tv, k); - str = tmp+"\\" + str; - k = treeview__::GetParentItem(tv, k); + xstring tmp = treeview::GetItemLabel(tv, k); + str = tmp+L"\\" + str; + k = treeview::GetParentItem(tv, k); } return str; } int xunhuan(int pItem, int hItem) { - xdwtable__ dw = new xdwtable__; - dw.setNativePointer(dw_category.FindDwTable("Item",0)); - if(treeview__::GetChecked(tv_gs.GetId(),hItem) > 0) + xdwtable dw = new xdwtable; + dw.setNativePointer(dw_category.FindDwTable(L"Item",0)); + if(treeview::GetChecked(tv_gs.GetId(),hItem) > 0) { - msxml::IXMLDOMElement e = treeview__::GetItemData(tv_gs.GetId(),hItem); - string id = e.selectSingleNode("CategoryID").text; - string Name =GetPath(tv_gs.GetId(), hItem); + msxml::IXMLDOMElement e = treeview::GetItemData(tv_gs.GetId(),hItem); + xstring id = e.selectSingleNode(L"CategoryID").text; + xstring Name =GetPath(tv_gs.GetId(), hItem); trace(Name); - if(dw.GetItemString(1,"CategoryID")=="") + if(dw.GetItemString(1,L"CategoryID")==L"") { - dw.ItemChangeTo(1,"CategoryID",id); - dw.ItemChangeTo(1,"Category",Name); + dw.ItemChangeTo(1,L"CategoryID",id); + dw.ItemChangeTo(1,L"Category",Name); } else { int n=dw.InsertRow(0); - dw.ItemChangeTo(n,"CategoryID",id); - dw.ItemChangeTo(n,"Category",Name); + dw.ItemChangeTo(n,L"CategoryID",id); + dw.ItemChangeTo(n,L"Category",Name); } } - int cItem = treeview__::GetChildItem(tv_gs.GetId(), hItem); + int cItem = treeview::GetChildItem(tv_gs.GetId(), hItem); if(cItem > 0) { xunhuan(pItem,cItem); } - int nItem = treeview__::GetNextItem(tv_gs.GetId(), hItem); + int nItem = treeview::GetNextItem(tv_gs.GetId(), hItem); if(nItem > 0) { xunhuan(pItem,nItem); } return 1; } - int OnCmdDispatch(string comdid) + int OnCmdDispatch(xstring comdid) { - if(comdid=="ok") + if(comdid==L"ok") { - int hitem = treeview__::GetSelectedItem(tv_gs.GetId()); + int hitem = treeview::GetSelectedItem(tv_gs.GetId()); if (hitem >0) { - msxml::IXMLDOMElement ele=treeview__::GetItemData(tv_gs.GetId(),hitem); - string guid = ele.selectSingleNode("CategoryID").text; - //string label = ele.selectSingleNode("CName").text; - string label = GetPath(tv_gs.GetId(), hitem); + msxml::IXMLDOMElement ele=treeview::GetItemData(tv_gs.GetId(),hitem); + xstring guid = ele.selectSingleNode(L"CategoryID").text; + //xstring label = ele.selectSingleNode(L"CName").text; + xstring label = GetPath(tv_gs.GetId(), hitem); trace(label); - xunhuan(hitem, treeview__::GetChildItem(tv_gs.GetId(), treeview__::GetRootItem(tv_gs.GetId()))); - win__::CloseWindow(); + xunhuan(hitem, treeview::GetChildItem(tv_gs.GetId(), treeview::GetRootItem(tv_gs.GetId()))); + win::CloseWindow(); } return 1; } - if(comdid=="close") - win__::CloseWindow(); + if(comdid==L"close") + win::CloseWindow(); return 0; } - int OnCmdDispatch0(string comdid) + int OnCmdDispatch0(xstring comdid) { - xaserverarg__ arg = new xaserverarg__; - arg.setNativePointer(arg.CreateInstance()); - arg = win__::GetParam(); - arg.AddArg("comdid",comdid); - int xitem = treeview__::GetSelectedItem(tv_gs.GetId()); - if(comdid=="ok" && xitem != 0) + xaserverarg arg; + + arg = win::GetParam(); + arg.AddArg(L"comdid",comdid); + int xitem = treeview::GetSelectedItem(tv_gs.GetId()); + if(comdid==L"ok" && xitem != 0) { - msxml::IXMLDOMElement e=treeview__::GetItemData(tv_gs.GetId(),xitem); + msxml::IXMLDOMElement e=treeview::GetItemData(tv_gs.GetId(),xitem); - string sHasChild=e.selectSingleNode("@HasChild").text; + xstring sHasChild=e.selectSingleNode(L"@HasChild").text; - if(treeview__::GetChildItem(tv_gs.GetId(),xitem)>0 || sHasChild=="1") + if(treeview::GetChildItem(tv_gs.GetId(),xitem)>0 || sHasChild==L"1") { - alert("提示:请选择最后一级类别!"); + alert(L"提示:请选择最后一级类别!"); return 0; } - string ID = e.selectSingleNode("CategoryID").text; - string CName = e.selectSingleNode("CName").text; + xstring ID = e.selectSingleNode(L"CategoryID").text; + xstring CName = e.selectSingleNode(L"CName").text; trace(CName); - string ruler; - if(e.selectSingleNode("SpecRule")) - ruler = e.selectSingleNode("SpecRule").text; + xstring ruler; + if(e.selectSingleNode(L"SpecRule")) + ruler = e.selectSingleNode(L"SpecRule").text; else - ruler =""; - arg.AddArg("CategoryID",ID); - arg.AddArg("CName",CName); - arg.AddArg("SpecRule",ruler); + ruler =L""; + arg.AddArg(L"CategoryID",ID); + arg.AddArg(L"CName",CName); + arg.AddArg(L"SpecRule",ruler); } - win__::CloseWindow(); + win::CloseWindow(); return 0; } @@ -130,42 +135,42 @@ } int CreateSubTree(int pitem){ - msxml::IXMLDOMElement sitemdata=treeview__::GetItemData(tv_gs.GetId(), pitem); - string sHasChild=sitemdata.selectSingleNode("@HasChild").text;//sitemdata.getAttribute("HasChild"); - string pid=sitemdata.selectSingleNode("CategoryID").text; - //trace(sHasChild+"sdaga"+pid); - if(sHasChild=="1"){//数据有子节点 - int citem=treeview__::GetChildItem(tv_gs.GetId(), pitem); + msxml::IXMLDOMElement sitemdata=treeview::GetItemData(tv_gs.GetId(), pitem); + xstring sHasChild=sitemdata.selectSingleNode(L"@HasChild").text;//sitemdata.getAttribute(L"HasChild"); + xstring pid=sitemdata.selectSingleNode(L"CategoryID").text; + //trace(sHasChild+L"sdaga"+pid); + if(sHasChild==L"1"){//数据有子节点 + int citem=treeview::GetChildItem(tv_gs.GetId(), pitem); - //alert(string(citem)); + //alert(xstring(citem)); if (citem==0){//树视图有子节点 - xml__ x=new xml__; - x.setNativePointer(xml__::CreateInstance()); - xaserverarg__ arg=new xaserverarg__; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("parentID",pid); - //if(xaserver__::ExecXQuery(GetServerUrl(),"[ItemCategoryEx.xq]",arg.GetString(),x)!=1) - if(url::get(GetEntityName(1)+"/entity/category",arg.GetString(),x)!=1) + xml x; + + xaserverarg arg; + + arg.AddArg(L"parentID",pid); + //if(xaserver::ExecXQuery(GetServerUrl(),L"[ItemCategoryEx.xq]",arg.GetString(),x)!=1) + if(url::get(GetEntityName(1)+L"/entity/category",arg.GetString(),x)!=1) { trace(x.GetXml()); return 0; } //trace(x.GetXml()); - var list=x.GetXmlDoc().selectNodes("root/Category"); + var list=x.GetXmlDoc().selectNodes(L"root/Category"); 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("CName").text; - string Has2D=xitem.selectSingleNode("@Has2D").text;//item.getAttribute("Has2D"); - if (Has2D=="1") - Name=Name+"*"; - int kitem=treeview__::InsertItem(tv_gs.GetId(), pitem,0,Name,xitem,15); - //int kitem=treeview__::InsertChildItem(tv_gs.GetId(), pitem,Name,xitem,15); - string HasChild=xitem.selectSingleNode("@HasChild").text;//item.getAttribute("HasChild"); + xstring Name=xitem.selectSingleNode(L"CName").text; + xstring Has2D=xitem.selectSingleNode(L"@Has2D").text;//item.getAttribute(L"Has2D"); + if (Has2D==L"1") + Name=Name+L"*"; + int kitem=treeview::InsertItem(tv_gs.GetId(), pitem,0,Name,xitem,15); + //int kitem=treeview::InsertChildItem(tv_gs.GetId(), pitem,Name,xitem,15); + xstring HasChild=xitem.selectSingleNode(L"@HasChild").text;//item.getAttribute(L"HasChild"); //trace(HasChild, kitem); - if (HasChild=="1") - treeview__::SetItemChild1(tv_gs.GetId(), kitem,1); + if (HasChild==L"1") + treeview::SetItemChild1(tv_gs.GetId(), kitem,1); } } } @@ -173,13 +178,13 @@ } int CreateRootTree(){ - string rootid="00000000-0000-0000-0000-000000000000"; - xml__ x=new xml__; - x.setNativePointer(xml__::CreateInstance()); - x.LoadXml("<Category HasChild='1'><CategoryID>"+rootid+"</CategoryID></Category>"); - int hroot=treeview__::InsertItem(tv_gs.GetId(),"公司产品类别", x.GetXmlDoc().documentElement, 17); + xstring rootid=L"00000000-0000-0000-0000-000000000000"; + xml x=new xml; + + x.LoadXml(L"<Category HasChild='1'><CategoryID>"+rootid+L"</CategoryID></Category>"); + int hroot=treeview::InsertItem(tv_gs.GetId(),L"公司产品类别", x.GetXmlDoc().documentElement, 17); CreateSubTree(hroot); - treeview__::ExpandItemEx(tv_gs.GetId(),hroot); + treeview::ExpandItemEx(tv_gs.GetId(),hroot); return 1; } @@ -193,20 +198,20 @@ int OnAttachEvent() { //绑定工具条点击事件 - AttachEvent("WM_XCOMMAND",OnXCommand); + AttachEvent(L"WM_XCOMMAND",OnXCommand); //获得树的展开事件 - AttachEvent("tv_gs", "TVN_ITEMEXPANDING",OnTreeExpanding); + AttachEvent(L"tv_gs", L"TVN_ITEMEXPANDING",OnTreeExpanding); } int onload() { if (GetParam()) { - xaserverarg__ arg1=GetParam(); - dw_category = new xdwtable__; - dw_category.setNativePointer(arg1.GetArgString("dw_category").toInt()); + xaserverarg arg1=GetParam(); + dw_category = new xdwtable; + dw_category.setNativePointer(arg1.GetArgString(L"dw_category").toInt()); } - tv_gs = new treeview__; - tv_gs.setNativePointer(GetControl("tv_gs")); + tv_gs = new treeview; + tv_gs.setNativePointer(GetControl(L"tv_gs")); CreateRootTree(); OnAttachEvent(); return 1; -- Gitblit v1.9.3