From 06a9a4b01cda9c380e52eb875d7bb7c1c874954a Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期二, 05 十一月 2024 18:19:31 +0800
Subject: [PATCH] update

---
 jrj/project/business/QuoteFile.cpp |  330 ++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 266 insertions(+), 64 deletions(-)

diff --git a/jrj/project/business/QuoteFile.cpp b/jrj/project/business/QuoteFile.cpp
index 56de5c5..c0fa286 100644
--- a/jrj/project/business/QuoteFile.cpp
+++ b/jrj/project/business/QuoteFile.cpp
@@ -275,6 +275,7 @@
 		int colSKUID = getItemCol(cell, startRow - 1, L"SKUID");
 		int colSaleRemark = getItemCol(cell, startRow - 1, L"业务To采购备注");
 
+		int colBuyerMOQ = getItemCol(cell, startRow - 1, L"MOQ");
 		int colBuyerRemark = getItemCol(cell, startRow - 1, L"采购To业务备注");
 		int colFactoryImage = getItemCol(cell, startRow - 1, L"工厂图片");
 		int colGWT = getItemCol(cell, startRow - 1, L"毛重,毛重(KG)");
@@ -326,6 +327,7 @@
 			itemStr += L"<BuyerPrice>" + cell.GetItemString(row, colBuyerPrice) + L"</BuyerPrice>";
 			itemStr += L"<SaleRemark>" + cell.GetItemString(row, colSaleRemark) + L"</SaleRemark>";
 
+			itemStr += L"<BuyerMOQ>" + cell.GetItemString(row, colBuyerMOQ) + L"</BuyerMOQ>";
 			itemStr += L"<BuyerRemark>" + cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
 			itemStr += L"<FactoryImage>" + cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
 			itemStr += L"<GWT>" + cell.GetItemString(row, colGWT) + L"</GWT>";
@@ -375,6 +377,7 @@
 		int colSKUID = getItemCol(cell, startRow - 1, L"SKUID");
 		int colSaleRemark = getItemCol(cell, startRow - 1, L"业务To采购备注");
 
+		int colBuyerMOQ = getItemCol(cell, startRow - 1, L"MOQ");
 		int colBuyerRemark = getItemCol(cell, startRow - 1, L"采购To业务备注");
 		int colFactoryImage = getItemCol(cell, startRow - 1, L"工厂图片");
 		int colGWT = getItemCol(cell, startRow - 1, L"毛重,毛重(KG)");
@@ -432,6 +435,7 @@
 			itemStr += L"<BuyerPrice>" + cell.GetItemString(row, colBuyerPrice) + L"</BuyerPrice>";
 			itemStr += L"<SaleRemark>" + cell.GetItemString(row, colSaleRemark) + L"</SaleRemark>";
 
+			itemStr += L"<BuyerMOQ>" + cell.GetItemString(row, colBuyerMOQ) + L"</BuyerMOQ>";
 			itemStr += L"<BuyerRemark>" + cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
 			itemStr += L"<FactoryImage>" + cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
 			itemStr += L"<GWT>" + cell.GetItemString(row, colGWT) + L"</GWT>";
@@ -507,10 +511,9 @@
 
 		xaserverarg argx;
 		argx.AddArg(L"QuoteNo", dw_base.GetItemString(1, L"QuoteNo"));
-		int p1 = argx;
 		if (dw_base.GetItemString(1, L"QuoteNo") != L"")
 		{
-			OpenWindow(L"dev:xpage[xmQuoteBillList.vx]", p1);
+			OpenWindow(L"dev:xpage[xmQuoteBillList.vx]", argx);
 		}
 		if (argx.GetArgString(L"action") != L"ok") return 1;
 
@@ -828,6 +831,7 @@
 		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
 		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"采购价,采购价格");
 
+		int colBuyerMOQ = getItemCol(dw_cell, startRow - 1, L"MOQ");
 		int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
 		int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"工厂图片");
 		int colGWT = getItemCol(dw_cell, startRow - 1, L"毛重,毛重(KG)");
@@ -880,6 +884,7 @@
 			{
 				if (dw_cell.GetItemString(row, colPOPrice1) == L"") return L"采购价格1没有录入";
 			}
+			itemStr += L"<BuyerMOQ>" + dw_cell.GetItemString(row, colBuyerMOQ) + L"</BuyerMOQ>";
 			itemStr += L"<BuyerRemark>" + dw_cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
 			itemStr += L"<FactoryImage>" + dw_cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
 			itemStr += L"<GWT>" + dw_cell.GetItemString(row, colGWT) + L"</GWT>";
@@ -1219,6 +1224,7 @@
 		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"采购价,采购价格");
 		int colPurchor = getItemCol(dw_cell, startRow - 1, L"采购员,采购人员");
 
+		int colBuyerMOQ = getItemCol(dw_cell, startRow - 1, L"MOQ");
 		int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
 		int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"工厂图片");
 		int colGWT = getItemCol(dw_cell, startRow - 1, L"毛重,毛重(KG)");
@@ -1431,6 +1437,7 @@
 				if(dw_cell.GetItemString(row, colVolDesc)==L"") return L"体积信息没有录入";
 			}
 			*/
+			itemStr += L"<BuyerMOQ>" + dw_cell.GetItemString(row, colBuyerMOQ) + L"</BuyerMOQ>";
 			itemStr += L"<BuyerRemark>" + dw_cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
 			itemStr += L"<FactoryImage>" + dw_cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
 			itemStr += L"<GWT>" + dw_cell.GetItemString(row, colGWT) + L"</GWT>";
@@ -2218,6 +2225,7 @@
 		xml sheet ;
 		sheet.setNativePointer(x.CreateInstance());
 		sheet.loadXML(x.selectSingleNode(L"data/*").xml);
+		wangushendi xiuluowushen taigukuangmo
 		*/
 
 		//trace(x.xml());
@@ -2795,17 +2803,157 @@
 		return 1;
 	}
 
-	int OnCellItemChanged(TEvent* evt, int p)
+	
+	int ReCalcPOPrice()
+	{
+		int startRow = getItemHeadRow(dw_cell);
+		if (startRow < 1) return 1;
+		startRow++;
+
+		int sRow = dw_cell.GetRow();
+		int eRow = dw_cell.GetAnchorRow();
+		int sCol = dw_cell.GetColumn();
+		int eCol = dw_cell.GetAnchorCol();
+		auto Exchange = [](int& first, int& second)
+			{
+				int tmp = first;first = second;second = tmp;
+			};
+		if (sRow > eRow)Exchange(sRow, eRow);
+		if (sCol > eCol)Exchange(sCol, eCol);
+
+		if (action != L"purch") return 1;
+
+		if (sRow < startRow  && eRow < startRow) return 1;
+		if (sRow < startRow) sRow = startRow;
+		int colPrice0 = getItemCol(dw_cell, startRow - 1, L"价格");
+		int colPrice1 = getItemCol(dw_cell, startRow - 1, L"价格1");
+		int colPrice2 = getItemCol(dw_cell, startRow - 1, L"价格2");
+		int colPrice3 = getItemCol(dw_cell, startRow - 1, L"价格3");
+		int colPrice = getItemCol(dw_cell, startRow - 1, L"采购价");
+		int colSKUID = getItemCol(dw_cell, startRow - 1, L"SKUID");
+		bool shouldRedraw = false;
+
+		if ((colPrice0 >= sCol && colPrice0 <= eCol) || (colPrice1 >= sCol && colPrice1 <= eCol)
+			|| (colPrice2 >= sCol && colPrice2 <= eCol) || (colPrice3 >= sCol && colPrice3 <= eCol))
+		{
+			for (int row = sRow; row <= eRow; row++)
+			{
+				if (dw_cell.GetItemString(row, colSKUID) == L"")continue;
+				for (int col = sCol; col <= eCol; col++)
+				{
+					if (colPrice0 == col || colPrice1 == col || colPrice2 == col || colPrice3 == col)
+					{
+						xstring pricea = L"";
+						xstring priceb = L"";
+						xstring pricec = L"";
+
+						xstring price0 = dw_cell.GetItemString(row, colPrice0);
+						xstring price1 = dw_cell.GetItemString(row, colPrice1);
+						xstring price2 = L"";
+						if (colPrice2 > 0) price2 = dw_cell.GetItemString(row, colPrice2);
+						xstring price3 = L"";
+						if (colPrice3 > 0) price3 = dw_cell.GetItemString(row, colPrice3);
+
+						xstring price = L"";
+
+						if (price0 != L"")
+						{
+							price = price0;
+							if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
+							{
+								alert(L"价格中没指定ABC");
+								if (pricea == L"") pricea = price; else pricea += L"+" + price;
+							}
+							else if (price.find(L"A") > 0 || price.find(L"a") > 0)
+								if (pricea == L"") pricea = price; else pricea += L"+" + price;
+							else if (price.find(L"B") > 0 || price.find(L"b") > 0)
+								if (priceb == L"") priceb = price; else priceb += L"+" + price;
+							else if (price.find(L"C") > 0 || price.find(L"c") > 0)
+								if (pricec == L"") pricec = price; else pricec += L"+" + price;
+						}
+						if (price1 != L"")
+						{
+							price = price1;
+							if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
+							{
+								alert(L"价格中没指定ABC");
+								if (pricea == L"") pricea = price; else pricea += L"+" + price;
+							}
+							else if (price.find(L"A") > 0 || price.find(L"a") > 0)
+								if (pricea == L"") pricea = price; else pricea += L"+" + price;
+							else if (price.find(L"B") > 0 || price.find(L"b") > 0)
+								if (priceb == L"") priceb = price; else priceb += L"+" + price;
+							else if (price.find(L"C") > 0 || price.find(L"c") > 0)
+								if (pricec == L"") pricec = price; else pricec += L"+" + price;
+						}
+						if (price2 != L"")
+						{
+							price = price2;
+							if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
+							{
+								alert(L"价格中没指定ABC");
+								if (pricea == L"") pricea = price; else pricea += L"+" + price;
+							}
+							else if (price.find(L"A") > 0 || price.find(L"a") > 0)
+								if (pricea == L"") pricea = price; else pricea += L"+" + price;
+							else if (price.find(L"B") > 0 || price.find(L"b") > 0)
+								if (priceb == L"") priceb = price; else priceb += L"+" + price;
+							else if (price.find(L"C") > 0 || price.find(L"c") > 0)
+								if (pricec == L"") pricec = price; else pricec += L"+" + price;
+						}
+						if (price3 != L"")
+						{
+							price = price3;
+							if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
+							{
+								alert(L"价格中没指定ABC");
+								if (pricea == L"") pricea = price; else pricea += L"+" + price;
+							}
+							else if (price.find(L"A") > 0 || price.find(L"a") > 0)
+								if (pricea == L"") pricea = price; else pricea += L"+" + price;
+							else if (price.find(L"B") > 0 || price.find(L"b") > 0)
+								if (priceb == L"") priceb = price; else priceb += L"+" + price;
+							else if (price.find(L"C") > 0 || price.find(L"c") > 0)
+								if (pricec == L"") pricec = price; else pricec += L"+" + price;
+						}
+						price = pricec;
+						if (priceb != L"")
+						{
+							if (price == L"")
+								price = priceb;
+							else
+								price += L"+" + priceb;
+						}
+						if (pricea != L"")
+						{
+							if (price == L"")
+								price = pricea;
+							else
+								price += L"+" + pricea;
+						}
+						dw_cell.SetItemString(row, colPrice, price);
+						shouldRedraw = true;
+						
+					}
+				}
+			}
+		}
+		if(shouldRedraw)dw_cell.Redraw();
+		return 1;
+	}
+
+	int OnCellItemChanged(TEvent* evt, LPARAM p)
 	{
 		CELLNMHDR&  hdr = *(CELLNMHDR*)evt->notify.pnmh;
 		xstring value = hdr.data;
 		int row = hdr.currentrow;
 		int col = hdr.currentcol;
 
+		
 		trace(L"\r\n----row:" + xstring(row) + L"--col:" + xstring(col));
 		trace(L"\r\n----row:" + xstring(row) + L"--col:" + xstring(col));
 		trace(L"\r\n--value:" + dw_cell.GetItemString(row, col) + L"--orig:" + orivalue);
-		if (row == ARow && col == ACol && dw_cell.GetItemString(row, col) == orivalue) return 1;
+		//if (row == ARow && col == ACol && dw_cell.GetItemString(row, col) == orivalue) return 1;
 		trace(L"\r\n--enter:");
 
 		ARow = row;
@@ -2934,44 +3082,50 @@
 			/*计算体积*/
 			double v = 0.0;
 			xstring desc = dw_cell.GetItemString(row, colVolDesc);
-			if (desc.find(L"cm") >= 0)
+			if(desc!=L"")
 			{
-				desc = desc.replace(L"cm", L"");
-				dw_cell.SetItemString(row, colVolDesc, desc);
-			}
-			if (desc.find(L"CM") >= 0)
-			{
-				desc = desc.replace(L"CM", L"");
-				dw_cell.SetItemString(row, colVolDesc, desc);
-			}
-			if (desc == L"")
-				dw_cell.SetItemString(row, colVol, L"");
-			else
-			{
-				v = calcVol(desc) / 1000000.00;
-				xstring str = xstring(v);
-				if (str.find(L".") >= 0)	str = str.left(str.find(L".") + 5);
-				dw_cell.SetItemString(row, colVol, str);
-				dw_cell.Redraw();
-			}
-
-			xstring qtyperPack = dw_cell.GetItemString(row, colQtyPerPack);
-			if (qtyperPack != L"")
-			{
-				xstring qty1 = qtyperPack;
-				xstring qty2 = L"";
-				double qty = 0.00;
-				int pos2 = qtyperPack.find(L"/");
-				if (pos2 >= 0)
+				if (desc.find(L"cm") >= 0)
 				{
-					qty1 = qtyperPack.left(qtyperPack.find(L"/"));
-					qty2 = qtyperPack.mid(qtyperPack.find(L"/") + 1, 9999);
+					desc = desc.replace(L"cm", L"");
+					dw_cell.SetItemString(row, colVolDesc, desc);
 				}
-				//if(qty1 !=L"") qty = qty1.toDouble();
-				//if(qty2 !=L"") qty = qty*qty2.toDouble();
-				qty = qty2.toDouble();
-				double ttl = 65.0 * qty / v;
-				dw_cell.SetItemString(row, col40HQ, xstring((int)ttl));
+				if (desc.find(L"CM") >= 0)
+				{
+					desc = desc.replace(L"CM", L"");
+					dw_cell.SetItemString(row, colVolDesc, desc);
+				}
+				if (desc == L"")
+					dw_cell.SetItemString(row, colVol, L"");
+				else
+				{
+					v = calcVol(desc) / 1000000.00;
+					xstring str = xstring(v);
+					if (str.find(L".") >= 0)	str = str.left(str.find(L".") + 5);
+					dw_cell.SetItemString(row, colVol, str);
+					dw_cell.Redraw();
+				}
+
+				xstring qtyperPack = dw_cell.GetItemString(row, colQtyPerPack);
+				if (qtyperPack != L"")
+				{
+					xstring qty1 = qtyperPack;
+					xstring qty2 = L"";
+					double qty = 0.00;
+					int pos2 = qtyperPack.find(L"/");
+					if (pos2 >= 0)
+					{
+						qty1 = qtyperPack.left(qtyperPack.find(L"/"));
+						qty2 = qtyperPack.mid(qtyperPack.find(L"/") + 1, 9999);
+					}
+					//if(qty1 !=L"") qty = qty1.toDouble();
+					//if(qty2 !=L"") qty = qty*qty2.toDouble();
+					if (qty2 != L"")
+					{
+						qty = qty2.toDouble();
+						double ttl = 65.0 * qty / v;
+						dw_cell.SetItemString(row, col40HQ, xstring((int)ttl));
+					}
+				}
 			}
 		}
 
@@ -3015,14 +3169,14 @@
 						if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
 						{
 							alert(L"价格中没指定ABC");
-							if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+							if (pricea == L"") pricea = price; else pricea += L"+" + price;
 						}
 						else if (price.find(L"A") > 0 || price.find(L"a") > 0)
-							if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+							if (pricea == L"") pricea = price; else pricea += L"+" + price;
 						else if (price.find(L"B") > 0 || price.find(L"b") > 0)
-							if (priceb == L"") priceb = price; else priceb += L"+L" + price;
+							if (priceb == L"") priceb = price; else priceb += L"+" + price;
 						else if (price.find(L"C") > 0 || price.find(L"c") > 0)
-							if (pricec == L"") pricec = price; else pricec += L"+L" + price;
+							if (pricec == L"") pricec = price; else pricec += L"+" + price;
 					}
 					if (price1 != L"")
 					{
@@ -3030,14 +3184,14 @@
 						if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
 						{
 							alert(L"价格中没指定ABC");
-							if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+							if (pricea == L"") pricea = price; else pricea += L"+" + price;
 						}
 						else if (price.find(L"A") > 0 || price.find(L"a") > 0)
-							if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+							if (pricea == L"") pricea = price; else pricea += L"+" + price;
 						else if (price.find(L"B") > 0 || price.find(L"b") > 0)
-							if (priceb == L"") priceb = price; else priceb += L"+L" + price;
+							if (priceb == L"") priceb = price; else priceb += L"+" + price;
 						else if (price.find(L"C") > 0 || price.find(L"c") > 0)
-							if (pricec == L"") pricec = price; else pricec += L"+L" + price;
+							if (pricec == L"") pricec = price; else pricec += L"+" + price;
 					}
 					if (price2 != L"")
 					{
@@ -3045,14 +3199,14 @@
 						if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
 						{
 							alert(L"价格中没指定ABC");
-							if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+							if (pricea == L"") pricea = price; else pricea += L"+" + price;
 						}
 						else if (price.find(L"A") > 0 || price.find(L"a") > 0)
-							if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+							if (pricea == L"") pricea = price; else pricea += L"+" + price;
 						else if (price.find(L"B") > 0 || price.find(L"b") > 0)
-							if (priceb == L"") priceb = price; else priceb += L"+L" + price;
+							if (priceb == L"") priceb = price; else priceb += L"+" + price;
 						else if (price.find(L"C") > 0 || price.find(L"c") > 0)
-							if (pricec == L"") pricec = price; else pricec += L"+L" + price;
+							if (pricec == L"") pricec = price; else pricec += L"+" + price;
 					}
 					if (price3 != L"")
 					{
@@ -3060,14 +3214,14 @@
 						if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
 						{
 							alert(L"价格中没指定ABC");
-							if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+							if (pricea == L"") pricea = price; else pricea += L"+" + price;
 						}
 						else if (price.find(L"A") > 0 || price.find(L"a") > 0)
-							if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+							if (pricea == L"") pricea = price; else pricea += L"+" + price;
 						else if (price.find(L"B") > 0 || price.find(L"b") > 0)
-							if (priceb == L"") priceb = price; else priceb += L"+L" + price;
+							if (priceb == L"") priceb = price; else priceb += L"+" + price;
 						else if (price.find(L"C") > 0 || price.find(L"c") > 0)
-							if (pricec == L"") pricec = price; else pricec += L"+L" + price;
+							if (pricec == L"") pricec = price; else pricec += L"+" + price;
 					}
 					price = pricec;
 					if (priceb != L"")
@@ -3075,14 +3229,14 @@
 						if (price == L"")
 							price = priceb;
 						else
-							price += L"+L" + priceb;
+							price += L"+" + priceb;
 					}
 					if (pricea != L"")
 					{
 						if (price == L"")
 							price = pricea;
 						else
-							price += L"+L" + pricea;
+							price += L"+" + pricea;
 					}
 					dw_cell.SetItemString(row, colPrice, price);
 					dw_cell.Redraw();
@@ -3148,6 +3302,7 @@
 		int colFOBPrice = getItemCol(dw_cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
 		int colQuantity = getItemCol(dw_cell, startRow - 1, L"数量,Qty");
 
+		int colBuyerMOQ = getItemCol(dw_cell, startRow - 1, L"MOQ");
 		int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
 		int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"工厂图片");
 		int colGWT = getItemCol(dw_cell, startRow - 1, L"毛重,毛重(KG)");
@@ -3444,7 +3599,12 @@
 		else if (comdid == L"xmPurched")
 		{
 			//if(makeMessage(L"/task/quote/purchar/backtosaler")==-1) return 1;
+			//dw_cell.SetRowColumn(dw_cell.GetRow(), dw_cell.GetColumn());
 			return OnSaleBack();
+		}
+		else if (comdid == L"xmPurch2")
+		{
+			return OnPurch2();
 		}
 		else if (comdid == L"xmPurch")
 		{
@@ -3548,6 +3708,7 @@
 				}
 			}
 			SendCtrlCmd(dw_cell, cmd);
+			if (comdid == L"IK_xmEditCut"|| comdid == L"IK_xmEditCut")ReCalcPOPrice();
 			return 1;
 		}
 		else if (comdid == L"xmFormatCellDeleteRow")
@@ -3555,10 +3716,10 @@
 			if (action == L"purch")
 			{
 				int crow = dw_cell.GetRow();
-				xstring cmd = comdid.mid(3, comdid.length());
-				if (getRowID(dw_cell, crow) == L"") SendCtrlCmd(dw_cell, cmd);
+				if (getRowID(dw_cell, crow) == L"") SendCtrlCmd(dw_cell, comdid);
 				return 1;
 			}
+			return 1;
 		}
 		return 0;
 	}
@@ -3589,6 +3750,20 @@
 			xstring error = x.text();
 			alert(error);
 			return -1;
+		}
+		return 1;
+	}
+
+	int OnPurch2()
+	{
+		xaserverarg arg;
+		arg.AddArg(L"EntityID", entityID);
+		OpenWindow(L"dev:xpage[QuoteFilePurch2Select.vx]", arg);
+		xstring taskID = arg.GetArgString(L"TaskID");
+		xstring reason = arg.GetArgString(L"Reason");
+		if (taskID != L"")
+		{
+			ProcessSendMessage(L"/task/quote/repurch", taskID, reason, L"", true);
 		}
 		return 1;
 	}
@@ -4204,6 +4379,8 @@
 			else if (col == colTyp1 || col == colTyp || col == colTyp2 || col == colTyp3)
 			{
 				xstring pitems1 = L"";
+				pitems1 += (xstring)L"&lt;row&gt;&lt;显示列&gt;&lt;/显示列&gt;&lt;数据列&gt;"
+					+ L"&lt;/数据列&gt;&lt;/row&gt;";
 				pitems1 += (xstring)L"&lt;row&gt;&lt;显示列&gt;成品&lt;/显示列&gt;&lt;数据列&gt;"
 					+ L"成品&lt;/数据列&gt;&lt;/row&gt;";
 				pitems1 += (xstring)L"&lt;row&gt;&lt;显示列&gt;散货&lt;/显示列&gt;&lt;数据列&gt;"
@@ -4458,6 +4635,8 @@
 			else if (col == colTyp1 || col == colTyp)
 			{
 				xstring pitems1 = L"";
+				pitems1 += (xstring)L"&lt;row&gt;&lt;显示列&gt;&lt;/显示列&gt;&lt;数据列&gt;"
+					+ L"&lt;/数据列&gt;&lt;/row&gt;";
 				pitems1 += (xstring)L"&lt;row&gt;&lt;显示列&gt;成品&lt;/显示列&gt;&lt;数据列&gt;"
 					+ L"成品&lt;/数据列&gt;&lt;/row&gt;";
 				pitems1 += (xstring)L"&lt;row&gt;&lt;显示列&gt;散货&lt;/显示列&gt;&lt;数据列&gt;"
@@ -4492,7 +4671,7 @@
 						{
 							alert(L"价格中没指定ABC");
 						}
-						price = price0 + L"+L" + price1;
+						price = price0 + L"+" + price1;
 					}
 					dw_cell.SetItemString(ARow, colPrice, price);
 				}
@@ -4602,6 +4781,7 @@
 		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"采购价,采购价格");
 		int colBuyer = getItemCol(dw_cell, startRow - 1, L"采购人员");
 
+		int colBuyerMOQ = getItemCol(dw_cell, startRow - 1, L"MOQ");
 		int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
 		int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"工厂图片");
 		int colGWT = getItemCol(dw_cell, startRow - 1, L"毛重,毛重(KG)");
@@ -4623,6 +4803,7 @@
 			KXMLDOMElement ele = items.item(i);
 			xstring rowid = ele.selectSingleNode(L"RowID").text();
 			xstring BuyerPrice = ele.selectSingleNode(L"BuyerPrice").text();
+			xstring BuyerMOQ = L"";
 			xstring BuyerRemark = L"";
 			xstring FactoryImage = L"";
 			xstring GWT = L"";
@@ -4637,6 +4818,7 @@
 			xstring  EnquiryLineID = L"";
 			xstring  Buyer = L"";
 
+			if (ele.selectSingleNode(L"BuyerMOQ")) BuyerMOQ = ele.selectSingleNode(L"BuyerMOQ").text();
 			if (ele.selectSingleNode(L"BuyerRemark")) BuyerRemark = ele.selectSingleNode(L"BuyerRemark").text();
 			if (ele.selectSingleNode(L"FactoryImage"))FactoryImage = ele.selectSingleNode(L"FactoryImage").text();
 			if (ele.selectSingleNode(L"GWT")) GWT = ele.selectSingleNode(L"GWT").text();
@@ -4645,7 +4827,7 @@
 			if (ele.selectSingleNode(L"Vol")) Vol = ele.selectSingleNode(L"Vol").text();
 			if (ele.selectSingleNode(L"F40HQ")) F40HQ = ele.selectSingleNode(L"F40HQ").text();
 			if (ele.selectSingleNode(L"PurchedDate")) PurchedDate = ele.selectSingleNode(L"PurchedDate").text();
-			trace(L"\r\n******" + PurchedDate);
+			//trace(L"\r\n******" + PurchedDate);
 			if (ele.selectSingleNode(L"supplier-photo")) supplierphoto = ele.selectSingleNode(L"supplier-photo").text();
 			if (ele.selectSingleNode(L"ProductInfo")) productInfo = ele.selectSingleNode(L"ProductInfo").text();
 			if (ele.selectSingleNode(L"ProductInfo1")) productInfo1 = ele.selectSingleNode(L"ProductInfo1").text();
@@ -4660,6 +4842,7 @@
 				if (getRowID(dw_cell, row) == rowid)
 				{
 					dw_cell.SetItemString(row, colBuyerPrice, BuyerPrice);
+					dw_cell.SetItemString(row, colBuyerMOQ, BuyerMOQ);
 					dw_cell.SetItemString(row, colBuyerRemark, BuyerRemark);
 					dw_cell.SetItemString(row, colFactoryImage, FactoryImage);
 					dw_cell.SetItemString(row, colGWT, GWT);
@@ -4724,6 +4907,21 @@
 		return 1;
 	}
 
+	xstring GetTryFirstAttr(xstring str, xstring term)
+	{
+		xstring foundStr = L" " + term + L"=";
+		wchar quote = L'"';
+		int pos = str.find(foundStr);
+		if (pos < 0) return L"";
+		pos += foundStr.length();
+		while (str.at(pos) == L' ')pos++;
+		if (str.at(pos) == L'\'')quote = L'\'';
+		int epos = ++pos;
+		while (str.at(epos) && str.at(epos) != quote)epos++;
+		if (!str.at(epos))return L"";
+		return str.mid(pos, epos - pos);
+	}
+
 	int onload()
 	{
 		SetArg();
@@ -4755,7 +4953,11 @@
 			x.loadXML(templ);
 			*/
 			action = L"purch";
-
+			action = GetTryFirstAttr(templ, L"action");
+			if (action == L"") action = L"purch";
+			entityItemID = GetTryFirstAttr(templ, L"TemplateItemID");
+			if (entityItemID == L"")entityItemID = GetTryFirstAttr(templ, L"ItemID");
+#if 0
 			if (templ.find(L"action=\"") >= 0)
 			{
 				action = templ.mid(templ.find(L"action=\"") + 8, templ.find(L"\"", templ.find(L"action=\"") + 8) - (templ.find(L"action=\"") + 8));
@@ -4772,7 +4974,7 @@
 					entityItemID = templ.mid(templ.find(L" ItemID=\"") + 9, templ.find(L"\"", templ.find(L" ItemID=\"") + 9) - (templ.find(L" ItemID=\"") + 9));
 				}
 			}
-
+#endif
 			/*action = x.documentElement.getAttribute(L"action");
 			if(action==L"") action=L"purch";
 			entityItemID = x.documentElement.getAttribute(L"TemplateItemID");
@@ -4863,7 +5065,7 @@
 			dw_cell.SetColumnCount(dw_cell.GetValidCol() + 6);
 		}
 		else
-			dw_cell.SetColumnCount(dw_cell.GetValidCol());
+			dw_cell.SetColumnCount(dw_cell.GetValidCol()+3);
 
 		//OnRetrieve();
 

--
Gitblit v1.9.3