From 2a1d4fcebeca6c3b7f8af0c13463486fb30a78e1 Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期三, 10 七月 2024 10:16:10 +0800
Subject: [PATCH] update

---
 jrj/project/business/Enquiry/Entity.Product.Select.cpp | 1922 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 1,418 insertions(+), 504 deletions(-)

diff --git a/jrj/project/business/Enquiry/Entity.Product.Select.cpp b/jrj/project/business/Enquiry/Entity.Product.Select.cpp
index 6c3d5bb..53cc243 100644
--- a/jrj/project/business/Enquiry/Entity.Product.Select.cpp
+++ b/jrj/project/business/Enquiry/Entity.Product.Select.cpp
@@ -1,542 +1,1456 @@
-#include <wobject/xstring.hpp>
-#include <xcontrol/xtreeview.hpp>
-#include <xcontrol/xdwgrid.hpp>
+use "xcontrol.vframe.vbusiness.vd"
+use "xbase.vframe.vbusiness.vd"
+use "multi.vbind.vbind.wface.vd"
+use "productlibrary.vd"
+use "shoppingcart.vd"
 
-#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
-#include "viewobject/view.base.hpp"
-
-using xml = KXMLDOMDocument;
-class __declspec(dllexport) listSupplierv3 : public listwin
-{
-public:
-	xdwgrid dw_goods;
-	xtreeview tv_1;
-	xcombobox ddlb_1;
-	int	changeddlb;
-	xstring TypeWork;
-	xstring GoodsUrl;
-	xstring m_sType; //type
-	xstring m_sTypeTxt; //选中树的data
-	//	xstring m_searchtxt;
-	int PIndex;
-	xnode	m_agentNode;	//Agent Condition
-	xstring	m_agentCond;	//Agent Node
-
-public:
-	listSupplierv3(void* implPtr, HWND hWnd) :listwin(implPtr, hWnd) {}
-public:
-	static listSupplierv3* CreateInstance(void* implPtr, void* hWnd)
+unit trade
+[
+	class EntityProductSelectWin : public xwin
 	{
-		listSupplierv3* pWin = new listSupplierv3(implPtr, (HWND)hWnd);
-		return pWin;
-	}
-	int OnRetrieve()
-	{
-		xml x;
+		int hObject = 0;
+		string CustomerID;
+		string SupplierID;
+		string m_customer;
 
-		xaserverarg arg;
-		arg.AddArg(L"pageindex", xstring(PIndex)); //第几页
-		arg.AddArg(L"pagenumber", xstring(listwin::m_pageNumber)); //每页数量
-		arg.AddArg(L"QueryTxt", listwin::m_QueryTxt);
-		arg.AddArg(L"sType", m_sType);
-		arg.AddArg(L"sTypeTxt", m_sTypeTxt);
-		trace(arg.GetString());
-		//alert(L"xxxx");
-		if (getUrl(GetServerUrl(), L"/sale/data/" + GetEntityName(1) + L"/entity/list", arg.GetString(), x) != 1)
+		//产品库产品列表
+		xdwgrid	dw_list;
+		//购物车产品列表
+		xdwgrid	dwc_list;
+
+		//产品缓存对象
+		xdataset g_xdoc_product;
+		xdataset g_xdoc_shoppingcart;
+
+		xcombobox  cbx_goodscar;
+		//是否多选
+
+		xnode	m_agentNode;	//Agent Condition
+		xtreeview tv_folder;
+		string 	agentFor;
+		msxml::IXMLDOMElement imageElement;
+
+		string	impStr;
+		string tname;
+
+		int FillGoodsCarList()
 		{
-			return -1;
-		}
-		else
-		{
-			KXMLDOMElement e = x.documentElement();
-			if (listwin::dw_pages && e.selectSingleNode(L"@TotalPage"))
+			xcombobox xc = GetControl("frame:cbx_goodscar");
+			if (!xc) return 0;
+			xml  x = ShoppingCartView::GetRoleList(CustomerID);
+			if (!x) return 0;
+			xc.SetText("==选择购物车==");
+
+			msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//item");
+			int len = nlist.length;
+			for (int i = 0; i < len; i++)
 			{
-				xstring s = e.selectSingleNode(L"@TotalPage").text(); //总数量				
-				listwin::dw_pages.SetMaxPage(s.toInt());
+				msxml::IXMLDOMElement e = nlist.item(i);
+				string name = e.getAttribute("name");
+				xcombobox::AddItem(xc.GetId(), name);
 			}
-			//alert(x.GetXml());
-			dw_list.Retrieve(x);
-			dw_list.Redraw();
-			dw_list.SetReadOnly(true);
+			return 1;
 		}
-		return 1;
-	}
 
-	int SetEntityData(xaserverarg arg)
-	{
-		xstring strQueryTxt = arg.GetArgString(L"QueryTxt");
-		xml x;
-
-		arg.AddArg(L"sType", m_sType);
-		arg.AddArg(L"sTypeTxt", m_sTypeTxt);
-		trace(arg.GetString());
-		if (getUrl(GetServerUrl(), L"/sale/data/" + GetEntityName(1) + L"/entity/list", arg.GetString(), x) != 1)
+		int SetAgent()
 		{
-			alert(x.text());
-
-			return -1;
-		}
-		else
-		{
-			KXMLDOMElement e = x.documentElement();
-			if (listwin::dw_pages && e.selectSingleNode(L"@TotalPage"))
+			string xfNodeAgentArea = "agentarea";
+			xnode anode = GetAgentNode(xfNodeAgentArea);
+			if (m_agentNode)
 			{
-
-				xstring s = e.selectSingleNode(L"@TotalPage").text(); //总数量				
-				listwin::dw_pages.SetMaxPage(s.toInt());
+				SetAgentNodeContent(anode, m_agentNode);
 			}
-			//trace(x.GetXml());
-			listwin::dw_list.Retrieve(x);
-			listwin::dw_list.Redraw();
-			listwin::dw_list.SetReadOnly(true);
-		}
-
-		return 1;
-	}
-
-	int OnChangePages(TEvent* evt, LPARAM p)
-	{
-		PAGENMHDR* h = (PAGENMHDR*)evt->notify.pnmh;
-		int c = h->cur;
-
-
-		HCURSOR hCursor = xutil::SetCursorWait();
-		OnRetrieve();
-		PIndex = c;
-		xutil::RestoreCursor(hCursor);
-		return 1;
-
-
-	}
-
-	int ViewUpdate(int pr, xstring updateItem, xaserverarg  arg)
-	{
-		if (updateItem == L"refresh")
-		{
-			//trace(L"sd");
-			xdwpages zz = GetControl(L"pages");
-			int h = zz.SetCurPage(1);
-			//trace(h);
-			OnRetrieve();
-		}
-		return 1;
-	}
-
-	//树选择
-	int OnTreeSelChanged(TEvent evt, LPARAM p)
-	{
-		if (changeddlb != 1)
-		{
-			//alert(L"1");
-
-			HTREEITEM h = tv_1.GetSelectedItem();
-			KXMLDOMElement& e = *(KXMLDOMElement*)tv_1.GetItemData(h);
-
-			xstring t = e.selectSingleNode(L"@type").text();
-			m_sType = t + L"";
-			xstring txt = e.selectSingleNode(L"@code").text();
-			if (txt == L"")
-				txt = e.selectSingleNode(L"@name").text();
-			m_sTypeTxt = txt + L"";
-
-			//alert(m_sTypeTxt);
-
-			PIndex = 1;
-			OnRetrieve();
-		}
-		return 1;
-	}
-
-	int createSubTree(HTREEITEM h, KXMLDOMElement ele)
-	{
-		KXMLDOMNodeList nlist = ele.selectNodes(L"item");
-		int i;
-		int s = nlist.length();
-		if (s > 0)
-			for (i = 0; i < s; i++)
+			else
 			{
-
-				KXMLDOMElement* e = new KXMLDOMElement(nlist.item(i));
-				xstring name = e->selectSingleNode(L"@name").text();
-				HTREEITEM hw = tv_1.InsertChildItem(h, name, (LPARAM)e, 15);
-				createSubTree(hw, *e);
-			}
-		return 1;
-	}
-
-	int OnCreateTree(xstring sType)
-	{
-
-		while (tv_1.GetRootItem())
-			tv_1.DeleteItem(tv_1.GetRootItem());
-
-		xml x;
-
-		xaserverarg arg;
-
-		arg.AddArg(L"sType", sType);
-		//Tree.pref.supplier.xq
-		//getUrl(GetEntityName(1)+L"/entity/list",arg.GetString(),x);
-		//if (xaserver::ExecXQuery(GetServerUrl(),L"[Tree.pref.supplier.xq]",arg.GetString(),x)!=1)
-		if (getUrl(GetServerUrl(), L"/sale/data/" + GetEntityName(1) + L"/pref/list/tree", arg.GetString(), x) != 1)
-		{
-			trace(x.text());
-			return -1;
-		}
-		else
-		{
-			KXMLDOMNodeList nlist = x.selectNodes(L"root/item");
-			int len = nlist.length();
-			if (len > 0)
-			{
-				int i;
-				for (i = 0; i < len; i++)
+				msxml::IXMLDOMElement xframeElement = GetElement();
+				msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/" + xfNodeAgentArea + "[1]/*");
+				if (agent)
 				{
-
-					KXMLDOMElement* e = new KXMLDOMElement(nlist.item(i));
-					xstring name = e->selectSingleNode(L"@name").text();
-					HTREEITEM hw = tv_1.InsertChildItem(0, name, (LPARAM)e, 15);
-
-					createSubTree(hw, *e);
-					tv_1.ExpandItem(hw);
+					string s = agent.xml;
+					m_agentNode = SetAgentNodeContent(anode, s);
 				}
-				tv_1.ExpandItem(0);
 			}
+			return 1;
 		}
 
-		return 1;
-	}
+		//焦点激活处理函数
+		int OnSetFocus(ref TEvent evt, int param)
+		{
+			//重置工具条
+			SetAgent();
+			return 1;
+		}
 
-	//xcombobox下拉
-	int OnSelectDdlb(TEvent evt, LPARAM p)
-	{
-		changeddlb = 1;
+		msxml::IXMLDOMElement OnGetCarListRowElement(int row = 0)
+		{
+			if (row < 1) row = dwc_list.GetRow();
+			if (row < 1 || row > dwc_list.GetRowCount()) return 0;
+			msxml::IXMLDOMElement e = g_xdoc_shoppingcart.getRowElement("data/Item", row);
+			return e;
+		}
 
-		int CB_GETCURSEL = 0x0147;
-		int nIndex = SendMessageW(ddlb_1.GetHWND(), CB_GETCURSEL, 0, 0);
-		KXMLDOMElement e = ddlb_1.GetElement();//GetitemData(wid,nIndex);//ddlb_1.GetElement();
-		KXMLDOMElement e2 = e.selectSingleNode(L"item[" + xstring((nIndex + 1)) + L"]");
-		xstring text = e2.selectSingleNode(L"@element").text();
-		OnCreateTree(text);
-		changeddlb = 0;
-		return 1;
-	}
+		int OnShowImage(string skuid)
+		{
+			imageview im = GetControl("im1");
+			//im.RemoveImage();
+			im.ResetEx();
 
-	int OnDeleteRow()
-	{
-		int row = listwin::dw_list.GetNextSelectRow(1);
-		if (row < 1) {
-			row = listwin::dw_list.GetRow();
-			if (row < 1) {
-				//win::MessageBox(GetHWND(),L"请选中要删除的行!",L"提示",0);
+			xml xp = new xml;
+			xp.setNativePointer(xml::CreateInstance());
+			xaserverarg arg_pic = new xaserverarg;
+			arg_pic.setNativePointer(arg_pic.CreateInstance());
+			arg_pic.AddArg("SKUID", skuid);
+			if (url::get("/sale/data/ProductLibrary3/pref/picture/imagelistSKU", arg_pic.GetString(), xp) != 1)
+			{
+				trace("xxx", xp.GetXml());
+			}
+			else
+			{
+				//trace(skuid+" "+xp.GetXml());
+				imageElement = xp.GetXmlDoc().documentElement;
+				msxml::IXMLDOMNodeList  nlistp = xp.GetXmlDoc().selectNodes("ImageList/image");
+				int lenp = nlistp.length;
+				for (int ip = 0; ip < lenp; ip++)
+				{
+					msxml::IXMLDOMElement xitem = nlistp.item(ip);
+					string picname = xitem.selectSingleNode("PicPath").text;
+					string goodno = xitem.selectSingleNode("GoodsNo").text;
+					if (picname == "/business/products/Thumbs//")
+						picname = "/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
+					im.AddImages(picname, "");
+				}
+				im.Redraw();
+				//win32::SendMessage(im.GetId(),0x000f,0,1);
+				//win32::InvalidateRect(im.GetId(),cast(0 as ref xrect),true);
+			}
+			return 1;
+		}
+
+		int OnShowImage(string skuid, string customerItemNo)
+		{
+			imageview im = GetControl("im1");
+			//im.RemoveImage();
+			im.ResetEx();
+
+			xml xp = new xml;
+			xp.setNativePointer(xml::CreateInstance());
+			xaserverarg arg_pic = new xaserverarg;
+			arg_pic.setNativePointer(arg_pic.CreateInstance());
+			arg_pic.AddArg("SKUID", skuid);
+			arg_pic.AddArg("CustomerID", m_customer);
+			arg_pic.AddArg("CustomerItemNo", customerItemNo);
+
+			if (url::get("/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKU", arg_pic.GetString(), xp) != 1)
+			{
+				trace("error:" + xp.GetXml());
+			}
+			else
+			{
+				imageElement = xp.GetXmlDoc().documentElement;
+				msxml::IXMLDOMNodeList  nlistp = xp.GetXmlDoc().selectNodes("ImageList/image");
+				int lenp = nlistp.length;
+				for (int ip = 0; ip < lenp; ip++)
+				{
+					msxml::IXMLDOMElement xitem = nlistp.item(ip);
+					string picname = xitem.selectSingleNode("PicPath").text;
+					string goodno = xitem.selectSingleNode("GoodsNo").text;
+					if (picname == "/business/products/Thumbs//")
+						picname = "/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
+					im.AddImages(picname, "");
+				}
+				im.Redraw();
+			}
+			return 1;
+		}
+
+		int OnRowChanged(ref TNotifyEvent evt, int p)
+		{
+			ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+			int row = hdr.row;
+
+			htmlctrl xs = GetControl("html_detail");
+			string html = makeHtml(row);
+			xs.SetContent(html);
+			xs.Redraw();
+
+			string id = g_xdoc_product.getData(0, "data/Item", row, "@guid");
+			OnShowImage(id);
+
+			return 1;
+		}
+
+		int OnGoodsCarRowChanged(ref TNotifyEvent evt, int p)
+		{
+			ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+			int row = hdr.row;
+
+			htmlctrl xs = GetControl("html_detail");
+			string html = makeGoodscarHtml(row);
+			xs.SetContent(html);
+			xs.Redraw();
+			string id = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SKUID");
+			if (m_customer != "")
+			{
+				string customerItemNo = g_xdoc_shoppingcart.getData(0, "data/Item", row, "CustomerItemNo");
+				OnShowImage(id, customerItemNo);
+			}
+			else
+			{
+				OnShowImage(id);
+			}
+
+			return 1;
+		}
+
+		int DeleteRow(int row)
+		{
+			int IDOK = 1;
+			int MB_OKCANCEL = 1;
+			int MB_ICONQUESTION = 32;
+			if (win32::MessageBox(GetHWND(), "确认删除指定的项,删除后将不能恢复?", "提示", MB_OKCANCEL | MB_ICONQUESTION) != IDOK) return 1;
+			string id = g_xdoc_product.getData(0, "data/Item", row, "@guid");
+
+			if (ProductLibraryView::DeleteItem(id) == 1)	dw_list.DeleteRow(0);
+			return 1;
+		}
+
+		int SetSelectState(xdwgrid dw_obj, int state)
+		{
+			dw_obj.SetSelectionMode(3);
+			return 1;
+		}
+
+		int OnCkbCLick(ref TEvent evt, int p)
+		{
+			xcheckbox cbx_1 = GetControl("frame:cbx1");
+			int state = cbx_1.GetCheck(cbx_1.GetId());
+			return SetSelectState(dw_list, state);
+		}
+
+		int OnCkbCLick2(ref TEvent evt, int p)
+		{
+			xcheckbox cbx_2 = GetControl("frame:cbx2");
+			int state = cbx_2.GetCheck(cbx_2.GetId());
+			return SetSelectState(dwc_list, state);
+		}
+
+		xml  GetGoodsPropList(string guid)
+		{
+			xml x = new xml;
+			x.setNativePointer(xml::CreateInstance());
+			xaserverarg arg = new xaserverarg;
+			arg.setNativePointer(arg.CreateInstance());
+			arg.AddArg("guid", guid);
+			if (url::get("/sale/data/SO/goods/goodsprop/list", arg.GetString(), x) != 1)
+			{
+				string error = x.GetXmlDoc().text;
+				alert(error);
+			}
+			return x;
+		}
+
+
+
+		string Up(string name) {
+			string str = name.mid(0, 2);
+			str = str.upper();
+			return xaserver::UploadFile("product" + str, name + ".jpg", this.GetHWND(), "", false);
+		}
+
+		int OnAddImage() {
+			if (m_customer != "") return OnAddImageEx();
+			int row = dw_list.GetNextSelectRow(1);
+			if (row < 1) row = dw_list.GetRow();
+			if (row < 1 || row > dw_list.GetRowCount()) return 0;
+
+			msxml::IXMLDOMElement e = g_xdoc_product.getRowElement("data/Item", row);
+			string skuid = g_xdoc_product.getData(0, "data/Item", row, "@guid");
+			string SKUNo = g_xdoc_product.getData(0, "data/Item", row, "SKUNo");
+			string id = ViewObject::GetGuid();
+			string ret1 = Up(id);
+			if (ret1 == "-1") return -1;
+			if (ret1 == "0")
+			{
+				alert("上传图片失败");
 				return -1;
 			}
-		}
-
-		KXMLDOMElement e = listwin::dw_list.GetRowElement(row);
-		//xstring sguid = e.SelectSingleNode(L"@guid").text;
-		//xstring sName = e.selectSingleNode(L"Name").text+L"";
-		xstring sguid = dw_list.GetItemString(dw_list.GetRow(), L"SupplierID");
-		xstring sName = dw_list.GetItemString(dw_list.GetRow(), L"Name");
-		int  MB_YESNO = 0x00000004;
-		int  IDYES = 6;
-		if (MessageBoxW(GetHWND(), L"确认要删除供应商 " + sName + L" 的信息吗?", L"提示", MB_YESNO) != IDYES) return 1;
-		xml x;
-
-		xaserverarg arg;
-		arg.setNativePointer(arg.CreateInstance());
-		arg.AddArg(L"guid", sguid);
-		arg.AddArg(L"EntityID", sguid);
-		//	trace(sguid);
-		if (xurl::post(GetServerUrl(), L"/sale/data/" + GetEntityName(1) + L"/entity/delete", arg.GetString(), x) != 1)
-		{
-			xstring error = x.text();
-			trace(error);
-		}
-		else
-		{
-			KXMLDOMElement msg = x.selectNodes(L"process").item(0);
-			xstring success = msg.selectSingleNode(L"@finished").text();
-			if (success == L"0")
-			{
-				alert(msg.selectSingleNode(L"@errInfo").text());
-			}
+			string originfile = ret1;
+			//alert(originfile);
+			string ext = originfile.right(7);
+			if (ext.find(".") >= 0)
+				ext = ext.mid(ext.find(".") + 1, 9999);
 			else
-			{
-				MessageBoxW(GetHWND(), L"删除成功!", L"提示", 0);
-				listwin::dw_list.DeleteRow(row);
-			}
-		}
-		return 1;
-	}
+				ext = "jpg";
 
-	int OnRowChangedEx(TEvent* evt, LPARAM p)
-	{
-		DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
-		int row = hdr.row;
-		//if(row < 1 or row > dw_list.GetRowCount()) return 1;
-		KXMLDOMElement ele = listwin::dw_list.GetRowElement(row);
-		xstring entity = ele.selectSingleNode(L"SupplierID").text();
-		xml x;
+			// 图片名加入数据库
+			xml x = new xml;
+			x.setNativePointer(xml::CreateInstance());
+			x.LoadXml("<Item update.new='1' update.modify='1' guid='" + id + "'>" +
+				"<ProductPictureID>" + id + "</ProductPictureID>" +
+				"<OriginFile>" + originfile + "</OriginFile>" +
+				"<FileExt>" + ext + "</FileExt>" +
+				"<SKUID>" + skuid + "</SKUID>" +
+				"<Name>[" + SKUNo.trim() + "]</Name>" +
+				"<FileName>" + id + ".jpg</FileName>" +
+				"</Item>"
+			);
 
-		xaserverarg arg;
-		arg.setNativePointer(arg.CreateInstance());
-		arg.AddArg(L"EntityID", entity);
-
-
-		xstring no1 = publiccode::GetUser().no;
-		if (no1 != L"00201")
-		{
-
-			if (TypeWork.find(L"采购") >= 0)
-			{
-				GoodsUrl = L"/sale/data/SupplierV3/entity/supplieritemEx";
-			}
-			else
-			{
-				GoodsUrl = L"/sale/data/SupplierV3/entity/supplieritem";
-			}
-		}
-		else
-		{
-			GoodsUrl = L"/sale/data/SupplierV3/entity/supplieritem";
-		}
-		if (getUrl(GetServerUrl(), GoodsUrl, arg.GetString(), x) != 1)
-		{
-			trace(x.text());
-			return -1;
-		}
-		else
-		{
-			dw_goods.Retrieve(x);
-			dw_goods.Redraw();
-			dw_goods.SetReadOnly(true);
-		}
-		SetAgent(L"list", entity);
-		return 1;
-	}
-
-	int GridSearch()
-	{
-		//alert(L"你好");
-#if 0
-
-		xstring m_config = L"view.Supplier.v3.config";
-		xdwgrid dw = listwin::dw_list;
-		xaserverarg& arg = *new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());
-		xstring str = TFile::node(m_config, L"config", L"search");
-		if (str != L"") {
-			arg.AddArg(L"sheet", str);
-		}
-		else
-			arg.AddArg(L"sheet", L"dev:sheet[Supplier.v3.tpl/list]");
-		arg.AddArg(L"search", listwin::m_QueryTxt);
-		openUrl(L"view.dlg.vface/xpage/grid/column/search", &arg);
-		xstring ok = arg.GetArgString(L"return");
-		if (ok == L"ok") {
-			xstring txt = arg.GetArgString(L"search");
-			if (txt != L"") {
-				listwin::m_QueryTxt = txt;
-				//trace(txt);
-				OnRetrieve();
-			}
-		}
-#endif 
-		return 0;
-	}
-
-	int OnSelectAllRow()
-	{
-		int rows = listwin::dw_list.GetRowCount();
-		if (rows < 1) return -1;
-		listwin::dw_list.SelectRow(1, rows, true);
-		listwin::dw_list.Redraw();
-		return 1;
-	}
-
-	int OnRClick(TEvent evt, LPARAM p)
-	{
-		return 1;
-	}
-	int OnLogOff()
-	{
-		return 1;
-	}
-	int OnChecked()
-	{
-		xstring partyno = dw_list.GetItemString(dw_list.GetRow(), L"PartyNo");
-		if (partyno.find(L"N") < 0)
-		{
-			alert(L"已经是正式供应商");
-			return 0;
-		}
-		xstring entityid = GetEntityID(dw_list.GetRow());
-		int MB_OKCANCEL = 1;
-		int IDOK = 1;
-		int ret = MessageBoxW(GetHWND(), L"是否转成正式供应商?", L"提示", MB_OKCANCEL);
-		if (ret == IDOK)
-		{
-			xml x = ViewObject::RetrieveData(GetServerUrl(), L"/sale/data/SupplierV3/entity/updateno", L"entityid", entityid);
-
-			if (xstring(x.xml()).find(L"success") > 0)
-			{
-				alert(L"处理成功");
-				OnRetrieve();
-			}
-		}
-		return 1;
-	}
-	int PreOnCmdDispatch(xstring comdid)
-	{
-		//alert(comdid);
-
-		if (comdid.find(L"action:LogOff", 0) >= 0) return OnLogOff();
-		if (comdid.find(L"action:bill.delete", 0) >= 0)
-		{
-			OnDeleteRow();
-			return 0;
-		}
-		if (comdid == L"action:search1") return GridSearch();
-		if (comdid == L"action:bill.refresh")
-		{
-			return OnRetrieve();
-		}
-		if (comdid == L"action:bill.xmSaveAs")
-		{
-			xstring  userno = publiccode::GetUser().no;
-			if (userno == L"00701" || userno == L"00601" || userno == L"admin")
-			{
-				dw_list.SaveAs(L"");
-			}
-			return 1;
-		}
-		if (comdid == L"action:bill.Annex")
-		{
-			xaserverarg& arg = *new xaserverarg;
+			xaserverarg arg = new xaserverarg;
 			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg(L"entityid", dw_list.GetItemString(dw_list.GetRow(), L"SupplierID"));
-			arg.AddArg(L"ApplyStatus", dw_list.GetItemString(dw_list.GetRow(), L"ApplyStatus"));
-
-			OpenWindow(L"dev:xpage[maint.Document.Supplier.v3.vx]", (LPARAM)&arg);
-			return 1;
-		}
-		if (comdid == L"action:bill.AnnexEx")
-		{
-			xaserverarg& arg4 = *new xaserverarg;
-			arg4.setNativePointer(arg4.CreateInstance());
-			arg4.AddArg(L"entityid", dw_list.GetItemString(dw_list.GetRow(), L"SupplierID"));
-			//arg4.AddArg(L"ApplyStatus",dw_list.GetItemString(dw_list.GetRow(),L"ApplyStatus"));
-
-			//OpenWindow(L"dev:xpage[maint.Document.Customer.v3.vx]", p4);
-			OpenWindow(L"dev:xpage[maint.Document.SupplierSD.v3.vx]", (LPARAM)&arg4);
-			return 1;
-		}
-		if (comdid == L"action:bill.checked")
-			return OnChecked();
-		//	if(comdid==L"action:bill.import") return OnImport();
-		//	if(comdid.find(L"action:",0)>=0) return ProcessFlowAction(comdid,1);					
-			//if(comdid==L"search") return GridSearch(L"view.dlg.vface/xpage/grid/column/edit");
-			//if(comdid==L"showall") 	return ShowAll();	
-
-		return 1;
-	}
-
-
-	int PostOnAttachEvent()
-	{
-		//获得树的选择事件
-		AttachEvent(L"tv_1", L"TVN_SELCHANGED", (FEvent)&listSupplierv3::OnTreeSelChanged);
-		AttachEvent(L"cbx_1", L"CBN_SELCHANGE", (FEvent)&listSupplierv3::OnSelectDdlb);
-		AttachEvent(L"pages", L"PAGE_CLICK", (FEvent)&listSupplierv3::OnChangePages);
-		AttachEvent(L"dw_list", L"DWV_RCLICKED", (FEvent)&listSupplierv3::OnRClick);//鼠标右键		
-		//AttachEvent(L"dw_list", L"DWV_DOUBLECLICKED", (FEvent)&listSupplierv3::OnDoubleClicked);
-
-		return 1;
-	}
-
-	int onload()
-	{
-		PIndex = 1;
-		listwin::m_QueryTxt = L""; //查询条件
-		m_sType = L""; //type
-		m_sTypeTxt = L""; //选中树的data
-
-		listwin::onload();
-
-		tv_1 = GetControl(L"tv_1");
-		ddlb_1 = GetControl(L"cbx_1");
-
-		changeddlb = 0;
-		OnCreateTree(L"GoodsCates");
-		dw_list.SetColumnState(L"SupplierID", false);
-		dw_list.SetColumnState(L"userNo", false);
-		dw_list.SetColumnState(L"YearEstablished", false);
-		dw_list.SetColumnState(L"LegalPerson", false);
-		dw_list.SetColumnState(L"ThirdPartyReport", false);
-		dw_list.SetColumnState(L"bAddress", false);
-		dw_list.SetColumnState(L"PayType", false);
-		dw_list.SetColumnState(L"PicPath", false);
-		dw_list.SetColumnState(L"SDID", false);
-		dw_list.SetColumnState(L"AdvantageProduct", false);
-		//dw_list.SetColumnState(L"ApplyStatus",false);
-
-		dw_goods = GetControl(L"dw_goods");
-		dw_goods.openUrl(GetServerUrl(), L"/sale/view/SupplierV3/template/supplier/supplieritem");
-
-		if (publiccode::GetUser().name != L"admin")
-		{
-			xstring s = publiccode::GetUser().id;
-
-			xml supplier_x = ViewObject::RetrieveData(GetServerUrl(), L"/sale/data/SupplierV3/entity/FindBySaleType", L"id", s);
-			if (supplier_x)
+			arg.AddArg("content", x.GetXml());
+			if (url::get("/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
 			{
-				TypeWork = supplier_x.text();
+				alert(x.GetXmlDoc().text);
+				return -1;
+			}
+			dw_list.SetItemString(row, "pic", "*");
+			dw_list.Redraw();
+			//刷新一下界面,显示图片
+			OnShowImage(skuid);
+			return 1;
+		}
 
-				if (TypeWork.find(L"采购") >= 0)
+		int OnAddImageEx() {
+			int row = dwc_list.GetNextSelectRow(1);
+			if (row < 1) row = dwc_list.GetRow();
+			if (row < 1 || row > dwc_list.GetRowCount()) return 0;
+
+			msxml::IXMLDOMElement e = g_xdoc_shoppingcart.getRowElement("data/Item", row);
+			string skuid = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SKUID");
+			string SKUNo = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SKUID/@__displaystring");
+			CustomerID = m_customer;
+			string CustomerItemNo = g_xdoc_shoppingcart.getData(0, "data/Item", row, "CustomerItemNo");
+			string id = ViewObject::GetGuid();
+			string ret1 = Up(id);
+			if (ret1 == "-1") return -1;
+			if (ret1 == "0")
+			{
+				alert("上传图片失败");
+				return -1;
+			}
+			string originfile = ret1;
+			string ext = originfile.right(7);
+			if (ext.find(".") >= 0)
+				ext = ext.mid(ext.find(".") + 1, 9999);
+			else
+				ext = "jpg";
+
+			// 图片名加入数据库
+			xml x = new xml;
+			x.setNativePointer(xml::CreateInstance());
+			x.LoadXml("<Item update.new='1' update.modify='1' guid='" + id + "'>" +
+				"<ProductPictureID>" + id + "</ProductPictureID>" +
+				"<OriginFile>" + originfile + "</OriginFile>" +
+				"<FileExt>" + ext + "</FileExt>" +
+				"<SKUID>" + skuid + "</SKUID>" +
+				"<CustomerItemNo>" + CustomerItemNo + "</CustomerItemNo>" +
+				"<CustomerID>" + CustomerID + "</CustomerID>" +
+				"<Name>[" + SKUNo.trim() + "]</Name>" +
+				"<FileName>" + id + ".jpg</FileName>" +
+				"</Item>"
+			);
+
+			xaserverarg arg = new xaserverarg;
+			arg.setNativePointer(arg.CreateInstance());
+			arg.AddArg("content", x.GetXml());
+			if (url::get("/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
+			{
+				alert(x.GetXmlDoc().text);
+				return -1;
+			}
+			dwc_list.SetItemString(row, "pic", "*");
+			dwc_list.Redraw();
+			//刷新一下界面,显示图片
+			OnShowImage(skuid, CustomerItemNo);
+			return 1;
+		}
+
+		int OnDeleteImageEx()
+		{
+			int row = dwc_list.GetNextSelectRow(1);
+			if (row < 1) row = dwc_list.GetRow();
+			if (row < 1 || row > dwc_list.GetRowCount()) return 0;
+
+			imageview im = GetControl("im1");
+			int index = im.GetSelectIndex();
+			int count = im.GetImageCount();
+
+			if (count < 1) return 1;
+
+			msxml::IXMLDOMNodeList images = imageElement.selectNodes("image");
+			int length = images.length;
+			if (length < index) return 1;
+
+			int MB_OKCANCEL = 0x00000001;
+			int IDOK = 1;
+			if (win32::MessageBox(GetHWND(), "确认删除当前图片?", "提示", MB_OKCANCEL) != IDOK) return 1;
+
+			string id = images.item(index).selectSingleNode("@guid").text;
+
+			xml x = new xml;
+			x.setNativePointer(xml::CreateInstance());
+			xaserverarg arg = new xaserverarg;
+			arg.setNativePointer(arg.CreateInstance());
+			string str = "<Item update.modify='1' update.delete='1' guid='" + id + "'/>";
+			arg.AddArg("content", str);
+			if (url::get("/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
+			{
+				alert(x.GetXmlDoc().text);
+				return -1;
+			}
+			if (count == 1)
+			{
+				dwc_list.SetItemString(row, "pic", "");
+				dwc_list.Redraw();
+			}
+
+			string skuid = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SKUID");
+			string SKUNo = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SKUID/@__displaystring");
+			CustomerID = m_customer;
+			string CustomerItemNo = g_xdoc_shoppingcart.getData(0, "data/Item", row, "CustomerItemNo");
+			OnShowImage(skuid, CustomerItemNo);
+
+			return 1;
+		}
+
+		int OnDeleteImage() {
+			if (m_customer != "") return OnDeleteImageEx();
+
+			int row = dw_list.GetNextSelectRow(1);
+			if (row < 1) row = dw_list.GetRow();
+			if (row < 1 || row > dw_list.GetRowCount()) return 0;
+
+			imageview im = GetControl("im1");
+			int index = im.GetSelectIndex();
+			int count = im.GetImageCount();
+
+			if (count < 1) return 1;
+
+			msxml::IXMLDOMNodeList images = imageElement.selectNodes("image");
+			int length = images.length;
+			if (length < index) return 1;
+
+			int MB_OKCANCEL = 0x00000001;
+			int IDOK = 1;
+			if (win32::MessageBox(GetHWND(), "确认删除当前图片?", "提示", MB_OKCANCEL) != IDOK) return 1;
+
+			string id = images.item(index).selectSingleNode("@guid").text;
+
+			xml x = new xml;
+			x.setNativePointer(xml::CreateInstance());
+			xaserverarg arg = new xaserverarg;
+			arg.setNativePointer(arg.CreateInstance());
+			string str = "<Item update.modify='1' update.delete='1' guid='" + id + "'/>";
+			arg.AddArg("content", str);
+			if (url::get("/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
+			{
+				alert(x.GetXmlDoc().text);
+				return -1;
+			}
+			if (count == 1)
+			{
+				dw_list.SetItemString(row, "pic", "");
+				dw_list.Redraw();
+			}
+
+			msxml::IXMLDOMElement e1 = g_xdoc_product.getRowElement("data/Item", row);
+			string skuid = e1.getAttribute("guid");
+			OnShowImage(skuid);
+
+			return 1;
+		}
+
+		xml  GetGoodsPropListEx(string guid)
+		{
+			xml x = new xml;
+			x.setNativePointer(xml::CreateInstance());
+			string fields = "<data>";
+
+			/*
+			fields +="<field name='HighestPrice' label='最高价'/>";
+			fields +="<field name='LowestPrice' label='最低价'/>";
+
+			fields +="<field name='BulkPrice' label='散货价'/>";
+			fields +="<field name='CardPrice' label='纸卡价'/>";
+			fields +="<field name='BuyPrice' label='采购价'/>";
+			fields +="<field name='SupplierID' label='货源'/>";
+			*/
+
+			fields += "<field name='Packing' label='包装方式'/>";
+			fields += "<field name='PackingRate' label='每箱数量'/>";
+			fields += "<field name='VolumeDesc' label='包装尺码'/>";
+			fields += "<field name='GWPerPkg' label='毛重'/>";
+			fields += "<field name='NWPerPkg' label='净重'/>";
+			//fields +="<field name='DeveloperID' label='开发人员'/>";
+			fields += "<field name='AttributeValue_1' label='产品属性'/>";
+			//fields +="<field name='Remark' label='备注'/>";
+
+			fields += "</data>";
+			x.LoadXml(fields);
+
+			return x;
+		}
+
+		string makeHtml(int row)
+		{
+			string id = g_xdoc_product.getData(0, "data/Item", row, "@guid");
+			xml x = GetGoodsPropList(id);
+			xml x1 = GetGoodsPropListEx(id);
+
+			string html = "<html><style> .text{ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>";
+			html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >编号:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, "No") +
+				"</span> <span style='font-weight:700;width:50;font-size:10pt' >类项:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, "RefNo") +
+				"</span></div>";
+			html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >货号:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, "GoodsNo") +
+				"</span></div>";
+			html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >品名:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, "CName") +
+				"</span></div>";
+			if (dw_list.GetItemString(row, "CSpec") != "")
+				html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >规格:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, "CSpec") +
+				"</span></div>";
+
+			msxml::IXMLDOMNodeList fieldsEx = x1.GetXmlDoc().selectNodes("data/field");
+			string ls_detail = "";
+			string ls_item = "";
+			string name;
+			string label;
+			int len = fieldsEx.length;
+			int i = 0;
+
+			for (i = 0; i < len; true)
+			{
+				int cnt = 0;
+				ls_item = "";
+				while (cnt < 2)
+				{
+					name = fieldsEx.item(i).selectSingleNode("@name").text;
+					label = fieldsEx.item(i).selectSingleNode("@label").text;
+					ls_item += "<td>" + label + "</td>" + "<td style='text-align:center'>" + g_xdoc_product.getData(0, "data/Item", row, name) + "</td>";
+					cnt++;
+					i++;
+					if (i == len)break;
+				}
+				ls_detail += "<tr>" + ls_item + "</tr>";
+			}
+			html += "<div style='margin-left:8px;margin-right:16px;'>" +
+				+"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>"
+				+ ls_detail
+				+ "</table>"
+				+ "</div>";
+
+			string ls_star = "";
+			msxml::IXMLDOMNodeList fields = x.GetXmlDoc().selectNodes("data/field");
+			len = fields.length;
+
+			ls_detail = "";
+			if (len > 0)
+				html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >技术要求:</span></div>";
+			for (i = 0; i < len; true)
+			{
+				ls_item = "";
+
+				int count = 0;
+				while (count < 2)
+				{
+					name = fields.item(i).selectSingleNode("@name").text;
+					label = fields.item(i).selectSingleNode("@label").text;
+
+					if (name == "QualityTerm" || name == "PackTerm" || label == "质量" || label == "包装质量" || label == "技术要求")
+					{
+						i++;
+						if (i >= len)count = 2;
+						continue;
+					}
+					else if (g_xdoc_product.getData(0, "data/Item", row, name) == "")
+					{
+						msxml::IXMLDOMNodeList options = fields.item(i).selectNodes("item");
+						int tlen = options.length;
+						string terms = "";
+						for (int k = 0; k < tlen; k++)
+						{
+							if (options.item(k).text)
+							{
+								if (k > 0) terms += ", ";
+								terms += "[" + options.item(k).text + "]";
+							}
+						}
+						ls_star += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >" + label + "*:</span><span  style='width:90;font-size:10pt'>" + terms + "</span></div>";
+					}
+					else
+					{
+						ls_item = "<td>" + label + "</td>" + "<td>" + g_xdoc_product.getData(0, "data/Item", row, name) + "</td>";
+						count++;
+					}
+					i++;
+					if (i >= len)count = 2;
+				}
+				ls_item = "<tr>" + ls_item + "</tr>";
+				ls_detail += ls_item;
+			}
+
+			html += "<div style='margin-left:8px;margin-right:16px;'>" +
+				+"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>"
+				+ ls_detail
+				+ "</table>"
+				+ "</div>";
+			if (dw_list.GetItemString(row, "QualityTerm") != "")
+			{
+				html += "<div style='height:12px'/>";
+				html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >质量:</span></div>";
+				html += "<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt'  >" + dw_list.GetItemString(row, "QualityTerm") + "</span></div>";
+			}
+
+			if (dw_list.GetItemString(row, "PackTerm") != "")
+			{
+				html += "<div style='height:12px'/>";
+				html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >包装质量:</span></div>";
+				html += "<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row, "PackTerm") + "</span></div>";
+			}
+
+			if (g_xdoc_product.getData(0, "data/Item", row, "Remark") != "" && id == "23A8BBA2-DEF1-4C00-978E-646151A6082E")
+			{
+				html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >备注:</span></div>";
+				html += "<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + g_xdoc_product.getData(0, "data/Item", row, "Remark") + "</span></div>";
+			}
+
+			html += "<div style='height:24px'/>";
+
+			//星标项
+			html += ls_star;
+
+			//显示图片			
+			/*string picname = "1FA9E331-F95C-4E51-B80C-73FB9B911D8D.jpg";//dw_list.GetItemString(row,"ImgName"); //ItemID+".jpg";
+			string str = picname.mid(0,2);
+			str = str.upper();
+			string serversrc ="http://192.168.7.241:1001/business/products/chanpin/"+str+"/"+picname;
+			html +=  "<div ><span style='font-weight:700;width:50;font-size:10pt'  >图片:</span>";
+			html +=  "<control visible='layer' controlclass='ximage'  data='' src='"+ serversrc +"'/></div>";
+			*/
+			html += "</body></html>";
+			return html;
+		}
+
+		string makeGoodscarHtml(int row)
+		{
+			string No = dwc_list.GetItemString(row, "RefNo");//获取属性值id					
+			xml x = GetGoodsPropList(No);
+
+			string html = "<html><style> .text{ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>";
+			html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >编号:</span><span  style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row, "No") +
+				"</span></div>";
+			html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >品名:</span><span  style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row, "CName") +
+				"</span></div>";
+			html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >规格:</span><span  style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row, "CSpec") +
+				"</span></div>";
+
+			msxml::IXMLDOMNodeList fields = x.GetXmlDoc().selectNodes("data/field");
+			int len = fields.length;
+			html += "<table>" +
+				"<colgroup span='1' width='80'/>" +
+				"<colgroup span='1' width='120'/>" +
+				"<colgroup span='1' width='420'/>";
+			html += "<tr>";
+			html += "<td style='text-align:center'>编号</td><td style='text-align:center'>项目</td><td style='text-align:center'>内容</td>";
+			html += "</tr>";
+			for (int i = 0; i < len; i++)
+			{
+				string name = fields.item(i).selectSingleNode("@name").text;
+				string label = fields.item(i).selectSingleNode("@label").text;
+				html += "<tr>";
+				if (i == 0)
+					html += "<td rowspan='" + len.toString() + "'>" + No + "</td><td >" + label + "</td><td >" + "</td>";
+				else
+					html += "<td >" + label + "</td><td >" + g_xdoc_shoppingcart.getData(0, "data/Item", row, name) + "</td>";
+				html += "</tr>";
+			}
+
+			html += "<tr>";
+			html += "<td rowspan='3'>" + g_xdoc_shoppingcart.getData(0, "data/Item", row, "PackCode") + "</td><td >包装方式</td><td >" +
+				g_xdoc_shoppingcart.getData(0, "data/Item", row, "CPack") + "</td>";
+			html += "</tr>";
+			html += "<tr height='48'>";
+			html += "<td >包装要求</td><td >" + g_xdoc_shoppingcart.getData(0, "data/Item", row, "PackQualityTerm") + "</td>";
+			html += "</tr>";
+			html += "<tr>";
+			html += "<td >侧唛</td><td ></td>";
+			html += "</tr>";
+
+			html += "<tr height='72'>";
+			html += "<td>" + g_xdoc_shoppingcart.getData(0, "data/Item", row, "QualityCode") + "</td><td >质量要求</td><td >" +
+				g_xdoc_shoppingcart.getData(0, "data/Item", row, "QualityTerm") + "</td>";
+			html += "</tr>";
+
+			html += "</table>";
+
+			html += "</body></html>";
+			return html;
+		}
+
+		int OnImport()
+		{
+			if (!hObject) return 1;
+
+			int rw = 0;
+			string ls_nos = "ImportXml:";
+
+			if (impStr == "")
+			{
+				alert("请选择商品!");
+				return 1;
+			}
+			if (tname == "已询价产品")
+			{
+				int row = dwc_list.GetNextSelectRow(1);
+				while (row > 0)
 				{
 
-					dw_list.SetColumnState(L"DateEx", false);
-					dw_list.SetColumnState(L"DateExS", false);
-					dw_list.SetColumnState(L"Name", false);
-					dw_list.SetColumnState(L"ProvinceCode", false);
-					dw_list.SetColumnState(L"City", false);
-					dw_list.SetColumnState(L"District", false);
-					dw_list.SetColumnState(L"Address", false);
-					dw_list.SetColumnState(L"CName", false);
-					dw_list.SetColumnState(L"TEL", false);
-					dw_list.SetColumnState(L"Mob", false);
-					dw_list.SetColumnState(L"AreaCode", false);
-					dw_list.SetColumnState(L"Fax", false);
-					dw_goods.SetColumnState(L"Price", false);
-					dw_goods.SetColumnState(L"PackRMBPrice", false);
-					dw_goods.SetColumnState(L"PartRMBPrice", false);
-					dw_goods.SetColumnState(L"PaperRMBPrice", false);
-					dw_goods.SetColumnState(L"ETD", false);
-					dw_goods.SetColumnState(L"InvoiceNo", false);
-
+					if (dwc_list.GetItemString(row, "pic") != "*")
+					{
+						alert("第" + row.toString() + "行请增加产品图片!");
+						return 1;
+					}
+					row = dwc_list.GetNextSelectRow(row + 1);
 				}
 			}
+			else {
+				row = dw_list.GetNextSelectRow(1);
+				while (row > 0)
+				{
+					if (dw_list.GetItemString(row, "pic") != "*")
+					{
+						alert("第" + row.toString() + "行请增加产品图片!");
+						return 1;
+					}
+					row = dw_list.GetNextSelectRow(row + 1);
+				}
+			}
+			ls_nos += impStr;
 
+			dwc_list.SelectRow(0, false);
+			dwc_list.Redraw();
+			dw_list.SelectRow(0, false);
+			dw_list.Redraw();
+			impStr = "";
+
+			win32::SendMessage(hObject, 0x401, ls_nos, 0);
+			alert("转入完成!");
+
+			return 1;
 		}
 
-		return 1;
-	}
+		int OnSearch()
+		{
+			int hItem = tv_folder.GetSelectedItem();
+			return RetrieveItem(hItem);
+		}
 
-	int onloaded()
-	{
-		AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&listSupplierv3::OnRowChangedEx);
+		int DeleteRow(int row)
+		{
+			int IDOK = 1;
+			int MB_OKCANCEL = 1;
+			int MB_ICONQUESTION = 32;
+			if (win32::MessageBox(GetHWND(), "确认删除指定的项,删除后将不能恢复?", "提示", MB_OKCANCEL | MB_ICONQUESTION) != IDOK) return 1;
+			string id = g_xdoc_product.getData(0, "data/Item", row, "@guid");
 
-		listwin::onloaded();
-		xstring EntityID;
-		int row = dw_list.GetRow();
-		if (row<0 || row>dw_list.GetRowCount()) return 1;
-		KXMLDOMElement ele = dw_list.GetRowElement(row);
-		xstring id = listwin::m_configDoc.selectSingleNode(L"//entity/EntityID[1]").text();
-		if (ele.selectSingleNode(id))
-			EntityID = ele.selectSingleNode(id).text();
-		listwin::SetAgent(L"list", EntityID);
-		return 1;
-	}
+			if (ProductLibraryView::DeleteItem(id) == 1) dw_list.DeleteRow(0);
 
-};
\ No newline at end of file
+			return 1;
+		}
+
+		//命令发布函数
+		int OnCmdDispatch(string comdid)
+		{
+			int hCursor;
+			string name = "";
+			if (comdid == "xmClose")
+			{
+				CloseWindow();
+				return 1;
+			}
+			else if (comdid == "xmImport")
+			{
+				OnImport();
+				return 1;
+			}
+			else if (comdid == "xmSearch")
+			{
+				OnSearch();
+				return 1;
+			}
+			else if (comdid == "xmAdd")
+			{
+				ItemAdd();
+				return 1;
+			}
+			else if (comdid == "xmMaint")
+			{
+				ItemMaint();
+				return 1;
+			}
+			else if (comdid == "xmDelete")
+			{
+				int row = dw_list.GetRow();
+				if (row < 1) return 1;
+				DeleteRow(row);
+
+				return 1;
+			}
+			else if (comdid == "xmAddImage")
+			{
+				return OnAddImage();
+			}
+			else if (comdid == "xmDeleteImage")
+			{
+				return OnDeleteImage();
+			}
+			return 0;
+		}
+
+		int ItemAdd()
+		{
+			int hItem = tv_folder.GetSelectedItem();
+			int hTopItem = LookupTopFolder(hItem);
+			string name = tv_folder.GetItemLabel(hTopItem);
+
+			msxml::IXMLDOMElement e = tv_folder.GetItemData(hItem);
+			string guid = e.getAttribute("guid");
+			if (guid == "") return 1;
+			xaserverarg arg = new xaserverarg;
+			arg.setNativePointer(arg.CreateInstance());
+			arg.AddArg("guid", e.getAttribute("guid"));
+			if (name == "个人产品")
+				arg.AddArg("FolderID", e.getAttribute("guid"));
+			else
+				arg.AddArg("CategoryID", e.getAttribute("guid"));
+			string No = e.getAttribute("CategoryNo");
+			if (No == "") No = e.getAttribute("no");
+			string Name = e.getAttribute("CName");
+			if (Name == "") Name = e.getAttribute("cname");
+			arg.AddArg("No", No);
+			arg.AddArg("CName", Name);
+			int p = arg;
+			OpenWindow("dev:xpage[Quick.Input.NewProductEx.vx]", p);
+			if (arg.GetArgString("data.modify") == "1")RetrieveItem(hItem);
+			return 1;
+		}
+
+		int ItemMaint()
+		{
+			int hItem = tv_folder.GetSelectedItem();
+			msxml::IXMLDOMElement e = tv_folder.GetItemData(hItem);
+			//string no = e.getAttribute("no");
+			//if(no=="") return 1;
+			string guid = e.getAttribute("guid");
+			if (guid == "") return 1;
+
+			/*
+			if(no=="NP0000FS" || no=="UP0000FS")
+			{
+				OpenWindow("dev:xpage[PackSchemaMaint.goodslib.vx]");
+			}else
+			{
+				int pr = g_xdoc_product;
+				OpenWindow("dev:xpage[ProductLibraryItemMaint.vx]",pr);
+			}
+			*/
+			//msxml::IXMLDOMElement ele = g_xdoc_product.getRowElement("data/Item", 1);
+			//alert(ele.xml);
+
+			int pr = g_xdoc_product;
+			OpenWindow("dev:xpage[ProductLibraryItemMaint3.vx]", pr);
+
+			return 1;
+		}
+
+		//命令处理事件
+		int OnXCommand(ref TXCommandEvent evt, int param)
+		{
+			return OnCmdDispatch(evt.pStrID);
+		}
+
+		//查找当前树项的顶级目录
+		int LookupTopFolder(int hItem)
+		{
+			int hRoot = tv_folder.GetRootItem();
+			while (tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem);
+			return hItem;
+		}
+
+		//插入产品类项的子项
+		int MakeGoodsFolderItem(int hItem, string sno)
+		{
+			xml x = ProductLibraryView::GetTreeChildItems3(sno);
+			if (!x) return 0;
+
+			msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//Item");
+			int len = nlist.length;
+			for (int i = 0; i < len; i++)
+			{
+				msxml::IXMLDOMElement e = nlist.item(i);
+				string name = e.getAttribute("CName");
+				string no = e.getAttribute("CategoryNo");
+				string label = no.trim() + " " + name;
+
+				int h = tv_folder.InsertChildItem(hItem, label, trust(e as int), 15);
+				tv_folder.SetItemChild(h, 1);
+			}
+			return 1;
+		}
+
+		//插入新产品目录子项
+		int MakeUserGoodsFolderItem(int hItem, string sno)
+		{
+			xml x = ProductLibraryView::GetTreeUserChildItems3(sno);
+			if (!x) return 0;
+
+			msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//Item");
+			int len = nlist.length;
+			for (int i = 0; i < len; i++)
+			{
+				msxml::IXMLDOMElement e = nlist.item(i);
+				string name = e.getAttribute("CName");
+				string no = e.getAttribute("CategoryNo");
+				string label = no.trim() + " " + name;
+
+				int h = tv_folder.InsertChildItem(hItem, label, trust(e as int), 15);
+				string child = e.getAttribute("Childs");
+				if (child == "")
+					tv_folder.SetItemChild(h, 1);
+				else if (child != "0")
+					tv_folder.SetItemChild(h, 1);
+			}
+			return 1;
+		}
+
+		//插入购物车项
+		int ExpandCatChildFolder(int hItem, msxml::IXMLDOMElement ele, int image)
+		{
+			msxml::IXMLDOMNodeList nlist = ele.SelectNodes("item");
+			int len = nlist.length;
+			if (len > 0) tv_folder.SetItemChild(hItem, 1);
+			for (int i = 0; i < len; i++)
+			{
+				msxml::IXMLDOMElement e = nlist.item(i);
+				string name = e.getAttribute("name");
+				int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), image);
+				ExpandCatChildFolder(h, e, 35);
+			}
+			return 1;
+		}
+		int MakeGoodCarFolderItem(int hItem)
+		{
+			xml x = ShoppingCartView::GetSupplierRoleList(SupplierID);
+			if (!x) return 0;
+			msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("/data/item");
+			int len = nlist.length;
+			for (int i = 0; i < len; i++)
+			{
+				msxml::IXMLDOMElement e = nlist.item(i);
+				string name = e.getAttribute("name");
+				int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), 35);
+				ExpandCatChildFolder(h, e, 35);
+			}
+			return 1;
+		}
+
+		//树展开
+		int OnTreeExpanding(ref TNotifyEvent evt, int p)
+		{
+			ref NMTREEVIEW nmtv = evt.pnmh;
+			int hItem = nmtv.itemNew.hItem;
+			int hTopItem = LookupTopFolder(hItem);
+			string name = tv_folder.GetItemLabel(hTopItem);
+			int child = tv_folder.GetChildItem(hItem);
+			string no = "";
+			msxml::IXMLDOMElement e;
+
+			if (name == "公司库" && !child)
+			{
+				no = "";
+				if (hTopItem != hItem)
+				{
+					e = tv_folder.GetItemData(hItem);
+					no = e.getAttribute("categoryid");
+				}
+				else
+				{
+					e = tv_folder.GetItemData(hItem);
+					no = e.getAttribute("categoryid");
+				}
+				MakeGoodsFolderItem(hItem, no);
+			}
+			else if (name == "个人库" && !child)
+			{
+				no = "";
+				if (hTopItem != hItem)
+				{
+					e = tv_folder.GetItemData(hItem);
+					no = e.getAttribute("categoryid");
+					MakeUserGoodsFolderItem(hItem, no);
+				}
+			}
+			else if (name == "已询价产品" && !child)
+			{
+				if (hItem == hTopItem)MakeGoodCarFolderItem(hItem);
+			}
+			return 1;
+		}
+
+		int ResetAgent(string agentAsk)
+		{
+			if (agentFor != agentAsk)
+			{
+				agentFor = agentAsk;
+				m_agentNode = 0;
+				SetAgent();
+			}
+			return 1;
+		}
+
+		int LookupCustomerFolder(int hItem)
+		{
+			while (true)
+			{
+				msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement);
+				string str = e1.getAttribute("no");
+				if (str.find("Customer:") >= 0) return hItem;
+				hItem = tv_folder.GetParentItem(hItem);
+				if (hItem == 0) break;
+			}
+			return 0;
+		}
+
+		string LookupCustomer(int hItem)
+		{
+			hItem = LookupCustomerFolder(hItem);
+			if (hItem == 0) return "";
+			msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement);
+			string str = e1.getAttribute("no");
+			return str.mid("Customer:".length(), 9999);
+		}
+
+		int RetrieveItem(int hItem)
+		{
+			int hTopItem = LookupTopFolder(hItem);
+			tname = tv_folder.GetItemLabel(hTopItem);
+			string selectname = tv_folder.GetItemLabel(hItem);
+			imageview im = GetControl("im1");
+			m_customer = "";
+			xcontrol query = GetControl("sl_search");
+			string queryString = query.GetText();
+			if (hTopItem == 0 && queryString != "")
+			{
+				tname = "已询价产品";
+				selectname = "已询价产品";
+			}
+			if (tname == "已询价产品")
+			{
+				if (agentFor != "goodscar")SwitchLayer("goodscarsheet", "sheetframe");
+				ResetAgent("goodscar");
+				if (selectname != tname)
+				{
+					msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement);
+					string str = e1.getAttribute("no");
+					if (str == "Supplier") return 1;
+					if (str.find("Customer:") == 0 || str.find("SO:") == 0 || str.find("Supplier:") == 0 || str.find("Enquiry:") == 0)
+					{
+						m_customer = LookupCustomer(hItem);
+						if (str.find("Customer:") == 0)
+							dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodscustomerlist");
+						else
+							dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodssolist");
+						dwc_list.Reset();
+						dwc_list.SetReadOnly(true);
+						if (queryString == "")
+							g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str));
+						else
+							g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
+						if (str.find("Supplier:") == 0)
+						{
+							if (dwc_list.GetRowCount() > 0)
+							{
+								OnShowImage(dwc_list.GetItemString(1, "SKUID"));
+							}
+						}
+					}
+					else if (e1.getAttribute("categoryid") != "")
+					{
+
+						string categoryid = e1.getAttribute("categoryid");
+						dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid).GetXmlDoc());
+						dwc_list.SetReadOnly(true);
+						dwc_list.Reset();
+						if (queryString == "")
+							g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid));
+						else
+							g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString, ""));
+					}
+					else
+					{
+						dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodssolist");
+						dwc_list.SetReadOnly(true);
+						dwc_list.Reset();
+						if (queryString == "")
+							g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname));
+						else
+							g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname, queryString));
+					}
+					dwc_list.PostRetrieve();
+					dwc_list.Redraw();
+
+					if (dwc_list.GetRowCount() >= 1)
+					{
+						htmlctrl xs = GetControl("html_detail");
+						xs.SetContent(makeGoodscarHtml(1));
+
+						if (m_customer != "")
+						{
+							string skuid = g_xdoc_shoppingcart.getData(0, "data/Item", 1, "SKUID");
+							string customerItemNo = g_xdoc_shoppingcart.getData(0, "data/Item", 1, "CustomerItemNo");
+							OnShowImage(skuid, customerItemNo);
+						}
+					}
+					else {
+						im.ResetEx();
+						im.Redraw();
+
+						xs = GetControl("html_detail");
+						xs.SetContent("<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>");
+					}
+					xs.Redraw();
+				}
+				else
+				{
+					if (queryString == "")
+					{
+						return 0;
+					}
+					else
+					{
+						str = "Supplier:All";
+						g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
+						dwc_list.PostRetrieve();
+						dwc_list.Redraw();
+					}
+				}
+			}
+			else
+			{
+				if (agentFor != "goodslib")SwitchLayer("goodslibsheet", "sheetframe");
+				if (tname == "个人库")
+					ResetAgent("userlib");
+				else
+					ResetAgent("goodslib");
+				int hCursor = xutil::SetCursorWait();
+				if (tname == "个人库" || tname == "公司库")
+				{
+					string no = "N000005";
+					if (tname == "个人库") no = "U000005";
+					if (hItem != hTopItem)
+					{
+						msxml::IXMLDOMElement e = tv_folder.GetItemData(hItem);
+						no = e.getAttribute("guid");
+					}
+
+
+					dw_list = GetControl("dw_list");
+					dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no).GetXmlDoc());
+					dw_list.Reset();
+					dw_list.SetReadOnly(true);
+					dw_list.SetColumnState("Submitter1", false);
+					dw_list.SetColumnState("HSCode", false);
+
+					xml x;
+					if (queryString == "")
+					{
+						if (tname == "个人库")
+							x = ProductLibraryView::GetMaintRoleList3(no);
+						else
+							x = ProductLibraryView::GetMaintList3(no);
+						if (x)
+						{
+							g_xdoc_product.Retrieve(x);
+							x.Free();
+						}
+					}
+					else
+					{
+						if (tname == "个人库")
+						{
+							x = ProductLibraryView::GetMaintRoleList3(no, queryString);
+						}
+						else
+						{
+							if (queryString != "")
+							{
+								if (no == "N000005")
+									x = ProductLibraryView::GetMaintList3("", queryString, "");
+								else
+									x = ProductLibraryView::GetMaintList3(no, queryString, "");
+							}
+							else
+								x = ProductLibraryView::GetMaintList3(no);
+						}
+						if (x)g_xdoc_product.Retrieve(x);
+					}
+					dw_list.PostRetrieve();
+					dw_list.Redraw();
+
+					if (dw_list.GetRowCount() > 0)
+					{
+						xs = GetControl("html_detail");
+						xs.SetContent(makeHtml(1));
+						string id = g_xdoc_product.getData(0, "data/Item", 1, "@guid");
+						OnShowImage(id);
+					}
+					else
+					{
+						im.ResetEx();
+						im.Redraw();
+
+						xs = GetControl("html_detail");
+						xs.SetContent("<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>");
+					}
+					xs.Redraw();
+					xutil::RestoreCursor(hCursor);
+				}
+			}
+			impStr = "";
+		}
+
+		int OnTreeSelChanged(ref TNotifyEvent evt, int p)
+		{
+			ref NMTREEVIEW nmtv = cast(evt.pnmh as NMTREEVIEW);
+			int hItem = nmtv.itemNew.hItem;
+			return RetrieveItem(hItem);
+		}
+
+		int  ExpandChildFolder(int hItem, msxml::IXMLDOMElement pElement)
+		{
+			msxml::IXMLDOMNodeList nlist = pElement.SelectNodes("Item");
+			int len = nlist.length;
+			for (int i = 0; i < len; i++)
+			{
+				msxml::IXMLDOMElement e = nlist.item(i);
+				string name = e.getAttribute("cname");
+				string sImage = e.getAttribute("image");
+				int image = 15;
+				//if(sImage) image = sImage.toInt();
+				int h = tv_folder.InsertChildItem(tv_folder.GetId(), hItem, name, trust(e as int), image);
+				tv_folder.SetItemChild(h, 1);
+				ExpandChildFolder(h, e);
+			}
+			return 1;
+		}
+
+		int  InitialFolder()
+		{
+			msxml::IXMLDOMElement xframeElement = GetElement();
+			msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder']/initial");
+			ExpandChildFolder(0, e);
+			return 1;
+		}
+
+		int OnDwClicked(ref TNotifyEvent evt, int p)
+		{
+			ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
+			char ch;
+			int row = hdr.row;
+			string col = hdr.colname;
+
+			string str = "";
+			if (dw_list.GetItemString(row, "SKUNo") != "")
+				str = dw_list.GetItemString(row, "SKUNo");
+			else
+				str = dw_list.GetItemString(row, "No");
+
+			if (dw_list.IsRowSelected(row) & 0xff)
+			{
+				//will unselect
+				impStr = impStr.replace(" " + str, "");
+			}
+			else
+			{
+				//will select
+				impStr += " " + str;
+			}
+			return 1;
+		}
+
+		int OnDwcClicked(ref TNotifyEvent evt, int p)
+		{
+			ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
+			char ch;
+			int row = hdr.row;
+			string col = hdr.colname;
+			string str = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SOLineID");
+			if (str != "")
+				str = "sl:" + str;
+			else if (dwc_list.GetItemString(row, "SKUNo") != "")
+				str = dwc_list.GetItemString(row, "SKUNo");
+			else
+				str = dwc_list.GetItemString(row, "No");
+
+			if (dwc_list.IsRowSelected(row) & 0xff)
+			{
+				//will unselect
+				impStr = impStr.replace(" " + str, "");
+			}
+			else
+			{
+				//will select
+				impStr += " " + str;
+			}
+			return 1;
+		}
+
+		int OnDwcDoubleClicked(ref TNotifyEvent evt, int p)
+		{
+
+			int hCursor = xutil::SetCursorWait();
+			ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
+			int row = hdr.row;
+			string ls_nos = "ImportXml:";
+			string str = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SOLineID");
+			string str1 = g_xdoc_shoppingcart.getData(0, "data/Item", row, "EnquiryPriceListID");
+			if (str1 != "")
+				str += "el:" + str1;
+			else if (str != "")
+				str = "sl:" + str;
+			else if (dwc_list.GetItemString(row, "SKUNo") != "")
+				str = dwc_list.GetItemString(row, "SKUNo");
+			else
+				str = dwc_list.GetItemString(row, "No");
+			ls_nos += str;
+
+			dw_list.SelectRow(0, false);
+			dwc_list.SelectRow(0, false);
+			dw_list.Redraw();
+			dwc_list.Redraw();
+			impStr = "";
+			win32::SendMessage(hObject, 0x401, ls_nos, 0);
+			xutil::RestoreCursor(hCursor);
+			CloseWindow();
+			return 1;
+		}
+		int OnDwDoubleClicked(ref TNotifyEvent evt, int p)
+		{
+			int hCursor = xutil::SetCursorWait();
+			ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
+			int row = hdr.row;
+			if (row > 0)
+			{
+				if (dw_list.GetItemString(row, "pic") != "*")
+				{
+					alert("第" + row.toString() + "行请增加产品图片!");
+					return 1;
+				}
+			}
+			string ls_nos = "ImportXml:";
+			string str = "";
+			if (dw_list.GetItemString(row, "SKUNo") != "")
+				str = dw_list.GetItemString(row, "SKUNo");
+			else
+				str = dw_list.GetItemString(row, "No");
+			ls_nos += str;
+			dw_list.SelectRow(0, false);
+			dwc_list.SelectRow(0, false);
+			dw_list.Redraw();
+			dwc_list.Redraw();
+			impStr = "";
+			win32::SendMessage(hObject, 0x401, ls_nos, 0);
+			xutil::RestoreCursor(hCursor);
+			CloseWindow();
+			return 1;
+		}
+
+		int OnAttachEvent()
+		{
+			//绑定工具条点击事件
+			AttachEvent("WM_XCOMMAND", OnXCommand);
+			//获取焦点事件,用于重置工具条
+			AttachEvent("WM_SETFOCUS", OnSetFocus);
+			AttachEvent("dw_list", "DWV_ROWFOCUSCHANGED", OnRowChanged);
+			AttachEvent("dwc_list", "DWV_ROWFOCUSCHANGED", OnGoodsCarRowChanged);
+			AttachEvent("tv_folder", "TVN_ITEMEXPANDING", OnTreeExpanding);
+			AttachEvent("tv_folder", "TVN_SELCHANGED", OnTreeSelChanged);
+			AttachEvent("WM_COMMAND", OnCkbCLick);	//checkbox打钩事件
+			AttachEvent("WM_COMMAND", OnCkbCLick2);	//checkbox打钩事件	
+
+			AttachEvent("dwc_list", "DWV_DOUBLECLICKED", OnDwcDoubleClicked);
+			AttachEvent("dw_list", "DWV_DOUBLECLICKED", OnDwDoubleClicked);
+
+			AttachEvent("dw_list", "DWV_CLICKED", OnDwClicked);
+			AttachEvent("dwc_list", "DWV_CLICKED", OnDwcClicked);
+		}
+
+		int onload()
+		{
+			agentFor = "goodslib";
+			impStr = "";
+
+			OnAttachEvent();
+			imageElement = 0;
+
+			tv_folder = GetControl("tv_folder");
+			dw_list = GetControl("dw_list");
+			dwc_list = GetControl("dwc_list");
+
+			xaserverarg arg = GetParam();
+			CustomerID = "";
+			SupplierID = "";
+			m_customer = "";
+			hObject = 0;
+			if (arg)
+			{
+				hObject = arg.GetArgString("HWND").toInt();
+				CustomerID = arg.GetArgString("CustomerID");
+				CustomerID = arg.GetArgString("SupplierID");
+			}
+			InitialFolder();
+
+			g_xdoc_product = new xdataset;
+			g_xdoc_product.Init();
+			xbind bindproduct = new xbind;
+			bindproduct.bindEx(dw_list, g_xdoc_product, "");
+
+			g_xdoc_shoppingcart = new xdataset;
+			g_xdoc_shoppingcart.Init();
+
+			xbind bindcart = new xbind;
+			bindcart.bindEx(dwc_list, g_xdoc_shoppingcart, "");
+
+			dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3("").GetXmlDoc());
+			dw_list = GetControl("dw_list");
+			dw_list.SetReadOnly(true);
+			dw_list.SetColumnState("Submitter1", false);
+			dw_list.SetColumnState("HSCode", false);
+
+			dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodssolist");
+			dwc_list.SetReadOnly(true);
+
+			if (dw_list.GetRowCount())
+			{
+				htmlctrl xs = GetControl("html_detail");
+				xs.SetContent(makeHtml(1));
+			}
+
+			xtreeview::ExpandItem(tv_folder.GetId(),
+				xtreeview::GetNextItem(tv_folder.GetId(), xtreeview::GetRootItem(tv_folder.GetId())));
+			xtreeview::ExpandItem(tv_folder.GetId(),
+				xtreeview::GetNextItem(tv_folder.GetId(), xtreeview::GetNextItem(tv_folder.GetId(), xtreeview::GetRootItem(tv_folder.GetId()))));
+
+			dw_list.SetSelectionMode(3);
+			dwc_list.SetSelectionMode(3);
+
+			return 1;
+		}
+
+		int onloaded()
+		{
+			SetAgent();
+
+			return 1;
+		}
+	};
+]
\ No newline at end of file

--
Gitblit v1.9.3