LiFan
2024-06-26 f3dad0971f9c573ad3052dc29351c277719170ae
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include "xcontrol/xreport.hpp"
#include "wobject/xwin.hpp"
#include "wobject/xaserverarg.hpp"
#include "wobject/xstring.hpp"
#include "wobject/xurl.hpp"
#include "xcontrol/xshtml.hpp"
 
class __declspec(dllexport) startvframevbusiness: public xwin
{
public:
    xreport dw_list;
public:
    startvframevbusiness(void* implPtr,HWND hWnd):xwin(implPtr,hWnd){}
public:
    static startvframevbusiness * CreateInstance(void* implPtr,void* hWnd)
    {
        startvframevbusiness* pWin = new startvframevbusiness(implPtr,(HWND)hWnd);
        return pWin;
    }
public:
    int OnCmdDispatch(const wchar_t* comd)
    {
        //alert(comd);
        return 0;
    }
    
    int OnXCommand(TEvent* evt,int p)
    {
        return OnCmdDispatch(evt->xcommand.pStrID);
    }    
 
    int ShowDetail(int row)
    {
        if(row<0 || row>dw_list.GetRowCount()) return 1;
        if(!dw_list.GetRowElement(row)) return 1;
    
        Hxsoft::XFrame::KXMLDOMElement ele = dw_list. GetRowElement(row);
        //alert(ele.xml());
        dw_list.SetRow(row);
 
        string EntityID=ele.getAttribute(L"EntityID");
 
        if(!EntityID || !EntityID[0]) return -1;
        //SetAgent("letter",GetEntityID(1));
 
        xaserverarg arg;
        arg.AddArg(L"content",ele.xml());
        Hxsoft::XFrame::KXMLDOMDocument doc;
         if(xurl::get(GetServerUrl(),L"/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1)
        {
            alert(((xstring)L"error:"+doc.xml()).c_str());
            return 0;
        }
        //alert(doc.xml());
        xshtml ht(GetControl(L"taskinfo"));
        ht.SetContent(doc.xml());
        ht.Redraw();
 
        return 1;
    }
 
    //#include <tchar.h>
    int OnClicked(TEvent* evt,int p)
    {
       DWNMHDR*  hdr = (DWNMHDR*)evt->notify.pnmh;
       int row = hdr->row;
        
       if(row<1 || row>dw_list.GetRowCount()) return 1;
        
       ShowDetail(row);
       //SetAgent();
      
        return 1;
    }        
 
    int init()
    {
        xaserverarg arg;
        KXMLDOMDocument doc;            
        if(xurl::get(GetServerUrl(),L"/sale/data/vpage/vstart/list",arg.GetString(),doc)!=1)
        {
            alert(((xstring)L"error:"+doc.xml()).c_str());
            return 0;
        }
        if(!doc.xml()) return 0;
        
        dw_list.Retrieve(doc);
        dw_list.CreateTree((LPCWSTR)L"node()", 1, 15, 16);
 
        /*
        dw_list.Redraw();
        dw_list.SetReadOnly(true);
        */
        return 1;
    }
 
    int OnAttachListon()
    {
        AttachEvent(L"WM_XCOMMAND",(FEvent)&startvframevbusiness::OnXCommand,this);
        AttachEvent(L"tasklist",L"DWV_CLICKED",(FEvent)&startvframevbusiness::OnClicked,this);
        //AttachEvent("mdilayer", "LYSN_SELECTEDSHEET",OnSheetChanged);    
        ////AttachEvent("mdilayer", "LYSN_CLOSESHEET",OnCloseSheet);    
        return 1;
    }
    
    int onload()
    {    
        dw_list = GetControl(L"tasklist");
        init();
 
        OnAttachListon();
 
        return 1;
    }
};