From 703d27d52ba0ac373b62aedb93f9cfe9f8857ed2 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期三, 25 九月 2024 17:19:56 +0800 Subject: [PATCH] update --- jrj/project/business/QuoteFile.cpp | 21 ++++++ jrj/project/business/Quote/QuoteFilePurch2Select.cpp | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++ jrj/ext-jrj/ext-jrj.vcxproj | 1 3 files changed, 171 insertions(+), 2 deletions(-) diff --git a/jrj/ext-jrj/ext-jrj.vcxproj b/jrj/ext-jrj/ext-jrj.vcxproj index 141efbd..30ebd76 100644 --- a/jrj/ext-jrj/ext-jrj.vcxproj +++ b/jrj/ext-jrj/ext-jrj.vcxproj @@ -882,6 +882,7 @@ <ClCompile Include="..\project\business\Quote\QuoteFilePurch.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> + <ClCompile Include="..\project\business\Quote\QuoteFilePurch2Select.cpp" /> <ClCompile Include="..\project\business\Quote\QuoteFilePurched.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> diff --git a/jrj/project/business/Quote/QuoteFilePurch2Select.cpp b/jrj/project/business/Quote/QuoteFilePurch2Select.cpp new file mode 100644 index 0000000..702a620 --- /dev/null +++ b/jrj/project/business/Quote/QuoteFilePurch2Select.cpp @@ -0,0 +1,151 @@ +#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 <xcontrol/xshtml.hpp> + + +#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" +#include "viewobject/view.base.hpp" + +using xml = KXMLDOMDocument; +class __declspec(dllexport) QuoteFilePurch2Select : public xframe +{ +public: + xdwgrid dw_process; + + xnode m_agentNode; //Agent Condition + xstring EntityID; + +public: + QuoteFilePurch2Select(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} +public: + static QuoteFilePurch2Select* CreateInstance(void* implPtr, void* hWnd) + { + return new QuoteFilePurch2Select(implPtr, (HWND)hWnd); + } + + int SetAgent() + { + return 1; + } + + int OnRowChanged(TEvent* evt, LPARAM p) + { + //fixed one event only one process + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + int row = hdr.row; + KXMLDOMElement ele = dw_process.GetRowElement(row); + + xaserverarg arg ; + arg.AddArg(L"content", ele.xml()); + xml doc; + if (getUrl(L"/sale/data/vpage/vstart/task", arg.GetString(), doc) != 1) + { + trace((xstring)L"error->:" + doc.xml()); + return 0; + } + if ((xstring)doc.xml() == L"") + return -1; + + xshtml ht = GetControl(L"taskinfo"); + ht.SetContent(doc.xml()); + ht.Redraw(); + return 1; + } + + int RetrieveData() + { + xml x = ViewObject::RetrieveData(L"/sale/data/business/list/task/quote/enquiry", L"Category", L"QuoteEnquiry", + L"EntityID", EntityID); + dw_process.Retrieve(x); + dw_process.Redraw(); + dw_process.SetReadOnly(true); + return 1; + } + + //焦点激活处理函数 + int OnSetFocus(TEvent* evt, LPARAM param) + { + //重置工具条 + SetAgent(); + return 1; + } + + //命令发布函数 + int OnCmdDispatch(xstring comdid) + { + if (comdid == L"xmOk") + { + int row = dw_process.GetRow(); + if (row > 0) + { + xstring TaskID = dw_process.GetItemString(row, L"taskid"); + if (GetWinParam()) + { + xaserverarg arg = GetArg(); + arg.AddArg(L"TaskID", TaskID); + CloseWindow(); + return 1; + } + } + return 1; + } + if (comdid == L"xmCancel") + { + CloseWindow(); + return 1; + } + + return 0; + } + + //命令处理事件 + int OnXCommand(TEvent* evt, int param) + { + return OnCmdDispatch(evt->xcommand.pStrID); + } + + + int OnAttachEvent() + { + //绑定工具条点击事件 + AttachEvent(L"WM_XCOMMAND", (FEvent)&QuoteFilePurch2Select::OnXCommand); + //获取焦点事件,用于重置工具条 + //AttachEvent("WM_SETFOCUS",OnSetFocus); + AttachEvent(L"dw_process", L"DWV_ROWFOCUSCHANGED", (FEvent)&QuoteFilePurch2Select::OnRowChanged); + //AttachEvent("dw_process","DWV_ASKSTYLE",OnItemAskStyle); + //AttachEvent("dw_process","DWV_DOUBLECLICKED",OnDoubleClicked); + return 1; + } + + int onload() + { + SetArg(); + //dw_process = GetControl("xxx"); + //dw_process.openUrl("xxx"); + dw_process = GetControl(L"dw_process"); + dw_process.openUrl(L"/sale/view/Business3/template/QuoteFilePurchrList"); + dw_process.SetColumnState(L"taskid", false); + dw_process.SetColumnState(L"EntityID", false); + dw_process.SetColumnState(L"Category", false); + dw_process.SetColumnState(L"content2", false); + dw_process.SetAskStyle(true); + + EntityID = L""; + if (GetWinParam()) + { + xaserverarg arg = GetArg(); + EntityID = arg.GetArgString(L"EntityID"); + arg.AddArg(L"TaskID", L""); + } + + OnAttachEvent(); + RetrieveData(); + + return 1; + } + +}; \ No newline at end of file diff --git a/jrj/project/business/QuoteFile.cpp b/jrj/project/business/QuoteFile.cpp index 8cc020a..c1a716a 100644 --- a/jrj/project/business/QuoteFile.cpp +++ b/jrj/project/business/QuoteFile.cpp @@ -3445,6 +3445,10 @@ //if(makeMessage(L"/task/quote/purchar/backtosaler")==-1) return 1; return OnSaleBack(); } + else if (comdid == L"xmPurch2") + { + return OnPurch2(); + } else if (comdid == L"xmPurch") { return OnPurch(); @@ -3554,10 +3558,10 @@ if (action == L"purch") { int crow = dw_cell.GetRow(); - xstring cmd = comdid.mid(3, comdid.length()); - if (getRowID(dw_cell, crow) == L"") SendCtrlCmd(dw_cell, cmd); + if (getRowID(dw_cell, crow) == L"") SendCtrlCmd(dw_cell, comdid); return 1; } + return 1; } return 0; } @@ -3592,6 +3596,19 @@ return 1; } + int OnPurch2() + { + xaserverarg arg; + arg.AddArg(L"EntityID", entityID); + OpenWindow(L"dev:xpage[QuoteFilePurch2Select.vx]", arg); + xstring taskID = arg.GetArgString(L"TaskID"); + if (taskID != L"") + { + ProcessSendMessage(L"/task/quote/repurch", taskID, L"", L"", true); + } + return 1; + } + int OnSaveEx(bool balert = false) { //dw_cell.AcceptText(); -- Gitblit v1.9.3