þÿ#include <wobject/xstring.hpp> #include <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) asklistOwnerSupplierv3 : public xframe { public: xnode m_agentNode; //Agent Condition xstring m_agentCond; //Agent Node xdwgrid dw_list; public: asklistOwnerSupplierv3(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static asklistOwnerSupplierv3* CreateInstance(void* implPtr, void* hWnd) { asklistOwnerSupplierv3* pWin = new asklistOwnerSupplierv3(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if (m_agentNode) { SetAgentNode(anode, m_agentNode); } else { KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/" + xfNodeAgentArea + L"[1]/*"); if (agent) { xstring s = agent.xml(); m_agentNode = SetAgentNode(anode, s); } } return 1; } //q&p¹oÀm;YtQýep int OnSetFocus(TEvent* evt, LPARAM p) { //‘Ín]åQwga SetAgent(); return 1; } int OnRetrieve() { xml x ; xaserverarg arg ;; if (getUrl(L"/sale/data/SupplierV3/entity/owner/asklist", arg.GetString(), x) != 1) { return -1; } else { dw_list.Retrieve(x); dw_list.Redraw(); dw_list.SetReadOnly(true); } return 1; } int OnOpen() { xaserverarg arg ;; if (dw_list.GetRowCount() < 1) return 1; //alert(dw_list.GetItemString(dw_list.GetRow(),L"SupplierID")); arg.AddArg(L"EntityID", dw_list.GetItemString(dw_list.GetRow(), L"SupplierID")); //OpenWindow(L"dev:xpage[maint.Owner.Supplier.v3.vx]",cast(arg as int)); arg.AddArg(L"config", L"/sale/view/SupplierV3/config/supplier/open"); OpenWindow(L"dev:xpage[maintex.Owner.Supplier.v3.vx]", arg); return 1; } int OnDoubleClicked(TEvent * evt, int p) { HCURSOR hCursor = xutil::SetCursorWait(); OnCmdDispatch(L"xmMaint"); xutil::RestoreCursor(hCursor); return 1; } int OnAttachEvent() { //~Ñ[š]åQwgap¹QûN‹Nö AttachEvent(L"WM_XCOMMAND", (FEvent)&asklistOwnerSupplierv3::OnXCommand); //ƒ·SÖq&p¹N‹Nöÿ u(NŽ‘Ín]åQwga AttachEvent(L"WM_SETFOCUS", (FEvent)&asklistOwnerSupplierv3::OnSetFocus); AttachEvent(L"dw_list", L"DWV_DOUBLECLICKED", (FEvent) & asklistOwnerSupplierv3::OnDoubleClicked); return 1; } //T}NäYtN‹Nö int OnXCommand(TEvent* evt, LPARAM p) { return OnCmdDispatch(evt->xcommand.pStrID); } int OnCmdDispatch(xstring comdid) { if (comdid == L"xmMaint") { return OnOpen(); } else if (comdid == L"xmRefresh") { return OnRetrieve(); } else if (comdid == L"xmBack") { return OnBack(); } else if (comdid == L"xmToSupplier") { return OnToSupplier(); } else if (comdid == L"note") { return OnNote(); } return 1; } int OnNote() { xaserverarg arg ;; arg.AddArg(L"EntityID", dw_list.GetItemString(dw_list.GetRow(), L"SupplierID")); OpenWindow(L"dev:xpage[CommentaryEx.dialog.vx]", arg); return 1; } int SendNotice() { xstring NO = dw_list.GetItemString(dw_list.GetRow(), L"PartyNo"); xstring Subject = dw_list.GetItemString(dw_list.GetRow(), L"Name") + L"ÿVސkc_O›^”UF"; xstring EntityID = dw_list.GetItemString(dw_list.GetRow(), L"SupplierID"); xstring Category = L"O›^”UFVސ"; xstring Reciever = dw_list.GetItemString(dw_list.GetRow(), L"userNo"); xstring Content = L""; xml x = ViewObject::AddMessage( Category, Reciever, NO, EntityID, Subject, Content); return 1; } int OnBack() { if (dw_list.GetRow() < 1) return 1; int MB_YESNO = 0x00000004; int IDYES = 6; if (MessageBoxW(GetHWND(), L"Vސ" + dw_list.GetItemDisplayString(dw_list.GetRow(), L"Name") + L"u3‹÷?", L"cÐy:", MB_YESNO) != IDYES) return 1; xml x ; xaserverarg arg ;; arg.AddArg(L"SupplierID", dw_list.GetItemString(dw_list.GetRow(), L"SupplierID")); // trace(sguid); if (xurl::post(L"/sale/data/SupplierV3/entity/ask2owner", arg.GetString(), x) != 1) { xstring error = x.text(); trace(error); } SendNotice(); OnRetrieve(); return 1; } int OnToSupplier() { if (dw_list.GetRow() < 1) return 1; int MB_YESNO = 0x00000004; int IDYES = 6; if (MessageBoxW(GetHWND(), dw_list.GetItemDisplayString(dw_list.GetRow(), L"Name") + xstring(L"lbkc_O›^”UF?"), L"cÐy:", MB_YESNO) != IDYES) return 1; xml x ; xaserverarg arg ;; arg.AddArg(L"SupplierID", dw_list.GetItemString(dw_list.GetRow(), L"SupplierID")); if (xurl::post(L"/sale/data/SupplierV3/entity/ask2supplier", arg.GetString(), x) != 1) { xstring error = x.text(); trace(error); } OnRetrieve(); return 1; } int onload() { dw_list = GetControl(L"dw_list"); dw_list.openUrl(L"/sale/view/SupplierV3/template/supplier/list"); dw_list.SetColumnState(L"SupplierID", false); dw_list.SetColumnState(L"SupplierID", false); dw_list.SetColumnState(L"SourcingID", false); dw_list.SetColumnState(L"ApplyStatus", false); dw_list.SetColumnState(L"Class", false); dw_list.SetColumnState(L"userNo", false); return 1; } int onloaded() { SetAgent(); OnAttachEvent(); OnRetrieve(); return 1; } };