From 3cc879bd09b69310d905b843aadc2d0abd67513b Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期四, 17 四月 2025 14:25:04 +0800 Subject: [PATCH] update --- jrj/project/business/SystemSettings/CommentaryEx.dialog.cpp | 264 ++++++++++++++++++++++++++++------------------------ 1 files changed, 140 insertions(+), 124 deletions(-) diff --git a/jrj/project/business/SystemSettings/CommentaryEx.dialog.cpp b/jrj/project/business/SystemSettings/CommentaryEx.dialog.cpp index 0c49a7e..82376a5 100644 --- a/jrj/project/business/SystemSettings/CommentaryEx.dialog.cpp +++ b/jrj/project/business/SystemSettings/CommentaryEx.dialog.cpp @@ -1,167 +1,181 @@ -use "xcontrol.vframe.vbusiness.vd" -use "xbase.vframe.vbusiness.vd" -use "publiccode.vutil.vbusiness.vd" +#include <wobject/xstring.hpp> +#include <xcontrol/xtreeview.hpp> +#include <xcontrol/xdwgrid.hpp> +#include <wobject/xdouble.hpp> +#include <xcontrol/xlayersheet.hpp> -unit business -[ - class CommentaryEx : public xframe +#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" +#include "viewobject/view.base.hpp" +#include "xcontrol/xshtml.hpp" + +using xml = KXMLDOMDocument; +class __declspec(dllexport) CommentaryEx : public xframe +{ +public: + CommentaryEx(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd), m_Edit(nullptr) {} +public: + static CommentaryEx* CreateInstance(void* implPtr, void* hWnd) { - string m_EntityID; - string m_EntityType; - string m_EntityConnect; - string m_ConnectID; + CommentaryEx* pWin = new CommentaryEx(implPtr, (HWND)hWnd); + return pWin; + } +public: + xstring m_EntityID; + xstring m_EntityType; + xstring m_EntityConnect; + xstring m_ConnectID; xcontrol m_Edit; - htmlctrl m_Html; + xshtml m_Html; xcombobox m_cb; int Init() { - if (m_EntityID == "") return -1; + if (m_EntityID == L"") return -1; - xml x = new xml; - x.setNativePointer(x.CreateInstance()); - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("EntityID", m_EntityID); - arg.AddArg("EntityType", m_EntityType); - arg.AddArg("EntityConnect", m_EntityConnect); - if (url::get("/sale/data/Commentary/entity/notelist", arg.GetString(), x) == 1) + xml x; + xaserverarg arg; + arg.AddArg(L"EntityID", m_EntityID); + arg.AddArg(L"EntityType", m_EntityType); + arg.AddArg(L"EntityConnect", m_EntityConnect); + if (xurl::get(L"/sale/data/Commentary/entity/notelist", arg.GetString(), x) == 1) { - m_Html.SetContent(x.GetXml()); + m_Html.SetContent(x.xml()); m_Html.Redraw(); } return 1; } - int AppendItem(xml x, msxml::IXMLDOMElement r, string name, string value) + int AppendItem(xml x, KXMLDOMElement r, xstring name, xstring value) { - msxml::IXMLDOMElement e = x.GetXmlDoc().createElement(name); - e.text = value; + KXMLDOMElement e = x.createElement(name); + e.settext(value); r.appendChild(e); return 1; } int showAtt() { - xnode anode = GetAgentNode("att"); - int s = xcombobox::GetCount(m_cb.GetId()); - xml x = new xml; - x.setNativePointer(xml::CreateInstance()); - x.LoadXml("<vbox/>"); - msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement; + xnode anode = GetAgentNode(L"att"); + int s = m_cb.GetCount(); + xml x ; + x.loadXML(L"<vbox/>"); + + KXMLDOMElement ele = x.documentElement(); int i = 0; for (i = 0; i < s; i++) { - string tmp = xcombobox::GetLBText(m_cb.GetId(), i); - msxml::IXMLDOMElement e = x.GetXmlDoc().createElement("hbox"); - e.setAttribute("height", "20"); - msxml::IXMLDOMElement l = x.GetXmlDoc().createElement("xlabel"); - l.setAttribute("caption", "" + tmp); - msxml::IXMLDOMElement b = x.GetXmlDoc().createElement("xtoolbutton"); - b.setAttribute("width", "18"); - b.setAttribute("name", "att_" + i.toString()); - b.setAttribute("image", "1,5"); + xstring tmp = m_cb.GetLBText(i); + KXMLDOMElement e = x.createElement(L"hbox"); + e.setAttribute(L"height", L"20"); + KXMLDOMElement l = x.createElement(L"xlabel"); + l.setAttribute(L"caption", L"" + tmp); + KXMLDOMElement b = x.createElement(L"xtoolbutton"); + b.setAttribute(L"width", L"18"); + b.setAttribute(L"name", L"att_" + xstring(i)); + b.setAttribute(L"image", L"1,5"); e.appendChild(l); e.appendChild(b); ele.appendChild(e); - msxml::IXMLDOMElement g = x.GetXmlDoc().createElement("xlabel"); - g.setAttribute("height", "2"); - g.setAttribute("style", "background-color:#000000"); + KXMLDOMElement g = x.createElement(L"xlabel"); + g.setAttribute(L"height", L"2"); + g.setAttribute(L"style", L"background-color:#000000"); ele.appendChild(g); } - SetAgentNodeContent(anode, ele.xml); + SetAgentNode(anode, ele.xml()); anode.SetWidthHeight(-1, i * 20 + 1); return 1; } int addAtt() { - string guid = publiccode::GetGuid(); - string str = guid.left(2); - string ret = xaserver::UploadFile("attachment" + str, guid + ".jpg", this.GetHWND(), "", false); - int nIndex = xcombobox::AddItem(m_cb.GetId(), ret, guid + ".jpg"); + xstring guid = publiccode::GetGuid(); + xstring str = guid.left(2); + xstring ret = xaserver::UploadFile(L"attachment" + str, guid + L".jpg", GetHWND(), L"", false); + int nIndex = m_cb.AddItem(ret.c_str(true), (guid + L".jpg").c_str(true)); showAtt(); return 1; } - int delAtt(string no) + int delAtt(xstring no) { int nIndex = no.toInt(); - xcombobox::DeleteItem(m_cb.GetId(), nIndex); + m_cb.DeleteItem(nIndex); showAtt(); return 1; } - msxml::IXMLDOMElement getAtt() + KXMLDOMElement getAtt() { - int s = xcombobox::GetCount(m_cb.GetId()); - xml x = new xml; - x.setNativePointer(xml::CreateInstance()); - x.LoadXml("<Attachment/>"); - msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement; + int s = m_cb.GetCount(); + xml x; + x.loadXML(L"<Attachment/>"); + KXMLDOMElement ele = x.documentElement(); int i = 0; for (i = 0; i < s; i++) { - string tmp = xcombobox::GetLBText(m_cb.GetId(), i); - string tmp2 = xcombobox::GetItemData(m_cb.GetId(), i); - msxml::IXMLDOMElement e = x.GetXmlDoc().createElement("item"); - e.setAttribute("name", "" + tmp); - e.setAttribute("file", "" + tmp2); + xstring tmp = m_cb.GetLBText(i); + xstring tmp2 = m_cb.GetItemData( i); + KXMLDOMElement e = x.createElement(L"item"); + e.setAttribute(L"name", L"" + tmp); + e.setAttribute(L"file", L"" + tmp2); ele.appendChild(e); } return ele; } //命令发布函数 - int OnCmdDispatch(string comdid) + int OnCmdDispatch(xstring comdid) { - if (comdid == "xmOK") + if (comdid == L"xmOK") { - if (m_EntityID == "") return 1; + if (m_EntityID == L"") return 1; - xml x = new xml; - x.setNativePointer(xml::CreateInstance()); - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - string value = m_Edit.GetText(); - if (value == "") + xml x ; + xaserverarg arg; + + xstring value = m_Edit.GetText(); + if (value == L"") { - alert("请填写批注!"); - return 1; + int s = m_cb.GetCount(); + if (s < 1) + { + alert(L"请填写批注!"); + return 1; + } } - x.LoadXml("<Commentary update.new='1' update.modify='1'/>"); - msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement; - AppendItem(x, ele, "CommentaryID", publiccode::GetGuid()); - AppendItem(x, ele, "EntityID", m_EntityID); - AppendItem(x, ele, "EntityType", m_EntityType); - AppendItem(x, ele, "Remark", value); - AppendItem(x, ele, "ParentConnect", m_EntityConnect); - AppendItem(x, ele, "ParentCommentaryID", m_ConnectID); - AppendItem(x, ele, "CreatorID", xaserver::GetUserId()); + x.loadXML(L"<Commentary update.new='1' update.modify='1'/>"); + KXMLDOMElement ele = x.documentElement(); + AppendItem(x, ele, L"CommentaryID", publiccode::GetGuid()); + AppendItem(x, ele, L"EntityID", m_EntityID); + AppendItem(x, ele, L"EntityType", m_EntityType); + AppendItem(x, ele, L"Remark", value); + AppendItem(x, ele, L"ParentConnect", m_EntityConnect); + AppendItem(x, ele, L"ParentCommentaryID", m_ConnectID); + AppendItem(x, ele, L"CreatorID", xaserver::GetUserId()); ele.appendChild(getAtt()); - arg.AddArg("content", "<root>" + ele.xml + "</root>"); + arg.AddArg(L"content", (xstring)L"<root>" + ele.xml() + L"</root>"); - if (getUrl("/workflow/action/Commentary/bill.update", arg.GetString(), x) == 1) + if (getUrl(L"/workflow/action/Commentary/bill.update", arg.GetString(), x) == 1) { - m_Edit.SetText(""); - xcombobox::ResetContent(m_cb.GetId()); + m_Edit.SetText(L""); + m_cb.ResetContent(); Init(); showAtt(); return 1; } else { - alert("添加失败!"); + alert(L"添加失败!"); return -1; } } - else if (comdid == "xmAtt") + else if (comdid == L"xmAtt") { addAtt(); } - else if (comdid.left(4) == "att_") + else if (comdid.left(4) == L"att_") { delAtt(comdid.right(comdid.length() - 4)); } @@ -173,78 +187,80 @@ } //命令处理事件 - int OnXCommand(ref TXCommandEvent evt, int param) + int OnXCommand(TEvent* evt, LPARAM param) { - return OnCmdDispatch(evt.pStrID); + return OnCmdDispatch(evt->xcommand.pStrID); } - int OnHtmlClick(ref TNotifyEvent evt, int pr) + int OnHtmlClick(TEvent* evt, LPARAM pr) { - ref HTMLNMHDR p = evt.pnmh; - 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()); + /* + HTMLNMHDR& p = evt->pnmh; + 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"); - string str = file.left(2); - string ext = ""; - if (name.find(".") >= 0) ext = name.mid(name.find("."), name.length()); - string sfile = file.left(file.length() - 4); - //trace("--"+ext +" " + "/business/attachment/"+str+"/"+ file); - //int openRet = xaserver::DownLoadFile(GetServerUrl(),"/business/attachment/"+str+"/"+ file,name,"C:/Temp/"+name); - int openRet = xaserver::DownLoadFile(GetServerUrl(), "/business/attachment/" + str + "/" + file, "", "C:/Temp/" + sfile + ext); + xaserver::CreateDirectory(L"C:/Temp"); + xstring str = file.left(2); + xstring ext = L""; + if (name.find(L".") >= 0) ext = name.mid(name.find(L"."), name.length()); + xstring sfile = file.left(file.length() - 4); + //trace(L"--"+ext +L" " + L"/business/attachment/"+str+L"/"+ file); + //int openRet = xaserver::DownLoadFile(GetServerUrl(),L"/business/attachment/"+str+L"/"+ file,name,L"C:/Temp/"+name); + int openRet = xaserver::DownLoadFile(GetServerUrl(), L"/business/attachment/" + str + L"/" + file, L"", L"C:/Temp/" + sfile + ext); 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 = win32::ShellExecute(0,L"open",L"C:/Temp/"+name,L"",L"",5); + openRet = ShellExecuteW(0, L"open", L"C:/Temp/" + sfile + ext, L"", L"", 5); if (openRet < 32) { - alert("文件打开失败2!"); + alert(L"文件打开失败2!"); return -1; } - + */ return -1; } int OnAttachEvent() { //绑定工具条点击事件 - AttachEvent("WM_XCOMMAND", OnXCommand); - AttachEvent("note", "HTC_OBJECTCLICKED", OnHtmlClick); + AttachEvent(L"WM_XCOMMAND", (FEvent)&CommentaryEx::OnXCommand); + AttachEvent(L"note", L"HTC_OBJECTCLICKED", (FEvent)&CommentaryEx::OnHtmlClick); + return 1; } int onload() { + SetArg(); OnAttachEvent(); - m_Edit = GetControl("Txt"); + m_Edit = GetControl(L"Txt"); - m_Html = GetControl("note"); + m_Html = GetControl(L"note"); - m_cb = GetControl("attlist"); + m_cb = GetControl(L"attlist"); - m_EntityID = ""; - m_EntityType = ""; - m_EntityConnect = ""; - m_ConnectID = ""; + m_EntityID = L""; + m_EntityType = L""; + m_EntityConnect = L""; + m_ConnectID = L""; - if (this.GetParam()) + if (GetWinParam()) { //xaserverarg arg = new xaserverarg; //arg.setNativePointer(GetParam()); - xaserverarg arg = GetParam(); - m_EntityID = arg.GetArgString("EntityID"); - m_EntityType = arg.GetArgString("m_EntityType"); - m_EntityConnect = arg.GetArgString("m_EntityConnect"); + xaserverarg arg = GetArg(); + m_EntityID = arg.GetArgString(L"EntityID"); + m_EntityType = arg.GetArgString(L"m_EntityType"); + m_EntityConnect = arg.GetArgString(L"m_EntityConnect"); } Init(); return 1; } - }; -] \ No newline at end of file + }; \ No newline at end of file -- Gitblit v1.9.3