From 8135f506863fb5b6bf6098fac2637e14d32fbe7c Mon Sep 17 00:00:00 2001 From: wule Date: Fri, 22 Aug 2025 19:48:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E6=80=81=E9=9A=8F=E6=9C=BA=E6=8D=A2?= =?UTF-8?q?=E5=9B=BE=EF=BC=8C=E4=B8=8A=E4=BC=A0=E5=90=8E=E8=BF=98=E5=8E=9F?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=92=8C=E6=A0=87=E9=A2=98=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AllBase/BaseClass.cs | 4 +- AllBase/Helper/DataOpenSSL.cs | 3 + KJDService/KJD_WebService/BLL/ShopManage.cs | 195 +++- KJDService/KJD_WebService/ShopService.asmx.cs | 12 + TEMUKJD/KJD.csproj | 9 + .../KJDForms/AdminForms/AdminForm.Designer.cs | 14 +- TEMUKJD/KJDForms/AdminForms/AdminForm.cs | 8 +- .../AdminProductPriceCheckForm.Designer.cs | 870 ++++++++++++++++++ .../AdminForms/AdminProductPriceCheckForm.cs | 173 ++++ .../AdminProductPriceCheckForm.resx | 186 ++++ .../KJDForms/AdminForms/AdminShopListForm.cs | 4 +- .../ProductResponse/KJDHttpResponse.cs | 105 ++- .../DbProductSelectListManageForm.Designer.cs | 126 ++- .../DbProductSelectListManageForm.cs | 325 +++++++ TEMUKJD/KJDForms/ShopForms/ShopForm.cs | 2 +- .../Statistics/ShopStatisticsForm.cs | 13 +- TEMUKJD/UserControls/UcSplitPage.Designer.cs | 35 +- 17 files changed, 2034 insertions(+), 50 deletions(-) create mode 100644 TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.Designer.cs create mode 100644 TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs create mode 100644 TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.resx diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index 6aca3c6..25e7b7a 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,8 +27,8 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 538; - //public static int VersionCount = 538; + public static int VersionCount = 550; + //public static int VersionCount = 550; /// /// 版本号 diff --git a/AllBase/Helper/DataOpenSSL.cs b/AllBase/Helper/DataOpenSSL.cs index 2325218..aeef9c9 100644 --- a/AllBase/Helper/DataOpenSSL.cs +++ b/AllBase/Helper/DataOpenSSL.cs @@ -76,6 +76,9 @@ namespace AllBase.Helper public static string DecryptString(string cipherText) { + if (cipherText == null) + return null; + cipherText = cipherText.Replace("-", "+").Replace("_", "/"); var x1 = cipherText.Length % 4; if (x1 > 0) diff --git a/KJDService/KJD_WebService/BLL/ShopManage.cs b/KJDService/KJD_WebService/BLL/ShopManage.cs index 47939a7..7f36c61 100644 --- a/KJDService/KJD_WebService/BLL/ShopManage.cs +++ b/KJDService/KJD_WebService/BLL/ShopManage.cs @@ -26,11 +26,23 @@ namespace KJD_Web.BLL var search_name = RegexUtils.GetStringQuery(ref inputData, "search_name"); var operate_sub_sa_name = RegexUtils.GetStringQuery(ref inputData, "operate_sub_sa_name")?.Replace("'", "\\'"); var shop_ids = RegexUtils.GetStringQuery(ref inputData, "shop_ids")?.Replace("'", ""); - if (shop_ids != null) + if (!string.IsNullOrWhiteSpace(shop_ids)) { List shopIdLst = shop_ids.Split(',').ToList(); shop_ids = "'" + string.Join("','", shopIdLst) + "'"; } + var shop_names = RegexUtils.GetStringQuery(ref inputData, "shop_names"); + if (!string.IsNullOrWhiteSpace(shop_names)) + { + List shopNameLst = shop_names.Split(',').ToList(); + shop_names = "'" + string.Join("','", shopNameLst) + "'"; + } + var shop_notes = RegexUtils.GetStringQuery(ref inputData, "shop_notes"); + if (!string.IsNullOrWhiteSpace(shop_notes)) + { + List shopNotesLst = shop_notes.Split(',').ToList(); + shop_notes = "'" + string.Join("','", shopNotesLst) + "'"; + } var page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(); var page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(); @@ -65,6 +77,10 @@ namespace KJD_Web.BLL where += " and s.shop_account like '%" + search_name + "%'"; if (!string.IsNullOrWhiteSpace(shop_ids)) where += " and s.shop_id in (" + shop_ids + ")"; + if (!string.IsNullOrWhiteSpace(shop_names)) + where += " and s.shop_account in (" + shop_names + ")"; + if (!string.IsNullOrWhiteSpace(shop_notes)) + where += " and s.notes in (" + shop_notes + ")"; sql += where; var count = mySql.ExecuteRowCount(sql); @@ -175,6 +191,183 @@ namespace KJD_Web.BLL return "{\"code\":19999,\"msg\":\"未知错误\"}"; } + public string SubSaGetSelectProdShop(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); + var password = RegexUtils.GetStringQuery(ref inputData, "password"); + var search_id = RegexUtils.GetStringQuery(ref inputData, "search_id"); + var search_user_name = RegexUtils.GetStringQuery(ref inputData, "search_user_name"); + var search_login_name = RegexUtils.GetStringQuery(ref inputData, "search_login_name"); + var search_notes = RegexUtils.GetStringQuery(ref inputData, "search_notes"); + var search_name = RegexUtils.GetStringQuery(ref inputData, "search_name"); + var operate_sub_sa_name = RegexUtils.GetStringQuery(ref inputData, "operate_sub_sa_name")?.Replace("'", "\\'"); + var shop_ids = RegexUtils.GetStringQuery(ref inputData, "shop_ids")?.Replace("'", ""); + if (!string.IsNullOrWhiteSpace(shop_ids)) + { + List shopIdLst = shop_ids.Split(',').ToList(); + shop_ids = "'" + string.Join("','", shopIdLst) + "'"; + } + var shop_names = RegexUtils.GetStringQuery(ref inputData, "shop_names"); + if (!string.IsNullOrWhiteSpace(shop_names)) + { + List shopNameLst = shop_names.Split(',').ToList(); + shop_names = "'" + string.Join("','", shopNameLst) + "'"; + } + var shop_notes = RegexUtils.GetStringQuery(ref inputData, "shop_notes"); + if (!string.IsNullOrWhiteSpace(shop_notes)) + { + List shopNotesLst = shop_notes.Split(',').ToList(); + shop_notes = "'" + string.Join("','", shopNotesLst) + "'"; + } + + var page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(); + var page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(); + + if (page_size == 0) + page_size = 50; + int r2 = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + + string sql = "SELECT COUNT(s.id) FROM kjd.shop s WHERE 1=1"; + + //where子句 + string where = ""; + if (!string.IsNullOrWhiteSpace(operate_sub_sa_name)) + where += " and (s.shop_id in (SELECT DISTINCT shop_id From kjd.product_select WHERE operate_sub_sa_name='" + operate_sub_sa_name + "') or " + + "s.shop_id in (SELECT DISTINCT shop_id From kjd.third_product_select WHERE operate_sub_sa_name='" + operate_sub_sa_name + "'))"; + where += " and (s.cookie='' or s.shop_id!='')"; + //if (!string.IsNullOrWhiteSpace(operate_sub_sa_name)) + // where += " and s.operate_sub_sa_name='" + operate_sub_sa_name + "'"; + if (!string.IsNullOrWhiteSpace(search_user_name)) + where += " and s.user_name like '%" + search_user_name + "%'"; + if (!string.IsNullOrWhiteSpace(search_login_name)) + where += " and s.login_name like '%" + search_login_name + "%'"; + if (!string.IsNullOrWhiteSpace(search_notes)) + where += " and s.notes like '%" + search_notes + "%'"; + if (!string.IsNullOrWhiteSpace(search_id)) + where += " and s.shop_id like '%" + search_id + "%'"; + if (!string.IsNullOrWhiteSpace(search_name)) + where += " and s.shop_account like '%" + search_name + "%'"; + if (!string.IsNullOrWhiteSpace(shop_ids)) + where += " and s.shop_id in (" + shop_ids + ")"; + if (!string.IsNullOrWhiteSpace(shop_names)) + where += " and s.shop_account in (" + shop_names + ")"; + if (!string.IsNullOrWhiteSpace(shop_notes)) + where += " and s.notes in (" + shop_notes + ")"; + sql += where; + + var count = mySql.ExecuteRowCount(sql); + + DataTable dt; + if (count == 0) + { + dt = new DataTable(); + } + else + { + sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.shop_id,s.shop_account,s.sub_user_name,s.user_name," + + "s.company_name,s.notes,s.login_status,s.login_status2,c.add_product_remaining,c.add_product_month,s.add_time,s.mdy_time," + + "s.add_sub_sa_time,s.operate_sub_sa_name"; + sql += " FROM kjd.shop s LEFT JOIN kjd.shop_add_prod_count c ON s.shop_id=c.shop_id WHERE 1=1"; + + sql += where; // where 子句 + + sql += " ORDER BY s.id DESC"; + sql += " LIMIT " + Math.Max(page - 1, 0) * page_size + "," + page_size; + dt = mySql.ExecuteDataTable(sql); + } + + mySql.Close(); + if (dt != null) + { + List shopList = new List(); + foreach (DataRow row in dt.Rows) + { + ShopParam shop = new ShopParam + { + id = Convert.ToInt32(row["id"]), + login_name = row["login_name"].ToString(), + login_pass = row["login_pass"].ToString(), + cookie = row["cookie"].ToString(), + cookie2 = row["cookie2"].ToString(), + shop_id = row["shop_id"].ToString(), + shop_account = row["shop_account"].ToString(), + sub_user_name = row["sub_user_name"].ToString(), + user_name = row["user_name"].ToString(), + company_name = row["company_name"].ToString(), + notes = row["notes"].ToString(), + login_status = row["login_status"].ToString(), + login_status2 = row["login_status2"].ToString(), + add_product_remaining = row["add_product_remaining"].ParseToInt(), + add_product_month = row["add_product_month"].ParseToInt(), + operate_sub_sa_name = row["operate_sub_sa_name"] as string, + + }; + shopList.Add(shop); + } + + //sql = "\r\nINSERT INTO kjd.shop_add_prod_count(shop_id,shop_account,add_product_remaining,add_product_month) VALUES "; + //foreach (var shop in shopList) + //{ + // sql += "\r\n('" + shop.shop_id + "','" + shop.shop_account + "'," + shop.add_product_remaining + "," + shop.add_product_month + "),"; + //} + //sql = sql.TrimEnd(',') + " \r\n"; + //sql += "ON DUPLICATE KEY UPDATE " + + // "shop_account=VALUES(shop_account)," + + // "add_product_remaining=VALUES(add_product_remaining)," + + // "add_product_month=VALUES(add_product_month);"; + //var result = mySql.ExecuteNonQuery(sql); + //mySql.Close(); + + int month = DateTime.Now.Month; + var shopMonthList = shopList.Where(s => s.add_product_month != month); + if (shopMonthList.Count() > 0) + { + int remainCount = 100; + var shopMonthIdList = shopMonthList.Select(s => s.id); + mySql = new MysqlUtils(conn); + string ids = string.Join(",", shopMonthIdList); + sql = ""; + sql += "update kjd.shop set add_product_remaining=" + remainCount + ", add_product_month=" + month + + " where 1=1 and id in (" + ids + ");"; + + sql += "\r\nINSERT INTO kjd.shop_add_prod_count(shop_id,shop_account,add_product_remaining,add_product_month) VALUES "; + foreach (var shop in shopMonthList) + { + sql += "\r\n('" + shop.shop_id + "','" + shop.shop_account + "'," + remainCount + "," + month + "),"; + } + sql = sql.TrimEnd(',') + " \r\n"; + sql += "ON DUPLICATE KEY UPDATE " + + "shop_account=VALUES(shop_account)," + + "add_product_remaining=VALUES(add_product_remaining)," + + "add_product_month=VALUES(add_product_month);"; + var rst = mySql.ExecuteNonQuery(sql); + mySql.Close(); + + if (rst) + { + foreach (var shop in shopMonthList) + { + shop.add_product_month = month; + shop.add_product_remaining = remainCount; + } + } + } + var data = JsonUtils.SerializerObjectToString(shopList); + + + //return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"c\":\"" + EncrypUtil.Encryption(r2) + "\"}"; + return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + "}"; + } + } + return "{\"code\":19999,\"msg\":\"未知错误\"}"; + } + //获取一个手机登录号码下的所有店铺(以便有则更新,无则新增) public string GetOneLoginNameShop(string inputData) { diff --git a/KJDService/KJD_WebService/ShopService.asmx.cs b/KJDService/KJD_WebService/ShopService.asmx.cs index ee1e60f..7f9c18b 100644 --- a/KJDService/KJD_WebService/ShopService.asmx.cs +++ b/KJDService/KJD_WebService/ShopService.asmx.cs @@ -132,6 +132,18 @@ namespace KJD_Web Context.Response.End(); } + [WebMethod] + public void sub_sa_get_select_prod_shop() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ShopManage().SubSaGetSelectProdShop(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + [WebMethod] public void admin_mdy_shop() diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index 20fff12..b3af271 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -140,6 +140,12 @@ FissionShowBigImgForm.cs + + Form + + + AdminProductPriceCheckForm.cs + Form @@ -587,6 +593,9 @@ FissionShowBigImgForm.cs + + AdminProductPriceCheckForm.cs + DbProductCategorySearch.cs diff --git a/TEMUKJD/KJDForms/AdminForms/AdminForm.Designer.cs b/TEMUKJD/KJDForms/AdminForms/AdminForm.Designer.cs index 69a6a9b..5571d11 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminForm.Designer.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminForm.Designer.cs @@ -34,13 +34,15 @@ 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("超级权限管理", 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("超级权限管理", new System.Windows.Forms.TreeNode[] { treeNode1, treeNode2, treeNode3, treeNode4, treeNode5, - treeNode6}); + treeNode6, + treeNode7}); this.panel1 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel(); @@ -143,10 +145,12 @@ treeNode5.Text = "认领待上传"; treeNode6.Name = "库存上传"; treeNode6.Text = "库存上传"; - treeNode7.Name = "超级权限管理"; - treeNode7.Text = "超级权限管理"; + treeNode7.Name = "商品核价"; + treeNode7.Text = "商品核价"; + treeNode8.Name = "超级权限管理"; + treeNode8.Text = "超级权限管理"; this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode7}); + treeNode8}); this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.tv.Size = new System.Drawing.Size(140, 446); this.tv.TabIndex = 1; diff --git a/TEMUKJD/KJDForms/AdminForms/AdminForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminForm.cs index 6888ebf..321c4f9 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminForm.cs @@ -24,6 +24,7 @@ namespace TemuKJD.KJDForms.AdminForms public Lazy dbPriceMarkUpForm = new Lazy(); public Lazy dbProductSelectListManageForm = new Lazy(); public Lazy productThirdSelectListManageForm = new Lazy(); + public Lazy adminProductPriceCheckForm = new Lazy(); public AdminForm() { @@ -34,7 +35,7 @@ namespace TemuKJD.KJDForms.AdminForms tv.SelectedNode = tv.Nodes[0].Nodes[0]; tv.ExpandGroup(tv.Nodes[0].Name); - List hideName = new List() { "超级用户管理", "超级店铺管理", "选品数据库", "选品加价管理", "认领待上传", "库存上传" }; + List hideName = new List() { "超级用户管理", "超级店铺管理", "选品数据库", "选品加价管理", "认领待上传", "库存上传", "商品核价" }; if (BaseClass.GroupId == 3) { @@ -47,12 +48,14 @@ namespace TemuKJD.KJDForms.AdminForms hideName.Remove("选品加价管理"); hideName.Remove("认领待上传"); hideName.Remove("库存上传"); + //hideName.Remove("商品核价"); } if (BaseClass.SaLevel==2) { hideName.Remove("超级店铺管理"); hideName.Remove("认领待上传"); hideName.Remove("库存上传"); + //hideName.Remove("商品核价"); } } @@ -97,6 +100,9 @@ namespace TemuKJD.KJDForms.AdminForms case "库存上传": SetForm(productThirdSelectListManageForm.Value); break; + case "商品核价": + SetForm(adminProductPriceCheckForm.Value); + break; } })); }).Start(); diff --git a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.Designer.cs b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.Designer.cs new file mode 100644 index 0000000..f039c59 --- /dev/null +++ b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.Designer.cs @@ -0,0 +1,870 @@ + +namespace TemuKJD.KJDForms.AdminForms +{ + partial class AdminProductPriceCheckForm + { + /// + /// 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() + { + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.chkAllShop = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.btnEmpty = new DevComponents.DotNetBar.PanelEx(); + this.label1 = new System.Windows.Forms.Label(); + this.btnSearchPrice = new DevComponents.DotNetBar.PanelEx(); + this.txtPriceDown = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.txtNotes = new System.Windows.Forms.TextBox(); + this.btnRePrice = new DevComponents.DotNetBar.PanelEx(); + this.label4 = new System.Windows.Forms.Label(); + this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx(); + this.txtShopName = new System.Windows.Forms.TextBox(); + this.txtShopId = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = 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(); + this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + 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.panelEx1 = new DevComponents.DotNetBar.PanelEx(); + this.btnClear = new DevComponents.DotNetBar.PanelEx(); + this.dgvAdjust = new TemuKJD.UserComponent.DataGridViewEx(); + this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colProductSkcPic = new System.Windows.Forms.DataGridViewImageColumn(); + this.colProductId = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colProdSkc = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colProdName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSkuName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colPrcie = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAdjustPrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colNewPrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colPriceTimes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colOk = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colCancel = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.splitContainer4 = new System.Windows.Forms.SplitContainer(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.label6 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.ucGroupBoxEx1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); + this.splitContainer3.Panel1.SuspendLayout(); + this.splitContainer3.Panel2.SuspendLayout(); + this.splitContainer3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); + this.splitContainer2.Panel1.SuspendLayout(); + this.splitContainer2.Panel2.SuspendLayout(); + this.splitContainer2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbShopLoading)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvAdjust)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).BeginInit(); + this.splitContainer4.Panel1.SuspendLayout(); + this.splitContainer4.Panel2.SuspendLayout(); + this.splitContainer4.SuspendLayout(); + this.SuspendLayout(); + // + // splitContainer1 + // + this.splitContainer1.BackColor = System.Drawing.Color.White; + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + 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.ucGroupBoxEx1); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.splitContainer3); + this.splitContainer1.Size = new System.Drawing.Size(1241, 585); + this.splitContainer1.SplitterDistance = 120; + this.splitContainer1.TabIndex = 11; + // + // ucGroupBoxEx1 + // + this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | 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.btnRePrice); + this.ucGroupBoxEx1.Controls.Add(this.label6); + this.ucGroupBoxEx1.Controls.Add(this.chkAllShop); + this.ucGroupBoxEx1.Controls.Add(this.btnEmpty); + this.ucGroupBoxEx1.Controls.Add(this.label1); + this.ucGroupBoxEx1.Controls.Add(this.btnSearchPrice); + this.ucGroupBoxEx1.Controls.Add(this.txtPriceDown); + this.ucGroupBoxEx1.Controls.Add(this.label5); + this.ucGroupBoxEx1.Controls.Add(this.label10); + this.ucGroupBoxEx1.Controls.Add(this.txtNotes); + this.ucGroupBoxEx1.Controls.Add(this.label4); + this.ucGroupBoxEx1.Controls.Add(this.btnRefreshShop); + this.ucGroupBoxEx1.Controls.Add(this.txtShopName); + this.ucGroupBoxEx1.Controls.Add(this.txtShopId); + this.ucGroupBoxEx1.Controls.Add(this.label2); + this.ucGroupBoxEx1.Controls.Add(this.label3); + this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2); + this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; + this.ucGroupBoxEx1.Size = new System.Drawing.Size(1235, 120); + this.ucGroupBoxEx1.TabIndex = 399; + this.ucGroupBoxEx1.TabStop = false; + this.ucGroupBoxEx1.Text = "参数设置"; + // + // chkAllShop + // + this.chkAllShop.AutoSize = true; + this.chkAllShop.Location = new System.Drawing.Point(277, 59); + this.chkAllShop.Name = "chkAllShop"; + this.chkAllShop.Size = new System.Drawing.Size(147, 21); + this.chkAllShop.TabIndex = 710; + this.chkAllShop.Text = "二级超管查询所有店铺"; + this.chkAllShop.UseVisualStyleBackColor = true; + // + // btnEmpty + // + this.btnEmpty.CanvasColor = System.Drawing.SystemColors.Control; + this.btnEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnEmpty.DisabledBackColor = System.Drawing.Color.Empty; + this.btnEmpty.Location = new System.Drawing.Point(376, 82); + this.btnEmpty.Name = "btnEmpty"; + this.btnEmpty.Size = new System.Drawing.Size(40, 24); + this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnEmpty.Style.GradientAngle = 90; + this.btnEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnEmpty.TabIndex = 697; + this.btnEmpty.Text = "重置"; + this.btnEmpty.Click += new System.EventHandler(this.btnEmpty_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label1.Location = new System.Drawing.Point(803, 65); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(223, 17); + this.label1.TabIndex = 684; + this.label1.Text = "注:再次报价价格 = 原价 - 次数 × 降价"; + // + // btnSearchPrice + // + this.btnSearchPrice.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSearchPrice.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSearchPrice.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSearchPrice.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSearchPrice.Location = new System.Drawing.Point(590, 37); + this.btnSearchPrice.Name = "btnSearchPrice"; + this.btnSearchPrice.Size = new System.Drawing.Size(99, 23); + this.btnSearchPrice.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearchPrice.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearchPrice.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearchPrice.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSearchPrice.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSearchPrice.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSearchPrice.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSearchPrice.Style.GradientAngle = 90; + this.btnSearchPrice.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearchPrice.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearchPrice.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearchPrice.TabIndex = 427; + this.btnSearchPrice.Text = "读取待核价"; + // + // txtPriceDown + // + this.txtPriceDown.Location = new System.Drawing.Point(835, 37); + this.txtPriceDown.Margin = new System.Windows.Forms.Padding(0); + this.txtPriceDown.Name = "txtPriceDown"; + this.txtPriceDown.Size = new System.Drawing.Size(48, 23); + this.txtPriceDown.TabIndex = 679; + this.txtPriceDown.Text = "0.1"; + // + // label5 + // + this.label5.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label5.Location = new System.Drawing.Point(274, 24); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(142, 36); + this.label5.TabIndex = 685; + this.label5.Text = "注:可使用逗号分隔,一次查询多个店铺"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(803, 40); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(32, 17); + this.label10.TabIndex = 680; + this.label10.Text = "降价"; + // + // txtNotes + // + this.txtNotes.Location = new System.Drawing.Point(61, 83); + this.txtNotes.Name = "txtNotes"; + this.txtNotes.Size = new System.Drawing.Size(207, 23); + this.txtNotes.TabIndex = 382; + // + // btnRePrice + // + this.btnRePrice.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRePrice.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRePrice.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRePrice.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRePrice.Location = new System.Drawing.Point(963, 37); + this.btnRePrice.Name = "btnRePrice"; + this.btnRePrice.Size = new System.Drawing.Size(98, 23); + this.btnRePrice.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRePrice.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRePrice.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRePrice.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnRePrice.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnRePrice.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnRePrice.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnRePrice.Style.GradientAngle = 90; + this.btnRePrice.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRePrice.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRePrice.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRePrice.TabIndex = 427; + this.btnRePrice.Text = "批量再次报价"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(4, 86); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(68, 17); + this.label4.TabIndex = 383; + this.label4.Text = "店铺分组:"; + // + // btnRefreshShop + // + this.btnRefreshShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshShop.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshShop.Location = new System.Drawing.Point(273, 82); + this.btnRefreshShop.Name = "btnRefreshShop"; + this.btnRefreshShop.Size = new System.Drawing.Size(100, 24); + this.btnRefreshShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnRefreshShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnRefreshShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnRefreshShop.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnRefreshShop.Style.GradientAngle = 90; + this.btnRefreshShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshShop.TabIndex = 431; + this.btnRefreshShop.Text = "刷新/查询店铺"; + this.btnRefreshShop.Click += new System.EventHandler(this.btnRefreshShop_Click); + // + // txtShopName + // + this.txtShopName.Location = new System.Drawing.Point(61, 53); + this.txtShopName.Name = "txtShopName"; + this.txtShopName.Size = new System.Drawing.Size(207, 23); + this.txtShopName.TabIndex = 380; + // + // txtShopId + // + this.txtShopId.Location = new System.Drawing.Point(61, 22); + this.txtShopId.Name = "txtShopId"; + this.txtShopId.Size = new System.Drawing.Size(207, 23); + this.txtShopId.TabIndex = 378; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(17, 25); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(55, 17); + this.label2.TabIndex = 379; + this.label2.Text = "店铺id:"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(16, 56); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(56, 17); + this.label3.TabIndex = 381; + this.label3.Text = "店铺名:"; + // + // splitContainer3 + // + this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer3.Location = new System.Drawing.Point(0, 0); + this.splitContainer3.Name = "splitContainer3"; + this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer3.Panel1 + // + this.splitContainer3.Panel1.Controls.Add(this.splitContainer2); + // + // splitContainer3.Panel2 + // + this.splitContainer3.Panel2.Controls.Add(this.splitContainer4); + this.splitContainer3.Size = new System.Drawing.Size(1241, 461); + this.splitContainer3.SplitterDistance = 431; + this.splitContainer3.TabIndex = 1; + // + // splitContainer2 + // + this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer2.Location = new System.Drawing.Point(0, 0); + this.splitContainer2.Name = "splitContainer2"; + // + // splitContainer2.Panel1 + // + this.splitContainer2.Panel1.Controls.Add(this.pbShopLoading); + this.splitContainer2.Panel1.Controls.Add(this.dgvShop); + this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 0, 0); + // + // splitContainer2.Panel2 + // + this.splitContainer2.Panel2.Controls.Add(this.pbLoading); + this.splitContainer2.Panel2.Controls.Add(this.panelEx1); + this.splitContainer2.Panel2.Controls.Add(this.btnClear); + this.splitContainer2.Panel2.Controls.Add(this.dgvAdjust); + this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0); + this.splitContainer2.Size = new System.Drawing.Size(1241, 431); + this.splitContainer2.SplitterDistance = 280; + this.splitContainer2.TabIndex = 0; + // + // pbShopLoading + // + this.pbShopLoading.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pbShopLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pbShopLoading.Location = new System.Drawing.Point(115, 190); + this.pbShopLoading.Name = "pbShopLoading"; + this.pbShopLoading.Size = new System.Drawing.Size(50, 50); + this.pbShopLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbShopLoading.TabIndex = 676; + this.pbShopLoading.TabStop = false; + this.pbShopLoading.Visible = false; + // + // dgvShop + // + this.dgvShop.AllowUserToAddRows = false; + this.dgvShop.AllowUserToDeleteRows = false; + dataGridViewCellStyle5.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle5; + this.dgvShop.BackgroundColor = System.Drawing.Color.White; + this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle6; + this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colSelect, + this.colShopLoginName, + this.colShopId, + this.colShopName, + this.colShopNotes, + this.colLoginStatus, + this.colCanUse, + this.colMessage}); + this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvShop.Location = new System.Drawing.Point(4, 0); + this.dgvShop.Name = "dgvShop"; + this.dgvShop.ReadOnly = true; + this.dgvShop.RowHeadersWidth = 25; + this.dgvShop.RowTemplate.Height = 23; + this.dgvShop.Size = new System.Drawing.Size(276, 431); + this.dgvShop.TabIndex = 6; + // + // colSelect + // + this.colSelect.HeaderText = "全选"; + this.colSelect.Name = "colSelect"; + this.colSelect.ReadOnly = true; + this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelect.Width = 28; + // + // colShopLoginName + // + this.colShopLoginName.HeaderText = "店铺登录名"; + this.colShopLoginName.Name = "colShopLoginName"; + this.colShopLoginName.ReadOnly = true; + this.colShopLoginName.Visible = false; + // + // colShopId + // + this.colShopId.HeaderText = "店铺Id"; + this.colShopId.Name = "colShopId"; + this.colShopId.ReadOnly = true; + this.colShopId.Visible = false; + this.colShopId.Width = 55; + // + // colShopName + // + this.colShopName.HeaderText = "店铺名称"; + this.colShopName.Name = "colShopName"; + this.colShopName.ReadOnly = true; + this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colShopName.Width = 70; + // + // colShopNotes + // + this.colShopNotes.HeaderText = "分组"; + this.colShopNotes.Name = "colShopNotes"; + this.colShopNotes.ReadOnly = true; + this.colShopNotes.Width = 70; + // + // colLoginStatus + // + this.colLoginStatus.HeaderText = "状态"; + this.colLoginStatus.Name = "colLoginStatus"; + this.colLoginStatus.ReadOnly = true; + this.colLoginStatus.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colLoginStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colLoginStatus.Width = 38; + // + // colCanUse + // + this.colCanUse.HeaderText = "可用"; + this.colCanUse.Name = "colCanUse"; + this.colCanUse.ReadOnly = true; + this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colCanUse.Visible = false; + this.colCanUse.Width = 28; + // + // colMessage + // + this.colMessage.HeaderText = "消息"; + 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(453, 190); + this.pbLoading.Name = "pbLoading"; + this.pbLoading.Size = new System.Drawing.Size(50, 50); + this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoading.TabIndex = 675; + this.pbLoading.TabStop = false; + this.pbLoading.Visible = false; + // + // panelEx1 + // + 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(833, 380); + 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.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(722, 380); + 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; + // + // dgvAdjust + // + this.dgvAdjust.AllowUserToAddRows = false; + this.dgvAdjust.AllowUserToDeleteRows = false; + dataGridViewCellStyle7.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvAdjust.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle7; + this.dgvAdjust.BackgroundColor = System.Drawing.Color.White; + this.dgvAdjust.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvAdjust.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8; + this.dgvAdjust.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvAdjust.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colCheck, + this.colSupplierId, + this.colSupplierName, + this.colImgUrl, + this.colProductSkcPic, + this.colProductId, + this.colProdSkc, + this.colProdName, + this.colSkuName, + this.colPrcie, + this.colAdjustPrice, + this.colNewPrice, + this.colPriceTimes, + this.colOk, + this.colCancel, + this.colMsg}); + this.dgvAdjust.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvAdjust.Location = new System.Drawing.Point(0, 0); + this.dgvAdjust.Name = "dgvAdjust"; + this.dgvAdjust.ReadOnly = true; + this.dgvAdjust.RowTemplate.Height = 23; + this.dgvAdjust.Size = new System.Drawing.Size(953, 431); + this.dgvAdjust.TabIndex = 187; + // + // colCheck + // + this.colCheck.HeaderText = "选择"; + this.colCheck.Name = "colCheck"; + this.colCheck.ReadOnly = true; + this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colCheck.Width = 30; + // + // colSupplierId + // + this.colSupplierId.HeaderText = "店铺Id"; + this.colSupplierId.Name = "colSupplierId"; + this.colSupplierId.ReadOnly = true; + // + // colSupplierName + // + this.colSupplierName.HeaderText = "店铺名称"; + this.colSupplierName.Name = "colSupplierName"; + this.colSupplierName.ReadOnly = true; + this.colSupplierName.Width = 110; + // + // colImgUrl + // + this.colImgUrl.HeaderText = "图片路径"; + this.colImgUrl.Name = "colImgUrl"; + this.colImgUrl.ReadOnly = true; + this.colImgUrl.Visible = false; + // + // colProductSkcPic + // + this.colProductSkcPic.HeaderText = "Skc图片"; + this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.colProductSkcPic.Name = "colProductSkcPic"; + this.colProductSkcPic.ReadOnly = true; + this.colProductSkcPic.Width = 60; + // + // colProductId + // + this.colProductId.HeaderText = "商品Id"; + this.colProductId.Name = "colProductId"; + this.colProductId.ReadOnly = true; + this.colProductId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colProductId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colProductId.Visible = false; + // + // colProdSkc + // + this.colProdSkc.FillWeight = 150F; + this.colProdSkc.HeaderText = "商品SKC"; + this.colProdSkc.Name = "colProdSkc"; + this.colProdSkc.ReadOnly = true; + this.colProdSkc.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colProdSkc.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colProdSkc.Width = 80; + // + // colProdName + // + this.colProdName.HeaderText = "标题"; + this.colProdName.Name = "colProdName"; + this.colProdName.ReadOnly = true; + this.colProdName.Width = 150; + // + // colSkuName + // + this.colSkuName.HeaderText = "规格名称"; + this.colSkuName.Name = "colSkuName"; + this.colSkuName.ReadOnly = true; + this.colSkuName.Width = 90; + // + // colPrcie + // + this.colPrcie.HeaderText = "原价"; + this.colPrcie.Name = "colPrcie"; + this.colPrcie.ReadOnly = true; + this.colPrcie.Width = 60; + // + // colAdjustPrice + // + this.colAdjustPrice.HeaderText = "核价"; + this.colAdjustPrice.Name = "colAdjustPrice"; + this.colAdjustPrice.ReadOnly = true; + this.colAdjustPrice.Width = 60; + // + // colNewPrice + // + this.colNewPrice.HeaderText = "新报价"; + this.colNewPrice.Name = "colNewPrice"; + this.colNewPrice.ReadOnly = true; + this.colNewPrice.Width = 80; + // + // colPriceTimes + // + this.colPriceTimes.HeaderText = "报价次数"; + this.colPriceTimes.Name = "colPriceTimes"; + this.colPriceTimes.ReadOnly = true; + this.colPriceTimes.Width = 80; + // + // colOk + // + this.colOk.HeaderText = "同意报价"; + this.colOk.Name = "colOk"; + this.colOk.ReadOnly = true; + this.colOk.Width = 80; + // + // colCancel + // + this.colCancel.HeaderText = "拒绝报价"; + this.colCancel.Name = "colCancel"; + this.colCancel.ReadOnly = true; + this.colCancel.Width = 80; + // + // colMsg + // + this.colMsg.HeaderText = "状态"; + this.colMsg.Name = "colMsg"; + this.colMsg.ReadOnly = true; + // + // 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.statusBar); + this.splitContainer4.Size = new System.Drawing.Size(1241, 26); + this.splitContainer4.SplitterDistance = 282; + this.splitContainer4.TabIndex = 3; + // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Left; + this.ucSplitPage1.Location = new System.Drawing.Point(0, 0); + this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); + this.ucSplitPage1.Name = "ucSplitPage1"; + 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); + // + // 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(955, 26); + this.statusBar.TabIndex = 2; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(886, 40); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(80, 17); + this.label6.TabIndex = 723; + this.label6.Text = "元(人民币)"; + // + // AdminProductPriceCheckForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(1241, 585); + this.Controls.Add(this.splitContainer1); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Name = "AdminProductPriceCheckForm"; + this.Text = "ProductPriceCheckForm"; + this.Load += new System.EventHandler(this.AdminProductPriceCheckForm_Load); + this.VisibleChanged += new System.EventHandler(this.AdminProductPriceCheckForm_VisibleChanged); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.ucGroupBoxEx1.ResumeLayout(false); + this.ucGroupBoxEx1.PerformLayout(); + this.splitContainer3.Panel1.ResumeLayout(false); + this.splitContainer3.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); + this.splitContainer3.ResumeLayout(false); + this.splitContainer2.Panel1.ResumeLayout(false); + this.splitContainer2.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); + this.splitContainer2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pbShopLoading)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvAdjust)).EndInit(); + this.splitContainer4.Panel1.ResumeLayout(false); + this.splitContainer4.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).EndInit(); + this.splitContainer4.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.TextBox txtPriceDown; + private System.Windows.Forms.Label label10; + private DevComponents.DotNetBar.PanelEx btnRePrice; + private DevComponents.DotNetBar.PanelEx btnSearchPrice; + private UserComponent.UcGroupBoxEx ucGroupBoxEx1; + private DevComponents.DotNetBar.PanelEx btnRefreshShop; + private System.Windows.Forms.SplitContainer splitContainer3; + private System.Windows.Forms.SplitContainer splitContainer2; + private UserComponent.DataGridViewEx dgvShop; + private UserComponent.DataGridViewEx dgvAdjust; + private System.Windows.Forms.SplitContainer splitContainer4; + private UserControls.StatusBarUserControl statusBar; + private DevComponents.DotNetBar.PanelEx panelEx1; + private DevComponents.DotNetBar.PanelEx btnClear; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck; + private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName; + private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl; + private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic; + private System.Windows.Forms.DataGridViewLinkColumn colProductId; + private System.Windows.Forms.DataGridViewLinkColumn colProdSkc; + private System.Windows.Forms.DataGridViewTextBoxColumn colProdName; + private System.Windows.Forms.DataGridViewTextBoxColumn colSkuName; + private System.Windows.Forms.DataGridViewTextBoxColumn colPrcie; + private System.Windows.Forms.DataGridViewTextBoxColumn colAdjustPrice; + private System.Windows.Forms.DataGridViewTextBoxColumn colNewPrice; + private System.Windows.Forms.DataGridViewTextBoxColumn colPriceTimes; + private System.Windows.Forms.DataGridViewTextBoxColumn colOk; + private System.Windows.Forms.DataGridViewTextBoxColumn colCancel; + private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtNotes; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtShopName; + private System.Windows.Forms.TextBox txtShopId; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label5; + private DevComponents.DotNetBar.PanelEx btnEmpty; + private System.Windows.Forms.PictureBox pbLoading; + private UserControls.UcSplitPage ucSplitPage1; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes; + private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse; + private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; + private System.Windows.Forms.PictureBox pbShopLoading; + private UserComponent.UcCheckBox chkAllShop; + private System.Windows.Forms.Label label6; + } +} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs new file mode 100644 index 0000000..1c04707 --- /dev/null +++ b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs @@ -0,0 +1,173 @@ +using AllBase; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using NaiBa.Util.Winform.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 Work; + +namespace TemuKJD.KJDForms.AdminForms +{ + public partial class AdminProductPriceCheckForm : Form + { + public static List lstAdminShopInfo { get; set; } = new List(); + + public AdminProductPriceCheckForm() + { + InitializeComponent(); + } + + private void AdminProductPriceCheckForm_Load(object sender, EventArgs e) + { + this.dgvShop.AddSelectorColumn("colSelect"); + + if (BaseClass.SaLevel != 1) + { + //this.chkShowDelete.Visible = false; + + //dgvShop.Columns["colSubSa"].Visible = false; + //btnSetSubSa.Visible = false; + } + } + + bool firstLoad = true; + private void AdminProductPriceCheckForm_VisibleChanged(object sender, EventArgs e) + { + if (this.Visible && this.firstLoad) + { + firstLoad = false; + this.pbShopLoading.Visible = true; + SearchShop(this.ucSplitPage1.CurrentPage); + } + } + + private void btnRefreshShop_Click(object sender, EventArgs e) + { + if (this.ucSplitPage1.CurrentPage != 1) + this.ucSplitPage1.CurrentPage = 1; + else + SearchShop(1); + } + + private void ucSplitPage1_PageChange(object obj) + { + SearchShop(this.ucSplitPage1.CurrentPage); + } + + public void SearchShop(int page) + { + List shopIdList = GetCheckedShopIdList(); + if (InvokeRequired) + { + Invoke(new Action(() => + { + this.pbShopLoading.Visible = true; + this.dgvShop.Rows.Clear(); + lstAdminShopInfo.Clear(); + })); + } + else + { + this.pbShopLoading.Visible = true; + this.dgvShop.Rows.Clear(); + lstAdminShopInfo.Clear(); + } + Task.Run(() => + { + int pageCount; + var list = AdminGetServerShopLst(out pageCount, page); + lstAdminShopInfo.AddRange(list); + this.ucSplitPage1.TotalPage = pageCount; + + foreach (var shop in lstAdminShopInfo) + { + bool canUse = shop.LoginStatus2 == "国际版在线"; + Invoke(new Action(() => + { + int rowIndex = this.dgvShop.Rows.Add( + shopIdList.Contains(shop.ShopId + shop.UserName), + shop.LoginName, + shop.ShopId, + shop.ShopAccount, + shop.Notes, + canUse ? "在线" : "掉线", + canUse, + string.Empty + ); + var row = dgvShop.Rows[rowIndex]; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Green : Color.Red; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Green : Color.Red; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightGreen : Color.OrangeRed; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkGreen : Color.DarkRed; + })); + } + + Invoke(new Action(() => + { + this.pbShopLoading.Visible = false; + })); + }); + } + + private List GetCheckedShopIdList() + { + List shopNameList = new List(); + for (int i = 0; i < dgvShop.Rows.Count; i++) + { + if (dgvShop.Rows[i].Cells["colSelect"].Value.ParseToBool()) + { + string shopName = dgvShop.Rows[i].Cells["colShopId"].Value.ParseToString(); + shopName += dgvShop.Rows[i].Cells["colUser"].Value.ParseToString(); + shopNameList.Add(shopName); + } + } + return shopNameList; + } + + public List AdminGetServerShopLst(out int pageCount, int page = 1, int pageSize = 500) + { + List list = new List(); + pageCount = 1; + + var url = BaseClass.BuildObjString("shop/admin_get_shop_list"); + if (BaseClass.SaLevel > 1 && !chkAllShop.Checked) + url = BaseClass.BuildObjString("shop/sub_sa_get_select_prod_shop"); + var data = UserLogin.GetSignaturex() + + "&page=" + page + + "&page_size=" + pageSize + + "&shop_ids=" + txtShopId.Text.Trim() + + "&shop_names=" + txtShopName.Text.Trim() + + "&search_notes=" + txtNotes.Text.Trim(); + if (BaseClass.SaLevel > 1 && !chkAllShop.Checked) + data += "&operate_sub_sa_name=" + BaseClass.UserName; + var html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) + || !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass")) + { + return list; + } + + int count = BaseRegex.GetIntJson(ref html, "count"); + pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt(); + pageCount = Math.Max(pageCount, 1); + + return AdminShopListForm.DeserializationShop(html); + } + + private void btnEmpty_Click(object sender, EventArgs e) + { + txtNotes.Text = txtShopId.Text = txtShopName.Text = ""; + } + } +} diff --git a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.resx b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.resx new file mode 100644 index 0000000..9f8bfd0 --- /dev/null +++ b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.resx @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + \ No newline at end of file diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopListForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminShopListForm.cs index 1e16423..7507260 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminShopListForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminShopListForm.cs @@ -55,10 +55,12 @@ namespace TemuKJD.KJDForms.AdminForms } } + bool firstLoad = true; private void AdminShopForm_VisibleChanged(object sender, EventArgs e) { - if (this.Visible == true) + if (this.Visible == true && firstLoad) { + firstLoad = false; this.pbLoading.Visible = true; SearchShop(this.ucSplitPage1.CurrentPage); } diff --git a/TEMUKJD/KJDForms/ProductForms/ProductResponse/KJDHttpResponse.cs b/TEMUKJD/KJDForms/ProductForms/ProductResponse/KJDHttpResponse.cs index 98a5c39..0a9cef6 100644 --- a/TEMUKJD/KJDForms/ProductForms/ProductResponse/KJDHttpResponse.cs +++ b/TEMUKJD/KJDForms/ProductForms/ProductResponse/KJDHttpResponse.cs @@ -6,6 +6,7 @@ using System.IO; using System.Linq; using System.Net; using System.Text; +using System.Text.RegularExpressions; using System.Threading.Tasks; namespace TemuKJD.KJDForms @@ -103,10 +104,10 @@ namespace TemuKJD.KJDForms request.Headers.Set(HttpRequestHeader.CacheControl, "max-age=0"); request.Headers.Add("Anti-Content", @"0aqWfxid0jQ8y99ATT_XGgVxsfy4jtTaQmZlRu9wW2g__9Zt4t2lsnyOevFqnSSUyXZMpPqVZUDOdlErZ7OEmhxNBhLjtyetvpWiGLBc30pcnYGHrW-JahQSJXHSVaz3_sGqB4FzfTWB9eAO-4-p957LPKscrKS9qQPTVDizDQXbx3zEPk64Cn3aUxjMeU5ovt737YczpQRmqtpc7Riil2boSIvCGPfPppc9UscZP5f4SVEsH2sgGTTc4shYwJJ3R-p-dr3nnmhksQlh20daGKfN-yWRSt_VoXlVtkh6KfXOngZhGQwnS45_G9hBY_bXH2zy4ym32OSSWmk0Z2NYg4nW7l30uIUw9mXV2mwYmN9mE1ngv3WMWCAtf5LupF71ciYOdouvE3uTYzqQMjT1i_4nRszBLSRRQbi7wMPIsxJOwR6OUiYv7DfcoerokcZMsplG-PORulS0avRh-BlkZCUGIir2GAmFjtAAt1rYH2evGrbSQo_7vRxiIHi9778FABRQwR8v"); request.Headers.Add("sec-ch-ua-platform", @"""Windows"""); - request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"; + request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"; request.Headers.Add("mallid", shop.ShopId); //request.Headers.Add("sec-ch-ua", @"""Google Chrome"";v=""137"", ""Chromium"";v=""137"", ""Not/A)Brand"";v=""24"""); - request.Headers.Add("sec-ch-ua", @"""Not)A;Brand"";v=""8"", ""Chromium"";v=""138"", ""Google Chrome"";v=""138"""); + request.Headers.Add("sec-ch-ua", @"""Not;A=Brand"";v=""99"", ""Google Chrome"";v=""139"", ""Chromium"";v=""139"""); request.ContentType = "application/json"; request.Headers.Add("sec-ch-ua-mobile", @"?0"); request.Accept = "*/*"; @@ -150,6 +151,106 @@ namespace TemuKJD.KJDForms return result; } + /// + /// 上传图片接口 + /// + /// + /// + /// + /// + /// + public static string PostResponseUpload(ShopLoginInfo shop, string _url, string _data, string referer, string boundary) + { + var cookiesArr = shop.Cookies2.Split(';').Select(s => s.Trim()); + string cookies = ""; + foreach (var cook in cookiesArr) + { + if (cook.StartsWith("mallid")) + cookies += "mallid=" + shop.ShopId + "; "; + else + cookies += cook + "; "; + } + cookies = cookies.Trim().TrimEnd(';'); + + HttpWebResponse response = null; + string result; + try + { + string url = _url; + HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); + + request.KeepAlive = true; + request.Headers.Add("sec-ch-ua-platform", @"""Windows"""); + request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"; + //request.Headers.Add("mallid", shop.ShopId); + request.Headers.Add("sec-ch-ua", @"""Not)A;Brand"";v=""8"", ""Chromium"";v=""138"", ""Google Chrome"";v=""138"""); + request.ContentType = "multipart/form-data; boundary=" + boundary; + request.Headers.Add("sec-ch-ua-mobile", @"?0"); + request.Accept = "*/*"; + request.Headers.Add("Origin", @"https://agentseller.temu.com"); + request.Headers.Add("Sec-Fetch-Site", @"same-origin"); + request.Headers.Add("Sec-Fetch-Mode", @"cors"); + request.Headers.Add("Sec-Fetch-Dest", @"empty"); + request.Referer = referer; + request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd"); + request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); + request.Headers.Set(HttpRequestHeader.Cookie, cookies); + + request.Method = "POST"; + request.ServicePoint.Expect100Continue = false; + + string body = _data; + WriteMultipartBodyToRequest(request, body); + + response = (HttpWebResponse)request.GetResponse(); + } + catch (WebException ex) + { + if (ex.Status == WebExceptionStatus.ProtocolError) + { + response = (HttpWebResponse)ex.Response; + result = GetProxyHtml.ReadResponse(response); + return result; + } + else return ex.Message; + } + catch (Exception e) + { + if (response != null) response.Close(); + return e.Message; + } + result = GetProxyHtml.ReadResponse(response); + return result; + } + + private static void WriteMultipartBodyToRequest(HttpWebRequest request, string body) + { + string[] multiparts = Regex.Split(body, @""); + byte[] bytes; + using (MemoryStream ms = new MemoryStream()) + { + foreach (string part in multiparts) + { + if (File.Exists(part)) + { + bytes = File.ReadAllBytes(part); + } + else + { + bytes = System.Text.Encoding.UTF8.GetBytes(part.Replace("\r\n", "\n").Replace("\r", "\n").Replace("\n", "\r\n")); + } + + ms.Write(bytes, 0, bytes.Length); + } + + request.ContentLength = ms.Length; + using (Stream stream = request.GetRequestStream()) + { + ms.WriteTo(stream); + } + } + } + public static string GetResponse(ShopLoginInfo shop, string _url, string referer="") { HttpWebResponse response = null; diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs index 2ce500f..5b35d49 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs @@ -39,6 +39,11 @@ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DbProductSelectListManageForm)); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.lblCustomImgNum = new System.Windows.Forms.Label(); + this.btnCustomImg = new DevComponents.DotNetBar.PanelEx(); + this.label14 = new System.Windows.Forms.Label(); + this.numSeconds = new System.Windows.Forms.NumericUpDown(); + this.chkCustomPic = new TemuKJD.UserComponent.UcCheckBox(this.components); this.btnDel = new DevComponents.DotNetBar.PanelEx(); this.btnReFission = new TemuKJD.UserControls.ButtonEx(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); @@ -73,6 +78,7 @@ this.chkSkuRandomPrice = new TemuKJD.UserComponent.UcCheckBox(this.components); this.numSkuRandomPrice = new System.Windows.Forms.NumericUpDown(); this.label11 = new System.Windows.Forms.Label(); + this.chkOriginalPriceMarkUp = new TemuKJD.UserComponent.UcCheckBox(this.components); this.pnlEmpty = new DevComponents.DotNetBar.PanelEx(); this.btnSearch = new TemuKJD.UserControls.ButtonEx(); this.cmbUserNotes = new System.Windows.Forms.ComboBox(); @@ -113,11 +119,11 @@ this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); - this.chkOriginalPriceMarkUp = new TemuKJD.UserComponent.UcCheckBox(this.components); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numSeconds)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.flowLayoutPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numSkuRandomPrice)).BeginInit(); @@ -140,6 +146,11 @@ // // splitContainer1.Panel1 // + this.splitContainer1.Panel1.Controls.Add(this.lblCustomImgNum); + this.splitContainer1.Panel1.Controls.Add(this.btnCustomImg); + this.splitContainer1.Panel1.Controls.Add(this.label14); + this.splitContainer1.Panel1.Controls.Add(this.numSeconds); + this.splitContainer1.Panel1.Controls.Add(this.chkCustomPic); this.splitContainer1.Panel1.Controls.Add(this.btnDel); this.splitContainer1.Panel1.Controls.Add(this.btnReFission); this.splitContainer1.Panel1.Controls.Add(this.tableLayoutPanel1); @@ -150,9 +161,81 @@ // this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); this.splitContainer1.Size = new System.Drawing.Size(1558, 638); - this.splitContainer1.SplitterDistance = 70; + this.splitContainer1.SplitterDistance = 100; this.splitContainer1.TabIndex = 2; // + // lblCustomImgNum + // + this.lblCustomImgNum.AutoSize = true; + this.lblCustomImgNum.Location = new System.Drawing.Point(349, 74); + this.lblCustomImgNum.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblCustomImgNum.Name = "lblCustomImgNum"; + this.lblCustomImgNum.Size = new System.Drawing.Size(95, 17); + this.lblCustomImgNum.TabIndex = 484; + this.lblCustomImgNum.Text = "自定义图片 0 张"; + // + // btnCustomImg + // + this.btnCustomImg.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnCustomImg.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnCustomImg.DisabledBackColor = System.Drawing.Color.Empty; + this.btnCustomImg.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnCustomImg.Location = new System.Drawing.Point(242, 69); + this.btnCustomImg.Name = "btnCustomImg"; + this.btnCustomImg.Size = new System.Drawing.Size(106, 26); + this.btnCustomImg.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnCustomImg.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnCustomImg.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnCustomImg.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnCustomImg.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnCustomImg.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnCustomImg.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnCustomImg.Style.GradientAngle = 90; + this.btnCustomImg.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnCustomImg.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnCustomImg.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnCustomImg.TabIndex = 483; + this.btnCustomImg.Text = "设置自定义图片"; + this.btnCustomImg.Click += new System.EventHandler(this.btnCustomImg_Click); + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(183, 74); + this.label14.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(56, 17); + this.label14.TabIndex = 479; + this.label14.Text = "秒后还原"; + // + // numSeconds + // + this.numSeconds.Location = new System.Drawing.Point(137, 71); + this.numSeconds.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.numSeconds.Maximum = new decimal(new int[] { + 1000, + 0, + 0, + 0}); + this.numSeconds.Name = "numSeconds"; + this.numSeconds.Size = new System.Drawing.Size(44, 23); + this.numSeconds.TabIndex = 478; + this.numSeconds.Value = new decimal(new int[] { + 35, + 0, + 0, + 0}); + // + // chkCustomPic + // + this.chkCustomPic.Location = new System.Drawing.Point(8, 72); + this.chkCustomPic.Margin = new System.Windows.Forms.Padding(2, 0, 0, 0); + this.chkCustomPic.Name = "chkCustomPic"; + this.chkCustomPic.Size = new System.Drawing.Size(135, 21); + this.chkCustomPic.TabIndex = 477; + this.chkCustomPic.Text = "使用自定义图片并在"; + this.chkCustomPic.UseVisualStyleBackColor = true; + // // btnDel // this.btnDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -625,6 +708,18 @@ this.label11.TabIndex = 471; this.label11.Text = "元"; // + // chkOriginalPriceMarkUp + // + this.chkOriginalPriceMarkUp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.chkOriginalPriceMarkUp.AutoSize = true; + this.chkOriginalPriceMarkUp.Location = new System.Drawing.Point(883, 4); + this.chkOriginalPriceMarkUp.Margin = new System.Windows.Forms.Padding(2, 0, 0, 0); + this.chkOriginalPriceMarkUp.Name = "chkOriginalPriceMarkUp"; + this.chkOriginalPriceMarkUp.Size = new System.Drawing.Size(95, 21); + this.chkOriginalPriceMarkUp.TabIndex = 469; + this.chkOriginalPriceMarkUp.Text = "sku原价加价"; + this.chkOriginalPriceMarkUp.UseVisualStyleBackColor = true; + // // pnlEmpty // this.pnlEmpty.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); @@ -785,15 +880,15 @@ // this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1); this.splitContainer2.Panel2.Controls.Add(this.statusBar); - this.splitContainer2.Size = new System.Drawing.Size(1558, 564); - this.splitContainer2.SplitterDistance = 535; + this.splitContainer2.Size = new System.Drawing.Size(1558, 534); + this.splitContainer2.SplitterDistance = 505; this.splitContainer2.TabIndex = 0; // // 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(754, 242); + this.pbLoading.Location = new System.Drawing.Point(754, 227); this.pbLoading.Name = "pbLoading"; this.pbLoading.Size = new System.Drawing.Size(50, 50); this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; @@ -850,7 +945,7 @@ this.dgvSelectProduct.ReadOnly = true; this.dgvSelectProduct.RowHeadersWidth = 40; this.dgvSelectProduct.RowTemplate.Height = 23; - this.dgvSelectProduct.Size = new System.Drawing.Size(1550, 535); + this.dgvSelectProduct.Size = new System.Drawing.Size(1550, 505); this.dgvSelectProduct.TabIndex = 189; this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick); this.dgvSelectProduct.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvSelectProduct_Scroll); @@ -1088,18 +1183,6 @@ this.statusBar.Size = new System.Drawing.Size(1558, 25); this.statusBar.TabIndex = 5; // - // chkOriginalPriceMarkUp - // - this.chkOriginalPriceMarkUp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.chkOriginalPriceMarkUp.AutoSize = true; - this.chkOriginalPriceMarkUp.Location = new System.Drawing.Point(883, 4); - this.chkOriginalPriceMarkUp.Margin = new System.Windows.Forms.Padding(2, 0, 0, 0); - this.chkOriginalPriceMarkUp.Name = "chkOriginalPriceMarkUp"; - this.chkOriginalPriceMarkUp.Size = new System.Drawing.Size(95, 21); - this.chkOriginalPriceMarkUp.TabIndex = 469; - this.chkOriginalPriceMarkUp.Text = "sku原价加价"; - this.chkOriginalPriceMarkUp.UseVisualStyleBackColor = true; - // // DbProductSelectListManageForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -1114,9 +1197,11 @@ this.VisibleChanged += new System.EventHandler(this.DbProductSelectListManageForm_VisibleChanged); this.Controls.SetChildIndex(this.splitContainer1, 0); 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.numSeconds)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.PerformLayout(); this.flowLayoutPanel1.ResumeLayout(false); @@ -1210,5 +1295,10 @@ private System.Windows.Forms.ComboBox cmbNotes; private DevComponents.DotNetBar.PanelEx btnDel; private UserComponent.UcCheckBox chkOriginalPriceMarkUp; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.NumericUpDown numSeconds; + private UserComponent.UcCheckBox chkCustomPic; + private System.Windows.Forms.Label lblCustomImgNum; + private DevComponents.DotNetBar.PanelEx btnCustomImg; } } \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs index b44b703..2113cc6 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs @@ -32,6 +32,8 @@ namespace TemuKJD.KJDForms.ProductSelectForms List lstAdminTemuDBProductSelect = new List(); List shopLst = new List(); List lstDbPrice = new List(); + List lstCustomImg = new List(); + Dictionary dicCustomImg = new Dictionary(); public DbProductSelectListManageForm() { @@ -489,6 +491,12 @@ namespace TemuKJD.KJDForms.ProductSelectForms private void btnAdd_Click(object sender, EventArgs e) { + if (chkCustomPic.Checked && lstCustomImg.Count <= 0) + { + BaseMsgForm.ShowError("请选择自定义图片!"); + return; + } + var lstProdId = dgvSelectProduct.Rows.Cast().Where(row => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colSelectId"]?.Value.ToString()).ToList(); var prodList = this.lstAdminTemuDBProductSelect.Where(p => lstProdId.Contains(p.id.ParseToString())).ToArray(); @@ -807,6 +815,22 @@ namespace TemuKJD.KJDForms.ProductSelectForms prodParam.carouselImageI18nReqs = prodInfo.carouselImageI18nVOList; prodParam.carouselImageUrls = prodInfo.carouselImageUrls; + List realSkuItems = new List(); + List realCarouselImageUrls = new List(); + realCarouselImageUrls.AddRange(prodInfo.carouselImageUrls); + + if (chkCustomPic.Checked) + { + for (int i = 0; i < prodParam.carouselImageUrls.Count; i++) + { + var imgUrlRst = GetCustomImg(shop, prodParam.productDraftId.ParseToString()); + if (imgUrlRst.Contains("\"success\":false")) + return imgUrlRst; + prodParam.carouselImageUrls[i] = imgUrlRst; + Thread.Sleep(Randomx.GetId(50, 100)); + } + } + prodParam.goodsAdvantageLabelTypes = prodInfo.goodsAdvantageLabelVOList != null ? prodInfo.goodsAdvantageLabelVOList : new List(); prodParam.goodsLayerDecorationCustomizeI18nReqs = prodInfo.goodsLayerDecorationCustomizeI18nVOList; @@ -837,6 +861,11 @@ namespace TemuKJD.KJDForms.ProductSelectForms } prodParam.goodsModelReqs = prodInfo.goodsModelList != null ? prodInfo.goodsModelList : new List(); prodParam.materialImgUrl = prodInfo.materialImgUrl; + if (chkCustomPic.Checked) + { + if (prodParam.carouselImageUrls != null && prodParam.carouselImageUrls.Count > 0) + prodParam.materialImgUrl = prodParam.carouselImageUrls[0]; + } prodParam.materialMultiLanguages = prodInfo.productLocalExtAttr.materialMultiLanguages != null ? prodInfo.productLocalExtAttr.materialMultiLanguages : new List(); prodParam.personalizationSwitch = prodInfo.productWhExtAttr.personalizationSwitch.ParseToInt(); @@ -1203,6 +1232,18 @@ namespace TemuKJD.KJDForms.ProductSelectForms #endregion skuItem.thumbUrl = skuInfo.thumbUrl; + // 自定义sku图 + if (chkCustomPic.Checked) + { + var skuCopy = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(skuItem)); + realSkuItems.Add(skuCopy); + + var imgUrlRst = GetCustomImg(shop, prodParam.productDraftId.ParseToString()); + if (imgUrlRst.Contains("\"success\":false")) + return imgUrlRst; + skuItem.thumbUrl = imgUrlRst; + Thread.Sleep(Randomx.GetId(50, 100)); + } skcItem.productSkuReqs.Add(skuItem); } @@ -1263,6 +1304,42 @@ namespace TemuKJD.KJDForms.ProductSelectForms { if (!chkUploadProd.Checked) { + #region 使用草稿箱模拟上传后改图 + if (chkCustomPic.Checked) + { + prodParam.carouselImageUrls = realCarouselImageUrls; + prodParam.productSkcReqs[0].productSkuReqs = realSkuItems; + var index = prodParam.productName.ParseToString().IndexOf(dbProd.product_name); + if (index >= 0) + prodParam.productName = prodParam.productName.Substring(index); + if (prodParam.carouselImageUrls != null && prodParam.carouselImageUrls.Count > 0) + prodParam.materialImgUrl = prodParam.carouselImageUrls[0]; + Task.Run(() => + { + var cell2 = cell; + var realprodParam = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(prodParam)); + Invoke(new Action(() => + { + cell2.Value = "正在还原图片"; + })); + Thread.Sleep(numSeconds.Value.ParseToInt() * 1000); + + var rst = SaveDraft(shop, prodParam.productDraftId.ToString(), realprodParam); + Invoke(new Action(() => + { + if (rst.Contains("\"success\":true")) + cell2.Value = "还原草稿图片成功"; + else + { + var error = BaseRegex.GetStringJson(ref html, "errorMsg"); + if (string.IsNullOrEmpty(error)) + error = BaseRegex.GetStringJson(ref html, "error_msg"); + cell2.Value = "还原草稿图片失败 " + error; + } + })); + }); + } + #endregion return "{\"success\":true,\"status\":\"草稿箱\"," + "\"productDraftId\":\"" + prodParam.productDraftId.ParseToString() + "\"," + "\"errMsg\":\"" + sizeError + "\"}"; @@ -1290,6 +1367,49 @@ namespace TemuKJD.KJDForms.ProductSelectForms html = AddProduct(shop, prodParam.productDraftId.ToString(), prodParam); if (html.Contains("\"success\":true")) { + if (chkCustomPic.Checked) + { + prodParam.carouselImageUrls = realCarouselImageUrls; + prodParam.productSkcReqs[0].productSkuReqs = realSkuItems; + var index = prodParam.productName.ParseToString().IndexOf(dbProd.product_name); + if (index >= 0) + prodParam.productName = prodParam.productName.Substring(index); + if (prodParam.carouselImageUrls != null && prodParam.carouselImageUrls.Count > 0) + prodParam.materialImgUrl = prodParam.carouselImageUrls[0]; + Task.Run(() => + { + var cell2 = cell; + var realprodParam = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(prodParam)); + Invoke(new Action(() => + { + cell2.Value = "正在还原图片"; + })); + Thread.Sleep(numSeconds.Value.ParseToInt() * 1000); + + var rst = EditProduct(shop, prodParam.productDraftId.ToString(), realprodParam); + if (!rst.Contains("\"success\":true")) + { + Thread.Sleep(5000); + rst = EditProduct(shop, prodParam.productDraftId.ToString(), realprodParam); + } + if (!rst.Contains("\"success\":true")) + { + rst = EditProduct(shop, prodParam.productDraftId.ToString(), realprodParam); + } + Invoke(new Action(() => + { + if (rst.Contains("\"success\":true")) + cell2.Value = "还原图片成功"; + else + { + var error2 = BaseRegex.GetStringJson(ref html, "errorMsg"); + if (string.IsNullOrEmpty(error2)) + error2 = BaseRegex.GetStringJson(ref html, "error_msg"); + cell2.Value = "还原图片失败 " + error2; + } + })); + }); + } return "{\"success\":true,\"status\":\"已上传\"," + "\"productDraftId\":\"" + prodParam.productDraftId.ParseToString() + "\"," + "\"errMsg\":\"" + sizeError + "\"}"; @@ -1299,6 +1419,44 @@ namespace TemuKJD.KJDForms.ProductSelectForms var error = BaseRegex.GetStringJson(ref html, "errorMsg"); if (string.IsNullOrWhiteSpace(error)) error = BaseRegex.GetStringJson(ref html, "error_msg"); + + #region 传失败了在草稿箱,使用草稿箱模拟上传后改图 + if (chkCustomPic.Checked) + { + prodParam.carouselImageUrls = realCarouselImageUrls; + prodParam.productSkcReqs[0].productSkuReqs = realSkuItems; + var index = prodParam.productName.ParseToString().IndexOf(dbProd.product_name); + if (index >= 0) + prodParam.productName = prodParam.productName.Substring(index); + if (prodParam.carouselImageUrls != null && prodParam.carouselImageUrls.Count > 0) + prodParam.materialImgUrl = prodParam.carouselImageUrls[0]; + Task.Run(() => + { + var cell2 = cell; + var realprodParam = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(prodParam)); + Invoke(new Action(() => + { + cell2.Value = "正在还原图片"; + })); + Thread.Sleep(numSeconds.Value.ParseToInt() * 1000); + + var rst = SaveDraft(shop, prodParam.productDraftId.ToString(), realprodParam); + Invoke(new Action(() => + { + if (rst.Contains("\"success\":true")) + cell2.Value = "还原草稿图片成功"; + else + { + var error2 = BaseRegex.GetStringJson(ref html, "errorMsg"); + if (string.IsNullOrEmpty(error2)) + error2 = BaseRegex.GetStringJson(ref html, "error_msg"); + cell2.Value = "还原草稿图片失败 " + error; + } + })); + }); + } + + #endregion // 这里上传草稿一定成功了,所以返回true,但是有错误信息 return "{\"success\":true,\"status\":\"草稿箱\"," + "\"productDraftId\":\"" + prodParam.productDraftId.ParseToString() + "\"," + @@ -1307,6 +1465,71 @@ namespace TemuKJD.KJDForms.ProductSelectForms #endregion } + string GetCustomImg(ShopLoginInfo shop, string productDraftId) + { + var sImgPath = this.lstCustomImg[Randomx.GetId(lstCustomImg.Count)]; + if (dicCustomImg.Keys.Contains(sImgPath)) + return dicCustomImg[sImgPath]; + + var md5CheckRst = CheckImgMd5(shop, productDraftId, "", BaseClass.GetFileMd5(sImgPath)); + if (!md5CheckRst.Contains("\"success\":true")) + { + var error = BaseRegex.GetStringJson(ref md5CheckRst, "errorMsg"); + if (string.IsNullOrEmpty(error)) + error = BaseRegex.GetStringJson(ref md5CheckRst, "error_msg"); + return "{\"success\":false,\"status\":\"未上传\"," + + "\"productDraftId\":\"" + productDraftId + "\"," + + "\"errMsg\":\"草稿箱上传失败 " + error + "\"}"; + } + var materialId = BaseRegex.GetStringJson(ref md5CheckRst, "id"); + if (string.IsNullOrEmpty(materialId)) + { + var imgUpSignRst = GetImgUpSign(shop, productDraftId); + string signature = BaseRegex.GetStringJson(ref imgUpSignRst, "signature"); + if (string.IsNullOrEmpty(signature)) + { + var error = BaseRegex.GetStringJson(ref imgUpSignRst, "errorMsg"); + if (string.IsNullOrEmpty(error)) + error = BaseRegex.GetStringJson(ref imgUpSignRst, "error_msg"); + return "{\"success\":false,\"status\":\"未上传\"," + + "\"productDraftId\":\"" + productDraftId + "\"," + + "\"errMsg\":\"草稿箱上传失败,获取图片上传signature失败 " + error + "\"}"; + } + var uploadImgRst = UploadImage(shop, productDraftId, sImgPath, signature); + var imgUrl = BaseRegex.GetStringJson(ref uploadImgRst, "url"); + + if (string.IsNullOrEmpty(signature)) + { + var error = BaseRegex.GetStringJson(ref uploadImgRst, "errorMsg"); + if (string.IsNullOrEmpty(error)) + error = BaseRegex.GetStringJson(ref uploadImgRst, "error_msg"); + return "{\"success\":false,\"status\":\"未上传\"," + + "\"productDraftId\":\"" + productDraftId + "\"," + + "\"errMsg\":\"草稿箱上传失败,上传图片失败 " + error + "\"}"; + } + + dicCustomImg[sImgPath] = imgUrl; + return imgUrl; + } + else + { + var existImgRst = this.GetExistImg(shop, productDraftId, materialId); + string imgUrl = BaseRegex.GetStringJson(ref existImgRst, "imgUrl"); + if (string.IsNullOrEmpty(materialId)) + { + var error = BaseRegex.GetStringJson(ref existImgRst, "errorMsg"); + if (string.IsNullOrEmpty(error)) + error = BaseRegex.GetStringJson(ref existImgRst, "error_msg"); + return "{\"success\":false,\"status\":\"未上传\"," + + "\"productDraftId\":\"" + productDraftId + "\"," + + "\"errMsg\":\"草稿箱上传失败,获取已存在图片失败 " + error + "\"}"; + } + + dicCustomImg[sImgPath] = imgUrl; + return imgUrl; + } + } + private string AddDraft(ShopLoginInfo shop, string catId) { //string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/draft/add"; @@ -1351,6 +1574,14 @@ namespace TemuKJD.KJDForms.ProductSelectForms return KJDHttpResponse.PostResponse2(shop, url, body, refere); } + private string EditProduct(ShopLoginInfo shop, string productId, TemuProductParam prodParam) + { + string url = "https://agentseller.temu.com/visage-agent-seller/product/edit"; + string body = JsonHelper.SerializeObject(prodParam).Replace("productDraftId", "productId"); + string refere = "https://agentseller.temu.com/goods/edit?from=productList&productId=" + productId; + return KJDHttpResponse.PostResponse2(shop, url, body, refere); + } + private string QueryOrAddSpec(ShopLoginInfo shop, string draftId, string parentSpecId, string specName) { string url = "https://agentseller.temu.com/anniston-agent-seller/sku/spec/byName/queryOrAdd"; @@ -1360,6 +1591,72 @@ namespace TemuKJD.KJDForms.ProductSelectForms return KJDHttpResponse.PostResponse2(shop, url, body, refere); } + private string CheckImgMd5(ShopLoginInfo shop, string draftId, string parentSpecId, string fileMd5) + { + string url = "https://agentseller.temu.com/phoenix-mms/material/queryByMd5"; + string body = @"{""materialType"":1,""md5IdList"":[""" + fileMd5 + @"""]}"; + + string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time=" + + BaseClass.DateTimeToTimestampSeconds(DateTime.Now); + return KJDHttpResponse.PostResponse2(shop, url, body, refere); + + //https://img.kwcdn.com/product/fancy/8dc012c8-fa6d-4625-b2bb-efd32f44f889.jpg + //"materialName":"8dc012c8-fa6d-4625-b2bb-efd32f44f889" + } + + private string GetExistImg(ShopLoginInfo shop, string draftId, string materialId) + { + string url = "https://agentseller.temu.com/phoenix-mms/material/pageQuery"; + string body = @"{""pageInfo"":{""pageNo"":1,""pageSize"":50},""uploadStatusList"":[3], +""materialIdList"":[" + materialId + @"],""folderId"":0,""minMaterialHeight"":800,""minMaterialWidth"":800,""maxMaterialSize"":2097152, +""proportion"":""1:1"",""proportionList"":[""1:1""],""badTagList"":[""ZH_HANS""]}"; + + body = "{\"pageInfo\":{\"pageNo\":1,\"pageSize\":50},\"uploadStatusList\":[3],\"materialIdList\":[250822757735044],\"folderId\":0,\"minMaterialHeight\":800,\"minMaterialWidth\":800,\"maxMaterialSize\":2097152,\"proportion\":\"1:1\",\"proportionList\":[\"1:1\"],\"badTagList\":[\"ZH_HANS\"]}"; + + string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time=" + + BaseClass.DateTimeToTimestampSeconds(DateTime.Now); + return KJDHttpResponse.PostResponse2(shop, url, body, refere); + } + + private string GetImgUpSign(ShopLoginInfo shop, string draftId) + { + string url = "https://agentseller.temu.com/general_auth/get_signature?sdk_version=js-0.0.49&tag_name=product-material-tag&scene_id=agent-seller"; + string body = @"{""bucket_tag"":""product-material-tag""}"; + string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time=" + + BaseClass.DateTimeToTimestampSeconds(DateTime.Now); + + return KJDHttpResponse.PostResponse2(shop, url, body, refere); + } + + private string UploadImage(ShopLoginInfo shop, string draftId, string fileFullName, string uploadSign) + { + 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.49&tag_name=product-material-tag"; + string boundary = "----WebKitFormBoundarybJAaZCwJYanqPxhq"; + string body = @"------WebKitFormBoundarybJAaZCwJYanqPxhq +Content-Disposition: form-data; name=""url_width_height"" + +true +------WebKitFormBoundarybJAaZCwJYanqPxhq +Content-Disposition: form-data; name=""image""; filename=""" + fileName + @""" +Content-Type: image/jpeg + +" + fileFullName + @" +------WebKitFormBoundarybJAaZCwJYanqPxhq +Content-Disposition: form-data; name=""upload_sign"" + +" + uploadSign + @" +------WebKitFormBoundarybJAaZCwJYanqPxhq-- +"; + string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time=" + + BaseClass.DateTimeToTimestampSeconds(DateTime.Now); + + return KJDHttpResponse.PostResponseUpload(shop, url, body, refere, boundary); + } + + private void btnSetSubSa_Click(object sender, EventArgs e) { var lstProdId = dgvSelectProduct.Rows.Cast().Where(row @@ -1659,5 +1956,33 @@ namespace TemuKJD.KJDForms.ProductSelectForms return JsonHelper.DeserializeJsonToList(jArr.ToString()); } + + private void btnCustomImg_Click(object sender, EventArgs e) + { + string text = ""; + OpenFileDialog openFileDialog = new OpenFileDialog(); + openFileDialog.Multiselect = true; + // 设置过滤条件,只显示文本文件 + openFileDialog.Filter = "图片文件 (*.jepg;*.jpg;*.png)|*.jepg;*.jpg;*.png|All files (*.*)|*.*"; + // 显示对话框并获取结果 + if (openFileDialog.ShowDialog() == DialogResult.OK) + { + try + { + // 读取文件内容 + //text = File.ReadAllText(openFileDialog.FileName); + this.lstCustomImg = openFileDialog.FileNames.ToList(); + lblCustomImgNum.Text = "自定义图片 " + this.lstCustomImg.Count + " 张"; + // 显示文件内容 + //Console.WriteLine(text); + } + catch (Exception ex) + { + //Console.WriteLine("An error occurred: " + ex.Message); + BaseMsgForm.ShowError(ex.Message); + return; + } + } + } } } diff --git a/TEMUKJD/KJDForms/ShopForms/ShopForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopForm.cs index e87e408..b67da6c 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopForm.cs @@ -32,7 +32,7 @@ namespace TemuKJD.KJDForms.ShopForms tv.SelectedNode = tv.Nodes[0].Nodes[0]; tv.ExpandGroup(tv.Nodes[0].Name); - List hideName = new List() { "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单销售统计" }; + List hideName = new List() { "子账号管理", "高级运费模板", "运费模板", "素材库管理", /*"订单销售统计"*/ }; if (BaseClass.GroupId == 3) { diff --git a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopStatisticsForm.cs b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopStatisticsForm.cs index 2629f73..9a84e90 100644 --- a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopStatisticsForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopStatisticsForm.cs @@ -483,7 +483,7 @@ namespace TemuKJD.KJDForms.ShopForms IsOperate = true; { ShopLoginForm shopLoginForm = new ShopLoginForm(shop); - shopLoginForm.chkCloseAfterLogin.Checked = false; + //shopLoginForm.chkCloseAfterLogin.Checked = false; shopLoginForm.openType = EnumOpenType.login; shopLoginForm.ShowDialog(); var rows = this.dgvShop.Rows.Cast().Where(r => r.Cells["colShopLoginName"].Value.ToString() == loginName); @@ -496,6 +496,7 @@ namespace TemuKJD.KJDForms.ShopForms (row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightGreen : Color.OrangeRed; (row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkGreen : Color.DarkRed; } + ReGetStatistics(rows.Select(s => s.Cells["colShopId"].Value.ParseToString()).ToList()); } IsOperate = false; break; @@ -514,7 +515,13 @@ namespace TemuKJD.KJDForms.ShopForms { var selectIds = dgvShop.Rows.Cast().Where(row => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); - var shopList = GlobalConfig.ShopLoginList.Where(s => selectIds.Contains(s.ShopId)).ToList(); + + ReGetStatistics(selectIds); + } + + void ReGetStatistics(List reGetShopIds) + { + var shopList = GlobalConfig.ShopLoginList.Where(s => reGetShopIds.Contains(s.ShopId)).ToList(); foreach (var shop in shopList) { ShopStatisticsInfo statistics = lstShopStatisticsInfo.FirstOrDefault(s => s.shop_id.ToString() == shop.ShopId); @@ -523,7 +530,7 @@ namespace TemuKJD.KJDForms.ShopForms } this.pbLoading.Visible = true; - GetShopStatistics(shopList, selectIds); + GetShopStatistics(shopList, reGetShopIds); } } } diff --git a/TEMUKJD/UserControls/UcSplitPage.Designer.cs b/TEMUKJD/UserControls/UcSplitPage.Designer.cs index 4b8db49..a4fbea9 100644 --- a/TEMUKJD/UserControls/UcSplitPage.Designer.cs +++ b/TEMUKJD/UserControls/UcSplitPage.Designer.cs @@ -50,10 +50,10 @@ namespace TemuKJD.UserControls this.btnPrev.Cursor = System.Windows.Forms.Cursors.Hand; this.btnPrev.DisabledBackColor = System.Drawing.Color.Empty; this.btnPrev.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnPrev.Location = new System.Drawing.Point(206, 0); - this.btnPrev.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.btnPrev.Location = new System.Drawing.Point(259, 0); + this.btnPrev.Margin = new System.Windows.Forms.Padding(0); this.btnPrev.Name = "btnPrev"; - this.btnPrev.Size = new System.Drawing.Size(44, 20); + this.btnPrev.Size = new System.Drawing.Size(31, 20); this.btnPrev.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnPrev.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.btnPrev.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); @@ -66,7 +66,7 @@ namespace TemuKJD.UserControls this.btnPrev.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); this.btnPrev.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); this.btnPrev.TabIndex = 431; - this.btnPrev.Text = "上一页"; + this.btnPrev.Text = "上页"; this.btnPrev.Click += new System.EventHandler(this.btnPrev_Click); // // btnNext @@ -77,10 +77,10 @@ namespace TemuKJD.UserControls this.btnNext.Cursor = System.Windows.Forms.Cursors.Hand; this.btnNext.DisabledBackColor = System.Drawing.Color.Empty; this.btnNext.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnNext.Location = new System.Drawing.Point(277, 0); - this.btnNext.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.btnNext.Location = new System.Drawing.Point(311, 0); + this.btnNext.Margin = new System.Windows.Forms.Padding(0); this.btnNext.Name = "btnNext"; - this.btnNext.Size = new System.Drawing.Size(44, 20); + this.btnNext.Size = new System.Drawing.Size(31, 20); this.btnNext.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnNext.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.btnNext.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); @@ -93,14 +93,14 @@ namespace TemuKJD.UserControls this.btnNext.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); this.btnNext.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); this.btnNext.TabIndex = 435; - this.btnNext.Text = "下一页"; + this.btnNext.Text = "下页"; this.btnNext.Click += new System.EventHandler(this.btnNext_Click); // // lblPage // this.lblPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom))); this.lblPage.AutoSize = true; - this.lblPage.Location = new System.Drawing.Point(256, 0); + this.lblPage.Location = new System.Drawing.Point(293, 0); this.lblPage.Name = "lblPage"; this.lblPage.Size = new System.Drawing.Size(15, 20); this.lblPage.TabIndex = 436; @@ -164,7 +164,8 @@ namespace TemuKJD.UserControls // this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom))); this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(420, 0); + this.label1.Location = new System.Drawing.Point(423, 0); + this.label1.Margin = new System.Windows.Forms.Padding(0); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(20, 20); this.label1.TabIndex = 445; @@ -188,10 +189,10 @@ namespace TemuKJD.UserControls this.txtJumpPage.Border.PaddingRight = 2; this.txtJumpPage.Border.PaddingTop = 2; this.txtJumpPage.Font = new System.Drawing.Font("微软雅黑", 7.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.txtJumpPage.Location = new System.Drawing.Point(382, 0); + this.txtJumpPage.Location = new System.Drawing.Point(393, 0); this.txtJumpPage.Margin = new System.Windows.Forms.Padding(0); this.txtJumpPage.Name = "txtJumpPage"; - this.txtJumpPage.Size = new System.Drawing.Size(35, 21); + this.txtJumpPage.Size = new System.Drawing.Size(30, 21); this.txtJumpPage.TabIndex = 444; this.txtJumpPage.Text = "1"; // @@ -199,18 +200,20 @@ namespace TemuKJD.UserControls // this.lblJump.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom))); this.lblJump.AutoSize = true; - this.lblJump.Location = new System.Drawing.Point(327, 0); + this.lblJump.Location = new System.Drawing.Point(345, 0); + this.lblJump.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); this.lblJump.Name = "lblJump"; - this.lblJump.Size = new System.Drawing.Size(52, 20); + this.lblJump.Size = new System.Drawing.Size(48, 20); this.lblJump.TabIndex = 437; - this.lblJump.Text = "跳转到 "; + this.lblJump.Text = "跳转到 "; this.lblJump.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // lblTotal // this.lblTotal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom))); this.lblTotal.AutoSize = true; - this.lblTotal.Location = new System.Drawing.Point(161, 0); + this.lblTotal.Location = new System.Drawing.Point(220, 0); + this.lblTotal.Margin = new System.Windows.Forms.Padding(0); this.lblTotal.Name = "lblTotal"; this.lblTotal.Size = new System.Drawing.Size(39, 20); this.lblTotal.TabIndex = 446;