From f21aea73037ad0465df2dfb2f161069dc024fd09 Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期五, 18 十月 2024 13:55:21 +0800 Subject: [PATCH] update --- jrj/project/business/Quote/Product.Select.cpp | 2089 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 1,046 insertions(+), 1,043 deletions(-) diff --git a/jrj/project/business/Quote/Product.Select.cpp b/jrj/project/business/Quote/Product.Select.cpp index 23e6501..f4d4a79 100644 --- a/jrj/project/business/Quote/Product.Select.cpp +++ b/jrj/project/business/Quote/Product.Select.cpp @@ -1,1090 +1,1093 @@ -use "xcontrol.vframe.vbusiness.vd" -use "xbase.vframe.vbusiness.vd" -use "multi.vbind.vbind.wface.vd" -use "productlibrary.vd" -use "shoppingcart.vd" +#include <wobject/xstring.hpp> +#include <wobject/xdouble.hpp> +#include <xcontrol/xtreeview.hpp> +#include <xcontrol/xdwgrid.hpp> +#include <xcontrol/ximageview.hpp> -unit trade -[ - class ProductSelectWin : public xwin +#include "vbusiness/vframe/maint.vframe.vbusiness.hpp" +#include "viewobject/view.base.hpp" +#include "viewobject/saleorder.view.hpp" +#include "viewobject/quote.view.hpp" +#include "viewobject/shoppingcart.view.hpp" +#include "viewobject/productLibrary.view.hpp" +#include "xcontrol/xcheckbox.hpp" +#include "xcontrol/xshtml.hpp" + +using xml = KXMLDOMDocument; +class __declspec(dllexport) ProductSelectWin : public xwin +{ +public: + HWND hObject = 0; + xstring CustomerID; + xstring m_customer; +public: + ProductSelectWin(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {} +public: + static ProductSelectWin* CreateInstance(void* implPtr, void* hWnd) { - int hObject = 0; - string CustomerID; - string m_customer; + ProductSelectWin* pWin = new ProductSelectWin(implPtr, (HWND)hWnd); + return pWin; + } + //产品库产品列表 + xdwgrid dw_list; + //购物车产品列表 + xdwgrid dwc_list; - //产品库产品列表 - xdwgrid dw_list; - //购物车产品列表 - xdwgrid dwc_list; + //产品缓存对象 + //xdataset g_xdoc_product; + //xdataset g_xdoc_shoppingcart; + + xcombobox cbx_goodscar; + //是否多选 + + xnode m_agentNode; //Agent Condition + xtreeview tv_folder; + xstring agentFor; - //产品缓存对象 - xdataset g_xdoc_product; - xdataset g_xdoc_shoppingcart; - - xcombobox cbx_goodscar; - //是否多选 - - xnode m_agentNode; //Agent Condition - xtreeview tv_folder; - string agentFor; + xstring impStr; - string impStr; - - int FillGoodsCarList() - { - xcombobox xc = GetControl("frame:cbx_goodscar"); - if(!xc) return 0; - xml x = ShoppingCartView::GetRoleList(CustomerID); - if(!x) return 0; - xc.SetText("==选择购物车=="); + int FillGoodsCarList() + { + xcombobox xc = GetControl(L"frame:cbx_goodscar"); + if(!xc) return 0; + xml x = ShoppingCartView::GetRoleList(CustomerID); + if(!x) return 0; + xc.SetText(L"==选择购物车==L"); - msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//item"); - int len = nlist.length; - for (int i = 0; i < len; i++) - { - msxml::IXMLDOMElement e = nlist.item(i); - string name = e.getAttribute("name"); - xcombobox::AddItem(xc.GetId(),name); - } - return 1; - } - - int SetAgent() - { - string xfNodeAgentArea = "agentarea"; - xnode anode = GetAgentNode(xfNodeAgentArea); - if(m_agentNode) - { - SetAgentNodeContent (anode,m_agentNode); - } - else - { - msxml::IXMLDOMElement xframeElement = GetElement(); - msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); - if(agent) - { - string s = agent.xml; - m_agentNode = SetAgentNodeContent (anode,s); - } - } - return 1; - } - - //焦点激活处理函数 - int OnSetFocus(ref TEvent evt,int param) - { - //重置工具条 - SetAgent(); - return 1; - } - - msxml::IXMLDOMElement OnGetCarListRowElement(int row=0) - { - if(row < 1) row = dwc_list.GetRow(); - if(row < 1 || row > dwc_list.GetRowCount()) return 0; - msxml::IXMLDOMElement e = g_xdoc_shoppingcart.getRowElement("data/Item", row); - return e; - } - - int OnShowImage(string skuid) - { - imageview im = GetControl("im1"); - //im.RemoveImage(); - im.ResetEx(); - - xml xp=new xml; - xp.setNativePointer(xml::CreateInstance()); - xaserverarg arg_pic=new xaserverarg; - arg_pic.setNativePointer(arg_pic.CreateInstance()); - arg_pic.AddArg("SKUID",skuid); - if(url::get("/sale/data/ProductLibrary3/pref/picture/imagelistSKU",arg_pic.GetString(),xp)!=1) - { - trace("xxx",xp.GetXml()); - }else - { - //imageElement = xp.GetXmlDoc().documentElement; - msxml::IXMLDOMNodeList nlistp= xp.GetXmlDoc().selectNodes("ImageList/image"); - int lenp = nlistp.length; - for(int ip=0;ip<lenp;ip++) - { - msxml::IXMLDOMElement xitem = nlistp.item(ip); - string picname = xitem.selectSingleNode("PicPath").text; - string goodno = xitem.selectSingleNode("GoodsNo").text; - if(picname == "/business/products/Thumbs//") - picname = "/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg"; - im.AddImages(picname, ""); - } - im.Redraw(); - //win32::SendMessage(im.GetId(),0x000f,0,1); - //win32::InvalidateRect(im.GetId(),cast(0 as ref xrect),true); - } - return 1; - } - - int OnShowImage(string skuid, string customerItemNo) - { - imageview im = GetControl("im1"); - //im.RemoveImage(); - im.ResetEx(); - - xml xp=new xml; - xp.setNativePointer(xml::CreateInstance()); - xaserverarg arg_pic=new xaserverarg; - arg_pic.setNativePointer(arg_pic.CreateInstance()); - arg_pic.AddArg("SKUID",skuid); - arg_pic.AddArg("CustomerID",m_customer); - arg_pic.AddArg("CustomerItemNo",customerItemNo); - - if(url::get("/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKU",arg_pic.GetString(),xp)!=1) - { - trace("error:" + xp.GetXml()); - }else - { - //imageElement = xp.GetXmlDoc().documentElement; - msxml::IXMLDOMNodeList nlistp= xp.GetXmlDoc().selectNodes("ImageList/image"); - int lenp = nlistp.length; - for(int ip=0;ip<lenp;ip++) - { - msxml::IXMLDOMElement xitem = nlistp.item(ip); - string picname = xitem.selectSingleNode("PicPath").text; - string goodno = xitem.selectSingleNode("GoodsNo").text; - if(picname == "/business/products/Thumbs//") - picname = "/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg"; - im.AddImages(picname, ""); - } - im.Redraw(); - } - return 1; - } - - int ItemAdd() - { - int hItem = tv_folder.GetSelectedItem(); - int hTopItem = LookupTopFolder(hItem); - string name = tv_folder.GetItemLabel(hTopItem); - - msxml::IXMLDOMElement e= tv_folder.GetItemData(hItem); - string guid = e.getAttribute("guid"); - if(guid=="") return 1; - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("guid", e.getAttribute("guid")); - if(name=="个人产品") - arg.AddArg("FolderID", e.getAttribute("guid")); - else - arg.AddArg("CategoryID", e.getAttribute("guid")); - string No = e.getAttribute("CategoryNo"); - if(No=="") No = e.getAttribute("no"); - string Name = e.getAttribute("CName"); - if(Name=="") Name = e.getAttribute("cname"); - arg.AddArg("No",No); - arg.AddArg("CName",Name); - int p = arg; - OpenWindow("dev:xpage[Quick.Input.NewProduct.vx]",p); - //if(arg.GetArgString("data.modify")=="1")RetrieveData(); - return 1; - } - - int OnRowChanged(ref TNotifyEvent evt,int p) - { - ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); - int row = hdr.row; - - htmlctrl xs = GetControl("html_detail"); - string html = makeHtml(row); - xs.SetContent(html); - xs.Redraw(); - - string id = g_xdoc_product.getData(0,"data/Item",row,"@guid"); - OnShowImage(id); - - return 1; - } - - int OnGoodsCarRowChanged(ref TNotifyEvent evt,int p) - { - ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); - int row = hdr.row; - - htmlctrl xs = GetControl("html_detail"); - string html = makeGoodscarHtml(row); - xs.SetContent(html); - xs.Redraw(); - if(m_customer) - { - string id = g_xdoc_shoppingcart.getData(0,"data/Item",row,"SKUID"); - string customerItemNo = g_xdoc_shoppingcart.getData(0,"data/Item",row,"CustomerItemNo"); - OnShowImage(id,customerItemNo); - } - - return 1; - } - - int DeleteRow(int row) - { - int IDOK = 1; - int MB_OKCANCEL = 1; - int MB_ICONQUESTION = 32; - if(win32::MessageBox(GetHWND(),"确认删除指定的项,删除后将不能恢复?","提示",MB_OKCANCEL|MB_ICONQUESTION)!=IDOK) return 1; - string id = g_xdoc_product.getData(0,"data/Item",row,"@guid"); - - if(ProductLibraryView::DeleteItem(id)==1) dw_list.DeleteRow(0); - return 1; - } - - int SetSelectState(xdwgrid dw_obj, int state) - { - dw_obj.SetSelectionMode(3); - return 1; - } - - int OnCkbCLick(ref TEvent evt,int p) + KXMLDOMNodeList nlist = x.selectNodes(L"//item"); + int len = nlist.length(); + for (int i = 0; i < len; i++) { - xcheckbox cbx_1 = GetControl("frame:cbx1"); - int state=cbx_1.GetCheck(cbx_1.GetId()); - return SetSelectState(dw_list,state); + KXMLDOMElement e = nlist.item(i); + xstring name = e.getAttribute(L"name"); + xc.AddItem(name); } - - int OnCkbCLick2(ref TEvent evt,int p) - { - xcheckbox cbx_2 = GetControl("frame:cbx2"); - int state=cbx_2.GetCheck(cbx_2.GetId()); - return SetSelectState(dwc_list,state); - } - - xml GetGoodsPropList(string guid) + return 1; + } + + int SetAgent() + { + xstring xfNodeAgentArea = L"agentarea"; + xnode anode = GetAgentNode(xfNodeAgentArea); + if(m_agentNode) { - xml x=new xml; - x.setNativePointer(xml::CreateInstance()); - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("guid", guid); - if(url::get("/sale/data/SO/goods/goodsprop/list", arg.GetString(),x)!=1) - { - string error = x.GetXmlDoc().text; - alert(error); - } - return x; + SetAgentNode (anode,m_agentNode); } + else + { + KXMLDOMElement xframeElement = GetElement(); + KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); + if(agent) + { + xstring s = agent.xml(); + m_agentNode = SetAgentNode (anode,s); + } + } + return 1; + } + + //焦点激活处理函数 + int OnSetFocus(TEvent* evt, LPARAM param) + { + //重置工具条 + SetAgent(); + return 1; + } + + KXMLDOMElement OnGetCarListRowElement(int row=0) + { + if(row < 1) row = dwc_list.GetRow(); + if(row < 1 || row > dwc_list.GetRowCount()) return KXMLDOMElement(); + KXMLDOMElement e =dwc_list.GetRowElement(row); + return e; + } + + int OnShowImage(xstring skuid) + { + ximageview im = GetControl(L"im1"); + //im.RemoveImage(); + im.Reset(); + + xml xp; + + xaserverarg arg_pic; + + arg_pic.AddArg(L"SKUID",skuid); + if(xurl::get(L"/sale/data/ProductLibrary3/pref/picture/imagelistSKU",arg_pic.GetString(),xp)!=1) + { + trace(xp.xml()); + }else + { + //imageElement = xp.documentElement(); + KXMLDOMNodeList nlistp= xp.selectNodes(L"ImageList/image"); + int lenp = nlistp.length(); + for(int ip=0;ip<lenp;ip++) + { + KXMLDOMElement xitem = nlistp.item(ip); + xstring picname = xitem.selectSingleNode(L"PicPath").text(); + xstring goodno = xitem.selectSingleNode(L"GoodsNo").text(); + if(picname == L"/business/products/Thumbs//") + picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg"; + im.AddImages(picname, L""); + } + im.Redraw(); + //SendMessage(im.GetId(),0x000f,0,1); + //InvalidateRect(im.GetId(),cast(0 as ref xrect),true); + } + return 1; + } + + int OnShowImage(xstring skuid, xstring customerItemNo) + { + ximageview im = GetControl(L"im1"); + //im.RemoveImage(); + im.Reset(); + + xml xp; + + xaserverarg arg_pic; + + arg_pic.AddArg(L"SKUID",skuid); + arg_pic.AddArg(L"CustomerID",m_customer); + arg_pic.AddArg(L"CustomerItemNo",customerItemNo); + + if(xurl::get(L"/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKU",arg_pic.GetString(),xp)!=1) + { + trace((xstring)L"error:" + xp.xml()); + }else + { + //imageElement = xp.documentElement(); + KXMLDOMNodeList nlistp= xp.selectNodes(L"ImageList/image"); + int lenp = nlistp.length(); + for(int ip=0;ip<lenp;ip++) + { + KXMLDOMElement xitem = nlistp.item(ip); + xstring picname = xitem.selectSingleNode(L"PicPath").text(); + xstring goodno = xitem.selectSingleNode(L"GoodsNo").text(); + if(picname == L"/business/products/Thumbs//") + picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg"; + im.AddImages(picname, L""); + } + im.Redraw(); + } + return 1; + } + + int ItemAdd() + { + HTREEITEM hItem = tv_folder.GetSelectedItem(); + HTREEITEM hTopItem = LookupTopFolder(hItem); + xstring name = tv_folder.GetItemLabel(hTopItem); + + KXMLDOMElement e= tv_folder.GetItemData(hItem); + xstring guid = e.getAttribute(L"guid"); + if(guid==L"") return 1; + xaserverarg arg ; + + arg.AddArg(L"guid", e.getAttribute(L"guid")); + if(name==L"个人产品") + arg.AddArg(L"FolderID", e.getAttribute(L"guid")); + else + arg.AddArg(L"CategoryID", e.getAttribute(L"guid")); + xstring No = e.getAttribute(L"CategoryNo"); + if(No==L"") No = e.getAttribute(L"no"); + xstring Name = e.getAttribute(L"CName"); + if(Name==L"") Name = e.getAttribute(L"cname"); + arg.AddArg(L"No",No); + arg.AddArg(L"CName",Name); + int p = arg; + OpenWindow(L"dev:xpage[Quick.Input.NewProduct.vx]",p); + //if(arg.GetArgString(L"data.modify")==L"1")RetrieveData(); + return 1; + } + + int OnRowChanged(TEvent* evt,LPARAM p) + { + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + int row = hdr.row; + + xshtml xs = GetControl(L"html_detail"); + xstring html = makeHtml(row); + xs.SetContent(html); + xs.Redraw(); + + xstring id = dw_list.GetGuid(row); + OnShowImage(id); + + return 1; + } + + int OnGoodsCarRowChanged(TEvent* evt, LPARAM p) + { + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + int row = hdr.row; + + xshtml xs = GetControl(L"html_detail"); + xstring html = makeGoodscarHtml(row); + xs.SetContent(html); + xs.Redraw(); + if(m_customer) + { + xstring id = dwc_list.GetItemString(row, L"SKUID"); + xstring customerItemNo = dwc_list.GetItemString(row,L"CustomerItemNo"); + OnShowImage(id,customerItemNo); + } + + return 1; + } + + int DeleteRow(int row) + { + int IDOK = 1; + int MB_OKCANCEL = 1; + int MB_ICONQUESTION = 32; + if(MessageBox(GetHWND(),L"确认删除指定的项,删除后将不能恢复?",L"提示",MB_OKCANCEL|MB_ICONQUESTION)!=IDOK) return 1; + xstring id = dw_list.GetItemString(row,L"@guid"); + + if(ProductLibraryView::DeleteItem(id)==1) dw_list.DeleteRow(0); + return 1; + } + + int SetSelectState(xdwgrid dw_obj, int state) + { + dw_obj.SetSelectionMode(3); + return 1; + } + + int OnCkbCLick(TEvent* evt,int p) + { + xcheckbox cbx_1 = GetControl(L"frame:cbx1"); + int state=cbx_1.GetCheck(); + return SetSelectState(dw_list,state); + } + + int OnCkbCLick2(TEvent*,int p) + { + xcheckbox cbx_2 = GetControl(L"frame:cbx2"); + int state=cbx_2.GetCheck(); + return SetSelectState(dwc_list,state); + } + + xml GetGoodsPropList(xstring guid) + { + xml x; + xaserverarg arg ; + + arg.AddArg(L"guid", guid); + if(xurl::get(L"/sale/data/SO/goods/goodsprop/list", arg.GetString(),x)!=1) + { + xstring error = x.text(); + alert(error); + } + return x; + } - xml GetGoodsPropListEx(string guid) + xml GetGoodsPropListEx(xstring guid) + { + xml x; + + xstring fields=L"<data>"; + + /* + fields +=L"<field name='HighestPrice' label='最高价'/>"; + fields +=L"<field name='LowestPrice' label='最低价'/>"; + + fields +=L"<field name='BulkPrice' label='散货价'/>"; + fields +=L"<field name='CardPrice' label='纸卡价'/>"; + fields +=L"<field name='BuyPrice' label='采购价'/>"; + fields +=L"<field name='SupplierID' label='货源'/>"; + */ + + fields +=L"<field name='Packing' label='包装方式'/>"; + fields +=L"<field name='PackingRate' label='每箱数量'/>"; + fields +=L"<field name='VolumeDesc' label='包装尺码'/>"; + fields +=L"<field name='GWPerPkg' label='毛重'/>"; + fields +=L"<field name='NWPerPkg' label='净重'/>"; + //fields +=L"<field name='DeveloperID' label='开发人员'/>"; + fields +=L"<field name='AttributeValue_1' label='产品属性'/>"; + //fields +=L"<field name='Remark' label='备注'/>"; + + fields += L"</data>"; + x.loadXML(fields); + + return x; + } + + xstring makeHtml(int row) + { + xstring id = dw_list.GetItemString(row,L"@guid"); + xml x = GetGoodsPropList(id); + xml x1 = GetGoodsPropListEx(id); + + xstring html=L"<html><style> .text(){ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>"; + html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >编号:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,L"No")+ + L"</span> <span style='font-weight:700;width:50;font-size:10pt' >类项:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,L"RefNo")+ + L"</span></div>"; + html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >货号:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,L"GoodsNo")+ + L"</span></div>" ; + html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >品名:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,L"CName")+ + L"</span></div>" ; + if(dw_list.GetItemString(row,L"CSpec")!=L"") + html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >规格:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,L"CSpec")+ + L"</span></div>" ; + + KXMLDOMNodeList fieldsEx = x1.selectNodes(L"data/field"); + xstring ls_detail=L""; + xstring ls_item =L""; + xstring name; + xstring label; + int len = fieldsEx.length(); + int i= 0; + + for(i=0;i<len; true) { - xml x=new xml; - x.setNativePointer(xml::CreateInstance()); - string fields="<data>"; - - /* - fields +="<field name='HighestPrice' label='最高价'/>"; - fields +="<field name='LowestPrice' label='最低价'/>"; - - fields +="<field name='BulkPrice' label='散货价'/>"; - fields +="<field name='CardPrice' label='纸卡价'/>"; - fields +="<field name='BuyPrice' label='采购价'/>"; - fields +="<field name='SupplierID' label='货源'/>"; - */ - - fields +="<field name='Packing' label='包装方式'/>"; - fields +="<field name='PackingRate' label='每箱数量'/>"; - fields +="<field name='VolumeDesc' label='包装尺码'/>"; - fields +="<field name='GWPerPkg' label='毛重'/>"; - fields +="<field name='NWPerPkg' label='净重'/>"; - //fields +="<field name='DeveloperID' label='开发人员'/>"; - fields +="<field name='AttributeValue_1' label='产品属性'/>"; - //fields +="<field name='Remark' label='备注'/>"; - - fields += "</data>"; - x.LoadXml(fields); - - return x; - } - - string makeHtml(int row) - { - string id = g_xdoc_product.getData(0,"data/Item",row,"@guid"); - xml x = GetGoodsPropList(id); - xml x1 = GetGoodsPropListEx(id); - - string html="<html><style> .text{ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>"; - html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >编号:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"No")+ - "</span> <span style='font-weight:700;width:50;font-size:10pt' >类项:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"RefNo")+ - "</span></div>"; - html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >货号:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"GoodsNo")+ - "</span></div>" ; - html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >品名:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"CName")+ - "</span></div>" ; - if(dw_list.GetItemString(row,"CSpec")!="") - html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >规格:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"CSpec")+ - "</span></div>" ; - - msxml::IXMLDOMNodeList fieldsEx = x1.GetXmlDoc().selectNodes("data/field"); - string ls_detail=""; - string ls_item =""; - string name; - string label; - int len = fieldsEx.length; - int i= 0; - - for(i=0;i<len; true) + int cnt = 0; + ls_item = L""; + while(cnt < 2) { - int cnt = 0; - ls_item = ""; - while(cnt < 2) - { - name = fieldsEx.item(i).selectSingleNode("@name").text; - label = fieldsEx.item(i).selectSingleNode("@label").text; - ls_item += "<td>" + label + "</td>" + "<td style='text-align:center'>" + g_xdoc_product.getData(0,"data/Item",row,name) + "</td>" ; - cnt++; - i++; - if(i ==len)break; - } - ls_detail += "<tr>" + ls_item + "</tr>"; + name = fieldsEx.item(i).selectSingleNode(L"@name").text(); + label = fieldsEx.item(i).selectSingleNode(L"@label").text(); + ls_item += L"<td>" + label + L"</td>" + L"<td style='text-align:center'>" + dw_list.GetItemString(row,name.c_str()) + L"</td>" ; + cnt++; + i++; + if(i ==len)break; } - html += "<div style='margin-left:8px;margin-right:16px;'>" + - +"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>" - + ls_detail - +"</table>" - +"</div>" ; + ls_detail += L"<tr>" + ls_item + L"</tr>"; + } + html += L"<div style='margin-left:8px;margin-right:16px;'>" + L"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>" + + ls_detail + +L"</table>" + +L"</div>" ; - string ls_star=""; - msxml::IXMLDOMNodeList fields = x.GetXmlDoc().selectNodes("data/field"); - len = fields.length; + xstring ls_star=L""; + KXMLDOMNodeList fields = x.selectNodes(L"data/field"); + len = fields.length(); - ls_detail = ""; - if(len > 0) - html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >技术要求:</span></div>" ; - for(i=0;i<len; true) + ls_detail = L""; + if(len > 0) + html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >技术要求:</span></div>" ; + for(i=0;i<len; true) + { + ls_item=L""; + + int count = 0; + while(count < 2) { - ls_item=""; + name = fields.item(i).selectSingleNode(L"@name").text(); + label = fields.item(i).selectSingleNode(L"@label").text(); - int count = 0; - while(count < 2) + if(name==L"QualityTerm" || name==L"PackTerm" || label==L"质量" || label==L"包装质量" || label==L"技术要求") { - name = fields.item(i).selectSingleNode("@name").text; - label = fields.item(i).selectSingleNode("@label").text; - - if(name=="QualityTerm" || name=="PackTerm" || label=="质量" || label=="包装质量" || label=="技术要求") - { - i++; - if(i >= len)count = 2; - continue; - } - else if(g_xdoc_product.getData(0,"data/Item",row,name)=="") - { - msxml::IXMLDOMNodeList options = fields.item(i).selectNodes("item"); - int tlen = options.length; - string terms = "" ; - for(int k=0; k<tlen; k++) - { - if(options.item(k).text) - { - if(k>0) terms += ", "; - terms += "[" + options.item(k).text +"]"; - } - } - ls_star += "<div ><span style='font-weight:700;width:50;font-size:10pt' >" + label +"*:</span><span style='width:90;font-size:10pt'>" + terms + "</span></div>" ; - }else - { - ls_item = "<td>" + label + "</td>" + "<td>" + g_xdoc_product.getData(0,"data/Item",row,name) + "</td>" ; - count++; - } i++; if(i >= len)count = 2; + continue; } - ls_item = "<tr>" + ls_item + "</tr>"; - ls_detail += ls_item; - } - - html += "<div style='margin-left:8px;margin-right:16px;'>" + - +"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>" - + ls_detail - +"</table>" - +"</div>" ; - if(dw_list.GetItemString(row,"QualityTerm")!="") - { - html += "<div style='height:12px'/>"; - html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >质量:</span></div>" ; - html += "<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row,"QualityTerm") + "</span></div>" ; - } - - if(dw_list.GetItemString(row,"PackTerm")!="") - { - html += "<div style='height:12px'/>"; - html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >包装质量:</span></div>" ; - html += "<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row,"PackTerm") + "</span></div>" ; - } - - if(g_xdoc_product.getData(0,"data/Item",row,"Remark") != "" && id == "23A8BBA2-DEF1-4C00-978E-646151A6082E") - { - html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >备注:</span></div>" ; - html += "<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + g_xdoc_product.getData(0,"data/Item",row,"Remark") + "</span></div>" ; - } - - html += "<div style='height:24px'/>"; - - //星标项 - html += ls_star; - - //显示图片 - /*string picname = "1FA9E331-F95C-4E51-B80C-73FB9B911D8D.jpg";//dw_list.GetItemString(row,"ImgName"); //ItemID+".jpg"; - string str = picname.mid(0,2); - str = str.upper(); - string serversrc ="http://192.168.7.241:1001/business/products/chanpin/"+str+"/"+picname; - html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >图片:</span>"; - html += "<control visible='layer' controlclass='ximage' data='' src='"+ serversrc +"'/></div>"; - */ - html += "</body></html>"; - return html; - } - - string makeGoodscarHtml(int row) - { - string No = dwc_list.GetItemString(row,"RefNo");//获取属性值id - xml x = GetGoodsPropList(No); - - string html="<html><style> .text{ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>"; - html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >编号:</span><span style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,"No")+ - "</span></div>"; - html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >品名:</span><span style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,"CName")+ - "</span></div>" ; - html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >规格:</span><span style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,"CSpec")+ - "</span></div>" ; - - msxml::IXMLDOMNodeList fields = x.GetXmlDoc().selectNodes("data/field"); - int len = fields.length; - html += "<table>" + - "<colgroup span='1' width='80'/>" + - "<colgroup span='1' width='120'/>" + - "<colgroup span='1' width='420'/>" ; - html += "<tr>" ; - html += "<td style='text-align:center'>编号</td><td style='text-align:center'>项目</td><td style='text-align:center'>内容</td>" ; - html +="</tr>"; - for(int i=0;i<len; i++) - { - string name = fields.item(i).selectSingleNode("@name").text; - string label = fields.item(i).selectSingleNode("@label").text; - html += "<tr>" ; - if(i==0) - html += "<td rowspan='" + len.toString() + "'>" + No + "</td><td >"+ label + "</td><td >"+"</td>" ; - else - html += "<td >"+ label + "</td><td >"+ g_xdoc_shoppingcart.getData(0,"data/Item",row,name)+"</td>" ; - html +="</tr>"; - } - - html += "<tr>" ; - html += "<td rowspan='3'>" + g_xdoc_shoppingcart.getData(0,"data/Item",row,"PackCode") + "</td><td >包装方式</td><td >"+ - g_xdoc_shoppingcart.getData(0,"data/Item",row,"CPack") + "</td>" ; - html +="</tr>"; - html += "<tr height='48'>" ; - html += "<td >包装要求</td><td >"+ g_xdoc_shoppingcart.getData(0,"data/Item",row,"PackQualityTerm")+"</td>" ; - html +="</tr>"; - html += "<tr>" ; - html += "<td >侧唛</td><td ></td>" ; - html +="</tr>"; - - html += "<tr height='72'>" ; - html += "<td>" + g_xdoc_shoppingcart.getData(0,"data/Item",row,"QualityCode") + "</td><td >质量要求</td><td >"+ - g_xdoc_shoppingcart.getData(0,"data/Item",row,"QualityTerm") + "</td>" ; - html +="</tr>"; - - html +="</table>"; - - html += "</body></html>"; - return html; - } - - int OnImport() - { - if(!hObject ) return 1; - - int rw = 0; - string ls_nos = "ImportXml:"; - - if (impStr=="") - { - alert("请选择商品!"); - return 1; - } - ls_nos += impStr; - trace(impStr); - dwc_list.SelectRow(0,false); - dwc_list.Redraw(); - dw_list.SelectRow(0,false); - dw_list.Redraw(); - impStr =""; - //alert(ls_nos); - win32::SendMessage(hObject,0x401,ls_nos,0); - alert("转入完成"); - - return 1; - } - - int OnSearch() - { - int hItem = tv_folder.GetSelectedItem(); - return RetrieveItem(hItem); - } - - //命令发布函数 - int OnCmdDispatch(string comdid) - { - int hCursor; - string name=""; - if(comdid=="xmClose") - { - CloseWindow(); - return 1; - } - else if(comdid=="xmImport") - { - OnImport(); - return 1; - } - else if(comdid=="xmAdd") - { - ItemAdd(); - return 1; - } - else if(comdid=="xmSearch") - { - OnSearch(); - return 1; - } - return 0; - } - - //命令处理事件 - int OnXCommand(ref TXCommandEvent evt,int param) - { - return OnCmdDispatch(evt.pStrID); - } - - //查找当前树项的顶级目录 - int LookupTopFolder(int hItem) - { - int hRoot = tv_folder.GetRootItem(); - while(tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem); - return hItem; - } - - //插入产品类项的子项 - int MakeGoodsFolderItem(int hItem, string sno) - { - xml x = ProductLibraryView::GetTreeChildItems3(sno); - if(!x) return 0; - - msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//Item"); - int len = nlist.length; - for (int i = 0; i < len; i++) - { - msxml::IXMLDOMElement e = nlist.item(i); - string name = e.getAttribute("CName"); - string no = e.getAttribute("CategoryNo"); - string label = no.trim() + " " + name; - - int h= tv_folder.InsertChildItem(hItem,label, trust(e as int),15); - tv_folder.SetItemChild(h,1); - } - return 1; - } - - //插入新产品目录子项 - int MakeUserGoodsFolderItem(int hItem, string sno) - { - xml x = ProductLibraryView::GetTreeUserChildItems3(sno); - if(!x) return 0; - - msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//Item"); - int len = nlist.length; - for (int i = 0; i < len; i++) - { - msxml::IXMLDOMElement e = nlist.item(i); - string name = e.getAttribute("CName"); - string no = e.getAttribute("CategoryNo"); - string label = no.trim() + " " + name; - - int h= tv_folder.InsertChildItem(hItem,label, trust(e as int),15); - string child = e.getAttribute("Childs"); - if(child=="") - tv_folder.SetItemChild(h,1); - else if(child !="0") - tv_folder.SetItemChild(h,1); - } - return 1; - } - - //插入购物车项 - int ExpandCatChildFolder(int hItem, msxml::IXMLDOMElement ele ,int image) - { - msxml::IXMLDOMNodeList nlist = ele.SelectNodes("item"); - int len = nlist.length; - if(len > 0) tv_folder.SetItemChild(hItem,1); - for (int i= 0; i < len; i++) - { - msxml::IXMLDOMElement e = nlist.item(i); - string name = e.getAttribute("name"); - int h = tv_folder.InsertChildItem(hItem,name, trust(e as int),image); - ExpandCatChildFolder(h,e,35); - } - return 1; - } - int MakeGoodCarFolderItem(int hItem) - { - //trace("\r\nCustomerID:"+CustomerID); - xml x = ShoppingCartView::GetRoleList(CustomerID); - //if(x) alert(x.GetXml()); - if(!x) return 0; - msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("/data/item"); - int len = nlist.length; - for (int i = 0; i < len; i++) - { - msxml::IXMLDOMElement e = nlist.item(i); - string name = e.getAttribute("name"); - int h = tv_folder.InsertChildItem(hItem,name, trust(e as int),35); - ExpandCatChildFolder(h,e,35); - } - return 1; - } - - //树展开 - int OnTreeExpanding(ref TNotifyEvent evt,int p) - { - ref NMTREEVIEW nmtv = evt.pnmh; - int hItem = nmtv.itemNew.hItem; - int hTopItem = LookupTopFolder(hItem); - string name = tv_folder.GetItemLabel(hTopItem); - int child = tv_folder.GetChildItem(hItem); - string no =""; - msxml::IXMLDOMElement e; - if(name == "公司库" && !child ) - { - no =""; - if(hTopItem != hItem) + else if(dw_list.GetItemString(row,name.c_str())==L"") { - e= tv_folder.GetItemData(hItem); - no = e.getAttribute("categoryid"); + KXMLDOMNodeList options = fields.item(i).selectNodes(L"item"); + int tlen = options.length(); + xstring terms = L"" ; + for(int k=0; k<tlen; k++) + { + if(options.item(k).text()) + { + if(k>0) terms += L", L"; + terms += (xstring)L"[" + options.item(k).text() +L"]"; + } + } + ls_star += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >" + label +L"*:</span><span style='width:90;font-size:10pt'>" + terms + L"</span></div>" ; }else { - e= tv_folder.GetItemData(hItem); - no = e.getAttribute("categoryid"); + ls_item = L"<td>" + label + L"</td>" + L"<td>" + dw_list.GetItemString(row,name.c_str()) + L"</td>" ; + count++; } - MakeGoodsFolderItem(hItem, no); + i++; + if(i >= len)count = 2; } - else if(name == "个人库" && !child ) - { - no =""; - if(hTopItem != hItem) - { - e= tv_folder.GetItemData(hItem); - no = e.getAttribute("categoryid"); - MakeUserGoodsFolderItem(hItem, no); - } - } - else if(name == "购物车" && !child ) - { - if(hItem==hTopItem)MakeGoodCarFolderItem(hItem); - } - return 1; + ls_item = L"<tr>" + ls_item + L"</tr>"; + ls_detail += ls_item; } - - int ResetAgent(string agentAsk) - { - if(agentFor != agentAsk) - { - agentFor = agentAsk; - m_agentNode = 0; - SetAgent(); - } - return 1; - } - - int LookupCustomerFolder(int hItem) - { - while(true) - { - msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement); - string str = e1.getAttribute("no"); - if(str.find("Customer:")>=0) return hItem; - hItem = tv_folder.GetParentItem(hItem); - if(hItem==0) break; - } - return 0; - } - - string LookupCustomer(int hItem) - { - hItem = LookupCustomerFolder(hItem); - if(hItem==0) return ""; - msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement); - string str = e1.getAttribute("no"); - return str.mid("Customer:".length(),9999); - } - - int RetrieveItem(int hItem) - { - int hTopItem = LookupTopFolder(hItem); - string name = tv_folder.GetItemLabel(hTopItem); - string selectname = tv_folder.GetItemLabel(hItem); - imageview im = GetControl("im1"); - m_customer = ""; - xcontrol query = GetControl("sl_search"); - string queryString = query.GetText(); - if(name == "购物车") - { - if(agentFor !="goodscar")SwitchLayer("goodscarsheet","sheetframe"); - ResetAgent("goodscar"); - if(selectname !=name) - { - msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement); - string str = e1.getAttribute("no"); - - trace("\r\n-------"+str+"--------"+queryString); + html += L"<div style='margin-left:8px;margin-right:16px;'>" + L"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>" + + ls_detail + +L"</table>" + +L"</div>" ; + if(dw_list.GetItemString(row,L"QualityTerm")!=L"") + { + html += L"<div style='height:12px'/>"; + html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >质量:</span></div>" ; + html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row,L"QualityTerm") + L"</span></div>" ; + } + + if(dw_list.GetItemString(row,L"PackTerm")!=L"") + { + html += L"<div style='height:12px'/>"; + html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >包装质量:</span></div>" ; + html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row,L"PackTerm") + L"</span></div>" ; + } + + if(dw_list.GetItemString(row,L"Remark") != L"" && id == L"23A8BBA2-DEF1-4C00-978E-646151A6082E") + { + html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >备注:</span></div>" ; + html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row,L"Remark") + L"</span></div>" ; + } + + html += L"<div style='height:24px'/>"; + + //星标项 + html += ls_star; + + //显示图片 + /*xstring picname = L"1FA9E331-F95C-4E51-B80C-73FB9B911D8D.jpg";//dw_list.GetItemString(row,L"ImgName"); //ItemID+L".jpg"; + xstring str = picname.mid(0,2); + str = str.upper(); + xstring serversrc =L"http://192.168.7.241:1001/business/products/chanpin/"+str+L"/"+picname; + html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >图片:</span>"; + html += L"<control visible='layer' controlclass='ximage' data='' src='"+ serversrc +L"'/></div>"; + */ + html += L"</body></html>"; + return html; + } + + xstring makeGoodscarHtml(int row) + { + xstring No = dwc_list.GetItemString(row,L"RefNo");//获取属性值id + xml x = GetGoodsPropList(No); + + xstring html=L"<html><style> .text(){ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>"; + html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >编号:</span><span style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,L"No")+ + L"</span></div>"; + html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >品名:</span><span style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,L"CName")+ + L"</span></div>" ; + html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >规格:</span><span style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,L"CSpec")+ + L"</span></div>" ; + + KXMLDOMNodeList fields = x.selectNodes(L"data/field"); + int len = fields.length(); + html += L"<table>" + L"<colgroup span='1' width='80'/>" + L"<colgroup span='1' width='120'/>" + L"<colgroup span='1' width='420'/>" ; + html += L"<tr>" ; + html += L"<td style='text-align:center'>编号</td><td style='text-align:center'>项目</td><td style='text-align:center'>内容</td>" ; + html +=L"</tr>"; + for(int i=0;i<len; i++) + { + xstring name = fields.item(i).selectSingleNode(L"@name").text(); + xstring label = fields.item(i).selectSingleNode(L"@label").text(); + html += L"<tr>" ; + if(i==0) + html += L"<td rowspan='" + xstring(len) + L"'>" + No + L"</td><td >" + label + L"</td><td >" + L"</td>"; + else + html += L"<td >"+ label + L"</td><td >"+ dwc_list.GetItemString(row,name.c_str())+L"</td>" ; + html +=L"</tr>"; + } + + html += L"<tr>" ; + html += L"<td rowspan='3'>" + dwc_list.GetItemString(row,L"PackCode") + L"</td><td >包装方式</td><td >"+ + dwc_list.GetItemString(row,L"CPack") + L"</td>" ; + html +=L"</tr>"; + html += L"<tr height='48'>" ; + html += L"<td >包装要求</td><td >"+ dwc_list.GetItemString(row,L"PackQualityTerm")+L"</td>" ; + html +=L"</tr>"; + html += L"<tr>" ; + html += L"<td >侧唛</td><td ></td>" ; + html +=L"</tr>"; + + html += L"<tr height='72'>" ; + html += L"<td>" + dwc_list.GetItemString(row,L"QualityCode") + L"</td><td >质量要求</td><td >"+ + dwc_list.GetItemString(row,L"QualityTerm") + L"</td>" ; + html +=L"</tr>"; + + html +=L"</table>"; + + html += L"</body></html>"; + return html; + } + + int OnImport() + { + if(!hObject ) return 1; + + int rw = 0; + xstring ls_nos = L"ImportXml:"; + + if (impStr==L"") + { + alert(L"请选择商品!"); + return 1; + } + ls_nos += impStr; + trace(impStr); + dwc_list.SelectRow(0,false); + dwc_list.Redraw(); + dw_list.SelectRow(0,false); + dw_list.Redraw(); + impStr =L""; + //alert(ls_nos); + SendMessage(hObject,0x401,(LPARAM)ls_nos.c_str(), 0); + alert(L"转入完成"); - if(str=="Supplier") + return 1; + } + + int OnSearch() + { + HTREEITEM hItem = tv_folder.GetSelectedItem(); + return RetrieveItem(hItem); + } + + //命令发布函数 + int OnCmdDispatch(xstring comdid) + { + int hCursor; + xstring name=L""; + if(comdid==L"xmClose") + { + CloseWindow(); + return 1; + } + else if(comdid==L"xmImport") + { + OnImport(); + return 1; + } + else if(comdid==L"xmAdd") + { + ItemAdd(); + return 1; + } + else if(comdid==L"xmSearch") + { + OnSearch(); + return 1; + } + return 0; + } + + //命令处理事件 + int OnXCommand(TEvent* evt, LPARAM param) + { + return OnCmdDispatch(evt->xcommand.pStrID); + } + + //查找当前树项的顶级目录 + HTREEITEM LookupTopFolder(HTREEITEM hItem) + { + HTREEITEM hRoot = tv_folder.GetRootItem(); + while(tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem); + return hItem; + } + + //插入产品类项的子项 + int MakeGoodsFolderItem(HTREEITEM hItem, xstring sno) + { + xml x = ProductLibraryView::GetTreeChildItems3(sno); + if(!x) return 0; + + KXMLDOMNodeList nlist = x.selectNodes(L"//Item"); + int len = nlist.length(); + for (int i = 0; i < len; i++) + { + KXMLDOMElement e = nlist.item(i); + xstring name = e.getAttribute(L"CName"); + xstring no = e.getAttribute(L"CategoryNo"); + xstring label = no.trim() + L" " + name; + + HTREEITEM h= tv_folder.InsertChildItem(hItem,label, e,15); + tv_folder.SetItemChild(h,1); + } + return 1; + } + + //插入新产品目录子项 + int MakeUserGoodsFolderItem(HTREEITEM hItem, xstring sno) + { + xml x = ProductLibraryView::GetTreeUserChildItems3(sno); + if(!x) return 0; + + KXMLDOMNodeList nlist = x.selectNodes(L"//Item"); + int len = nlist.length(); + for (int i = 0; i < len; i++) + { + KXMLDOMElement e = nlist.item(i); + xstring name = e.getAttribute(L"CName"); + xstring no = e.getAttribute(L"CategoryNo"); + xstring label = no.trim() + L" " + name; + + HTREEITEM h= tv_folder.InsertChildItem(hItem,label, e,15); + xstring child = e.getAttribute(L"Childs"); + if(child==L"") + tv_folder.SetItemChild(h,1); + else if(child !=L"0") + tv_folder.SetItemChild(h,1); + } + return 1; + } + + //插入购物车项 + int ExpandCatChildFolder(HTREEITEM hItem, KXMLDOMElement ele ,int image) + { + KXMLDOMNodeList nlist = ele.selectNodes(L"item"); + int len = nlist.length(); + if(len > 0) tv_folder.SetItemChild(hItem,1); + for (int i= 0; i < len; i++) + { + KXMLDOMElement e = nlist.item(i); + xstring name = e.getAttribute(L"name"); + HTREEITEM h = tv_folder.InsertChildItem(hItem,name, e,image); + ExpandCatChildFolder(h,e,35); + } + return 1; + } + int MakeGoodCarFolderItem(HTREEITEM hItem) + { + //trace(L"\r\nCustomerID:"+CustomerID); + xml x = ShoppingCartView::GetRoleList(CustomerID); + //if(x) alert(x.xml()); + if(!x) return 0; + KXMLDOMNodeList nlist = x.selectNodes(L"/data/item"); + int len = nlist.length(); + for (int i = 0; i < len; i++) + { + KXMLDOMElement e = nlist.item(i); + xstring name = e.getAttribute(L"name"); + HTREEITEM h = tv_folder.InsertChildItem(hItem,name, e,35); + ExpandCatChildFolder(h,e,35); + } + return 1; + } + + //树展开 + int OnTreeExpanding(TEvent* evt,int p) + { + NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh; + HTREEITEM hItem = nmtv.itemNew.hItem; + HTREEITEM hTopItem = LookupTopFolder(hItem); + xstring name = tv_folder.GetItemLabel(hTopItem); + HTREEITEM child = tv_folder.GetChildItem(hItem); + xstring no =L""; + KXMLDOMElement e; + if(name == L"公司库" && !child ) + { + no =L""; + if(hTopItem != hItem) + { + e= tv_folder.GetItemData(hItem); + no = e.getAttribute(L"categoryid"); + }else + { + e= tv_folder.GetItemData(hItem); + no = e.getAttribute(L"categoryid"); + } + MakeGoodsFolderItem(hItem, no); + } + else if(name == L"个人库" && !child ) + { + no =L""; + if(hTopItem != hItem) + { + e= tv_folder.GetItemData(hItem); + no = e.getAttribute(L"categoryid"); + MakeUserGoodsFolderItem(hItem, no); + } + } + else if(name == L"购物车" && !child ) + { + if(hItem==hTopItem)MakeGoodCarFolderItem(hItem); + } + return 1; + } + + int ResetAgent(xstring agentAsk) + { + if(agentFor != agentAsk) + { + agentFor = agentAsk; + m_agentNode = 0; + SetAgent(); + } + return 1; + } + + HTREEITEM LookupCustomerFolder(HTREEITEM hItem) + { + while(true) + { + KXMLDOMElement e1 = tv_folder.GetItemData(hItem); + xstring str = e1.getAttribute(L"no"); + if(str.find(L"Customer:")>=0) return hItem; + hItem = tv_folder.GetParentItem(hItem); + if(hItem==0) break; + } + return 0; + } + + xstring LookupCustomer(HTREEITEM hItem) + { + hItem = LookupCustomerFolder(hItem); + if(hItem==0) return L""; + KXMLDOMElement e1 = tv_folder.GetItemData(hItem); + xstring str = e1.getAttribute(L"no"); + return str.mid(xstring(L"Customer:").length(),9999); + } + + int RetrieveItem(HTREEITEM hItem) + { + HTREEITEM hTopItem = LookupTopFolder(hItem); + xstring name = tv_folder.GetItemLabel(hTopItem); + xstring selectname = tv_folder.GetItemLabel(hItem); + ximageview im = GetControl(L"im1"); + m_customer = L""; + xcontrol query = GetControl(L"sl_search"); + xstring queryString = query.GetText(); + + if(name == L"购物车") + { + if(agentFor !=L"goodscar")SwitchLayer(L"goodscarsheet",L"sheetframe"); + ResetAgent(L"goodscar"); + if(selectname !=name) + { + KXMLDOMElement e1 = tv_folder.GetItemData(hItem); + xstring str = e1.getAttribute(L"no"); + + trace(L"\r\n-------"+str+L"--------"+queryString); + + if(str==L"Supplier") + { + return 1; + } + //alert(str); + xshtml xs = GetControl(L"html_detail"); + if(str.find(L"Customer:")==0 || str.find(L"SO:")==0 || str.find(L"Purcherex:")==0|| str.find(L"Purcher:")==0 || str.find(L"Supplier:")==0|| str.find(L"Enquiry:")==0) + { + m_customer = LookupCustomer(hItem); + if(str.find(L"Customer:")==0) { - return 1; - } - //alert(str); - if(str.find("Customer:")==0 || str.find("SO:")==0 || str.find("Purcherex:")==0|| str.find("Purcher:")==0 || str.find("Supplier:")==0|| str.find("Enquiry:")==0) - { - m_customer = LookupCustomer(hItem); - if(str.find("Customer:")==0) - { - dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodscustomerlist"); - } - else - { - dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodssolist"); - } - dwc_list.Reset(); - dwc_list.SetReadOnly(true); - dwc_list.SetColumnState("CurrencyCode",false); - //alert(str); - if(queryString=="") - g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str)); - else - g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str,queryString)); - } - else if(e1.getAttribute("categoryid") !="") - { - string categoryid = e1.getAttribute("categoryid"); - dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid).GetXmlDoc()); - dwc_list.SetReadOnly(true); - dwc_list.Reset(); - if(queryString=="") - g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid )); - else - g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString,"")); + dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodscustomerlist"); } else { - dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodslist"); - dwc_list.SetReadOnly(true); - dwc_list.Reset(); - if(queryString=="") - g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname)); - else - g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname,queryString)); + dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodssolist"); } - dwc_list.PostRetrieve(); - dwc_list.Redraw(); - - if(dwc_list.GetRowCount() >= 1 ) - { - htmlctrl xs = GetControl("html_detail"); - xs.SetContent(makeGoodscarHtml(1)); - - if(m_customer !="") - { - string skuid = g_xdoc_shoppingcart.getData(0,"data/Item",1,"SKUID"); - string customerItemNo = g_xdoc_shoppingcart.getData(0,"data/Item",1,"CustomerItemNo"); - OnShowImage(skuid,customerItemNo); - } - } else { - im.ResetEx(); - im.Redraw(); - - xs = GetControl("html_detail"); - xs.SetContent("<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>"); - } - xs.Redraw(); - } - } - else - { - if(agentFor !="goodslib")SwitchLayer("goodslibsheet","sheetframe"); - if(name == "个人库") - ResetAgent("userlib"); - else - ResetAgent("goodslib"); - int hCursor = xutil::SetCursorWait(); - - if(name == "个人库" || name=="公司库") + dwc_list.Reset(); + dwc_list.SetReadOnly(true); + dwc_list.SetColumnState(L"CurrencyCode",false); + //alert(str); + if(queryString==L"") + dwc_list.Retrieve(ShoppingCartView::GetGoodsList(str)); + else + dwc_list.Retrieve(ShoppingCartView::GetGoodsList(str,queryString)); + } + else if(e1.getAttribute(L"categoryid") !=L"") { - string no="N000005"; - if(name=="个人库") no="U000005"; - if(hItem != hTopItem) + xstring categoryid = e1.getAttribute(L"categoryid"); + dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid)); + dwc_list.SetReadOnly(true); + dwc_list.Reset(); + if(queryString==L"") + dwc_list.Retrieve(ProductLibraryView::GetMaintList3(categoryid )); + else + dwc_list.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString,L"")); + } + else + { + dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist"); + dwc_list.SetReadOnly(true); + dwc_list.Reset(); + if(queryString==L"") + dwc_list.Retrieve(ShoppingCartView::GetGoodsList(selectname)); + else + dwc_list.Retrieve(ShoppingCartView::GetGoodsList(selectname,queryString)); + } + dwc_list.Redraw(); + + if(dwc_list.GetRowCount() >= 1 ) + { + + xs.SetContent(makeGoodscarHtml(1)); + + if(m_customer !=L"") { - msxml::IXMLDOMElement e= tv_folder.GetItemData(hItem); - no = e.getAttribute("guid"); + xstring skuid = dwc_list.GetItemString(1,L"SKUID"); + xstring customerItemNo = dwc_list.GetItemString(1,L"CustomerItemNo"); + OnShowImage(skuid,customerItemNo); } - dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no).GetXmlDoc()); - dw_list = GetControl("dw_list"); - dw_list.Reset(); - dw_list.SetReadOnly(true); + } else { + im.Reset(); + im.Redraw(); + + xs = GetControl(L"html_detail"); + xs.SetContent(L"<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>"); + } + xs.Redraw(); + } + } + else + { + if(agentFor !=L"goodslib")SwitchLayer(L"goodslibsheet",L"sheetframe"); + if(name == L"个人库") + ResetAgent(L"userlib"); + else + ResetAgent(L"goodslib"); + HCURSOR hCursor = xutil::SetCursorWait(); + + if(name == L"个人库" || name==L"公司库") + { + xstring no=L"N000005"; + if(name==L"个人库") no=L"U000005"; + if(hItem != hTopItem) + { + KXMLDOMElement e= tv_folder.GetItemData(hItem); + no = e.getAttribute(L"guid"); + } + dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no)); + dw_list = GetControl(L"dw_list"); + dw_list.Reset(); + dw_list.SetReadOnly(true); - xml x; - if(queryString=="") + xml x; + if(queryString==L"") + { + if(name == L"个人库") + x = ProductLibraryView::GetMaintRoleList3(no); + else + x = ProductLibraryView::GetMaintList3(no); + } + else + { + if(name == L"个人库") + x = ProductLibraryView::GetMaintRoleList3(no,queryString); + else { - if(name == "个人库") - x = ProductLibraryView::GetMaintRoleList3(no); - else + if(queryString !=L"") + { + if(no==L"N000005") + x = ProductLibraryView::GetMaintList3(L"",queryString,L""); + else + x = ProductLibraryView::GetMaintList3(no,queryString,L""); + }else x = ProductLibraryView::GetMaintList3(no); } - else - { - if(name == "个人库") - x = ProductLibraryView::GetMaintRoleList3(no,queryString); - else - { - if(queryString !="") - { - if(no=="N000005") - x = ProductLibraryView::GetMaintList3("",queryString,""); - else - x = ProductLibraryView::GetMaintList3(no,queryString,""); - }else - x = ProductLibraryView::GetMaintList3(no); - } - } - if(x) g_xdoc_product.Retrieve(x); - dw_list.PostRetrieve(); - dw_list.Redraw(); - - if(dw_list.GetRowCount() >0) - { - xs = GetControl("html_detail"); - xs.SetContent(makeHtml(1)); - string id = g_xdoc_product.getData(0,"data/Item",1,"@guid"); - OnShowImage(id); - }else - { - im.ResetEx(); - im.Redraw(); - - xs = GetControl("html_detail"); - xs.SetContent("<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>"); - } - xs.Redraw(); - xutil::RestoreCursor(hCursor); } - } - impStr = ""; - } - - int OnTreeSelChanged(ref TNotifyEvent evt,int p) - { - ref NMTREEVIEW nmtv = cast(evt.pnmh as NMTREEVIEW); - int hItem = nmtv.itemNew.hItem; - return RetrieveItem(hItem); - } + if(x) dw_list.Retrieve(x); + dw_list.Redraw(); - int ExpandChildFolder(int hItem, msxml::IXMLDOMElement pElement) - { - msxml::IXMLDOMNodeList nlist = pElement.SelectNodes("Item"); - int len = nlist.length; - for (int i = 0; i < len; i++) - { - msxml::IXMLDOMElement e = nlist.item(i); - string name = e.getAttribute("cname"); - string sImage = e.getAttribute("image"); - int image = 15; - //if(sImage) image = sImage.toInt(); - int h= tv_folder.InsertChildItem(tv_folder.GetId(),hItem,name, trust(e as int),image); - tv_folder.SetItemChild(h,1); - ExpandChildFolder(h,e); + xshtml xs = GetControl(L"html_detail"); + if(dw_list.GetRowCount() >0) + { + xs = GetControl(L"html_detail"); + xs.SetContent(makeHtml(1)); + xstring id = dw_list.GetItemString(1,L"@guid"); + OnShowImage(id); + }else + { + im.Reset(); + im.Redraw(); + + + xs.SetContent(L"<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>"); + } + xs.Redraw(); + xutil::RestoreCursor(hCursor); } - return 1; - } - - int InitialFolder() - { - msxml::IXMLDOMElement xframeElement = GetElement(); - msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder']/initial"); - ExpandChildFolder(0,e); - return 1; - } - - int OnDwClicked(ref TNotifyEvent evt,int p) - { - ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR); - char ch; - int row = hdr.row; - string col = hdr.colname; - - string str = ""; - if(dw_list.GetItemString(row, "SKUNo") !="") - str =dw_list.GetItemString(row, "SKUNo"); - else - str =dw_list.GetItemString(row, "No"); - - if(dw_list.IsRowSelected(row) & 0xff) - { - //will unselect - impStr = impStr.replace(" "+str,""); - }else - { - //will select - impStr += " " + str; - } - return 1; - } - - int OnDwcClicked(ref TNotifyEvent evt,int p) - { - ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR); - char ch; - int row = hdr.row; - string col = hdr.colname; - - string str = g_xdoc_shoppingcart.getData(0,"data/Item",row,"SOLineID"); - //string str1 = g_xdoc_shoppingcart.getData(0,"data/Item",row,"EnquiryLineID"); - string str1 = g_xdoc_shoppingcart.getData(0,"data/Item",row,"EnquiryPriceListID"); - if(str1 !="") - str += "el:" + str1; - else if(str != "") - str = "sl:"+str; - else if(dwc_list.GetItemString(row, "SKUNo") !="") - str =dwc_list.GetItemString(row, "SKUNo"); - else - str =dwc_list.GetItemString(row, "No"); - - if(dwc_list.IsRowSelected(row) & 0xff) - { - //will unselect - impStr = impStr.replace(" "+str,""); - }else - { - //will select - impStr += " " + str; - } - return 1; - } - - int OnDoubleClicked(ref TNotifyEvent evt,int p) - { - int hCursor = xutil::SetCursorWait(); - ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR); - int row = hdr.row; - string ls_nos = "ImportXml:"; - string str = g_xdoc_shoppingcart.getData(0,"data/Item",row,"SOLineID"); - string str1 = g_xdoc_shoppingcart.getData(0,"data/Item",row,"EnquiryPriceListID"); - if(str1 !="") - str += "el:" + str1; - else if(str != "") - str = "sl:"+str; - else if(dwc_list.GetItemString(row, "SKUNo") !="") - str =dwc_list.GetItemString(row, "SKUNo"); - else - str =dwc_list.GetItemString(row, "No"); - ls_nos += str; - - dw_list.SelectRow(0,false); - dwc_list.SelectRow(0,false); - dw_list.Redraw(); - dwc_list.Redraw(); - impStr =""; - - win32::SendMessage(hObject,0x401,ls_nos,0); - - xutil::RestoreCursor(hCursor); - CloseWindow(); - return 1; - } - - int OnAttachEvent() - { - //绑定工具条点击事件 - AttachEvent("WM_XCOMMAND",OnXCommand); - //获取焦点事件,用于重置工具条 - AttachEvent("WM_SETFOCUS",OnSetFocus); - AttachEvent("dw_list","DWV_ROWFOCUSCHANGED",OnRowChanged); - AttachEvent("dwc_list","DWV_ROWFOCUSCHANGED",OnGoodsCarRowChanged); - AttachEvent("tv_folder", "TVN_ITEMEXPANDING",OnTreeExpanding); - AttachEvent("tv_folder", "TVN_SELCHANGED",OnTreeSelChanged); - - AttachEvent("dwc_list","DWV_DOUBLECLICKED",OnDoubleClicked); - - AttachEvent("WM_COMMAND",OnCkbCLick); //checkbox打钩事件 - AttachEvent("WM_COMMAND",OnCkbCLick2); //checkbox打钩事件 - - AttachEvent("dw_list","DWV_CLICKED",OnDwClicked); - AttachEvent("dwc_list","DWV_CLICKED",OnDwcClicked); - } - - int onload() - { - agentFor = "goodslib"; - impStr = ""; - - OnAttachEvent(); - - tv_folder = GetControl("tv_folder"); - dw_list = GetControl("dw_list"); - dwc_list = GetControl("dwc_list"); - - xaserverarg arg = GetParam(); - CustomerID = ""; - m_customer =""; - hObject = 0; - if(arg) - { - hObject = arg.GetArgString("HWND").toInt(); - CustomerID = arg.GetArgString("CustomerID"); - } - InitialFolder(); - - g_xdoc_product = new xdataset; - g_xdoc_product.Init(); - xbind bindproduct = new xbind; - bindproduct.bindEx(dw_list, g_xdoc_product,""); - - g_xdoc_shoppingcart = new xdataset; - g_xdoc_shoppingcart.Init(); - - xbind bindcart = new xbind; - bindcart.bindEx(dwc_list, g_xdoc_shoppingcart,""); - - dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3("").GetXmlDoc()); - dw_list = GetControl("dw_list"); - dw_list.SetReadOnly(true); - - dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodslist"); - dwc_list.SetReadOnly(true); - - if(dw_list.GetRowCount()) - { - htmlctrl xs = GetControl("html_detail"); - xs.SetContent(makeHtml(1)); - } - - xtreeview::ExpandItem(tv_folder.GetId(), - xtreeview::GetNextItem(tv_folder.GetId(),xtreeview::GetRootItem(tv_folder.GetId()))); - xtreeview::ExpandItem(tv_folder.GetId(), - xtreeview::GetNextItem(tv_folder.GetId(),xtreeview::GetNextItem(tv_folder.GetId(),xtreeview::GetRootItem(tv_folder.GetId())))); - - dw_list.SetSelectionMode(3); - dwc_list.SetSelectionMode(3); - - return 1; - } - - int onloaded() - { - SetAgent(); - - return 1; } - }; -] \ No newline at end of file + impStr = L""; + } + + int OnTreeSelChanged(TEvent * evt,LPARAM p) + { + NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh; + HTREEITEM hItem = nmtv.itemNew.hItem; + return RetrieveItem(hItem); + } + + int ExpandChildFolder(HTREEITEM hItem, KXMLDOMElement pElement) + { + KXMLDOMNodeList nlist = pElement.selectNodes(L"Item"); + int len = nlist.length(); + for (int i = 0; i < len; i++) + { + KXMLDOMElement e = nlist.item(i); + xstring name = e.getAttribute(L"cname"); + xstring sImage = e.getAttribute(L"image"); + int image = 15; + //if(sImage) image = sImage.toInt(); + HTREEITEM h= tv_folder.InsertChildItem(hItem,name, e,image); + tv_folder.SetItemChild(h,1); + ExpandChildFolder(h,e); + } + return 1; + } + + int InitialFolder() + { + KXMLDOMElement xframeElement = GetElement(); + KXMLDOMElement e = xframeElement.selectSingleNode(L"//xtree[@name='tv_folder']/initial"); + ExpandChildFolder(0,e); + return 1; + } + + int OnDwClicked(TEvent* evt,int p) + { + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + char ch; + int row = hdr.row; + xstring col = hdr.colname; + + xstring str = L""; + if(dw_list.GetItemString(row, L"SKUNo") !=L"") + str =dw_list.GetItemString(row, L"SKUNo"); + else + str =dw_list.GetItemString(row, L"No"); + + if(dw_list.IsRowSelected(row) & 0xff) + { + //will unselect + impStr = impStr.replace(L" "+str,L""); + }else + { + //will select + impStr += L" " + str; + } + return 1; + } + + int OnDwcClicked(TEvent* evt, LPARAM p) + { + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + char ch; + int row = hdr.row; + xstring col = hdr.colname; + + xstring str = dwc_list.GetItemString(row,L"SOLineID"); + //xstring str1 = dwc_list.GetItemString(row,L"EnquiryLineID"); + xstring str1 = dwc_list.GetItemString(row,L"EnquiryPriceListID"); + if(str1 !=L"") + str += L"el:" + str1; + else if(str != L"") + str = L"sl:"+str; + else if(dwc_list.GetItemString(row, L"SKUNo") !=L"") + str =dwc_list.GetItemString(row, L"SKUNo"); + else + str =dwc_list.GetItemString(row, L"No"); + + if(dwc_list.IsRowSelected(row) & 0xff) + { + //will unselect + impStr = impStr.replace(L" "+str,L""); + }else + { + //will select + impStr += L" " + str; + } + return 1; + } + + int OnDoubleClicked(TEvent* evt, LPARAM p) + { + HCURSOR hCursor = xutil::SetCursorWait(); + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + int row = hdr.row; + xstring ls_nos = L"ImportXml:"; + xstring str = dwc_list.GetItemString(row,L"SOLineID"); + xstring str1 = dwc_list.GetItemString(row,L"EnquiryPriceListID"); + if(str1 !=L"") + str += L"el:" + str1; + else if(str != L"") + str = L"sl:"+str; + else if(dwc_list.GetItemString(row, L"SKUNo") !=L"") + str =dwc_list.GetItemString(row, L"SKUNo"); + else + str =dwc_list.GetItemString(row, L"No"); + ls_nos += str; + + dw_list.SelectRow(0,false); + dwc_list.SelectRow(0,false); + dw_list.Redraw(); + dwc_list.Redraw(); + impStr =L""; + + SendMessage(hObject,0x401,(WPARAM)ls_nos.c_str(), 0); + + xutil::RestoreCursor(hCursor); + CloseWindow(); + return 1; + } + + int OnAttachEvent() + { + //绑定工具条点击事件 + AttachEvent(L"WM_XCOMMAND", (FEvent)&ProductSelectWin::OnXCommand); + //获取焦点事件,用于重置工具条 + AttachEvent(L"WM_SETFOCUS", (FEvent)&ProductSelectWin::OnSetFocus); + AttachEvent(L"dw_list",L"DWV_ROWFOCUSCHANGED", (FEvent)&ProductSelectWin::OnRowChanged); + AttachEvent(L"dwc_list",L"DWV_ROWFOCUSCHANGED", (FEvent)&ProductSelectWin::OnGoodsCarRowChanged); + AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING", (FEvent)&ProductSelectWin::OnTreeExpanding); + AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&ProductSelectWin::OnTreeSelChanged); + + AttachEvent(L"dwc_list",L"DWV_DOUBLECLICKED", (FEvent)&ProductSelectWin::OnDoubleClicked); + + AttachEvent(L"WM_COMMAND", (FEvent)&ProductSelectWin::OnCkbCLick); //checkbox打钩事件 + AttachEvent(L"WM_COMMAND", (FEvent)&ProductSelectWin::OnCkbCLick2); //checkbox打钩事件 + + AttachEvent(L"dw_list",L"DWV_CLICKED", (FEvent)&ProductSelectWin::OnDwClicked); + AttachEvent(L"dwc_list",L"DWV_CLICKED", (FEvent)&ProductSelectWin::OnDwcClicked); + return 1; + } + + int onload() + { + SetArg(); + agentFor = L"goodslib"; + impStr = L""; + + OnAttachEvent(); + + tv_folder = GetControl(L"tv_folder"); + dw_list = GetControl(L"dw_list"); + dwc_list = GetControl(L"dwc_list"); + + xaserverarg arg = GetArg(); + CustomerID = L""; + m_customer =L""; + hObject = 0; + if(arg) + { + hObject = (HWND)arg.GetParam(L"ParentWindow"); + CustomerID = arg.GetArgString(L"CustomerID"); + } + InitialFolder(); + + dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(L"")); + dw_list = GetControl(L"dw_list"); + dw_list.SetReadOnly(true); + + dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist"); + dwc_list.SetReadOnly(true); + + if(dw_list.GetRowCount()) + { + xshtml xs = GetControl(L"html_detail"); + xs.SetContent(makeHtml(1)); + } + + tv_folder.ExpandItem(tv_folder.GetNextItem(tv_folder.GetRootItem())); + tv_folder.ExpandItem(tv_folder.GetNextItem(tv_folder.GetNextItem(tv_folder.GetRootItem()))); + + dw_list.SetSelectionMode(3); + dwc_list.SetSelectionMode(3); + + return 1; + } + + int onloaded() + { + SetAgent(); + + return 1; + } +}; \ No newline at end of file -- Gitblit v1.9.3