From ebb3b956d3c5e2ec8c2308e20d650c91fb08cc01 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期五, 28 六月 2024 18:04:59 +0800 Subject: [PATCH] update print view --- jrj/project/printview/Template.Print.Dialog.cpp | 162 ++++++++++++++++++++++++++++++------------------------ 1 files changed, 90 insertions(+), 72 deletions(-) diff --git a/jrj/project/printview/Template.Print.Dialog.cpp b/jrj/project/printview/Template.Print.Dialog.cpp index a2abeb4..e4624ec 100644 --- a/jrj/project/printview/Template.Print.Dialog.cpp +++ b/jrj/project/printview/Template.Print.Dialog.cpp @@ -1,20 +1,38 @@ -class TemplatePrintDialog : public responsewin +#include <wobject/xstring.hpp> +#include <xcontrol/xtreeview.hpp> +#include <xcontrol/xdwgrid.hpp> +#include <xcontrol/xlayersheet.hpp> + +#include "vbusiness/vframe/maint.vframe.vbusiness.hpp" +#include "viewobject/view.base.hpp" + +using xml = KXMLDOMDocument; + +class __declspec(dllexport) TemplatePrintDialog : public responsewin { +public: xaserverarg arg_param; - string m_EntityName; - string m_EntityID; - string m_EntityNo; - string m_Dir; - string m_filePath; - string strNode; + xstring m_EntityName; + xstring m_EntityID; + xstring m_EntityNo; + xstring m_Dir; + xstring m_filePath; + xstring strNode; xdwgrid dw_list; xdwgrid dw_doclist; xole ole_1; bool bupdate; - +public: + TemplatePrintDialog(void* implPtr, HWND hWnd) :maint(implPtr, hWnd) {} +public: + static TemplatePrintDialog* CreateInstance(void* implPtr, void* hWnd) + { + TemplatePrintDialog* pWin = new TemplatePrintDialog(implPtr, (HWND)hWnd); + return pWin; + } int OnHtml() { - string s1=L"<catalog>"+ + xstring s1=L"<catalog>"+ " <book id='bk101'>"+ " <author>Gambardella, Matthew</author>"+ " <title>XML Developer's Guide</title>"+ @@ -40,8 +58,8 @@ x.LoadXml(s1); //trace(x.GetXml()); - //string s2=L"<?xml version='1.0'?>"+ - string s2= + //xstring s2=L"<?xml version='1.0'?>"+ + xstring s2= "<xsl:stylesheet version='1.0'"+ " xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >"+ "<xsl:output method='xml' indent='yes'/>"+ @@ -75,7 +93,7 @@ xsl.LoadXml(s2); //trace(xsl.GetXml()); - string strHtml = x.GetXmlDoc().transformNode(xsl.GetXmlDoc()); + xstring strHtml = x.GetXmlDoc().transformNode(xsl.GetXmlDoc()); //strHtml = str.mid(21,99999); ole_1.LoadHtml(strHtml); //html_1.SetContent(strHtml); @@ -86,7 +104,7 @@ int OnRetrieve() { - string username = publiccode::GetUser().name; + xstring username = publiccode::GetUser().name; if(username != L"admin" && m_Dir != username ) { bupdate = false; @@ -94,20 +112,20 @@ { bupdate = true; } - xml x = new xml; - x.setNativePointer(xml::CreateInstance()); - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); + xml x; + + xaserverarg arg; + arg.AddArg(L"Entity",m_EntityName); arg.AddArg(L"Dir",m_Dir); dw_list.Reset(); - if (url::get(L"/sale/data/SysPrintTemplate/listDialog",arg.GetString(),x) != 1) + if (xurl::get(L"/sale/data/SysPrintTemplate/listDialog",arg.GetString(),x) != 1) { - trace(x.GetXmlDoc().text); + trace(x.text()); return -1; }else { - string s = x.GetXml(); + xstring s = x.xml(); dw_list.Retrieve(x); } dw_list.Redraw(); @@ -133,11 +151,11 @@ } else { - msxml::IXMLDOMElement ele = dw_list.GetRowElement(row); - string sguid = ele.selectSingleNode(L"ID").text; - string sTemplName = ele.selectSingleNode(L"TemplName").text; - //string sFile = m_filePath + sguid+L".xsl"; - string sFile = m_filePath + ele.selectSingleNode(L"urlPath").text; + KXMLDOMElement ele = dw_list.GetRowElement(row); + xstring sguid = ele.selectSingleNode(L"ID").text(); + xstring sTemplName = ele.selectSingleNode(L"TemplName").text(); + //xstring sFile = m_filePath + sguid+L".xsl"; + xstring sFile = m_filePath + ele.selectSingleNode(L"urlPath").text(); arg_param.AddArg(L"xsl",sFile); arg_param.AddArg(L"return",L"cancel"); @@ -159,11 +177,11 @@ alert(L"请选择模板目录!"); return 0; } - string sguid = publiccode::GetGuid(); - string sname= sguid +L".xsl"; - string suri= L"rpttemplate"+L"\\"+m_EntityName; //rpttemplate\SO + xstring sguid = publiccode::GetGuid(); + xstring sname= sguid +L".xsl"; + xstring suri= L"rpttemplate"+L"\\"+m_EntityName; //rpttemplate\SO //suri = L"supplier00"; - string ret = xaserver::UploadFile(suri, sname, this.GetHWND(),L"",false); + xstring ret = xaserver::UploadFile(suri, sname, this.GetHWND(),L"",false); if (ret == L"-1") { alert(L"上传的文件没选择!"); @@ -213,8 +231,8 @@ { if (win32::MessageBox(GetHWND(),L"确定要删除选中的模板?",L"提示",1) == 2) return 0; - msxml::IXMLDOMElement ele = dw_list.GetRowElement(row); - string sguid = ele.selectSingleNode(L"ID").text; + KXMLDOMElement ele = dw_list.GetRowElement(row); + xstring sguid = ele.selectSingleNode(L"ID").text; xml x=new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg args = new xaserverarg; @@ -255,8 +273,8 @@ int OnOpenDocument() { if(dw_doclist.GetRowCount() < 1) return 1; - string documentid = dw_doclist.GetRowElement(dw_doclist.GetRow()).getAttribute(L"guid"); - //string billid = dw_docList + xstring documentid = dw_doclist.GetRowElement(dw_doclist.GetRow()).getAttribute(L"guid"); + //xstring billid = dw_docList arg_param.AddArg(L"DocumentID",documentid); arg_param.AddArg(L"return",L"ok"); arg_param.AddArg(L"action",L"open"); @@ -274,17 +292,17 @@ } else { - msxml::IXMLDOMElement ele = dw_list.GetRowElement(row); + KXMLDOMElement ele = dw_list.GetRowElement(row); trace(L"\r\n---------------"); trace(ele.xml); - string sguid = ele.selectSingleNode(L"ID").text; - string pre = L""; + xstring sguid = ele.selectSingleNode(L"ID").text; + xstring pre = L""; if(ele.selectSingleNode(L"TemplPre")) pre = ele.selectSingleNode(L"TemplPre").text; - string sTemplName = ele.selectSingleNode(L"TemplName").text; - //string sFile = m_filePath + sguid+L".xsl"; + xstring sTemplName = ele.selectSingleNode(L"TemplName").text; + //xstring sFile = m_filePath + sguid+L".xsl"; trace(sTemplName); - string sFile = m_filePath + ele.selectSingleNode(L"urlPath").text; + xstring sFile = m_filePath + ele.selectSingleNode(L"urlPath").text; arg_param.AddArg(L"xsl",sFile); arg_param.AddArg(L"return",L"ok"); arg_param.AddArg(L"template-name",sTemplName); @@ -319,7 +337,7 @@ //xwin::ReadFile(hFile,pMemory,MEMSIZE - 1,SizeReadWrite,0); int filesize = xwin::GetFileSize(hFile,0); trace(L"filesize = %d",filesize); - string buffer = L"".space(filesize+1); + xstring buffer = L"".space(filesize+1); int readsize = new int; xwin::ReadFile(hFile,buffer,filesize,readsize,0); trace(buffer); @@ -363,19 +381,19 @@ return 1; } - int PreOnCmdDispatch(string comdid) + int PreOnCmdDispatch(xstring comdid) { //返回0——不在执行以下代码;返回其他——执行以下代码。 if(comdid.left(8) == L"xmPanel:"){ - string no = comdid.mid(8, 99); + xstring no = comdid.mid(8, 99); //int id = no.toInt(); xml x = new xml; x.setNativePointer(xml::CreateInstance()); x.LoadXml(strNode); - msxml::IXMLDOMDocument doc= x.GetXmlDoc(); - msxml::IXMLDOMElement e = doc.documentElement; - string slable =e.selectSingleNode(L"//xtoolbutton[@name='"+comdid+L"']/@caption").text; + KXMLDOMDocument doc= x.GetXmlDoc(); + KXMLDOMElement e = doc.documentElement; + xstring slable =e.selectSingleNode(L"//xtoolbutton[@name='"+comdid+L"']/@caption").text; m_Dir = slable; OnRetrieve(); @@ -416,14 +434,14 @@ { PUser puser = new PUser; puser = publiccode::GetUser(); - string susername = puser.name; + xstring susername = puser.name; if (susername !=L"admin") { - string xfNodeAgentArea = L"DirButton"; + xstring xfNodeAgentArea = L"DirButton"; xnode anode = GetAgentNode(xfNodeAgentArea); - msxml::IXMLDOMElement xframeElement = GetElement(); - string tools=L"<vbox name='DirButton' height='48' />"; - SetAgentNodeContent(anode, tools); + KXMLDOMElement xframeElement = GetElement(); + xstring tools=L"<vbox name='DirButton' height='48' />"; + SetAgentNode(anode, tools); } return 1; } @@ -432,7 +450,7 @@ { PUser puser = new PUser; puser = publiccode::GetUser(); - string susername = puser.name; + xstring susername = puser.name; xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; @@ -446,19 +464,19 @@ return -1; }else { - string s = x.GetXml(); + xstring s = x.GetXml(); } - msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().selectNodes(L"//Entity"); + KXMLDOMNodeList nlist = x.GetXmlDoc().selectNodes(L"//Entity"); int i; int nlen = nlist.length; - string toolStr = L"<vbox name='Dir'>"; - string deptName= publiccode::GetUser().deptname; + xstring toolStr = L"<vbox name='Dir'>"; + xstring deptName= publiccode::GetUser().deptname; if(deptName==L"跟单部" && m_EntityName==L"GDN3"){ for(i=2; i<nlen; i++) { - msxml::IXMLDOMElement e1 = nlist.item(i); - string sDir1 = e1.selectSingleNode(L"@Dir").text; - string str1 = L"<xtoolbutton image='15' caption='"+sDir1+L"' height='24' name='xmPanel:"+i.toString()+L"' style='background-color:none #ceecce none #ffffff'/>"; + KXMLDOMElement e1 = nlist.item(i); + xstring sDir1 = e1.selectSingleNode(L"@Dir").text; + xstring str1 = L"<xtoolbutton image='15' caption='"+sDir1+L"' height='24' name='xmPanel:"+i.toString()+L"' style='background-color:none #ceecce none #ffffff'/>"; toolStr += str1; if (i==2) @@ -468,9 +486,9 @@ { for(i=1; i<2; i++) { - msxml::IXMLDOMElement e2 = nlist.item(i); - string sDir2 = e2.selectSingleNode(L"@Dir").text; - string str2 = L"<xtoolbutton image='15' caption='"+sDir2+L"' height='24' name='xmPanel:"+i.toString()+L"' style='background-color:none #ceecce none #ffffff'/>"; + KXMLDOMElement e2 = nlist.item(i); + xstring sDir2 = e2.selectSingleNode(L"@Dir").text; + xstring str2 = L"<xtoolbutton image='15' caption='"+sDir2+L"' height='24' name='xmPanel:"+i.toString()+L"' style='background-color:none #ceecce none #ffffff'/>"; toolStr += str2; if (i==1) @@ -478,18 +496,18 @@ } for(i=4; i<nlen; i++) { - msxml::IXMLDOMElement e3 = nlist.item(i); - string sDir3 = e3.selectSingleNode(L"@Dir").text; - string str3 = L"<xtoolbutton image='15' caption='"+sDir3+L"' height='24' name='xmPanel:"+i.toString()+L"' style='background-color:none #ceecce none #ffffff'/>"; + KXMLDOMElement e3 = nlist.item(i); + xstring sDir3 = e3.selectSingleNode(L"@Dir").text; + xstring str3 = L"<xtoolbutton image='15' caption='"+sDir3+L"' height='24' name='xmPanel:"+i.toString()+L"' style='background-color:none #ceecce none #ffffff'/>"; toolStr += str3; } }else{ for(i=0; i<nlen; i++) { - msxml::IXMLDOMElement e = nlist.item(i); - string sDir = e.selectSingleNode(L"@Dir").text; - string str = L"<xtoolbutton image='15' caption='"+sDir+L"' height='24' name='xmPanel:"+i.toString()+L"' style='background-color:none #ceecce none #ffffff'/>"; + KXMLDOMElement e = nlist.item(i); + xstring sDir = e.selectSingleNode(L"@Dir").text; + xstring str = L"<xtoolbutton image='15' caption='"+sDir+L"' height='24' name='xmPanel:"+i.toString()+L"' style='background-color:none #ceecce none #ffffff'/>"; toolStr += str; if (i==0) @@ -501,7 +519,7 @@ strNode = toolStr; //trace(toolStr); xnode anode = GetAgentNode(L"Dir"); - xwin::SetAgentNodeContent(anode,toolStr) ; + xwin::SetAgentNode(anode,toolStr) ; OnRetrieve(); return 1; @@ -519,7 +537,7 @@ dw_doclist = GetControl(L"dw_doclist"); dw_doclist.openUrl(L"/sale/view/GDN/template/doclist"); - string sUrl = GetServerUrl(); + xstring sUrl = GetServerUrl(); sUrl = sUrl.mid(0, sUrl.length() - 19); m_filePath = L"/business/rpttemplate"; arg_param = new xaserverarg; @@ -540,7 +558,7 @@ x.setNativePointer(xml::CreateInstance()); if(url::get(L"/sale/data/DocumentList3/bill/doclist", arg.GetString(),x)!=1) { - string error = x.GetXmlDoc().text; + xstring error = x.GetXmlDoc().text; trace(error); }else { @@ -570,7 +588,7 @@ /*if (GetParam()) { - string action = arg_param.GetArgString(L"action"); + xstring action = arg_param.GetArgString(L"action"); if(action==L"open" || (action==L"" && dw_doclist.GetRowCount() > 0)) SwitchLayer(L"sheet2",L"frame"); } @@ -585,7 +603,7 @@ /*if (GetParam()) { - string action = arg_param.GetArgString(L"action"); + xstring action = arg_param.GetArgString(L"action"); if(action==L"open" || (action==L"" && dw_doclist.GetRowCount() > 0)) SwitchLayer(L"sheet2",L"frame"); } -- Gitblit v1.9.3