lifan
17 小时以前 27af71fd4438b65610218a2836dea6f61032c24c
update
已修改2个文件
已添加1个文件
160 ■■■■■ 文件已修改
jrj/ext-jrj/ext-jrj.vcxproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/ext-jrj.vcxproj.filters 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/SystemSettings/ResetUserPassDlg.cpp 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/ext-jrj.vcxproj
@@ -1095,6 +1095,7 @@
    <ClCompile Include="..\project\business\SystemSettings\ProcessManagement.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="..\project\business\SystemSettings\ResetUserPassDlg.cpp" />
    <ClCompile Include="..\project\business\SystemSettings\Resource.select.data.config.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
jrj/ext-jrj/ext-jrj.vcxproj.filters
@@ -1667,6 +1667,9 @@
    <ClCompile Include="..\project\business\Expense\ExportCredit.SwitchToEx.cpp">
      <Filter>project\business\Expense</Filter>
    </ClCompile>
    <ClCompile Include="..\project\business\SystemSettings\ResetUserPassDlg.cpp">
      <Filter>project\business\SystemSettings</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <None Include="ext-jrj.def">
jrj/project/business/SystemSettings/ResetUserPassDlg.cpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,156 @@
#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 "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;
    }
};