jrj/ext-jrj/ext-jrj.vcxproj
@@ -742,22 +742,19 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\CustomerItemNoList.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\Product.Select.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\QuoteFilePurch.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\QuoteFilePurched.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\QuoteSupplierItem.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\TONewSelectDlg.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\TOSelectDlg.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> @@ -769,10 +766,10 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\xmQuoteBillList.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\XmShare.Quote.v3.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\SO3.list.cpp" /> <ClCompile Include="..\project\business\SO3.maint.cpp"> jrj/ext-jrj/ext-jrj.vcxproj.filters
@@ -1118,9 +1118,6 @@ <ClCompile Include="..\project\business\Quote\TOSelectDlg.cpp"> <Filter>project\business\Quote</Filter> </ClCompile> <ClCompile Include="..\project\business\Quote\TONewSelectDlg.cpp"> <Filter>project\business\Quote</Filter> </ClCompile> <ClCompile Include="..\project\business\Quote\QuoteSupplierItem.cpp"> <Filter>project\business\Quote</Filter> </ClCompile> jrj/project/business/Quote/CustomerItemNoList.cpp
@@ -1,43 +1,58 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.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 CustomerItemNoList : public xframe #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) CustomerItemNoList : public xframe { public: xdwgrid dw_list; xnode m_agentNode; //Agent Condition int hObject = 0; string GoodsNo; xstring GoodsNo; public: CustomerItemNoList(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static CustomerItemNoList* CreateInstance(void* implPtr, void* hWnd) { CustomerItemNoList* pWin = new CustomerItemNoList(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { string xfNodeAgentArea = "agentarea"; xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); SetAgentNode (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); xstring s = agent.xml(); m_agentNode = SetAgentNode (anode,s); } } return 1; } int OnRowChanged(ref TNotifyEvent evt,int p) int OnRowChanged(TEvent* evt, int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; SetAgent(); return 1; @@ -45,7 +60,7 @@ //焦点激活处理函数 int OnSetFocus(ref TEvent evt,int param) int OnSetFocus(TEvent* evt, LPARAM param) { //重置工具条 SetAgent(); @@ -56,21 +71,21 @@ //命令发布函数 int OnCmdDispatch(string comdid) int OnCmdDispatch(xstring comdid) { if(comdid=="xmImport") if(comdid==L"xmImport") { Doubleclick(); return 1; } if(comdid=="xmClose") if(comdid==L"xmClose") { CloseWindow(); return 1; } if(comdid=="xmSearch") if(comdid==L"xmSearch") { OnRetrieve(GoodsNo); @@ -81,53 +96,54 @@ int Doubleclick() { xaserverarg arg = GetParam(); arg.AddArg("items",""); string str = ""; xaserverarg arg = GetArg(); arg.AddArg(L"items",L""); xstring str = L""; int row = dw_list.GetNextSelectRow(1); while(row > 0 && row <= dw_list.GetRowCount()) { msxml::IXMLDOMElement ele = dw_list.GetRowElement(row); KXMLDOMElement ele = dw_list.GetRowElement(row); str += ele.xml; str += ele.xml(); row = dw_list.GetNextSelectRow(row + 1); } if(str != "") arg.AddArg("items","<data>"+str+"</data>"); if(str != L"") arg.AddArg(L"items",L"<data>"+str+L"</data>"); trace(str); arg.AddArg("action","ok"); arg.AddArg(L"action",L"ok"); CloseWindow(); return 1; } //命令处理事件 int OnXCommand(ref TXCommandEvent evt,int param) int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt.pStrID); return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //绑定工具条点击事件 AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent(L"WM_XCOMMAND", (FEvent)&CustomerItemNoList::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent("dw_list","DWV_DOUBLECLICKED",Doubleclick); AttachEvent(L"WM_SETFOCUS", (FEvent)&CustomerItemNoList::OnSetFocus); AttachEvent(L"dw_list",L"DWV_DOUBLECLICKED", (FEvent)&CustomerItemNoList::Doubleclick); return 1; } int OnRetrieve(string GoodsNo) int OnRetrieve(xstring GoodsNo) { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("GoodsNo",GoodsNo); xml x ; if (getUrl("/sale/data/ProductLibrary3/GetCustomerItemNoList",arg.GetString(),x)!=1) xaserverarg arg ; arg.AddArg(L"GoodsNo",GoodsNo); if (getUrl(L"/sale/data/ProductLibrary3/GetCustomerItemNoList",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); trace(x.text()); return -1; }else { @@ -141,15 +157,16 @@ int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Quote3/template/Quote/CustomerItemNoList"); SetArg(); dw_list = GetControl(L"dw_list"); dw_list.openUrl(L"/sale/view/Quote3/template/Quote/CustomerItemNoList"); if(GetParam()) if(GetWinParam()) { xaserverarg arg = GetParam(); GoodsNo=arg.GetArgString("GoodsNo"); OnRetrieve(arg.GetArgString("GoodsNo")); xaserverarg arg = GetArg(); GoodsNo=arg.GetArgString(L"GoodsNo"); OnRetrieve(arg.GetArgString(L"GoodsNo")); } OnRetrieve(GoodsNo); OnAttachEvent(); @@ -162,5 +179,4 @@ return 1; } }; ] }; jrj/project/business/Quote/Product.Select.cpp
@@ -1,17 +1,29 @@ 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 <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include <wobject/xdouble.hpp> #include <xcontrol/xlayersheet.hpp> #include <xcontrol/xdatetimepick.hpp> unit trade [ class ProductSelectWin : public xwin #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) ProductSelectWin : public xwin { public: int hObject = 0; string CustomerID; string m_customer; xstring CustomerID; xstring m_customer; public: ProductSelectWin(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {} public: static ProductSelectWin* CreateInstance(void* implPtr, void* hWnd) { ProductSelectWin* pWin = new ProductSelectWin(implPtr, (HWND)hWnd); return pWin; } //产品库产品列表 xdwgrid dw_list; //购物车产品列表 @@ -26,24 +38,24 @@ xnode m_agentNode; //Agent Condition xtreeview tv_folder; string agentFor; xstring agentFor; string impStr; xstring impStr; int FillGoodsCarList() { xcombobox xc = GetControl("frame:cbx_goodscar"); xcombobox xc = GetControl(L"frame:cbx_goodscar"); if(!xc) return 0; xml x = ShoppingCartView::GetRoleList(CustomerID); if(!x) return 0; xc.SetText("==选择购物车=="); xc.SetText(L"==选择购物车==L"); msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//item"); int len = nlist.length; KXMLDOMNodeList nlist = x.selectNodes(L"//item"); int len = nlist.length(); for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("name"); KXMLDOMElement e = nlist.item(i); xstring name = e.getAttribute(L"name"); xcombobox::AddItem(xc.GetId(),name); } return 1; @@ -51,106 +63,106 @@ int SetAgent() { string xfNodeAgentArea = "agentarea"; xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); SetAgentNode (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); xstring s = agent.xml(); m_agentNode = SetAgentNode (anode,s); } } return 1; } //焦点激活处理函数 int OnSetFocus(ref TEvent evt,int param) int OnSetFocus(TEvent* evt, LPARAM param) { //重置工具条 SetAgent(); return 1; } msxml::IXMLDOMElement OnGetCarListRowElement(int row=0) KXMLDOMElement 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); KXMLDOMElement e = g_xdoc_shoppingcart.getRowElement(L"data/Item", row); return e; } int OnShowImage(string skuid) int OnShowImage(xstring skuid) { imageview im = GetControl("im1"); imageview im = GetControl(L"im1"); //im.RemoveImage(); im.ResetEx(); xml xp=new xml; xp.setNativePointer(xml::CreateInstance()); xaserverarg arg_pic=new xaserverarg; xaserverarg arg_pic; 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) arg_pic.AddArg(L"SKUID",skuid); if(xurl::get(L"/sale/data/ProductLibrary3/pref/picture/imagelistSKU",arg_pic.GetString(),xp)!=1) { trace("xxx",xp.GetXml()); trace(L"xxx",xp.xml()); }else { //imageElement = xp.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlistp= xp.GetXmlDoc().selectNodes("ImageList/image"); int lenp = nlistp.length; //imageElement = xp.documentElement(); KXMLDOMNodeList nlistp= xp.selectNodes(L"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, ""); 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(); //win32::SendMessage(im.GetId(),0x000f,0,1); //win32::InvalidateRect(im.GetId(),cast(0 as ref xrect),true); //SendMessage(im.GetId(),0x000f,0,1); //InvalidateRect(im.GetId(),cast(0 as ref xrect),true); } return 1; } int OnShowImage(string skuid, string customerItemNo) int OnShowImage(xstring skuid, xstring customerItemNo) { imageview im = GetControl("im1"); imageview im = GetControl(L"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) xaserverarg arg_pic; arg_pic.setNativePointer(arg_pic.CreateInstance()); 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("error:" + xp.GetXml()); trace(L"error:" + xp.xml()); }else { //imageElement = xp.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlistp= xp.GetXmlDoc().selectNodes("ImageList/image"); int lenp = nlistp.length; //imageElement = xp.documentElement(); KXMLDOMNodeList nlistp= xp.selectNodes(L"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, ""); 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(); } @@ -161,27 +173,27 @@ { int hItem = tv_folder.GetSelectedItem(); int hTopItem = LookupTopFolder(hItem); string name = tv_folder.GetItemLabel(hTopItem); xstring 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")); 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("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); 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("dev:xpage[Quick.Input.NewProduct.vx]",p); //if(arg.GetArgString("data.modify")=="1")RetrieveData(); OpenWindow(L"dev:xpage[Quick.Input.NewProduct.vx]",p); //if(arg.GetArgString(L"data.modify")==L"1")RetrieveData(); return 1; } @@ -190,12 +202,12 @@ ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); int row = hdr.row; htmlctrl xs = GetControl("html_detail"); string html = makeHtml(row); htmlctrl xs = GetControl(L"html_detail"); xstring html = makeHtml(row); xs.SetContent(html); xs.Redraw(); string id = g_xdoc_product.getData(0,"data/Item",row,"@guid"); xstring id = g_xdoc_product.getData(0,L"data/Item",row,L"@guid"); OnShowImage(id); return 1; @@ -206,14 +218,14 @@ ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); int row = hdr.row; htmlctrl xs = GetControl("html_detail"); string html = makeGoodscarHtml(row); htmlctrl xs = GetControl(L"html_detail"); xstring 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"); xstring id = g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"SKUID"); xstring customerItemNo = g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"CustomerItemNo"); OnShowImage(id,customerItemNo); } @@ -225,8 +237,8 @@ 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(MessageBox(GetHWND(),L"确认删除指定的项,删除后将不能恢复?",L"提示",MB_OKCANCEL|MB_ICONQUESTION)!=IDOK) return 1; xstring id = g_xdoc_product.getData(0,L"data/Item",row,L"@guid"); if(ProductLibraryView::DeleteItem(id)==1) dw_list.DeleteRow(0); return 1; @@ -240,256 +252,256 @@ int OnCkbCLick(ref TEvent evt,int p) { xcheckbox cbx_1 = GetControl("frame:cbx1"); xcheckbox cbx_1 = GetControl(L"frame:cbx1"); int state=cbx_1.GetCheck(cbx_1.GetId()); return SetSelectState(dw_list,state); } int OnCkbCLick2(ref TEvent evt,int p) { xcheckbox cbx_2 = GetControl("frame:cbx2"); xcheckbox cbx_2 = GetControl(L"frame:cbx2"); int state=cbx_2.GetCheck(cbx_2.GetId()); return SetSelectState(dwc_list,state); } xml GetGoodsPropList(string guid) xml GetGoodsPropList(xstring guid) { 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) xaserverarg arg ; arg.AddArg(L"guid", guid); if(xurl::get(L"/sale/data/SO/goods/goodsprop/list", arg.GetString(),x)!=1) { string error = x.GetXmlDoc().text; xstring error = x.text(); alert(error); } return x; } xml GetGoodsPropListEx(string guid) xml GetGoodsPropListEx(xstring guid) { xml x=new xml; x.setNativePointer(xml::CreateInstance()); string fields="<data>"; xstring fields=L"<data>"; /* fields +="<field name='HighestPrice' label='最高价'/>"; fields +="<field name='LowestPrice' label='最低价'/>"; fields +=L"<field name='HighestPrice' label='最高价'/>"; fields +=L"<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 +=L"<field name='BulkPrice' label='散货价'/>"; fields +=L"<field name='CardPrice' label='纸卡价'/>"; fields +=L"<field name='BuyPrice' label='采购价'/>"; fields +=L"<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 +=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 += "</data>"; x.LoadXml(fields); fields += L"</data>"; x.loadXML(fields); return x; } string makeHtml(int row) xstring makeHtml(int row) { string id = g_xdoc_product.getData(0,"data/Item",row,"@guid"); xstring id = g_xdoc_product.getData(0,L"data/Item",row,L"@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")+ 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")+ "</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")+ "</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")+ 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")+ "</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")+ 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")+ "</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")+ 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")+ "</span></div>" ; msxml::IXMLDOMNodeList fieldsEx = x1.GetXmlDoc().selectNodes("data/field"); string ls_detail=""; string ls_item =""; string name; string label; int len = fieldsEx.length; 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) { int cnt = 0; ls_item = ""; ls_item = L""; 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>" ; 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'>" + g_xdoc_product.getData(0,L"data/Item",row,name) + L"</td>" ; cnt++; i++; if(i ==len)break; } ls_detail += "<tr>" + ls_item + "</tr>"; ls_detail += L"<tr>" + ls_item + L"</tr>"; } 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'/>" 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 +"</table>" +"</div>" ; +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 = ""; ls_detail = L""; if(len > 0) html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >技术要求:</span></div>" ; html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >技术要求:</span></div>" ; for(i=0;i<len; true) { ls_item=""; ls_item=L""; int count = 0; while(count < 2) { name = fields.item(i).selectSingleNode("@name").text; label = fields.item(i).selectSingleNode("@label").text; name = fields.item(i).selectSingleNode(L"@name").text(); label = fields.item(i).selectSingleNode(L"@label").text(); if(name=="QualityTerm" || name=="PackTerm" || label=="质量" || label=="包装质量" || label=="技术要求") if(name==L"QualityTerm" || name==L"PackTerm" || label==L"质量" || label==L"包装质量" || label==L"技术要求") { i++; if(i >= len)count = 2; continue; } else if(g_xdoc_product.getData(0,"data/Item",row,name)=="") else if(g_xdoc_product.getData(0,L"data/Item",row,name)==L"") { msxml::IXMLDOMNodeList options = fields.item(i).selectNodes("item"); int tlen = options.length; string terms = "" ; 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(options.item(k).text()) { if(k>0) terms += ", "; terms += "[" + options.item(k).text +"]"; if(k>0) terms += L", L"; terms += L"[" + options.item(k).text() +L"]"; } } 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>" ; 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 { ls_item = "<td>" + label + "</td>" + "<td>" + g_xdoc_product.getData(0,"data/Item",row,name) + "</td>" ; ls_item = L"<td>" + label + L"</td>" + L"<td>" + g_xdoc_product.getData(0,L"data/Item",row,name) + L"</td>" ; count++; } i++; if(i >= len)count = 2; } ls_item = "<tr>" + ls_item + "</tr>"; ls_item = L"<tr>" + ls_item + L"</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'/>" 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 +"</table>" +"</div>" ; if(dw_list.GetItemString(row,"QualityTerm")!="") +L"</table>" +L"</div>" ; if(dw_list.GetItemString(row,L"QualityTerm")!=L"") { 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>" ; 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,"PackTerm")!="") if(dw_list.GetItemString(row,L"PackTerm")!=L"") { 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>" ; 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(g_xdoc_product.getData(0,"data/Item",row,"Remark") != "" && id == "23A8BBA2-DEF1-4C00-978E-646151A6082E") if(g_xdoc_product.getData(0,L"data/Item",row,L"Remark") != L"" && id == L"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 += 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' >" + g_xdoc_product.getData(0,L"data/Item",row,L"Remark") + L"</span></div>" ; } html += "<div style='height:24px'/>"; html += L"<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); /*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(); 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>"; 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 += "</body></html>"; html += L"</body></html>"; return html; } string makeGoodscarHtml(int row) xstring makeGoodscarHtml(int row) { string No = dwc_list.GetItemString(row,"RefNo");//获取属性值id xstring No = dwc_list.GetItemString(row,L"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")+ 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")+ "</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")+ 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")+ "</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")+ 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")+ "</span></div>" ; msxml::IXMLDOMNodeList fields = x.GetXmlDoc().selectNodes("data/field"); int len = fields.length; html += "<table>" + KXMLDOMNodeList fields = x.selectNodes(L"data/field"); int len = fields.length(); html += L"<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>"; 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++) { string name = fields.item(i).selectSingleNode("@name").text; string label = fields.item(i).selectSingleNode("@label").text; html += "<tr>" ; 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 += "<td rowspan='" + len.toString() + "'>" + No + "</td><td >"+ label + "</td><td >"+"</td>" ; html += L"<td rowspan='" + len.toString() + L"'>" + No + L"</td><td >"+ label + L"</td><td >"+L"</td>" ; else html += "<td >"+ label + "</td><td >"+ g_xdoc_shoppingcart.getData(0,"data/Item",row,name)+"</td>" ; html +="</tr>"; html += L"<td >"+ label + L"</td><td >"+ g_xdoc_shoppingcart.getData(0,L"data/Item",row,name)+L"</td>" ; html +=L"</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 += L"<tr>" ; html += L"<td rowspan='3'>" + g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"PackCode") + L"</td><td >包装方式</td><td >"+ g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"CPack") + L"</td>" ; html +=L"</tr>"; html += L"<tr height='48'>" ; html += L"<td >包装要求</td><td >"+ g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"PackQualityTerm")+L"</td>" ; html +=L"</tr>"; html += L"<tr>" ; html += L"<td >侧唛</td><td ></td>" ; html +=L"</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 += L"<tr height='72'>" ; html += L"<td>" + g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"QualityCode") + L"</td><td >质量要求</td><td >"+ g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"QualityTerm") + L"</td>" ; html +=L"</tr>"; html +="</table>"; html +=L"</table>"; html += "</body></html>"; html += L"</body></html>"; return html; } @@ -498,11 +510,11 @@ if(!hObject ) return 1; int rw = 0; string ls_nos = "ImportXml:"; xstring ls_nos = L"ImportXml:"; if (impStr=="") if (impStr==L"") { alert("请选择商品!"); alert(L"请选择商品!"); return 1; } ls_nos += impStr; @@ -511,10 +523,10 @@ dwc_list.Redraw(); dw_list.SelectRow(0,false); dw_list.Redraw(); impStr =""; impStr =L""; //alert(ls_nos); win32::SendMessage(hObject,0x401,ls_nos,0); alert("转入完成"); SendMessage(hObject,0x401,ls_nos,0); alert(L"转入完成"); return 1; } @@ -526,26 +538,26 @@ } //命令发布函数 int OnCmdDispatch(string comdid) int OnCmdDispatch(xstring comdid) { int hCursor; string name=""; if(comdid=="xmClose") xstring name=L""; if(comdid==L"xmClose") { CloseWindow(); return 1; } else if(comdid=="xmImport") else if(comdid==L"xmImport") { OnImport(); return 1; } else if(comdid=="xmAdd") else if(comdid==L"xmAdd") { ItemAdd(); return 1; } else if(comdid=="xmSearch") else if(comdid==L"xmSearch") { OnSearch(); return 1; @@ -554,9 +566,9 @@ } //命令处理事件 int OnXCommand(ref TXCommandEvent evt,int param) int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt.pStrID); return OnCmdDispatch(evt->xcommand.pStrID); } //查找当前树项的顶级目录 @@ -568,19 +580,19 @@ } //插入产品类项的子项 int MakeGoodsFolderItem(int hItem, string sno) int MakeGoodsFolderItem(int hItem, xstring sno) { xml x = ProductLibraryView::GetTreeChildItems3(sno); if(!x) return 0; msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//Item"); int len = nlist.length; KXMLDOMNodeList nlist = x.selectNodes(L"//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; KXMLDOMElement e = nlist.item(i); xstring name = e.getAttribute(L"CName"); xstring no = e.getAttribute(L"CategoryNo"); xstring label = no.trim() + L" " + name; int h= tv_folder.InsertChildItem(hItem,label, trust(e as int),15); tv_folder.SetItemChild(h,1); @@ -589,40 +601,40 @@ } //插入新产品目录子项 int MakeUserGoodsFolderItem(int hItem, string sno) int MakeUserGoodsFolderItem(int hItem, xstring sno) { xml x = ProductLibraryView::GetTreeUserChildItems3(sno); if(!x) return 0; msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//Item"); int len = nlist.length; KXMLDOMNodeList nlist = x.selectNodes(L"//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; KXMLDOMElement e = nlist.item(i); xstring name = e.getAttribute(L"CName"); xstring no = e.getAttribute(L"CategoryNo"); xstring label = no.trim() + L" " + name; int h= tv_folder.InsertChildItem(hItem,label, trust(e as int),15); string child = e.getAttribute("Childs"); if(child=="") xstring child = e.getAttribute(L"Childs"); if(child==L"") tv_folder.SetItemChild(h,1); else if(child !="0") else if(child !=L"0") tv_folder.SetItemChild(h,1); } return 1; } //插入购物车项 int ExpandCatChildFolder(int hItem, msxml::IXMLDOMElement ele ,int image) int ExpandCatChildFolder(int hItem, KXMLDOMElement ele ,int image) { msxml::IXMLDOMNodeList nlist = ele.SelectNodes("item"); int len = nlist.length; KXMLDOMNodeList nlist = ele.selectNodes(L"item"); int len = nlist.length(); if(len > 0) tv_folder.SetItemChild(hItem,1); for (int i= 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("name"); KXMLDOMElement e = nlist.item(i); xstring name = e.getAttribute(L"name"); int h = tv_folder.InsertChildItem(hItem,name, trust(e as int),image); ExpandCatChildFolder(h,e,35); } @@ -630,16 +642,16 @@ } int MakeGoodCarFolderItem(int hItem) { //trace("\r\nCustomerID:"+CustomerID); //trace(L"\r\nCustomerID:"+CustomerID); xml x = ShoppingCartView::GetRoleList(CustomerID); //if(x) alert(x.GetXml()); //if(x) alert(x.xml()); if(!x) return 0; msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("/data/item"); int len = nlist.length; KXMLDOMNodeList nlist = x.selectNodes(L"/data/item"); int len = nlist.length(); for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("name"); KXMLDOMElement e = nlist.item(i); xstring name = e.getAttribute(L"name"); int h = tv_folder.InsertChildItem(hItem,name, trust(e as int),35); ExpandCatChildFolder(h,e,35); } @@ -652,42 +664,42 @@ ref NMTREEVIEW nmtv = evt.pnmh; int hItem = nmtv.itemNew.hItem; int hTopItem = LookupTopFolder(hItem); string name = tv_folder.GetItemLabel(hTopItem); xstring name = tv_folder.GetItemLabel(hTopItem); int child = tv_folder.GetChildItem(hItem); string no =""; msxml::IXMLDOMElement e; if(name == "公司库" && !child ) xstring no =L""; KXMLDOMElement e; if(name == L"公司库" && !child ) { no =""; no =L""; if(hTopItem != hItem) { e= tv_folder.GetItemData(hItem); no = e.getAttribute("categoryid"); no = e.getAttribute(L"categoryid"); }else { e= tv_folder.GetItemData(hItem); no = e.getAttribute("categoryid"); no = e.getAttribute(L"categoryid"); } MakeGoodsFolderItem(hItem, no); } else if(name == "个人库" && !child ) else if(name == L"个人库" && !child ) { no =""; no =L""; if(hTopItem != hItem) { e= tv_folder.GetItemData(hItem); no = e.getAttribute("categoryid"); no = e.getAttribute(L"categoryid"); MakeUserGoodsFolderItem(hItem, no); } } else if(name == "购物车" && !child ) else if(name == L"购物车" && !child ) { if(hItem==hTopItem)MakeGoodCarFolderItem(hItem); } return 1; } int ResetAgent(string agentAsk) int ResetAgent(xstring agentAsk) { if(agentFor != agentAsk) { @@ -702,87 +714,87 @@ { 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; KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement); 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; } string LookupCustomer(int hItem) xstring 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); KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement); xstring str = e1.getAttribute(L"no"); return str.mid(L"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(); xstring name = tv_folder.GetItemLabel(hTopItem); xstring selectname = tv_folder.GetItemLabel(hItem); imageview im = GetControl(L"im1"); m_customer = L""; xcontrol query = GetControl(L"sl_search"); xstring queryString = query.GetText(); if(name == "购物车") if(name == L"购物车") { if(agentFor !="goodscar")SwitchLayer("goodscarsheet","sheetframe"); ResetAgent("goodscar"); if(agentFor !=L"goodscar")SwitchLayer(L"goodscarsheet",L"sheetframe"); ResetAgent(L"goodscar"); if(selectname !=name) { msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement); string str = e1.getAttribute("no"); KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement); xstring str = e1.getAttribute(L"no"); trace("\r\n-------"+str+"--------"+queryString); trace(L"\r\n-------"+str+L"--------"+queryString); if(str=="Supplier") if(str==L"Supplier") { 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) 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("Customer:")==0) if(str.find(L"Customer:")==0) { dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodscustomerlist"); dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodscustomerlist"); } else { dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodssolist"); dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodssolist"); } dwc_list.Reset(); dwc_list.SetReadOnly(true); dwc_list.SetColumnState("CurrencyCode",false); dwc_list.SetColumnState(L"CurrencyCode",false); //alert(str); if(queryString=="") if(queryString==L"") g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str)); else g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str,queryString)); } else if(e1.getAttribute("categoryid") !="") else if(e1.getAttribute(L"categoryid") !=L"") { string categoryid = e1.getAttribute("categoryid"); dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid).GetXmlDoc()); xstring categoryid = e1.getAttribute(L"categoryid"); dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid)); dwc_list.SetReadOnly(true); dwc_list.Reset(); if(queryString=="") if(queryString==L"") g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid )); else g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString,"")); g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString,L"")); } else { dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodslist"); dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist"); dwc_list.SetReadOnly(true); dwc_list.Reset(); if(queryString=="") if(queryString==L"") g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname)); else g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname,queryString)); @@ -792,68 +804,68 @@ if(dwc_list.GetRowCount() >= 1 ) { htmlctrl xs = GetControl("html_detail"); htmlctrl xs = GetControl(L"html_detail"); xs.SetContent(makeGoodscarHtml(1)); if(m_customer !="") if(m_customer !=L"") { string skuid = g_xdoc_shoppingcart.getData(0,"data/Item",1,"SKUID"); string customerItemNo = g_xdoc_shoppingcart.getData(0,"data/Item",1,"CustomerItemNo"); xstring skuid = g_xdoc_shoppingcart.getData(0,L"data/Item",1,L"SKUID"); xstring customerItemNo = g_xdoc_shoppingcart.getData(0,L"data/Item",1,L"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 = GetControl(L"html_detail"); xs.SetContent(L"<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"); if(agentFor !=L"goodslib")SwitchLayer(L"goodslibsheet",L"sheetframe"); if(name == L"个人库") ResetAgent(L"userlib"); else ResetAgent("goodslib"); ResetAgent(L"goodslib"); int hCursor = xutil::SetCursorWait(); if(name == "个人库" || name=="公司库") if(name == L"个人库" || name==L"公司库") { string no="N000005"; if(name=="个人库") no="U000005"; xstring no=L"N000005"; if(name==L"个人库") no=L"U000005"; if(hItem != hTopItem) { msxml::IXMLDOMElement e= tv_folder.GetItemData(hItem); no = e.getAttribute("guid"); KXMLDOMElement e= tv_folder.GetItemData(hItem); no = e.getAttribute(L"guid"); } dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no).GetXmlDoc()); dw_list = GetControl("dw_list"); dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no)); dw_list = GetControl(L"dw_list"); dw_list.Reset(); dw_list.SetReadOnly(true); xml x; if(queryString=="") if(queryString==L"") { if(name == "个人库") if(name == L"个人库") x = ProductLibraryView::GetMaintRoleList3(no); else x = ProductLibraryView::GetMaintList3(no); } else { if(name == "个人库") if(name == L"个人库") x = ProductLibraryView::GetMaintRoleList3(no,queryString); else { if(queryString !="") if(queryString !=L"") { if(no=="N000005") x = ProductLibraryView::GetMaintList3("",queryString,""); if(no==L"N000005") x = ProductLibraryView::GetMaintList3(L"",queryString,L""); else x = ProductLibraryView::GetMaintList3(no,queryString,""); x = ProductLibraryView::GetMaintList3(no,queryString,L""); }else x = ProductLibraryView::GetMaintList3(no); } @@ -864,23 +876,23 @@ if(dw_list.GetRowCount() >0) { xs = GetControl("html_detail"); xs = GetControl(L"html_detail"); xs.SetContent(makeHtml(1)); string id = g_xdoc_product.getData(0,"data/Item",1,"@guid"); xstring id = g_xdoc_product.getData(0,L"data/Item",1,L"@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 = GetControl(L"html_detail"); xs.SetContent(L"<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>"); } xs.Redraw(); xutil::RestoreCursor(hCursor); } } impStr = ""; impStr = L""; } int OnTreeSelChanged(ref TNotifyEvent evt,int p) @@ -890,15 +902,15 @@ return RetrieveItem(hItem); } int ExpandChildFolder(int hItem, msxml::IXMLDOMElement pElement) int ExpandChildFolder(int hItem, KXMLDOMElement pElement) { msxml::IXMLDOMNodeList nlist = pElement.SelectNodes("Item"); int len = nlist.length; KXMLDOMNodeList nlist = pElement.selectNodes(L"Item"); int len = nlist.length(); for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("cname"); string sImage = e.getAttribute("image"); 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(); int h= tv_folder.InsertChildItem(tv_folder.GetId(),hItem,name, trust(e as int),image); @@ -910,8 +922,8 @@ int InitialFolder() { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder']/initial"); KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement e = xframeElement.selectSingleNode(L"//xtree[@name='tv_folder']/initial"); ExpandChildFolder(0,e); return 1; } @@ -921,22 +933,22 @@ ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR); char ch; int row = hdr.row; string col = hdr.colname; xstring col = hdr.colname; string str = ""; if(dw_list.GetItemString(row, "SKUNo") !="") str =dw_list.GetItemString(row, "SKUNo"); xstring str = L""; if(dw_list.GetItemString(row, L"SKUNo") !=L"") str =dw_list.GetItemString(row, L"SKUNo"); else str =dw_list.GetItemString(row, "No"); str =dw_list.GetItemString(row, L"No"); if(dw_list.IsRowSelected(row) & 0xff) { //will unselect impStr = impStr.replace(" "+str,""); impStr = impStr.replace(L" "+str,L""); }else { //will select impStr += " " + str; impStr += L" " + str; } return 1; } @@ -946,28 +958,28 @@ ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR); char ch; int row = hdr.row; string col = hdr.colname; xstring 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"); xstring str = g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"SOLineID"); //xstring str1 = g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"EnquiryLineID"); xstring str1 = g_xdoc_shoppingcart.getData(0,L"data/Item",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, "No"); str =dwc_list.GetItemString(row, L"No"); if(dwc_list.IsRowSelected(row) & 0xff) { //will unselect impStr = impStr.replace(" "+str,""); impStr = impStr.replace(L" "+str,L""); }else { //will select impStr += " " + str; impStr += L" " + str; } return 1; } @@ -977,26 +989,26 @@ 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"); xstring ls_nos = L"ImportXml:"; xstring str = g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"SOLineID"); xstring str1 = g_xdoc_shoppingcart.getData(0,L"data/Item",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, "No"); 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 =""; impStr =L""; win32::SendMessage(hObject,0x401,ls_nos,0); SendMessage(hObject,0x401,ls_nos,0); xutil::RestoreCursor(hCursor); CloseWindow(); @@ -1006,66 +1018,67 @@ int OnAttachEvent() { //绑定工具条点击事件 AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent(L"WM_XCOMMAND", (FEvent)&ProductSelectWin::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(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("dwc_list","DWV_DOUBLECLICKED",OnDoubleClicked); AttachEvent(L"dwc_list",L"DWV_DOUBLECLICKED", (FEvent)&ProductSelectWin::OnDoubleClicked); AttachEvent("WM_COMMAND",OnCkbCLick); //checkbox打钩事件 AttachEvent("WM_COMMAND",OnCkbCLick2); //checkbox打钩事件 AttachEvent(L"WM_COMMAND", (FEvent)&ProductSelectWin::OnCkbCLick); //checkbox打钩事件 AttachEvent(L"WM_COMMAND", (FEvent)&ProductSelectWin::OnCkbCLick2); //checkbox打钩事件 AttachEvent("dw_list","DWV_CLICKED",OnDwClicked); AttachEvent("dwc_list","DWV_CLICKED",OnDwcClicked); AttachEvent(L"dw_list",L"DWV_CLICKED", (FEvent)&ProductSelectWin::OnDwClicked); AttachEvent(L"dwc_list",L"DWV_CLICKED", (FEvent)&ProductSelectWin::OnDwcClicked); return 1; } int onload() { agentFor = "goodslib"; impStr = ""; agentFor = L"goodslib"; impStr = L""; OnAttachEvent(); tv_folder = GetControl("tv_folder"); dw_list = GetControl("dw_list"); dwc_list = GetControl("dwc_list"); tv_folder = GetControl(L"tv_folder"); dw_list = GetControl(L"dw_list"); dwc_list = GetControl(L"dwc_list"); xaserverarg arg = GetParam(); CustomerID = ""; m_customer =""; CustomerID = L""; m_customer =L""; hObject = 0; if(arg) { hObject = arg.GetArgString("HWND").toInt(); CustomerID = arg.GetArgString("CustomerID"); hObject = arg.GetArgString(L"HWND").toInt(); CustomerID = arg.GetArgString(L"CustomerID"); } InitialFolder(); g_xdoc_product = new xdataset; g_xdoc_product.Init(); xbind bindproduct = new xbind; bindproduct.bindEx(dw_list, g_xdoc_product,""); bindproduct.bindEx(dw_list, g_xdoc_product,L""); g_xdoc_shoppingcart = new xdataset; g_xdoc_shoppingcart.Init(); xbind bindcart = new xbind; bindcart.bindEx(dwc_list, g_xdoc_shoppingcart,""); bindcart.bindEx(dwc_list, g_xdoc_shoppingcart,L""); dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3("").GetXmlDoc()); dw_list = GetControl("dw_list"); dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(L"")); dw_list = GetControl(L"dw_list"); dw_list.SetReadOnly(true); dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodslist"); dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist"); dwc_list.SetReadOnly(true); if(dw_list.GetRowCount()) { htmlctrl xs = GetControl("html_detail"); htmlctrl xs = GetControl(L"html_detail"); xs.SetContent(makeHtml(1)); } jrj/project/business/Quote/QuoteFilePurch.cpp
@@ -1,36 +1,51 @@ 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 QuoteFilePurch : public xframe #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) QuoteFilePurch : public xframe { public: xdwgrid dw_list; xnode m_agentNode; //Agent Condition public: QuoteFilePurch(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static QuoteFilePurch* CreateInstance(void* implPtr, void* hWnd) { QuoteFilePurch* pWin = new QuoteFilePurch(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { string xfNodeAgentArea = "agentarea"; xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); SetAgentNode (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); xstring s = agent.xml(); m_agentNode = SetAgentNode (anode,s); } } return 1; } //焦点激活处理函数 int OnSetFocus(ref TEvent evt,int param) int OnSetFocus(TEvent* evt, LPARAM param) { //重置工具条 //SetAgent(); @@ -41,21 +56,21 @@ { for(int row=1;row<=dw_list.GetRowCount();row++) { if(dw_list.GetItemString(row,"IsSend")=="1") if(dw_list.GetItemString(row,L"IsSend")==L"1") { if(dw_list.GetItemString(row,"ItemName")=="") if(dw_list.GetItemString(row,L"ItemName")==L"") { alert("第"+row.toString()+"行商品英文名称未输入,补全后再发送给业务员"); alert(L"第"+xstring(row)+L"行商品英文名称未输入,补全后再发送给业务员"); return 0; } if(dw_list.GetItemString(row,"ItemCName")=="") if(dw_list.GetItemString(row,L"ItemCName")==L"") { alert("第"+row.toString()+"行商品名称未输入,补全后再发送给业务员"); alert(L"第"+ xstring(row) +L"行商品名称未输入,补全后再发送给业务员"); return 0; } if(dw_list.GetItemString(row,"Package")=="") if(dw_list.GetItemString(row,L"Package")==L"") { alert("第"+row.toString()+"行商品包装未输入,补全后再发送给业务员"); alert(L"第"+ xstring(row) +L"行商品包装未输入,补全后再发送给业务员"); return 0; } } @@ -68,14 +83,14 @@ dw_list.AcceptText(); if(OnValid()==0) return 1; xml x = new xml; x.setNativePointer(xml::CreateInstance()); dw_list.DwUpdateAllToEx(x.GetXmlDoc()); if(GetParam()) xml x ; dw_list.DwUpdateAllToEx(x); if(GetWinParam()) { xaserverarg arg = GetParam(); arg.AddArg("process","ok"); arg.AddArg("value",x.GetXml()); xaserverarg arg = GetArg(); arg.AddArg(L"process",L"ok"); arg.AddArg(L"value",x.xml()); } CloseWindow(); return 1; @@ -91,7 +106,7 @@ { for(int row = 1; row <= dw_list.GetRowCount(); row++) { dw_list.SetItemString(row,"IsSend","1"); dw_list.SetItemString(row,L"IsSend",L"1"); } dw_list.Redraw(); return 1; @@ -101,48 +116,49 @@ { for(int row = 1; row <= dw_list.GetRowCount(); row++) { dw_list.SetItemString(row,"IsSend","0"); dw_list.SetItemString(row,L"IsSend",L"0"); } dw_list.Redraw(); return 1; } //命令发布函数 int OnCmdDispatch(string comdid) int OnCmdDispatch(xstring comdid) { if(comdid=="xmOK") return OnOK(); else if(comdid=="xmCancel") return OnCancel(); else if(comdid=="xmSelectAll") return SelectAll(); else if(comdid=="xmUnSelectAll") return UnSelectAll(); if(comdid==L"xmOK") return OnOK(); else if(comdid==L"xmCancel") return OnCancel(); else if(comdid==L"xmSelectAll") return SelectAll(); else if(comdid==L"xmUnSelectAll") return UnSelectAll(); return 0; } //命令处理事件 int OnXCommand(ref TXCommandEvent evt,int param) int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt.pStrID); return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //绑定工具条点击事件 AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent(L"WM_XCOMMAND", (FEvent)&QuoteFilePurch::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent(L"WM_SETFOCUS", (FEvent)&QuoteFilePurch::OnSetFocus); return 1; } /* int OnRetrieve() { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("xxx","xxx"); if (getUrl("",arg.GetString(),x)!=1) xml x ; xaserverarg arg ; arg.AddArg(L"xxx",L"xxx"); if (getUrl(L"",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); trace(x.text()); return -1; }else { @@ -155,16 +171,17 @@ int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Quote3/template/Quote/QuoteFileItem"); SetArg(); dw_list = GetControl(L"dw_list"); dw_list.openUrl(L"/sale/view/Quote3/template/Quote/QuoteFileItem"); if(GetParam()) if(GetWinParam()) { xaserverarg arg = GetParam(); string val = arg.GetArgString("value"); xml x = new xml; x.setNativePointer(xml::CreateInstance()); x.LoadXml(val); xaserverarg arg = GetArg(); xstring val = arg.GetArgString(L"value"); xml x ; x.loadXML(val); dw_list.Retrieve(x); } OnAttachEvent(); @@ -178,5 +195,4 @@ return 1; } }; ] }; jrj/project/business/Quote/QuoteFilePurched.cpp
@@ -1,36 +1,51 @@ 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 QuoteFilePurched : public xframe #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) QuoteFilePurched : public xframe { public: xdwgrid dw_list; xnode m_agentNode; //Agent Condition public: QuoteFilePurched(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static QuoteFilePurched* CreateInstance(void* implPtr, void* hWnd) { QuoteFilePurched* pWin = new QuoteFilePurched(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { string xfNodeAgentArea = "agentarea"; xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); SetAgentNode (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); xstring s = agent.xml(); m_agentNode = SetAgentNode (anode,s); } } return 1; } //焦点激活处理函数 int OnSetFocus(ref TEvent evt,int param) int OnSetFocus(TEvent* evt, LPARAM param) { //重置工具条 //SetAgent(); @@ -42,21 +57,21 @@ /* for(int row=1;row<=dw_list.GetRowCount();row++) { if(dw_list.GetItemString(row,"IsSend")=="1") if(dw_list.GetItemString(row,L"IsSend")==L"1") { if(dw_list.GetItemString(row,"ItemName")=="") if(dw_list.GetItemString(row,L"ItemName")==L"") { alert("第"+row.toString()+"行商品英文名称未输入,补全后再发送给业务员"); alert(L"第"+row.toString()+L"行商品英文名称未输入,补全后再发送给业务员"); return 0; } if(dw_list.GetItemString(row,"ItemCName")=="") if(dw_list.GetItemString(row,L"ItemCName")==L"") { alert("第"+row.toString()+"行商品名称未输入,补全后再发送给业务员"); alert(L"第"+row.toString()+L"行商品名称未输入,补全后再发送给业务员"); return 0; } if(dw_list.GetItemString(row,"Package")=="") if(dw_list.GetItemString(row,L"Package")==L"") { alert("第"+row.toString()+"行商品包装未输入,补全后再发送给业务员"); alert(L"第"+row.toString()+L"行商品包装未输入,补全后再发送给业务员"); return 0; } } @@ -69,14 +84,14 @@ { if(OnValid()==0) return 1; xml x = new xml; x.setNativePointer(xml::CreateInstance()); dw_list.DwUpdateAllToEx(x.GetXmlDoc()); if(GetParam()) xml x ; dw_list.DwUpdateAllToEx(x); if(GetWinParam()) { xaserverarg arg = GetParam(); arg.AddArg("process","ok"); arg.AddArg("value",x.GetXml()); xaserverarg arg = GetArg(); arg.AddArg(L"process",L"ok"); arg.AddArg(L"value",x.xml()); } CloseWindow(); return 1; @@ -92,7 +107,7 @@ { for(int row = 1; row <= dw_list.GetRowCount(); row++) { dw_list.SetItemString(row,"IsSend","1"); dw_list.SetItemString(row,L"IsSend",L"1"); } dw_list.Redraw(); return 1; @@ -102,48 +117,49 @@ { for(int row = 1; row <= dw_list.GetRowCount(); row++) { dw_list.SetItemString(row,"IsSend","0"); dw_list.SetItemString(row,L"IsSend",L"0"); } dw_list.Redraw(); return 1; } //命令发布函数 int OnCmdDispatch(string comdid) int OnCmdDispatch(xstring comdid) { if(comdid=="xmOK") return OnOK(); else if(comdid=="xmCancel") return OnCancel(); else if(comdid=="xmSelectAll") return SelectAll(); else if(comdid=="xmUnSelectAll") return UnSelectAll(); if(comdid==L"xmOK") return OnOK(); else if(comdid==L"xmCancel") return OnCancel(); else if(comdid==L"xmSelectAll") return SelectAll(); else if(comdid==L"xmUnSelectAll") return UnSelectAll(); return 0; } //命令处理事件 int OnXCommand(ref TXCommandEvent evt,int param) int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt.pStrID); return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //绑定工具条点击事件 AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent(L"WM_XCOMMAND", (FEvent)&QuoteFilePurched::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent(L"WM_SETFOCUS", (FEvent)&QuoteFilePurched::OnSetFocus); return 1; } /* int OnRetrieve() { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("xxx","xxx"); if (getUrl("",arg.GetString(),x)!=1) xml x ; xaserverarg arg ; arg.AddArg(L"xxx",L"xxx"); if (getUrl(L"",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); trace(x.text()); return -1; }else { @@ -156,16 +172,17 @@ int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Quote3/template/Quote/QuoteFilePurchedItem"); SetArg(); dw_list = GetControl(L"dw_list"); dw_list.openUrl(L"/sale/view/Quote3/template/Quote/QuoteFilePurchedItem"); if(GetParam()) if(GetWinParam()) { xaserverarg arg = GetParam(); string val = arg.GetArgString("value"); xml x = new xml; x.setNativePointer(xml::CreateInstance()); x.LoadXml(val); xaserverarg arg = GetArg(); xstring val = arg.GetArgString(L"value"); xml x ; x.loadXML(val); dw_list.Retrieve(x); } OnAttachEvent(); @@ -179,5 +196,4 @@ return 1; } }; ] }; jrj/project/business/Quote/QuoteSupplierItem.cpp
@@ -1,37 +1,51 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "supplier.view.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 QuoteSupplierItem : public xframe #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) QuoteSupplierItem : public xframe { public: xdwgrid dw_list; xnode m_agentNode; //Agent Condition public: QuoteSupplierItem(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static QuoteSupplierItem* CreateInstance(void* implPtr, void* hWnd) { QuoteSupplierItem* pWin = new QuoteSupplierItem(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { string xfNodeAgentArea = "agentarea"; xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); SetAgentNode (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); xstring s = agent.xml(); m_agentNode = SetAgentNode (anode,s); } } return 1; } //焦点激活处理函数 int OnSetFocus(ref TEvent evt,int param) int OnSetFocus(TEvent* evt, LPARAM param) { //重置工具条 //SetAgent(); @@ -51,19 +65,19 @@ } //命令发布函数 int OnCmdDispatch(string comdid) int OnCmdDispatch(xstring comdid) { if(comdid=="xmCancel") return OnCancel(); else if(comdid=="xmOK") return OnOk(); else if(comdid=="xmDelete") return OnDelete(); if(comdid==L"xmCancel") return OnCancel(); else if(comdid==L"xmOK") return OnOk(); else if(comdid==L"xmDelete") return OnDelete(); return 0; } //命令处理事件 int OnXCommand(ref TXCommandEvent evt,int param) int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt.pStrID); return OnCmdDispatch(evt->xcommand.pStrID); } int OnDelete() @@ -76,30 +90,29 @@ { dw_list.AcceptText(); xml xitem = new xml; xitem.setNativePointer(xml::CreateInstance()); msxml::IXMLDOMDocument xitemdoc = xitem.GetXmlDoc(); xml xitem ; KXMLDOMDocument xitemdoc = xitem; dw_list.DwUpdateAllToEx(xitemdoc); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("content",xitem.GetXml()); xaserverarg arg ; //alert(xitem.GetXml()); arg.AddArg(L"content",xitem.xml()); //alert(xitem.xml()); //return 1; if(url::get("/sale/data/SupplierV3/entity/update/quotemysupplier", arg.GetString(),xitem)!=1) if(xurl::get(L"/sale/data/SupplierV3/entity/update/quotemysupplier", arg.GetString(),xitem)!=1) { string error1 = xitem.GetXmlDoc().text; xstring error1 = xitem.text(); return 1; }else { string str = xitem.GetXmlDoc().documentElement.getAttribute("text"); if(str == "false") xstring str = xitem.documentElement().getAttribute(L"text"); if(str == L"false") { alert("保存失败!"); alert(L"保存失败!"); return -1; } alert("保存成功!"); alert(L"保存成功!"); dw_list.ResetUpdateStatus(); } @@ -109,33 +122,34 @@ int OnAttachEvent() { //绑定工具条点击事件 AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent(L"WM_XCOMMAND", (FEvent)&QuoteSupplierItem::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent(L"WM_SETFOCUS", (FEvent)&QuoteSupplierItem::OnSetFocus); return 1; } int OnRetrieve() { if(GetParam()) if(GetWinParam()) { xaserverarg arg = GetParam(); string val = arg.GetArgString("value"); xml x = new xml; x.setNativePointer(x.CreateInstance()); x.LoadXml(val); xaserverarg arg = GetArg(); xstring val = arg.GetArgString(L"value"); xml x ; x.loadXML(val); dw_list.Retrieve(x); dw_list.Redraw(); string sPartyNo = publiccode::GetIdentityNo("Party2"); string No =""; string Name =""; string NameEx =""; xstring sPartyNo = publiccode::GetIdentityNo(L"Party2"); xstring No =L""; xstring Name =L""; xstring NameEx =L""; /*for(int i=0; i <=dw_list.GetRowCount() ;i++) { Name=dw_list.GetItemString(i,"Name"); if(Name !="") Name=dw_list.GetItemString(i,L"Name"); if(Name !=L"") { if(NameEx =="") if(NameEx ==L"") { NameEx = Name; } @@ -153,15 +167,15 @@ if(row==1) No = sPartyNo; else No = ("0000"+(No.toInt()+1).toString()).right(4); dw_list.SetItemString(row,"PartyNo",No+"N"); dw_list.SetItemString(row,"Type","12"); dw_list.SetItemString(row,"IdentifyAddressFlag","Y"); dw_list.SetItemString(row,"PrimaryFlag","Y"); No = (L"0000"+xstring((No.toInt()+1))).right(4); dw_list.SetItemString(row,L"PartyNo",No+L"N"); dw_list.SetItemString(row,L"Type",L"12"); dw_list.SetItemString(row,L"IdentifyAddressFlag",L"Y"); dw_list.SetItemString(row,L"PrimaryFlag",L"Y"); string id = ViewObject::GetGuid(); msxml::IXMLDOMElement ele = dw_list.GetRowElement(row); ele.SetAttribute("guid",id); xstring id = ViewObject::GetGuid(); KXMLDOMElement ele = dw_list.GetRowElement(row); ele.setAttribute(L"guid",id); //dw_list.SetGuid(row,id); } } @@ -170,8 +184,9 @@ int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Quote3/template/Quote/QuoteSupplierItem"); SetArg(); dw_list = GetControl(L"dw_list"); dw_list.openUrl(L"/sale/view/Quote3/template/Quote/QuoteSupplierItem"); OnAttachEvent(); OnRetrieve(); @@ -185,5 +200,4 @@ return 1; } }; ] }; jrj/project/business/Quote/TONewSelectDlg.cpp
@@ -1,9 +1,16 @@ 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 xxx : public xframe #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) TOSelectDlg : public xframe { //xdwgrid dw_list; jrj/project/business/Quote/TOSelectDlg.cpp
@@ -1,40 +1,54 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.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 TOSelectDlg : public frame #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) TOSelectDlg : public xframe { public: //xdwgrid dw_list; xlistview lv_view; xlistview lv_view1; int columnCount; xnode m_agentNode; //Agent Condition public: TOSelectDlg(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static TOSelectDlg* CreateInstance(void* implPtr, void* hWnd) { TOSelectDlg* pWin = new TOSelectDlg(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { string xfNodeAgentArea = "agentarea"; xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); SetAgentNode (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); xstring s = agent.xml(); m_agentNode = SetAgentNode (anode,s); } } return 1; } //焦点激活处理函数 int OnSetFocus(ref TEvent evt,int param) int OnSetFocus(TEvent* evt, LPARAM param) { //重置工具条 SetAgent(); @@ -42,26 +56,26 @@ } //命令发布函数 int OnCmdDispatch(string comdid) int OnCmdDispatch(xstring comdid) { if(comdid=="xmCancel") if(comdid==L"xmCancel") { CloseWindow(); return 1; } else if(comdid=="xmOK") else if(comdid==L"xmOK") { int LVNI_FOCUSED = 0x0001; int nItem =xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED); int nItem =lv_view.GetNextItem( -1, LVNI_FOCUSED); if(nItem < 0) return 1; if(GetParam()) if(GetWinParam()) { msxml::IXMLDOMElement ele = GetItemData(lv_view, nItem); xaserverarg arg = GetParam(); arg.AddArg("action","new"); arg.AddArg("ID",ele.getAttribute("guid")); arg.AddArg("id",ele.getAttribute("guid")); KXMLDOMElement ele = GetItemData(lv_view, nItem); xaserverarg arg = GetArg(); arg.AddArg(L"action",L"new"); arg.AddArg(L"ID",ele.getAttribute(L"guid")); arg.AddArg(L"id",ele.getAttribute(L"guid")); } //重置工具条 CloseWindow(); @@ -70,7 +84,7 @@ return 0; } msxml::IXMLDOMElement GetItemData(xlistview lv_item, int hItem) KXMLDOMElement GetItemData(xlistview lv_item, int hItem) { int LVIF_PARAM = 0x0004; @@ -79,12 +93,12 @@ lvItem.iSubItem = 0; lvItem.mask = LVIF_PARAM ; xlistview::GetItem(lv_item.GetId(), lvItem); msxml::IXMLDOMElement ele = trust(lvItem.lParam as msxml::IXMLDOMElement); lv_view.GetItem(lv_item.GetId(), lvItem); KXMLDOMElement ele = trust(lvItem.lParam as KXMLDOMElement); return ele; } int OnListViewDoubleClicked(ref TEvent evt,int param) int OnListViewDoubleClicked(TEvent* evt, LPARAM param) { int LVNI_ALL = 0x0000; int LVNI_FOCUSED = 0x0001; @@ -92,23 +106,23 @@ int LVNI_CUT = 0x0004; int LVNI_DROPHILITED = 0x0008; int nItem =xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED); int nItem =lv_view.GetNextItem( -1, LVNI_FOCUSED); if(nItem < 0) return 1; if(GetParam()) if(GetWinParam()) { msxml::IXMLDOMElement ele = GetItemData(lv_view, nItem); xaserverarg arg = GetParam(); arg.AddArg("action","new"); arg.AddArg("ID",ele.getAttribute("guid")); arg.AddArg("id",ele.getAttribute("guid")); KXMLDOMElement ele = GetItemData(lv_view, nItem); xaserverarg arg = GetArg(); arg.AddArg(L"action",L"new"); arg.AddArg(L"ID",ele.getAttribute(L"guid")); arg.AddArg(L"id",ele.getAttribute(L"guid")); } //重置工具条 CloseWindow(); return 1; } int OnListViewDoubleClicked1(ref TEvent evt,int param) int OnListViewDoubleClicked1(TEvent* evt, LPARAM param) { int LVNI_ALL = 0x0000; int LVNI_FOCUSED = 0x0001; @@ -116,17 +130,17 @@ int LVNI_CUT = 0x0004; int LVNI_DROPHILITED = 0x0008; int nItem =xlistview::GetNextItem(lv_view1.GetId(), -1, LVNI_FOCUSED); int nItem =lv_view.GetNextItem(lv_view1.GetId(), -1, LVNI_FOCUSED); if(nItem < 0) return 1; if(GetParam()) if(GetWinParam()) { msxml::IXMLDOMElement ele = GetItemData(lv_view1, nItem); xaserverarg arg = GetParam(); arg.AddArg("action","open"); arg.AddArg("id",ele.getAttribute("id")); arg.AddArg("ID",ele.getAttribute("id")); arg.AddArg("ItemID",ele.getAttribute("itemid")); KXMLDOMElement ele = GetItemData(lv_view1, nItem); xaserverarg arg = GetArg(); arg.AddArg(L"action",L"open"); arg.AddArg(L"id",ele.getAttribute(L"id")); arg.AddArg(L"ID",ele.getAttribute(L"id")); arg.AddArg(L"ItemID",ele.getAttribute(L"itemid")); } //重置工具条 //OnDocumentOpen(); @@ -134,96 +148,97 @@ return 1; } int SetListViewHeaderColumn(string Url,xlistview lv_item) int SetListViewHeaderColumn(xstring Url,xlistview lv_item) { const int LVCFMT_LEFT = 0; for(int i=0;i<3;i++) lv_item.DeleteColumn(lv_item.GetId(),1); //if(Url=="") //if(Url==L"") //{ lv_item.InsertColumn(lv_item.GetId(),0,"创建日期",LVCFMT_LEFT,80,0); lv_item.InsertColumn(lv_item.GetId(),0,"创建人员",LVCFMT_LEFT,80,0); lv_item.InsertColumn(lv_item.GetId(),0,"名称",0,120,0); lv_item.InsertColumn(lv_item.GetId(),0,L"创建日期",LVCFMT_LEFT,80,0); lv_item.InsertColumn(lv_item.GetId(),0,L"创建人员",LVCFMT_LEFT,80,0); lv_item.InsertColumn(lv_item.GetId(),0,L"名称",0,120,0); columnCount = 3; //} return 1; } int SetListViewHeaderColumnItem(string Url,xlistview lv_item) int SetListViewHeaderColumnItem(xstring Url,xlistview lv_item) { const int LVCFMT_LEFT = 0; for(int i=0;i<6;i++) lv_item.DeleteColumn(lv_item.GetId(),1); //if(Url=="") //if(Url==L"") //{ lv_item.InsertColumn(lv_item.GetId(),0,"最后修改日期",LVCFMT_LEFT,80,0); lv_item.InsertColumn(lv_item.GetId(),0,"创建日期",LVCFMT_LEFT,80,0); lv_item.InsertColumn(lv_item.GetId(),0,"创建人员",LVCFMT_LEFT,80,0); lv_item.InsertColumn(lv_item.GetId(),0,"״̬",0,70,0); lv_item.InsertColumn(lv_item.GetId(),0,"主题",0,120,0); lv_item.InsertColumn(lv_item.GetId(),0,"编号",0,70,0); lv_item.InsertColumn(lv_item.GetId(),0,"事务",0,60,0); lv_item.InsertColumn(lv_item.GetId(),0,L"最后修改日期",LVCFMT_LEFT,80,0); lv_item.InsertColumn(lv_item.GetId(),0,L"创建日期",LVCFMT_LEFT,80,0); lv_item.InsertColumn(lv_item.GetId(),0,L"创建人员",LVCFMT_LEFT,80,0); lv_item.InsertColumn(lv_item.GetId(),0,L"״̬",0,70,0); lv_item.InsertColumn(lv_item.GetId(),0,L"主题",0,120,0); lv_item.InsertColumn(lv_item.GetId(),0,L"编号",0,70,0); lv_item.InsertColumn(lv_item.GetId(),0,L"事务",0,60,0); columnCount = 6; //} return 1; } //命令处理事件 int OnXCommand(ref TXCommandEvent evt,int param) int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt.pStrID); return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //绑定工具条点击事件 AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent(L"WM_XCOMMAND", (FEvent)&TOSelectDlg::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent(L"WM_SETFOCUS", (FEvent)&TOSelectDlg::OnSetFocus); return 1; } int RetrieveEx() { xml x = ViewObject::RetrieveData("/sale/data/TO/business/document/list"); xml x = ViewObject::RetrieveData(L"/sale/data/TO/business/document/list"); if(x) { msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlist=ele.SelectNodes("*"); int s=nlist.length; KXMLDOMElement ele = x.documentElement(); KXMLDOMNodeList nlist=ele.selectNodes(L"*"); int s=nlist.length(); if (s>0) { for (int i=0; i<s; i++) { msxml::IXMLDOMElement e=nlist.item(i); string name=e.getAttribute("caption"); int nItem = xlistview::InsertItemEx(lv_view1.GetId(),0,name,23,cast(e as int)); KXMLDOMElement e=nlist.item(i); xstring name=e.getAttribute(L"caption"); int nItem = lv_view.InsertItemEx(0,name,23,e ); xlistview::SetItemText(lv_view1.GetId(),nItem,2,e.getAttribute("subject")); xlistview::SetItemText(lv_view1.GetId(),nItem,4,e.getAttribute("CreatorID")); xlistview::SetItemText(lv_view1.GetId(),nItem,5,e.getAttribute("CreateDate")); xlistview::SetItemText(lv_view1.GetId(),nItem,6,e.getAttribute("LastUpdateDate")); lv_view.SetItemText(nItem,2,e.getAttribute(L"subject")); lv_view.SetItemText(nItem,4,e.getAttribute(L"CreatorID")); lv_view.SetItemText(nItem,5,e.getAttribute(L"CreateDate")); lv_view.SetItemText(nItem,6,e.getAttribute(L"LastUpdateDate")); } } } return 1; } int Retrieve(string src) int Retrieve(xstring src) { xml x = ViewObject::RetrieveData("/sale/data/TO/template/list", "role",""); xml x = ViewObject::RetrieveData(L"/sale/data/TO/template/list", L"role",L""); if(x) { msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlist=ele.SelectNodes("*"); int s=nlist.length; KXMLDOMElement ele = x.documentElement(); KXMLDOMNodeList nlist=ele.selectNodes(L"*"); int s=nlist.length(); if (s>0) { for (int i=0; i<s; i++) { msxml::IXMLDOMElement e=nlist.item(i); string name=e.getAttribute("caption"); int nItem = xlistview::InsertItemEx(lv_view.GetId(),0,name,23,cast(e as int)); KXMLDOMElement e=nlist.item(i); xstring name=e.getAttribute(L"caption"); int nItem = lv_view.InsertItemEx(0,name,23,e); xlistview::SetItemText(lv_view.GetId(),nItem,1,e.getAttribute("Creator")); xlistview::SetItemText(lv_view.GetId(),nItem,2,e.getAttribute("CreateDate")); lv_view.SetItemText(nItem,1,e.getAttribute(L"Creator")); lv_view.SetItemText(nItem,2,e.getAttribute(L"CreateDate")); } } } @@ -232,24 +247,24 @@ int onload() { lv_view = GetControl("lv_view"); xlistview::SetdwStyle(lv_view.GetId(),0); SetArg(); lv_view = GetControl(L"lv_view"); lv_view.SetdwStyle(0); lv_view1 = GetControl("lv_view1"); //xlistview::SetdwStyle(lv_view1.GetId(),0); lv_view1 = GetControl(L"lv_view1"); //lv_view.SetdwStyle(lv_view1.GetId(),0); columnCount = 0; SetListViewHeaderColumn("",lv_view); SetListViewHeaderColumnItem("",lv_view1); AttachEvent("lv_view", "NM_DBLCLK",OnListViewDoubleClicked); AttachEvent("lv_view1", "NM_DBLCLK",OnListViewDoubleClicked1); SetListViewHeaderColumn(L"",lv_view); SetListViewHeaderColumnItem(L"",lv_view1); AttachEvent(L"lv_view", L"NM_DBLCLK", (FEvent)&TOSelectDlg::OnListViewDoubleClicked); AttachEvent(L"lv_view1", L"NM_DBLCLK", (FEvent)&TOSelectDlg::OnListViewDoubleClicked1); OnAttachEvent(); Retrieve(""); Retrieve(L""); RetrieveEx(); return 1; } }; ] }; jrj/project/business/Quote/XmShare.Quote.v3.cpp
@@ -1,38 +1,52 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "saleorder.view.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 XmShareQuotev3 : public xframe #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) XmShareQuotev3 : public xframe { public: xdwgrid dw_list; xdwtable dw_paper; xnode m_agentNode; //Agent Condition public: XmShareQuotev3(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static XmShareQuotev3* CreateInstance(void* implPtr, void* hWnd) { XmShareQuotev3* pWin = new XmShareQuotev3(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { string xfNodeAgentArea = "agentarea"; xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); SetAgentNode (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); xstring s = agent.xml(); m_agentNode = SetAgentNode (anode,s); } } return 1; } //焦点激活处理函数 int OnSetFocus(ref TEvent evt,int param) int OnSetFocus(TEvent* evt, LPARAM param) { //重置工具条 //SetAgent(); @@ -40,36 +54,36 @@ } int OnSave() { xml x = new xml; x.setNativePointer(x.CreateInstance()); xml x ; dw_list.AcceptText(); dw_list.DwUpdateAllToEx(x.GetXmlDoc()); dw_list.DwUpdateAllToEx(x); string val = x.GetXml(); xstring val = x.xml(); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("content",val); xaserverarg arg ; arg.AddArg(L"content",val); //trace(val); if(url::get("/sale/data/UserGroup/update/entity", arg.GetString(),x)!=1) if(xurl::get(L"/sale/data/UserGroup/update/entity", arg.GetString(),x)!=1) { string error = x.GetXmlDoc().text; xstring error = x.text(); //alert(error); return 1; }else { string str = x.GetXmlDoc().documentElement.getAttribute("text"); if(str == "true") xstring str = x.documentElement().getAttribute(L"text"); if(str == L"true") { dw_list.ResetUpdateStatus(); alert("保存成功!"); alert(L"保存成功!"); CloseWindow(); }else { alert("保存失败!"); alert(L"保存失败!"); } //alert(x.GetXml()); //alert(x.xml()); } return 1; } @@ -78,41 +92,41 @@ { int MB_OKCANCEL = 1; int IDOK = 1; int ret = win32::MessageBox(GetHWND(),"确认删除?","提示",MB_OKCANCEL); int ret = MessageBox(GetHWND(),L"确认删除?",L"提示",MB_OKCANCEL); if(ret == IDOK) { msxml::IXMLDOMElement ele = dw_list.GetRowElement(dw_list.GetRow()); string ID = ele.getAttribute("guid"); KXMLDOMElement ele = dw_list.GetRowElement(dw_list.GetRow()); xstring ID = ele.getAttribute(L"guid"); xml x = ViewObject::RetrieveData("/sale/data/Quote3/DeleteXmShare","ID",ID); string status = x.GetXml(); if(status.find("ok") == 1) xml x = ViewObject::RetrieveData(L"/sale/data/Quote3/DeleteXmShare",L"ID",ID); xstring status = x.xml(); if(status.find(L"ok") == 1) { alert("删除成功"); alert(L"删除成功"); dw_list.DeleteRow(dw_list.GetRow()); }else { alert("删除失败"); alert(L"删除失败"); } } return 0; } //命令发布函数 int OnCmdDispatch(string comdid) int OnCmdDispatch(xstring comdid) { if(comdid=="xmDelete") if(comdid==L"xmDelete") { OnDelete(); return 1; } else if(comdid=="xmSave") else if(comdid==L"xmSave") { OnSave(); return 1; } else if(comdid=="xmClose") else if(comdid==L"xmClose") { CloseWindow(); return 1; @@ -122,30 +136,31 @@ } //命令处理事件 int OnXCommand(ref TXCommandEvent evt,int param) int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt.pStrID); return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //绑定工具条点击事件 AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent(L"WM_XCOMMAND", (FEvent)&XmShareQuotev3::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent(L"WM_SETFOCUS", (FEvent)&XmShareQuotev3::OnSetFocus); return 1; } int OnRetrieve() { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = GetParam(); xml x ; xaserverarg arg = GetArg(); if(arg) { string UserID = arg.GetArgString("UserID"); xstring UserID = arg.GetArgString(L"UserID"); //alert(UserID); x = ViewObject::RetrieveData("/sale/data/Quote3/XmShare","UserID",UserID); x = ViewObject::RetrieveData(L"/sale/data/Quote3/XmShare",L"UserID",UserID); if(x)dw_list.Retrieve(x); dw_list.SetReadOnly(true); dw_list.Redraw(); @@ -156,9 +171,10 @@ int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Quote3/template/XmShare"); dw_list.SetColumnState("EntityUserGroupID",false); SetArg(); dw_list = GetControl(L"dw_list"); dw_list.openUrl(L"/sale/view/Quote3/template/XmShare"); dw_list.SetColumnState(L"EntityUserGroupID",false); OnRetrieve(); @@ -173,5 +189,4 @@ //SetAgent(); return 1; } }; ] }; jrj/project/business/Quote/trade.document.saveas.cpp
@@ -1,16 +1,31 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class DocFileSaveDlg: public xframe #include <wobject/xstring.hpp> #include <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include <wobject/xdouble.hpp> #include <xcontrol/xlayersheet.hpp> #include <xcontrol/xdatetimepick.hpp> #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) DocFileSaveDlg: public xframe { public: xlistview lv_view; xnode m_agentNode; //Agent Condition int columnCount ; public: DocFileSaveDlg(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static DocFileSaveDlg* CreateInstance(void* implPtr, void* hWnd) { DocFileSaveDlg* pWin = new DocFileSaveDlg(implPtr, (HWND)hWnd); return pWin; } //焦点激活处理函数 int OnSetFocus(ref TEvent evt,int param) int OnSetFocus(TEvent* evt, LPARAM param) { //重置工具条 return 1; @@ -18,20 +33,20 @@ //命令发布函数 int OnCmdDispatch(string comdid) int OnCmdDispatch(xstring comdid) { if(comdid=="xmOk") if(comdid==L"xmOk") { string filename = GetControl("filename").GetText(); if(filename=="") return 1; xaserverarg arg = GetParam(); xstring filename =xcontrol(GetControl(L"filename")).GetText(); if(filename==L"") return 1; xaserverarg arg = GetArg(); if(!arg) return 1; arg.AddArg("result","ok"); arg.AddArg("filename",filename); arg.AddArg(L"result",L"ok"); arg.AddArg(L"filename",filename); CloseWindow(); return 1; } else if(comdid=="xmCancel") else if(comdid==L"xmCancel") { CloseWindow(); return 1; @@ -40,49 +55,50 @@ } //命令处理事件 int OnXCommand(ref TXCommandEvent evt,int param) int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt.pStrID); return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //绑定工具条点击事件 AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent(L"WM_XCOMMAND", (FEvent)&DocFileSaveDlg::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent(L"WM_SETFOCUS", (FEvent)&DocFileSaveDlg::OnSetFocus); return 1; } int SetListViewHeaderColumn(string Url) int SetListViewHeaderColumn(xstring Url) { const int LVCFMT_LEFT = 0; for(int i=0;i<3;i++) lv_view.DeleteColumn(lv_view.GetId(),1); lv_view.InsertColumn(lv_view.GetId(),0,"创建人员",LVCFMT_LEFT,80,0); lv_view.InsertColumn(lv_view.GetId(),0,"创建日期",LVCFMT_LEFT,80,0); lv_view.InsertColumn(lv_view.GetId(),0,"名称",0,120,0); for(int i=0;i<3;i++) lv_view.DeleteColumn(1); lv_view.InsertColumn(0,L"创建人员",LVCFMT_LEFT,80,0); lv_view.InsertColumn(0,L"创建日期",LVCFMT_LEFT,80,0); lv_view.InsertColumn(0,L"名称",0,120,0); columnCount = 3; return 1; } int Retrieve(string src) int Retrieve(xstring src) { xml x = ViewObject::RetrieveData("/sale/data/TDocument3/folder/list", "src",src); xml x = ViewObject::RetrieveData(L"/sale/data/TDocument3/folder/list", L"src",src); if(x) { msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlist=ele.SelectNodes("*"); int s=nlist.length; KXMLDOMElement ele = x.documentElement(); KXMLDOMNodeList nlist=ele.selectNodes(L"*"); int s=nlist.length(); if (s>0) { for (int i=0; i<s; i++) { msxml::IXMLDOMElement e=nlist.item(i); string name=e.getAttribute("caption"); int nItem = xlistview::InsertItemEx(lv_view.GetId(),0,name,23,cast(e as int)); KXMLDOMElement e=nlist.item(i); xstring name=e.getAttribute(L"caption"); int nItem = lv_view.InsertItemEx(0,name,23,e); xlistview::SetItemText(lv_view.GetId(),nItem,1,e.getAttribute("Creator")); xlistview::SetItemText(lv_view.GetId(),nItem,2,e.getAttribute("CreateDate")); lv_view.SetItemText(nItem,1,e.getAttribute(L"Creator")); lv_view.SetItemText(nItem,2,e.getAttribute(L"CreateDate")); } } } @@ -91,17 +107,18 @@ int onload() { lv_view = GetControl("lv_view"); //xlistview::SetdwStyle(lv_view.GetId(),0); SetArg(); lv_view = GetControl(L"lv_view"); //lv_view.SetdwStyle(0); columnCount = 0; SetListViewHeaderColumn(""); SetListViewHeaderColumn(L""); OnAttachEvent(); if(GetParam()) if(GetWinParam()) { xaserverarg arg = GetParam(); string src = arg.GetArgString("src"); xaserverarg arg = GetArg(); xstring src = arg.GetArgString(L"src"); Retrieve(src); } @@ -114,5 +131,4 @@ return 1; } }; ] }; jrj/project/business/Quote/trade.document.selectdlg.cpp
@@ -1,45 +1,60 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class DocSelectDlg: public xframe #include <wobject/xstring.hpp> #include <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include <wobject/xdouble.hpp> #include <xcontrol/xlayersheet.hpp> #include <xcontrol/xdatetimepick.hpp> #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) DocSelectDlg: public xframe { public: //xdwgrid dw_list; xlistview lv_view; xnode m_agentNode; //Agent Condition int columnCount ; public: DocSelectDlg(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static DocSelectDlg* CreateInstance(void* implPtr, void* hWnd) { DocSelectDlg* pWin = new DocSelectDlg(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { string xfNodeAgentArea = "agentarea"; xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); SetAgentNode (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); xstring s = agent.xml(); m_agentNode = SetAgentNode (anode,s); } } return 1; } //焦点激活处理函数 int OnSetFocus(ref TEvent evt,int param) int OnSetFocus(TEvent* evt, LPARAM param) { //重置工具条 //SetAgent(); return 1; } int OnListViewDoubleClicked(ref TEvent evt,int param) int OnListViewDoubleClicked(TEvent* evt, LPARAM param) { //重置工具条 //SetAgent(); @@ -58,7 +73,7 @@ int LVNI_CUT = 0x0004; int LVNI_DROPHILITED = 0x0008; int nItem =xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED); int nItem =lv_view.GetNextItem( -1, LVNI_FOCUSED); if(nItem < 0) return 1; int LVIF_PARAM = 0x0004; @@ -68,70 +83,70 @@ lvItem.iSubItem = 0; lvItem.mask = LVIF_PARAM ; xlistview::GetItem(lv_view.GetId(), lvItem); msxml::IXMLDOMElement ele = trust(lvItem.lParam as msxml::IXMLDOMElement); lv_view.GetItem( lvItem); KXMLDOMElement ele = trust(lvItem.lParam as KXMLDOMElement); string src = ele.getAttribute("url"); string name=ele.getAttribute("caption"); string file =""; if(src.find("/file/")>0) file = src.mid(src.find("/file/") + 6,9999); if(file =="") return 1; string str = file.left(2); string ext = ""; if(name.find(".")>=0) ext = name.mid(name.find("."),name.length()); string sfile = file; xstring src = ele.getAttribute(L"url"); xstring name=ele.getAttribute(L"caption"); xstring file =L""; if(src.find(L"/file/")>0) file = src.mid(src.find(L"/file/") + 6,9999); if(file ==L"") return 1; xstring str = file.left(2); xstring ext = L""; if(name.find(L".")>=0) ext = name.mid(name.find(L"."),name.length()); xstring sfile = file; xaserverarg arg = GetParam(); xaserverarg arg = GetArg(); if(arg) { arg.AddArg("result","ok"); if((arg.GetArgString("process")=="path" ||arg.GetArgString("process")=="data")) arg.AddArg(L"result",L"ok"); if((arg.GetArgString(L"process")==L"path" ||arg.GetArgString(L"process")==L"data")) { string id = ele.getAttribute("ID"); arg.AddArg("ID", id); arg.AddArg("path", src); arg.AddArg("filename", name); arg.AddArg("src","/business/attachment/"+str+"/"+ file+".jpg"); if(arg.GetArgString("process")=="path" ) return 1; xstring id = ele.getAttribute(L"ID"); arg.AddArg(L"ID", id); arg.AddArg(L"path", src); arg.AddArg(L"filename", name); arg.AddArg(L"src",L"/business/attachment/"+str+L"/"+ file+L".jpg"); if(arg.GetArgString(L"process")==L"path" ) return 1; } } /* const string d = m_Html.GetData(p.object); if(d == "") return -1; string file = d.mid(0, d.find("|##@@|",0)); string name = d.mid(d.find("|##@@|",0)+6, d.length()); const xstring d = m_Html.GetData(p.object); if(d == L"") return -1; xstring file = d.mid(0, d.find(L"|##@@|",0)); xstring name = d.mid(d.find(L"|##@@|",0)+6, d.length()); */ xaserver::CreateDirectory("C:/Temp"); xaserver::CreateDirectory(L"C:/Temp"); if(arg) { if(arg.GetArgString("process")=="data") if(arg.GetArgString(L"process")==L"data") { xml x = new xml; x.setNativePointer(xml ::CreateInstance()); xaserver::LoadUrl(GetServerUrl(),"/business/attachment/"+str+"/"+ file+".jpg","",x); arg.AddArg("data",x.GetXml()); xml x ; xaserver::LoadUrl(GetServerUrl(),L"/business/attachment/"+str+L"/"+ file+L".jpg",L"",x); arg.AddArg(L"data",x.xml()); return 1; } } int openRet = xaserver::DownLoadFile(GetServerUrl(),"/business/attachment/"+str+"/"+ file+".jpg","","C:/Temp/"+sfile+ext); int openRet = xaserver::DownLoadFile(GetServerUrl(),L"/business/attachment/"+str+L"/"+ file+L".jpg",L"",L"C:/Temp/"+sfile+ext); //alert("/business/attachment/"+str+"/"+ file+".jpg"); //alert(L"/business/attachment/"+str+L"/"+ file+L".jpg"); if(openRet < 0) { alert("文件打开失败1!"); alert(L"文件打开失败1!"); return -1; } //openRet = win32::ShellExecute(0,"open","C:/Temp/"+name,"","",5); openRet = win32::ShellExecute(0,"open","C:/Temp/"+sfile+ext,"","",5); //openRet = ShellExecute(0,L"open",L"C:/Temp/"+name,L"",L"",5); openRet = ShellExecute(0,L"open",L"C:/Temp/"+sfile+ext,L"",L"",5); if(openRet < 32) { alert("文件打开失败2!"); alert(L"文件打开失败2!"); return -1; } @@ -139,36 +154,37 @@ } //命令发布函数 int OnCmdDispatch(string comdid) int OnCmdDispatch(xstring comdid) { return 0; } //命令处理事件 int OnXCommand(ref TXCommandEvent evt,int param) int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt.pStrID); return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //绑定工具条点击事件 AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent(L"WM_XCOMMAND", (FEvent)&DocSelectDlg::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent(L"WM_SETFOCUS", (FEvent)&DocSelectDlg::OnSetFocus); return 1; } /* int OnRetrieve() { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("xxx","xxx"); if (getUrl("",arg.GetString(),x)!=1) xml x ; xaserverarg arg ; arg.AddArg(L"xxx",L"xxx"); if (getUrl(L"",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); trace(x.text()); return -1; }else { @@ -179,38 +195,38 @@ } */ int SetListViewHeaderColumn(string Url) int SetListViewHeaderColumn(xstring Url) { const int LVCFMT_LEFT = 0; for(int i=0;i<3;i++) lv_view.DeleteColumn(lv_view.GetId(),1); //if(Url=="") for(int i=0;i<3;i++) lv_view.DeleteColumn(1); //if(Url==L"") //{ lv_view.InsertColumn(lv_view.GetId(),0,"创建人员",LVCFMT_LEFT,80,0); lv_view.InsertColumn(lv_view.GetId(),0,"创建日期",LVCFMT_LEFT,80,0); lv_view.InsertColumn(lv_view.GetId(),0,"名称",0,120,0); lv_view.InsertColumn(0,L"创建人员",LVCFMT_LEFT,80,0); lv_view.InsertColumn(0,L"创建日期",LVCFMT_LEFT,80,0); lv_view.InsertColumn(0,L"名称",0,120,0); columnCount = 3; //} return 1; } int Retrieve(string src) int Retrieve(xstring src) { xml x = ViewObject::RetrieveData("/sale/data/TDocument3/folder/list", "src",src); xml x = ViewObject::RetrieveData(L"/sale/data/TDocument3/folder/list", L"src",src); if(x) { msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlist=ele.SelectNodes("*"); int s=nlist.length; KXMLDOMElement ele = x.documentElement(); KXMLDOMNodeList nlist=ele.selectNodes(L"*"); int s=nlist.length(); if (s>0) { for (int i=0; i<s; i++) { msxml::IXMLDOMElement e=nlist.item(i); string name=e.getAttribute("caption"); int nItem = xlistview::InsertItemEx(lv_view.GetId(),0,name,23,cast(e as int)); KXMLDOMElement e=nlist.item(i); xstring name=e.getAttribute(L"caption"); int nItem = lv_view.InsertItemEx(0,name,23,e); xlistview::SetItemText(lv_view.GetId(),nItem,1,e.getAttribute("Creator")); xlistview::SetItemText(lv_view.GetId(),nItem,2,e.getAttribute("CreateDate")); lv_view.SetItemText(nItem,1,e.getAttribute(L"Creator")); lv_view.SetItemText(nItem,2,e.getAttribute(L"CreateDate")); } } } @@ -219,17 +235,18 @@ int onload() { lv_view = GetControl("lv_view"); //xlistview::SetdwStyle(lv_view.GetId(),0); SetArg(); lv_view = GetControl(L"lv_view"); //lv_view.SetdwStyle(0); columnCount = 0; SetListViewHeaderColumn(""); AttachEvent("lv_view", "NM_DBLCLK",OnListViewDoubleClicked); SetListViewHeaderColumn(L""); AttachEvent(L"lv_view", L"NM_DBLCLK", (FEvent)&DocSelectDlg::OnListViewDoubleClicked); if(GetParam()) if(GetWinParam()) { xaserverarg arg = GetParam(); string src = arg.GetArgString("src"); xaserverarg arg = GetArg(); xstring src = arg.GetArgString(L"src"); Retrieve(src); } @@ -242,5 +259,4 @@ return 1; } }; ] }; jrj/project/business/Quote/xmQuoteBillList.cpp
@@ -1,43 +1,57 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.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 xmQuoteBillList : public xframe #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) xmQuoteBillList : public xframe { public: xdwgrid dw_list; xnode m_agentNode; //Agent Condition int hObject = 0; string QuoteNo; string printStr; xstring QuoteNo; xstring printStr; public: xmQuoteBillList(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static xmQuoteBillList* CreateInstance(void* implPtr, void* hWnd) { xmQuoteBillList* pWin = new xmQuoteBillList(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { string xfNodeAgentArea = "agentarea"; xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); SetAgentNode (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); xstring s = agent.xml(); m_agentNode = SetAgentNode (anode,s); } } return 1; } int OnRowChanged(ref TNotifyEvent evt,int p) int OnRowChanged(TEvent* evt, int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; SetAgent(); return 1; @@ -45,7 +59,7 @@ //焦点激活处理函数 int OnSetFocus(ref TEvent evt,int param) int OnSetFocus(TEvent* evt, LPARAM param) { //重置工具条 SetAgent(); @@ -56,78 +70,78 @@ //命令发布函数 int OnCmdDispatch(string comdid) int OnCmdDispatch(xstring comdid) { if(comdid=="xmImport") if(comdid==L"xmImport") { if(GetParam()) if(GetWinParam()) { xaserverarg arg = GetParam(); arg.AddArg("items",printStr); xaserverarg arg = GetArg(); arg.AddArg(L"items",printStr); arg.AddArg("action","ok"); arg.AddArg(L"action",L"ok"); } CloseWindow(); return 1; } if(comdid=="xmClose") if(comdid==L"xmClose") { CloseWindow(); return 1; } if(comdid=="xmSearch") if(comdid==L"xmSearch") { OnRetrieve(QuoteNo); return 1; } if(comdid=="xmSelectAll") return SelectAll(); if(comdid=="xmUnSelectAll") return UnSelectAll(); if(comdid==L"xmSelectAll") return SelectAll(); if(comdid==L"xmUnSelectAll") return UnSelectAll(); return 0; } int OnDwClicked(ref TNotifyEvent evt,int p) int OnDwClicked(TEvent* evt, int p) { ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR); DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; char ch; int row = hdr.row; string col = hdr.colname; xstring col = hdr.colname; string str = ""; if(dw_list.GetGuid(row) !="") xstring str = L""; if(dw_list.GetGuid(row) !=L"") { str = dw_list.GetItemString(row,"QuoteLineID"); str = dw_list.GetItemString(row,L"QuoteLineID"); } if(dw_list.IsRowSelected(row) & 0xff) { printStr = printStr.replace(" "+str,""); printStr = printStr.replace(L" "+str,L""); }else { printStr += " " + str; printStr += L" " + str; } return 1; } //命令处理事件 int OnXCommand(ref TXCommandEvent evt,int param) int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt.pStrID); return OnCmdDispatch(evt->xcommand.pStrID); } int SelectAll() { printStr=""; printStr=L""; for(int row = 1; row <= dw_list.GetRowCount(); row++) { dw_list.SetItemString(row,"IsSend","1"); dw_list.SetItemString(row,L"IsSend",L"1"); dw_list.SelectRow(row,true); string str = ""; if(dw_list.GetGuid(row) !="") xstring str = L""; if(dw_list.GetGuid(row) !=L"") { str = dw_list.GetItemString(row,"QuoteLineID"); printStr += " " + str; str = dw_list.GetItemString(row,L"QuoteLineID"); printStr += L" " + str; } } dw_list.Redraw(); @@ -136,10 +150,10 @@ int UnSelectAll() { printStr=""; printStr=L""; for(int row = 1; row <= dw_list.GetRowCount(); row++) { dw_list.SetItemString(row,"IsSend","0"); dw_list.SetItemString(row,L"IsSend",L"0"); dw_list.SelectRow(row,false); } dw_list.Redraw(); @@ -149,26 +163,27 @@ int OnAttachEvent() { //绑定工具条点击事件 AttachEvent("WM_XCOMMAND",OnXCommand); AttachEvent(L"WM_XCOMMAND", (FEvent)&xmQuoteBillList::OnXCommand); //获取焦点事件,用于重置工具条 AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent("dw_list","DWV_ROWFOCUSCHANGED",OnRowChanged); AttachEvent("dw_list","DWV_CLICKED",OnDwClicked); AttachEvent(L"WM_SETFOCUS", (FEvent)&xmQuoteBillList::OnSetFocus); AttachEvent(L"dw_list",L"DWV_ROWFOCUSCHANGED", (FEvent)&xmQuoteBillList::OnRowChanged); AttachEvent(L"dw_list",L"DWV_CLICKED", (FEvent)&xmQuoteBillList::OnDwClicked); return 1; } int OnRetrieve(string QuoteNo) int OnRetrieve(xstring QuoteNo) { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("QuoteNo",QuoteNo); xml x ; if (getUrl("/sale/data/ProductLibrary3/QuoteBillList",arg.GetString(),x)!=1) xaserverarg arg ; arg.AddArg(L"QuoteNo",QuoteNo); if (getUrl(L"/sale/data/ProductLibrary3/QuoteBillList",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); trace(x.text()); return -1; }else { @@ -182,15 +197,15 @@ int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Quote3/template/Quote/QuoteBillList"); dw_list = GetControl(L"dw_list"); dw_list.openUrl(L"/sale/view/Quote3/template/Quote/QuoteBillList"); if(GetParam()) if(GetWinParam()) { xaserverarg arg = GetParam(); QuoteNo=arg.GetArgString("QuoteNo"); OnRetrieve(arg.GetArgString("QuoteNo")); xaserverarg arg = GetArg(); QuoteNo=arg.GetArgString(L"QuoteNo"); OnRetrieve(arg.GetArgString(L"QuoteNo")); } OnRetrieve(QuoteNo); SelectAll(); @@ -204,5 +219,4 @@ return 1; } }; ] };