#include #include #include #include #include #include #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) ResetUserPassDlg : public xframe { public: xnode m_agentNode; //Agent Condition xstring userno; public: ResetUserPassDlg(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static ResetUserPassDlg* CreateInstance(void* implPtr, void* hWnd) { ResetUserPassDlg* pWin = new ResetUserPassDlg(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; } //½¹µã¼¤»î´¦Àíº¯Êý int OnSetFocus(TEvent* evt, LPARAM param) { //ÖØÖù¤¾ßÌõ SetAgent(); return 1; } //ÃüÁî·¢²¼º¯Êý int OnCmdDispatch(xstring comdid) { if (comdid == L"xmCancel") { CloseWindow(); return 1; } else if (comdid == L"xmOk") { if (userno == L"")return 1; xstring str1 = xcontrol(GetControl(L"new_pass")).GetText(); xstring str2 = xcontrol(GetControl(L"new_pass1")).GetText(); if (str1 != str2) { alert(L"Á½±éпÚÁî²»Ò»ÖÂ!"); SetFocus(GetControl(L"new_pass1")->GetHWND()); return 1; } xstring newpass = xutil::MD5(str1); xml x; xaserverarg arg; arg.AddArg(L"userno", userno); arg.AddArg(L"new_password", newpass); if (getUrl(L"/sale/data/SysUser/reset/password", arg.GetString(), x) != 1) { alert(L"ÖØÖÃʧ°Ü"); } else { if (x.selectSingleNode(L"error")) { alert(x.selectSingleNode(L"error").text()); return 1; } MessageBox(GetHWND(), L"ÖØÖÿÚÁî³É¹¦£¡", L"Ìáʾ", 0); CloseWindow(); } return 1; } return 0; } //ÃüÁî´¦Àíʼþ int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //°ó¶¨¹¤¾ßÌõµã»÷ʼþ AttachEvent(L"WM_XCOMMAND", (FEvent)&ResetUserPassDlg::OnXCommand); //»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ AttachEvent(L"WM_SETFOCUS", (FEvent)&ResetUserPassDlg::OnSetFocus); return 1; } int onload() { SetArg(); userno = L""; if (GetWinParam()) { xaserverarg arg = GetArg(); userno = arg.GetArgString(L"user"); xcontrol(GetControl(L"user")).SetText(userno); } OnAttachEvent(); return 1; } int onloaded() { SetAgent(); return 1; } };