xj qian
2025-04-07 7bc29f841bcba0c303c7a9a631e8334c9f6181d8
update
已添加1个文件
已修改4个文件
168 ■■■■■ 文件已修改
jrj/ext-jrj/ext-jrj.vcxproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/ext-jrj.vcxproj.filters 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Expense/Salaryslip.cpp 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Expense/SalaryslipImp.cpp 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Public/ColumnTranView.cpp 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/ext-jrj.vcxproj
@@ -867,6 +867,7 @@
    <ClCompile Include="..\project\business\ProductSample\ViewPicturesEx.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="..\project\business\Public\ColumnTranView.cpp" />
    <ClCompile Include="..\project\business\Public\GroupManagerList.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
jrj/ext-jrj/ext-jrj.vcxproj.filters
@@ -1622,6 +1622,9 @@
    <ClCompile Include="..\project\business\Expense\SalaryslipImp.cpp">
      <Filter>project\business\Expense</Filter>
    </ClCompile>
    <ClCompile Include="..\project\business\Public\ColumnTranView.cpp">
      <Filter>project\business\Public</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <None Include="ext-jrj.def">
jrj/project/business/Expense/Salaryslip.cpp
Binary files differ
jrj/project/business/Expense/SalaryslipImp.cpp
Binary files differ
jrj/project/business/Public/ColumnTranView.cpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,164 @@
#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) ColumnTranView : public xframe
    {
    public:
        xdwgrid    dw_list;
        xnode    m_agentNode;    //Agent Condition
        xstring path;
    public:
        ColumnTranView(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
    public:
        static ColumnTranView* CreateInstance(void* implPtr, void* hWnd)
        {
            ColumnTranView* pWin = new ColumnTranView(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"xmAddRow")
            {
                dw_list.InsertRow(0);
                return 1;
            }
            else if (comdid == L"xmInsertRow")
            {
                dw_list.AcceptText();
                dw_list.InsertRow(dw_list.GetRow());
                return 1;
            }
            else if (comdid == L"xmDeleteRow")
            {
                dw_list.DeleteRow(0);
            }
            else if (comdid == L"xmClose")
            {
                CloseWindow();
                return 1;
            }
            else if (comdid == L"xmSave")
            {
                return OnSave();
            }
            return 0;
        }
        //命令处理事件
        int OnXCommand(TEvent* evt, LPARAM param)
        {
            return OnCmdDispatch(evt->xcommand.pStrID);
        }
        int OnAttachEvent()
        {
            //绑定工具条点击事件
            AttachEvent(L"WM_XCOMMAND", (FEvent)&ColumnTranView::OnXCommand);
            //获取焦点事件,用于重置工具条
            AttachEvent(L"WM_SETFOCUS", (FEvent)&ColumnTranView::OnSetFocus);
            return 1;
        }
        int OnSave()
        {
            dw_list.AcceptText();
            xml x;
            xaserverarg arg;
            dw_list.DwUpdateAllTo(x);
            arg.AddArg(L"content", x.xml());
            arg.AddArg(L"path", path);
            if (getUrl(L"/sale/data/Thing/content/update", arg.GetString(), x) != 1)
            {
                trace(x.text());
                return -1;
            }
            else
            {
                alert(x.text());
            }
            return 1;
        }
        int  OnRetrieve()
        {
            xml x;
            xaserverarg arg ;
            arg.AddArg(L"path", path);
            if (getUrl(L"/sale/data/Thing/content/get", arg.GetString(), x) != 1)
            {
                trace(x.text());
                return -1;
            }
            else
            {
                dw_list.Retrieve(x);
                dw_list.Redraw();
            }
            return 1;
        }
        int onload()
        {
            xstring path = L"empty";
            xstring templ = L"/sale/view/Business3/template/transcolumn";
            SetArg();
            if (GetWinParam())
            {
                xaserverarg arg = GetArg();
                path = arg.GetArgString(L"path");
                if (arg.GetArgString(L"template") != L"")templ = arg.GetArgString(L"template");
            }
            dw_list = GetControl(L"dw_list");
            dw_list.openUrl(templ);
            OnAttachEvent();
            OnRetrieve();
            return 1;
        }
        int onloaded()
        {
            //SetAgent();
            return 1;
        }
    };