jrj/ext-jrj/ext-jrj.vcxproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Quote/CustomerItemNoList.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Quote/Product.Select.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Quote/QuoteFilePurch.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Quote/QuoteFilePurched.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Quote/QuoteSupplierItem.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Quote/TONewSelectDlg.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Quote/TOSelectDlg.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Quote/XmShare.Quote.v3.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Quote/trade.document.saveas.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Quote/trade.document.selectdlg.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Quote/xmQuoteBillList.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
jrj/ext-jrj/ext-jrj.vcxproj
@@ -741,6 +741,39 @@ <ClCompile Include="..\project\business\Quote3.maint.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\CustomerItemNoList.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</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> </ClCompile> <ClCompile Include="..\project\business\Quote\QuoteFilePurched.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</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> </ClCompile> <ClCompile Include="..\project\business\Quote\TOSelectDlg.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\trade.document.saveas.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\trade.document.selectdlg.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\xmQuoteBillList.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Quote\XmShare.Quote.v3.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\SO3.list.cpp" /> <ClCompile Include="..\project\business\SO3.maint.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> jrj/project/business/Quote/CustomerItemNoList.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,166 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class CustomerItemNoList : public xframe { xdwgrid dw_list; xnode m_agentNode; //Agent Condition int hObject = 0; string GoodsNo; int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } int OnRowChanged(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); int row = hdr.row; SetAgent(); return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ SetAgent(); //trace(GetEntityID(1)); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { if(comdid=="xmImport") { Doubleclick(); return 1; } if(comdid=="xmClose") { CloseWindow(); return 1; } if(comdid=="xmSearch") { OnRetrieve(GoodsNo); return 1; } return 0; } int Doubleclick() { xaserverarg arg = GetParam(); arg.AddArg("items",""); string str = ""; int row = dw_list.GetNextSelectRow(1); while(row > 0 && row <= dw_list.GetRowCount()) { msxml::IXMLDOMElement ele = dw_list.GetRowElement(row); str += ele.xml; row = dw_list.GetNextSelectRow(row + 1); } if(str != "") arg.AddArg("items","<data>"+str+"</data>"); trace(str); arg.AddArg("action","ok"); CloseWindow(); return 1; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent("dw_list","DWV_DOUBLECLICKED",Doubleclick); } int OnRetrieve(string GoodsNo) { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("GoodsNo",GoodsNo); if (getUrl("/sale/data/ProductLibrary3/GetCustomerItemNoList",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); return -1; }else { dw_list.Retrieve(x); dw_list.Redraw(); } dw_list.SetSelectionMode(1); dw_list.SetReadOnly(true); return 1; } int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Quote3/template/Quote/CustomerItemNoList"); if(GetParam()) { xaserverarg arg = GetParam(); GoodsNo=arg.GetArgString("GoodsNo"); OnRetrieve(arg.GetArgString("GoodsNo")); } OnRetrieve(GoodsNo); OnAttachEvent(); return 1; } int onloaded() { SetAgent(); return 1; } }; ] jrj/project/business/Quote/Product.Select.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,1090 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "multi.vbind.vbind.wface.vd" use "productlibrary.vd" use "shoppingcart.vd" unit trade [ class ProductSelectWin : public xwin { int hObject = 0; string CustomerID; string m_customer; //产ååºäº§åå表 xdwgrid dw_list; //è´ç©è½¦äº§åå表 xdwgrid dwc_list; //产åç¼å对象 xdataset g_xdoc_product; xdataset g_xdoc_shoppingcart; xcombobox cbx_goodscar; //æ¯å¦å¤é xnode m_agentNode; //Agent Condition xtreeview tv_folder; string agentFor; string impStr; int FillGoodsCarList() { xcombobox xc = GetControl("frame:cbx_goodscar"); if(!xc) return 0; xml x = ShoppingCartView::GetRoleList(CustomerID); if(!x) return 0; xc.SetText("==éæ©è´ç©è½¦=="); msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//item"); int len = nlist.length; for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("name"); xcombobox::AddItem(xc.GetId(),name); } return 1; } int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ SetAgent(); return 1; } msxml::IXMLDOMElement OnGetCarListRowElement(int row=0) { if(row < 1) row = dwc_list.GetRow(); if(row < 1 || row > dwc_list.GetRowCount()) return 0; msxml::IXMLDOMElement e = g_xdoc_shoppingcart.getRowElement("data/Item", row); return e; } int OnShowImage(string skuid) { imageview im = GetControl("im1"); //im.RemoveImage(); im.ResetEx(); xml xp=new xml; xp.setNativePointer(xml::CreateInstance()); xaserverarg arg_pic=new xaserverarg; arg_pic.setNativePointer(arg_pic.CreateInstance()); arg_pic.AddArg("SKUID",skuid); if(url::get("/sale/data/ProductLibrary3/pref/picture/imagelistSKU",arg_pic.GetString(),xp)!=1) { trace("xxx",xp.GetXml()); }else { //imageElement = xp.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlistp= xp.GetXmlDoc().selectNodes("ImageList/image"); int lenp = nlistp.length; for(int ip=0;ip<lenp;ip++) { msxml::IXMLDOMElement xitem = nlistp.item(ip); string picname = xitem.selectSingleNode("PicPath").text; string goodno = xitem.selectSingleNode("GoodsNo").text; if(picname == "/business/products/Thumbs//") picname = "/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg"; im.AddImages(picname, ""); } im.Redraw(); //win32::SendMessage(im.GetId(),0x000f,0,1); //win32::InvalidateRect(im.GetId(),cast(0 as ref xrect),true); } return 1; } int OnShowImage(string skuid, string customerItemNo) { imageview im = GetControl("im1"); //im.RemoveImage(); im.ResetEx(); xml xp=new xml; xp.setNativePointer(xml::CreateInstance()); xaserverarg arg_pic=new xaserverarg; arg_pic.setNativePointer(arg_pic.CreateInstance()); arg_pic.AddArg("SKUID",skuid); arg_pic.AddArg("CustomerID",m_customer); arg_pic.AddArg("CustomerItemNo",customerItemNo); if(url::get("/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKU",arg_pic.GetString(),xp)!=1) { trace("error:" + xp.GetXml()); }else { //imageElement = xp.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlistp= xp.GetXmlDoc().selectNodes("ImageList/image"); int lenp = nlistp.length; for(int ip=0;ip<lenp;ip++) { msxml::IXMLDOMElement xitem = nlistp.item(ip); string picname = xitem.selectSingleNode("PicPath").text; string goodno = xitem.selectSingleNode("GoodsNo").text; if(picname == "/business/products/Thumbs//") picname = "/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg"; im.AddImages(picname, ""); } im.Redraw(); } return 1; } int ItemAdd() { int hItem = tv_folder.GetSelectedItem(); int hTopItem = LookupTopFolder(hItem); string name = tv_folder.GetItemLabel(hTopItem); msxml::IXMLDOMElement e= tv_folder.GetItemData(hItem); string guid = e.getAttribute("guid"); if(guid=="") return 1; xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("guid", e.getAttribute("guid")); if(name=="个人产å") arg.AddArg("FolderID", e.getAttribute("guid")); else arg.AddArg("CategoryID", e.getAttribute("guid")); string No = e.getAttribute("CategoryNo"); if(No=="") No = e.getAttribute("no"); string Name = e.getAttribute("CName"); if(Name=="") Name = e.getAttribute("cname"); arg.AddArg("No",No); arg.AddArg("CName",Name); int p = arg; OpenWindow("dev:xpage[Quick.Input.NewProduct.vx]",p); //if(arg.GetArgString("data.modify")=="1")RetrieveData(); return 1; } int OnRowChanged(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); int row = hdr.row; htmlctrl xs = GetControl("html_detail"); string html = makeHtml(row); xs.SetContent(html); xs.Redraw(); string id = g_xdoc_product.getData(0,"data/Item",row,"@guid"); OnShowImage(id); return 1; } int OnGoodsCarRowChanged(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); int row = hdr.row; htmlctrl xs = GetControl("html_detail"); string html = makeGoodscarHtml(row); xs.SetContent(html); xs.Redraw(); if(m_customer) { string id = g_xdoc_shoppingcart.getData(0,"data/Item",row,"SKUID"); string customerItemNo = g_xdoc_shoppingcart.getData(0,"data/Item",row,"CustomerItemNo"); OnShowImage(id,customerItemNo); } return 1; } int DeleteRow(int row) { int IDOK = 1; int MB_OKCANCEL = 1; int MB_ICONQUESTION = 32; if(win32::MessageBox(GetHWND(),"确认å 餿å®ç项ï¼å é¤åå°ä¸è½æ¢å¤?","æç¤º",MB_OKCANCEL|MB_ICONQUESTION)!=IDOK) return 1; string id = g_xdoc_product.getData(0,"data/Item",row,"@guid"); if(ProductLibraryView::DeleteItem(id)==1) dw_list.DeleteRow(0); return 1; } int SetSelectState(xdwgrid dw_obj, int state) { dw_obj.SetSelectionMode(3); return 1; } int OnCkbCLick(ref TEvent evt,int p) { xcheckbox cbx_1 = GetControl("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"); int state=cbx_2.GetCheck(cbx_2.GetId()); return SetSelectState(dwc_list,state); } xml GetGoodsPropList(string 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) { string error = x.GetXmlDoc().text; alert(error); } return x; } xml GetGoodsPropListEx(string guid) { xml x=new xml; x.setNativePointer(xml::CreateInstance()); string fields="<data>"; /* fields +="<field name='HighestPrice' label='æé«ä»·'/>"; fields +="<field name='LowestPrice' label='æä½ä»·'/>"; fields +="<field name='BulkPrice' label='æ£è´§ä»·'/>"; fields +="<field name='CardPrice' label='纸å¡ä»·'/>"; fields +="<field name='BuyPrice' label='éè´ä»·'/>"; fields +="<field name='SupplierID' label='è´§æº'/>"; */ fields +="<field name='Packing' label='å è£ æ¹å¼'/>"; fields +="<field name='PackingRate' label='æ¯ç®±æ°é'/>"; fields +="<field name='VolumeDesc' label='å è£ å°ºç '/>"; fields +="<field name='GWPerPkg' label='æ¯é'/>"; fields +="<field name='NWPerPkg' label='åé'/>"; //fields +="<field name='DeveloperID' label='å¼å人å'/>"; fields +="<field name='AttributeValue_1' label='产å屿§'/>"; //fields +="<field name='Remark' label='夿³¨'/>"; fields += "</data>"; x.LoadXml(fields); return x; } string makeHtml(int row) { string id = g_xdoc_product.getData(0,"data/Item",row,"@guid"); xml x = GetGoodsPropList(id); xml x1 = GetGoodsPropListEx(id); string html="<html><style> .text{ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>"; html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >ç¼å·:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"No")+ "</span> <span style='font-weight:700;width:50;font-size:10pt' >类项:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"RefNo")+ "</span></div>"; html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >è´§å·:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"GoodsNo")+ "</span></div>" ; html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >åå:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"CName")+ "</span></div>" ; if(dw_list.GetItemString(row,"CSpec")!="") html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >è§æ ¼:</span><span style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"CSpec")+ "</span></div>" ; msxml::IXMLDOMNodeList fieldsEx = x1.GetXmlDoc().selectNodes("data/field"); string ls_detail=""; string ls_item =""; string name; string label; int len = fieldsEx.length; int i= 0; for(i=0;i<len; true) { int cnt = 0; ls_item = ""; while(cnt < 2) { name = fieldsEx.item(i).selectSingleNode("@name").text; label = fieldsEx.item(i).selectSingleNode("@label").text; ls_item += "<td>" + label + "</td>" + "<td style='text-align:center'>" + g_xdoc_product.getData(0,"data/Item",row,name) + "</td>" ; cnt++; i++; if(i ==len)break; } ls_detail += "<tr>" + ls_item + "</tr>"; } html += "<div style='margin-left:8px;margin-right:16px;'>" + +"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>" + ls_detail +"</table>" +"</div>" ; string ls_star=""; msxml::IXMLDOMNodeList fields = x.GetXmlDoc().selectNodes("data/field"); len = fields.length; ls_detail = ""; if(len > 0) html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >ææ¯è¦æ±:</span></div>" ; for(i=0;i<len; true) { ls_item=""; int count = 0; while(count < 2) { name = fields.item(i).selectSingleNode("@name").text; label = fields.item(i).selectSingleNode("@label").text; if(name=="QualityTerm" || name=="PackTerm" || label=="è´¨é" || label=="å è£ è´¨é" || label=="ææ¯è¦æ±") { i++; if(i >= len)count = 2; continue; } else if(g_xdoc_product.getData(0,"data/Item",row,name)=="") { msxml::IXMLDOMNodeList options = fields.item(i).selectNodes("item"); int tlen = options.length; string terms = "" ; for(int k=0; k<tlen; k++) { if(options.item(k).text) { if(k>0) terms += ", "; terms += "[" + options.item(k).text +"]"; } } ls_star += "<div ><span style='font-weight:700;width:50;font-size:10pt' >" + label +"*:</span><span style='width:90;font-size:10pt'>" + terms + "</span></div>" ; }else { ls_item = "<td>" + label + "</td>" + "<td>" + g_xdoc_product.getData(0,"data/Item",row,name) + "</td>" ; count++; } i++; if(i >= len)count = 2; } ls_item = "<tr>" + ls_item + "</tr>"; ls_detail += ls_item; } html += "<div style='margin-left:8px;margin-right:16px;'>" + +"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>" + ls_detail +"</table>" +"</div>" ; if(dw_list.GetItemString(row,"QualityTerm")!="") { html += "<div style='height:12px'/>"; html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >è´¨é:</span></div>" ; html += "<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row,"QualityTerm") + "</span></div>" ; } if(dw_list.GetItemString(row,"PackTerm")!="") { html += "<div style='height:12px'/>"; html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >å è£ è´¨é:</span></div>" ; html += "<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row,"PackTerm") + "</span></div>" ; } if(g_xdoc_product.getData(0,"data/Item",row,"Remark") != "" && id == "23A8BBA2-DEF1-4C00-978E-646151A6082E") { html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >夿³¨:</span></div>" ; html += "<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + g_xdoc_product.getData(0,"data/Item",row,"Remark") + "</span></div>" ; } html += "<div style='height:24px'/>"; //ææ é¡¹ html += ls_star; //æ¾ç¤ºå¾ç /*string picname = "1FA9E331-F95C-4E51-B80C-73FB9B911D8D.jpg";//dw_list.GetItemString(row,"ImgName"); //ItemID+".jpg"; string str = picname.mid(0,2); str = str.upper(); string serversrc ="http://192.168.7.241:1001/business/products/chanpin/"+str+"/"+picname; html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >ͼƬ:</span>"; html += "<control visible='layer' controlclass='ximage' data='' src='"+ serversrc +"'/></div>"; */ html += "</body></html>"; return html; } string makeGoodscarHtml(int row) { string No = dwc_list.GetItemString(row,"RefNo");//è·å屿§å¼id xml x = GetGoodsPropList(No); string html="<html><style> .text{ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>"; html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >ç¼å·:</span><span style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,"No")+ "</span></div>"; html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >åå:</span><span style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,"CName")+ "</span></div>" ; html += "<div ><span style='font-weight:700;width:50;font-size:10pt' >è§æ ¼:</span><span style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,"CSpec")+ "</span></div>" ; msxml::IXMLDOMNodeList fields = x.GetXmlDoc().selectNodes("data/field"); int len = fields.length; html += "<table>" + "<colgroup span='1' width='80'/>" + "<colgroup span='1' width='120'/>" + "<colgroup span='1' width='420'/>" ; html += "<tr>" ; html += "<td style='text-align:center'>ç¼å·</td><td style='text-align:center'>项ç®</td><td style='text-align:center'>å 容</td>" ; html +="</tr>"; for(int i=0;i<len; i++) { string name = fields.item(i).selectSingleNode("@name").text; string label = fields.item(i).selectSingleNode("@label").text; html += "<tr>" ; if(i==0) html += "<td rowspan='" + len.toString() + "'>" + No + "</td><td >"+ label + "</td><td >"+"</td>" ; else html += "<td >"+ label + "</td><td >"+ g_xdoc_shoppingcart.getData(0,"data/Item",row,name)+"</td>" ; html +="</tr>"; } html += "<tr>" ; html += "<td rowspan='3'>" + g_xdoc_shoppingcart.getData(0,"data/Item",row,"PackCode") + "</td><td >å è£ æ¹å¼</td><td >"+ g_xdoc_shoppingcart.getData(0,"data/Item",row,"CPack") + "</td>" ; html +="</tr>"; html += "<tr height='48'>" ; html += "<td >å è£ è¦æ±</td><td >"+ g_xdoc_shoppingcart.getData(0,"data/Item",row,"PackQualityTerm")+"</td>" ; html +="</tr>"; html += "<tr>" ; html += "<td >ä¾§å</td><td ></td>" ; html +="</tr>"; html += "<tr height='72'>" ; html += "<td>" + g_xdoc_shoppingcart.getData(0,"data/Item",row,"QualityCode") + "</td><td >è´¨éè¦æ±</td><td >"+ g_xdoc_shoppingcart.getData(0,"data/Item",row,"QualityTerm") + "</td>" ; html +="</tr>"; html +="</table>"; html += "</body></html>"; return html; } int OnImport() { if(!hObject ) return 1; int rw = 0; string ls_nos = "ImportXml:"; if (impStr=="") { alert("è¯·éæ©åå!"); return 1; } ls_nos += impStr; trace(impStr); dwc_list.SelectRow(0,false); dwc_list.Redraw(); dw_list.SelectRow(0,false); dw_list.Redraw(); impStr =""; //alert(ls_nos); win32::SendMessage(hObject,0x401,ls_nos,0); alert("è½¬å ¥å®æ"); return 1; } int OnSearch() { int hItem = tv_folder.GetSelectedItem(); return RetrieveItem(hItem); } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { int hCursor; string name=""; if(comdid=="xmClose") { CloseWindow(); return 1; } else if(comdid=="xmImport") { OnImport(); return 1; } else if(comdid=="xmAdd") { ItemAdd(); return 1; } else if(comdid=="xmSearch") { OnSearch(); return 1; } return 0; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } //æ¥æ¾å½åæ 项ç顶级ç®å½ int LookupTopFolder(int hItem) { int hRoot = tv_folder.GetRootItem(); while(tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem); return hItem; } //æå ¥äº§å类项çå项 int MakeGoodsFolderItem(int hItem, string sno) { xml x = ProductLibraryView::GetTreeChildItems3(sno); if(!x) return 0; msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//Item"); int len = nlist.length; for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("CName"); string no = e.getAttribute("CategoryNo"); string label = no.trim() + " " + name; int h= tv_folder.InsertChildItem(hItem,label, trust(e as int),15); tv_folder.SetItemChild(h,1); } return 1; } //æå ¥æ°äº§åç®å½å项 int MakeUserGoodsFolderItem(int hItem, string sno) { xml x = ProductLibraryView::GetTreeUserChildItems3(sno); if(!x) return 0; msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//Item"); int len = nlist.length; for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("CName"); string no = e.getAttribute("CategoryNo"); string label = no.trim() + " " + name; int h= tv_folder.InsertChildItem(hItem,label, trust(e as int),15); string child = e.getAttribute("Childs"); if(child=="") tv_folder.SetItemChild(h,1); else if(child !="0") tv_folder.SetItemChild(h,1); } return 1; } //æå ¥è´ç©è½¦é¡¹ int ExpandCatChildFolder(int hItem, msxml::IXMLDOMElement ele ,int image) { msxml::IXMLDOMNodeList nlist = ele.SelectNodes("item"); int len = nlist.length; if(len > 0) tv_folder.SetItemChild(hItem,1); for (int i= 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("name"); int h = tv_folder.InsertChildItem(hItem,name, trust(e as int),image); ExpandCatChildFolder(h,e,35); } return 1; } int MakeGoodCarFolderItem(int hItem) { //trace("\r\nCustomerID:"+CustomerID); xml x = ShoppingCartView::GetRoleList(CustomerID); //if(x) alert(x.GetXml()); if(!x) return 0; msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("/data/item"); int len = nlist.length; for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("name"); int h = tv_folder.InsertChildItem(hItem,name, trust(e as int),35); ExpandCatChildFolder(h,e,35); } return 1; } //æ å±å¼ int OnTreeExpanding(ref TNotifyEvent evt,int p) { ref NMTREEVIEW nmtv = evt.pnmh; int hItem = nmtv.itemNew.hItem; int hTopItem = LookupTopFolder(hItem); string name = tv_folder.GetItemLabel(hTopItem); int child = tv_folder.GetChildItem(hItem); string no =""; msxml::IXMLDOMElement e; if(name == "å ¬å¸åº" && !child ) { no =""; if(hTopItem != hItem) { e= tv_folder.GetItemData(hItem); no = e.getAttribute("categoryid"); }else { e= tv_folder.GetItemData(hItem); no = e.getAttribute("categoryid"); } MakeGoodsFolderItem(hItem, no); } else if(name == "个人åº" && !child ) { no =""; if(hTopItem != hItem) { e= tv_folder.GetItemData(hItem); no = e.getAttribute("categoryid"); MakeUserGoodsFolderItem(hItem, no); } } else if(name == "è´ç©è½¦" && !child ) { if(hItem==hTopItem)MakeGoodCarFolderItem(hItem); } return 1; } int ResetAgent(string agentAsk) { if(agentFor != agentAsk) { agentFor = agentAsk; m_agentNode = 0; SetAgent(); } return 1; } int LookupCustomerFolder(int hItem) { while(true) { msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement); string str = e1.getAttribute("no"); if(str.find("Customer:")>=0) return hItem; hItem = tv_folder.GetParentItem(hItem); if(hItem==0) break; } return 0; } string LookupCustomer(int hItem) { hItem = LookupCustomerFolder(hItem); if(hItem==0) return ""; msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement); string str = e1.getAttribute("no"); return str.mid("Customer:".length(),9999); } int RetrieveItem(int hItem) { int hTopItem = LookupTopFolder(hItem); string name = tv_folder.GetItemLabel(hTopItem); string selectname = tv_folder.GetItemLabel(hItem); imageview im = GetControl("im1"); m_customer = ""; xcontrol query = GetControl("sl_search"); string queryString = query.GetText(); if(name == "è´ç©è½¦") { if(agentFor !="goodscar")SwitchLayer("goodscarsheet","sheetframe"); ResetAgent("goodscar"); if(selectname !=name) { msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement); string str = e1.getAttribute("no"); trace("\r\n-------"+str+"--------"+queryString); if(str=="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) { m_customer = LookupCustomer(hItem); if(str.find("Customer:")==0) { dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodscustomerlist"); } else { dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodssolist"); } dwc_list.Reset(); dwc_list.SetReadOnly(true); dwc_list.SetColumnState("CurrencyCode",false); //alert(str); if(queryString=="") g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str)); else g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str,queryString)); } else if(e1.getAttribute("categoryid") !="") { string categoryid = e1.getAttribute("categoryid"); dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid).GetXmlDoc()); dwc_list.SetReadOnly(true); dwc_list.Reset(); if(queryString=="") g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid )); else g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString,"")); } else { dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodslist"); dwc_list.SetReadOnly(true); dwc_list.Reset(); if(queryString=="") g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname)); else g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname,queryString)); } dwc_list.PostRetrieve(); dwc_list.Redraw(); if(dwc_list.GetRowCount() >= 1 ) { htmlctrl xs = GetControl("html_detail"); xs.SetContent(makeGoodscarHtml(1)); if(m_customer !="") { string skuid = g_xdoc_shoppingcart.getData(0,"data/Item",1,"SKUID"); string customerItemNo = g_xdoc_shoppingcart.getData(0,"data/Item",1,"CustomerItemNo"); OnShowImage(skuid,customerItemNo); } } else { im.ResetEx(); im.Redraw(); xs = GetControl("html_detail"); xs.SetContent("<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>"); } xs.Redraw(); } } else { if(agentFor !="goodslib")SwitchLayer("goodslibsheet","sheetframe"); if(name == "个人åº") ResetAgent("userlib"); else ResetAgent("goodslib"); int hCursor = xutil::SetCursorWait(); if(name == "个人åº" || name=="å ¬å¸åº") { string no="N000005"; if(name=="个人åº") no="U000005"; if(hItem != hTopItem) { msxml::IXMLDOMElement e= tv_folder.GetItemData(hItem); no = e.getAttribute("guid"); } dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no).GetXmlDoc()); dw_list = GetControl("dw_list"); dw_list.Reset(); dw_list.SetReadOnly(true); xml x; if(queryString=="") { if(name == "个人åº") x = ProductLibraryView::GetMaintRoleList3(no); else x = ProductLibraryView::GetMaintList3(no); } else { if(name == "个人åº") x = ProductLibraryView::GetMaintRoleList3(no,queryString); else { if(queryString !="") { if(no=="N000005") x = ProductLibraryView::GetMaintList3("",queryString,""); else x = ProductLibraryView::GetMaintList3(no,queryString,""); }else x = ProductLibraryView::GetMaintList3(no); } } if(x) g_xdoc_product.Retrieve(x); dw_list.PostRetrieve(); dw_list.Redraw(); if(dw_list.GetRowCount() >0) { xs = GetControl("html_detail"); xs.SetContent(makeHtml(1)); string id = g_xdoc_product.getData(0,"data/Item",1,"@guid"); OnShowImage(id); }else { im.ResetEx(); im.Redraw(); xs = GetControl("html_detail"); xs.SetContent("<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>"); } xs.Redraw(); xutil::RestoreCursor(hCursor); } } impStr = ""; } int OnTreeSelChanged(ref TNotifyEvent evt,int p) { ref NMTREEVIEW nmtv = cast(evt.pnmh as NMTREEVIEW); int hItem = nmtv.itemNew.hItem; return RetrieveItem(hItem); } int ExpandChildFolder(int hItem, msxml::IXMLDOMElement pElement) { msxml::IXMLDOMNodeList nlist = pElement.SelectNodes("Item"); int len = nlist.length; for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("cname"); string sImage = e.getAttribute("image"); int image = 15; //if(sImage) image = sImage.toInt(); int h= tv_folder.InsertChildItem(tv_folder.GetId(),hItem,name, trust(e as int),image); tv_folder.SetItemChild(h,1); ExpandChildFolder(h,e); } return 1; } int InitialFolder() { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder']/initial"); ExpandChildFolder(0,e); return 1; } int OnDwClicked(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR); char ch; int row = hdr.row; string col = hdr.colname; string str = ""; if(dw_list.GetItemString(row, "SKUNo") !="") str =dw_list.GetItemString(row, "SKUNo"); else str =dw_list.GetItemString(row, "No"); if(dw_list.IsRowSelected(row) & 0xff) { //will unselect impStr = impStr.replace(" "+str,""); }else { //will select impStr += " " + str; } return 1; } int OnDwcClicked(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR); char ch; int row = hdr.row; string col = hdr.colname; string str = g_xdoc_shoppingcart.getData(0,"data/Item",row,"SOLineID"); //string str1 = g_xdoc_shoppingcart.getData(0,"data/Item",row,"EnquiryLineID"); string str1 = g_xdoc_shoppingcart.getData(0,"data/Item",row,"EnquiryPriceListID"); if(str1 !="") str += "el:" + str1; else if(str != "") str = "sl:"+str; else if(dwc_list.GetItemString(row, "SKUNo") !="") str =dwc_list.GetItemString(row, "SKUNo"); else str =dwc_list.GetItemString(row, "No"); if(dwc_list.IsRowSelected(row) & 0xff) { //will unselect impStr = impStr.replace(" "+str,""); }else { //will select impStr += " " + str; } return 1; } int OnDoubleClicked(ref TNotifyEvent evt,int p) { int hCursor = xutil::SetCursorWait(); ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR); int row = hdr.row; string ls_nos = "ImportXml:"; string str = g_xdoc_shoppingcart.getData(0,"data/Item",row,"SOLineID"); string str1 = g_xdoc_shoppingcart.getData(0,"data/Item",row,"EnquiryPriceListID"); if(str1 !="") str += "el:" + str1; else if(str != "") str = "sl:"+str; else if(dwc_list.GetItemString(row, "SKUNo") !="") str =dwc_list.GetItemString(row, "SKUNo"); else str =dwc_list.GetItemString(row, "No"); ls_nos += str; dw_list.SelectRow(0,false); dwc_list.SelectRow(0,false); dw_list.Redraw(); dwc_list.Redraw(); impStr =""; win32::SendMessage(hObject,0x401,ls_nos,0); xutil::RestoreCursor(hCursor); CloseWindow(); return 1; } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent("dw_list","DWV_ROWFOCUSCHANGED",OnRowChanged); AttachEvent("dwc_list","DWV_ROWFOCUSCHANGED",OnGoodsCarRowChanged); AttachEvent("tv_folder", "TVN_ITEMEXPANDING",OnTreeExpanding); AttachEvent("tv_folder", "TVN_SELCHANGED",OnTreeSelChanged); AttachEvent("dwc_list","DWV_DOUBLECLICKED",OnDoubleClicked); AttachEvent("WM_COMMAND",OnCkbCLick); //checkboxæé©äºä»¶ AttachEvent("WM_COMMAND",OnCkbCLick2); //checkboxæé©äºä»¶ AttachEvent("dw_list","DWV_CLICKED",OnDwClicked); AttachEvent("dwc_list","DWV_CLICKED",OnDwcClicked); } int onload() { agentFor = "goodslib"; impStr = ""; OnAttachEvent(); tv_folder = GetControl("tv_folder"); dw_list = GetControl("dw_list"); dwc_list = GetControl("dwc_list"); xaserverarg arg = GetParam(); CustomerID = ""; m_customer =""; hObject = 0; if(arg) { hObject = arg.GetArgString("HWND").toInt(); CustomerID = arg.GetArgString("CustomerID"); } InitialFolder(); g_xdoc_product = new xdataset; g_xdoc_product.Init(); xbind bindproduct = new xbind; bindproduct.bindEx(dw_list, g_xdoc_product,""); g_xdoc_shoppingcart = new xdataset; g_xdoc_shoppingcart.Init(); xbind bindcart = new xbind; bindcart.bindEx(dwc_list, g_xdoc_shoppingcart,""); dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3("").GetXmlDoc()); dw_list = GetControl("dw_list"); dw_list.SetReadOnly(true); dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodslist"); dwc_list.SetReadOnly(true); if(dw_list.GetRowCount()) { htmlctrl xs = GetControl("html_detail"); xs.SetContent(makeHtml(1)); } xtreeview::ExpandItem(tv_folder.GetId(), xtreeview::GetNextItem(tv_folder.GetId(),xtreeview::GetRootItem(tv_folder.GetId()))); xtreeview::ExpandItem(tv_folder.GetId(), xtreeview::GetNextItem(tv_folder.GetId(),xtreeview::GetNextItem(tv_folder.GetId(),xtreeview::GetRootItem(tv_folder.GetId())))); dw_list.SetSelectionMode(3); dwc_list.SetSelectionMode(3); return 1; } int onloaded() { SetAgent(); return 1; } }; ] jrj/project/business/Quote/QuoteFilePurch.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,182 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" unit trade [ class QuoteFilePurch : public xframe { xdwgrid dw_list; xnode m_agentNode; //Agent Condition int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ //SetAgent(); return 1; } int OnValid() { for(int row=1;row<=dw_list.GetRowCount();row++) { if(dw_list.GetItemString(row,"IsSend")=="1") { if(dw_list.GetItemString(row,"ItemName")=="") { alert("第"+row.toString()+"è¡ååè±æåç§°æªè¾å ¥,è¡¥å ¨åååéç»ä¸å¡å"); return 0; } if(dw_list.GetItemString(row,"ItemCName")=="") { alert("第"+row.toString()+"è¡åååç§°æªè¾å ¥,è¡¥å ¨åååéç»ä¸å¡å"); return 0; } if(dw_list.GetItemString(row,"Package")=="") { alert("第"+row.toString()+"è¡ååå è£ æªè¾å ¥,è¡¥å ¨åååéç»ä¸å¡å"); return 0; } } } return 1; } int OnOK() { dw_list.AcceptText(); if(OnValid()==0) return 1; xml x = new xml; x.setNativePointer(xml::CreateInstance()); dw_list.DwUpdateAllToEx(x.GetXmlDoc()); if(GetParam()) { xaserverarg arg = GetParam(); arg.AddArg("process","ok"); arg.AddArg("value",x.GetXml()); } CloseWindow(); return 1; } int OnCancel() { CloseWindow(); return 1; } int SelectAll() { for(int row = 1; row <= dw_list.GetRowCount(); row++) { dw_list.SetItemString(row,"IsSend","1"); } dw_list.Redraw(); return 1; } int UnSelectAll() { for(int row = 1; row <= dw_list.GetRowCount(); row++) { dw_list.SetItemString(row,"IsSend","0"); } dw_list.Redraw(); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { if(comdid=="xmOK") return OnOK(); else if(comdid=="xmCancel") return OnCancel(); else if(comdid=="xmSelectAll") return SelectAll(); else if(comdid=="xmUnSelectAll") return UnSelectAll(); return 0; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); } /* 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) { trace(x.GetXmlDoc().text); return -1; }else { //dw_list.Retrieve(x); //dw_list.Redraw(); } return 1; } */ int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Quote3/template/Quote/QuoteFileItem"); if(GetParam()) { xaserverarg arg = GetParam(); string val = arg.GetArgString("value"); xml x = new xml; x.setNativePointer(xml::CreateInstance()); x.LoadXml(val); dw_list.Retrieve(x); } OnAttachEvent(); return 1; } int onloaded() { //SetAgent(); return 1; } }; ] jrj/project/business/Quote/QuoteFilePurched.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,183 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" unit trade [ class QuoteFilePurched : public xframe { xdwgrid dw_list; xnode m_agentNode; //Agent Condition int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ //SetAgent(); return 1; } int OnValid() { /* for(int row=1;row<=dw_list.GetRowCount();row++) { if(dw_list.GetItemString(row,"IsSend")=="1") { if(dw_list.GetItemString(row,"ItemName")=="") { alert("第"+row.toString()+"è¡ååè±æåç§°æªè¾å ¥,è¡¥å ¨åååéç»ä¸å¡å"); return 0; } if(dw_list.GetItemString(row,"ItemCName")=="") { alert("第"+row.toString()+"è¡åååç§°æªè¾å ¥,è¡¥å ¨åååéç»ä¸å¡å"); return 0; } if(dw_list.GetItemString(row,"Package")=="") { alert("第"+row.toString()+"è¡ååå è£ æªè¾å ¥,è¡¥å ¨åååéç»ä¸å¡å"); return 0; } } } */ return 1; } int OnOK() { if(OnValid()==0) return 1; xml x = new xml; x.setNativePointer(xml::CreateInstance()); dw_list.DwUpdateAllToEx(x.GetXmlDoc()); if(GetParam()) { xaserverarg arg = GetParam(); arg.AddArg("process","ok"); arg.AddArg("value",x.GetXml()); } CloseWindow(); return 1; } int OnCancel() { CloseWindow(); return 1; } int SelectAll() { for(int row = 1; row <= dw_list.GetRowCount(); row++) { dw_list.SetItemString(row,"IsSend","1"); } dw_list.Redraw(); return 1; } int UnSelectAll() { for(int row = 1; row <= dw_list.GetRowCount(); row++) { dw_list.SetItemString(row,"IsSend","0"); } dw_list.Redraw(); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { if(comdid=="xmOK") return OnOK(); else if(comdid=="xmCancel") return OnCancel(); else if(comdid=="xmSelectAll") return SelectAll(); else if(comdid=="xmUnSelectAll") return UnSelectAll(); return 0; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); } /* 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) { trace(x.GetXmlDoc().text); return -1; }else { //dw_list.Retrieve(x); //dw_list.Redraw(); } return 1; } */ int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Quote3/template/Quote/QuoteFilePurchedItem"); if(GetParam()) { xaserverarg arg = GetParam(); string val = arg.GetArgString("value"); xml x = new xml; x.setNativePointer(xml::CreateInstance()); x.LoadXml(val); dw_list.Retrieve(x); } OnAttachEvent(); return 1; } int onloaded() { //SetAgent(); return 1; } }; ] jrj/project/business/Quote/QuoteSupplierItem.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,189 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "supplier.view.vd" unit trade [ class QuoteSupplierItem : public xframe { xdwgrid dw_list; xnode m_agentNode; //Agent Condition int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ //SetAgent(); return 1; } int OnOk() { DoUpdate(); return 1; } int OnCancel() { CloseWindow(); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { if(comdid=="xmCancel") return OnCancel(); else if(comdid=="xmOK") return OnOk(); else if(comdid=="xmDelete") return OnDelete(); return 0; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnDelete() { dw_list.DeleteRow(dw_list.GetRow()); return 0; } int DoUpdate() { dw_list.AcceptText(); xml xitem = new xml; xitem.setNativePointer(xml::CreateInstance()); msxml::IXMLDOMDocument xitemdoc = xitem.GetXmlDoc(); dw_list.DwUpdateAllToEx(xitemdoc); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("content",xitem.GetXml()); //alert(xitem.GetXml()); //return 1; if(url::get("/sale/data/SupplierV3/entity/update/quotemysupplier", arg.GetString(),xitem)!=1) { string error1 = xitem.GetXmlDoc().text; return 1; }else { string str = xitem.GetXmlDoc().documentElement.getAttribute("text"); if(str == "false") { alert("ä¿å失败!"); return -1; } alert("ä¿åæå!"); dw_list.ResetUpdateStatus(); } return 1; } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); } int OnRetrieve() { if(GetParam()) { xaserverarg arg = GetParam(); string val = arg.GetArgString("value"); xml x = new xml; x.setNativePointer(x.CreateInstance()); x.LoadXml(val); dw_list.Retrieve(x); dw_list.Redraw(); string sPartyNo = publiccode::GetIdentityNo("Party2"); string No =""; string Name =""; string NameEx =""; /*for(int i=0; i <=dw_list.GetRowCount() ;i++) { Name=dw_list.GetItemString(i,"Name"); if(Name !="") { if(NameEx =="") { NameEx = Name; } else if(NameEx.find(Name) < 0) { //dw_list.DeleteRow(i); } } }*/ for(int row = 1;row <= dw_list.GetRowCount(); row++) { 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"); string id = ViewObject::GetGuid(); msxml::IXMLDOMElement ele = dw_list.GetRowElement(row); ele.SetAttribute("guid",id); //dw_list.SetGuid(row,id); } } return 1; } int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Quote3/template/Quote/QuoteSupplierItem"); OnAttachEvent(); OnRetrieve(); return 1; } int onloaded() { //SetAgent(); return 1; } }; ] jrj/project/business/Quote/TONewSelectDlg.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,99 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" unit trade [ class xxx : public xframe { //xdwgrid dw_list; xnode m_agentNode; //Agent Condition int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ SetAgent(); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { return 0; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); } /* 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) { trace(x.GetXmlDoc().text); return -1; }else { //dw_list.Retrieve(x); //dw_list.Redraw(); } return 1; } */ int onload() { //dw_list = GetControl("xxx"); //dw_list.openUrl("xxx"); OnAttachEvent(); return 1; } int onloaded() { SetAgent(); return 1; } }; ] jrj/project/business/Quote/TOSelectDlg.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,255 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class TOSelectDlg : public frame { //xdwgrid dw_list; xlistview lv_view; xlistview lv_view1; int columnCount; xnode m_agentNode; //Agent Condition int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ SetAgent(); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { if(comdid=="xmCancel") { CloseWindow(); return 1; } else if(comdid=="xmOK") { int LVNI_FOCUSED = 0x0001; int nItem =xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED); if(nItem < 0) return 1; if(GetParam()) { 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")); } //éç½®å·¥å ·æ¡ CloseWindow(); return 1; } return 0; } msxml::IXMLDOMElement GetItemData(xlistview lv_item, int hItem) { int LVIF_PARAM = 0x0004; lvitem lvItem; lvItem.iItem = hItem; lvItem.iSubItem = 0; lvItem.mask = LVIF_PARAM ; xlistview::GetItem(lv_item.GetId(), lvItem); msxml::IXMLDOMElement ele = trust(lvItem.lParam as msxml::IXMLDOMElement); return ele; } int OnListViewDoubleClicked(ref TEvent evt,int param) { int LVNI_ALL = 0x0000; int LVNI_FOCUSED = 0x0001; int LVNI_SELECTED = 0x0002; int LVNI_CUT = 0x0004; int LVNI_DROPHILITED = 0x0008; int nItem =xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED); if(nItem < 0) return 1; if(GetParam()) { 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")); } //éç½®å·¥å ·æ¡ CloseWindow(); return 1; } int OnListViewDoubleClicked1(ref TEvent evt,int param) { int LVNI_ALL = 0x0000; int LVNI_FOCUSED = 0x0001; int LVNI_SELECTED = 0x0002; int LVNI_CUT = 0x0004; int LVNI_DROPHILITED = 0x0008; int nItem =xlistview::GetNextItem(lv_view1.GetId(), -1, LVNI_FOCUSED); if(nItem < 0) return 1; if(GetParam()) { 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")); } //éç½®å·¥å ·æ¡ //OnDocumentOpen(); CloseWindow(); return 1; } int SetListViewHeaderColumn(string 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=="") //{ 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); columnCount = 3; //} return 1; } int SetListViewHeaderColumnItem(string 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=="") //{ 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); columnCount = 6; //} return 1; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); } int RetrieveEx() { xml x = ViewObject::RetrieveData("/sale/data/TO/business/document/list"); if(x) { msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlist=ele.SelectNodes("*"); 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)); 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")); } } } return 1; } int Retrieve(string src) { xml x = ViewObject::RetrieveData("/sale/data/TO/template/list", "role",""); if(x) { msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlist=ele.SelectNodes("*"); 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)); xlistview::SetItemText(lv_view.GetId(),nItem,1,e.getAttribute("Creator")); xlistview::SetItemText(lv_view.GetId(),nItem,2,e.getAttribute("CreateDate")); } } } return 1; } int onload() { lv_view = GetControl("lv_view"); xlistview::SetdwStyle(lv_view.GetId(),0); lv_view1 = GetControl("lv_view1"); //xlistview::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); OnAttachEvent(); Retrieve(""); RetrieveEx(); return 1; } }; ] jrj/project/business/Quote/XmShare.Quote.v3.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,177 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "saleorder.view.vd" unit trade [ class XmShareQuotev3 : public xframe { xdwgrid dw_list; xdwtable dw_paper; xnode m_agentNode; //Agent Condition int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ //SetAgent(); return 1; } int OnSave() { xml x = new xml; x.setNativePointer(x.CreateInstance()); dw_list.AcceptText(); dw_list.DwUpdateAllToEx(x.GetXmlDoc()); string val = x.GetXml(); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("content",val); //trace(val); if(url::get("/sale/data/UserGroup/update/entity", arg.GetString(),x)!=1) { string error = x.GetXmlDoc().text; //alert(error); return 1; }else { string str = x.GetXmlDoc().documentElement.getAttribute("text"); if(str == "true") { dw_list.ResetUpdateStatus(); alert("ä¿åæå!"); CloseWindow(); }else { alert("ä¿å失败!"); } //alert(x.GetXml()); } return 1; } int OnDelete() { int MB_OKCANCEL = 1; int IDOK = 1; int ret = win32::MessageBox(GetHWND(),"确认å é¤?","æç¤º",MB_OKCANCEL); if(ret == IDOK) { msxml::IXMLDOMElement ele = dw_list.GetRowElement(dw_list.GetRow()); string ID = ele.getAttribute("guid"); xml x = ViewObject::RetrieveData("/sale/data/Quote3/DeleteXmShare","ID",ID); string status = x.GetXml(); if(status.find("ok") == 1) { alert("å 餿å"); dw_list.DeleteRow(dw_list.GetRow()); }else { alert("å é¤å¤±è´¥"); } } return 0; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { if(comdid=="xmDelete") { OnDelete(); return 1; } else if(comdid=="xmSave") { OnSave(); return 1; } else if(comdid=="xmClose") { CloseWindow(); return 1; } return 0; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); } int OnRetrieve() { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = GetParam(); if(arg) { string UserID = arg.GetArgString("UserID"); //alert(UserID); x = ViewObject::RetrieveData("/sale/data/Quote3/XmShare","UserID",UserID); if(x)dw_list.Retrieve(x); dw_list.SetReadOnly(true); dw_list.Redraw(); } return 1; } int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Quote3/template/XmShare"); dw_list.SetColumnState("EntityUserGroupID",false); OnRetrieve(); OnAttachEvent(); return 1; } int onloaded() { //SetAgent(); return 1; } }; ] jrj/project/business/Quote/trade.document.saveas.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,118 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class DocFileSaveDlg: public xframe { xlistview lv_view; xnode m_agentNode; //Agent Condition int columnCount ; //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { if(comdid=="xmOk") { string filename = GetControl("filename").GetText(); if(filename=="") return 1; xaserverarg arg = GetParam(); if(!arg) return 1; arg.AddArg("result","ok"); arg.AddArg("filename",filename); CloseWindow(); return 1; } else if(comdid=="xmCancel") { CloseWindow(); return 1; } return 0; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); } int SetListViewHeaderColumn(string 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); columnCount = 3; return 1; } int Retrieve(string src) { xml x = ViewObject::RetrieveData("/sale/data/TDocument3/folder/list", "src",src); if(x) { msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlist=ele.SelectNodes("*"); 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)); xlistview::SetItemText(lv_view.GetId(),nItem,1,e.getAttribute("Creator")); xlistview::SetItemText(lv_view.GetId(),nItem,2,e.getAttribute("CreateDate")); } } } return 1; } int onload() { lv_view = GetControl("lv_view"); //xlistview::SetdwStyle(lv_view.GetId(),0); columnCount = 0; SetListViewHeaderColumn(""); OnAttachEvent(); if(GetParam()) { xaserverarg arg = GetParam(); string src = arg.GetArgString("src"); Retrieve(src); } return 1; } int onloaded() { //SetAgent(); return 1; } }; ] jrj/project/business/Quote/trade.document.selectdlg.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,246 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class DocSelectDlg: public xframe { //xdwgrid dw_list; xlistview lv_view; xnode m_agentNode; //Agent Condition int columnCount ; int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ //SetAgent(); return 1; } int OnListViewDoubleClicked(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ //SetAgent(); OnDocumentOpen(); CloseWindow(); return 1; } int OnDocumentOpen() { //return 1; int LVNI_ALL = 0x0000; int LVNI_FOCUSED = 0x0001; int LVNI_SELECTED = 0x0002; int LVNI_CUT = 0x0004; int LVNI_DROPHILITED = 0x0008; int nItem =xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED); if(nItem < 0) return 1; int LVIF_PARAM = 0x0004; lvitem lvItem; lvItem.iItem = nItem; lvItem.iSubItem = 0; lvItem.mask = LVIF_PARAM ; xlistview::GetItem(lv_view.GetId(), lvItem); msxml::IXMLDOMElement ele = trust(lvItem.lParam as msxml::IXMLDOMElement); 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; xaserverarg arg = GetParam(); if(arg) { arg.AddArg("result","ok"); if((arg.GetArgString("process")=="path" ||arg.GetArgString("process")=="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; } } /* 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()); */ xaserver::CreateDirectory("C:/Temp"); if(arg) { if(arg.GetArgString("process")=="data") { xml x = new xml; x.setNativePointer(xml ::CreateInstance()); xaserver::LoadUrl(GetServerUrl(),"/business/attachment/"+str+"/"+ file+".jpg","",x); arg.AddArg("data",x.GetXml()); return 1; } } int openRet = xaserver::DownLoadFile(GetServerUrl(),"/business/attachment/"+str+"/"+ file+".jpg","","C:/Temp/"+sfile+ext); //alert("/business/attachment/"+str+"/"+ file+".jpg"); if(openRet < 0) { alert("æä»¶æå¼å¤±è´¥1ï¼"); return -1; } //openRet = win32::ShellExecute(0,"open","C:/Temp/"+name,"","",5); openRet = win32::ShellExecute(0,"open","C:/Temp/"+sfile+ext,"","",5); if(openRet < 32) { alert("æä»¶æå¼å¤±è´¥2ï¼"); return -1; } return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { return 0; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); } /* 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) { trace(x.GetXmlDoc().text); return -1; }else { //dw_list.Retrieve(x); //dw_list.Redraw(); } return 1; } */ int SetListViewHeaderColumn(string Url) { const int LVCFMT_LEFT = 0; for(int i=0;i<3;i++) lv_view.DeleteColumn(lv_view.GetId(),1); //if(Url=="") //{ 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); columnCount = 3; //} return 1; } int Retrieve(string src) { xml x = ViewObject::RetrieveData("/sale/data/TDocument3/folder/list", "src",src); if(x) { msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement; msxml::IXMLDOMNodeList nlist=ele.SelectNodes("*"); 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)); xlistview::SetItemText(lv_view.GetId(),nItem,1,e.getAttribute("Creator")); xlistview::SetItemText(lv_view.GetId(),nItem,2,e.getAttribute("CreateDate")); } } } return 1; } int onload() { lv_view = GetControl("lv_view"); //xlistview::SetdwStyle(lv_view.GetId(),0); columnCount = 0; SetListViewHeaderColumn(""); AttachEvent("lv_view", "NM_DBLCLK",OnListViewDoubleClicked); if(GetParam()) { xaserverarg arg = GetParam(); string src = arg.GetArgString("src"); Retrieve(src); } return 1; } int onloaded() { //SetAgent(); return 1; } }; ] jrj/project/business/Quote/xmQuoteBillList.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,208 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class xmQuoteBillList : public xframe { xdwgrid dw_list; xnode m_agentNode; //Agent Condition int hObject = 0; string QuoteNo; string printStr; int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } int OnRowChanged(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); int row = hdr.row; SetAgent(); return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ SetAgent(); //trace(GetEntityID(1)); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { if(comdid=="xmImport") { if(GetParam()) { xaserverarg arg = GetParam(); arg.AddArg("items",printStr); arg.AddArg("action","ok"); } CloseWindow(); return 1; } if(comdid=="xmClose") { CloseWindow(); return 1; } if(comdid=="xmSearch") { OnRetrieve(QuoteNo); return 1; } if(comdid=="xmSelectAll") return SelectAll(); if(comdid=="xmUnSelectAll") return UnSelectAll(); return 0; } int OnDwClicked(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR); char ch; int row = hdr.row; string col = hdr.colname; string str = ""; if(dw_list.GetGuid(row) !="") { str = dw_list.GetItemString(row,"QuoteLineID"); } if(dw_list.IsRowSelected(row) & 0xff) { printStr = printStr.replace(" "+str,""); }else { printStr += " " + str; } return 1; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int SelectAll() { printStr=""; for(int row = 1; row <= dw_list.GetRowCount(); row++) { dw_list.SetItemString(row,"IsSend","1"); dw_list.SelectRow(row,true); string str = ""; if(dw_list.GetGuid(row) !="") { str = dw_list.GetItemString(row,"QuoteLineID"); printStr += " " + str; } } dw_list.Redraw(); return 1; } int UnSelectAll() { printStr=""; for(int row = 1; row <= dw_list.GetRowCount(); row++) { dw_list.SetItemString(row,"IsSend","0"); dw_list.SelectRow(row,false); } dw_list.Redraw(); return 1; } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent("dw_list","DWV_ROWFOCUSCHANGED",OnRowChanged); AttachEvent("dw_list","DWV_CLICKED",OnDwClicked); } int OnRetrieve(string QuoteNo) { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("QuoteNo",QuoteNo); if (getUrl("/sale/data/ProductLibrary3/QuoteBillList",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); return -1; }else { dw_list.Retrieve(x); dw_list.Redraw(); } dw_list.SetSelectionMode(3); dw_list.SetReadOnly(true); return 1; } int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Quote3/template/Quote/QuoteBillList"); if(GetParam()) { xaserverarg arg = GetParam(); QuoteNo=arg.GetArgString("QuoteNo"); OnRetrieve(arg.GetArgString("QuoteNo")); } OnRetrieve(QuoteNo); SelectAll(); OnAttachEvent(); return 1; } int onloaded() { SetAgent(); return 1; } }; ]