From c8b640b00794a58316e7adeba91a16e5fcdca2f4 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期四, 27 六月 2024 16:05:21 +0800
Subject: [PATCH] this update tree data item

---
 /dev/null |  157 ----------------------------------------------------
 1 files changed, 0 insertions(+), 157 deletions(-)

diff --git a/jrj/ext-jrj/Product.Select.SO.cpp b/jrj/ext-jrj/Product.Select.SO.cpp
deleted file mode 100644
index 90126fe..0000000
--- a/jrj/ext-jrj/Product.Select.SO.cpp
+++ /dev/null
@@ -1,1330 +0,0 @@
-#include <wobject/xstring.hpp>
-#include <wobject/xdouble.hpp>
-#include <xcontrol/xtreeview.hpp>
-#include <xcontrol/xdwgrid.hpp>
-#include <xcontrol/ximageview.hpp>
-
-#include "vbusiness/vframe/maint.vframe.vbusiness.hpp"
-#include "viewobject/view.base.hpp"
-#include "viewobject/saleorder.view.hpp"
-#include "viewobject/quote.view.hpp"
-#include "viewobject/shoppingcart.view.hpp"
-#include "viewobject/productLibrary.view.hpp"
-#include "xcontrol/xcheckbox.hpp"
-#include "xcontrol/xshtml.hpp"
-
-
-	class __declspec(dllexport) ProductSelectSOWin : public xwin
-	{
-	public:
-		int hObject = 0;
-		xstring CustomerID;
-		xstring CustomerName;
-
-		//产品库产品列表
-		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;
-		xstring 	agentFor;
-		xstring	impStr;
-	public:
-		ProductSelectSOWin(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
-	public:
-		static ProductSelectSOWin* CreateInstance(void* implPtr, void* hWnd)
-		{
-			ProductSelectSOWin* pWin = new ProductSelectSOWin(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, int param)
-		{
-			//重置工具条
-			SetAgent();
-			return 1;
-		}
-
-		KXMLDOMElement OnGetCarListRowElement(int row = 0)
-		{
-			if (row < 1) row = dwc_list.GetRow();
-			if (row < 1 || row > dwc_list.GetRowCount()) return 1;
-			KXMLDOMElement e = g_xdoc_shoppingcart.getRowElement(L"data/Item", row);
-			return e;
-		}
-
-		int OnRowChanged(TEvent* evt, LPARAM p)
-		{
-			DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
-			int row = hdr.row;
-
-			xshtml xs = GetControl(L"html_detail");
-			xstring html = makeHtml(row);
-			xs.SetContent(html);
-			xs.Redraw();
-
-			xstring skuno = g_xdoc_product.getData(0, L"data/Item", row, L"SKUNo");
-			OnShowImage(skuno);
-
-			return 1;
-		}
-
-		int OnGoodsCarRowChanged(TEvent* evt, LPARAM p)
-		{
-			DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
-			int row = hdr.row;
-
-			xshtml xs = GetControl(L"html_detail");
-			xstring html = makeGoodscarHtml(row);
-			xs.SetContent(html);
-			xs.Redraw();
-
-			xstring skuno = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"No");
-			//alert(skuno);
-			OnShowImage(skuno);
-
-			return 1;
-		}
-
-		int DeleteRow(int row)
-		{
-			int IDOK = 1;
-			int MB_OKCANCEL = 1;
-			int MB_ICONQUESTION = 32;
-			if (MessageBoxW(GetHWND(), L"确认删除指定的项,删除后将不能恢复?", L"提示", MB_OKCANCEL | MB_ICONQUESTION) != IDOK) return 1;
-			xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
-
-			if (ProductLibraryView::DeleteItem(id) == 1)	dw_list.DeleteRow(0);
-			return 1;
-		}
-
-		int SetSelectState(xdwgrid dw_obj, int state)
-		{
-			/*
-			if (state== 1)
-			{
-				dw_obj.SetSelectionMode(3);
-			}
-			else if (state==-1)
-			{
-				dw_obj.SelectRow(0,false);
-				dw_obj.SetSelectionMode(0);
-			}*/
-			dw_obj.SetSelectionMode(3);
-			return 1;
-		}
-		int OnCkbCLick(TEvent* evt, int p)
-		{
-			xcheckbox cbx_1 = GetControl(L"frame:cbx1");
-			int state = cbx_1.GetCheck();
-			return SetSelectState(dw_list, state);
-		}
-
-		int OnCkbCLick2(TEvent* evt, int p)
-		{
-			xcheckbox cbx_2 = GetControl(L"frame:cbx2");
-			int state = cbx_2.GetCheck();
-			return SetSelectState(dwc_list, state);
-		}
-
-		xml  GetGoodsPropList(xstring guid)
-		{
-			xml x;
-			xaserverarg arg ;
-			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg(L"guid", guid);
-			if (xurl::get(L"/sale/data/SO/goods/goodsprop/list", arg.GetString(), x) != 1)
-			{
-				xstring error = x.text();
-				alert(error);
-			}
-			return x;
-		}
-
-		int OnShowImage(xstring skuno)
-		{
-			ximageview im = GetControl(L"im1");
-			im.RemoveImage();
-
-			xml xp ;
-			xaserverarg arg_pic ;
-			arg_pic.AddArg(L"SKUNo", skuno);
-			if (xurl::get(L"/sale/data/ProductLibrary3/pref/picture/imagelistSKUNo", arg_pic.GetString(), xp) != 1)
-			{
-				trace(xstring(L"xxx") + xp.xml());
-			}
-			else
-			{
-				KXMLDOMNodeList  nlistp = xp.selectNodes(L"ImageList/image");
-				int lenp = nlistp.length();
-				for (int ip = 0; ip < lenp; ip++)
-				{
-					KXMLDOMElement xitem = nlistp.item(ip);
-					xstring picname = xitem.selectSingleNode(L"PicPath").text();
-					xstring goodno = xitem.selectSingleNode(L"GoodsNo").text();
-					if (picname == L"/business/products/Thumbs//")
-						picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
-					im.AddImages(picname, goodno);
-				}
-				im.Redraw();
-			}
-			return 1;
-		}
-
-		xml  GetGoodsPropListEx(xstring guid)
-		{
-			xml x;
-			
-			xstring fields = L"<data>";
-
-			/*
-			fields +=L"<field name='HighestPrice' label='最高价'/>";
-			fields +=L"<field name='LowestPrice' label='最低价'/>";
-
-			fields +=L"<field name='BulkPrice' label='散货价'/>";
-			fields +=L"<field name='CardPrice' label='纸卡价'/>";
-			fields +=L"<field name='BuyPrice' label='采购价'/>";
-			fields +=L"<field name='SupplierID' label='货源'/>";
-			*/
-
-			fields += L"<field name='Packing' label='包装方式'/>";
-			fields += L"<field name='PackingRate' label='每箱数量'/>";
-			fields += L"<field name='VolumeDesc' label='包装尺码'/>";
-			fields += L"<field name='GWPerPkg' label='毛重'/>";
-			fields += L"<field name='NWPerPkg' label='净重'/>";
-			//fields +=L"<field name='DeveloperID' label='开发人员'/>";
-			fields += L"<field name='AttributeValue_1' label='产品属性'/>";
-			//fields +=L"<field name='Remark' label='备注'/>";
-
-			fields += L"</data>";
-			x.loadXML(fields);
-
-			return x;
-		}
-
-		xstring makeHtml(int row)
-		{
-			xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
-			xml x = GetGoodsPropList(id);
-			xml x1 = GetGoodsPropListEx(id);
-
-			xstring html = L"<html><style> .text{ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>";
-			html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >编号:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, L"No") +
-				L"</span> <span style='font-weight:700;width:50;font-size:10pt' >类项:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, L"RefNo") +
-				L"</span></div>";
-			html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >货号:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, L"GoodsNo") +
-				L"</span></div>";
-			html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >品名:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, L"CName") +
-				L"</span></div>";
-			if (dw_list.GetItemString(row, L"CSpec") != L"")
-				html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >规格:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row, L"CSpec") +
-				L"</span></div>";
-
-			KXMLDOMNodeList fieldsEx = x1.selectNodes(L"data/field");
-			xstring ls_detail = L"";
-			xstring ls_item = L"";
-			xstring name;
-			xstring label;
-			int len = fieldsEx.length();
-			int i = 0;
-
-			for (i = 0; i < len; true)
-			{
-				int cnt = 0;
-				ls_item = L"";
-				while (cnt < 2)
-				{
-					name = fieldsEx.item(i).selectSingleNode(L"@name").text();
-					label = fieldsEx.item(i).selectSingleNode(L"@label").text();
-					ls_item += L"<td>" + label + L"</td>" + L"<td style='text-align:center'>" + g_xdoc_product.getData(0, L"data/Item", row, name) + L"</td>";
-					cnt++;
-					i++;
-					if (i == len)break;
-				}
-				ls_detail += L"<tr>" + ls_item + L"</tr>";
-			}
-			html += (xstring)L"<div style='margin-left:8px;margin-right:16px;'>" +
-				+L"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>"
-				+ ls_detail
-				+ L"</table>"
-				+ L"</div>";
-
-			xstring ls_star = L"";
-			KXMLDOMNodeList fields = x.selectNodes(L"data/field");
-			len = fields.length();
-
-			ls_detail = L"";
-			if (len > 0)
-				html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >技术要求:</span></div>";
-			for (i = 0; i < len; true)
-			{
-				ls_item = L"";
-
-				int count = 0;
-				while (count < 2)
-				{
-					name = fields.item(i).selectSingleNode(L"@name").text();
-					label = fields.item(i).selectSingleNode(L"@label").text();
-					if (name == L"QualityTerm" || name == L"PackTerm" || label == L"质量" || label == L"包装质量" || label == L"技术要求")
-					{
-						i++;
-						if (i >= len)count = 2;
-						continue;
-					}
-					else if (g_xdoc_product.getData(0, L"data/Item", row, name) == L"")
-					{
-						KXMLDOMNodeList options = fields.item(i).selectNodes(L"item");
-						int tlen = options.length();
-						xstring terms = L"";
-						for (int k = 0; k < tlen; k++)
-						{
-							if (options.item(k).text())
-							{
-								if (k > 0) terms += L", L";
-								terms += (xstring)L"[" + options.item(k).text() + L"]";
-							}
-						}
-						ls_star += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >" + label + L"*:</span><span  style='width:90;font-size:10pt'>" + terms + L"</span></div>";
-					}
-					else
-					{
-						ls_item = L"<td>" + label + L"</td>" + L"<td>" + g_xdoc_product.getData(0, L"data/Item", row, name) + L"</td>";
-						count++;
-					}
-					i++;
-					if (i >= len)count = 2;
-				}
-				ls_item = L"<tr>" + ls_item + L"</tr>";
-				ls_detail += ls_item;
-			}
-
-			html += (xstring)L"<div style='margin-left:8px;margin-right:16px;'>" +
-				+L"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>"
-				+ ls_detail
-				+ L"</table>"
-				+ L"</div>";
-			if (dw_list.GetItemString(row, L"QualityTerm") != L"")
-			{
-				html += L"<div style='height:12px'/>";
-				html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >质量:</span></div>";
-				html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt'  >" + dw_list.GetItemString(row, L"QualityTerm") + L"</span></div>";
-			}
-
-			if (dw_list.GetItemString(row, L"PackTerm") != L"")
-			{
-				html += L"<div style='height:12px'/>";
-				html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >包装质量:</span></div>";
-				html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row, L"PackTerm") + L"</span></div>";
-			}
-
-			if (g_xdoc_product.getData(0, L"data/Item", row, L"Remark") != L"")
-			{
-				//html +=  L"<div style='height:12px'/>";
-				html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >备注:</span></div>";
-				html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + g_xdoc_product.getData(0, L"data/Item", row, L"Remark") + L"</span></div>";
-			}
-
-			html += L"<div style='height:24px'/>";
-
-			//星标项
-			html += ls_star;
-
-			//显示图片			
-			/*xstring picname = L"1FA9E331-F95C-4E51-B80C-73FB9B911D8D.jpg";//dw_list.GetItemString(row,L"ImgName"); //ItemID+L".jpg";
-			xstring str = picname.mid(0,2);
-			str = str.toUpper();
-			xstring serversrc =L"http://192.168.7.241:1001/business/products/chanpin/"+str+L"/"+picname;
-			html +=  L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >图片:</span>";
-			html +=  L"<control visible='layer' controlclass='ximage'  data='' src='"+ serversrc +L"'/></div>";
-			*/
-			html += L"</body></html>";
-			//trace(html);
-			return html;
-		}
-
-		xstring makeGoodscarHtml(int row)
-		{
-			xstring No = dwc_list.GetItemString(row, L"RefNo");//获取属性值id					
-			xml x = GetGoodsPropList(No);
-
-			xstring html = L"<html><style> .text{ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>";
-			html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >编号:</span><span  style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row, L"No") +
-				L"</span></div>";
-			html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >品名:</span><span  style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row, L"CName") +
-				L"</span></div>";
-			html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >规格:</span><span  style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row, L"CSpec") +
-				L"</span></div>";
-
-			KXMLDOMNodeList fields = x.selectNodes(L"data/field");
-			int len = fields.length();
-			html += (xstring)L"<table>" +
-				L"<colgroup span='1' width='80'/>" +
-				L"<colgroup span='1' width='120'/>" +
-				L"<colgroup span='1' width='420'/>";
-			html += L"<tr>";
-			html += L"<td style='text-align:center'>编号</td><td style='text-align:center'>项目</td><td style='text-align:center'>内容</td>";
-			html += L"</tr>";
-			for (int i = 0; i < len; i++)
-			{
-				xstring name = fields.item(i).selectSingleNode(L"@name").text();
-				xstring label = fields.item(i).selectSingleNode(L"@label").text();
-				html += L"<tr>";
-				if (i == 0)
-					html += L"<td rowspan='" + xstring(len) + L"'>" + No + L"</td><td >" + label + L"</td><td >" + L"</td>";
-				else
-					html += L"<td >" + label + L"</td><td >" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, name) + L"</td>";
-				html += L"</tr>";
-			}
-
-			html += L"<tr>";
-			html += L"<td rowspan='3'>" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"PackCode") + L"</td><td >包装方式</td><td >" +
-				g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CPack") + L"</td>";
-			html += L"</tr>";
-			html += L"<tr height='48'>";
-			html += L"<td >包装要求</td><td >" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"PackQualityTerm") + L"</td>";
-			html += L"</tr>";
-			html += L"<tr>";
-			html += L"<td >侧唛</td><td ></td>";
-			html += L"</tr>";
-
-			html += L"<tr height='72'>";
-			html += L"<td>" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"QualityCode") + L"</td><td >质量要求</td><td >" +
-				g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"QualityTerm") + L"</td>";
-			html += L"</tr>";
-
-			html += L"</table>";
-
-			html += L"</body></html>";
-			return html;
-		}
-
-		int CarGoodsDelete()
-		{
-			return 1;
-		}
-
-		int Up(xstring name) {
-			//int ret1 = 3;
-			xstring str = name.mid(0, 2);
-			str = str.toUpper();
-			//alert(str);
-			int ret1 = xaserver::UploadFile(L"product" + str, name + L".jpg", GetHWND(), L"", false);
-
-			//trace(ret1);
-			return ret1;
-		}
-		int OnAddImage() {
-			int row = dw_list.GetNextSelectRow(1);
-			if (row < 1) row = dw_list.GetRow();
-			if (row < 1 || row > dw_list.GetRowCount()) return 0;
-			KXMLDOMElement e = g_xdoc_product.getRowElement(L"data/Item", row);
-			//KXMLDOMElement e = dw_list.GetRowElement(row);
-			//alert(e.xml);
-			xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
-			//alert(id);
-			int ret1 = Up(id);
-			//alert(ret1.toString());
-			if (ret1 == -1)
-				return -1;
-			if (ret1 == 0)
-			{
-				alert(L"上传图片失败");
-				return -1;
-			}
-
-			//GoodsLib:GetList($parent)  goodslib.object.xq
-			// 图片名加入数据库
-			xstring path = L"data/Item";
-			g_xdoc_product.xdoc.SetXPath(path);
-			g_xdoc_product.setItem(path, row, L"ImgName", id + L".jpg");
-			KXMLDOMElement e1 = g_xdoc_product.getRowElement(L"data/Item", row);
-			xstring val = e1.xml(); //g_xdoc_product.GetContent();
-			//trace(val);
-			xml x ;
-			xaserverarg arg;
-			arg.AddArg(L"content", val);
-			if (xurl::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
-			{
-				alert(x.text());
-				return -1;
-			}
-			//alert(x.GetXml());
-			//xstring ImgName = g_xdoc_product.getItemString(path,row, L"ImgName");
-			//alert(ImgName);
-
-			//刷新一下界面,显示图片
-			xshtml xs = GetControl(L"html_detail");
-			xstring html = makeHtml(row);
-			xs.SetContent(html);
-			xs.Redraw();
-
-			//alert(L"上传图片成功!");
-			return 1;
-		}
-		int OnDeleteImage() {
-			int row = dw_list.GetNextSelectRow(1);
-			if (row < 1) row = dw_list.GetRow();
-			if (row < 1 || row > dw_list.GetRowCount()) return 0;
-			KXMLDOMElement e1 = g_xdoc_product.getRowElement(L"data/Item", row);
-			xstring val = e1.xml();
-			xml x ;
-			
-			xaserverarg arg;
-			
-			arg.AddArg(L"content", val);
-			if (xurl::get(L"/sale/data/ProductLibrary/image/delete", arg.GetString(), x) != 1)
-			{
-				alert(x.text());
-				return -1;
-			}
-
-			return 1;
-		}
-		int OnPreviewImage()
-		{
-			int row = dw_list.GetNextSelectRow(1);
-			if (row < 1) row = dw_list.GetRow();
-			if (row < 1 || row > dw_list.GetRowCount()) return 0;
-			KXMLDOMElement e = g_xdoc_product.getRowElement(L"data/Item", row);
-			//KXMLDOMElement e = dw_list.GetRowElement(row);
-			//alert(e.xml);
-			xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
-
-			int pr = g_xdoc_product;
-			OpenWindow(L"dev:xpage[PictureView.Product3.vx]", pr);
-
-			return 1;
-		}
-
-		int ItemMaint()
-		{
-			HTREEITEM hItem = tv_folder.GetSelectedItem();
-			KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
-			//xstring no = e.getAttribute(L"no");
-			//if(no==L"") return 1;
-			xstring guid = e.getAttribute(L"guid");
-			if (guid == L"") return 1;
-
-			/*
-			if(no==L"NP0000FS" || no==L"UP0000FS")
-			{
-				OpenWindow(L"dev:xpage[PackSchemaMaint.goodslib.vx]");
-			}else
-			{
-				int pr = g_xdoc_product;
-				OpenWindow(L"dev:xpage[ProductLibraryItemMaint.vx]",pr);
-			}
-			*/
-
-			int pr = g_xdoc_product;
-			OpenWindow(L"dev:xpage[ProductLibraryItemMaint3.vx]", pr);
-
-			return 1;
-		}
-
-		int ItemAdd()
-		{
-
-			HTREEITEM hItem = tv_folder.GetSelectedItem();
-			
-			KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
-			
-			
-			//alert(e.xml);
-			/*xstring no = e.getAttribute(L"no");
-			if(no==L"") return 1;
-			if(no==L"NP0000FS" || no==L"UP0000FS")
-			{
-				OpenWindow(L"dev:xpage[PackSchemaMaint.goodslib.vx]");
-			}else
-			{
-				int p = no;
-				OpenWindow(L"dev:xpage[SO.autolist.goodslib.add.vx]",p);
-			}*/
-			xstring guid = e.getAttribute(L"guid");
-			if (guid == L"") return 1;
-			xaserverarg arg;
-			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg(L"guid", e.getAttribute(L"guid"));
-			arg.AddArg(L"No", e.getAttribute(L"CategoryNo"));
-			arg.AddArg(L"CName", e.getAttribute(L"CName"));
-			int p = arg;
-			OpenWindow(L"dev:xpage[Quick.Input.Product.vx]", p);
-
-			return 1;
-		}
-
-		int OnImport()
-		{
-			if (!hObject) return 1;
-
-			int rw = 0;
-			xstring ls_nos = L"ImportXml:";
-			/*
-			if(agentFor !=L"goodscar")
-			{
-				rw =  dw_list.GetNextSelectRow(1);
-				if (rw<1 || rw > dw_list.GetRowCount())
-				{
-					alert(L"请选择商品!");
-					return 1;
-				}
-
-
-				while (rw>0)
-				{
-					ls_nos += L",L"+dw_list.GetItemString(rw, L"SKUNo");
-					//ls_nos += L",L"+dw_list.GetItemString(rw, L"GoodsNo");
-					//ls_nos += L",L"+dw_list.GetItemString(rw, L"GoodNo");
-					rw =  dw_list.GetNextSelectRow(rw + 1);
-				}
-				dw_list.SelectRow(0,false);
-				dw_list.Redraw();
-			}
-			else
-			{
-				rw =  dwc_list.GetNextSelectRow(1);
-				if (rw<1 || rw > dwc_list.GetRowCount())
-				{
-					alert(L"请选择商品!");
-					return 1;
-				}
-
-				int hItem = tv_folder.GetSelectedItem();
-				hItem = LookupCustomerFolder(hItem);
-				if(!hItem)
-				{
-					//trace(L"-------");
-					return 1;
-				}
-
-				KXMLDOMElement e = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
-				xstring no = e.getAttribute(L"no");
-				xstring name = e.getAttribute(L"name");
-				xstring customer = no.mid(no.find(L":")+1,99999);
-				xstring customername = name.mid(no.find(L":")+1,99999);
-				if(CustomerID !=L"" && CustomerID != customer)
-				{
-					alert(L"只能转入"+CustomerName+L"报价数据!");
-					return 1;
-				}
-				if(CustomerID==L"")
-				{
-					CustomerID = customer;
-					CustomerName = customername;
-					win32::SendMessage(hObject,0x401,L"xmSetCustomer:"+CustomerID+L"\t"+CustomerName,0);
-				}
-
-				while (rw>0)
-				{
-					xstring ql = g_xdoc_shoppingcart.getData(0,L"data/Item",rw,L"QuoteLineID");
-					if(ql !=L"")
-						ls_nos +=L" "+L"ql:"+ql;
-					else if(dwc_list.GetItemString(rw, L"SKUNo") !=L"")
-						ls_nos += L" "+dwc_list.GetItemString(rw, L"SKUNo");
-					else
-						ls_nos += L" "+dwc_list.GetItemString(rw, L"No");
-					//trace(ls_nos);
-					rw =  dwc_list.GetNextSelectRow(rw + 1);
-				}
-				dwc_list.SelectRow(0,false);
-				dwc_list.Redraw();
-			}
-			*/
-			if (impStr == L"")
-			{
-				alert(L"请选择商品!");
-				return 1;
-			}
-			ls_nos += impStr;
-			dwc_list.SelectRow(0, false);
-			dwc_list.Redraw();
-			dw_list.SelectRow(0, false);
-			dw_list.Redraw();
-			impStr = L"";
-
-			SendMessageW(hObject, 0x401, ls_nos, 0);
-			alert(L"转入完成!");
-			return 1;
-		}
-
-		int OnSearch()
-		{
-			HTREEITEM hItem = tv_folder.GetSelectedItem();
-			return RetrieveItem(hItem);
-		}
-
-		//命令发布函数
-		int OnCmdDispatch(xstring comdid)
-		{
-			int hCursor;
-			xstring name = L"";
-			if (comdid == L"xmCarGoodsDelete")
-			{
-				CarGoodsDelete();
-				return 1;
-			}
-			else if (comdid == L"xmClose")
-			{
-				CloseWindow();
-				return 1;
-			}
-			else if (comdid == L"xmCarGoodsMaint")
-			{
-				OpenWindow(L"dev:xpage[ShoppingCartProductMaint.vx]", trust(g_xdoc_shoppingcart as int));
-				return 1;
-			}
-			else if (comdid == L"xmCarMaint")
-			{
-				OpenWindow(L"dev:xpage[SO.autolist.Shopcar.vx]");
-				return 1;
-			}
-			else if (comdid == L"xmSaleOrder")
-			{
-				int rw = dwc_list.GetNextSelectRow(1);
-				xstring content = L"<data>";
-				while (rw > 0)
-				{
-					KXMLDOMElement xe = OnGetCarListRowElement(rw);
-					content += xe.xml();
-					rw = dwc_list.GetNextSelectRow(rw + 1);
-
-				}
-				content += L"</data>";
-				xaserverarg carg;
-				carg.AddArg(L"content", content);
-				
-				OpenWindow(L"dev:xpage[SO.Simulation.Import.vx]", (LPARAM)&carg);
-				return 1;
-			}
-			else if (comdid == L"xmEnquiry")
-			{
-				int rw = dwc_list.GetNextSelectRow(1);
-				xstring content = L"<data>";
-				while (rw > 0)
-				{
-					KXMLDOMElement xe = OnGetCarListRowElement(rw);
-					content += xe.xml();
-					rw = dwc_list.GetNextSelectRow(rw + 1);
-				}
-				content += L"</data>";
-				xaserverarg carg;
-				
-				carg.AddArg(L"content", content);
-				
-				OpenWindow(L"dev:xpage[Enquiry.Import.vx]", (LPARAM)&carg);
-				return 1;
-			}
-			else if (comdid == L"xmPurchar")
-			{
-				int rw = dwc_list.GetNextSelectRow(1);
-				xstring content = L"<data>";
-				while (rw > 0)
-				{
-					KXMLDOMElement xe = OnGetCarListRowElement(rw);
-					content += xe.xml();
-					rw = dwc_list.GetNextSelectRow(rw + 1);
-				}
-				content += L"</data>";
-				xaserverarg carg  ;
-				
-				carg.AddArg(L"content", content);
-				
-				OpenWindow(L"dev:xpage[PO.Import.vx]", (LPARAM)&carg);
-				return 1;
-			}
-			else if (comdid == L"xmQuote")
-			{
-				int rw = dwc_list.GetNextSelectRow(1);
-				xstring content = L"<data>";
-				while (rw > 0)
-				{
-					KXMLDOMElement xe = OnGetCarListRowElement(rw);
-					content += xe.xml();
-					rw = dwc_list.GetNextSelectRow(rw + 1);
-
-				}
-				content += L"</data>";
-				xaserverarg carg;
-				
-				carg.AddArg(L"content", content);
-				
-				OpenWindow(L"dev:xpage[Quote.Import.vx]", (LPARAM)&carg);
-				return 1;
-			}
-			else if (comdid == L"xmAdd")
-			{
-				return ItemAdd();
-			}
-			else if (comdid == L"xmDelete")
-			{
-				int row = dw_list.GetRow();
-				if (row < 1) return 1;
-				DeleteRow(row);
-
-				return 1;
-			}
-			else if (comdid == L"xmCarAdd")
-			{
-				HCURSOR hCursor = xutil::SetCursorWait();
-
-				name = xcontrol(GetControl(L"frame:ed_goodscar")).GetText();
-				if (name != L"")
-				{
-					if (ShoppingCartView::AddCar(name) == 1)
-					{
-						tv_folder.InsertChildItem(LookupTopFolder(tv_folder.GetSelectedItem()),
-							name, 0, 35);
-					}
-				}
-				xutil::RestoreCursor(hCursor);
-				return 1;
-			}
-			else if (comdid == L"xmMaint")
-			{
-				return ItemMaint();
-			}
-			else if (comdid == L"xmAddImage")
-			{
-				return OnAddImage();
-			}
-			else if (comdid == L"xmDeleteImage")
-			{
-				return OnDeleteImage();
-			}
-			else if (comdid == L"xmPreviewImage")
-			{
-				return OnPreviewImage();
-			}
-			else if (comdid == L"xmPropConfigure")
-			{
-				int r = cast(g_xdoc_product.getData(L"data/Item", L"@guid") as int);
-				OpenWindow(L"dev:xpage[Product.ItemProp.Maint.vx]", r);
-				return 1;
-			}
-			else if (comdid == L"xmRertieve")
-			{
-				int hItem1 = tv_folder.GetSelectedItem();
-				KXMLDOMElement e2 = tv_folder.GetItemData(hItem1);
-				xstring no1 = e2.getAttribute(L"no");
-				xml x2 = vcontrol::RetrieveData(L"/sale/data/SO/goods/usergoods/listex1", L"parent", no1);
-				g_xdoc_product.Retrieve(x2);
-				dwc_list.PostRetrieve();
-				dw_list.PostRetrieve();
-
-				return 1;
-			}
-			else if (comdid == L"xmToCar")
-			{
-				name = xcontrol(GetControl(L"frame:cbx_goodscar")).GetText();
-				if (name == L"==选择购物车==L")
-				{
-					alert(L"请选择购物车");
-					return 1;
-				}
-				int xrow = dw_list.GetNextSelectRow(1);
-				xstring goodsid = L"";
-				xstring html = L"<data>";
-				while (xrow > 0)
-				{
-					KXMLDOMElement e = g_xdoc_product.getRowElement(L"data/Item", xrow);
-					goodsid = ProductLibraryView::GetElementString(e, L"@guid");
-					html += L"<item goodid='" + goodsid + L"' id ='" + ProductLibraryView::GetGuid() + L"'/>";
-					xrow = dw_list.GetNextSelectRow(xrow + 1);
-				}
-				html += L"</data>";
-				trace(html);
-				if (ShoppingCartView::GoodsImport(name, html) == 1)
-					alert(L"添加错误!");
-				else
-					alert(L"添加成功");
-				return 1;
-			}
-			else if (comdid == L"xmImport")
-			{
-				OnImport();
-				CloseWindow();
-				return 1;
-			}
-			else if (comdid == L"xmSearch")
-			{
-				OnSearch();
-				return 1;
-			}
-			return 0;
-		}
-
-		//命令处理事件
-		int OnXCommand(TEvent* evt, int param)
-		{
-			return OnCmdDispatch(evt->xcommand.pStrID);
-		}
-
-		HTREEITEM LookupCustomerFolder(HTREEITEM hItem)
-		{
-			KXMLDOMElement e = tv_folder.GetItemData(hItem);
-			xstring no = e.getAttribute(L"no");
-			if (no.find(L"Customer1:") >= 0) return hItem;
-
-			while (tv_folder.GetParentItem(hItem))
-			{
-				hItem = tv_folder.GetParentItem(hItem);
-				e = tv_folder.GetItemData(hItem);
-				no = e.getAttribute(L"no");
-				if (no.find(L"Customer1:") >= 0) return hItem;
-			}
-			return 0;
-		}
-
-		//查找当前树项的顶级目录
-		HTREEITEM LookupTopFolder(HTREEITEM hItem)
-		{
-			HTREEITEM hRoot = tv_folder.GetRootItem();
-			while (tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem);
-			return hItem;
-		}
-
-		//插入产品类项的子项
-		int MakeGoodsFolderItem(HTREEITEM hItem, xstring sno)
-		{
-			xml x = ProductLibraryView::GetTreeChildItems3(sno);
-			if (!x) return 0;
-
-			KXMLDOMNodeList nlist = x.selectNodes(L"//Item");
-			int len = nlist.length();
-			for (int i = 0; i < len; i++)
-			{
-				KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
-				xstring name = e.getAttribute(L"CName");
-				xstring no = e.getAttribute(L"CategoryNo");
-				xstring label = no.trim() + L" " + name;
-
-				HTREEITEM h = tv_folder.InsertChildItem(hItem, label, (LPARAM)&e, 15);
-				xstring child = e.getAttribute(L"Childs");
-				if (child == L"")
-					tv_folder.SetItemChild(h, 1);
-				else if (child != L"0")
-					tv_folder.SetItemChild(h, 1);
-			}
-			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));
-				xstring name = e.getAttribute(L"name");
-				HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image);
-				ExpandCatChildFolder(h, e, 35);
-			}
-			return 1;
-		}
-		int MakeGoodCarFolderItem(HTREEITEM hItem)
-		{
-			xml x = ShoppingCartView::GetRoleList();
-			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));
-				xstring name = e.getAttribute(L"name");
-				HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, 35);
-				ExpandCatChildFolder(h, e, 35);
-			}
-			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);
-			xstring no = L"";
-			KXMLDOMElement e;
-
-			if (name == L"公司库" && !child)
-			{
-				no = L"N000005";
-				if (hTopItem != hItem)
-				{
-					e = tv_folder.GetItemData(hItem);
-					no = e.getAttribute(L"categoryid");
-				}
-				else
-				{
-					e = tv_folder.GetItemData(hItem);
-					no = e.getAttribute(L"categoryid");
-				}
-				MakeGoodsFolderItem(hItem, no);
-			}
-			else if (name == L"个人产品库" && !child)
-			{
-				no = L"U000005";
-				if (hTopItem != hItem)
-				{
-					e = tv_folder.GetItemData(hItem);
-					no = e.getAttribute(L"no");
-				}
-				MakeGoodsFolderItem(hItem, no);
-			}
-			else if (name == L"购物车" && !child)
-			{
-				if (hItem == hTopItem)
-
-					MakeGoodCarFolderItem(hItem);
-			}
-			return 1;
-		}
-
-		int ResetAgent(xstring agentAsk)
-		{
-			if (agentFor != agentAsk)
-			{
-				agentFor = agentAsk;
-				m_agentNode = 0;
-				SetAgent();
-			}
-			return 1;
-		}
-
-		int RetrieveItem(HTREEITEM hItem)
-		{
-			HTREEITEM hTopItem = LookupTopFolder(hItem);
-			xstring name = tv_folder.GetItemLabel(hTopItem);
-			xstring selectname = tv_folder.GetItemLabel(hItem);
-			dw_list.SelectRow(0, false);
-			dwc_list.SelectRow(0, false);
-
-			xcontrol query = GetControl(L"sl_search");
-			xstring queryString = query.GetText();
-
-			if (name == L"购物车")
-			{
-				if (agentFor != L"goodscar")SwitchLayer(L"goodscarsheet", L"sheetframe");
-				ResetAgent(L"goodscar");
-
-				if (selectname != name)
-				{
-					KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
-					xstring str = e1.getAttribute(L"no");
-					if (str.find(L"Customer1:") == 0 || str.find(L"Customer:") == 0 || str.find(L"SO:") == 0 || str.find(L"Quote:") == 0)
-					{
-						if (str.find(L"Customer:") == 0 || str.find(L"Customer1:") == 0)
-							dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodscustomerlist");
-						else {
-							dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodssolist");
-						}
-						dwc_list.SetReadOnly(true);
-						trace(str + L"+++++L" + queryString);
-						g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
-
-					}
-					else if (e1.getAttribute(L"categoryid") != L"")
-					{
-						xstring categoryid = e1.getAttribute(L"categoryid");
-						dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid).GetXmlDoc());
-						dwc_list.SetReadOnly(true);
-
-						g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString, L""));
-					}
-					else
-					{
-
-						dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist");
-						dwc_list.SetReadOnly(true);
-						g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname, queryString));
-					}
-					dwc_list.PostRetrieve();
-					dwc_list.Redraw();
-
-					if (dwc_list.GetRowCount() >= 0)
-					{
-						xshtml xs = GetControl(L"html_detail");
-						xs.SetContent(makeGoodscarHtml(1));
-					}
-					else
-					{	
-						xs = GetControl(L"html_detail");
-						xs.SetContent(L"<html><body/></html>");
-					}
-					xs.Redraw();
-				}
-			}
-			else
-			{
-				if (agentFor != L"goodslib")SwitchLayer(L"goodslibsheet", L"sheetframe");
-				ResetAgent(L"goodslib");
-				HCURSOR hCursor = xutil::SetCursorWait();
-
-				if (name == L"个人产品库" || name == L"公司库")
-				{
-					xstring no = L"N000005";
-					if (name == L"个人产品库") no = L"U000005";
-					if (hItem != hTopItem)
-					{
-						KXMLDOMElement e = tv_folder.GetItemData(hItem);
-						no = e.getAttribute(L"guid");
-					}
-
-					dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no).GetXmlDoc());
-					dw_list = GetControl(L"dw_list");
-					dw_list.SetReadOnly(true);
-
-					g_xdoc_product.Retrieve(ProductLibraryView::GetMaintList3(no, queryString, L""));
-					dw_list.PostRetrieve();
-					dw_list.Redraw();
-
-					if (dw_list.GetRowCount() >= 0)
-					{
-						xs = GetControl(L"html_detail");
-						xs.SetContent(makeHtml(1));
-					}
-					else
-					{
-						xs = GetControl(L"html_detail");
-						xs.SetContent(L"<html/>");
-					}
-					xs.Redraw();
-					xutil::RestoreCursor(hCursor);
-				}
-			}
-
-			return 1;
-		}
-
-		int OnTreeSelChanged(TEvent* evt, int p)
-		{
-			NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
-			HTREEITEM hItem = nmtv.itemNew.hItem;
-			
-			return RetrieveItem(hItem);
-		}
-
-		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));
-				xstring name = e.getAttribute(L"cname");
-				xstring sImage = e.getAttribute(L"image");
-				int image = 15;
-				//if(sImage) image = sImage.toInt();
-				HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image);
-				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");
-			ExpandChildFolder(0, e);
-			return 1;
-		}
-
-		int OnDwClicked(TEvent* evt, LPARAM p)
-		{
-			DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
-			char ch;
-			int row = hdr.row;
-			xstring col = hdr.colname;
-
-			xstring str = L"";
-			if (dw_list.GetItemString(row, L"SKUNo") != L"")
-				str = dw_list.GetItemString(row, L"SKUNo");
-			else
-				str = dw_list.GetItemString(row, L"No");
-
-			if (dw_list.IsRowSelected(row) & 0xff)
-			{
-				//will unselect
-				impStr = impStr.replace(L" " + str, L"");
-			}
-			else
-			{
-				//will select
-				impStr += L" " + str;
-			}
-			return 1;
-		}
-
-		int OnDwcClicked(TEvent* evt, LPARAM p)
-		{
-			DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
-			char ch;
-			int row = hdr.row;
-			xstring col = hdr.colname;
-
-			xstring str = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"QuoteLineID");
-			if (str != L"")
-				str = L"ql:" + str;
-			else if (dwc_list.GetItemString(row, L"SKUNo") != L"")
-				str = dwc_list.GetItemString(row, L"SKUNo");
-			else
-				str = dwc_list.GetItemString(row, L"No");
-
-			if (dwc_list.IsRowSelected(row) & 0xff)
-			{
-				//will unselect
-				impStr = impStr.replace(L" " + str, L"");
-			}
-			else
-			{
-				//will select
-				impStr += L" " + str;
-			}
-			return 1;
-		}
-
-		int OnDoubleClicked(TEvent* evt, LPARAM p)
-		{
-			HCURSOR hCursor = xutil::SetCursorWait();
-			DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
-			int row = hdr.row;
-			xstring ls_nos = L"ImportXml:";
-			xstring str = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SOLineID");
-			xstring str1 = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"EnquiryPriceListID");
-			if (str1 != L"")
-				str += L"el:" + str1;
-			else if (str != L"")
-				str = L"sl:" + str;
-			else if (dwc_list.GetItemString(row, L"SKUNo") != L"")
-				str = dwc_list.GetItemString(row, L"SKUNo");
-			else
-				str = dwc_list.GetItemString(row, L"No");
-			ls_nos += str;
-
-			dw_list.SelectRow(0, false);
-			dwc_list.SelectRow(0, false);
-			dw_list.Redraw();
-			dwc_list.Redraw();
-			impStr = L"";
-			win32::SendMessage(hObject, 0x401, ls_nos, 0);
-
-			xutil::RestoreCursor(hCursor);
-			CloseWindow();
-			return 1;
-		}
-
-		int OnAttachEvent()
-		{
-			//绑定工具条点击事件
-			AttachEvent(L"WM_XCOMMAND", (FEvent)&ProductSelectSOWin::OnXCommand);
-			//获取焦点事件,用于重置工具条
-			AttachEvent(L"WM_SETFOCUS", (FEvent)&ProductSelectSOWin::OnSetFocus);
-			AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&ProductSelectSOWin::OnRowChanged);
-			AttachEvent(L"dwc_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&ProductSelectSOWin::OnGoodsCarRowChanged);
-			AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING", (FEvent)&ProductSelectSOWin::OnTreeExpanding);
-			AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&ProductSelectSOWin::OnTreeSelChanged);
-			AttachEvent(L"WM_COMMAND", (FEvent)&ProductSelectSOWin::OnCkbCLick);	//checkbox打钩事件
-			AttachEvent(L"WM_COMMAND", (FEvent)&ProductSelectSOWin::OnCkbCLick2);	//checkbox打钩事件					
-			AttachEvent(L"dw_list", L"DWV_CLICKED", (FEvent)&ProductSelectSOWin::OnDwClicked);
-			AttachEvent(L"dwc_list", L"DWV_CLICKED", (FEvent)&ProductSelectSOWin::OnDwcClicked);
-
-			AttachEvent(L"dwc_list", L"DWV_DOUBLECLICKED", (FEvent)&ProductSelectSOWin::OnImport);
-		}
-
-		int onload()
-		{
-			agentFor = L"goodslib";
-
-			OnAttachEvent();
-
-			tv_folder = GetControl(L"tv_folder");
-			dw_list = GetControl(L"dw_list");
-			dwc_list = GetControl(L"dwc_list");
-
-			xaserverarg arg;
-			CustomerID = L"";
-			CustomerName = L"";
-			hObject = 0;
-			if (arg)
-			{
-				hObject = (int)arg.GetArgString(L"HWND");
-				CustomerID = arg.GetArgString(L"CustomerID");
-			}
-			InitialFolder();
-
-			g_xdoc_product = new xdataset;
-			g_xdoc_product.Init();
-			xbind bindproduct = new xbind;
-			bindproduct.bindEx(dw_list, g_xdoc_product, L"");
-
-			g_xdoc_shoppingcart = new xdataset;
-			g_xdoc_shoppingcart.Init();
-
-			xbind bindcart = new xbind;
-			bindcart.bindEx(dwc_list, g_xdoc_shoppingcart, L"");
-
-			dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(L"").GetXmlDoc());
-			dw_list = GetControl(L"dw_list");
-			dw_list.SetReadOnly(true);
-
-			dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist");
-			dwc_list.SetReadOnly(true);
-
-			if (dw_list.GetRowCount())
-			{
-				xshtml xs = GetControl(L"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::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
diff --git a/jrj/ext-jrj/delivery.base.maint.so.cpp b/jrj/ext-jrj/delivery.base.maint.so.cpp
deleted file mode 100644
index b674738..0000000
--- a/jrj/ext-jrj/delivery.base.maint.so.cpp
+++ /dev/null
@@ -1,191 +0,0 @@
-#include <wobject/xstring.hpp>
-#include <xcontrol/xtreeview.hpp>
-#include <xcontrol/xdwgrid.hpp>
-#include <xcontrol/xcell.hpp>
-
-
-#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
-#include "viewobject/view.base.hpp"
-
-
-
-	class __declspec(dllexport) DeliveryEdit : public xframe
-	{
-	public:
-		xdwtable	dw_1;
-
-		vcontrol vc;
-		xcell	dw_cell;
-
-	public:
-		DeliveryEdit(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
-	public:
-		static DeliveryEdit* CreateInstance(void* implPtr, void* hWnd)
-		{
-			DeliveryEdit* pWin = new DeliveryEdit(implPtr, (HWND)hWnd);
-			return pWin;
-		}
-
-		xstring OnCreateTxt()
-		{
-			//dw_1.AcceptText(); //不能加会报错
-			xstring sType;
-			xstring sDeliveryRule;
-			xstring sDeliveryDays;
-			xstring sScheduleShipDate;
-			xstring sTxt;
-
-			sType = dw_1.GetItemString(1, L"DeliveryRule");
-			sDeliveryRule = dw_1.GetItemDisplayString(1, L"DeliveryRule");
-			sDeliveryDays = dw_1.GetItemString(1, L"DeliveryDays");
-			sScheduleShipDate = dw_1.GetItemString(1, L"ScheduleShipDate");
-
-			if (sType == L"1")
-			{
-				if (sDeliveryDays != L"")
-					sTxt = L"Shipment within " + sDeliveryDays + L" days after receipt of L/C.";
-				else
-					sTxt = L"";
-			}
-			else if (sType == L"2")
-			{
-				if (sDeliveryDays != L"")
-					sTxt = L"Within " + sDeliveryDays + L" days after receiving the deposit.";
-				else
-					sTxt = L"";
-			}
-			else if (sType == L"3")
-				if (sDeliveryDays != L"")
-					sTxt = L"Within " + sDeliveryDays + L" days after receiving the signed P/I.";
-				else
-					sTxt = L"";
-			else if (sType == L"4")
-			{
-				if (sScheduleShipDate != L"")
-					sTxt = sScheduleShipDate;
-				else
-					sTxt = L"";
-			}
-			else
-				sTxt = L"";
-
-			return sTxt;
-		}
-
-		int OnOk()
-		{
-			dw_1.AcceptText();
-
-			CloseWindow();
-
-			return 1;
-		}
-
-		int OnItemChanged(TEvent* evt, LPARAM p)
-		{
-			DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
-			xstring colname = hdr.colname;
-			xstring value = hdr.data;
-
-			if (colname == L"DeliveryRule")
-			{
-				xstring sP = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
-				xstring sUp = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
-
-				if (value == L"1" || value == L"2" || value == L"3")
-				{
-					dw_cell.SetCellProps(3, 3, sUp);
-					dw_cell.SetCellProps(4, 3, sP);
-				}
-				else if (value == L"4")
-				{
-					dw_cell.SetCellProps(3, 3, sP);
-					dw_1.SetItemString(1, L"DeliveryDays", L"");
-				}
-				else
-				{
-					dw_cell.SetCellProps(3, 3, sP);
-					dw_cell.SetCellProps(4, 3, sUp);
-					dw_1.SetItemString(1, L"DeliveryDays", L"");
-				}
-
-			}
-
-			//生成交货期
-			if (colname == L"DeliveryRule" || colname == L"DeliveryDays" || colname == L"ScheduleShipDate")
-			{
-				xstring sTxt = OnCreateTxt();
-				dw_1.SetItemString(1, L"DeliveryTime", sTxt);
-			}
-
-			return 1;
-		}
-
-		int OnCmdDispatch(xstring comdid)
-		{
-
-			if (comdid == L"xmOk") return OnOk();
-
-			return 0;
-		}
-
-		int OnXCommand(TEvent* evt, LPARAM p)
-		{
-			
-			return OnCmdDispatch(evt->xcommand.pStrID);
-		}
-
-		int OnAttachEvent()
-		{
-			AttachEvent(L"WM_XCOMMAND", (FEvent)&DeliveryEdit::OnXCommand);
-			AttachEvent(L"dw_1", L"DWV_ITEMCHANGED", (FEvent)&DeliveryEdit::OnItemChanged);
-
-			return 1;
-		}
-
-		int OnInit()
-		{
-			int iArgs = GetParam();
-
-			XXmlContentSvr xdoc = new XXmlContentSvr;
-			xdoc.setNativePointer(iArgs);
-			vc = new vcontrol;
-			vc.xdoc = xdoc;
-
-			vbind bind = new vbind;
-			bind.bind(dw_1, vc);
-
-			xml x;
-			x = new xml;
-			x.setNativePointer(xml::CreateInstance());
-			x.LoadXml(vc.GetContent());
-
-			dw_1.Retrieve(x);
-
-			xstring sDeliveryRule = dw_1.GetItemString(1, L"DeliveryRule");
-			xstring sP = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
-			if (sDeliveryRule != L"1" && sDeliveryRule != L"2" && sDeliveryRule != L"3")
-				dw_cell.SetCellProps(3, 3, sP);
-			if (sDeliveryRule != L"5")
-				dw_cell.SetCellProps(4, 3, sP);
-
-			return 1;
-		}
-
-		int onload()
-		{
-			dw_1 = GetControl(L"dw_1");
-			dw_1.openUrl(L"/sale/view/SaleOrder/template/delivery"); //base.maint.so.tpl/delivery
-			dw_1.SetColHeaderHeight(0);
-			dw_1.SetRowSelectorWidth(0);
-			dw_1.SetScrollState(false);
-
-			dw_cell = new xcell;
-			dw_cell.setNativePointer(dw_1.QueryItem(L"ixcell"));
-			OnAttachEvent();
-
-			if (GetParam())OnInit();
-
-			return 1;
-		}
-	};
diff --git a/jrj/ext-jrj/maint.Document.SO3.v3.cpp b/jrj/ext-jrj/maint.Document.SO3.v3.cpp
deleted file mode 100644
index 843f83b..0000000
--- a/jrj/ext-jrj/maint.Document.SO3.v3.cpp
+++ /dev/null
@@ -1,476 +0,0 @@
-#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) DocSO3 : public xframe
-	{
-	public:
-		DocSO3(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
-	public:
-		static DocSO3* CreateInstance(void* implPtr, void* hWnd)
-		{
-			DocSO3* pWin = new DocSO3(implPtr, (HWND)hWnd);
-			return pWin;
-		}
-	public:
-		//xdwgrid	dw_list;
-		xlistview  lv_view;
-		xnode	m_agentNode;	//Agent Condition
-		int columnCount;
-		xstring entityid;
-		int hObject = 0;
-		xstring TypeEx;
-		xstring Type;
-		xstring ApprovalStatus;
-
-		int SetAgent()
-		{
-			xstring xfNodeAgentArea = L"agentarea";
-			xnode anode = GetAgentNode(xfNodeAgentArea);
-			if (m_agentNode)
-			{
-				//SetAgentNodeContent
-				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 p)
-		{
-			//重置工具条
-			SetAgent();
-			return 1;
-		}
-
-		int OnListViewDoubleClicked(TEvent* evt, LPARAM p)
-		{
-			//重置工具条
-			//SetAgent();
-
-			OnDocumentOpen();
-			//CloseWindow();
-			return 1;
-		}
-
-		int OnDocumentOpen()
-		{
-			//return 1;
-
-			int  LVNI_ALL = 0x0000;
-			int  LVNI_FOCUSED = 0x0001;
-			int  LVNI_SELECTED = 0x0002;
-			int  LVNI_CUT = 0x0004;
-			int  LVNI_DROPHILITED = 0x0008;
-
-			int nItem = xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED);
-			if (nItem < 0) return 1;
-
-			int LVIF_PARAM = 0x0004;
-
-			lvitem lvItem;
-			lvItem.iItem = nItem;
-			lvItem.iSubItem = 0;
-			lvItem.mask = LVIF_PARAM;
-
-			xlistview::GetItem(lv_view.GetId(), lvItem);
-			KXMLDOMElement ele = trust(lvItem.lParam as KXMLDOMElement);
-
-			xstring src = ele.getAttribute(L"url");
-			xstring name = ele.getAttribute(L"caption");
-			xstring file = L"";
-			if (src.find(L"/file/") > 0) file = src.mid(src.find(L"/file/") + 6, 9999);
-			if (file == L"") return 1;
-			xstring str = file.left(2);
-			xstring ext = L"";
-			if (name.find(L".") >= 0) ext = name.mid(name.find(L"."), name.length());
-			xstring sfile = file;
-
-			xaserverarg arg ;
-			if (arg)
-			{
-				arg.AddArg(L"result", L"ok");
-				if ((arg.GetArgString(L"process") == L"path" || arg.GetArgString(L"process") == L"data"))
-				{
-					arg.AddArg(L"path", src);
-					arg.AddArg(L"filename", name);
-					arg.AddArg(L"src", L"/business/attachment/" + str + L"/" + file + L".jpg");
-					if (arg.GetArgString(L"process") == L"path") return 1;
-				}
-			}
-
-
-			/*
-			const xstring d = m_Html.GetData(p.object);
-			if(d == L"") return -1;
-			xstring file = d.mid(0, d.find(L"|##@@|",0));
-			xstring name = d.mid(d.find(L"|##@@|",0)+6, d.length());
-			*/
-		
-			xaserver::__CreateDirectory(L"C:/Temp");
-			if (arg)
-			{
-				if (arg.GetArgString(L"process") == L"data")
-				{
-					xml x ;
-					
-					xaserver::LoadUrl(GetServerUrl(), L"/business/attachment/" + str + L"/" + file + L".jpg", L"", x);
-					arg.AddArg(L"data", x.xml());
-					return 1;
-				}
-			}
-
-			int openRet = xaserver::DownLoadFile(GetServerUrl(), L"/business/attachment/" + str + L"/" + file + L".jpg", L"", L"C:/Temp/" + sfile + ext);
-
-
-
-			//alert(L"/business/attachment/"+str+L"/"+ file+L".jpg");
-			if (openRet < 0)
-			{
-				alert(L"文件打开失败1!");
-				return -1;
-			}
-			//openRet = win32::ShellExecute(0,L"open",L"C:/Temp/"+name,L"",L"",5);	
-			openRet = ShellExecuteW(0, L"open", L"C:/Temp/" + sfile + ext, L"", L"", 5);
-			if (openRet < 32)
-			{
-				alert(L"文件打开失败2!");
-				return -1;
-			}
-
-			return 1;
-		}
-
-		int OnAddAttachment()
-		{
-			xstring PayType = GetPayType();
-			xstring sguid = publiccode::GetGuid();
-			xstring sname = sguid;
-			xstring str = sname.mid(0, 2);
-			str = str.toUpper();
-			xstring suri = L"attachment" + str;
-			xstring ret = xaserver::UploadFile(suri, sname + L".jpg", GetHWND(), L"", false);
-			if (ret == L"-1")
-			{
-				alert(L"上传的文件没选择!");
-				return 0;
-			}
-			else
-			{
-				while (ret.find(L"\\", 0) >= 0)
-					ret = ret.mid(ret.find(L"\\", 0) + 1, 9999);
-
-
-				xstring myurl = L"object/Forwarder";
-				xml x;
-				
-				xaserverarg args ;
-				args.setNativePointer(args.CreateInstance());
-				args.AddArg(L"myurl", myurl);
-				args.AddArg(L"name", ret);
-				args.AddArg(L"filepath", sname);
-				args.AddArg(L"fileext", L"");
-				args.AddArg(L"filesource", ret);
-				args.AddArg(L"entityid", entityid);
-				args.AddArg(L"Type", PayType);
-
-				/*xml x1 = ViewObject::RetrieveData(L"/sale/data/TDocument3/attachment/GetFileFormat",L"Name",ret);
-				KXMLDOMNodeList items = x1.GetXmlDoc().selectNodes(L"data/Item");
-				KXMLDOMNode t = items.item(0);
-				xstring FileFormat=L"";
-				if(t.selectSingleNode(L"FileFormat"))FileFormat=t.selectSingleNode(L"FileFormat").text;
-				if(FileFormat !=L"pdf" && FileFormat !=L"PDF")
-				{
-					alert(L"请上传PDF格式的文件");
-					return 0;
-				}*/
-				//alert(L"myurl:"+myurl+L"--name:"+ret+L"--filepath:"+sname+L"--filesource:"+ret+L"--entityid:"+entityid);
-				if (xurl::get(L"/sale/data/TDocument3/attachment/addex", args.GetString(), x) != 1)
-				{
-					alert(L"保存出错了!");
-					return 0;
-				}
-				else
-				{
-					alert(x.text());
-					Retrieve(entityid);
-				}
-			}
-			return 0;
-		}
-		int OnDocumentOpen()
-		{
-			int  LVNI_ALL = 0x0000;
-			int  LVNI_FOCUSED = 0x0001;
-			int  LVNI_SELECTED = 0x0002;
-			int  LVNI_CUT = 0x0004;
-			int  LVNI_DROPHILITED = 0x0008;
-
-			int nItem = xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED);
-			if (nItem < 0) return 1;
-
-			int LVIF_PARAM = 0x0004;
-
-			lvitem lvItem;
-			lvItem.iItem = nItem;
-			lvItem.iSubItem = 0;
-			lvItem.mask = LVIF_PARAM;
-
-			xlistview::GetItem(lv_view.GetId(), lvItem);
-			KXMLDOMElement ele = trust(lvItem.lParam as KXMLDOMElement);
-
-			xstring src = ele.getAttribute(L"url");
-			xstring file = L"";
-			if (src.find(L"/file/") > 0) file = src.mid(src.find(L"/file/") + 6, 9999);
-			if (file == L"") return 1;
-
-			xstring name = ele.getAttribute(L"caption");
-			
-			xaserver::__CreateDirectory(L"C:/Temp");
-			xstring str = file.left(2);
-			xstring ext = L"";
-			if (name.find(L".") >= 0) ext = name.mid(name.find(L"."), name.length());
-			xstring sfile = file;
-			int openRet = xaserver::DownLoadFile(GetServerUrl(), L"/business/attachment/" + str + L"/" + file + L".jpg", L"", L"C:/Temp/" + sfile + ext);
-
-			if (openRet < 0)
-			{
-				alert(L"文件打开失败1!");
-				return -1;
-			}
-
-			openRet = ShellExecuteW(0, L"open", L"C:/Temp/" + sfile + ext, L"", L"", 5);
-			if (openRet < 32)
-			{
-				alert(L"文件打开失败2!");
-				return -1;
-			}
-
-			return -1;
-		}
-
-		int OnDeleteFile()
-		{
-			int  LVNI_ALL = 0x0000;
-			int  LVNI_FOCUSED = 0x0001;
-			int  LVNI_SELECTED = 0x0002;
-			int  LVNI_CUT = 0x0004;
-			int  LVNI_DROPHILITED = 0x0008;
-
-			int nItem = xlistview::GetNextItem(lv_view.GetId(), -1, LVNI_FOCUSED);
-			if (nItem < 0) return 1;
-
-			int LVIF_PARAM = 0x0004;
-
-			lvitem lvItem;
-			lvItem.iItem = nItem;
-			lvItem.iSubItem = 0;
-			lvItem.mask = LVIF_PARAM;
-
-			xlistview::GetItem(lv_view.GetId(), lvItem);
-			KXMLDOMElement ele = trust(lvItem.lParam as KXMLDOMElement);
-
-			xstring src = ele.getAttribute(L"url");
-			xstring file = L"";
-			if (src.find(L"/file/") > 0) file = src.mid(src.find(L"/file/") + 6, 9999);
-			if (file == L"") return 1;
-
-			xstring name = ele.getAttribute(L"caption");
-			if (MessageBoxW(GetHWND(), L"确定要删除文件" + name + L"?", L"提示", 1) == 2)
-				return 0;
-
-			xaserverarg arg ;
-			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg(L"filepath", file);
-			xml x ;
-			if (xurl::get(L"/sale/data/TDocument3/file/delete", arg.GetString(), x) != 1)
-			{
-				alert(L"删除出错了!");
-				return 1;
-			}
-			else
-			{
-				//alert(x.GetXmlDoc().text);
-				xlistview::DeleteItem(lv_view.GetId(), nItem);
-			}
-
-			return 1;
-		}
-
-		xstring GetPayType()
-		{
-			xcombobox cbx_type = GetControl(L"cbx_type");
-			int h = xcombobox::GetCurSel(cbx_type.GetId());
-			if (h < 0) return L"";
-			return xcombobox::GetLBText(cbx_type.GetId(), h);
-		}
-
-		//命令发布函数
-		int OnCmdDispatch(xstring comdid)
-		{
-			if (comdid == L"xmOpen")
-			{
-				return OnDocumentOpen();
-			}
-			if (Type != L"Y")
-			{
-				if (ApprovalStatus != L"3")
-				{
-					if (comdid == L"xmUpload")
-					{
-						return OnAddAttachment();
-					}
-					if (TypeEx != L"Y")
-					{
-						if (comdid == L"xmDelete")
-						{
-							return OnDeleteFile();
-						}
-					}
-				}
-			}
-			if (comdid == L"xmClose")
-			{
-				CloseWindow();
-				return 1;
-			}
-			return 0;
-		}
-
-		//命令处理事件
-		int OnXCommand(TEvent* evt, LPARAM param)
-		{
-			return OnCmdDispatch(evt->xcommand.pStrID);
-		}
-
-		int OnAttachEvent()
-		{
-			//绑定工具条点击事件
-			AttachEvent(L"WM_XCOMMAND", (FEvent)&DocSO3::OnXCommand);
-			//获取焦点事件,用于重置工具条
-			//AttachEvent(L"WM_SETFOCUS",OnSetFocus);
-		}
-
-		/*
-		int  OnRetrieve()
-		{
-			xml x = new xml;
-			x.setNativePointer(xml::CreateInstance());
-			xaserverarg arg = new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg(L"xxx",L"xxx");
-			if (getUrl(L"",arg.GetString(),x)!=1)
-			{
-				trace(x.GetXmlDoc().text);
-				return -1;
-			}else
-			{
-				//dw_list.Retrieve(x);
-				//dw_list.Redraw();
-			}
-			return 1;
-		}
-		*/
-
-		int SetListViewHeaderColumn(xstring Url)
-		{
-			const int LVCFMT_LEFT = 0;
-			for (int i = 0; i < 3; i++)  lv_view.DeleteColumn(lv_view.GetId(), 1);
-			lv_view.InsertColumn(lv_view.GetId(), 0, L"类型", 0, 80, 0);
-			lv_view.InsertColumn(lv_view.GetId(), 0, L"创建日期", LVCFMT_LEFT, 80, 0);
-			lv_view.InsertColumn(lv_view.GetId(), 0, L"创建人员", LVCFMT_LEFT, 80, 0);
-			lv_view.InsertColumn(lv_view.GetId(), 0, L"名称", 0, 120, 0);
-
-			columnCount = 3;
-			return 1;
-		}
-
-		int Retrieve(xstring entityid)
-		{
-			lv_view.DeleteItemAll(lv_view.GetId());
-			xstring src = L"object/Forwarder";
-			xml x = ViewObject::RetrieveData(L"/sale/data/TDocument3/folder/listex", L"src", src, L"entityid", entityid);
-			if (x)
-			{
-				KXMLDOMElement ele = x.documentElement();
-				KXMLDOMNodeList nlist = ele.selectNodes(L"*");
-				int s = nlist.length();
-				if (s > 0)
-				{
-					for (int i = 0; i < s; i++)
-					{
-						KXMLDOMElement e = nlist.item(i);
-						xstring name = e.getAttribute(L"caption");
-
-						int nItem = xlistview::InsertItemEx(lv_view.GetId(), 0, name, 23, cast(e as int));
-						xlistview::SetItemText(lv_view.GetId(), nItem, 1, e.getAttribute(L"Creator"));
-						xlistview::SetItemText(lv_view.GetId(), nItem, 2, e.getAttribute(L"CreateDate"));
-						xlistview::SetItemText(lv_view.GetId(), nItem, 3, e.getAttribute(L"Type"));
-
-					}
-				}
-			}
-			return 1;
-		}
-
-		int GetSODocument(xstring entityid)
-		{
-			xml x = ViewObject::RetrieveData(L"/sale/data/SaleOrder/GetSODocument", L"SOID", entityid);
-			xstring  r = x.text();
-			int r1 = r.toInt();
-			if (x)
-			{
-				if (r1 > 0)
-				{
-					TypeEx = L"Y";
-					return 1;
-				}
-			}
-			return 1;
-		}
-
-		int onload()
-		{
-
-			lv_view = GetControl(L"lv_view");
-			columnCount = 0;
-			SetListViewHeaderColumn(L"");
-			AttachEvent(L"lv_view", L"NM_DBLCLK", (FEvent)&DocSO3::OnListViewDoubleClicked);
-
-			if (GetWinParam())
-			{
-				xaserverarg arg;
-				entityid = arg.GetArgString(L"entityid");
-				Type = arg.GetArgString(L"Type");
-				ApprovalStatus = arg.GetArgString(L"ApprovalStatus");
-				Retrieve(entityid);
-			}
-
-			GetSODocument(entityid);
-
-			OnAttachEvent();
-			return 1;
-		}
-
-		int onloaded()
-		{
-			//SetAgent();			
-
-			return 1;
-		}
-	};
diff --git a/jrj/ext-jrj/select.item.so.cpp b/jrj/ext-jrj/select.item.so.cpp
deleted file mode 100644
index e6369a6..0000000
--- a/jrj/ext-jrj/select.item.so.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-#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) SelectItemSOWin : public xframe
-	{
-	public:
-		SelectItemSOWin(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
-	public:
-		static SelectItemSOWin* CreateInstance(void* implPtr, void* hWnd)
-		{
-			SelectItemSOWin* pWin = new SelectItemSOWin(implPtr, (HWND)hWnd);
-			return pWin;
-		}
-	public:
-		xdwgrid	dw_list;
-
-		xnode	m_agentNode;	//Agent Condition
-
-		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 p)
-		{
-			//重置工具条
-			//SetAgent();
-			return 1;
-		}
-
-		//命令发布函数
-		int OnCmdDispatch(xstring comdid)
-		{
-
-			if (comdid == L"xmSelectAll")
-			{
-				for (int i = 1; i <= dw_list.GetRowCount(); i++)
-				{
-					dw_list.SelectRow(i, true);
-				}
-				dw_list.Redraw();
-				return 1;
-			}
-			else if (comdid == L"xmSelectNo")
-			{
-				dw_list.SelectRow(0, false);
-				dw_list.Redraw();
-
-				return 1;
-			}
-			else if (comdid == L"xmOk")
-			{
-				xaserverarg arg;
-				arg.AddArg(L"items", L"");
-				xstring str = L"";
-				int row = dw_list.GetNextSelectRow(1);
-				while (row > 0 && row <= dw_list.GetRowCount())
-				{
-					KXMLDOMElement ele = dw_list.GetRowElement(row);
-					str += ele.xml();
-					ele.Release();
-					row = dw_list.GetNextSelectRow(row + 1);
-				}
-				if (str != L"")
-					arg.AddArg(L"items", L"<data>" + str + L"</data>");
-				CloseWindow();
-				return 1;
-			}
-			else if (comdid == L"xmCancel")
-			{
-				CloseWindow();
-				return 1;
-			}
-
-			return 0;
-		}
-
-		//命令处理事件
-		int OnXCommand(TEvent* evt, LPARAM p)
-		{
-			return OnCmdDispatch(evt->xcommand.pStrID);
-		}
-
-		int OnAttachEvent()
-		{
-			//绑定工具条点击事件
-			AttachEvent(L"WM_XCOMMAND", (FEvent)&SelectItemSOWin::OnXCommand);
-			//获取焦点事件,用于重置工具条
-			AttachEvent(L"WM_SETFOCUS", (FEvent)&SelectItemSOWin::OnSetFocus);
-		}
-
-		int onload()
-		{
-			dw_list = GetControl(L"dw_list");
-			dw_list.openUrl(L"/sale/view/SaleOrder/template/item");
-
-			dw_list.SetColumnState(L"EnquiryPriceListID", false);
-			dw_list.SetColumnState(L"ItemID", false);
-			dw_list.SetColumnState(L"LineType", false);
-			dw_list.SetColumnState(L"Assortment", false);
-			dw_list.SetColumnState(L"ClassifyID", false);
-			dw_list.SetColumnState(L"UnitFreight", false);
-			dw_list.SetColumnState(L"CName", false);
-			dw_list.SetColumnState(L"QuoteLineID", false);
-			dw_list.SetColumnState(L"POSupplierID", false);
-
-			dw_list.SetColumnState(L"ScheduleShipDate", false);
-			dw_list.SetColumnState(L"PONo", false);
-			dw_list.SetColumnState(L"PaperPODate", false);
-
-			xml x;
-			
-
-			xaserverarg arg;
-			if (arg)
-			{
-				xstring SONo = arg.GetArgString(L"SONo");
-				x = SaleOrderView::GetMaintFormForItemList(SONo);
-				dw_list.Retrieve(x);
-				dw_list.SetReadOnly(true);
-				dw_list.SetSelectionMode(3);
-				arg.AddArg(L"items", L"");
-			}
-			OnAttachEvent();
-
-			return 1;
-		}
-
-		int onloaded()
-		{
-			//SetAgent();			
-
-			return 1;
-		}
-	};

--
Gitblit v1.9.3