From d0ee274e2f4430769f450edb274758f60855d0b3 Mon Sep 17 00:00:00 2001 From: wule Date: Tue, 18 Nov 2025 19:13:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E5=8A=A8jit=20=EF=BC=8C=20=E8=87=AA?= =?UTF-8?q?=E5=8A=A8jit=2050%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AllBase/BaseClass.cs | 2 +- .../Model/Result/TemuForChainProductInfo.cs | 7 +- AllBase/Model/Result/TemuListProductInfo.cs | 2 +- TEMUKJD/KJD.csproj | 27 + TEMUKJD/KJDForms/AdminForms/AdminForm.cs | 4 +- .../AdminForms/AdminProductPriceCheckForm.cs | 2 +- .../ProductForms/JoinDeliveryFrom.Designer.cs | 32 +- .../ProductForms/ProductChangePriceForm.cs | 76 +- .../ProductForms/ProductForm.Designer.cs | 32 +- TEMUKJD/KJDForms/ProductForms/ProductForm.cs | 5 + .../ProductForms/PurchasePriceForm.cs | 6 +- TEMUKJD/KJDForms/ProductForms/TemuAdsForm.cs | 4 +- .../ProductForms/TemuJitForm.Designer.cs | 650 ++++++-- TEMUKJD/KJDForms/ProductForms/TemuJitForm.cs | 1378 +++++++++++++++-- .../KJDForms/ProductForms/TemuJitForm.resx | 18 + .../ChangeStockForm.Designer.cs | 432 ++++++ .../TemuJitSubForms/ChangeStockForm.cs | 152 ++ .../TemuJitSubForms/ChangeStockForm.resx | 298 ++++ .../ComplianceForm.Designer.cs | 54 +- .../TemuJitSubForms/ComplianceForm.cs | 33 +- .../ReceiveAreaForm.Designer.cs | 175 +++ .../TemuJitSubForms/ReceiveAreaForm.cs | 95 ++ .../TemuJitSubForms/ReceiveAreaForm.resx | 298 ++++ .../TemuJitSubForms/UcStockEdit.Designer.cs | 151 ++ .../TemuJitSubForms/UcStockEdit.cs | 39 + .../TemuJitSubForms/UcStockEdit.resx | 120 ++ .../ProductThirdSelectListManageForm.cs | 29 + .../ShopForms/ReturnPackageDetailForm.cs | 6 +- .../ShopOrderStatisticsDetailForm.cs | 2 +- 29 files changed, 3712 insertions(+), 417 deletions(-) create mode 100644 TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ChangeStockForm.Designer.cs create mode 100644 TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ChangeStockForm.cs create mode 100644 TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ChangeStockForm.resx create mode 100644 TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ReceiveAreaForm.Designer.cs create mode 100644 TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ReceiveAreaForm.cs create mode 100644 TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ReceiveAreaForm.resx create mode 100644 TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/UcStockEdit.Designer.cs create mode 100644 TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/UcStockEdit.cs create mode 100644 TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/UcStockEdit.resx diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index 76d4a94..6a82fd8 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 675; + public static int VersionCount = 678; //public static int VersionCount = 613; /// diff --git a/AllBase/Model/Result/TemuForChainProductInfo.cs b/AllBase/Model/Result/TemuForChainProductInfo.cs index 8ebf849..43dbb82 100644 --- a/AllBase/Model/Result/TemuForChainProductInfo.cs +++ b/AllBase/Model/Result/TemuForChainProductInfo.cs @@ -9,13 +9,12 @@ namespace AllBase.Model.Result public class TemuForChainProductInfo { public string productName { get; set; } - public long? productId { get; set; } public string supplierPrice { get; set; } public long? supplierId { get; set; } public string supplierName { get; set; } public List skcList { get;set; } - + public long? productCreatedAt { get; set; } } public class TemuForChainSkcInfo @@ -30,7 +29,9 @@ namespace AllBase.Model.Result public string extCode { get; set; } public List skuList { get; set; } public List supplierPriceReviewInfoList { get; set; } - public long? productCreatedAt { get; set; } + public int? applyJitStatus { get; set; } // false, + public bool? suggestCloseJit { get; set; } // false, + } public class TemuStatusTimeInfo diff --git a/AllBase/Model/Result/TemuListProductInfo.cs b/AllBase/Model/Result/TemuListProductInfo.cs index 4a3e03c..ba6c344 100644 --- a/AllBase/Model/Result/TemuListProductInfo.cs +++ b/AllBase/Model/Result/TemuListProductInfo.cs @@ -109,7 +109,7 @@ namespace AllBase.Model.Result public TemuProductSkuSaleExtAttr productSkuSaleExtAttr { get; set; } public int? todaySalesVolume { get; set; } public int? realStock { get; set; } - public object virtualStock { get; set; } + public int? virtualStock { get; set; } public object virtualStockLimitType { get; set; } public object salesStockLockType { get; set; } public object stockLockDetailList { get; set; } diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index 21a7b94..18195b7 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -207,6 +207,24 @@ ComplianceForm.cs + + Form + + + ChangeStockForm.cs + + + Form + + + ReceiveAreaForm.cs + + + UserControl + + + UcStockEdit.cs + Form @@ -896,9 +914,18 @@ TemuJitForm.cs + + ChangeStockForm.cs + ComplianceForm.cs + + ReceiveAreaForm.cs + + + UcStockEdit.cs + DbProductCategorySearch.cs diff --git a/TEMUKJD/KJDForms/AdminForms/AdminForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminForm.cs index a9cc426..8e06072 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminForm.cs @@ -54,9 +54,7 @@ namespace TemuKJD.KJDForms.AdminForms hideName.Remove("库存上传"); hideName.Remove("商品核价"); hideName.Remove("加入发货台"); -#if DEBUG hideName.Remove("开通Jit"); -#endif } if (BaseClass.SaLevel==2) { @@ -65,6 +63,7 @@ namespace TemuKJD.KJDForms.AdminForms hideName.Remove("库存上传"); hideName.Remove("商品核价"); hideName.Remove("加入发货台"); + hideName.Remove("开通Jit"); } } @@ -117,6 +116,7 @@ namespace TemuKJD.KJDForms.AdminForms SetForm(joinDeliveryFrom.Value); break; case "开通Jit": + jitForm.Value.IsAdmin = true; SetForm(jitForm.Value); break; } diff --git a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs index 2b5cd36..523ff45 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs @@ -1190,7 +1190,7 @@ namespace TemuKJD.KJDForms.AdminForms cancellationTokenSource.Cancel(); } - public List GetServerExtCodePriceLst(List extCodeList) + public static List GetServerExtCodePriceLst(List extCodeList) { List list = new List(); diff --git a/TEMUKJD/KJDForms/ProductForms/JoinDeliveryFrom.Designer.cs b/TEMUKJD/KJDForms/ProductForms/JoinDeliveryFrom.Designer.cs index 49236b2..049a25e 100644 --- a/TEMUKJD/KJDForms/ProductForms/JoinDeliveryFrom.Designer.cs +++ b/TEMUKJD/KJDForms/ProductForms/JoinDeliveryFrom.Designer.cs @@ -63,9 +63,9 @@ namespace TemuKJD.KJDForms.ProductForms this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn(); this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.pbLoading = new System.Windows.Forms.PictureBox(); this.pnlMsg = new DevComponents.DotNetBar.PanelEx(); this.lblMsg = new System.Windows.Forms.Label(); - this.pbLoading = new System.Windows.Forms.PictureBox(); this.dgvStock = new TemuKJD.UserComponent.DataGridViewEx(); this.colUpId = new System.Windows.Forms.DataGridViewLinkColumn(); this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn(); @@ -105,8 +105,8 @@ namespace TemuKJD.KJDForms.ProductForms this.splitContainer2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbShopLoading)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit(); - this.pnlMsg.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); + this.pnlMsg.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dgvStock)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).BeginInit(); this.splitContainer4.Panel1.SuspendLayout(); @@ -493,6 +493,18 @@ namespace TemuKJD.KJDForms.ProductForms this.colMessage.Name = "colMessage"; this.colMessage.ReadOnly = true; // + // pbLoading + // + this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pbLoading.Location = new System.Drawing.Point(572, 206); + this.pbLoading.Name = "pbLoading"; + this.pbLoading.Size = new System.Drawing.Size(50, 50); + this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoading.TabIndex = 188; + this.pbLoading.TabStop = false; + this.pbLoading.Visible = false; + // // pnlMsg // this.pnlMsg.Anchor = System.Windows.Forms.AnchorStyles.Top; @@ -522,18 +534,6 @@ namespace TemuKJD.KJDForms.ProductForms this.lblMsg.TabIndex = 0; this.lblMsg.Text = "消息tip"; // - // pbLoading - // - this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; - this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pbLoading.Location = new System.Drawing.Point(572, 206); - this.pbLoading.Name = "pbLoading"; - this.pbLoading.Size = new System.Drawing.Size(50, 50); - this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; - this.pbLoading.TabIndex = 188; - this.pbLoading.TabStop = false; - this.pbLoading.Visible = false; - // // dgvStock // this.dgvStock.AllowUserToAddRows = false; @@ -822,7 +822,7 @@ namespace TemuKJD.KJDForms.ProductForms this.Controls.Add(this.splitContainer1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.Name = "JoinDeliveryFrom"; - this.Text = "JoinDeliveryFrom"; + this.Text = "(抢)加入发货台"; this.Load += new System.EventHandler(this.JoinDeliveryFrom_Load); this.VisibleChanged += new System.EventHandler(this.JoinDeliveryFrom_VisibleChanged); this.splitContainer1.Panel1.ResumeLayout(false); @@ -843,8 +843,8 @@ namespace TemuKJD.KJDForms.ProductForms this.splitContainer2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pbShopLoading)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit(); - this.pnlMsg.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); + this.pnlMsg.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dgvStock)).EndInit(); this.splitContainer4.Panel1.ResumeLayout(false); this.splitContainer4.Panel2.ResumeLayout(false); diff --git a/TEMUKJD/KJDForms/ProductForms/ProductChangePriceForm.cs b/TEMUKJD/KJDForms/ProductForms/ProductChangePriceForm.cs index 53f31e5..aa9ec38 100644 --- a/TEMUKJD/KJDForms/ProductForms/ProductChangePriceForm.cs +++ b/TEMUKJD/KJDForms/ProductForms/ProductChangePriceForm.cs @@ -19,18 +19,39 @@ using TemuKJD.KJDForms.ShopForms; namespace TemuKJD.KJDForms.ProductForms { + /// + /// 商品调价(改价) + /// public partial class ProductChangePriceForm : LRBaseForm { + string skcId = ""; + string productId = ""; + string productName = ""; ShopLoginInfo shop = null; - WarehouseProductSubOrderInfo prodInfo = null; + TemuListProductInfo productInfo = null; + WarehouseProductSubOrderInfo wareHouseOrderInfo = null; Dictionary dicAdjustReason = new Dictionary(); - public bool AdjustPrice = false; + public bool IsAdjustPrice = false; - public ProductChangePriceForm(ShopLoginInfo _shop, WarehouseProductSubOrderInfo _prod) + public ProductChangePriceForm(ShopLoginInfo _shop, WarehouseProductSubOrderInfo _wareHouseOrderInfo) { InitializeComponent(); shop = _shop; - prodInfo = _prod; + wareHouseOrderInfo = _wareHouseOrderInfo; + skcId = wareHouseOrderInfo?.productSkcId.ParseToString(); + productId = wareHouseOrderInfo?.productId.ParseToString(); + productName = wareHouseOrderInfo?.productName.ParseToString(); + } + //TemuListProductInfo + + public ProductChangePriceForm(ShopLoginInfo _shop, TemuListProductInfo _prod) + { + InitializeComponent(); + shop = _shop; + productInfo = _prod; + skcId = productInfo?.productSkcId.ParseToString(); + productId = productInfo?.productId.ParseToString(); + productName = productInfo?.productName.ParseToString(); } private void ProductChangePriceForm_Load(object sender, EventArgs e) @@ -72,7 +93,7 @@ namespace TemuKJD.KJDForms.ProductForms void GetProductAdjust() { - if (shop == null || prodInfo == null) + if (shop == null || productId.IsNullOrEmpty() || skcId.IsNullOrEmpty() || productName.IsNullOrEmpty()) { BaseMsgForm.ShowError("店铺商品信息为空!"); return; @@ -94,7 +115,7 @@ namespace TemuKJD.KJDForms.ProductForms int tryCount = 0; tryAgain: - var adjustRst = QueryProductAdjust(shop, prodInfo.productId); + var adjustRst = QueryProductAdjust(shop, productId.ParseToLong()); if (adjustRst.Contains("当前操作人数太多,请稍后重试") && tryCount < 5) { tryCount++; @@ -118,15 +139,15 @@ namespace TemuKJD.KJDForms.ProductForms var objStr = JsonHelper.SerializeObject( jObj["result"]); var adjustPriceInfo = JsonHelper.DeserializeJsonToObject(objStr); - foreach (var item in adjustPriceInfo.spuAdjustResult[prodInfo.productId.ParseToString()].skcItems[0].items) + foreach (var item in adjustPriceInfo.spuAdjustResult[productId].skcItems[0].items) { int mainRowId = -1; Invoke(new Action(() => { mainRowId = this.dgvOrder.Rows.Add( true, - prodInfo.productId, - prodInfo.productSkcId, + productId, + skcId, item.productSkuId, item.skuSpec, //属性集 "", @@ -147,8 +168,8 @@ namespace TemuKJD.KJDForms.ProductForms { rowId = this.dgvOrder.Rows.Add( true, - prodInfo.productId, - prodInfo.productSkcId, + productId, + skcId, item.productSkuId, item.skuSpec, //属性集 activityPriceDTO.activityInvitationId, //申报价格类型 @@ -267,7 +288,7 @@ namespace TemuKJD.KJDForms.ProductForms private async void btnSave_Click(object sender, EventArgs e) { txtReason.Focus(); - if (shop == null || prodInfo == null) + if (shop == null || productId.IsNullOrEmpty() || skcId.IsNullOrEmpty() || productName.IsNullOrEmpty()) { BaseMsgForm.ShowError("店铺商品信息为空!"); return; @@ -319,9 +340,9 @@ namespace TemuKJD.KJDForms.ProductForms param.adjustItems = new List(); adjustItem adjustItem = new adjustItem() { - productId = this.prodInfo.productId, - productName = this.prodInfo.productName, - productSkcId = this.prodInfo.productSkcId, + productId = this.productId.ParseToLong(), + productName = this.productName, + productSkcId = this.skcId.ParseToLong(), supplierId = this.shop.ShopId.ParseToLong(), }; param.adjustItems.Add(adjustItem); @@ -369,8 +390,8 @@ namespace TemuKJD.KJDForms.ProductForms return; } - AdjustPrice = true; - // 更新统计列表的价格 + IsAdjustPrice = true; + // 更新统计列表的数据价格 foreach (DataGridViewRow row in dgvOrder.Rows) { if (row.Cells["colSelect"].Value.ParseToBool() == true) @@ -385,11 +406,22 @@ namespace TemuKJD.KJDForms.ProductForms targetSupplyPrice = (row.Cells["colSkuNewPrice"].Value.ParseToDecimal() * 100).ParseToInt(), skuId = row.Cells["colSkuId"].Value.ParseToLong(), }; - if (adjItem.activityInvitationId == 0) + if (adjItem.activityInvitationId == 0) // 为0的是商品基础价格,否则是活动价格 { - var sku = prodInfo.skuQuantityDetailList.FirstOrDefault(s => s.productSkuId.ParseToLong() == adjItem.skuId); - if (sku != null) - sku.supplierPrice = adjItem.targetSupplyPrice; + if (wareHouseOrderInfo != null) + { + var sku = wareHouseOrderInfo.skuQuantityDetailList.FirstOrDefault(s => s.productSkuId.ParseToLong() == adjItem.skuId); + if (sku != null) + sku.supplierPrice = adjItem.targetSupplyPrice; + } + if (productInfo != null) + { + var sku = productInfo.productSkuSummaries.FirstOrDefault(s => s.productSkuId.ParseToLong() == adjItem.skuId); + if (sku!= null) + { + sku.supplierPrice = adjItem.targetSupplyPrice; + } + } } } } @@ -491,7 +523,7 @@ namespace TemuKJD.KJDForms.ProductForms public bool? supportShutdownJustInTimeAndStockUp { get; set; } public bool? isShoe { get; set; } // null } - + //--------------------------------------------------------------------------------- public class AdjustParam { public int? adjustReason { get; set; } diff --git a/TEMUKJD/KJDForms/ProductForms/ProductForm.Designer.cs b/TEMUKJD/KJDForms/ProductForms/ProductForm.Designer.cs index ea5606f..9ef5959 100644 --- a/TEMUKJD/KJDForms/ProductForms/ProductForm.Designer.cs +++ b/TEMUKJD/KJDForms/ProductForms/ProductForm.Designer.cs @@ -33,10 +33,11 @@ System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("活动报名"); System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("推广直通车"); System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("加入发货台"); - System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("设置进货价"); - System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("商品认领"); - System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("库存上传"); - System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("商品管理", new System.Windows.Forms.TreeNode[] { + System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("开通Jit"); + System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("设置进货价"); + System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("商品认领"); + System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("库存上传"); + System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("商品管理", new System.Windows.Forms.TreeNode[] { treeNode1, treeNode2, treeNode3, @@ -44,7 +45,8 @@ treeNode5, treeNode6, treeNode7, - treeNode8}); + treeNode8, + treeNode9}); this.panel1 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel(); @@ -145,16 +147,18 @@ treeNode4.Text = "推广直通车"; treeNode5.Name = "加入发货台"; treeNode5.Text = "加入发货台"; - treeNode6.Name = "设置进货价"; - treeNode6.Text = "设置进货价"; - treeNode7.Name = "商品认领"; - treeNode7.Text = "商品认领"; - treeNode8.Name = "库存上传"; - treeNode8.Text = "库存上传"; - treeNode9.Name = "商品管理"; - treeNode9.Text = "商品管理"; + treeNode6.Name = "开通Jit"; + treeNode6.Text = "开通Jit"; + treeNode7.Name = "设置进货价"; + treeNode7.Text = "设置进货价"; + treeNode8.Name = "商品认领"; + treeNode8.Text = "商品认领"; + treeNode9.Name = "库存上传"; + treeNode9.Text = "库存上传"; + treeNode10.Name = "商品管理"; + treeNode10.Text = "商品管理"; this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode9}); + treeNode10}); this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.tv.Size = new System.Drawing.Size(140, 521); this.tv.TabIndex = 1; diff --git a/TEMUKJD/KJDForms/ProductForms/ProductForm.cs b/TEMUKJD/KJDForms/ProductForms/ProductForm.cs index 97c8f3e..f02d81c 100644 --- a/TEMUKJD/KJDForms/ProductForms/ProductForm.cs +++ b/TEMUKJD/KJDForms/ProductForms/ProductForm.cs @@ -28,6 +28,7 @@ namespace TemuKJD.KJDForms.ProductForms public Lazy purchasePriceForm = new Lazy(); public Lazy temuAdsForm = new Lazy(); public Lazy joinDeliveryFrom = new Lazy(); + public Lazy temuJitForm = new Lazy(); public ProductForm() { @@ -42,6 +43,7 @@ namespace TemuKJD.KJDForms.ProductForms #if DEBUG #else //hideName.Add("推广直通车"); + hideName.Add("开通Jit"); #endif if (BaseClass.GroupId == 3) @@ -96,6 +98,9 @@ namespace TemuKJD.KJDForms.ProductForms case "加入发货台": SetForm(joinDeliveryFrom.Value); break; + case "开通Jit": + SetForm(temuJitForm.Value); + break; case "设置进货价": SetForm(purchasePriceForm.Value); break; diff --git a/TEMUKJD/KJDForms/ProductForms/PurchasePriceForm.cs b/TEMUKJD/KJDForms/ProductForms/PurchasePriceForm.cs index d6f15d8..f92e581 100644 --- a/TEMUKJD/KJDForms/ProductForms/PurchasePriceForm.cs +++ b/TEMUKJD/KJDForms/ProductForms/PurchasePriceForm.cs @@ -178,14 +178,14 @@ namespace TemuKJD.KJDForms.ProductForms } } - private string GetProductList(ShopLoginInfo shop, int page = 1, string skcIds="") + private string GetProductList(ShopLoginInfo shop, int page = 1, string skuIds="") { page = Math.Max(page, 1); string url = "https://agentseller.temu.com/visage-agent-seller/product/skc/pageQuery"; string body; body = @"{""page"":" + page + @",""pageSize"":200,""skcTopStatus"":100}"; - if (!string.IsNullOrEmpty(skcIds)) - body = @"{""productSkuIds"":[" + skcIds + @"],""page"":" + page + @",""pageSize"":200,""skcTopStatus"":100}"; + if (!string.IsNullOrEmpty(skuIds)) + body = @"{""productSkuIds"":[" + skuIds + @"],""page"":" + page + @",""pageSize"":200,""skcTopStatus"":100}"; string refere = "https://agentseller.temu.com/goods/list"; diff --git a/TEMUKJD/KJDForms/ProductForms/TemuAdsForm.cs b/TEMUKJD/KJDForms/ProductForms/TemuAdsForm.cs index 5b654cf..3271194 100644 --- a/TEMUKJD/KJDForms/ProductForms/TemuAdsForm.cs +++ b/TEMUKJD/KJDForms/ProductForms/TemuAdsForm.cs @@ -674,7 +674,7 @@ namespace TemuKJD.KJDForms.ProductForms Thread.Sleep(100 + Randomx.GetId(200)); string error = ""; - var wareHouses = this.GetWareHouseList(shop, spuIdLst, out error); + var wareHouses = GetWareHouseList(shop, spuIdLst, out error); if(!string.IsNullOrEmpty(error)) { BaseMsgForm.ShowError(error); @@ -988,7 +988,7 @@ namespace TemuKJD.KJDForms.ProductForms { Thread.Sleep(100 + Randomx.GetId(200)); string error = ""; - var wareHouses = this.GetWareHouseList(shop, spuIdLst, out error); + var wareHouses = GetWareHouseList(shop, spuIdLst, out error); if (!string.IsNullOrEmpty(error)) { BaseMsgForm.ShowError(error); diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitForm.Designer.cs b/TEMUKJD/KJDForms/ProductForms/TemuJitForm.Designer.cs index 9dc9e5f..692bdb5 100644 --- a/TEMUKJD/KJDForms/ProductForms/TemuJitForm.Designer.cs +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitForm.Designer.cs @@ -40,8 +40,23 @@ namespace TemuKJD.KJDForms.ProductForms System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnAddRealPic = new DevComponents.DotNetBar.PanelEx(); + this.btnBatchJit = new DevComponents.DotNetBar.PanelEx(); + this.rbYiwu = new System.Windows.Forms.RadioButton(); + this.rbGuangdong = new System.Windows.Forms.RadioButton(); + this.label11 = new System.Windows.Forms.Label(); + this.txtBatchStock = new System.Windows.Forms.TextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.pbRealPicture = new System.Windows.Forms.PictureBox(); + this.txtBatchIdentifyCode = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.txtBatchPriceMax = new System.Windows.Forms.TextBox(); + this.txtBatchPriceMin = new System.Windows.Forms.TextBox(); + this.txtBatchExtCode = new System.Windows.Forms.TextBox(); + this.btnSearch1 = new DevComponents.DotNetBar.PanelEx(); this.btnResetExtCode = new DevComponents.DotNetBar.PanelEx(); this.txtExtCode = new System.Windows.Forms.TextBox(); this.label12 = new System.Windows.Forms.Label(); @@ -49,7 +64,7 @@ namespace TemuKJD.KJDForms.ProductForms this.dtpEndTime = new System.Windows.Forms.DateTimePicker(); this.dtpStartTime = new System.Windows.Forms.DateTimePicker(); this.btnStop = new DevComponents.DotNetBar.PanelEx(); - this.btnSearchPrice2 = new DevComponents.DotNetBar.PanelEx(); + this.btnSearch2 = new DevComponents.DotNetBar.PanelEx(); this.txtSpuId = new System.Windows.Forms.TextBox(); this.label7 = new System.Windows.Forms.Label(); this.btnEmpty = new DevComponents.DotNetBar.PanelEx(); @@ -61,6 +76,10 @@ namespace TemuKJD.KJDForms.ProductForms this.txtShopId = new System.Windows.Forms.TextBox(); this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); this.splitContainer3 = new System.Windows.Forms.SplitContainer(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.pbShopLoading = new System.Windows.Forms.PictureBox(); @@ -79,12 +98,7 @@ namespace TemuKJD.KJDForms.ProductForms this.textBox1 = new System.Windows.Forms.TextBox(); this.btnClose = new DevComponents.DotNetBar.PanelEx(); this.pbLoading = new System.Windows.Forms.PictureBox(); - this.dgvPriceCheck = new TemuKJD.UserComponent.DataGridViewEx(); - this.splitContainer4 = new System.Windows.Forms.SplitContainer(); - this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); - this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); - this.btnClear = new DevComponents.DotNetBar.PanelEx(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.dgvOpenJit = new TemuKJD.UserComponent.DataGridViewEx(); this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colProdIndex = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colOrderId = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -96,16 +110,28 @@ namespace TemuKJD.KJDForms.ProductForms this.colProdSkc = new System.Windows.Forms.DataGridViewLinkColumn(); this.colProdName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSkuName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colExtCode = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colExtCodePrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colPrcie = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colCreatTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colChangePrice = new System.Windows.Forms.DataGridViewLinkColumn(); this.colCompliance = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colRealPicture = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colJit = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colStock = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colRecevieArea = new System.Windows.Forms.DataGridViewLinkColumn(); this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.splitContainer4 = new System.Windows.Forms.SplitContainer(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); + this.btnClear = new DevComponents.DotNetBar.PanelEx(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); this.ucGroupBoxEx1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbRealPicture)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); this.splitContainer3.Panel1.SuspendLayout(); this.splitContainer3.Panel2.SuspendLayout(); @@ -118,7 +144,7 @@ namespace TemuKJD.KJDForms.ProductForms ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit(); this.pnlSpecDetail.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.dgvPriceCheck)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvOpenJit)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).BeginInit(); this.splitContainer4.Panel1.SuspendLayout(); this.splitContainer4.Panel2.SuspendLayout(); @@ -141,7 +167,7 @@ namespace TemuKJD.KJDForms.ProductForms // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.splitContainer3); - this.splitContainer1.Size = new System.Drawing.Size(1350, 611); + this.splitContainer1.Size = new System.Drawing.Size(1496, 611); this.splitContainer1.SplitterDistance = 130; this.splitContainer1.TabIndex = 12; // @@ -152,6 +178,20 @@ namespace TemuKJD.KJDForms.ProductForms | System.Windows.Forms.AnchorStyles.Right))); this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx1.Controls.Add(this.btnAddRealPic); + this.ucGroupBoxEx1.Controls.Add(this.btnBatchJit); + this.ucGroupBoxEx1.Controls.Add(this.rbYiwu); + this.ucGroupBoxEx1.Controls.Add(this.rbGuangdong); + this.ucGroupBoxEx1.Controls.Add(this.label11); + this.ucGroupBoxEx1.Controls.Add(this.txtBatchStock); + this.ucGroupBoxEx1.Controls.Add(this.label10); + this.ucGroupBoxEx1.Controls.Add(this.pbRealPicture); + this.ucGroupBoxEx1.Controls.Add(this.txtBatchIdentifyCode); + this.ucGroupBoxEx1.Controls.Add(this.label8); + this.ucGroupBoxEx1.Controls.Add(this.txtBatchPriceMax); + this.ucGroupBoxEx1.Controls.Add(this.txtBatchPriceMin); + this.ucGroupBoxEx1.Controls.Add(this.txtBatchExtCode); + this.ucGroupBoxEx1.Controls.Add(this.btnSearch1); this.ucGroupBoxEx1.Controls.Add(this.btnResetExtCode); this.ucGroupBoxEx1.Controls.Add(this.txtExtCode); this.ucGroupBoxEx1.Controls.Add(this.label12); @@ -159,7 +199,7 @@ namespace TemuKJD.KJDForms.ProductForms this.ucGroupBoxEx1.Controls.Add(this.dtpEndTime); this.ucGroupBoxEx1.Controls.Add(this.dtpStartTime); this.ucGroupBoxEx1.Controls.Add(this.btnStop); - this.ucGroupBoxEx1.Controls.Add(this.btnSearchPrice2); + this.ucGroupBoxEx1.Controls.Add(this.btnSearch2); this.ucGroupBoxEx1.Controls.Add(this.txtSpuId); this.ucGroupBoxEx1.Controls.Add(this.label7); this.ucGroupBoxEx1.Controls.Add(this.btnEmpty); @@ -171,13 +211,182 @@ namespace TemuKJD.KJDForms.ProductForms this.ucGroupBoxEx1.Controls.Add(this.txtShopId); this.ucGroupBoxEx1.Controls.Add(this.label2); this.ucGroupBoxEx1.Controls.Add(this.label3); + this.ucGroupBoxEx1.Controls.Add(this.label1); + this.ucGroupBoxEx1.Controls.Add(this.label6); + this.ucGroupBoxEx1.Controls.Add(this.label9); + this.ucGroupBoxEx1.Controls.Add(this.label13); this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2); this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; - this.ucGroupBoxEx1.Size = new System.Drawing.Size(1345, 130); + this.ucGroupBoxEx1.Size = new System.Drawing.Size(1491, 130); this.ucGroupBoxEx1.TabIndex = 399; this.ucGroupBoxEx1.TabStop = false; this.ucGroupBoxEx1.Text = "参数设置"; // + // btnAddRealPic + // + this.btnAddRealPic.CanvasColor = System.Drawing.SystemColors.Control; + this.btnAddRealPic.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnAddRealPic.DisabledBackColor = System.Drawing.Color.Empty; + this.btnAddRealPic.Location = new System.Drawing.Point(875, 86); + this.btnAddRealPic.Name = "btnAddRealPic"; + this.btnAddRealPic.Size = new System.Drawing.Size(37, 23); + this.btnAddRealPic.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddRealPic.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnAddRealPic.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnAddRealPic.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnAddRealPic.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddRealPic.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnAddRealPic.Style.GradientAngle = 90; + this.btnAddRealPic.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddRealPic.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddRealPic.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddRealPic.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddRealPic.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnAddRealPic.TabIndex = 1086; + this.btnAddRealPic.Text = "选择"; + this.btnAddRealPic.Click += new System.EventHandler(this.btnAddRealPic_Click); + // + // btnBatchJit + // + this.btnBatchJit.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnBatchJit.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnBatchJit.DisabledBackColor = System.Drawing.Color.Empty; + this.btnBatchJit.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnBatchJit.Location = new System.Drawing.Point(1203, 27); + this.btnBatchJit.Name = "btnBatchJit"; + this.btnBatchJit.Size = new System.Drawing.Size(95, 23); + this.btnBatchJit.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnBatchJit.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnBatchJit.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnBatchJit.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnBatchJit.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnBatchJit.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnBatchJit.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnBatchJit.Style.GradientAngle = 90; + this.btnBatchJit.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnBatchJit.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnBatchJit.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnBatchJit.TabIndex = 1061; + this.btnBatchJit.Text = "批量加入JIT"; + this.btnBatchJit.Click += new System.EventHandler(this.btnBatchJit_Click); + // + // rbYiwu + // + this.rbYiwu.AutoSize = true; + this.rbYiwu.Location = new System.Drawing.Point(1129, 58); + this.rbYiwu.Name = "rbYiwu"; + this.rbYiwu.Size = new System.Drawing.Size(50, 21); + this.rbYiwu.TabIndex = 1057; + this.rbYiwu.Text = "义乌"; + this.rbYiwu.UseVisualStyleBackColor = true; + // + // rbGuangdong + // + this.rbGuangdong.AutoSize = true; + this.rbGuangdong.Checked = true; + this.rbGuangdong.Location = new System.Drawing.Point(1077, 58); + this.rbGuangdong.Name = "rbGuangdong"; + this.rbGuangdong.Size = new System.Drawing.Size(50, 21); + this.rbGuangdong.TabIndex = 1056; + this.rbGuangdong.TabStop = true; + this.rbGuangdong.Text = "广东"; + this.rbGuangdong.UseVisualStyleBackColor = true; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(1015, 60); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(68, 17); + this.label11.TabIndex = 1055; + this.label11.Text = "期望到货:"; + // + // txtBatchStock + // + this.txtBatchStock.Location = new System.Drawing.Point(1073, 27); + this.txtBatchStock.Name = "txtBatchStock"; + this.txtBatchStock.Size = new System.Drawing.Size(106, 23); + this.txtBatchStock.TabIndex = 1054; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(1015, 30); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(68, 17); + this.label10.TabIndex = 1053; + this.label10.Text = "设置库存:"; + // + // pbRealPicture + // + this.pbRealPicture.Location = new System.Drawing.Point(918, 27); + this.pbRealPicture.Name = "pbRealPicture"; + this.pbRealPicture.Size = new System.Drawing.Size(82, 82); + this.pbRealPicture.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pbRealPicture.TabIndex = 1051; + this.pbRealPicture.TabStop = false; + // + // txtBatchIdentifyCode + // + this.txtBatchIdentifyCode.Location = new System.Drawing.Point(701, 86); + this.txtBatchIdentifyCode.Name = "txtBatchIdentifyCode"; + this.txtBatchIdentifyCode.Size = new System.Drawing.Size(156, 23); + this.txtBatchIdentifyCode.TabIndex = 1048; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(631, 89); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(80, 17); + this.label8.TabIndex = 1050; + this.label8.Text = "商品识别码:"; + // + // txtBatchPriceMax + // + this.txtBatchPriceMax.Location = new System.Drawing.Point(785, 57); + this.txtBatchPriceMax.Name = "txtBatchPriceMax"; + this.txtBatchPriceMax.Size = new System.Drawing.Size(72, 23); + this.txtBatchPriceMax.TabIndex = 1046; + // + // txtBatchPriceMin + // + this.txtBatchPriceMin.Location = new System.Drawing.Point(701, 57); + this.txtBatchPriceMin.Name = "txtBatchPriceMin"; + this.txtBatchPriceMin.Size = new System.Drawing.Size(72, 23); + this.txtBatchPriceMin.TabIndex = 1045; + // + // txtBatchExtCode + // + this.txtBatchExtCode.Location = new System.Drawing.Point(701, 27); + this.txtBatchExtCode.Name = "txtBatchExtCode"; + this.txtBatchExtCode.Size = new System.Drawing.Size(156, 23); + this.txtBatchExtCode.TabIndex = 1043; + // + // btnSearch1 + // + this.btnSearch1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSearch1.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSearch1.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSearch1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSearch1.Location = new System.Drawing.Point(301, 98); + this.btnSearch1.Name = "btnSearch1"; + this.btnSearch1.Size = new System.Drawing.Size(110, 23); + this.btnSearch1.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearch1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch1.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSearch1.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSearch1.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSearch1.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSearch1.Style.GradientAngle = 90; + this.btnSearch1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearch1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearch1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearch1.TabIndex = 1024; + this.btnSearch1.Text = "查询已发布商品"; + this.btnSearch1.Click += new System.EventHandler(this.btnSearch1_Click); + // // btnResetExtCode // this.btnResetExtCode.CanvasColor = System.Drawing.SystemColors.Control; @@ -266,29 +475,29 @@ namespace TemuKJD.KJDForms.ProductForms this.btnStop.TabIndex = 999; this.btnStop.Text = "停止查询"; // - // btnSearchPrice2 + // btnSearch2 // - this.btnSearchPrice2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnSearchPrice2.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnSearchPrice2.DisabledBackColor = System.Drawing.Color.Empty; - this.btnSearchPrice2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSearchPrice2.Location = new System.Drawing.Point(455, 98); - this.btnSearchPrice2.Name = "btnSearchPrice2"; - this.btnSearchPrice2.Size = new System.Drawing.Size(67, 23); - this.btnSearchPrice2.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnSearchPrice2.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnSearchPrice2.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnSearchPrice2.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnSearchPrice2.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnSearchPrice2.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnSearchPrice2.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnSearchPrice2.Style.GradientAngle = 90; - this.btnSearchPrice2.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnSearchPrice2.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnSearchPrice2.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnSearchPrice2.TabIndex = 996; - this.btnSearchPrice2.Text = "查询商品"; - this.btnSearchPrice2.Click += new System.EventHandler(this.btnSearchPrice2_Click); + this.btnSearch2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSearch2.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSearch2.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSearch2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSearch2.Location = new System.Drawing.Point(413, 98); + this.btnSearch2.Name = "btnSearch2"; + this.btnSearch2.Size = new System.Drawing.Size(110, 23); + this.btnSearch2.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearch2.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch2.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch2.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSearch2.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSearch2.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSearch2.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSearch2.Style.GradientAngle = 90; + this.btnSearch2.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearch2.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearch2.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearch2.TabIndex = 996; + this.btnSearch2.Text = "查询待创建商品"; + this.btnSearch2.Click += new System.EventHandler(this.btnSearch2_Click); // // txtSpuId // @@ -412,6 +621,42 @@ namespace TemuKJD.KJDForms.ProductForms this.label3.TabIndex = 381; this.label3.Text = "店铺名:"; // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(643, 30); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(68, 17); + this.label1.TabIndex = 1044; + this.label1.Text = "处理货号:"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(643, 60); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(68, 17); + this.label6.TabIndex = 1047; + this.label6.Text = "价格范围:"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(872, 30); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(56, 17); + this.label9.TabIndex = 1052; + this.label9.Text = "实拍图:"; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(773, 60); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(13, 17); + this.label13.TabIndex = 1062; + this.label13.Text = "-"; + // // splitContainer3 // this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill; @@ -427,7 +672,7 @@ namespace TemuKJD.KJDForms.ProductForms // splitContainer3.Panel2 // this.splitContainer3.Panel2.Controls.Add(this.splitContainer4); - this.splitContainer3.Size = new System.Drawing.Size(1350, 477); + this.splitContainer3.Size = new System.Drawing.Size(1496, 477); this.splitContainer3.SplitterDistance = 447; this.splitContainer3.TabIndex = 1; // @@ -449,9 +694,9 @@ namespace TemuKJD.KJDForms.ProductForms // this.splitContainer2.Panel2.Controls.Add(this.pnlSpecDetail); this.splitContainer2.Panel2.Controls.Add(this.pbLoading); - this.splitContainer2.Panel2.Controls.Add(this.dgvPriceCheck); + this.splitContainer2.Panel2.Controls.Add(this.dgvOpenJit); this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0); - this.splitContainer2.Size = new System.Drawing.Size(1350, 447); + this.splitContainer2.Size = new System.Drawing.Size(1496, 447); this.splitContainer2.SplitterDistance = 280; this.splitContainer2.TabIndex = 0; // @@ -596,7 +841,7 @@ namespace TemuKJD.KJDForms.ProductForms this.pnlSpecDetail.Controls.Add(this.btnClose); this.pnlSpecDetail.Location = new System.Drawing.Point(115, 58); this.pnlSpecDetail.Name = "pnlSpecDetail"; - this.pnlSpecDetail.Size = new System.Drawing.Size(837, 134); + this.pnlSpecDetail.Size = new System.Drawing.Size(983, 134); this.pnlSpecDetail.TabIndex = 683; this.pnlSpecDetail.Visible = false; // @@ -609,7 +854,7 @@ namespace TemuKJD.KJDForms.ProductForms this.textBox1.Multiline = true; this.textBox1.Name = "textBox1"; this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.textBox1.Size = new System.Drawing.Size(778, 75); + this.textBox1.Size = new System.Drawing.Size(924, 75); this.textBox1.TabIndex = 690; // // btnClose @@ -619,7 +864,7 @@ namespace TemuKJD.KJDForms.ProductForms this.btnClose.Cursor = System.Windows.Forms.Cursors.Hand; this.btnClose.DisabledBackColor = System.Drawing.Color.Empty; this.btnClose.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnClose.Location = new System.Drawing.Point(748, 98); + this.btnClose.Location = new System.Drawing.Point(894, 98); this.btnClose.Name = "btnClose"; this.btnClose.Size = new System.Drawing.Size(58, 23); this.btnClose.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -641,7 +886,7 @@ namespace TemuKJD.KJDForms.ProductForms // this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pbLoading.Location = new System.Drawing.Point(492, 198); + this.pbLoading.Location = new System.Drawing.Point(565, 198); this.pbLoading.Name = "pbLoading"; this.pbLoading.Size = new System.Drawing.Size(50, 50); this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; @@ -649,14 +894,14 @@ namespace TemuKJD.KJDForms.ProductForms this.pbLoading.TabStop = false; this.pbLoading.Visible = false; // - // dgvPriceCheck + // dgvOpenJit // - this.dgvPriceCheck.AllowUserToAddRows = false; - this.dgvPriceCheck.AllowUserToDeleteRows = false; + this.dgvOpenJit.AllowUserToAddRows = false; + this.dgvOpenJit.AllowUserToDeleteRows = false; dataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249))))); - this.dgvPriceCheck.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3; - this.dgvPriceCheck.BackgroundColor = System.Drawing.Color.White; - this.dgvPriceCheck.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.dgvOpenJit.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3; + this.dgvOpenJit.BackgroundColor = System.Drawing.Color.White; + this.dgvOpenJit.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control; dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); @@ -664,9 +909,9 @@ namespace TemuKJD.KJDForms.ProductForms dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvPriceCheck.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; - this.dgvPriceCheck.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dgvPriceCheck.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dgvOpenJit.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; + this.dgvOpenJit.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvOpenJit.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colCheck, this.colProdIndex, this.colOrderId, @@ -679,115 +924,25 @@ namespace TemuKJD.KJDForms.ProductForms this.colProdName, this.colSkuName, this.colExtCode, + this.colExtCodePrice, this.colPrcie, this.colCreatTime, + this.colChangePrice, this.colCompliance, + this.colRealPicture, + this.colJit, + this.colStock, + this.colRecevieArea, this.colMsg}); - this.dgvPriceCheck.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvPriceCheck.Location = new System.Drawing.Point(0, 0); - this.dgvPriceCheck.Name = "dgvPriceCheck"; - this.dgvPriceCheck.ReadOnly = true; - this.dgvPriceCheck.RowHeadersWidth = 36; - this.dgvPriceCheck.RowTemplate.Height = 23; - this.dgvPriceCheck.Size = new System.Drawing.Size(1062, 447); - this.dgvPriceCheck.TabIndex = 187; - this.dgvPriceCheck.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvPriceCheck_CellContentClick); - // - // splitContainer4 - // - this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; - this.splitContainer4.Location = new System.Drawing.Point(0, 0); - this.splitContainer4.Name = "splitContainer4"; - // - // splitContainer4.Panel1 - // - this.splitContainer4.Panel1.Controls.Add(this.ucSplitPage1); - // - // splitContainer4.Panel2 - // - this.splitContainer4.Panel2.Controls.Add(this.panelEx1); - this.splitContainer4.Panel2.Controls.Add(this.btnClear); - this.splitContainer4.Panel2.Controls.Add(this.statusBar); - this.splitContainer4.Size = new System.Drawing.Size(1350, 26); - this.splitContainer4.SplitterDistance = 282; - this.splitContainer4.TabIndex = 3; - // - // ucSplitPage1 - // - this.ucSplitPage1.CurrentPage = 1; - this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Left; - this.ucSplitPage1.IsShowPageSize = false; - this.ucSplitPage1.Location = new System.Drawing.Point(0, 0); - this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); - this.ucSplitPage1.Name = "ucSplitPage1"; - this.ucSplitPage1.PageSize = 50; - this.ucSplitPage1.Size = new System.Drawing.Size(282, 26); - this.ucSplitPage1.TabIndex = 5; - this.ucSplitPage1.TotalPage = 1; - this.ucSplitPage1.PageChange += new System.Action(this.ucSplitPage1_PageChange); - // - // panelEx1 - // - this.panelEx1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control; - this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty; - this.panelEx1.Location = new System.Drawing.Point(945, 0); - this.panelEx1.Name = "panelEx1"; - this.panelEx1.Size = new System.Drawing.Size(115, 21); - this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center; - this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.panelEx1.Style.GradientAngle = 90; - this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; - this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; - this.panelEx1.TabIndex = 668; - this.panelEx1.Text = "停止当前操作"; - this.panelEx1.Visible = false; - // - // btnClear - // - this.btnClear.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnClear.DisabledBackColor = System.Drawing.Color.Empty; - this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnClear.Location = new System.Drawing.Point(851, 0); - this.btnClear.Name = "btnClear"; - this.btnClear.Size = new System.Drawing.Size(90, 21); - this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnClear.Style.GradientAngle = 90; - this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; - this.btnClear.TabIndex = 440; - this.btnClear.Text = "清空结果"; - this.btnClear.Visible = false; - // - // statusBar - // - this.statusBar.BackColor = System.Drawing.Color.White; - this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill; - this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.statusBar.Location = new System.Drawing.Point(0, 0); - this.statusBar.Margin = new System.Windows.Forms.Padding(0); - this.statusBar.Name = "statusBar"; - this.statusBar.Size = new System.Drawing.Size(1064, 26); - this.statusBar.TabIndex = 2; + this.dgvOpenJit.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvOpenJit.Location = new System.Drawing.Point(0, 0); + this.dgvOpenJit.Name = "dgvOpenJit"; + this.dgvOpenJit.ReadOnly = true; + this.dgvOpenJit.RowHeadersWidth = 36; + this.dgvOpenJit.RowTemplate.Height = 23; + this.dgvOpenJit.Size = new System.Drawing.Size(1208, 447); + this.dgvOpenJit.TabIndex = 187; + this.dgvOpenJit.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvOpenJit_CellContentClick); // // colCheck // @@ -796,7 +951,6 @@ namespace TemuKJD.KJDForms.ProductForms this.colCheck.ReadOnly = true; this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colCheck.Visible = false; this.colCheck.Width = 28; // // colProdIndex @@ -870,7 +1024,7 @@ namespace TemuKJD.KJDForms.ProductForms this.colProdName.HeaderText = "标题"; this.colProdName.Name = "colProdName"; this.colProdName.ReadOnly = true; - this.colProdName.Width = 140; + this.colProdName.Width = 120; // // colSkuName // @@ -879,7 +1033,7 @@ namespace TemuKJD.KJDForms.ProductForms this.colSkuName.HeaderText = "规格名称"; this.colSkuName.Name = "colSkuName"; this.colSkuName.ReadOnly = true; - this.colSkuName.Width = 90; + this.colSkuName.Width = 120; // // colExtCode // @@ -888,8 +1042,17 @@ namespace TemuKJD.KJDForms.ProductForms this.colExtCode.HeaderText = "货号"; this.colExtCode.Name = "colExtCode"; this.colExtCode.ReadOnly = true; + this.colExtCode.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colExtCode.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colExtCode.Width = 120; // + // colExtCodePrice + // + this.colExtCodePrice.HeaderText = "货号进价"; + this.colExtCodePrice.Name = "colExtCodePrice"; + this.colExtCodePrice.ReadOnly = true; + this.colExtCodePrice.Width = 65; + // // colPrcie // this.colPrcie.HeaderText = "申报价"; @@ -906,6 +1069,15 @@ namespace TemuKJD.KJDForms.ProductForms this.colCreatTime.ReadOnly = true; this.colCreatTime.Width = 65; // + // colChangePrice + // + this.colChangePrice.HeaderText = "调价"; + this.colChangePrice.Name = "colChangePrice"; + this.colChangePrice.ReadOnly = true; + this.colChangePrice.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colChangePrice.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colChangePrice.Width = 38; + // // colCompliance // dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True; @@ -915,6 +1087,37 @@ namespace TemuKJD.KJDForms.ProductForms this.colCompliance.ReadOnly = true; this.colCompliance.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colCompliance.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colCompliance.Width = 65; + // + // colRealPicture + // + this.colRealPicture.HeaderText = "实拍图"; + this.colRealPicture.Name = "colRealPicture"; + this.colRealPicture.ReadOnly = true; + this.colRealPicture.Width = 60; + // + // colJit + // + this.colJit.HeaderText = "Jit"; + this.colJit.Name = "colJit"; + this.colJit.ReadOnly = true; + this.colJit.Width = 60; + // + // colStock + // + this.colStock.HeaderText = "修改库存"; + this.colStock.Name = "colStock"; + this.colStock.ReadOnly = true; + this.colStock.Width = 65; + // + // colRecevieArea + // + dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colRecevieArea.DefaultCellStyle = dataGridViewCellStyle11; + this.colRecevieArea.HeaderText = "期望到货"; + this.colRecevieArea.Name = "colRecevieArea"; + this.colRecevieArea.ReadOnly = true; + this.colRecevieArea.Width = 65; // // colMsg // @@ -923,10 +1126,106 @@ namespace TemuKJD.KJDForms.ProductForms this.colMsg.ReadOnly = true; this.colMsg.Width = 160; // + // splitContainer4 + // + this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer4.Location = new System.Drawing.Point(0, 0); + this.splitContainer4.Name = "splitContainer4"; + // + // splitContainer4.Panel1 + // + this.splitContainer4.Panel1.Controls.Add(this.ucSplitPage1); + // + // splitContainer4.Panel2 + // + this.splitContainer4.Panel2.Controls.Add(this.panelEx1); + this.splitContainer4.Panel2.Controls.Add(this.btnClear); + this.splitContainer4.Panel2.Controls.Add(this.statusBar); + this.splitContainer4.Size = new System.Drawing.Size(1496, 26); + this.splitContainer4.SplitterDistance = 282; + this.splitContainer4.TabIndex = 3; + // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Left; + this.ucSplitPage1.IsShowPageSize = false; + this.ucSplitPage1.Location = new System.Drawing.Point(0, 0); + this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); + this.ucSplitPage1.Name = "ucSplitPage1"; + this.ucSplitPage1.PageSize = 50; + this.ucSplitPage1.Size = new System.Drawing.Size(282, 26); + this.ucSplitPage1.TabIndex = 5; + this.ucSplitPage1.TotalPage = 1; + this.ucSplitPage1.PageChange += new System.Action(this.ucSplitPage1_PageChange); + // + // panelEx1 + // + this.panelEx1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control; + this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty; + this.panelEx1.Location = new System.Drawing.Point(1091, 0); + this.panelEx1.Name = "panelEx1"; + this.panelEx1.Size = new System.Drawing.Size(115, 21); + this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelEx1.Style.GradientAngle = 90; + this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.panelEx1.TabIndex = 668; + this.panelEx1.Text = "停止当前操作"; + this.panelEx1.Visible = false; + // + // btnClear + // + this.btnClear.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnClear.DisabledBackColor = System.Drawing.Color.Empty; + this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnClear.Location = new System.Drawing.Point(997, 0); + this.btnClear.Name = "btnClear"; + this.btnClear.Size = new System.Drawing.Size(90, 21); + this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnClear.Style.GradientAngle = 90; + this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnClear.TabIndex = 440; + this.btnClear.Text = "清空结果"; + this.btnClear.Visible = false; + // + // statusBar + // + this.statusBar.BackColor = System.Drawing.Color.White; + this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill; + this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.statusBar.Location = new System.Drawing.Point(0, 0); + this.statusBar.Margin = new System.Windows.Forms.Padding(0); + this.statusBar.Name = "statusBar"; + this.statusBar.Size = new System.Drawing.Size(1210, 26); + this.statusBar.TabIndex = 2; + // // TemuJitForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(1350, 611); + this.ClientSize = new System.Drawing.Size(1496, 611); this.Controls.Add(this.splitContainer1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.Name = "TemuJitForm"; @@ -939,6 +1238,7 @@ namespace TemuKJD.KJDForms.ProductForms this.splitContainer1.ResumeLayout(false); this.ucGroupBoxEx1.ResumeLayout(false); this.ucGroupBoxEx1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbRealPicture)).EndInit(); this.splitContainer3.Panel1.ResumeLayout(false); this.splitContainer3.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); @@ -953,7 +1253,7 @@ namespace TemuKJD.KJDForms.ProductForms this.pnlSpecDetail.ResumeLayout(false); this.pnlSpecDetail.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.dgvPriceCheck)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvOpenJit)).EndInit(); this.splitContainer4.Panel1.ResumeLayout(false); this.splitContainer4.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).EndInit(); @@ -992,7 +1292,7 @@ namespace TemuKJD.KJDForms.ProductForms private System.Windows.Forms.PictureBox pbLoading; private DevComponents.DotNetBar.PanelEx panelEx1; private DevComponents.DotNetBar.PanelEx btnClear; - private UserComponent.DataGridViewEx dgvPriceCheck; + private UserComponent.DataGridViewEx dgvOpenJit; private System.Windows.Forms.SplitContainer splitContainer4; private UserControls.UcSplitPage ucSplitPage1; private UserControls.StatusBarUserControl statusBar; @@ -1003,12 +1303,13 @@ namespace TemuKJD.KJDForms.ProductForms private System.Windows.Forms.DateTimePicker dtpEndTime; private System.Windows.Forms.DateTimePicker dtpStartTime; private DevComponents.DotNetBar.PanelEx btnStop; - private DevComponents.DotNetBar.PanelEx btnSearchPrice2; + private DevComponents.DotNetBar.PanelEx btnSearch2; private System.Windows.Forms.TextBox txtSpuId; private System.Windows.Forms.Label label7; private System.Windows.Forms.Panel pnlSpecDetail; private System.Windows.Forms.TextBox textBox1; private DevComponents.DotNetBar.PanelEx btnClose; + private DevComponents.DotNetBar.PanelEx btnSearch1; private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck; private System.Windows.Forms.DataGridViewTextBoxColumn colProdIndex; private System.Windows.Forms.DataGridViewTextBoxColumn colOrderId; @@ -1020,10 +1321,33 @@ namespace TemuKJD.KJDForms.ProductForms private System.Windows.Forms.DataGridViewLinkColumn colProdSkc; private System.Windows.Forms.DataGridViewTextBoxColumn colProdName; private System.Windows.Forms.DataGridViewTextBoxColumn colSkuName; - private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode; + private System.Windows.Forms.DataGridViewLinkColumn colExtCode; + private System.Windows.Forms.DataGridViewTextBoxColumn colExtCodePrice; private System.Windows.Forms.DataGridViewTextBoxColumn colPrcie; private System.Windows.Forms.DataGridViewTextBoxColumn colCreatTime; + private System.Windows.Forms.DataGridViewLinkColumn colChangePrice; private System.Windows.Forms.DataGridViewLinkColumn colCompliance; + private System.Windows.Forms.DataGridViewLinkColumn colRealPicture; + private System.Windows.Forms.DataGridViewLinkColumn colJit; + private System.Windows.Forms.DataGridViewLinkColumn colStock; + private System.Windows.Forms.DataGridViewLinkColumn colRecevieArea; private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; + private System.Windows.Forms.TextBox txtBatchExtCode; + private System.Windows.Forms.TextBox txtBatchPriceMax; + private System.Windows.Forms.TextBox txtBatchPriceMin; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox txtBatchIdentifyCode; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.PictureBox pbRealPicture; + private System.Windows.Forms.Label label9; + private DevComponents.DotNetBar.PanelEx btnBatchJit; + private System.Windows.Forms.RadioButton rbYiwu; + private System.Windows.Forms.RadioButton rbGuangdong; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.TextBox txtBatchStock; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Label label13; + private DevComponents.DotNetBar.PanelEx btnAddRealPic; } } \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitForm.cs b/TEMUKJD/KJDForms/ProductForms/TemuJitForm.cs index fa2bea4..fcc47bb 100644 --- a/TEMUKJD/KJDForms/ProductForms/TemuJitForm.cs +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitForm.cs @@ -1,4 +1,5 @@ using AllBase; +using AllBase.Helper; using AllBase.Model.Result; using NaiBa.Util.Extension; using Newtonsoft.Json.Linq; @@ -7,6 +8,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; +using System.IO; using System.Linq; using System.Text; using System.Threading; @@ -23,9 +25,9 @@ using Work; namespace TemuKJD.KJDForms.ProductForms { - public partial class TemuJitForm : Form + public partial class TemuJitForm : BaseForm { - SetJitConfig setJitConfig = null; + public bool IsAdmin = false; public CancellationTokenSource cancellationTokenSource { get; set; } = null; public List lstAdminShopInfo { get; set; } = new List(); /// @@ -36,6 +38,19 @@ namespace TemuKJD.KJDForms.ProductForms /// 商品合规信息列表 /// public List lstComplianceInfo = new List(); + /// + /// 实拍图 + /// + public List lstRealPictureInfo = new List(); + /// + /// 商品信息(含虚拟库存)列表 + /// + public List lstProductInfo = new List(); + /// + /// 期望到货区域列表 + /// + public List lstReceiveArea = new List(); + SetJitConfig setJitConfig = null; public TemuJitForm() { @@ -44,16 +59,25 @@ namespace TemuKJD.KJDForms.ProductForms private void TemuJitForm_Load(object sender, EventArgs e) { + if (IsAdmin) + ucSplitPage1.Visible = true; + else + ucSplitPage1.Visible = false; + this.dgvShop.AddSelectorColumn("colSelect"); - this.dgvPriceCheck.AddSelectorColumn("colCheck"); - this.dgvPriceCheck.AddImgColumn("colProductSkcPic", "colImgUrl"); + this.dgvOpenJit.AddSelectorColumn("colCheck"); + this.dgvOpenJit.AddImgColumn("colProductSkcPic", "colImgUrl"); this.dtpEndTime.Value = DateTime.Now.Date.AddDays(1).AddMilliseconds(-1); this.dtpStartTime.Value = DateTime.Now.Date.AddDays(-7); - setJitConfig = NaiBa.Util.Helper.ConfigHelper.LoadConfig("set_jit_config"); + if (IsAdmin) + setJitConfig = NaiBa.Util.Helper.ConfigHelper.LoadConfig("admin_set_jit_config"); + else + setJitConfig = NaiBa.Util.Helper.ConfigHelper.LoadConfig("set_jit_config"); + if (setJitConfig == null) - setJitConfig = new SetJitConfig(); + setJitConfig = new SetJitConfig(); this.txtNotes.Text = setJitConfig.SearchNotes; this.txtShopId.Text = setJitConfig.SearchShopId; this.txtShopName.Text = setJitConfig.SearchShopName; @@ -84,26 +108,115 @@ namespace TemuKJD.KJDForms.ProductForms setJitConfig.SearchExtCode = this.txtExtCode.Text.Trim(); setJitConfig.SearchDuration = this.chkSearchTime.Checked; - NaiBa.Util.Helper.ConfigHelper.SaveConfig("set_jit_config", setJitConfig); + if (IsAdmin) + NaiBa.Util.Helper.ConfigHelper.SaveConfig("admin_set_jit_config", setJitConfig); + else + NaiBa.Util.Helper.ConfigHelper.SaveConfig("set_jit_config", setJitConfig); } private void TemuJitForm_VisibleChanged(object sender, EventArgs e) { if (this.Visible) { - this.pbShopLoading.Visible = true; - SearchShop(this.ucSplitPage1.CurrentPage); + if (IsAdmin) + { + this.pbShopLoading.Visible = true; + SearchShop(this.ucSplitPage1.CurrentPage); + } + else + { + RefreshShop(); + } } } private void btnRefreshShop_Click(object sender, EventArgs e) { - - if (this.ucSplitPage1.CurrentPage != 1) - this.ucSplitPage1.CurrentPage = 1; + if (IsAdmin) + { + if (this.ucSplitPage1.CurrentPage != 1) + this.ucSplitPage1.CurrentPage = 1; + else + SearchShop(1); + } else - SearchShop(1); + { + RefreshShop(); + } } + + private void RefreshShop() + { + // 店铺Id + var selectIds = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + + var shopLst = GlobalConfig.ShopLoginList.ToList(); + if (!string.IsNullOrWhiteSpace(txtShopId.Text)) + { + shopLst = shopLst.Where(s => txtShopId.Text.Contains(s.ShopId)).ToList(); + } + if (!string.IsNullOrWhiteSpace(txtShopName.Text)) + { + shopLst = shopLst.Where(s => txtShopName.Text.Contains(s.ShopAccount)).ToList(); + } + if (!string.IsNullOrWhiteSpace(txtNotes.Text)) + { + shopLst = shopLst.Where(s => txtNotes.Text.Contains(s.Notes)).ToList(); + } + + // 获取被删除的店铺 + List dgvRowList = dgvShop.Rows.Cast().Where(row + => !shopLst.Any(s => s.ShopId == row.Cells["colShopId"]?.Value?.ToString())).ToList(); + // 更新被删除的店铺列表 + foreach (var row in dgvRowList) + { + dgvShop.Rows.Remove(row); + } + // 绑定其他店铺(含新导入的店铺) + foreach (ShopLoginInfo shopEntity in shopLst) + { + if (!string.IsNullOrEmpty(shopEntity.ShopId)) + BindShop(shopEntity, selectIds); + } + } + + private void BindShop(ShopLoginInfo shopEntity, List selectShopId = null) + { + if (shopEntity == null) + return; + if (selectShopId == null) + selectShopId = new List(); + + bool canUse = shopEntity.LoginStatus2 == "国际版在线"; + var row = dgvShop.Rows.Cast().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId); + if (row == null) + { + int id = this.dgvShop.Rows.Add( + selectShopId.Contains(shopEntity.ShopId) && canUse, + shopEntity.UserName, + shopEntity.LoginName, + shopEntity.ShopId, + shopEntity.ShopAccount, + shopEntity.Notes, + canUse ? "在线" : "掉线", + canUse, + string.Empty + ); + displayShopStatus(shopEntity); + } + else + { + row.Cells["colSelect"].Value = selectShopId.Contains(shopEntity.ShopId) && canUse; + row.Cells["colLoginName"].Value = shopEntity.LoginName; + row.Cells["colShopName"].Value = shopEntity.ShopAccount; + row.Cells["colShopNotes"].Value = shopEntity.Notes; + row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线"; + displayShopStatus(shopEntity); + } + } + + private void ucSplitPage1_PageChange(object obj) { SearchShop(this.ucSplitPage1.CurrentPage); @@ -114,26 +227,22 @@ namespace TemuKJD.KJDForms.ProductForms txtNotes.Text = txtShopId.Text = txtShopName.Text = ""; } + /// + /// 管理员查询店铺列表 + /// + /// public void SearchShop(int page) { List userShopIdList = dgvShop.Rows.Cast() .Where(r => r.Cells["colSelect"].Value.ParseToBool()) .Select(r => r.Cells["colShopId"].Value.ParseToString() + r.Cells["colUser"].Value.ParseToString()).ToList(); - if (InvokeRequired) - { - Invoke(new Action(() => - { - this.pbShopLoading.Visible = true; - this.dgvShop.Rows.Clear(); - lstAdminShopInfo.Clear(); - })); - } - else + + Invoke(new Action(() => { this.pbShopLoading.Visible = true; this.dgvShop.Rows.Clear(); lstAdminShopInfo.Clear(); - } + })); Task.Run(() => { int pageCount; @@ -224,28 +333,55 @@ namespace TemuKJD.KJDForms.ProductForms string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText; string loginName = dgvShop.Rows[e.RowIndex].Cells["colLoginName"].Value.ParseToString(); string accountId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString(); - var shop = lstAdminShopInfo.FirstOrDefault(v => v.LoginName == loginName && v.ShopId == accountId); + ShopLoginInfo shop = null; + if (IsAdmin) + shop = lstAdminShopInfo.FirstOrDefault(v => v.LoginName == loginName && v.ShopId == accountId); + else + shop = GlobalConfig.ShopLoginList.FirstOrDefault(v => v.LoginName == loginName && v.ShopId == accountId); + switch (headerText) { case "登录": case "状态": { - AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); - if (shop.LoginStatus2 == "国际版在线") + if (IsAdmin) { - AdminShopLoginForm adminLoginForm = new AdminShopLoginForm(shop); - adminLoginForm.openType = EnumOpenType.manage; - adminLoginForm.WindowState = FormWindowState.Maximized; - adminLoginForm.InitUrl = "https://agentseller.temu.com"; - adminLoginForm.Show(); + AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus2 == "国际版在线") + { + AdminShopLoginForm adminLoginForm = new AdminShopLoginForm(shop); + adminLoginForm.openType = EnumOpenType.manage; + adminLoginForm.WindowState = FormWindowState.Maximized; + adminLoginForm.InitUrl = "https://agentseller.temu.com"; + adminLoginForm.Show(); + } + else + { + AdminShopLoginForm shopLoginForm = new AdminShopLoginForm(shop); + shopLoginForm.openType = EnumOpenType.login; + shopLoginForm.SaveComplete += shopLoginForm_SaveComplete; + shopLoginForm.ShowDialog(); + } } else { - AdminShopLoginForm shopLoginForm = new AdminShopLoginForm(shop); - shopLoginForm.openType = EnumOpenType.login; - shopLoginForm.SaveComplete += shopLoginForm_SaveComplete; - shopLoginForm.ShowDialog(); + ShopListForm.Instance.CheckShopLogin(new string[] { shop.ShopAccount }, false); + if (shop.LoginStatus2 == "国际版在线") + { + ShopLoginForm adminLoginForm = new ShopLoginForm(shop); + adminLoginForm.openType = EnumOpenType.manage; + adminLoginForm.WindowState = FormWindowState.Maximized; + adminLoginForm.InitUrl = "https://agentseller.temu.com"; + adminLoginForm.Show(); + } + else + { + ShopLoginForm shopLoginForm = new ShopLoginForm(shop); + shopLoginForm.openType = EnumOpenType.login; + shopLoginForm.SaveComplete += shopLoginForm_SaveComplete; + shopLoginForm.ShowDialog(); + } } } break; @@ -263,7 +399,11 @@ namespace TemuKJD.KJDForms.ProductForms displayShopStatus(shop); } - private void btnSearchPrice2_Click(object sender, EventArgs e) + private void btnSearch1_Click(object sender, EventArgs e) + { + SearchPrice("已发布到站点"); + } + private void btnSearch2_Click(object sender, EventArgs e) { SearchPrice("待创建首单"); } @@ -272,8 +412,7 @@ namespace TemuKJD.KJDForms.ProductForms { var selectShopIdLst = this.dgvShop.Rows.Cast().Where(r => r.Cells["colSelect"].Value.ParseToBool() == true) .Select(r => r.Cells["colShopId"].Value.ParseToString()).Distinct().ToList(); - var shops = this.lstAdminShopInfo.Where(s => selectShopIdLst.Contains(s.ShopId)).ToList(); - if (shops.Count == 0) + if (selectShopIdLst.Count == 0) { BaseMsgForm.ShowError("没有选择店铺!"); return; @@ -287,9 +426,12 @@ namespace TemuKJD.KJDForms.ProductForms } } - this.dgvPriceCheck.Rows.Clear(); + this.dgvOpenJit.Rows.Clear(); this.lstChainProdInfo.Clear(); this.lstComplianceInfo.Clear(); + this.lstRealPictureInfo.Clear(); + this.lstProductInfo.Clear(); + this.lstReceiveArea.Clear(); this.pbLoading.Visible = true; cancellationTokenSource = new CancellationTokenSource(); Task.Run(() => @@ -299,11 +441,20 @@ namespace TemuKJD.KJDForms.ProductForms foreach (var shopId in selectShopIdLst) { shopIndex++; - var shop = this.lstAdminShopInfo.Where(s => shopId == s.ShopId).ToList().FirstOrDefault(); + ShopLoginInfo shop = null; + if (IsAdmin) + shop = lstAdminShopInfo.FirstOrDefault(s => shopId == s.ShopId); + else + shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => shopId == s.ShopId); if (shop == null) continue; - AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + // 检测是否掉线 + if (IsAdmin) + AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + else + ShopListForm.Instance.CheckShopLogin(new string[] { shop.ShopAccount }, false); + if (shop.LoginStatus2 != "国际版在线") { Invoke(new Action(() => @@ -314,6 +465,7 @@ namespace TemuKJD.KJDForms.ProductForms int page = 0; int totalPage = 1; int prodIndex = 0; + int pageSize = 50; while (page < totalPage) { if (cancellationTokenSource.IsCancellationRequested) @@ -327,10 +479,13 @@ namespace TemuKJD.KJDForms.ProductForms } string searchSpuIds = txtSpuId.Text.Trim().Trim(','); string searchExtCodes = txtExtCode.Text.Trim().Trim(','); - var searchRst = this.SearchForChainSupplier(shop, page, 50, "", searchSpuIds, searchExtCodes, type, startTime, endTime); + var searchRst = this.SearchForChainSupplier(shop, page, pageSize, null, searchSpuIds, searchExtCodes, type, startTime, endTime); if (searchRst.Contains("登录过期") || searchRst.Contains("Invalid Login State")) { - AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (IsAdmin) + AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + else + ShopListForm.Instance.CheckShopLogin(new string[] { shop.ShopAccount }, false); Invoke(new Action(() => { displayShopStatus(shop); @@ -341,7 +496,7 @@ namespace TemuKJD.KJDForms.ProductForms try { int total = BaseRegex.GetStringJson(ref searchRst, "total").ParseToInt(); - totalPage = Math.Ceiling(total / 100.0).ParseToInt(); + totalPage = Math.Ceiling(total * 1.0 / pageSize).ParseToInt(); var jObj = JObject.Parse(searchRst); var jArr = jObj["result"]["dataList"] as JArray; @@ -349,29 +504,43 @@ namespace TemuKJD.KJDForms.ProductForms jArr = new JArray(); List extCodeLst = new List(); - List checkPriceInfoTmpLst = new List(); + List chainProductTmpLst = new List(); foreach (var item in jArr) { var jStr = JsonHelper.SerializeObject(item); - TemuForChainProductInfo priceInfo = JsonHelper.DeserializeJsonToObject(jStr); - lstChainProdInfo.Add(priceInfo); - checkPriceInfoTmpLst.Add(priceInfo); - extCodeLst.Add(priceInfo.skcList.FirstOrDefault()?.extCode); + TemuForChainProductInfo chainProdInfo = JsonHelper.DeserializeJsonToObject(jStr); + lstChainProdInfo.Add(chainProdInfo); + chainProductTmpLst.Add(chainProdInfo); + extCodeLst.Add(chainProdInfo.skcList.FirstOrDefault()?.extCode); } - // 查询合规信息 - var spuIds = ""; - foreach (var priceInfo in checkPriceInfoTmpLst) + // 查询货号原售价 + List extCodePriceList = new List(); + try { - spuIds += priceInfo.productId + ","; + extCodePriceList = AdminProductPriceCheckForm.GetServerExtCodePriceLst(extCodeLst.Distinct().ToList()); + } + catch (Exception ex) + { + BaseMsgForm.ShowError("获取货号价格失败 " + ex.Message); + } + + // 查询合规信息,实拍图等 + var spuIds = ""; + foreach (var chainProdInfo in chainProductTmpLst) + { + spuIds += chainProdInfo.productId + ","; } spuIds = "\"" + spuIds.Trim(',').Replace(",", "\",\"") + "\""; List complianceInfoTmpLst = null; - string sErrMsg = ""; + string sComplianceErrMsg = ""; + List realPictureInfoTmpLst = null; + string sRealPictureErrMsg = ""; + List productInfoLst = new List(); // 包含虚拟库存信息的商品列表 if (spuIds.Length > 2) { - Thread.Sleep(Randomx.GetId(50, 100)); - var queryComplianceRst = this.QueryComplianceInfoList(shop, 50, spuIds); + Thread.Sleep(Randomx.GetId(25, 75)); + var queryComplianceRst = this.QueryComplianceInfoList(shop, pageSize, spuIds); queryComplianceRst = GetHtml.Unicode2String(queryComplianceRst); if (queryComplianceRst.Contains("\"success\":true")) { @@ -383,16 +552,81 @@ namespace TemuKJD.KJDForms.ProductForms } else { - sErrMsg = BaseRegex.GetStringJson(ref queryComplianceRst, "errorMsg").ParseToString(); - if (string.IsNullOrEmpty(sErrMsg)) - sErrMsg = BaseRegex.GetStringJson(ref queryComplianceRst, "error_msg").ParseToString(); - if (string.IsNullOrEmpty(sErrMsg)) - sErrMsg = queryComplianceRst; + sComplianceErrMsg = BaseRegex.GetStringJson(ref queryComplianceRst, "errorMsg").ParseToString(); + if (string.IsNullOrEmpty(sComplianceErrMsg)) + sComplianceErrMsg = BaseRegex.GetStringJson(ref queryComplianceRst, "error_msg").ParseToString(); + if (string.IsNullOrEmpty(sComplianceErrMsg)) + sComplianceErrMsg = queryComplianceRst; + } + + // 实拍图 + Thread.Sleep(Randomx.GetId(25, 75)); + var queryRealPictureRst = this.QueryRealPictureList(shop, pageSize, spuIds); + queryRealPictureRst = GetHtml.Unicode2String(queryRealPictureRst); + if (queryRealPictureRst.Contains("\"success\":true")) + { + JObject complianceRstObj = JObject.Parse(queryRealPictureRst); + + string sData = JsonHelper.SerializeObject(complianceRstObj["result"]["items"]); + realPictureInfoTmpLst = JsonHelper.DeserializeJsonToList(sData); + lstRealPictureInfo.AddRange(realPictureInfoTmpLst); + } + else + { + sRealPictureErrMsg = BaseRegex.GetStringJson(ref queryRealPictureRst, "errorMsg").ParseToString(); + if (string.IsNullOrEmpty(sRealPictureErrMsg)) + sRealPictureErrMsg = BaseRegex.GetStringJson(ref queryRealPictureRst, "error_msg").ParseToString(); + if (string.IsNullOrEmpty(sRealPictureErrMsg)) + sRealPictureErrMsg = queryRealPictureRst; + } + + // 获取库存 + Thread.Sleep(Randomx.GetId(25, 75)); + string jsonStr = GetProductList(shop, 1, spuIds); + if (jsonStr.Contains("\"success\":true")) + { + jArr = JObject.Parse(jsonStr)["result"]?["pageItems"] as JArray; + if (jArr == null) + jArr = new JArray(); + + productInfoLst = JsonHelper.DeserializeJsonToList(jArr.ToString()); + lstProductInfo.AddRange(productInfoLst); + } + else + { + var err = BaseRegex.GetStringJson(ref jsonStr, "errorMsg").ParseToString(); + if (string.IsNullOrEmpty(err)) + err = BaseRegex.GetStringJson(ref jsonStr, "error_msg").ParseToString(); + if (string.IsNullOrEmpty(err)) + err = jsonStr; + BaseMsgForm.ShowError(err); + } + + // 获取到货地 GetProductReceiveAreaList + Thread.Sleep(Randomx.GetId(25, 75)); + string getProductReceiveAreaRst = GetProductReceiveAreaList(shop, 1, spuIds); + if (getProductReceiveAreaRst.Contains("\"success\":true")) + { + jArr = JObject.Parse(getProductReceiveAreaRst)["result"]?["items"] as JArray; + if (jArr == null) + jArr = new JArray(); + + var receiveAreaLst = JsonHelper.DeserializeJsonToList(jArr.ToString()); + lstReceiveArea.AddRange(receiveAreaLst); + } + else + { + var err = BaseRegex.GetStringJson(ref getProductReceiveAreaRst, "errorMsg").ParseToString(); + if (string.IsNullOrEmpty(err)) + err = BaseRegex.GetStringJson(ref getProductReceiveAreaRst, "error_msg").ParseToString(); + if (string.IsNullOrEmpty(err)) + err = getProductReceiveAreaRst; + BaseMsgForm.ShowError(err); } } int num = 0; - foreach (var priceInfo in checkPriceInfoTmpLst) + foreach (var chainProdInfo in chainProductTmpLst) { num++; if (cancellationTokenSource.IsCancellationRequested) @@ -400,17 +634,15 @@ namespace TemuKJD.KJDForms.ProductForms prodIndex++; totalProdIndex++; - Invoke(new Action(() => { + Invoke(new Action(() => + { this.statusBar.lblTaskStatus.Text = "正在查询" + type + ",店铺:" + shop.ShopAccount + " " + prodIndex + "/" + total + " 件商品"; this.statusBar.pgbTaskProgress.Maximum = selectShopIdLst.Count; this.statusBar.UpdateProgressBar(shopIndex); })); - string imgUrl = priceInfo.skcList.FirstOrDefault()?.previewImgUrlList.FirstOrDefault(); - if (imgUrl == null) - imgUrl = ""; - imgUrl = imgUrl.Replace("https://", "http://").Replace("img.kwcdn.com", "img.cdnfe.com") + "?imageMogr2/thumbnail/60x"; - foreach (var reviewInfo in priceInfo.skcList.FirstOrDefault().supplierPriceReviewInfoList) + string skuNames = ""; + foreach (var reviewInfo in chainProdInfo.skcList.FirstOrDefault().supplierPriceReviewInfoList) { if (cancellationTokenSource.IsCancellationRequested) break; @@ -418,7 +650,9 @@ namespace TemuKJD.KJDForms.ProductForms if (reviewInfo.status == 3) //放弃调整报价,报价显示已作废 continue; - string skuName = ""; + var product = productInfoLst.FirstOrDefault(p => p.productId == chainProdInfo.productId); + + // sku组合 + 单价 + 库存 var prodSkuList = reviewInfo.productSkuList; if (prodSkuList != null) { @@ -426,56 +660,85 @@ namespace TemuKJD.KJDForms.ProductForms { foreach (var prop in sku.productPropertyList) { - skuName += prop.value + ","; + skuNames += prop.value + ","; } - skuName = skuName.TrimEnd(',') + ";"; - skuName += "\r\n"; + skuNames = skuNames.TrimEnd(',') + ";"; + skuNames += "价格:" + reviewInfo.productSkuList.FirstOrDefault()?.supplierPrice + ";"; + var skuWithVirtualStock = product.productSkuSummaries.FirstOrDefault(s => s.productSkuId == sku.skuId); + skuNames += "库存:" + (skuWithVirtualStock.virtualStock == null ? "-" : skuWithVirtualStock.virtualStock.ParseToString()); + skuNames += "\r\n"; } } - var reviewExtCode = priceInfo.skcList.FirstOrDefault()?.extCode; - Thread.Sleep(Randomx.GetId(20, 50)); - - var complianceStr = sErrMsg; - if (sErrMsg.IsNullOrEmpty()) - { - var complianceInfo = complianceInfoTmpLst.FirstOrDefault(c => c.spu_id == priceInfo.productId); - if (complianceInfo == null) - complianceInfo = new complianceInfo(); - var complianceTaskNames = complianceInfo.wait_task_show_dtolist.Where(ta => ta.status == 2) - .Where(t => t.wait_task_dtolist.Any(ta => ta.task_name == "欧盟负责人" || - ta.task_name == "制造商信息" || ta.is_not_required == false)) - .Select(t => t.show_name).ToList(); - complianceStr = string.Join("\r\n", complianceTaskNames); - } - Invoke(new Action(() => - { - int rowId = this.dgvPriceCheck.Rows.Add( - false, - totalProdIndex, - reviewInfo.priceOrderId, - priceInfo.supplierId, - priceInfo.supplierName, - imgUrl, - DataGridViewExtension.defaultBitmap, - priceInfo.productId, - priceInfo.skcList.FirstOrDefault()?.skcId, - priceInfo.productName, - skuName, - reviewExtCode, - //"-", //货号价格,jit不需要 - // sku不同价的会被分成多个review,priceInfo此时为价格范围 - reviewInfo.productSkuList.FirstOrDefault()?.supplierPrice, //priceInfo.supplierPrice - BaseClass.StampToDateTime((priceInfo.skcList.FirstOrDefault()?.statusTime.createdTime.ParseToLong() / 1000).ParseToInt()).ToString("yy/MM/dd HH:mm:ss"), - complianceStr.IsNullOrEmpty() ? "已填写" : complianceStr, - "" - ); - dgvPriceCheck.Rows[rowId].Height = 60; - if (num % 2 == 1) - dgvPriceCheck.Rows[rowId].DefaultCellStyle.BackColor = Color.White; - else - dgvPriceCheck.Rows[rowId].DefaultCellStyle.BackColor = Color.WhiteSmoke; - })); } + + // 产品货号与货号价格 + var reviewExtCode = chainProdInfo.skcList.FirstOrDefault()?.extCode; + var extCodePrice = extCodePriceList.FirstOrDefault(p => reviewExtCode == p.ext_code); + + // 合规信息 + var complianceStr = sComplianceErrMsg; + if (sComplianceErrMsg.IsNullOrEmpty()) + { + var complianceInfo = complianceInfoTmpLst.FirstOrDefault(c => c.spu_id == chainProdInfo.productId); + if (complianceInfo == null) + complianceInfo = new complianceInfo(); + var complianceTaskNames = complianceInfo.wait_task_show_dtolist.Where(ta => ta.status == 2) + .Where(t => t.wait_task_dtolist.Any(ta => ta.task_name == "欧盟负责人" || + ta.task_name == "制造商信息" || ta.is_not_required == false)) + .Select(t => t.show_name).ToList(); + complianceStr = string.Join("\r\n", complianceTaskNames); + } + + // 实拍图 + var realPictureStr = sRealPictureErrMsg; + if (sRealPictureErrMsg.IsNullOrEmpty()) + { + var realPicInfo = realPictureInfoTmpLst.FirstOrDefault(c => c.spu_id == chainProdInfo.productId); + if (realPicInfo == null || realPicInfo.rule_check_result_list?.FirstOrDefault(p => p.check_type == 494) == null) + { + realPictureStr = "实拍图查询失败"; + } + else + { + if (realPicInfo.rule_check_result_list.FirstOrDefault(p => p.check_type == 494).rule_status != 2) + realPictureStr += realPicInfo.rule_check_result_list.FirstOrDefault(p => p.check_type == 494).rule_name + "\r\n"; + } + } + + // 期望到货区域 + var receiveAreaInfo = lstReceiveArea.FirstOrDefault(r => r.productId == chainProdInfo.productId); + Invoke(new Action(() => + { + int rowId = this.dgvOpenJit.Rows.Add( + false, + totalProdIndex, + "", // reviewInfo.priceOrderId, // 同价格单号 + chainProdInfo.supplierId, + chainProdInfo.supplierName, + chainProdInfo.skcList.FirstOrDefault()?.previewImgUrlList?.FirstOrDefault().ParseToString().Replace("https://", "http://").Replace("img.kwcdn.com", "img.cdnfe.com") + "?imageMogr2/thumbnail/60x", // 图片地址 + DataGridViewExtension.defaultBitmap, // 展示图片 + chainProdInfo.productId, + chainProdInfo.skcList.FirstOrDefault()?.skcId, + chainProdInfo.productName, + skuNames, + reviewExtCode, + extCodePrice == null ? "-" : (extCodePrice.original_price / 100.0).ParseToString(), //货号价格 + chainProdInfo.supplierPrice, // 申报价格范围 //reviewInfo.productSkuList.FirstOrDefault()?.supplierPrice, // 同价格单号申报价格 + BaseClass.StampToDateTime((chainProdInfo.skcList.FirstOrDefault()?.statusTime.createdTime.ParseToLong() / 1000).ParseToInt()).ToString("yy/MM/dd HH:mm:ss"), // 创建时间 + "调价", + complianceStr.IsNullOrEmpty() ? "已填写" : complianceStr, // 合规信息 + realPictureStr.IsNullOrEmpty() ? "已上传" : realPictureStr, // 实拍图 + chainProdInfo.skcList.FirstOrDefault()?.applyJitStatus == 1 ? "开通JIT" : "已开通", + "修改库存", // 库存 具体数值在skuNames里显示 + receiveAreaInfo?.expectReceiveAreaConfigDesc, // 期望到货区域 + "" + ); + dgvOpenJit.Rows[rowId].Height = 60; + if (num % 2 == 1) + dgvOpenJit.Rows[rowId].DefaultCellStyle.BackColor = Color.White; + else + dgvOpenJit.Rows[rowId].DefaultCellStyle.BackColor = Color.WhiteSmoke; + })); } } catch (Exception ex) @@ -487,7 +750,8 @@ namespace TemuKJD.KJDForms.ProductForms } } - Invoke(new Action(() => { + Invoke(new Action(() => + { this.pbLoading.Visible = false; string sRst = type + " 查询结束!"; if (cancellationTokenSource.IsCancellationRequested) @@ -513,6 +777,8 @@ namespace TemuKJD.KJDForms.ProductForms body += "\"priceReviewStatusList\":[1],\"secondarySelectStatusList\":[7],"; else if (type == "待创建首单") body += "\"secondarySelectStatusList\":[10],"; + else if (type == "已发布到站点") + body += "\"secondarySelectStatusList\":[12],\"supplierTodoTypeList\":[],"; body += "\"supplierTodoTypeList\":[],"; if (!string.IsNullOrEmpty(prodSkcIds)) body += "\"productSkcIdList\":[" + prodSpuIds + "],"; @@ -535,28 +801,161 @@ namespace TemuKJD.KJDForms.ProductForms return HttpResponseBLL.PostResponse2(shop, url, body, referer); } - private void dgvPriceCheck_CellContentClick(object sender, DataGridViewCellEventArgs e) + /// + /// 根据商品id查询实拍图列表 + /// + /// + /// + /// + /// + private string QueryRealPictureList(ShopLoginInfo shop, int pageSize = 50, string prodSpuIds = null) + { + string url = "https://agentseller.temu.com/api/flash/real_picture/list"; + string body = ""; + body = @"{""page"":1,""page_size"":" + pageSize + @",""spu_id_list"":[" + prodSpuIds + "]}"; + string referer = "https://agentseller.temu.com/govern/compliant-live-photos"; + return HttpResponseBLL.PostResponse2(shop, url, body, referer); + } + + private string GetPrictureSign(ShopLoginInfo shop) + { + string url = "https://agentseller.temu.com/ms/bg-flux-ms/compliance_property/signature"; + string body = @"{""tag"":""flash-tag""}"; + string refere = "https://agentseller.temu.com/govern/compliant-live-photos"; + return HttpResponseBLL.PostResponse2(shop, url, body, refere); + } + private string UploadRealPricture(ShopLoginInfo shop, string fileFullName, string uploadSign, string tag_name = "flash-tag") + { + string abc = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; + string boundaryRandom = ""; + while (boundaryRandom.Length < 16) + boundaryRandom += abc[Randomx.GetId(abc.Length)]; + + if (fileFullName == null) + fileFullName = ""; + string fileName = fileFullName.Split('\\').LastOrDefault(); + string url = "https://agentseller.temu.com/api/galerie/v3/store_image?sdk_version=js-0.0.40&tag_name=" + tag_name; + string boundary = "----WebKitFormBoundarybJAaZCwJYancPxhq"; + boundary = "----WebKitFormBoundary" + boundaryRandom; + string body = @"--" + boundary + @" +Content-Disposition: form-data; name=""url_width_height"" + +true +--" + boundary + @" +Content-Disposition: form-data; name=""image""; filename=""" + fileName + @""" +Content-Type: image/jpeg + +" + fileFullName + @" +--" + boundary + @" +Content-Disposition: form-data; name=""upload_sign"" + +" + uploadSign + @" +--" + boundary + @"-- +"; + string refere = "https://agentseller.temu.com/govern/compliant-live-photos"; + + return HttpResponseBLL.PostResponseUpload(shop, url, body, refere, boundary); + } + private string UploadPrictureUrl(ShopLoginInfo shop, RealPictureParam realPictureParam) + { + string url = "https://agentseller.temu.com/api/flash/real_picture/upload_new"; + string body = JsonHelper.SerializeObject(realPictureParam); + string refere = "https://agentseller.temu.com/govern/compliant-live-photos"; + return HttpResponseBLL.PostResponse2(shop, url, body, refere); + } + private string QuerySupplierJit(ShopLoginInfo shop) + { + string url = "https://agentseller.temu.com/visage-agent-seller/supplier/jit/exam/result/query"; + string body = @"{}"; + string refere = "https://agentseller.temu.com/newon/product-select"; + return HttpResponseBLL.PostResponse2(shop, url, body, refere); + } + + private string batchOpenJit(ShopLoginInfo shop, Dictionary skcIdSpuIdDic) + { + string url = "https://agentseller.temu.com/visage-agent-seller/product/skc/batchOpenJit"; + string str = ""; + foreach (var key in skcIdSpuIdDic.Keys) + { + str += "{\"productSkcId\":" + key + ",\"productId\":" + skcIdSpuIdDic[key] + "},"; + } + string body = @"{""productSkcSubSellModeReqList"":[" + str.Trim(',') + "]}"; //@"{""productSkcSubSellModeReqList"":[{""productSkcId"":57773077711,""productId"":5230217458}]}"; + string refere = "https://agentseller.temu.com/newon/product-select"; + return HttpResponseBLL.PostResponse2(shop, url, body, refere); + } + + private string GetProductList(ShopLoginInfo shop, int page = 1, string spuIds = "") + { + page = Math.Max(page, 1); + string url = "https://agentseller.temu.com/visage-agent-seller/product/skc/pageQuery"; + string body; + body = @"{""page"":" + page + @",""pageSize"":50}"; + if (!string.IsNullOrEmpty(spuIds)) + body = @"{""productIds"":[" + spuIds + @"],""page"":" + page + @",""pageSize"":50}"; + + string refere = "https://agentseller.temu.com/goods/list"; + + return HttpResponseBLL.PostResponse2(shop, url, body, refere); + } + + private string GetProductReceiveAreaList(ShopLoginInfo shop, int page = 1, string spuIds = "") + { + page = Math.Max(page, 1); + string url = "https://agentseller.temu.com/mms/turbo/supplier/pick/out/config/pageQuerySkcPickOutConfig"; + string body; + body = @"{""productIdList"":[" + spuIds + @"],""pageSize"":50,""pageNumber"":" + page + "}"; + + string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main"; + + return HttpResponseBLL.PostResponse2(shop, url, body, refere); + } + private string GetWarehouseListBySpuIds(ShopLoginInfo shop, string spuIds, int page = 1, int pageSize = 40) + { + page = Math.Max(page, 1); + string url = "https://agentseller.temu.com/mms/venom/api/supplier/sales/management/listWarehouse"; + string body = @"{""pageNo"":" + page + @",""pageSize"":" + pageSize + @",""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7," + + @"""productIdList"":[" + spuIds + @"]}"; + string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main"; + + return HttpResponseBLL.PostResponse2(shop, url, body, refere); + } + + private void dgvOpenJit_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex < 0 || e.RowIndex < 0) return; - string headerText = dgvPriceCheck.Columns[e.ColumnIndex].HeaderText; - string orderId = dgvPriceCheck.Rows[e.RowIndex].Cells["colOrderId"].Value.ParseToString(); - string prodId = dgvPriceCheck.Rows[e.RowIndex].Cells["colProductId"].Value.ParseToString(); - string accountId = dgvPriceCheck.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString(); - var shop = lstAdminShopInfo.FirstOrDefault(v => v.ShopId == accountId); + string headerText = dgvOpenJit.Columns[e.ColumnIndex].HeaderText; + string orderId = dgvOpenJit.Rows[e.RowIndex].Cells["colOrderId"].Value.ParseToString(); + string prodId = dgvOpenJit.Rows[e.RowIndex].Cells["colProductId"].Value.ParseToString(); + string skcId = dgvOpenJit.Rows[e.RowIndex].Cells["colProdSkc"].Value.ParseToString(); + string accountId = dgvOpenJit.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString(); + ShopLoginInfo shop = null; + if (IsAdmin) + shop = lstAdminShopInfo.FirstOrDefault(v => v.ShopId == accountId); + else + shop = GlobalConfig.ShopLoginList.FirstOrDefault(v => v.ShopId == accountId); var compInfo = this.lstComplianceInfo.FirstOrDefault(c => c.spu_id.ParseToString() == prodId); + var realPicInfo = this.lstRealPictureInfo.FirstOrDefault(p => p.spu_id.ParseToString() == prodId); + var receiveArea = this.lstReceiveArea.FirstOrDefault(r => r.productId.ParseToString() == prodId); switch (headerText) { + case "Skc图片": + string url = dgvOpenJit.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString().Replace("img.kwcdn.com", "img.cdnfe.com"); + url = url.IndexOf("?") < 0 ? url : url.Substring(0, url.IndexOf("?")); + ShowImgForm imgForm = new ShowImgForm(url); + imgForm.ShowDialog(); + break; case "规格名称": { - var PriceInfo = lstChainProdInfo.FirstOrDefault(p => p.productId.ParseToString() == prodId); - if (PriceInfo != null) + var chainProdInfo = lstChainProdInfo.FirstOrDefault(p => p.productId.ParseToString() == prodId); + var product = lstProductInfo.FirstOrDefault(p => p.productId.ParseToString() == prodId); + if (chainProdInfo != null) { this.pnlSpecDetail.Visible = true; string skuName = ""; - var prodSkuList = PriceInfo.skcList.FirstOrDefault().skuList; + var prodSkuList = chainProdInfo.skcList.FirstOrDefault().skuList; if (prodSkuList != null) { foreach (var sku in prodSkuList) @@ -566,11 +965,9 @@ namespace TemuKJD.KJDForms.ProductForms skuName += prop.value + ","; } skuName = skuName.TrimEnd(',') + ";"; - skuName += " "; - skuName += " 长:" + sku.len.ParseToInt() * 0.1; - skuName += " 宽:" + sku.width.ParseToInt() * 0.1; - skuName += " 高:" + sku.height.ParseToInt() * 0.1; - skuName += " 重:" + sku.weight.ParseToInt() * 0.001; + skuName += "价格:" + sku.supplierPrice + ";"; + var skuWithVirtualStock = product.productSkuSummaries.FirstOrDefault(s => s.productSkuId == sku.skuId); + skuName += "库存:" + (skuWithVirtualStock.virtualStock == null ? "-" : skuWithVirtualStock.virtualStock.ParseToString()); skuName += "\r\n"; } } @@ -578,21 +975,67 @@ namespace TemuKJD.KJDForms.ProductForms } } break; - //case "同意报价": - // { - // applyHighPrice(shop, orderId, dgvPriceCheck.Rows[e.RowIndex]); - // } - // break; - //case "拒绝报价": - // { - // cancelLowPrice(shop, orderId, dgvPriceCheck.Rows[e.RowIndex]); - // } - // break; - //case "作废待创建": - // { - // this.cancelTitleWrongPrice(shop, prodId); - // } - // break; + case "调价": + case "一键调价": + { + if (shop != null) + { + var product = lstProductInfo.FirstOrDefault(p => p.productId.ParseToString() == prodId); + ProductChangePriceForm changePriceForm = new ProductChangePriceForm(shop, product); + changePriceForm.ShowDialog(); + if (changePriceForm.IsAdjustPrice) + { + var rows = dgvOpenJit.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == prodId).ToList(); + var chainProdInfo = lstChainProdInfo.FirstOrDefault(p => p.productId.ParseToString() == prodId); + if (chainProdInfo != null) + { + var minPriceStr = (product.productSkuSummaries.Min(s => s.supplierPrice).ParseToDecimal() / 100).ToString("0.00"); + var maxPriceStr = (product.productSkuSummaries.Max(s => s.supplierPrice).ParseToDecimal() / 100).ToString("0.00"); + + chainProdInfo.supplierPrice = "¥" + minPriceStr; + if (minPriceStr != maxPriceStr) + { + chainProdInfo.supplierPrice += "~" + maxPriceStr; + } + foreach (var row in rows) + { + row.Cells["colPrcie"].Value = chainProdInfo.supplierPrice; + } + } + foreach (var sku in product.productSkuSummaries) + { + var chainSku = chainProdInfo?.skcList?.FirstOrDefault()?.skuList?.FirstOrDefault(s => s.skuId == sku.productSkuId); + if (chainSku != null) + { + chainSku.supplierPrice = "¥" + (sku.supplierPrice.ParseToDecimal() / 100).ToString("0.00"); + chainSku.supplierPriceValue = sku.supplierPrice; + } + foreach (var reviewInfo in chainProdInfo?.skcList?.FirstOrDefault()?.supplierPriceReviewInfoList) + { + var reviewSku = reviewInfo.productSkuList.FirstOrDefault(s => s.skuId == sku.productSkuId); + if (reviewSku != null) + { + reviewSku.supplierPrice = "¥" + (sku.supplierPrice.ParseToDecimal() / 100).ToString("0.00"); + reviewSku.supplierPriceValue = sku.supplierPrice; + } + } + } + + foreach (var sku in product.productSkuSummaries) + { + foreach (var row in rows) + { + var skuSpecNames = string.Join(",", sku.productSkuSpecList.Select(s => s.specName).ToList()) + ";"; + var skuNameStrLst = row.Cells["colSkuName"].Value.ParseToString().Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries); + string oldSkuName = skuNameStrLst.FirstOrDefault(s => s.StartsWith(skuSpecNames)); + string newSkuName = skuSpecNames + "价格:¥" + (sku.supplierPrice.ParseToDecimal() / 100).ToString("0.00") + ";库存:" + sku.virtualStock; + row.Cells["colSkuName"].Value = row.Cells["colSkuName"].Value.ParseToString().Replace(oldSkuName, newSkuName); + } + } + } + } + } + break; case "合规": case "合规信息": { @@ -601,7 +1044,7 @@ namespace TemuKJD.KJDForms.ProductForms compForm.ShowDialog(); if (compForm.EditSuccess == true) { - var rows = dgvPriceCheck.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == prodId); + var rows = dgvOpenJit.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == prodId).ToList(); foreach (var row in rows) { row.Cells["colCompliance"].Value = "已填写"; @@ -609,20 +1052,244 @@ namespace TemuKJD.KJDForms.ProductForms } } break; - case "Skc图片": - string url = dgvPriceCheck.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString().Replace("img.kwcdn.com", "img.cdnfe.com"); - url = url.IndexOf("?") < 0 ? url : url.Substring(0, url.IndexOf("?")); - ShowImgForm imgFrom = new ShowImgForm(url); - imgFrom.ShowDialog(); + case "实拍图": + case "实拍图信息": + { + OpenFileDialog openFileDialog = new OpenFileDialog(); + //openFileDialog.Multiselect = true; + // 设置过滤条件,只显示文本文件 + openFileDialog.Filter = "图片文件 (*.jpeg;*.jpg;*.png)|*.jpeg;*.jpg;*.png|All files (*.*)|*.*"; + // 显示对话框并获取结果 + if (openFileDialog.ShowDialog() == DialogResult.OK) + { + try + { + // 读取文件内容 + //text = File.ReadAllText(openFileDialog.FileName); + var fileFullName = openFileDialog.FileName; + var uploadRst = UploadReakPicture(shop, fileFullName, realPicInfo); + if (uploadRst) + { + BaseMsgForm.ShowInfo("上传成功"); + var rows = dgvOpenJit.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == prodId).ToList(); + foreach (var row in rows) + { + row.Cells["colRealPicture"].Value = "已上传"; + } + } + } + catch (Exception ex) + { + BaseMsgForm.ShowError("打开自定义图片失败 " + ex.Message); + return; + } + } + } + break; + case "Jit": + case "JIT": + if (BaseMsgForm.ShowConfirm("确定开通Jit?").DialogResult == DialogResult.OK) + { + var jitRst = CreateJit(shop, skcId, prodId); + if (jitRst) + { + var rows = dgvOpenJit.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == prodId).ToList(); + foreach (var row in rows) + { + row.Cells["colJit"].Value = "已开通"; + if (row.Cells["colRecevieArea"].Value.ParseToString().IsNullOrEmpty()) + row.Cells["colRecevieArea"].Value = "去设置"; + } + } + } + break; + case "修改库存": + { + var product = lstProductInfo.FirstOrDefault(p => p.productId.ParseToString() == prodId); + ChangeStockForm stockForm = new ChangeStockForm(shop, product); + stockForm.ShowDialog(); + if (stockForm.IsSuccess) + { + var rows = dgvOpenJit.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == prodId).ToList(); + + foreach (var sku in product.productSkuSummaries) + { + var skuChangeVirtualStock = stockForm.stockParam?.skcVirtualStockChangeDTOList?.FirstOrDefault()? + .skuVirtualStockChangeList?.FirstOrDefault(s => s.productSkuId == sku.productSkuId); + + if (sku.virtualStock != null && skuChangeVirtualStock != null && skuChangeVirtualStock.virtualStockDiff != 0) + { + var oldVirtualStock = sku.virtualStock; + sku.virtualStock += skuChangeVirtualStock.virtualStockDiff.ParseToInt(); + foreach (var row in rows) + { + var skuName = string.Join(",", sku.productSkuSpecList.Select(s => s.specName).ToList()) + ";"; + string oldSkuName = skuName + "价格:¥" + (sku.supplierPrice.ParseToDecimal() / 100).ToString("0.00") + ";库存:" + oldVirtualStock; + string newSkuName = skuName + "价格:¥" + (sku.supplierPrice.ParseToDecimal() / 100).ToString("0.00") + ";库存:" + sku.virtualStock; + row.Cells["colSkuName"].Value = row.Cells["colSkuName"].Value.ParseToString().Replace(oldSkuName, newSkuName); + } + } + } + } + } + break; + case "期望到货": + case "期望到货区域": + ReceiveAreaForm areaForm = new ReceiveAreaForm(shop, receiveArea); + areaForm.ShowDialog(); + if (areaForm.IsSuccess) + { + var rows = dgvOpenJit.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == prodId).ToList(); + foreach (var row in rows) + { + row.Cells["colRecevieArea"].Value = receiveArea.expectReceiveAreaConfigDesc; + } + } + break; + case "": + dgvOpenJit.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvOpenJit.Rows[e.RowIndex].Cells["colCheck"].Value; break; - //case "": - // dgvPriceCheck.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvPriceCheck.Rows[e.RowIndex].Cells["colCheck"].Value; - // break; default: break; } } + private bool CreateJit(ShopLoginInfo shop, string skcId, string spuId, DataGridViewCell cell = null) + { + var rst = QuerySupplierJit(shop); + if (!rst.Contains("\"success\":true")) + { + var msg = BaseRegex.GetStringJson(ref rst, "errorMsg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = BaseRegex.GetStringJson(ref rst, "error_msg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = rst; + BaseMsgForm.ShowError("读取Jit条件失败:" + msg); + return false; + } + if (rst.Contains("\"passed\":false")) + { + if (cell != null) + cell.Value = "请去店铺后台参加Jit开通考试。"; + else + BaseMsgForm.ShowError("请去店铺后台参加Jit开通考试。"); + return false; + } + + Dictionary dic = new Dictionary(); + dic[skcId.ParseToLong()] = spuId.ParseToLong(); + rst = batchOpenJit(shop, dic); + if (!rst.Contains("\"success\":true") || !BaseRegex.GetStringJson(ref rst, "errorMsg").IsNullOrEmpty()) + { + var msg = BaseRegex.GetStringJson(ref rst, "errorMsg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = BaseRegex.GetStringJson(ref rst, "error_msg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = rst; + + if (cell != null) + cell.Value = "开通Jit失败:" + msg; + else + BaseMsgForm.ShowError("开通Jit失败:" + msg); + return false; + } + return true; + } + + private bool UploadReakPicture(ShopLoginInfo shop, string fileFullName, RealPictureInfo realPicInfo) + { + var signRst = this.GetPrictureSign(shop); + var sign = BaseRegex.GetStringJson(ref signRst, "result"); + if (string.IsNullOrEmpty(sign)) + { + var msg = BaseRegex.GetStringJson(ref signRst, "errorMsg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = BaseRegex.GetStringJson(ref signRst, "error_msg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = signRst; + BaseMsgForm.ShowError("获取图片上传签名失败:" + msg); + return false; + } + + var uploadRst = UploadRealPricture(shop, fileFullName, sign); + Thread.Sleep(Randomx.GetId(50, 100)); + var imgUrl = BaseRegex.GetStringJson(ref uploadRst, "url"); // { "url":"https://pos.file.temu.com/flash-tag/20add702d6/ec66d76c-841f-439f-8d8f-7480c341df92_1280x1707.jpeg","width":1280,"height":1707,"size":423774,"etag":"ef7c83be7a05c297e84855d3e6ad6c12"} + if (imgUrl.IsNullOrEmpty() && !uploadRst.Contains("\"success\":true")) + { + var msg = BaseRegex.GetStringJson(ref uploadRst, "errorMsg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = BaseRegex.GetStringJson(ref uploadRst, "error_msg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = uploadRst; + BaseMsgForm.ShowError("图片上传失败:" + msg); + return false; + } + RealPictureParam param = new RealPictureParam() + { + confirm_type = 4, + spu_id = realPicInfo.spu_id, + goods_id = realPicInfo.goods_id, + real_picture_info_list = new List(), + }; + real_picture_info real_picture_info1 = new real_picture_info(); + real_picture_info1.position = 1; + real_picture_info1.is_same_sku = 1; + real_picture_info1.sku_photo_info_list = new List(); + real_picture_info real_picture_info2 = new real_picture_info(); + real_picture_info2.position = 2; + real_picture_info2.is_same_sku = 1; + real_picture_info2.sku_photo_info_list = new List(); + foreach (var sku in realPicInfo.sku_info) + { + real_picture_info1.sku_photo_info_list.Add(new sku_photo_info() + { + image_list = new List(), + sku_id = sku.sku_id, + }); + real_picture_info2.sku_photo_info_list.Add(new sku_photo_info() + { + image_list = new List() { new image_param() { image_url = imgUrl } }, + sku_id = sku.sku_id, + }); + } + param.real_picture_info_list.Add(real_picture_info1); + param.real_picture_info_list.Add(real_picture_info2); + var uploadPrictureUrlRst = this.UploadPrictureUrl(shop, param); + uploadPrictureUrlRst = GetHtml.Unicode2String(uploadPrictureUrlRst); + if (!uploadPrictureUrlRst.Contains("\"success\":true")) + { + var msg = BaseRegex.GetStringJson(ref uploadPrictureUrlRst, "errorMsg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = BaseRegex.GetStringJson(ref uploadPrictureUrlRst, "error_msg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = uploadPrictureUrlRst; + BaseMsgForm.ShowError("实拍图片保存失败:" + msg); + return false; + } + try + { + JObject jObj = JObject.Parse(uploadPrictureUrlRst); + List checkRstInfoLst = JsonHelper.DeserializeJsonToList(jObj["result"]["rule_check_result"].ToString()); + var rstInfo = checkRstInfoLst.FirstOrDefault(c => c.check_type == 494); + if (rstInfo == null) + { + BaseMsgForm.ShowError("实拍图片保存失败:未获取到校验结果"); + return false; + } + if (rstInfo.rule_status != 2) + { + BaseMsgForm.ShowError("实拍图片保存失败:" + rstInfo.rule_name + rstInfo.rule_status_toast); + return false; + } + } + catch (Exception ex) + { + return false; + } + + return true; + } + private void btnClose_Click(object sender, EventArgs e) { this.pnlSpecDetail.Visible = false; @@ -633,6 +1300,263 @@ namespace TemuKJD.KJDForms.ProductForms this.txtSpuId.Text = ""; this.txtExtCode.Text = ""; } + + private void btnBatchJit_Click(object sender, EventArgs e) + { + pbLoading.Visible = true; + Task.Run(() => + { + AutoJit(); + Invoke(new Action(() => + { + pbLoading.Visible = false; + })); + }); + } + + void AutoJit() + { + //var batchExtCodeLst = txtBatchExtCode.Text.Trim().Split(new string[] { ",", " " }, StringSplitOptions.RemoveEmptyEntries); + //if (batchExtCodeLst == null) + //{ + // BaseMsgForm.ShowError("请输入货号!"); + // return; + //} + + var minPrice = (txtBatchPriceMin.Text.Trim().ParseToDecimal() * 100).ParseToInt(); + var maxPrice = (txtBatchPriceMax.Text.Trim().ParseToDecimal() * 100).ParseToInt(); + if(minPrice < 5 || maxPrice < 5) + { + BaseMsgForm.ShowError("请合理设置价格!"); + return; + } + + var identifyCode = txtBatchIdentifyCode.Text.Trim(); + if (identifyCode.IsNullOrEmpty()) + { + BaseMsgForm.ShowError("请填写识别码!"); + return; + } + + if (pbRealPicture.Tag.ParseToString().IsNullOrEmpty()) + { + BaseMsgForm.ShowError("请选择实拍图!"); + return; + } + + //foreach (var extCode in batchExtCodeLst) + //{ + //var dgvRows = this.dgvOpenJit.Rows.Cast().Where(r => r.Cells[""].Value.ParseToString() == extCode).ToList(); + var dgvRows = this.dgvOpenJit.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + if (dgvRows.Count == 0) + { + BaseMsgForm.ShowError("请选择商品!"); + return; + } + + foreach (var dgvRow in dgvRows) + { + string orderId = dgvRow.Cells["colOrderId"].Value.ParseToString(); + string prodId = dgvRow.Cells["colProductId"].Value.ParseToString(); + string skcId = dgvRow.Cells["colProdSkc"].Value.ParseToString(); + string accountId = dgvRow.Cells["colSupplierId"].Value.ParseToString(); + ShopLoginInfo shop = null; + if (IsAdmin) + shop = lstAdminShopInfo.FirstOrDefault(v => v.ShopId == accountId); + else + shop = GlobalConfig.ShopLoginList.FirstOrDefault(v => v.ShopId == accountId); + var compInfo = this.lstComplianceInfo.FirstOrDefault(c => c.spu_id.ParseToString() == prodId); + var realPicInfo = this.lstRealPictureInfo.FirstOrDefault(p => p.spu_id.ParseToString() == prodId); + var receiveArea = this.lstReceiveArea.FirstOrDefault(r => r.productId.ParseToString() == prodId); + + // 修改价格 + if (1 == 2) + { + var product = lstProductInfo.FirstOrDefault(p => p.productId.ParseToString() == prodId); + ProductChangePriceForm changePriceForm = new ProductChangePriceForm(shop, product); + changePriceForm.ShowDialog(); + if (changePriceForm.IsAdjustPrice) + { + var rows = dgvOpenJit.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == prodId).ToList(); + var chainProdInfo = lstChainProdInfo.FirstOrDefault(p => p.productId.ParseToString() == prodId); + if (chainProdInfo != null) + { + var minPriceStr = (product.productSkuSummaries.Min(s => s.supplierPrice).ParseToDecimal() / 100).ToString("0.00"); + var maxPriceStr = (product.productSkuSummaries.Max(s => s.supplierPrice).ParseToDecimal() / 100).ToString("0.00"); + + chainProdInfo.supplierPrice = "¥" + minPriceStr; + if (minPriceStr != maxPriceStr) + { + chainProdInfo.supplierPrice += "~" + maxPriceStr; + } + foreach (var row in rows) + { + row.Cells["colPrcie"].Value = chainProdInfo.supplierPrice; + } + } + foreach (var sku in product.productSkuSummaries) + { + var chainSku = chainProdInfo?.skcList?.FirstOrDefault()?.skuList?.FirstOrDefault(s => s.skuId == sku.productSkuId); + if (chainSku != null) + { + chainSku.supplierPrice = "¥" + (sku.supplierPrice.ParseToDecimal() / 100).ToString("0.00"); + chainSku.supplierPriceValue = sku.supplierPrice; + } + foreach (var reviewInfo in chainProdInfo?.skcList?.FirstOrDefault()?.supplierPriceReviewInfoList) + { + var reviewSku = reviewInfo.productSkuList.FirstOrDefault(s => s.skuId == sku.productSkuId); + if (reviewSku != null) + { + reviewSku.supplierPrice = "¥" + (sku.supplierPrice.ParseToDecimal() / 100).ToString("0.00"); + reviewSku.supplierPriceValue = sku.supplierPrice; + } + } + } + + foreach (var sku in product.productSkuSummaries) + { + foreach (var row in rows) + { + var skuSpecNames = string.Join(",", sku.productSkuSpecList.Select(s => s.specName).ToList()) + ";"; + var skuNameStrLst = row.Cells["colSkuName"].Value.ParseToString().Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries); + string oldSkuName = skuNameStrLst.FirstOrDefault(s => s.StartsWith(skuSpecNames)); + string newSkuName = skuSpecNames + "价格:¥" + (sku.supplierPrice.ParseToDecimal() / 100).ToString("0.00") + ";库存:" + sku.virtualStock; + row.Cells["colSkuName"].Value = row.Cells["colSkuName"].Value.ParseToString().Replace(oldSkuName, newSkuName); + } + } + } + } + + // 修改合规信息 + if (1 == 2) + { + //填写以下信息: //加州65号提案 //欧盟负责人 //制造商信息 //其他合规信息-商品识别码 + ComplianceForm compForm = null; + Invoke(new Action(() => + { + compForm = new ComplianceForm(shop, compInfo); + compForm.IsAuto = true; + compForm.Show(); + compForm.txtCode.Text = this.txtBatchIdentifyCode.Text; + })); + Thread.Sleep(200); + // 点击确定 + Invoke(new Action(() => + { + compForm.btnSave_Click(null, null); + })); + int count = 0; + while (IsFormOpen(compForm.Name)) + { + count++; + if (count > 50) + compForm.Close(); + Thread.Sleep(200); + } + var rows = dgvOpenJit.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == prodId).ToList(); + foreach (var row in rows) + { + if (compForm?.EditSuccess == true) + { + Invoke(new Action(() => + { + row.Cells["colCompliance"].Value = "已填写 √"; + })); + } + else + { + Invoke(new Action(() => + { + row.Cells["colMsg"].Value = compForm.ErrMsg; + })); + continue; + } + } + + } + + // 实拍图 + if (1 == 2) + { + var uploadRst = UploadReakPicture(shop, pbRealPicture.Tag.ParseToString(), realPicInfo); + if (uploadRst) + { + //BaseMsgForm.ShowInfo("上传成功"); + var rows = dgvOpenJit.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == prodId).ToList(); + foreach (var row in rows) + { + Invoke(new Action(() => + { + row.Cells["colRealPicture"].Value = "已上传 √"; + })); + } + } + } + + // 加入Jit + if (1 == 1) + { + var jitRst = CreateJit(shop, skcId, prodId, dgvRow.Cells["colMsg"]); + if (jitRst) + { + Invoke(new Action(() => + { + var rows = dgvOpenJit.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == prodId).ToList(); + foreach (var row in rows) + { + row.Cells["colJit"].Value = "已开通 √"; + if (row.Cells["colRecevieArea"].Value.ParseToString().IsNullOrEmpty()) + row.Cells["colRecevieArea"].Value = "去设置 √"; + } + })); + } + } + } + //} + } + + public static bool IsFormOpen(string formName) + { + foreach (Form form in Application.OpenForms) + { + if (form.Name == formName) + { + return true; + } + } + return false; + } + + private void btnAddRealPic_Click(object sender, EventArgs e) + { + OpenFileDialog openFileDialog = new OpenFileDialog(); + //openFileDialog.Multiselect = true; + // 设置过滤条件,只显示文本文件 + openFileDialog.Filter = "图片文件 (*.jpeg;*.jpg;*.png)|*.jpeg;*.jpg;*.png|All files (*.*)|*.*"; + // 显示对话框并获取结果 + if (openFileDialog.ShowDialog() == DialogResult.OK) + { + try + { + // 读取文件内容 + var fileFullName = openFileDialog.FileName; + Image image = Image.FromFile(fileFullName); + + using (MemoryStream memoryStream = new MemoryStream()) + { + image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); + byte[] imageBytes = memoryStream.ToArray(); + } + this.pbRealPicture.Tag = fileFullName; + this.pbRealPicture.Image = image; + } + catch (Exception ex) + { + BaseMsgForm.ShowError("打开自定义图片失败 " + ex.Message); + return; + } + } + } } public class SetJitConfig @@ -683,4 +1607,148 @@ namespace TemuKJD.KJDForms.ProductForms public List region_list { get; set; } // [105, 106, 107, 108, 109, ...], public string content { get; set; } // "德国站、法国站、意大利站、荷兰站、西班牙站、葡萄牙站、波兰站、瑞典站、希腊站、爱尔兰站、塞浦路斯站、捷克站、匈牙利站、丹麦站、罗马尼亚站、保加利亚站、比利时站、奥地利站、芬兰站、斯洛伐克站、克罗地亚站、斯洛文尼亚站、立陶宛站、爱沙尼亚站、拉脱维亚站、马耳他站、卢森堡站" } + //----------------------------------------------------------------------------------------- + //合规实拍图片 + public class RealPictureQueryRsult + { + public int? total { get; set; } // 50 + public List items { get; set; } + public bool? show_effect_result { get; set; } // true, + public bool? is_semi_managed_mall { get; set; } // false, + public string notice_toast { get; set; } // "如商品标签缺失/不全或者存在弄虚作假情形(例如上传虚假图片),将会影响商品备货销售。" + } + public class RealPictureInfo + { + public long? spu_id { get; set; } // 5230217458, + public string spu_name { get; set; } // "XIXITIAO 女款韩式拖鞋 - 夏季休闲纯色 EVA 拖鞋,舒适防滑低跟沙滩凉鞋,室内/室外使用,夏季凉鞋,女式人字拖,夹趾凉鞋时尚女士轻质夏季一脚蹬沙滩人字拖凉鞋,女式人字拖夹趾凉鞋休闲凉鞋淋浴鞋沙滩拖鞋拖鞋凉鞋一脚蹬淌水鞋,百搭设计,适合日常穿着,女式平底凉鞋", + public string material_img_url { get; set; } // "https://img.kwcdn.com/product/fancy/0f52acc1-edfe-4f70-8032-012505ad0da5.jpg", + public bool? is_same_sku { get; set; } // true, + public same_sku_vo_info same_sku_vo { get; set; } + public int? upload_status { get; set; } // 1 + public bool? no_have_pack { get; set; } // false, + public List no_have_pack_list { get; set; } // [], + public List rule_check_result_list { get; set; } + public int? button_status { get; set; } // 0, + public long? goods_id { get; set; } // 601103727939214, + public object gray_control { get; set; } // {}, + public bool? new_pop_up_gray { get; set; } // true, + public List position_detail { get; set; } + public bool can_audit { get; set; } // true, + public List sku_info { get; set; } + public guide_file_info guide_File_Info { get; set; } + } + public class guide_file_info + { + public bool? uploaded { get; set; } // false, + public bool? hit_guide_file { get; set; } // false + } + public class position_detail_info + { + public int? position { get; set; } // 1, + public bool? is_same_sku { get; set; } // true, + public List sku_info { get; set; } + public List sku_photo_info_list { get; set; } + public List photo_requirement_list { get; set; } + } + public class same_sku_vo_info + { + public List sku_list { get; set; } + } + public class sku_info + { + public long? sku_id { get; set; } // 66094708278, + public string sku_name { get; set; } // "66094708278(黑色,36)", + public string sku_image { get; set; } // "https://img.kwcdn.com/product/fancy/b68693cc-8f17-45f1-bee8-9a89b8df7e8c.jpg" + public long? material_id { get; set; } // 5905935642 + public string refuse_reason { get; set; } // "{\"goodsPackInfoExtDTOMap\":{\"tur_manufacturer_name_address\":{\"mallShow\":true,\"mallModelCheck\":true,\"openCheckSendGoods\":true,\"noPackageCheckSendGoods\":false,\"qcShow\":true,\"qcShowStartTime\":1640966400904,\"qcModelCheck\":true,\"qcModelCheckStartTime\":1640966400553,\"openCheckSendGoodsStartTime\":1640966400883,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"false_information\":{\"mallShow\":true,\"mallModelCheck\":true,\"openCheckSendGoods\":true,\"noPackageCheckSendGoods\":false,\"qcShow\":true,\"qcShowStartTime\":1672544860294,\"qcModelCheck\":true,\"qcModelCheckStartTime\":1672584937377,\"openCheckSendGoodsStartTime\":1672544856346,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"product_batch_model_serial_numbers\":{\"mallShow\":true,\"mallModelCheck\":true,\"openCheckSendGoods\":true,\"noPackageCheckSendGoods\":false,\"qcShow\":true,\"qcShowStartTime\":1640966400677,\"qcModelCheck\":true,\"qcModelCheckStartTime\":1640966400040,\"openCheckSendGoodsStartTime\":1640966400572,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"Plastic_Bag\":{\"mallShow\":true,\"mallModelCheck\":false,\"openCheckSendGoods\":false,\"noPackageCheckSendGoods\":false,\"qcShow\":false,\"qcShowStartTime\":null,\"qcModelCheck\":false,\"qcModelCheckStartTime\":null,\"openCheckSendGoodsStartTime\":null,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"tur_authorized_representative\":{\"mallShow\":true,\"mallModelCheck\":true,\"openCheckSendGoods\":true,\"noPackageCheckSendGoods\":false,\"qcShow\":true,\"qcShowStartTime\":1640966400904,\"qcModelCheck\":true,\"qcModelCheckStartTime\":1640966400553,\"openCheckSendGoodsStartTime\":1640966400883,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"manufacturer_name_address_and_electronic_address\":{\"mallShow\":true,\"mallModelCheck\":true,\"openCheckSendGoods\":true,\"noPackageCheckSendGoods\":false,\"qcShow\":true,\"qcShowStartTime\":1640966400677,\"qcModelCheck\":true,\"qcModelCheckStartTime\":1640966400040,\"openCheckSendGoodsStartTime\":1640966400572,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"recycling_symbol_es\":{\"mallShow\":true,\"mallModelCheck\":false,\"openCheckSendGoods\":false,\"noPackageCheckSendGoods\":false,\"qcShow\":false,\"qcShowStartTime\":null,\"qcModelCheck\":true,\"qcModelCheckStartTime\":null,\"openCheckSendGoodsStartTime\":null,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"tur_additional_safety_information\":{\"mallShow\":true,\"mallModelCheck\":true,\"openCheckSendGoods\":false,\"noPackageCheckSendGoods\":false,\"qcShow\":false,\"qcShowStartTime\":null,\"qcModelCheck\":false,\"qcModelCheckStartTime\":null,\"openCheckSendGoodsStartTime\":null,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"gpsr_warning_or_safety_information\":{\"mallShow\":true,\"mallModelCheck\":true,\"openCheckSendGoods\":true,\"noPackageCheckSendGoods\":false,\"qcShow\":true,\"qcShowStartTime\":1640966400677,\"qcModelCheck\":true,\"qcModelCheckStartTime\":1640966400040,\"openCheckSendGoodsStartTime\":1640966400572,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"Packaging\":{\"mallShow\":true,\"mallModelCheck\":true,\"openCheckSendGoods\":true,\"noPackageCheckSendGoods\":true,\"qcShow\":true,\"qcShowStartTime\":1705248000000,\"qcModelCheck\":true,\"qcModelCheckStartTime\":1712851200000,\"openCheckSendGoodsStartTime\":1705248000000,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"eu_rep_name_address_and_electronic_address\":{\"mallShow\":true,\"mallModelCheck\":true,\"openCheckSendGoods\":true,\"noPackageCheckSendGoods\":false,\"qcShow\":true,\"qcShowStartTime\":1640966400677,\"qcModelCheck\":true,\"qcModelCheckStartTime\":1640966400040,\"openCheckSendGoodsStartTime\":1640966400572,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"tur_production_batch_number_model_serial_number\":{\"mallShow\":true,\"mallModelCheck\":true,\"openCheckSendGoods\":true,\"noPackageCheckSendGoods\":false,\"qcShow\":true,\"qcShowStartTime\":1640966400904,\"qcModelCheck\":true,\"qcModelCheckStartTime\":1640966400553,\"openCheckSendGoodsStartTime\":1640966400883,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"Textile_etc\":{\"mallShow\":true,\"mallModelCheck\":true,\"openCheckSendGoods\":true,\"noPackageCheckSendGoods\":true,\"qcShow\":true,\"qcShowStartTime\":1705248000000,\"qcModelCheck\":true,\"qcModelCheckStartTime\":1713369600000,\"openCheckSendGoodsStartTime\":1705248000000,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null},\"ce_mark_misuse\":{\"mallShow\":true,\"mallModelCheck\":true,\"openCheckSendGoods\":true,\"noPackageCheckSendGoods\":true,\"qcShow\":true,\"qcShowStartTime\":1760858561196,\"qcModelCheck\":true,\"qcModelCheckStartTime\":1762697895174,\"openCheckSendGoodsStartTime\":1760858566137,\"noPackageCheckSendGoodsStartTime\":null,\"noUpload\":false,\"checkAdvice\":{\"tur_authorized_representative\":[8],\"manufacturer_name_address_and_electronic_address\":[6],\"tur_manufacturer_name_address\":[8],\"tur_additional_safety_information\":[6],\"Packaging\":[6],\"gpsr_warning_or_safety_information\":[6],\"eu_rep_name_address_and_electronic_address\":[6],\"false_information\":[6],\"tur_production_batch_number_model_serial_number\":[8],\"Textile_etc\":[6],\"product_batch_model_serial_numbers\":[6],\"ce_mark_misuse\":[6]},\"isSemiManagedGoods\":false,\"mallOpenPunish\":false,\"mallOpenPunishStartTime\":null}}}" + public List rule_check_result { get; set; } + } + public class rule_check_result_info + { + public int? check_type { get; set; } // 883, + public string rule_name { get; set; } // "土耳其标签合规-土耳其负责人", + public int? rule_status { get; set; } // 4, // 2为合格,其他为有问题 + public string rule_status_toast { get; set; } // "待传图", + public int affected_site_count { get; set; } // 1, + public example_info example_info { get; set; } + public List rule_result { get; set; } + public string effect_result { get; set; } // "

请立即上传实拍图并确保实物标签均符合适用法律法规,避免影响商品发货入库

", + public bool? show_specification { get; set; } // false, + public List example_content_list { get; set; } + public List material_list { get; set; } // [], + public List error_code { get; set; } // [] + } + public class example_content + { + public int content_type { get; set; } // 0, + public string text { get; set; } // "依据西班牙法规要求,应根据商品包装分类在商品包装上展示对应的回收标识,示例如下:" // content_type==0时 + public string url { get; set; } // "https://commimg.kwcdn.com/oms-public-file/2029de4b78/9660ae7e-66c3-40c9-a493-0ea9f6e54275_2441x1013.jpeg" // content_type==1时 + } + public class rule_result_info + { + public int? type { get; set; } // 1, + public string toast { get; set; } // "标签识别有异常", + public string color { get; set; } // "#F71010", + public bool? need_language { get; set; } // false + } + public class example_info + { + public string example_name { get; set; } // "土耳其标签合规-土耳其负责人", + public string example_desc { get; set; } // "根据土耳其法规要求,销售往土耳其的商品,产品上应标注土耳其负责人信息;如果制造商未在土耳其境内设立,土耳其负责人可以为土耳其授权代表(即土代)、进口商或履行服务商;您需要自行判断您的土耳其负责人属于哪一类,并制作相关标签信息;具体需展示负责人名称、邮政地址,参考表述如下。
\nAd: XXXXXXXX
\nAdres:XXXXXXXX
\n注意:
\n1)土耳其负责人名称、邮政地址的标题和值需使用土耳其语标注
\n2)该信息应标注在产品上,只有在无法标注在产品上时,才可以标注在其包装上或随附产品的文件中;
\n3)负责人地址需要是真实有效的、详细的、能联系到该负责人的地址。例如:门牌号(如有),街道号,乡镇/街道,县/区,市/区,省/直辖市;
\n4)负责人地址涉及的行政区划的翻译不可用中文拼音代替,如lu、jiedao、qu、shi、sheng等均为不合规信息;
\n5)如您所上传的资质文件包含负责人名称、地址信息,为了保证信息的真实性,请确保您商品印刷的负责人名称、地址和资质文件中的负责人名称、地址一致。\n", + public List example_pic_list { get; set; } // ["https://commimg.kwcdn.com/oms-public-file/2013f77872c/77e1ac90-2e5b-4a93-b134-35c9654bd169_522x248.jpeg"], + public List materials { get; set; } + } + public class material + { + public int? content_type { get; set; } // 1, + public string text { get; set; } // "Üretici: {0}\nÜretici Adres:{0}" + public List value_list { get; set; } // ["https://commimg.kwcdn.com/oms-public-file/2013f771338/7e2c5fec-5fe2-4534-a448-d3901d44acea_522x248.jpeg"] // content_type==1 + } + //------------------------------------------------------ + public class RealPictureParam + { + public int? confirm_type { get; set; } // 4 + public long? spu_id { get; set; } // 5230217458 + public long? goods_id { get; set; } // 601103852497488 + public List real_picture_info_list { get; set; } + } + + public class real_picture_info + { + public int? position { get; set; } // 1, + public int? is_same_sku { get; set; } // 1, + public List sku_photo_info_list { get; set; } + } + + public class sku_photo_info + { + public long? sku_id { get; set; } + public List image_list { get; set; } // {"image_url": "https://pos.file.temu.com/flash-tag/20add702d6/615ab801-6ef7-4820-8c1e-9886decc5e56_1280x1707.jpeg"} + } + public class image_param + { + public string image_url { get; set; } + } + //--------------------------------------------------------------- + /// + /// 期望到货区域读取结果 + /// + public class SkcReceiveAreaPickOutInfo + { + public long? productId { get; set; } // 4889882179, + public string productName { get; set; } // "1对女士触屏冬季手套 - 加绒保暖防风,户外活动,冷天配件,适用于骑行、智能手机、徒步旅行 - 米色/粉色/白色/黑色/灰色多色可选 - 适合通勤、滑雪、摩托车驾驶 - 仅限手洗,加绒内衬手套,冬季装备", + public long? leafCatId { get; set; } // 29296, + public string leafCatName { get; set; } // "女士防寒分指手套", + public long? cat4Id { get; set; } // 29294, + public string cat4Name { get; set; } // "女士手套", + public bool? isJit { get; set; } // true, + public bool? isCustom { get; set; } // false, + public long? productSkcId { get; set; } // 27082284620, + public string productSkcPictureUrl { get; set; } // "https://img.kwcdn.com/product/20add70192/d5f9f012-3f46-4781-90a2-2d76bc8cbd4b_800x800.jpeg", + public long? historyDeliveryTwoLevelAddressCode { get; set; } // -1, + public object historyDeliveryTwoLevelAddressDesc { get; set; } // null, + public int? expectReceiveAreaConfigType { get; set; } // 1, + public string expectReceiveAreaConfigDesc { get; set; } // "广东", + public bool? canEditExpectReceiveArea { get; set; } // true + } } diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitForm.resx b/TEMUKJD/KJDForms/ProductForms/TemuJitForm.resx index d2b896d..bf30c02 100644 --- a/TEMUKJD/KJDForms/ProductForms/TemuJitForm.resx +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitForm.resx @@ -174,15 +174,33 @@ True + + True + True True + + True + True + + True + + + True + + + True + + + True + True diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ChangeStockForm.Designer.cs b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ChangeStockForm.Designer.cs new file mode 100644 index 0000000..01d0a3a --- /dev/null +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ChangeStockForm.Designer.cs @@ -0,0 +1,432 @@ + +namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms +{ + partial class ChangeStockForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ChangeStockForm)); + this.panel2 = new System.Windows.Forms.Panel(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.lblProdName = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.panel3 = new System.Windows.Forms.Panel(); + this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); + this.ucStockEdit1 = new TemuKJD.KJDForms.ProductForms.TemuJitSubForms.UcStockEdit(); + this.ucStockEdit2 = new TemuKJD.KJDForms.ProductForms.TemuJitSubForms.UcStockEdit(); + this.ucStockEdit3 = new TemuKJD.KJDForms.ProductForms.TemuJitSubForms.UcStockEdit(); + this.ucStockEdit4 = new TemuKJD.KJDForms.ProductForms.TemuJitSubForms.UcStockEdit(); + this.ucStockEdit5 = new TemuKJD.KJDForms.ProductForms.TemuJitSubForms.UcStockEdit(); + this.line6 = new DevComponents.DotNetBar.Controls.Line(); + this.line4 = new DevComponents.DotNetBar.Controls.Line(); + this.line5 = new DevComponents.DotNetBar.Controls.Line(); + this.label5 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.btnBatchFill = new DevComponents.DotNetBar.PanelEx(); + this.label1 = new System.Windows.Forms.Label(); + this.cmbIsAddOrReduce = new System.Windows.Forms.ComboBox(); + this.txtAddOrReduceNum = new System.Windows.Forms.TextBox(); + this.line2 = new DevComponents.DotNetBar.Controls.Line(); + this.line3 = new DevComponents.DotNetBar.Controls.Line(); + this.line1 = new DevComponents.DotNetBar.Controls.Line(); + this.btnSave = new DevComponents.DotNetBar.PanelEx(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.panel3.SuspendLayout(); + this.flowLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.Controls.Add(this.splitContainer1); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(1, 33); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(484, 609); + this.panel2.TabIndex = 1; + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.lblProdName); + this.splitContainer1.Panel1.Controls.Add(this.pictureBox1); + this.splitContainer1.Panel1.Controls.Add(this.panel3); + this.splitContainer1.Panel1.Controls.Add(this.line6); + this.splitContainer1.Panel1.Controls.Add(this.line4); + this.splitContainer1.Panel1.Controls.Add(this.line5); + this.splitContainer1.Panel1.Controls.Add(this.label5); + this.splitContainer1.Panel1.Controls.Add(this.label4); + this.splitContainer1.Panel1.Controls.Add(this.label3); + this.splitContainer1.Panel1.Controls.Add(this.label2); + this.splitContainer1.Panel1.Controls.Add(this.btnBatchFill); + this.splitContainer1.Panel1.Controls.Add(this.label1); + this.splitContainer1.Panel1.Controls.Add(this.cmbIsAddOrReduce); + this.splitContainer1.Panel1.Controls.Add(this.txtAddOrReduceNum); + this.splitContainer1.Panel1.Controls.Add(this.line2); + this.splitContainer1.Panel1.Controls.Add(this.line3); + this.splitContainer1.Panel1.Controls.Add(this.line1); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.btnSave); + this.splitContainer1.Size = new System.Drawing.Size(484, 609); + this.splitContainer1.SplitterDistance = 564; + this.splitContainer1.TabIndex = 0; + // + // lblProdName + // + this.lblProdName.Location = new System.Drawing.Point(103, 11); + this.lblProdName.Name = "lblProdName"; + this.lblProdName.Size = new System.Drawing.Size(360, 86); + this.lblProdName.TabIndex = 1023; + this.lblProdName.Text = "商品名称"; + // + // pictureBox1 + // + this.pictureBox1.Location = new System.Drawing.Point(9, 10); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(88, 88); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox1.TabIndex = 1022; + this.pictureBox1.TabStop = false; + // + // panel3 + // + this.panel3.AutoScroll = true; + this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel3.Controls.Add(this.flowLayoutPanel1); + this.panel3.Location = new System.Drawing.Point(3, 172); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(478, 389); + this.panel3.TabIndex = 0; + // + // flowLayoutPanel1 + // + this.flowLayoutPanel1.AutoSize = true; + this.flowLayoutPanel1.Controls.Add(this.ucStockEdit1); + this.flowLayoutPanel1.Controls.Add(this.ucStockEdit2); + this.flowLayoutPanel1.Controls.Add(this.ucStockEdit3); + this.flowLayoutPanel1.Controls.Add(this.ucStockEdit4); + this.flowLayoutPanel1.Controls.Add(this.ucStockEdit5); + this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; + this.flowLayoutPanel1.Location = new System.Drawing.Point(1, 0); + this.flowLayoutPanel1.Name = "flowLayoutPanel1"; + this.flowLayoutPanel1.Size = new System.Drawing.Size(458, 260); + this.flowLayoutPanel1.TabIndex = 0; + // + // ucStockEdit1 + // + this.ucStockEdit1.BackColor = System.Drawing.Color.White; + this.ucStockEdit1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ucStockEdit1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ucStockEdit1.Location = new System.Drawing.Point(3, 3); + this.ucStockEdit1.Name = "ucStockEdit1"; + this.ucStockEdit1.Size = new System.Drawing.Size(452, 46); + this.ucStockEdit1.TabIndex = 0; + // + // ucStockEdit2 + // + this.ucStockEdit2.BackColor = System.Drawing.Color.White; + this.ucStockEdit2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ucStockEdit2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ucStockEdit2.Location = new System.Drawing.Point(3, 55); + this.ucStockEdit2.Name = "ucStockEdit2"; + this.ucStockEdit2.Size = new System.Drawing.Size(452, 46); + this.ucStockEdit2.TabIndex = 1; + // + // ucStockEdit3 + // + this.ucStockEdit3.BackColor = System.Drawing.Color.White; + this.ucStockEdit3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ucStockEdit3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ucStockEdit3.Location = new System.Drawing.Point(3, 107); + this.ucStockEdit3.Name = "ucStockEdit3"; + this.ucStockEdit3.Size = new System.Drawing.Size(452, 46); + this.ucStockEdit3.TabIndex = 2; + // + // ucStockEdit4 + // + this.ucStockEdit4.BackColor = System.Drawing.Color.White; + this.ucStockEdit4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ucStockEdit4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ucStockEdit4.Location = new System.Drawing.Point(3, 159); + this.ucStockEdit4.Name = "ucStockEdit4"; + this.ucStockEdit4.Size = new System.Drawing.Size(452, 46); + this.ucStockEdit4.TabIndex = 3; + // + // ucStockEdit5 + // + this.ucStockEdit5.BackColor = System.Drawing.Color.White; + this.ucStockEdit5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ucStockEdit5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ucStockEdit5.Location = new System.Drawing.Point(3, 211); + this.ucStockEdit5.Name = "ucStockEdit5"; + this.ucStockEdit5.Size = new System.Drawing.Size(452, 46); + this.ucStockEdit5.TabIndex = 4; + // + // line6 + // + this.line6.ForeColor = System.Drawing.Color.DarkGray; + this.line6.Location = new System.Drawing.Point(475, 143); + this.line6.Name = "line6"; + this.line6.Size = new System.Drawing.Size(10, 53); + this.line6.TabIndex = 1021; + this.line6.Text = "line6"; + this.line6.VerticalLine = true; + // + // line4 + // + this.line4.ForeColor = System.Drawing.Color.DarkGray; + this.line4.Location = new System.Drawing.Point(218, 143); + this.line4.Name = "line4"; + this.line4.Size = new System.Drawing.Size(10, 53); + this.line4.TabIndex = 1019; + this.line4.Text = "line4"; + this.line4.VerticalLine = true; + // + // line5 + // + this.line5.ForeColor = System.Drawing.Color.DarkGray; + this.line5.Location = new System.Drawing.Point(368, 143); + this.line5.Name = "line5"; + this.line5.Size = new System.Drawing.Size(10, 53); + this.line5.TabIndex = 1020; + this.line5.Text = "line5"; + this.line5.VerticalLine = true; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(376, 148); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(68, 17); + this.label5.TabIndex = 1015; + this.label5.Text = "修改后库存"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(226, 148); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(56, 17); + this.label4.TabIndex = 1014; + this.label4.Text = "库存增减"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(140, 148); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(56, 17); + this.label3.TabIndex = 1013; + this.label3.Text = "当前库存"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(11, 148); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(44, 17); + this.label2.TabIndex = 1012; + this.label2.Text = "属性集"; + // + // btnBatchFill + // + this.btnBatchFill.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnBatchFill.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnBatchFill.DisabledBackColor = System.Drawing.Color.Empty; + this.btnBatchFill.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnBatchFill.Location = new System.Drawing.Point(225, 112); + this.btnBatchFill.Name = "btnBatchFill"; + this.btnBatchFill.Size = new System.Drawing.Size(67, 23); + this.btnBatchFill.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnBatchFill.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnBatchFill.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnBatchFill.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnBatchFill.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnBatchFill.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnBatchFill.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnBatchFill.Style.GradientAngle = 90; + this.btnBatchFill.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnBatchFill.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnBatchFill.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnBatchFill.TabIndex = 1008; + this.btnBatchFill.Text = "批量填充"; + this.btnBatchFill.Click += new System.EventHandler(this.btnBatchFill_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(5, 114); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(80, 17); + this.label1.TabIndex = 1; + this.label1.Text = "批量增加库存"; + // + // cmbIsAddOrReduce + // + this.cmbIsAddOrReduce.FormattingEnabled = true; + this.cmbIsAddOrReduce.Items.AddRange(new object[] { + "增加", + "减少"}); + this.cmbIsAddOrReduce.Location = new System.Drawing.Point(91, 111); + this.cmbIsAddOrReduce.Name = "cmbIsAddOrReduce"; + this.cmbIsAddOrReduce.Size = new System.Drawing.Size(52, 25); + this.cmbIsAddOrReduce.TabIndex = 5; + this.cmbIsAddOrReduce.Text = "增加"; + // + // txtAddOrReduceNum + // + this.txtAddOrReduceNum.Location = new System.Drawing.Point(143, 112); + this.txtAddOrReduceNum.Name = "txtAddOrReduceNum"; + this.txtAddOrReduceNum.Size = new System.Drawing.Size(76, 23); + this.txtAddOrReduceNum.TabIndex = 6; + // + // line2 + // + this.line2.ForeColor = System.Drawing.Color.DarkGray; + this.line2.Location = new System.Drawing.Point(2, 143); + this.line2.Name = "line2"; + this.line2.Size = new System.Drawing.Size(10, 53); + this.line2.TabIndex = 1017; + this.line2.Text = "line2"; + this.line2.VerticalLine = true; + // + // line3 + // + this.line3.ForeColor = System.Drawing.Color.DarkGray; + this.line3.Location = new System.Drawing.Point(131, 143); + this.line3.Name = "line3"; + this.line3.Size = new System.Drawing.Size(10, 53); + this.line3.TabIndex = 1018; + this.line3.Text = "line3"; + this.line3.VerticalLine = true; + // + // line1 + // + this.line1.ForeColor = System.Drawing.Color.DarkGray; + this.line1.Location = new System.Drawing.Point(7, 131); + this.line1.Name = "line1"; + this.line1.Size = new System.Drawing.Size(474, 23); + this.line1.TabIndex = 1016; + this.line1.Text = "line1"; + // + // btnSave + // + this.btnSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnSave.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSave.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSave.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSave.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSave.Location = new System.Drawing.Point(403, 6); + this.btnSave.Name = "btnSave"; + this.btnSave.Size = new System.Drawing.Size(67, 23); + this.btnSave.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSave.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSave.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSave.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSave.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSave.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSave.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSave.Style.GradientAngle = 90; + this.btnSave.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSave.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSave.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSave.TabIndex = 1004; + this.btnSave.Text = "保存编辑"; + this.btnSave.Click += new System.EventHandler(this.btnSave_Click); + // + // ChangeStockForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(486, 643); + this.Controls.Add(this.panel2); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "ChangeStockForm"; + this.Text = "修改库存"; + this.TitleText = "修改库存"; + this.Load += new System.EventHandler(this.ChangeStockForm_Load); + this.Controls.SetChildIndex(this.panel2, 0); + this.panel2.ResumeLayout(false); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel1.PerformLayout(); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + this.flowLayoutPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.Panel panel3; + private DevComponents.DotNetBar.PanelEx btnSave; + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; + private UcStockEdit ucStockEdit1; + private UcStockEdit ucStockEdit2; + private UcStockEdit ucStockEdit3; + private UcStockEdit ucStockEdit4; + private UcStockEdit ucStockEdit5; + private System.Windows.Forms.Label label1; + public System.Windows.Forms.TextBox txtAddOrReduceNum; + public System.Windows.Forms.ComboBox cmbIsAddOrReduce; + private System.Windows.Forms.Label lblProdName; + private System.Windows.Forms.PictureBox pictureBox1; + private DevComponents.DotNetBar.Controls.Line line6; + private DevComponents.DotNetBar.Controls.Line line4; + private DevComponents.DotNetBar.Controls.Line line5; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private DevComponents.DotNetBar.Controls.Line line2; + private DevComponents.DotNetBar.Controls.Line line3; + private DevComponents.DotNetBar.Controls.Line line1; + public DevComponents.DotNetBar.PanelEx btnBatchFill; + } +} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ChangeStockForm.cs b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ChangeStockForm.cs new file mode 100644 index 0000000..7ed1290 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ChangeStockForm.cs @@ -0,0 +1,152 @@ +using AllBase; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.BaseForms; +using TemuKJD.BLL; + +namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms +{ + public partial class ChangeStockForm : LRBaseForm + { + public bool IsSuccess = false; + public changeStockParam stockParam; + ShopLoginInfo shop; + TemuListProductInfo product; + public ChangeStockForm(ShopLoginInfo _shop, TemuListProductInfo _product) + { + InitializeComponent(); + shop = _shop; + product = _product; + } + + private void btnBatchFill_Click(object sender, EventArgs e) + { + foreach (var control in flowLayoutPanel1.Controls) + { + var edit = control as UcStockEdit; + if (edit == null) + { + continue; + } + edit.cmbIsAddOrReduce.Text = this.cmbIsAddOrReduce.Text; + edit.txtAddOrReduceNum.Text = this.txtAddOrReduceNum.Text; + } + } + + private void ChangeStockForm_Load(object sender, EventArgs e) + { + lblProdName.Text = ""; + this.flowLayoutPanel1.Controls.Clear(); + if (shop != null && product != null) + { + lblProdName.Text = product.productName; + this.pictureBox1.ImageLocation = product.mainImageUrl.Replace("https://", "http://").Replace("img.kwcdn.com", "img.cdnfe.com"); + foreach (var sku in product.productSkuSummaries) + { + UcStockEdit edit = new UcStockEdit(); + edit.txtSkuName.Text = string.Join(",", sku.productSkuSpecList.Select(s => s.specName)); + edit.txtStockNow.Text = sku.virtualStock == null ? "-" : sku.virtualStock.ParseToString(); + edit.lblStockAfterChange.Text = ""; + edit.Tag = sku; + this.flowLayoutPanel1.Controls.Add(edit); + } + } + } + + private void btnSave_Click(object sender, EventArgs e) + { + stockParam = new changeStockParam(); + stockParam.productId = this.product.productId; + stockParam.skcVirtualStockChangeDTOList = new List(); + + skcVirtualStockChangeDTO stockChangeDtoParam = new skcVirtualStockChangeDTO(); + stockParam.skcVirtualStockChangeDTOList.Add(stockChangeDtoParam); + stockChangeDtoParam.productSkcId = this.product.productSkcId; + stockChangeDtoParam.stockUpdateSource = 1; + stockChangeDtoParam.skuVirtualStockChangeList = new List(); + foreach (var control in flowLayoutPanel1.Controls) + { + var edit = control as UcStockEdit; + if (edit == null) + { + continue; + } + var sku = edit.Tag as TemuProductSkusummaryItem; + if (sku == null) + { + continue; + } + skuVirtualStockChange change = new skuVirtualStockChange() + { + productSkuId = sku.productSkuId, + currentStockAvailable = sku.virtualStock.ParseToInt(), + virtualStockDiff = edit.txtAddOrReduceNum.Text.ParseToInt(), + }; + if (edit.cmbIsAddOrReduce.Text == "减少") + change.virtualStockDiff = 0 - change.virtualStockDiff; + if (change.virtualStockDiff != 0) + stockChangeDtoParam.skuVirtualStockChangeList.Add(change); + } + if (stockChangeDtoParam.skuVirtualStockChangeList.Count == 0) + { + BaseMsgForm.ShowError("请至少改动一项价格!"); + return; + } + var rst = EditStock(shop, stockParam); + if (!rst.Contains("\"success\":true")) + { + var msg = BaseRegex.GetStringJson(ref rst, "errorMsg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = BaseRegex.GetStringJson(ref rst, "error_msg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = rst; + BaseMsgForm.ShowError("修改库存失败:" + msg); + return; + } + else + { + IsSuccess = true; + BaseMsgForm.ShowInfo("修改库存成功!"); + this.Close(); + } + } + + + + private string EditStock(ShopLoginInfo shop, changeStockParam stockParam) + { + string url = "https://agentseller.temu.com/darwin-mms/api/kiana/foredawn/sales/stock/updateMmsProductSalesStock"; + //{"productId":4889882179,"skcVirtualStockChangeDTOList":[{"productSkcId":27082284620,"stockUpdateSource":1,"skuVirtualStockChangeList":[{"productSkuId":87938232253,"currentStockAvailable":13,"virtualStockDiff":2},{"productSkuId":78089705671,"currentStockAvailable":13,"virtualStockDiff":2},{"productSkuId":24545018268,"currentStockAvailable":13,"virtualStockDiff":2},{"productSkuId":88309123782,"currentStockAvailable":13,"virtualStockDiff":2},{"productSkuId":28284209950,"currentStockAvailable":13,"virtualStockDiff":2}]}]} + string body = JsonHelper.SerializeObject(stockParam); + string refere = "https://agentseller.temu.com/goods/list"; + return HttpResponseBLL.PostResponse2(shop, url, body, refere); + } + } + + public class changeStockParam + { + public long? productId { get; set; } // 27082284620 + public List skcVirtualStockChangeDTOList { get; set; } + } + public class skcVirtualStockChangeDTO + { + public long? productSkcId { get; set; } // 27082284620, + public int? stockUpdateSource { get; set; } // 1, + public List skuVirtualStockChangeList { get; set; } + } + public class skuVirtualStockChange + { + public long? productSkuId { get; set; } // 87938232253, + public int? currentStockAvailable { get; set; } // 15, + public int? virtualStockDiff { get; set; } // -2 + } +} diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ChangeStockForm.resx b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ChangeStockForm.resx new file mode 100644 index 0000000..2bdeb30 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ChangeStockForm.resx @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ + AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA + OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT + AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj/////// + ///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP// + //////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4 + mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ + mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ + mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ + mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ + mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ + mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY + //+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ + mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf + //+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/ + //uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv/// + //+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP// + if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ + mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz + MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn/// + iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4 + kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP// + /////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ + mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ + mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ + mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ + mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ + //85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ + mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ + mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ + mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT + mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj/////// + ///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn/// + //////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ + mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ + mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ + mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ + mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj/////////// + ///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY////// + ////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP + //////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4 + /4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ + mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ + mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7 + mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4 + eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb//// + ///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ + mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj///// + /4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/ + ///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ + mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ + mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ + mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ + mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA + AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA + AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA + AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w + AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA + Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA + AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA + AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA + AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA + AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA + AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA + AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD///// + wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w== + + + \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ComplianceForm.Designer.cs b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ComplianceForm.Designer.cs index 07757d7..2f89859 100644 --- a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ComplianceForm.Designer.cs +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ComplianceForm.Designer.cs @@ -31,6 +31,7 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ComplianceForm)); this.panel2 = new System.Windows.Forms.Panel(); + this.btnSave = new DevComponents.DotNetBar.PanelEx(); this.label4 = new System.Windows.Forms.Label(); this.cmbLaw65 = new System.Windows.Forms.ComboBox(); this.label3 = new System.Windows.Forms.Label(); @@ -39,7 +40,6 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms this.cmbEUPerson = new System.Windows.Forms.ComboBox(); this.label1 = new System.Windows.Forms.Label(); this.txtCode = new System.Windows.Forms.TextBox(); - this.btnSave = new DevComponents.DotNetBar.PanelEx(); this.panel2.SuspendLayout(); this.SuspendLayout(); // @@ -61,6 +61,30 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms this.panel2.Size = new System.Drawing.Size(428, 319); this.panel2.TabIndex = 1; // + // btnSave + // + this.btnSave.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSave.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSave.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSave.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSave.Location = new System.Drawing.Point(287, 226); + this.btnSave.Name = "btnSave"; + this.btnSave.Size = new System.Drawing.Size(67, 23); + this.btnSave.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSave.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSave.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSave.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSave.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSave.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSave.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSave.Style.GradientAngle = 90; + this.btnSave.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSave.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSave.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSave.TabIndex = 1000; + this.btnSave.Text = "保存编辑"; + this.btnSave.Click += new System.EventHandler(this.btnSave_Click); + // // label4 // this.label4.AutoSize = true; @@ -129,30 +153,6 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms this.txtCode.Size = new System.Drawing.Size(211, 23); this.txtCode.TabIndex = 0; // - // btnSave - // - this.btnSave.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnSave.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnSave.DisabledBackColor = System.Drawing.Color.Empty; - this.btnSave.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSave.Location = new System.Drawing.Point(287, 226); - this.btnSave.Name = "btnSave"; - this.btnSave.Size = new System.Drawing.Size(67, 23); - this.btnSave.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnSave.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnSave.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnSave.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnSave.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnSave.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnSave.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnSave.Style.GradientAngle = 90; - this.btnSave.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnSave.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnSave.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnSave.TabIndex = 1000; - this.btnSave.Text = "保存编辑"; - this.btnSave.Click += new System.EventHandler(this.btnSave_Click); - // // ComplianceForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -174,7 +174,6 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms #endregion private System.Windows.Forms.Panel panel2; - private System.Windows.Forms.TextBox txtCode; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.ComboBox cmbEUPerson; @@ -182,6 +181,7 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms private System.Windows.Forms.ComboBox cmbMakerInfo; private System.Windows.Forms.Label label4; private System.Windows.Forms.ComboBox cmbLaw65; - private DevComponents.DotNetBar.PanelEx btnSave; + public System.Windows.Forms.TextBox txtCode; + public DevComponents.DotNetBar.PanelEx btnSave; } } \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ComplianceForm.cs b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ComplianceForm.cs index 059e066..ae7648a 100644 --- a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ComplianceForm.cs +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ComplianceForm.cs @@ -18,6 +18,8 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms { public partial class ComplianceForm : LRBaseForm { + public bool IsAuto = false; + public string ErrMsg = ""; public bool EditSuccess = false; public ShopLoginInfo shop; public complianceInfo complianceInfo; @@ -80,6 +82,11 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms } catch (Exception ex) { + if (IsAuto) + { + ErrMsg = ex.Message; + Close(); + } BaseMsgForm.ShowError(ex.Message); } } @@ -120,18 +127,31 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms } catch (Exception ex) { + if (IsAuto) + { + ErrMsg = ex.Message; + Close(); + } BaseMsgForm.ShowError(ex.Message); } } } - private void btnSave_Click(object sender, EventArgs e) + public void btnSave_Click(object sender, EventArgs e) { try { EditCompliance(); } - catch (Exception ex) { BaseMsgForm.ShowError(ex.Message); } + catch (Exception ex) + { + if (IsAuto) + { + ErrMsg = ex.Message; + Close(); + } + BaseMsgForm.ShowError(ex.Message); + } } private void EditCompliance() @@ -248,7 +268,8 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms if (editComplianceRst.Contains("\"success\":true")) { EditSuccess = true; - BaseMsgForm.ShowInfo("修改成功!"); + if (!IsAuto) + BaseMsgForm.ShowInfo("修改成功!"); this.Close(); } else @@ -258,6 +279,12 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms sErrMsg = BaseRegex.GetStringJson(ref editComplianceRst, "error_msg").ParseToString(); if (string.IsNullOrEmpty(sErrMsg)) sErrMsg = editComplianceRst; + + if (IsAuto) + { + ErrMsg = sErrMsg; + Close(); + } BaseMsgForm.ShowError(sErrMsg); } } diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ReceiveAreaForm.Designer.cs b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ReceiveAreaForm.Designer.cs new file mode 100644 index 0000000..2c766ad --- /dev/null +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ReceiveAreaForm.Designer.cs @@ -0,0 +1,175 @@ + +namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms +{ + partial class ReceiveAreaForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ReceiveAreaForm)); + this.panel2 = new System.Windows.Forms.Panel(); + this.lblProdName = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.btnSave = new DevComponents.DotNetBar.PanelEx(); + this.radioButton2 = new System.Windows.Forms.RadioButton(); + this.radioButton3 = new System.Windows.Forms.RadioButton(); + this.radioButton1 = new System.Windows.Forms.RadioButton(); + this.label1 = new System.Windows.Forms.Label(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.Controls.Add(this.label1); + this.panel2.Controls.Add(this.lblProdName); + this.panel2.Controls.Add(this.pictureBox1); + this.panel2.Controls.Add(this.btnSave); + this.panel2.Controls.Add(this.radioButton2); + this.panel2.Controls.Add(this.radioButton3); + this.panel2.Controls.Add(this.radioButton1); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(1, 33); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(460, 324); + this.panel2.TabIndex = 1; + // + // lblProdName + // + this.lblProdName.Location = new System.Drawing.Point(116, 22); + this.lblProdName.Name = "lblProdName"; + this.lblProdName.Size = new System.Drawing.Size(320, 86); + this.lblProdName.TabIndex = 1025; + this.lblProdName.Text = "商品名称"; + // + // pictureBox1 + // + this.pictureBox1.Location = new System.Drawing.Point(22, 21); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(88, 88); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox1.TabIndex = 1024; + this.pictureBox1.TabStop = false; + // + // btnSave + // + this.btnSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnSave.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSave.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSave.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSave.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSave.Location = new System.Drawing.Point(357, 270); + this.btnSave.Name = "btnSave"; + this.btnSave.Size = new System.Drawing.Size(67, 23); + this.btnSave.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSave.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSave.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSave.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSave.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSave.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSave.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSave.Style.GradientAngle = 90; + this.btnSave.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSave.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSave.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSave.TabIndex = 1008; + this.btnSave.Text = "保存"; + this.btnSave.Click += new System.EventHandler(this.btnSave_Click); + // + // radioButton2 + // + this.radioButton2.AutoSize = true; + this.radioButton2.Location = new System.Drawing.Point(61, 195); + this.radioButton2.Name = "radioButton2"; + this.radioButton2.Size = new System.Drawing.Size(50, 21); + this.radioButton2.TabIndex = 2; + this.radioButton2.TabStop = true; + this.radioButton2.Text = "义乌"; + this.radioButton2.UseVisualStyleBackColor = true; + // + // radioButton3 + // + this.radioButton3.AutoSize = true; + this.radioButton3.Location = new System.Drawing.Point(61, 228); + this.radioButton3.Name = "radioButton3"; + this.radioButton3.Size = new System.Drawing.Size(158, 21); + this.radioButton3.TabIndex = 1; + this.radioButton3.TabStop = true; + this.radioButton3.Text = "按照历史发货地就近推荐"; + this.radioButton3.UseVisualStyleBackColor = true; + // + // radioButton1 + // + this.radioButton1.AutoSize = true; + this.radioButton1.Location = new System.Drawing.Point(61, 162); + this.radioButton1.Name = "radioButton1"; + this.radioButton1.Size = new System.Drawing.Size(50, 21); + this.radioButton1.TabIndex = 0; + this.radioButton1.TabStop = true; + this.radioButton1.Text = "广东"; + this.radioButton1.UseVisualStyleBackColor = true; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(34, 130); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(104, 17); + this.label1.TabIndex = 1029; + this.label1.Text = "请选择到货区域:"; + // + // ReceiveAreaForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(462, 358); + this.Controls.Add(this.panel2); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "ReceiveAreaForm"; + this.Text = "期望到货区域"; + this.TitleText = "期望到货区域"; + this.Load += new System.EventHandler(this.ReceiveAreaForm_Load); + this.Controls.SetChildIndex(this.panel2, 0); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.RadioButton radioButton2; + private System.Windows.Forms.RadioButton radioButton3; + private System.Windows.Forms.RadioButton radioButton1; + private DevComponents.DotNetBar.PanelEx btnSave; + private System.Windows.Forms.Label lblProdName; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ReceiveAreaForm.cs b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ReceiveAreaForm.cs new file mode 100644 index 0000000..63ac592 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ReceiveAreaForm.cs @@ -0,0 +1,95 @@ +using AllBase; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.BaseForms; +using TemuKJD.BLL; + +namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms +{ + public partial class ReceiveAreaForm : LRBaseForm + { + public bool IsSuccess = false; + ShopLoginInfo shop; + SkcReceiveAreaPickOutInfo receiveArea; + public ReceiveAreaForm(ShopLoginInfo _shop, SkcReceiveAreaPickOutInfo _ReceiveArea) + { + InitializeComponent(); + + shop = _shop; + receiveArea = _ReceiveArea; + } + + private void ReceiveAreaForm_Load(object sender, EventArgs e) + { + if (receiveArea.expectReceiveAreaConfigType == 1) + { + this.radioButton1.Checked = true; + } + if (receiveArea.expectReceiveAreaConfigType == 2) + { + this.radioButton2.Checked = true; + } + if (receiveArea.expectReceiveAreaConfigType == 3) + { + this.radioButton3.Checked = true; + } + + lblProdName.Text = receiveArea?.productName; + this.pictureBox1.ImageLocation = receiveArea?.productSkcPictureUrl.Replace("https://", "http://").Replace("img.kwcdn.com", "img.cdnfe.com"); + } + + private void btnSave_Click(object sender, EventArgs e) + { + int areaId = 1; + if (this.radioButton2.Checked) + areaId = 2; + if (this.radioButton3.Checked) + areaId = 3; + + var areaEditRst = EditReceiveArea(shop, areaId, receiveArea.productSkcId.ParseToString()); + if (!areaEditRst.Contains("\"success\":true")) + { + var msg = BaseRegex.GetStringJson(ref areaEditRst, "errorMsg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = BaseRegex.GetStringJson(ref areaEditRst, "error_msg").ParseToString(); + if (string.IsNullOrEmpty(msg)) + msg = areaEditRst; + BaseMsgForm.ShowError("修改期望到货区域失败:" + msg); + return; + } + else + { + receiveArea.expectReceiveAreaConfigType = areaId; + if (areaId == 1) + receiveArea.expectReceiveAreaConfigDesc = radioButton1.Text; + if (areaId == 2) + receiveArea.expectReceiveAreaConfigDesc = radioButton2.Text; + if (areaId == 3) + receiveArea.expectReceiveAreaConfigDesc = radioButton3.Text; + IsSuccess = true; + BaseMsgForm.ShowInfo("修改期望到货区域成功!"); + this.Close(); + } + } + + private string EditReceiveArea(ShopLoginInfo shop, int AreaId, string skcIds) + { + string url = "https://agentseller.temu.com/mms/turbo/supplier/pick/out/config/editExpectReceiveArea"; + string body; + body = @"{""exceptReceiveAreaConfigType"":" + AreaId + @",""productSkcIdList"":[" + skcIds + "]}"; //@"{""exceptReceiveAreaConfigType"":3,""productSkcIdList"":[27082284620]}"; + + string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main"; + + return HttpResponseBLL.PostResponse2(shop, url, body, refere); + } + } +} diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ReceiveAreaForm.resx b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ReceiveAreaForm.resx new file mode 100644 index 0000000..2bdeb30 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ReceiveAreaForm.resx @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ + AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA + OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT + AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj/////// + ///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP// + //////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4 + mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ + mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ + mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ + mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ + mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ + mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY + //+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ + mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf + //+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/ + //uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv/// + //+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP// + if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ + mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz + MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn/// + iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4 + kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP// + /////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ + mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ + mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ + mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ + mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ + //85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ + mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ + mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ + mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT + mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj/////// + ///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn/// + //////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ + mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ + mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ + mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ + mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj/////////// + ///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY////// + ////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP + //////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4 + /4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ + mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ + mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7 + mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4 + eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb//// + ///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ + mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj///// + /4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/ + ///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ + mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ + mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ + mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ + mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA + AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA + AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA + AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w + AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA + Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA + AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA + AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA + AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA + AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA + AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA + AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD///// + wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w== + + + \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/UcStockEdit.Designer.cs b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/UcStockEdit.Designer.cs new file mode 100644 index 0000000..06c8f19 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/UcStockEdit.Designer.cs @@ -0,0 +1,151 @@ + +namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms +{ + partial class UcStockEdit + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.txtSkuName = new System.Windows.Forms.TextBox(); + this.txtStockNow = new System.Windows.Forms.TextBox(); + this.line1 = new DevComponents.DotNetBar.Controls.Line(); + this.cmbIsAddOrReduce = new System.Windows.Forms.ComboBox(); + this.txtAddOrReduceNum = new System.Windows.Forms.TextBox(); + this.lblStockAfterChange = new System.Windows.Forms.Label(); + this.line2 = new DevComponents.DotNetBar.Controls.Line(); + this.line3 = new DevComponents.DotNetBar.Controls.Line(); + this.SuspendLayout(); + // + // txtSkuName + // + this.txtSkuName.BackColor = System.Drawing.Color.White; + this.txtSkuName.Location = new System.Drawing.Point(15, 11); + this.txtSkuName.Name = "txtSkuName"; + this.txtSkuName.ReadOnly = true; + this.txtSkuName.Size = new System.Drawing.Size(100, 23); + this.txtSkuName.TabIndex = 0; + // + // txtStockNow + // + this.txtStockNow.BackColor = System.Drawing.Color.White; + this.txtStockNow.Location = new System.Drawing.Point(140, 11); + this.txtStockNow.Name = "txtStockNow"; + this.txtStockNow.ReadOnly = true; + this.txtStockNow.Size = new System.Drawing.Size(64, 23); + this.txtStockNow.TabIndex = 1; + // + // line1 + // + this.line1.ForeColor = System.Drawing.SystemColors.AppWorkspace; + this.line1.Location = new System.Drawing.Point(119, -8); + this.line1.Name = "line1"; + this.line1.Size = new System.Drawing.Size(19, 60); + this.line1.TabIndex = 2; + this.line1.Text = "line1"; + this.line1.VerticalLine = true; + // + // cmbIsAddOrReduce + // + this.cmbIsAddOrReduce.FormattingEnabled = true; + this.cmbIsAddOrReduce.Items.AddRange(new object[] { + "增加", + "减少"}); + this.cmbIsAddOrReduce.Location = new System.Drawing.Point(226, 10); + this.cmbIsAddOrReduce.Name = "cmbIsAddOrReduce"; + this.cmbIsAddOrReduce.Size = new System.Drawing.Size(52, 25); + this.cmbIsAddOrReduce.TabIndex = 3; + this.cmbIsAddOrReduce.Text = "增加"; + this.cmbIsAddOrReduce.TextChanged += new System.EventHandler(this.cmbIsAddOrReduce_TextChanged); + // + // txtAddOrReduceNum + // + this.txtAddOrReduceNum.Location = new System.Drawing.Point(278, 11); + this.txtAddOrReduceNum.Name = "txtAddOrReduceNum"; + this.txtAddOrReduceNum.Size = new System.Drawing.Size(76, 23); + this.txtAddOrReduceNum.TabIndex = 4; + this.txtAddOrReduceNum.TextChanged += new System.EventHandler(this.txtAddOrReduceNum_TextChanged); + // + // lblStockAfterChange + // + this.lblStockAfterChange.Location = new System.Drawing.Point(371, 11); + this.lblStockAfterChange.Name = "lblStockAfterChange"; + this.lblStockAfterChange.Size = new System.Drawing.Size(78, 23); + this.lblStockAfterChange.TabIndex = 5; + this.lblStockAfterChange.Text = "修改后库存"; + this.lblStockAfterChange.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // line2 + // + this.line2.ForeColor = System.Drawing.SystemColors.AppWorkspace; + this.line2.Location = new System.Drawing.Point(206, -8); + this.line2.Name = "line2"; + this.line2.Size = new System.Drawing.Size(19, 60); + this.line2.TabIndex = 6; + this.line2.Text = "line2"; + this.line2.VerticalLine = true; + // + // line3 + // + this.line3.ForeColor = System.Drawing.SystemColors.AppWorkspace; + this.line3.Location = new System.Drawing.Point(356, -8); + this.line3.Name = "line3"; + this.line3.Size = new System.Drawing.Size(19, 60); + this.line3.TabIndex = 7; + this.line3.Text = "line3"; + this.line3.VerticalLine = true; + // + // UcStockEdit + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.Controls.Add(this.lblStockAfterChange); + this.Controls.Add(this.txtAddOrReduceNum); + this.Controls.Add(this.cmbIsAddOrReduce); + this.Controls.Add(this.line1); + this.Controls.Add(this.txtStockNow); + this.Controls.Add(this.txtSkuName); + this.Controls.Add(this.line2); + this.Controls.Add(this.line3); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Name = "UcStockEdit"; + this.Size = new System.Drawing.Size(452, 46); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private DevComponents.DotNetBar.Controls.Line line1; + public System.Windows.Forms.TextBox txtSkuName; + public System.Windows.Forms.TextBox txtStockNow; + public System.Windows.Forms.ComboBox cmbIsAddOrReduce; + public System.Windows.Forms.TextBox txtAddOrReduceNum; + public System.Windows.Forms.Label lblStockAfterChange; + private DevComponents.DotNetBar.Controls.Line line2; + private DevComponents.DotNetBar.Controls.Line line3; + } +} diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/UcStockEdit.cs b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/UcStockEdit.cs new file mode 100644 index 0000000..d3760a4 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/UcStockEdit.cs @@ -0,0 +1,39 @@ +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms +{ + public partial class UcStockEdit : UserControl + { + public UcStockEdit() + { + InitializeComponent(); + } + + private void cmbIsAddOrReduce_TextChanged(object sender, EventArgs e) + { + ChangeValue(); + } + + private void txtAddOrReduceNum_TextChanged(object sender, EventArgs e) + { + ChangeValue(); + } + + void ChangeValue() + { + if (cmbIsAddOrReduce.Text == "减少") + lblStockAfterChange.Text = "" + (txtStockNow.Text.ParseToInt() - txtAddOrReduceNum.Text.ParseToInt()); + else + lblStockAfterChange.Text = "" + (txtStockNow.Text.ParseToInt() + txtAddOrReduceNum.Text.ParseToInt()); + } + } +} diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/UcStockEdit.resx b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/UcStockEdit.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/UcStockEdit.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs index 0dbba0f..4ef5ee2 100644 --- a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs @@ -934,6 +934,35 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms return "上传失败 " + html; } + if (dbProd.cat_id != catId.ParseToString()) + { + //var catRst = GetCatPathList(shop, prodParam.productDraftId.ParseToString(), catId.ParseToString()); + //if (catRst.Contains("\"success\":true")) + //{ + // var regex = BaseRegex.GetMatchRegex(ref catRst, "\\\"catId\\\":\\d{1,10}"); + // if (regex.Count > 0) + // { + // var cats = regex.Cast().Select(m => m.Value.ParseToString().Replace("\"catId\":", "").ParseToLong()).ToList(); + // if (!cats.Any(c => c <= 0)) + // { + // while (cats.Count < 10) + // cats.Add(0); + + // prodParam.cat1Id = cats[0]; + // prodParam.cat2Id = cats[1]; + // prodParam.cat3Id = cats[2]; + // prodParam.cat4Id = cats[3]; + // prodParam.cat5Id = cats[4]; + // prodParam.cat6Id = cats[5]; + // prodParam.cat7Id = cats[6]; + // prodParam.cat8Id = cats[7]; + // prodParam.cat9Id = cats[8]; + // prodParam.cat10Id = cats[9]; + // } + // } + //} + } + prodParam.carouselImageI18nReqs = prodInfo.carouselImageI18nVOList; prodParam.carouselImageUrls = prodInfo.carouselImageUrls; diff --git a/TEMUKJD/KJDForms/ShopForms/ReturnPackageDetailForm.cs b/TEMUKJD/KJDForms/ShopForms/ReturnPackageDetailForm.cs index ed29282..a616bad 100644 --- a/TEMUKJD/KJDForms/ShopForms/ReturnPackageDetailForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ReturnPackageDetailForm.cs @@ -246,10 +246,10 @@ namespace TemuKJD.KJDForms.ShopForms } string prodJsonStr = ""; - string skcIds = string.Join(",", packageLstTmp.Select(p => p.productSkuId).Distinct()); - if (skcIds.Length > 0) + string skuIds = string.Join(",", packageLstTmp.Select(p => p.productSkuId).Distinct()); + if (skuIds.Length > 0) { - prodJsonStr = GetProductList(shop, skcIds); + prodJsonStr = GetProductList(shop, skuIds); if (prodJsonStr.Contains("\"success\":true")) { diff --git a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsDetailForm.cs b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsDetailForm.cs index 6e4bd1e..196a8ad 100644 --- a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsDetailForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsDetailForm.cs @@ -231,7 +231,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics { ProductChangePriceForm changePriceForm = new ProductChangePriceForm(shop, order); changePriceForm.ShowDialog(); - if (changePriceForm.AdjustPrice == true) + if (changePriceForm.IsAdjustPrice == true) { if (ShopOrderStatisticsForm.OrderStatisticsInstance != null) {