#include <wobject/xstring.hpp>
|
#include <xcontrol/xtreeview.hpp>
|
#include <xcontrol/xdwgrid.hpp>
|
|
#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
|
#include "viewobject/view.base.hpp"
|
|
class __declspec(dllexport) GDN3list : public listwin
|
{
|
public:
|
GDN3list(void* implPtr, HWND hWnd) :listwin(implPtr, hWnd) {}
|
public:
|
static GDN3list* CreateInstance(void* implPtr, void* hWnd)
|
{
|
GDN3list* pWin = new GDN3list(implPtr, (HWND)hWnd);
|
return pWin;
|
}
|
|
public:
|
xstring m_sType; //Ê÷Ñ¡ÖеÄÀàÐÍ
|
xstring m_sTypeTxt; //Ê÷Ñ¡ÖеÄÊý¾Ý
|
xstring urlTree;
|
xstring myDataUrl;
|
xstring searchStr;
|
xstring rows;
|
bool readed;
|
|
int changeddlb;
|
xcombobox ddlb_1;
|
xcombobox cbx_datashow;
|
|
xtreeview tv_folder;
|
xdwgrid dw_goods;
|
xdwgrid dw_source;
|
xdwtable dw_profit;
|
xdwgrid dw_custom;
|
|
//process tree
|
//²éÕÒµ±Ç°Ê÷ÏîµÄ¶¥¼¶Ä¿Â¼
|
HTREEITEM LookupTopFolder(HTREEITEM hItem)
|
{
|
HTREEITEM hRoot = tv_folder.GetRootItem();
|
while (tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem);
|
return hItem;
|
}
|
|
|
|
//½¹µã¼¤»î´¦Àíº¯Êý
|
int OnSetFocus(TEvent* evt, int param)
|
{
|
//ÖØÖù¤¾ßÌõ
|
int row = dw_list.GetRow();
|
if (row < 1) return 1;
|
KXMLDOMElement ele = dw_list.GetRowElement(row);
|
xstring id = GetEntityIDName(1);
|
trace(L"\rn---" + id);
|
xstring entity = ele.selectSingleNode(id).text();
|
//trace(entity);
|
SetAgent(L"list", entity);
|
|
return 1;
|
}
|
|
int ExpandCatChildFolder(HTREEITEM hItem, KXMLDOMElement ele, int image)
|
{
|
KXMLDOMNodeList nlist = ele.selectNodes(L"item");
|
int len = nlist.length();
|
if (len > 0) tv_folder.SetItemChild(hItem, 1);
|
for (int i = 0; i < len; i++)
|
{
|
KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
|
string name = e.getAttribute(L"name");
|
HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image);
|
ExpandCatChildFolder(h, e, 35);
|
}
|
return 1;
|
}
|
|
int ExpandFolderItem(HTREEITEM hItem, xstring no)
|
{
|
//xml x = ViewObject::RetrieveData(urlTree,L"no",no);
|
/*xml x = xml::Make();
|
xaserverarg arg = xaserverarg::Make();
|
arg.AddArg(L"no", no);
|
xaserver::ExecXQuery(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", arg.GetString(), x);
|
*/
|
|
|
KXMLDOMDocument x = ViewObject::RetrieveData(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", L"id", no);
|
|
if (!x) return 0;
|
|
KXMLDOMNodeList nlist = x.selectNodes(L"/data/item");
|
int len = nlist.length();
|
for (int i = 0; i < len; i++)
|
{
|
KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
|
string name = e.getAttribute(L"name");
|
HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, 35);
|
ExpandCatChildFolder(h, e, 35);
|
}
|
x.Free();
|
return 1;
|
}
|
|
//Ê÷Õ¹¿ª
|
int OnTreeExpanding(TEvent* evt, int p)
|
{
|
NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
|
HTREEITEM hItem = nmtv.itemNew.hItem;
|
HTREEITEM hTopItem = LookupTopFolder(hItem);
|
xstring name = tv_folder.GetItemLabel(hTopItem);
|
HTREEITEM child = tv_folder.GetChildItem(hItem);
|
|
KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
|
if (!child)ExpandFolderItem(hItem, e.getAttribute(L"no"));
|
|
return 1;
|
}
|
|
int ExpandChildFolder(HTREEITEM hItem, KXMLDOMElement pElement)
|
{
|
KXMLDOMNodeList nlist = pElement.selectNodes(L"Item");
|
int len = nlist.length();
|
for (int i = 0; i < len; i++)
|
{
|
KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
|
string name = e.getAttribute(L"name");
|
xstring sImage = e.getAttribute(L"image");
|
xstring child = e.getAttribute(L"child");
|
int image = 15;
|
if (sImage) image = sImage.toInt();
|
HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image);
|
if (child != L"no") tv_folder.SetItemChild(h, 1);
|
ExpandChildFolder(h, e);
|
}
|
return 1;
|
}
|
|
int InitialFolder()
|
{
|
KXMLDOMElement xframeElement = GetElement();
|
KXMLDOMElement e = xframeElement.selectSingleNode(L"//xtree[@name='tv_folder']/initial");
|
if (e)ExpandChildFolder(0, e);
|
return 1;
|
}
|
|
int OnTreeSelChanged(TEvent* evt, LPARAM p)
|
{
|
if (changeddlb) return 1;
|
return OnPreRetrieve();
|
|
return 1;
|
}
|
|
int ViewUpdate(int pr, xstring updateItem, xaserverarg arg)
|
{
|
if (updateItem == L"del")
|
{
|
int DelRow = dw_list.GetRow();
|
dw_list.DeleteRow(DelRow);
|
|
}
|
else if (updateItem == L"setstate")
|
{
|
int row = dw_list.GetRow();
|
if (row < 1) return 1;
|
KXMLDOMElement ele = dw_list.GetRowElement(row);
|
xstring id = GetEntityIDName(1);
|
xstring entity = ele.selectSingleNode(id).text();
|
SetAgent(L"list", entity);
|
if (arg.GetArgString(L"state") != L"")
|
//dw_list.SetItemString(row, L"ApprovalStatus", arg.GetArgString(L"state"));
|
dw_list.SetItemString(row, L"ApplyStatus", arg.GetArgString(L"state"));
|
if (arg.GetArgString(L"billstatus") != L"")
|
{
|
xstring billstatus = arg.GetArgString(L"billstatus");
|
xstring statusName = GetBillStatusName(billstatus);
|
dw_list.SetItemString(row, L"ApprovalStatus", billstatus);
|
dw_list.SetItemDisplayString(row, L"ApprovalStatus", statusName);
|
}
|
|
dw_list.Redraw();
|
}
|
|
return 1;
|
}
|
|
bool IsEmptyQueryStr(xstring queryStr)
|
{
|
if (queryStr == L"") return true;
|
if (queryStr == L"<items join='and'/>") return true;
|
if (queryStr == L"<items join=\"and\"/>") return true;
|
return false;
|
}
|
|
//¼ìË÷
|
int OnPreRetrieveEx()
|
{
|
|
if (readed) return 1;
|
HTREEITEM hItem = tv_folder.GetSelectedItem();
|
if (hItem <= 0)
|
{
|
hItem = tv_folder.GetRootItem();
|
if (hItem <= 0) return 1;
|
}
|
HCURSOR hCursor = xutil::SetCursorWait();
|
KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
|
xstring no = e1.getAttribute(L"no");
|
//xml x = 0;
|
//x = ViewObject::RetrieveData(myDataUrl,L"no",no,L"QueryTxt", m_QueryTxt,L"rows",rows);
|
xstring DeptName = publiccode::GetUser().deptname;
|
xaserverarg arg = xaserverarg::Make();
|
arg.AddArg(L"no", no);
|
arg.AddArg(L"QueryTxt", m_QueryTxt);
|
arg.AddArg(L"rows", rows);
|
|
trace(no + L"***" + m_QueryTxt + L"***" + rows);
|
/*if(DeptName==L"¸úµ¥²¿"){
|
dw_list.DwRetrieve(GetServerUrl(),L"[list.creator.gdn.sql.xq]",arg.GetString());
|
}else{
|
dw_list.DwRetrieve(GetServerUrl(),L"[list.folder.gdn.sql.xq]",arg.GetString());
|
}*/
|
dw_list.DwRetrieve(GetServerUrl(), L"[list.folder.gdn.sql.xq]", arg.GetString());
|
arg.Free();
|
dw_list.SetReadOnly(true);
|
dw_list.SetRowSort(L"ETD", false);
|
|
if (dw_list.GetRowCount() >= 1) RetrieveDetail(1);
|
|
xutil::RestoreCursor(hCursor);
|
|
return 1;
|
}
|
|
int OnPreRetrieve()
|
{
|
HTREEITEM hItem = tv_folder.GetSelectedItem();
|
if (hItem <= 0) return 1;
|
|
HCURSOR hCursor = xutil::SetCursorWait();
|
|
KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
|
xstring no = e1.getAttribute(L"no");
|
|
trace(L"\r\n" + no + L"\r\n" + m_QueryTxt);
|
KXMLDOMDocument x = ViewObject::RetrieveData(myDataUrl, L"no", no, L"QueryTxt", m_QueryTxt, L"rows", rows);
|
if (x)
|
{
|
dw_list.Retrieve(x);
|
dw_list.Redraw();
|
}
|
else
|
{
|
dw_list.ResetEx();
|
dw_list.Redraw();
|
}
|
dw_list.SetReadOnly(true);
|
dw_list.SetRowSort(L"ETD", false);
|
|
if (dw_list.GetRowCount() >= 1) RetrieveDetail(1);
|
|
xutil::RestoreCursor(hCursor);
|
|
return 1;
|
}
|
|
int RetrieveDetail(int row)
|
{
|
xstring EntityID = dw_list.GetGuid(row);
|
xstring InvoiceNo = dw_list.GetItemString(row, L"InvoiceNo");
|
dw_goods.DwRetrieve(GetServerUrl(), L"[gdnline.gdn.sql.xq]", L"EntityID", EntityID);
|
dw_goods.SetReadOnly(true);
|
|
//dw_source.DwRetrieve(GetServerUrl(),L"[source.gdn.sql.xq]",L"EntityID", EntityID );
|
|
|
KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/GDN/source/maintex1", L"GDNID", EntityID);
|
if (x)
|
dw_source.Retrieve(x);
|
else
|
dw_source.Reset();
|
dw_source.Redraw();
|
dw_source.SetReadOnly(true);
|
|
KXMLDOMDocument x1 = ViewObject::RetrieveData(L"/sale/data/Custom3/maint/custom/data", L"invno", InvoiceNo);
|
if (x1)
|
dw_custom.Retrieve(x1);
|
else
|
dw_custom.Reset();
|
dw_custom.Redraw();
|
dw_custom.SetReadOnly(true);
|
|
dw_profit.DwRetrieve(GetServerUrl(), L"[profit.dgn.sql.xq]", L"EntityID", EntityID);
|
dw_profit.SetReadOnly(true);
|
|
return 1;
|
}
|
|
int OnRowChanged(TEvent* evt, LPARAM p)
|
{
|
//fixed one event only one process
|
listwin::OnRowChanged(evt, p);
|
|
DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
|
int row = hdr.row;
|
HCURSOR hCursor = xutil::SetCursorWait();
|
RetrieveDetail(row);
|
xutil::RestoreCursor(hCursor);
|
|
return 1;
|
}
|
|
/*
|
int PreOnCmdDispatch(xstring comdid)
|
{
|
//·µ»Ø0¡ª¡ª²»ÔÚÖ´ÐÐÒÔÏ´úÂ룻·µ»ØÆäËû¡ª¡ªÖ´ÐÐÒÔÏ´úÂë¡£
|
if(comdid==L"action:bill.merge")
|
{
|
OpenWindow(L"dev:xpage[Merge.GDN.vx]");
|
return 0;
|
}
|
else if(comdid==L"action:bill.check.ask")
|
{
|
int row = dw_list.GetRow();
|
xstring ApprovalStatus = dw_list.GetItemString(row,L"ApprovalStatus");
|
if(ApprovalStatus == L"9"){
|
alert(L"ºÏ²¢Æ±²»ÔÊÐíÌá½»ÉóÅú!");
|
return 0;
|
}
|
xstring InvoiceNo = dw_list.GetItemString(row,L"InvoiceNo");
|
xml x = ViewObject::RetrieveData(L"/sale/data/Gdn/checksource",L"invno",InvoiceNo);
|
if(!x) return 1;
|
|
if(x.selectSingleNode(L"error"))
|
{
|
alert(x.selectSingleNode(L"error").text);
|
return 0;
|
}
|
|
}
|
else if(comdid==L"action:bill.new")
|
{
|
xstring s = publiccode::GetUser().id;
|
|
xml supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType",L"id", s);
|
if(supplier_x)
|
{
|
if(supplier_x.text != L"ÒµÎñÔ±")
|
{
|
alert(L"µ±Ç°½ÇÉ«²»ÊÇÒµÎñÔ±²»ÄÜÐÂÔöµ¥×Ó£¬ÇëÖØÐÂÑ¡Ôñ½ÇÉ«");
|
return 0;
|
}
|
}
|
}
|
return 1;
|
}
|
*/
|
|
int OnSearch()
|
{
|
xaserverarg& arg = *new xaserverarg;
|
|
arg.AddArg(L"text", searchStr);
|
OpenWindow(L"dev:xpage[search.dialog.vx]", (LPARAM)&arg);
|
xstring str = arg.GetArgString(L"text");
|
if (str != searchStr)
|
{
|
searchStr = str;
|
dw_list.Filter(L"*", searchStr);
|
return 1;
|
}
|
return 1;
|
}
|
|
int PreOnCmdDispatch(xstring comdid)
|
{
|
if (comdid == L"action:bill.refresh")
|
{
|
changeddlb = 1;
|
HTREEITEM RItem = tv_folder.GetRootItem();
|
while (tv_folder.GetChildItem(RItem))
|
tv_folder.DeleteItem(tv_folder.GetChildItem(RItem));
|
ExpandFolderItem(RItem, L"Category:Customer");
|
tv_folder.ExpandItem(RItem);
|
tv_folder.ItemFocus(RItem);
|
changeddlb = 0;
|
return OnPreRetrieve();
|
}
|
else if (comdid == L"action:bill.merge")
|
{
|
OpenWindow(L"dev:xpage[Merge.GDN.vx]");
|
return 0;
|
}
|
else if (comdid == L"xmSaveAs")
|
return dw_list.SaveAs(L"");
|
else if (comdid == L"xmSearch")
|
return OnSearch();
|
else if (comdid.find(L"bill.print") > 0)
|
{
|
xstring EntityIDS = dw_list.GetGuid(dw_list.GetRow());
|
KXMLDOMDocument xs = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudge", L"GDNID", EntityIDS);
|
xstring Results1 = xs.text();
|
if (Results1 != L"")
|
{
|
alert(Results1);
|
return 0;
|
}
|
|
OnPrintOne();
|
OnPrint();
|
return 1;
|
}
|
else if (comdid == L"action:bill.new")
|
{
|
if (publiccode::GetUser().name != L"admin")
|
{
|
xstring s = publiccode::GetUser().id;
|
KXMLDOMDocument supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType", L"id", s);
|
if (supplier_x)
|
{
|
if (supplier_x.text() != L"¸úµ¥")
|
{
|
alert(L"µ±Ç°½ÇÉ«²»ÊǸúµ¥Ô±²»ÄÜÐÂÔöµ¥×Ó£¬ÇëÖØÐÂÑ¡Ôñ½ÇÉ«");
|
return 0;
|
}
|
}
|
}
|
}
|
else if (comdid == L"action:bill.GDNDelay")
|
{
|
xstring EntityIDEx = dw_list.GetGuid(dw_list.GetRow());
|
xaserverarg& argEx = *new xaserverarg;
|
argEx.setNativePointer(argEx.CreateInstance());
|
trace(EntityIDEx);
|
argEx.AddArg(L"GDNID", EntityIDEx);
|
OpenWindow(L"dev:xpage[GDNDelay.vx]", (LPARAM)&argEx);
|
return 1;
|
}
|
else if (comdid == L"action:bill.check.ask")
|
{
|
int row = dw_list.GetRow();
|
xstring ApprovalStatus = dw_list.GetItemString(row, L"ApprovalStatus");
|
if (ApprovalStatus == L"9") {
|
alert(L"ºÏ²¢Æ±²»ÔÊÐíÌá½»ÉóÅú!");
|
return 0;
|
}
|
|
xstring EntityID = dw_list.GetGuid(dw_list.GetRow());
|
KXMLDOMDocument xx = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudge", L"GDNID", EntityID);
|
xstring Results = xx.text();
|
if (Results != L"")
|
{
|
alert(Results);
|
return 0;
|
}
|
|
KXMLDOMDocument xx2 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeEx", L"GDNID", EntityID);
|
xstring Results2 = xx2.text();
|
if (Results2 != L"")
|
{
|
alert(Results2);
|
return 0;
|
}
|
|
KXMLDOMDocument xx3 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeExS", L"GDNID", EntityID);
|
xstring Results3 = xx3.text();
|
if (Results3 != L"")
|
{
|
alert(Results3);
|
return 0;
|
}
|
|
KXMLDOMDocument xx4 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeAmount", L"GDNID", EntityID);
|
xstring Results4 = xx4.text();
|
if (Results4 != L"")
|
{
|
alert(Results4);
|
return 0;
|
}
|
|
/*xml xx5= ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNCost",L"GDNID",EntityID);
|
xstring Results5=xx5.text();
|
if(Results5 !=L"")
|
{
|
alert(Results5);
|
return 0;
|
}*/
|
|
xaserverarg& arg = *new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
trace(EntityID);
|
arg.AddArg(L"GDNID", EntityID);
|
OpenWindow(L"dev:xpage[GDNDelay.vx]", (LPARAM)&arg);
|
|
}
|
else if (comdid == L"action:bill.SourceRemark") return OnSourceRemark();
|
|
return 1;
|
}
|
|
int OnSourceRemark()
|
{
|
xstring name = L"³öÔËÃ÷ϸµ¥";
|
KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/TradeFinance3/GetSetUpRemarks", L"Type", name);
|
KXMLDOMNodeList items = x.selectNodes(L"data/Item");
|
KXMLDOMNode t = items.item(0);
|
xstring Content = L"";
|
if (t.selectSingleNode(L"Content"))
|
{
|
Content = t.selectSingleNode(L"Content").text();
|
}
|
xaserverarg& arg1 = *new xaserverarg;
|
arg1.setNativePointer(arg1.CreateInstance());
|
arg1.AddArg(L"value", Content);
|
OpenWindow(L"dev:xpage[memo.edit.new.vx]", (LPARAM)&arg1);
|
|
return 1;
|
}
|
|
int OnPrint()
|
{
|
int row = dw_list.GetRow();
|
xstring GDNID = dw_list.GetGuid(row);
|
KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/GDN/CheckCDLine", L"GDNID", GDNID);
|
xstring r = x.text();
|
int r1 = r.toInt();
|
if (x)
|
{
|
if (r1 > 0)
|
{
|
alert(L"±¨¹ØÊýÁ¿ºÍ±¨¹Ø½ð¶îÓë³öÔËÊýÁ¿ºÍ½ð¶î²»Ò»ÖÂ\r\n²¿·Ö±¨¹ØÊýÁ¿ºÍ½ð¶îÐèÒªºË¶Ô£¡");
|
}
|
}
|
//alert(GDNID);
|
return 1;
|
}
|
|
int OnPrintOne()
|
{
|
int row = dw_list.GetRow();
|
xstring GDNID = dw_list.GetGuid(row);
|
KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/GDN/CheckGW", L"GDNID", GDNID);
|
xstring r = x.text();
|
int r1 = r.toInt();
|
if (x)
|
{
|
if (r1 > 0)
|
{
|
alert(L"Ã«ÖØ×ÜÁ¿»ò¾»×ÜÖØÁ¿²»Ò»Ö£¬ÐèÒªºË¶Ô£¡");
|
}
|
}
|
//alert(GDNID);
|
return 1;
|
}
|
|
|
//xcomboboxÏÂÀ
|
int OnSelectDdlb(TEvent* evt, LPARAM p)
|
{
|
changeddlb = 1;
|
int CB_GETCURSEL = 0x0147;
|
int nIndex = SendMessageW(HWND(), CB_GETCURSEL, 0, 0);
|
KXMLDOMElement e = ddlb_1.GetElement();
|
KXMLDOMElement e2 = e.selectSingleNode(L"item[" + xstring(nIndex + 1) + L"]");
|
xstring no = e2.selectSingleNode(L"@element").text();
|
|
HTREEITEM hItem = tv_folder.GetRootItem();
|
while (tv_folder.GetChildItem(hItem))
|
tv_folder.DeleteItem(tv_folder.GetChildItem(hItem));
|
|
ExpandFolderItem(hItem, no);
|
|
changeddlb = 0;
|
return 1;
|
}
|
|
int OnSelectDataShowDdlb(TEvent* evt, LPARAM p)
|
{
|
int CB_GETCURSEL = 0x0147;
|
int nIndex = SendMessageW(HWND(), CB_GETCURSEL, 0, 0);
|
KXMLDOMElement e = cbx_datashow.GetElement();
|
KXMLDOMElement e2 = e.selectSingleNode(L"item[" + xstring(nIndex + 1) + L"]");
|
rows = e2.selectSingleNode(L"@rows").text();
|
OnPreRetrieve();
|
|
return 1;
|
}
|
|
|
int PostOnAttachEvent()
|
{
|
AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&GDN3list::OnTreeSelChanged); //Ê÷Ñ¡Ôñ
|
//AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",(FEvent)&GDN3list::OnTreeExpanding); //Ê÷Õ¹¿ª
|
AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&GDN3list::OnRowChanged);
|
AttachEvent(L"cbx_1", L"CBN_SELCHANGE", (FEvent)&GDN3list::OnSelectDdlb);
|
AttachEvent(L"cbx_datashow", L"CBN_SELCHANGE", (FEvent)&GDN3list::OnSelectDataShowDdlb);
|
return 1;
|
}
|
|
virtual xstring GetTemplateUrl()
|
{
|
return L"/sale/view/GDN/template/GDN/ListEx";
|
}
|
int onload()
|
{
|
listwin::onload();
|
dw_list.SetColumnState(L"CurrencyNo", false);
|
|
ddlb_1 = GetControl(L"cbx_1");
|
cbx_datashow = GetControl(L"cbx_datashow");
|
dw_goods = GetControl(L"dw_goods");
|
//dw_goods.openUrl(L"/sale/view/GDN/template/GDNItem1");
|
dw_goods.SetDataObject(GetServerUrl(), L"dev:sheet[GDN.v3.EX.tpl/GDNItem]");
|
dw_goods.SetColumnState(L"ItemID", false);
|
dw_goods.SetColumnState(L"LineType", false);
|
dw_goods.SetColumnState(L"LineNo", false);
|
dw_goods.SetColumnState(L"Assortment", false);
|
dw_goods.SetColumnState(L"SOLineNo", false);
|
dw_goods.SetColumnState(L"SKUNo", false);
|
dw_goods.SetColumnState(L"POCreatorID", false);
|
dw_goods.SetColumnState(L"BuyAmount", false);
|
dw_goods.SetColumnState(L"CostRate", false);
|
dw_goods.SetColumnState(L"CommissionRate", false);
|
dw_goods.SetColumnState(L"DiscountRate", false);
|
dw_goods.SetColumnState(L"Remark", false);
|
dw_goods.SetColumnState(L"DiscountRate", false);
|
dw_goods.SetColumnState(L"SOLineID", false);
|
dw_goods.SetColumnState(L"PONo", false);
|
|
dw_source = GetControl(L"dw_source");
|
//dw_source.openUrl(L"/sale/view/GDN/template/item/sourcing");
|
dw_source.SetDataObject(GetServerUrl(), L"dev:sheet[GDN.v3.EX.tpl/SourcingItem]");
|
|
dw_source.SetColumnState(L"POID", false);
|
dw_source.SetColumnState(L"InvoiceNo", false);
|
dw_source.SetColumnState(L"ETD", false);
|
dw_source.SetColumnState(L"SOLineID", false);
|
dw_source.SetColumnState(L"ItemID", false);
|
dw_source.SetColumnState(L"POItemID", false);
|
dw_source.SetColumnState(L"GDNLineID", false);
|
dw_source.SetColumnState(L"Amount", false);
|
|
dw_profit = GetControl(L"dw_profit");
|
//dw_profit.openUrl(L"/sale/view/GDN/template/Profit");
|
dw_profit.SetDataObject(GetServerUrl(), L"dev:sheet[GDN.v3.EX.tpl/Profit]");
|
dw_profit.SetColHeaderHeight(0);
|
dw_profit.SetRowSelectorWidth(0);
|
dw_profit.SetHScrollState(false);
|
|
|
dw_custom = GetControl(L"dw_custom");
|
dw_custom.openUrl(L"/sale/view/Custom3/template/maint");
|
dw_custom.SetColumnState(L"ClassifyID", false);
|
dw_custom.SetColumnState(L"AmountEx", false);
|
//dw_custom.SetReadOnlyColumn(L"CustName",true);
|
dw_custom.SetColumnState(L"LineNo", false);
|
|
rows = L"500";
|
myDataUrl = L"/sale/data/GDN3/folder/list";
|
urlTree = L"/sale/data/GDN3/folder";
|
tv_folder = GetControl(L"tv_folder");
|
//tv_folder.SetLineAtRoot(true);
|
InitialFolder();
|
return 1;
|
}
|
|
int onloaded()
|
{
|
|
HTREEITEM hItem = tv_folder.GetRootItem();
|
ExpandFolderItem(hItem, L"Category:Customer");
|
tv_folder.ExpandItem(hItem);
|
tv_folder.ItemFocus(hItem);
|
|
listwin::onloaded();
|
searchStr = L"";
|
readed = true;
|
|
|
|
//attach my control event
|
PostOnAttachEvent();
|
|
readed = false;
|
|
return 1;
|
}
|
|
int ProcessUsedArg(xaserverarg arg)
|
{
|
xstring action = arg.GetArgString(L"Action");
|
//trace(L"\r\n*******************action:"+action+L"\r\n");
|
if (action == L"bill.open") {
|
int row = dw_list.GetRow();
|
xstring ApprovalStatus = dw_list.GetItemString(row, L"ApprovalStatus");
|
if (ApprovalStatus == L"9")
|
{
|
arg.AddArg(L"ReadOnly", L"true");
|
arg.AddArg(L"ReadOnlyEx", L"true");
|
}
|
}
|
else {
|
arg.AddArg(L"ReadOnly", L"false");
|
}
|
|
HTREEITEM hItem = tv_folder.GetCaretItem();
|
if (hItem <= 0) return 1;
|
KXMLDOMElement e = tv_folder.GetItemData(hItem);
|
xstring no = e.getAttribute(L"no");
|
if (no.find(L"Customer:") >= 0)
|
{
|
arg.AddArg(L"CustomerID", e.getAttribute(L"id"));
|
xstring name = e.getAttribute(L"name");
|
if (name.find(L"(L") >= 0) name = name.left(name.find(L"(L"));
|
arg.AddArg(L"CustomerName", name);
|
}
|
return 1;
|
}
|
};
|