diff --git a/.gitignore b/.gitignore index 5c86336..a923dc3 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ obj packages .user bin +.zip +.rar \ No newline at end of file diff --git a/AllBase/AllBase.csproj b/AllBase/AllBase.csproj index 0836d1b..b1dff4f 100644 --- a/AllBase/AllBase.csproj +++ b/AllBase/AllBase.csproj @@ -191,8 +191,8 @@ - - + + @@ -239,9 +239,7 @@ - - - + diff --git a/AllBase/AllBase.csproj.user b/AllBase/AllBase.csproj.user index 1777006..301324e 100644 --- a/AllBase/AllBase.csproj.user +++ b/AllBase/AllBase.csproj.user @@ -4,6 +4,6 @@ false - ShowAllFiles + ProjectFiles \ No newline at end of file diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index 22875c2..cc065df 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,8 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 359; + public static int VersionCount = 361; + //public static int VersionCount = 361; /// /// 版本号 diff --git a/AllBase/Model/Result/TemuProductParam.cs b/AllBase/Model/Param/TemuProductManage/TemuProductParam.cs similarity index 99% rename from AllBase/Model/Result/TemuProductParam.cs rename to AllBase/Model/Param/TemuProductManage/TemuProductParam.cs index 2e9ec32..02debd4 100644 --- a/AllBase/Model/Result/TemuProductParam.cs +++ b/AllBase/Model/Param/TemuProductManage/TemuProductParam.cs @@ -4,8 +4,11 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace AllBase.Model.Result +namespace AllBase.Model.Param.TemuProductManage { + /// + /// temu商品上传 + /// public class ProductPropertyReqsItem { /// @@ -497,6 +500,9 @@ namespace AllBase.Model.Result public string protocolUrl { get; set; } } + /// + /// temu商品上传类 + /// public class TemuProductParam { /// diff --git a/AllBase/Model/Result/TemuDBProduct.cs b/AllBase/Model/Result/TemuDBProduct.cs new file mode 100644 index 0000000..99bebdd --- /dev/null +++ b/AllBase/Model/Result/TemuDBProduct.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Result +{ + /// + /// 选品数据库商品类 + /// + public class TemuDBProduct + { + public int id { get; set; } + public string spu_id { get; set; } + public string skc_id { get; set; } + public string cat_id { get; set; } + public string cat_name { get; set; } + public string ext_code { get; set; } + public string product_name { get; set; } + public string product_json { get; set; } + public string size_json { get; set; } + public string main_img { get; set; } + public DateTime add_time { get; set; } + public DateTime mdy_time { get; set; } + public string notes { get; set; } + } +} diff --git a/AllBase/Model/Result/TemuProductInfo.cs b/AllBase/Model/Result/TemuProductInfo.cs index 4ac67e1..0427306 100644 --- a/AllBase/Model/Result/TemuProductInfo.cs +++ b/AllBase/Model/Result/TemuProductInfo.cs @@ -6,6 +6,9 @@ using System.Threading.Tasks; namespace AllBase.Model.Result { + /// + /// temu商品获取 + /// public class TemuProductInfo { public TemuCategories categories { get; set; } diff --git a/KJDService/KJD_WebService/BLL/ProductManage.cs b/KJDService/KJD_WebService/BLL/ProductManage.cs index b10f602..55111d2 100644 --- a/KJDService/KJD_WebService/BLL/ProductManage.cs +++ b/KJDService/KJD_WebService/BLL/ProductManage.cs @@ -1,8 +1,12 @@ -using KJD_Web.Utils; +using KJD_Web.Model; +using KJD_Web.Utils; +using MySql.Data.MySqlClient; using System; using System.Collections.Generic; +using System.Data; using System.Linq; using System.Web; +using System.Web.Security; namespace KJD_Web.BLL { @@ -12,19 +16,23 @@ namespace KJD_Web.BLL { if (!string.IsNullOrEmpty(inputData)) { + var time = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "time"), out time); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":20000,\"msg\":\"校验失败\"}"; + string user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); string spu_id = RegexUtils.GetStringQuery(ref inputData, "spu_id"); string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id"); string cat_id = RegexUtils.GetStringQuery(ref inputData, "cat_id"); - string cat_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "cat_name")); - string product_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_name")); - string product_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_json")); - string size_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "size_json")); - string main_img = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "main_img")); - string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes")); - //string sss = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_json")); - int r2 = 0; - int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); + string cat_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "cat_name"))?.Replace("'", "\\'"); + string ext_code = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "ext_code"))?.Replace("'", "\\'"); + string product_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_name"))?.Replace("'", "\\'"); + string product_json = RegexUtils.GetStringQuery(ref inputData, "product_json"); + string size_json = RegexUtils.GetStringQuery(ref inputData, "size_json"); + string main_img = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "main_img"))?.Replace("'", "\\'"); + string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes"))?.Replace("'", "\\'"); if (string.IsNullOrEmpty(user_name)) { @@ -35,9 +43,9 @@ namespace KJD_Web.BLL MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; - sql = "insert into kjd.product (spu_id,skc_id,cat_id,cat_name,product_name,product_json,size_json,main_img,notes,add_time,mdy_time) " + + sql = "insert into kjd.product (spu_id,skc_id,cat_id,cat_name,product_name,ext_code,main_img,product_json,size_json,notes,add_time,mdy_time) " + "values ('" + spu_id + "','" + skc_id + "','" + cat_id + "','" + cat_name + "','" + product_name + "','" + - product_json + "','" + size_json + "','" + main_img + "','" + notes + "','" + + ext_code + "','" + main_img + "','" + product_json + "','" + size_json + "','" + notes + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');"; var rst = mySql.ExecuteNonQuery(sql); @@ -51,7 +59,240 @@ namespace KJD_Web.BLL return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; } } - return "{\"code\":19999,\"msg\":\"未知错误\"}"; + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + + public string GetProductList(string inputData, bool isAdmin = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "time"), out time); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":20000,\"msg\":\"校验失败\"}"; + + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'","\\'"); + var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'"); + var search_spu = RegexUtils.GetStringQuery(ref inputData, "search_spu")?.Replace("'", "\\'"); + var search_skc = RegexUtils.GetStringQuery(ref inputData, "search_skc")?.Replace("'", "\\'"); + var search_cat = RegexUtils.GetStringQuery(ref inputData, "search_cat")?.Replace("'", "\\'"); + var search_ext_code = RegexUtils.GetStringQuery(ref inputData, "search_ext_code")?.Replace("'", "\\'"); + var search_prod_name = RegexUtils.GetStringQuery(ref inputData, "search_prod_name")?.Replace("'", "\\'"); + var search_notes = RegexUtils.GetStringQuery(ref inputData, "search_notes")?.Replace("'", "\\'"); + var s_page = RegexUtils.GetStringQuery(ref inputData, "page"); + int page = 0; + int.TryParse(s_page, out page); + var s_page_size = RegexUtils.GetStringQuery(ref inputData, "page_size"); + int page_size; + int.TryParse(s_page_size, out page_size); + if (page_size == 0) + page_size = 50; + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + + string sql = "select count(id) from kjd.product where 1=1"; + if (!string.IsNullOrWhiteSpace(search_spu)) + sql += " and spu_id like '%" + search_spu + "%'"; + if (!string.IsNullOrWhiteSpace(search_skc)) + sql += " and skc_id like '%" + search_skc + "%'"; + if (!string.IsNullOrWhiteSpace(search_cat)) + sql += " and cat_name like '%" + search_cat + "%'"; + if (!string.IsNullOrWhiteSpace(search_ext_code)) + sql += " and ext_code like '%" + search_ext_code + "%'"; + if (!string.IsNullOrWhiteSpace(search_prod_name)) + sql += " and product_name like '%" + search_prod_name + "%'"; + if (!string.IsNullOrWhiteSpace(search_notes)) + sql += " and notes like '%" + search_notes + "%'"; + var count = mySql.ExecuteRowCount(sql); + + DataTable dt; + if (count == 0) + { + dt = new DataTable(); + } + else + { + sql = "select id,spu_id,skc_id,cat_id,cat_name,ext_code,product_name,main_img,notes,add_time,mdy_time from kjd.product where 1=1"; + if (!string.IsNullOrWhiteSpace(search_spu)) + sql += " and spu_id like '%" + search_spu + "%'"; + if (!string.IsNullOrWhiteSpace(search_skc)) + sql += " and skc_id like '%" + search_skc + "%'"; + if (!string.IsNullOrWhiteSpace(search_cat)) + sql += " and cat_name like '%" + search_cat + "%'"; + if (!string.IsNullOrWhiteSpace(search_ext_code)) + sql += " and ext_code like '%" + search_ext_code + "%'"; + if (!string.IsNullOrWhiteSpace(search_prod_name)) + sql += " and product_name like '%" + search_prod_name + "%'"; + if (!string.IsNullOrWhiteSpace(search_notes)) + sql += " and notes like '%" + search_notes + "%'"; + sql += " order by id desc"; + sql += " limit " + Math.Max(page - 1, 0) * page_size + "," + page_size; + dt = mySql.ExecuteDataTable(sql); + } + + mySql.Close(); + if (dt != null) + { + try + { + List productLst = new List(); + foreach (DataRow row in dt.Rows) + { + DBProductResultParam prod = new DBProductResultParam + { + id = Convert.ToInt32(row["id"]), + skc_id = row["skc_id"].ToString(), + spu_id = row["spu_id"].ToString(), + cat_id = row["cat_id"].ToString(), + cat_name = row["cat_name"].ToString(), + product_name = row["product_name"].ToString(), + main_img = row["main_img"].ToString(), + ext_code = row["ext_code"].ToString(), + //product_json = row["product_json"].ToString(), + //size_json = row["size_json"].ToString(), + add_time = Convert.ToDateTime(row["add_time"]), + mdy_time = Convert.ToDateTime(row["mdy_time"]), + notes = row["notes"].ToString(), + }; + productLst.Add(prod); + } + var data = JsonUtils.SerializerObjectToString(productLst); + return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + "}"; + } + catch (Exception ex) + { + return "{\"code\":200,\"msg\":\"" + ex.Message + "\",\"data\":[],\"count\":" + 0 + "}"; + } + } + else + { + return "{\"code\":200,\"msg\":\"" + mySql.Message + "\",\"data\":[],\"count\":" + 0 + "}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + + public string DelDbProd(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "time"), out time); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":20000,\"msg\":\"校验失败\"}"; + + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); + var id = RegexUtils.GetStringQuery(ref inputData, "db_id"); + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "delete from kjd.product where id='" + + id + "'"; + + var rst = mySql.ExecuteNonQuery(sql); + mySql.Close(); + if (rst) + { + return "{\"code\":200,\"msg\":\"success\"}"; + } + else + return "{\"code\":500,\"msg\":\"删除失败:" + mySql.Message + "\"}"; + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + + public string MdyProductNotes(string inputData, bool isAdmin = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "time"), out time); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":20000,\"msg\":\"校验失败\"}"; + + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); + var id = RegexUtils.GetStringQuery(ref inputData, "db_id"); + string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes")); + + if (string.IsNullOrEmpty(user_name)) + { + return "{\"code\":500,\"msg\":\"没有用户名\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "update kjd.product set"; + if (notes != null) + sql += " notes='" + notes + "',"; + sql = sql.TrimEnd(','); + sql += " where id=" + id + ";"; + + var rst = mySql.ExecuteNonQuery(sql); + mySql.Close(); + if (rst) + { + return "{\"code\":200,\"msg\":\"success\"}"; + } + else + { + return "{\"code\":500,\"msg\":\"更新失败:" + mySql.Message + "\"}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + + + public string AddUserSelectProduct(string inputData, bool isAdmin = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "time"), out time); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":20000,\"msg\":\"校验失败\"}"; + + var out_product_Id = RegexUtils.GetStringQuery(ref inputData, "out_product_id"); + var shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id"); + var shop_account = RegexUtils.GetStringQuery(ref inputData, "shop_account"); + var user_name = RegexUtils.GetStringQuery(ref inputData, "main_user_name"); + var sub_user_name = RegexUtils.GetStringQuery(ref inputData, "sub_user_name"); + var notes = RegexUtils.GetStringQuery(ref inputData, "notes"); + var status = RegexUtils.GetStringQuery(ref inputData, "status"); + + if (string.IsNullOrEmpty(user_name)) + { + return "{\"code\":500,\"msg\":\"没有用户名\"}"; + } + if (string.IsNullOrEmpty(shop_id)) + { + return "{\"code\":500,\"msg\":\"店铺信息\"}"; + } + + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "insert into kjd.product_select (out_product_Id,shop_id,shop_account,user_name,sub_user_name,notes,status,add_time,mdy_time) " + + "values ('" + out_product_Id + "','" + shop_id + "','" + shop_account + "','" + user_name + "','" + sub_user_name + "','" + + notes + "','" + status + "','" + + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');"; + var rst = mySql.ExecuteNonQuery(sql); + mySql.Close(); + if (rst) + { + return "{\"code\":200,\"msg\":\"success\"}"; + } + else + { + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; } } } \ No newline at end of file diff --git a/KJDService/KJD_WebService/BLL/UserManage.cs b/KJDService/KJD_WebService/BLL/UserManage.cs index e187e93..864c4ec 100644 --- a/KJDService/KJD_WebService/BLL/UserManage.cs +++ b/KJDService/KJD_WebService/BLL/UserManage.cs @@ -55,7 +55,7 @@ namespace KJD_Web.BLL return "{\"code\":1,\"msg\":\"用户名或密码错误\"}"; } } - return "{\"code\":19999,\"msg\":\"未知错误\"}"; + return "{\"code\":19999,\"msg\":\"输入为空\"}"; } public string AddSubUser(string inputData) @@ -97,7 +97,7 @@ namespace KJD_Web.BLL else return "{\"code\":200,\"msg\":\"子账户创建成功!\"}"; } - return "{\"code\":19999,\"msg\":\"未知错误\"}"; + return "{\"code\":19999,\"msg\":\"输入为空\"}"; } public string GetSubUser(string inputData) @@ -146,7 +146,7 @@ namespace KJD_Web.BLL return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"c\":\"" + EncrypUtil.Encryption(r2) + "\"}"; } } - return "{\"code\":19999,\"msg\":\"未知错误\"}"; + return "{\"code\":19999,\"msg\":\"输入为空\"}"; } public string UpdateSubUser(string inputData) @@ -192,7 +192,7 @@ namespace KJD_Web.BLL return "{\"code\":200,\"msg\":\"success\"}"; } } - return "{\"code\":19999,\"msg\":\"未知错误\"}"; + return "{\"code\":19999,\"msg\":\"输入为空\"}"; } @@ -217,9 +217,9 @@ namespace KJD_Web.BLL return "{\"code\":200,\"msg\":\"success\"}"; } else - return "{\"code\":200,\"msg\":\"删除失败,请稍后重试\"}"; + return "{\"code\":500,\"msg\":\"删除失败,请稍后重试\"}"; } - return "{\"code\":19999,\"msg\":\"未知错误\"}"; + return "{\"code\":19999,\"msg\":\"输入为空\"}"; } public string GetAllUser(string inputData) @@ -276,7 +276,7 @@ namespace KJD_Web.BLL return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"c\":\"" + EncrypUtil.Encryption(r2) + "\"}"; } } - return "{\"code\":19999,\"msg\":\"未知错误\"}"; + return "{\"code\":19999,\"msg\":\"输入为空\"}"; } public string AddUser(string inputData) @@ -317,7 +317,7 @@ namespace KJD_Web.BLL else return "{\"code\":200,\"msg\":\"success\"}"; } - return "{\"code\":19999,\"msg\":\"未知错误\"}"; + return "{\"code\":19999,\"msg\":\"输入为空\"}"; } public string UpdateUser(string inputData) @@ -365,7 +365,7 @@ namespace KJD_Web.BLL return "{\"code\":200,\"msg\":\"success\"}"; } } - return "{\"code\":19999,\"msg\":\"未知错误\"}"; + return "{\"code\":19999,\"msg\":\"输入为空\"}"; } diff --git a/KJDService/KJD_WebService/KJD_WebService.csproj b/KJDService/KJD_WebService/KJD_WebService.csproj index 22306a0..e347eae 100644 --- a/KJDService/KJD_WebService/KJD_WebService.csproj +++ b/KJDService/KJD_WebService/KJD_WebService.csproj @@ -93,7 +93,8 @@ - + + diff --git a/KJDService/KJD_WebService/KJD_WebService.csproj.user b/KJDService/KJD_WebService/KJD_WebService.csproj.user index a48a5b1..1b87364 100644 --- a/KJDService/KJD_WebService/KJD_WebService.csproj.user +++ b/KJDService/KJD_WebService/KJD_WebService.csproj.user @@ -1,4 +1,4 @@ - + true diff --git a/KJDService/KJD_WebService/Model/ProductResultParam.cs b/KJDService/KJD_WebService/Model/DBProductResultParam.cs similarity index 81% rename from KJDService/KJD_WebService/Model/ProductResultParam.cs rename to KJDService/KJD_WebService/Model/DBProductResultParam.cs index b59068e..1c30064 100644 --- a/KJDService/KJD_WebService/Model/ProductResultParam.cs +++ b/KJDService/KJD_WebService/Model/DBProductResultParam.cs @@ -5,13 +5,17 @@ using System.Web; namespace KJD_Web.Model { - public class ProductResultParam + /// + /// 选品数据库商品 + /// + public class DBProductResultParam { public int id { get; set; } public string spu_id { get; set; } public string skc_id { get; set; } public string cat_id { get; set; } public string cat_name { get; set; } + public string ext_code { get; set; } public string product_name { get; set; } public string product_json { get; set; } public string size_json { get; set; } diff --git a/KJDService/KJD_WebService/Model/ProductSelectResultParam.cs b/KJDService/KJD_WebService/Model/ProductSelectResultParam.cs new file mode 100644 index 0000000..7c981a4 --- /dev/null +++ b/KJDService/KJD_WebService/Model/ProductSelectResultParam.cs @@ -0,0 +1,25 @@ +using KJD_Web.Utils; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace KJD_Web.Model +{ + /// + /// 用户选品结果 + /// + public class ProductSelectResultParam + { + public int id { get; set; } + public string out_product_Id { get; set; } + public string shop_id { get; set; } + public string shop_account { get; set; } + public string user_name { get; set; } + public string sub_user_name { get; set; } + public string notes { get; set; } + public string status { get; set; } + public DateTime add_time { get; set; } + public DateTime mdy_time { get; set; } + } +} \ No newline at end of file diff --git a/KJDService/KJD_WebService/ProductService.asmx.cs b/KJDService/KJD_WebService/ProductService.asmx.cs index bbea893..100ae5b 100644 --- a/KJDService/KJD_WebService/ProductService.asmx.cs +++ b/KJDService/KJD_WebService/ProductService.asmx.cs @@ -54,7 +54,7 @@ namespace KJD_Web string jsontext = GetRequestJsonString(); var result = jsontext; - //result = new ShopManage().GetShop(jsontext); + result = new ProductManage().GetProductList(jsontext); Context.Response.Write(result); Context.Response.End(); @@ -73,24 +73,49 @@ namespace KJD_Web } [WebMethod] - public void del_product() + public void del_db_product() { string jsontext = GetRequestJsonString(); var result = jsontext; - //result = new ShopManage().DelShop(jsontext); + result = new ProductManage().DelDbProd(jsontext); Context.Response.Write(result); Context.Response.End(); } + //[WebMethod] + //public void mdy_product() + //{ + // string jsontext = GetRequestJsonString(); + + // var result = jsontext; + // //result = new ProductManage().MdyShop(jsontext); + + // Context.Response.Write(result); + // Context.Response.End(); + //} + [WebMethod] - public void mdy_product() + public void mdy_product_notes() { string jsontext = GetRequestJsonString(); var result = jsontext; - //result = new ShopManage().MdyShop(jsontext); + result = new ProductManage().MdyProductNotes(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + + + [WebMethod] + public void add_user_select_product() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductManage().AddUserSelectProduct(jsontext); Context.Response.Write(result); Context.Response.End(); diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index 16fb15a..f385cff 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -289,11 +289,17 @@ PriceManageForm.cs - + Form - - ProductSelectForm.cs + + DbProductListForm.cs + + + Form + + + DbProductEditNotesForm.cs Form @@ -301,6 +307,12 @@ ProductSelectListForm.cs + + Form + + + UserSelectDbProductForm.cs + Form @@ -881,12 +893,18 @@ PriceManageForm.cs - - ProductSelectForm.cs + + DbProductListForm.cs + + + DbProductEditNotesForm.cs ProductSelectListForm.cs + + UserSelectDbProductForm.cs + FullMinusActiveForm.cs diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs index aa7d7c5..8082f7d 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs @@ -1,4 +1,5 @@ using AllBase; +using AllBase.Model.Param.TemuProductManage; using AllBase.Model.Result; using NaiBa.Util.Extension; using Newtonsoft.Json.Linq; diff --git a/TEMUKJD/KJDForms/AdminForms/ShopBrowserObject.cs b/TEMUKJD/KJDForms/AdminForms/ShopBrowserObject.cs index e597875..f021675 100644 --- a/TEMUKJD/KJDForms/AdminForms/ShopBrowserObject.cs +++ b/TEMUKJD/KJDForms/AdminForms/ShopBrowserObject.cs @@ -38,7 +38,7 @@ namespace TemuKJD.KJDForms.AdminForms { var shop1 = shop; var prodId1 = prodId; - string err_msg = ""; + string success_err_msg = ""; var html = ProductQuery(shop1, prodId1.ToString()); if (!html.Contains("\"success\":true") || !html.Contains("\"result\"")) { @@ -56,7 +56,7 @@ namespace TemuKJD.KJDForms.AdminForms html = SizeSpecQuery(shop1, prodId1.ToString(), product.sizeTemplateId.ToString()); if(!html.Contains("\"success\":true")) { - err_msg += "尺码表获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg"); + success_err_msg += " 尺码表获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg"); } else { @@ -87,14 +87,15 @@ namespace TemuKJD.KJDForms.AdminForms var url = BaseClass.BuildObjString("product/add_product"); var data = Work.UserLogin.GetSignaturex() + - "&spu_id=" + product.productId + - "&skc_id=" + product.productSkcList.FirstOrDefault().productSkcId + + "&spu_id=" + product?.productId + + "&skc_id=" + product?.productSkcList?.FirstOrDefault()?.productSkcId + "&cat_id=" + cat.catId + "&cat_name=" + HttpUtility.UrlEncode(cat.catName, Encoding.UTF8) + - "&product_name=" + HttpUtility.UrlEncode(product.productName, Encoding.UTF8) + + "&ext_code=" + HttpUtility.UrlEncode(product?.productSkcList?.FirstOrDefault()?.extCode, Encoding.UTF8) + + "&product_name=" + HttpUtility.UrlEncode(product?.productName, Encoding.UTF8) + "&product_json=" + HttpUtility.UrlEncode(result, Encoding.UTF8) + "&size_json=" + HttpUtility.UrlEncode(sizeRst, Encoding.UTF8) + - "&main_img=" + HttpUtility.UrlEncode(product.carouselImageUrls.FirstOrDefault(), Encoding.UTF8); + "&main_img=" + HttpUtility.UrlEncode(product?.carouselImageUrls?.FirstOrDefault(), Encoding.UTF8); html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url, data); @@ -102,37 +103,40 @@ namespace TemuKJD.KJDForms.AdminForms html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) { - + OnInfoReceived("选品商品保存失败!请检查网络连接"); + } + else + { + OnInfoReceived("选品商品保存成功!" + success_err_msg); } - //// 创建 SaveFileDialog 的实例 //SaveFileDialog saveFileDialog = new SaveFileDialog(); - //// 单线程单元(STA)模式运行文件对话框,否则会报错。 - //System.Threading.Thread InvokeThread = new System.Threading.Thread(new System.Threading.ThreadStart(()=> { + //// 单线程单元(STA)模式运行文件对话框,否则会报错。 + //System.Threading.Thread InvokeThread = new System.Threading.Thread(new System.Threading.ThreadStart(()=> { - // // 设置对话框的属性 - // saveFileDialog.Title = "保存商品"; - // saveFileDialog.Filter = "商品文件 (*.prd)|*.prd|所有文件 (*.*)|*.*"; // 过滤文件类型 - // saveFileDialog.FileName = product.productId.ParseToString(); // 默认文件名 - // saveFileDialog.DefaultExt = "txt"; // 默认文件扩展名 + // // 设置对话框的属性 + // saveFileDialog.Title = "保存商品"; + // saveFileDialog.Filter = "商品文件 (*.prd)|*.prd|所有文件 (*.*)|*.*"; // 过滤文件类型 + // saveFileDialog.FileName = product.productId.ParseToString(); // 默认文件名 + // saveFileDialog.DefaultExt = "txt"; // 默认文件扩展名 - // // 显示对话框并获取结果 - // if (saveFileDialog.ShowDialog() == DialogResult.OK) - // { - // // 用户点击了“保存”按钮,此时可以获取文件的路径 - // string filePath = saveFileDialog.FileName; - // // 在这里处理文件保存逻辑,例如写入数据到文件 - // System.IO.File.WriteAllText(filePath, result); + // // 显示对话框并获取结果 + // if (saveFileDialog.ShowDialog() == DialogResult.OK) + // { + // // 用户点击了“保存”按钮,此时可以获取文件的路径 + // string filePath = saveFileDialog.FileName; + // // 在这里处理文件保存逻辑,例如写入数据到文件 + // System.IO.File.WriteAllText(filePath, result); - // //BaseMsgForm.ShowInfo("商品保存成功!"); - // } - //})); - //InvokeThread.SetApartmentState(System.Threading.ApartmentState.STA); - //InvokeThread.Start(); - //InvokeThread.Join(); + // //BaseMsgForm.ShowInfo("商品保存成功!"); + // } + //})); + //InvokeThread.SetApartmentState(System.Threading.ApartmentState.STA); + //InvokeThread.Start(); + //InvokeThread.Join(); } catch (Exception ex) { diff --git a/TEMUKJD/KJDForms/ProductForms/ProductForm.Designer.cs b/TEMUKJD/KJDForms/ProductForms/ProductForm.Designer.cs index 1ade8cd..52732a5 100644 --- a/TEMUKJD/KJDForms/ProductForms/ProductForm.Designer.cs +++ b/TEMUKJD/KJDForms/ProductForms/ProductForm.Designer.cs @@ -30,18 +30,19 @@ { System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("备货管理"); System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("调价管理"); - System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("商品发布"); - System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("佣金设置"); - System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("净化数据"); - System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("产品数据库"); - System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("商品上下架"); - System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("清理无流量"); - System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("库存管理"); - System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("特殊延迟发货"); - System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("云违规排查"); - System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("跳转上家"); - System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("上传错误列表"); - System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("商品管理", new System.Windows.Forms.TreeNode[] { + System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("商品认领"); + System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("商品发布"); + System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("佣金设置"); + System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("净化数据"); + System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("产品数据库"); + System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("商品上下架"); + System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("清理无流量"); + System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("库存管理"); + System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("特殊延迟发货"); + System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("云违规排查"); + System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("跳转上家"); + System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("上传错误列表"); + System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("商品管理", new System.Windows.Forms.TreeNode[] { treeNode1, treeNode2, treeNode3, @@ -54,7 +55,8 @@ treeNode10, treeNode11, treeNode12, - treeNode13}); + treeNode13, + treeNode14}); this.panel1 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel(); @@ -149,33 +151,35 @@ treeNode1.Text = "备货管理"; treeNode2.Name = "调价管理"; treeNode2.Text = "调价管理"; - treeNode3.Name = "商品发布"; - treeNode3.Text = "商品发布"; - treeNode4.Name = "佣金设置"; - treeNode4.Text = "佣金设置"; - treeNode5.Name = "净化数据"; - treeNode5.Text = "净化数据"; - treeNode6.Name = "产品数据库"; - treeNode6.Text = "产品数据库"; - treeNode7.Name = "商品上下架"; - treeNode7.Text = "商品上下架"; - treeNode8.Name = "清理无流量"; - treeNode8.Text = "清理无流量"; - treeNode9.Name = "库存管理"; - treeNode9.Text = "库存管理"; - treeNode10.Name = "特殊延迟发货"; - treeNode10.Text = "特殊延迟发货"; - treeNode11.Name = "云违规排查"; - treeNode11.Text = "云违规排查"; - treeNode12.Name = "跳转上家"; - treeNode12.Tag = "bottom"; - treeNode12.Text = "跳转上家"; - treeNode13.Name = "上传错误列表"; - treeNode13.Text = "上传错误列表"; - treeNode14.Name = "商品管理"; - treeNode14.Text = "商品管理"; + treeNode3.Name = "商品认领"; + treeNode3.Text = "商品认领"; + treeNode4.Name = "商品发布"; + treeNode4.Text = "商品发布"; + treeNode5.Name = "佣金设置"; + treeNode5.Text = "佣金设置"; + treeNode6.Name = "净化数据"; + treeNode6.Text = "净化数据"; + treeNode7.Name = "产品数据库"; + treeNode7.Text = "产品数据库"; + treeNode8.Name = "商品上下架"; + treeNode8.Text = "商品上下架"; + treeNode9.Name = "清理无流量"; + treeNode9.Text = "清理无流量"; + treeNode10.Name = "库存管理"; + treeNode10.Text = "库存管理"; + treeNode11.Name = "特殊延迟发货"; + treeNode11.Text = "特殊延迟发货"; + treeNode12.Name = "云违规排查"; + treeNode12.Text = "云违规排查"; + treeNode13.Name = "跳转上家"; + treeNode13.Tag = "bottom"; + treeNode13.Text = "跳转上家"; + treeNode14.Name = "上传错误列表"; + treeNode14.Text = "上传错误列表"; + treeNode15.Name = "商品管理"; + treeNode15.Text = "商品管理"; this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode14}); + treeNode15}); this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.tv.Size = new System.Drawing.Size(140, 521); this.tv.TabIndex = 1; diff --git a/TEMUKJD/KJDForms/ProductForms/ProductForm.cs b/TEMUKJD/KJDForms/ProductForms/ProductForm.cs index ec94489..5fdef39 100644 --- a/TEMUKJD/KJDForms/ProductForms/ProductForm.cs +++ b/TEMUKJD/KJDForms/ProductForms/ProductForm.cs @@ -11,7 +11,7 @@ using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; -using TemuKJD.KJDForms.ProductForms; +using TemuKJD.KJDForms.ProductSelectForms; namespace TemuKJD.KJDForms.ProductForms { @@ -20,6 +20,7 @@ namespace TemuKJD.KJDForms.ProductForms public static ProductForm instance; public Lazy saleStockUpForm = new Lazy(); public Lazy priceManageForm = new Lazy(); + public Lazy userSelectDbProductForm = new Lazy(); public Lazy uploadProductForm = new Lazy(); @@ -61,6 +62,9 @@ namespace TemuKJD.KJDForms.ProductForms case "调价管理": SetForm(priceManageForm.Value); break; + case "商品认领": + SetForm(userSelectDbProductForm.Value); + break; case "商品发布": SetForm(uploadProductForm.Value); break; @@ -167,6 +171,10 @@ namespace TemuKJD.KJDForms.ProductForms List hideName = new List() { "佣金设置", "商品发布", "净化数据","产品数据库","商品上下架","清理无流量","库存管理","特殊延迟发货","云违规排查","上传错误列表","跳转上家" }; + if (AllBase.BaseClass.UserName != "15266666666" && AllBase.BaseClass.UserName != "15266666660") + { + hideName.Add("商品认领"); + } foreach (var item in hideName) { diff --git a/TEMUKJD/KJDForms/ProductForms/ProductSelectForm.Designer.cs b/TEMUKJD/KJDForms/ProductForms/ProductSelectForm.Designer.cs deleted file mode 100644 index 49531ea..0000000 --- a/TEMUKJD/KJDForms/ProductForms/ProductSelectForm.Designer.cs +++ /dev/null @@ -1,47 +0,0 @@ - -namespace TemuKJD.KJDForms.ProductForms -{ - partial class ProductSelectForm - { - /// - /// 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.SuspendLayout(); - // - // ProductSelectForm - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(883, 565); - this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.Name = "ProductSelectForm"; - this.Text = "选品管理"; - this.ResumeLayout(false); - - } - - #endregion - } -} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/ProductSelectForm.cs b/TEMUKJD/KJDForms/ProductForms/ProductSelectForm.cs deleted file mode 100644 index 5e76b0d..0000000 --- a/TEMUKJD/KJDForms/ProductForms/ProductSelectForm.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace TemuKJD.KJDForms.ProductForms -{ - public partial class ProductSelectForm : Form - { - public ProductSelectForm() - { - InitializeComponent(); - } - } -} diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.Designer.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.Designer.cs new file mode 100644 index 0000000..d3aed7f --- /dev/null +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.Designer.cs @@ -0,0 +1,208 @@ +namespace TemuKJD.KJDForms.ProductSelectForms +{ + partial class DbProductEditNotesForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DbProductEditNotesForm)); + this.panel2 = new System.Windows.Forms.Panel(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.lblSkcId = new System.Windows.Forms.Label(); + this.lblSPUId = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.txtNotes = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.lblProductTitle = new System.Windows.Forms.Label(); + this.btnOk = new TemuKJD.UserControls.ButtonEx(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.Controls.Add(this.label3); + this.panel2.Controls.Add(this.label2); + this.panel2.Controls.Add(this.label1); + this.panel2.Controls.Add(this.pictureBox1); + this.panel2.Controls.Add(this.lblSkcId); + this.panel2.Controls.Add(this.lblSPUId); + this.panel2.Controls.Add(this.label8); + this.panel2.Controls.Add(this.txtNotes); + this.panel2.Controls.Add(this.lblProductTitle); + this.panel2.Controls.Add(this.btnOk); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(1, 33); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(366, 421); + this.panel2.TabIndex = 1; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(27, 236); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(56, 17); + this.label3.TabIndex = 392; + this.label3.Text = "商品标题"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(27, 205); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(56, 17); + this.label2.TabIndex = 391; + this.label2.Text = " SKC ID"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(27, 174); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(56, 17); + this.label1.TabIndex = 390; + this.label1.Text = " SPU ID"; + // + // pictureBox1 + // + this.pictureBox1.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.pictureBox1.Location = new System.Drawing.Point(113, 22); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(136, 136); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 389; + this.pictureBox1.TabStop = false; + // + // lblSkcId + // + this.lblSkcId.AutoSize = true; + this.lblSkcId.Location = new System.Drawing.Point(87, 237); + this.lblSkcId.Name = "lblSkcId"; + this.lblSkcId.Size = new System.Drawing.Size(56, 17); + this.lblSkcId.TabIndex = 388; + this.lblSkcId.Text = "登录账号"; + // + // lblSPUId + // + this.lblSPUId.AutoSize = true; + this.lblSPUId.Location = new System.Drawing.Point(87, 206); + this.lblSPUId.Name = "lblSPUId"; + this.lblSPUId.Size = new System.Drawing.Size(56, 17); + this.lblSPUId.TabIndex = 387; + this.lblSPUId.Text = "登录账号"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(28, 266); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(56, 17); + this.label8.TabIndex = 386; + this.label8.Text = " 备注"; + // + // txtNotes + // + // + // + // + this.txtNotes.Border.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.txtNotes.Border.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.txtNotes.Border.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.txtNotes.Border.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.txtNotes.Border.Class = "CrumbBarBackgroundKey"; + this.txtNotes.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.txtNotes.Border.PaddingBottom = 2; + this.txtNotes.Border.PaddingLeft = 2; + this.txtNotes.Border.PaddingRight = 2; + this.txtNotes.Border.PaddingTop = 2; + this.txtNotes.Location = new System.Drawing.Point(90, 267); + this.txtNotes.Multiline = true; + this.txtNotes.Name = "txtNotes"; + this.txtNotes.Size = new System.Drawing.Size(239, 94); + this.txtNotes.TabIndex = 385; + // + // lblProductTitle + // + this.lblProductTitle.Location = new System.Drawing.Point(87, 175); + this.lblProductTitle.Name = "lblProductTitle"; + this.lblProductTitle.Size = new System.Drawing.Size(242, 17); + this.lblProductTitle.TabIndex = 0; + this.lblProductTitle.Text = "登录账号"; + // + // btnOk + // + this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnOk.ForeColor = System.Drawing.Color.White; + this.btnOk.Location = new System.Drawing.Point(274, 371); + this.btnOk.Margin = new System.Windows.Forms.Padding(2); + this.btnOk.Name = "btnOk"; + this.btnOk.Size = new System.Drawing.Size(55, 26); + this.btnOk.TabIndex = 372; + this.btnOk.Text = "提交"; + this.btnOk.UseVisualStyleBackColor = false; + this.btnOk.Click += new System.EventHandler(this.btnOk_Click); + // + // DbProductEditNotesForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(368, 455); + this.Controls.Add(this.panel2); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "DbProductEditNotesForm"; + this.Text = "选品备注"; + this.TitleText = "选品备注"; + this.Load += new System.EventHandler(this.ProductSelectListForm_Load); + this.Controls.SetChildIndex(this.panel2, 0); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Label lblProductTitle; + private UserControls.ButtonEx btnOk; + private System.Windows.Forms.Label label8; + private DevComponents.DotNetBar.Controls.TextBoxX txtNotes; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label lblSkcId; + private System.Windows.Forms.Label lblSPUId; + } +} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.cs new file mode 100644 index 0000000..13a6466 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.cs @@ -0,0 +1,62 @@ +using AllBase.Helper; +using AllBase.Model.Result; +using TemuKJD.KJDForms.BaseForms; +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 AllBase; +using Work; + +namespace TemuKJD.KJDForms.ProductSelectForms +{ + public partial class DbProductEditNotesForm : LRBaseForm + { + TemuDBProduct dbProd = null; + + public DbProductEditNotesForm(TemuDBProduct prod) + { + InitializeComponent(); + + dbProd = prod; + } + + private void ProductSelectListForm_Load(object sender, EventArgs e) + { + if (dbProd != null) + { + lblProductTitle.Text = dbProd.product_name; + lblSkcId.Text = dbProd.skc_id; + lblSPUId.Text = dbProd.spu_id; + this.pictureBox1.ImageLocation = dbProd.main_img.Replace("https", "http"); + this.txtNotes.Text = dbProd.notes; + } + } + + private void btnOk_Click(object sender, EventArgs e) + { + var url = BaseClass.BuildObjString("product/mdy_product_notes"); + var data = UserLogin.GetSignaturex() + + "&db_id=" + dbProd.id + "¬es=" + this.txtNotes.Text.Trim(); + 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("\"code\":200")) + { + BaseMsgForm.ShowError("商品备注编辑失败,请重试!" + BaseRegex.GetStringJson(ref html, "ref")); + } + else + { + dbProd.notes = this.txtNotes.Text.Trim(); + this.Close(); + } + } + } +} diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.resx b/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.resx new file mode 100644 index 0000000..c963c3c --- /dev/null +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.resx @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAgIAQYAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzM + zMzMzMzMzMx3d4iIiIiIiIh3fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM + zMzMzMzMzMzHeIiIiIj/////////iIiIiId8zMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM + zMzMzMzMzMzMzMeIiI/////////////////////4iIh8zMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAATMzM + zMzMzMzMzMzMzMzMzHiI////////////////////////////iIfMzMzMzMzMzMzMzMzMzMzMxAAAAAAA + AGzMzMzMzMzMzMzMzMzMx3iP///////////////////////////////4iHzMzMzMzMzMzMzMzMzMzMYA + AAAAAAbMzMzMzMzMzMzMzMzMx3iP//////////////////////////////////+IfMzMzMzMzMzMzMzM + zMzMYAAAAABMzMzMzMzMzMzMzMzMx3iP/////////////////////////////////////4h8zMzMzMzM + zMzMzMzMzMQAAAAAbMzMzMzMzMzMzMzMzHiP////////////////////////////////////////h3zM + zMzMzMzMzMzMzMzGAAAABMzMzMzMzMzMzMzMzHiP//////////////////////////////////////// + //iHzMzMzMzMzMzMzMzMzEAAAAbMzMzMzMzMzMzMzMeI//////////////////////////////////// + ////////+IfMzMzMzMzMzMzMzMxgAABMzMzMzMzMzMzMzMx4//////////////////////////////// + //////////////+IfMzMzMzMzMzMzMzMxAAAbMzMzMzMzMzMzMzHj/////////////////////////// + /////////////////////4fMzMzMzMzMzMzMzMYAAMzMzMzMzMzMzMzMeP////////////////////// + ///////////////////////////4fMzMzMzMzMzMzMzMAAbMzMzMzMzMzMzMx4////////////////// + /////////////////////////////////4fMzMzMzMzMzMzMzGAGzMzMzMzMzMzMzHj///////////// + ///////////////////////////////////////4fMzMzMzMzMzMzMxgDMzMzMzMzMzMzMyI//////// + /////////////////////////////////////////////4zMzMzMzMzMzMzMwEzMzMzMzMzMzMzHj/// + //////////////////////////////////////////////////+HzMzMzMzMzMzMzMRszMzMzMzMzMzM + eP//////////////////////////////////////////////////////+HzMzMzMzMzMzMzGbMzMzMzM + zMzMzHj///////////////////////////////////////////////////////+MzMzMzMzMzMzMxmzM + zMzMzMzMzMyP////+IiP////////////////////////////////////////+I//////h8zMzMzMzMzM + zMZszMzMzMzMzMzHj////4iIiI//////////////////////////////////////+IiIj/////jMzMzM + zMzMzMzGbMzMzMzMzMzMyP////iIiIiI/////////////////////////////////////4iIiIj////4 + fMzMzMzMzMzMxszMzMzMzMzMzHj////4iIiIiP////////////////////////////////////+IiIiI + j////4zMzMzMzMzMzMbMzMzMzMzMzMx4////iIiIiIj////////////////////////////////////4 + iIiIiI////+HzMzMzMzMzMzMzMzMzMzMzMzMj////4iIiIiI//////////////+IiP//iI////////// + ////+IiIiIiP////h8zMzMzMzMzMzMzMzMzMzMzMzI/////4iIiIiP/////////////4d3eIiIeIj/// + //////////+IiIiIj/////jMzMzMzMzMzMzMzMzMzMzMzMyP////+IiIiIj/////////////iIiId3eI + iI//////////////iIiIiI/////4zMzMzMzMzMzMzMzMzMzMzMzHj/////+IiIiP/////////////4// + /4d4j/+P//////////////iIiIj/////+MzMzMzMzMzMzMzMzMzMzMzMx4//////+IiP//////////// + ///////4j///////////////////iIiP//////jMzMzMzMzMzMzMzMzMzMzMzMeP//////////+IiIj/ + ///////////////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzH//////////+H + fMx8eP//////////////////////////iId3iP//////////+HzMzMzMzMzMzMzMzMzMzMzMyP////// + ///4fMzHh8eP////////////////////////+MzMzMd4//////////h8zMzMzMzMzMzMzMzMzMzMzMf/ + ////////+MzMePjMeP///////////////////////4zMzMeHx4/////////4fMzMzMzMzMzMzMzMzMzM + zMzH/////////4fMd3eHzMeP//////////////////////iMzMzIiHx4////////+HzMzMzMzMzMzMzM + zMzMzMzMx/////////+Hx4iIfMzMj//////////////////////4h3d8x4h8yP////////jMzMzMzMzM + zMzMzMzMzMzMzMeP////////+HiP+IfMzI//////////////////////+HiIiHd3zHj////////4zMzM + zMzMzMzMzMzMzMzMzMzHj/////////h4//+HzMeP//////////////////////h4//h8zMyP//////// + +MzMzMzMzMzMzMzMzMzMzMzMzI/////////4iP//h8x4///////////////////////4j//4fMzHj/// + //////jMzMzMzMzMzMzMzMzMzMzMzMyP///////4iIiP+IfHj///////////////////////+Ij/+HzM + eP/////////4zMzMzMzMzMzMzMzMzMzMzMzMj///////iIiIiIh3eP////////////////////////+I + j4h8x3iI////////h8zMzMzMzMzMzMzMzMzMzMzMzH//////+Hj///iIiI////////////////////// + /////4iId4iIiIj//////4zMzMzMzMzMzMzMzMzMzMzMzMx4//////iP////iP////////////////// + /////////////4iP//iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMyP//////////+I////////////// + ///////////////////4eP//iP//////jMzMzMzMzMzMzMzMzMzMzMzMzMj///////////iP//////// + /////////////////////////4j/////////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////////// + //////////////////////////////+I//////////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////// + //////////////////////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMyP//// + ////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM + eP///////////////////////////////////////////////////////4zMzMzMzMzMzMzMzMzMzMzM + zMzMzMj///////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzM + zMzMzMzMzMzHj//////////////////////////////////////////////////////4zMzMzMzMzMzM + zMzMzMzMzMzMzMzMzI//////////////////////////////////////////////////////h8zMzMzM + zMzMzMzMzMzMzMzMzMzMzMx4////////////////////////////////////////////////////+HzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMyI////+I//////////////////////////////////////////// + //h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+Ij///////////////////////////////////// + //////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+IiIiIj//////////////////////////4 + ////iI/////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiP/////4iIiP////////////////////// + ////+IiIiIj/////iHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////////////////// + ///////////4iIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////////// + //////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////// + //////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHj///////// + ///////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//// + ////////////////////////////////////////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI + j/////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMeP//////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMx4////////+I//////////////////////////////////////jMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMeP///////4iIj///////////////////////////iP///////4fMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMx4////////iIiIiP///////////////////////4iIiP///////4zMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIj///////+HzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIj////////////////////4iIiIiIj/////// + +MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIiI// + //////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiP////////////////////iIiI + iIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiIj/////iIiIiIiIj///// + /4iIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiI/////4zMzMzMzM + j/////+IiIiIiIiP//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//////+IiIiIiIj/////+MzM + zMzMzI//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iIiIiIiI//// + //jMzMzMzMyP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP///////4iIiIiI + iP/////4zMzMzMzMj//////4iIiIiIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iI + iIiIiI//////+MzMzMzMzI//////+IiIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMyP//// + ///4iIiIiIiP//////fMzMzMzMyP//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzH + j///////+IiIiIiI//////+HzMzMzMzMeP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzM + zMzMyP////////iIiIiIiP//////jMzMzMzMzHj///////iIiIiIiI///////4fMzMzMzMzMzMzMzMzM + zMzMzMzMzMj///////+IiIiIiI///////4zMzMzMzMzI///////4iIiIiIiI///////3zMzMzMzMzMzM + zMzMzMzMzMzMzMzI////////iIiIiIiP//////+MzMzMzMzMyP//////+IiIiIiIiP//////+MzMzMzM + zMzMzMzMzMzMzMzMzMzMeP///////4iIiIiIj///////jMzMzMzMzMj///////+IiIiIiIj///////jM + zMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiIiP//////+HzMzMzMzMzHj///////iIiIiIiI//// + ///4zMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIiI////////jMzMzMzMzMzI///////4iIiIiI + iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMzMj////////4iIiIiP///////4zMzMzMzMzMyP///////4 + iIiIiIiP//////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiI////////h8zMzMzMzMzMeP// + /////4iIiIiIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIj////////4fMzMzMzMzM + zHj///////+IiIiIiI//////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////iIiP////////+MzMzM + zMzMzMzI////////+IiIiIiP//////h8zMzMzMzMzMzMxmzMzMzMzMzMx4/////////4iP/////////4 + fMzMzMzMzMzMx4////////+IiIiIj//////4fMzMzMzMzMzMzMZszMzMzMzMzMeP//////////////// + ////+MzMzMzMzMzMzMyP////////iIiIiP//////+HzMzMzMzMzMzMzGbMzMzMzMzMzH//////////// + //////////fMzMzMzMzMzMzMeP////////iIiIj///////98zMzMzMzMzMzMxmzMzMzMzMzMyP////// + //////////////+HzMzMzMzMzMzMzHj/////////+IiP////////jMzMzMzMzMzMzMZszMzMzMzMzMj/ + ////////////////////jMzMzMzMzMzMzMzIj////////////////////4zMzMzMzMzMzMzGTMzMzMzM + zMzH////////////////////+HzMzMzMzMzMzMzMx4////////////////////+MzMzMzMzMzMzMxAzM + zMzMzMzMx/////////////////////jMzMzMzMzMzMzMzMyI///////////////////4fMzMzMzMzMzM + zMAGzMzMzMzMzMeP//////////////////+HzMzMzMzMzMzMzMzMeP//////////////////+HzMzMzM + zMzMzMxgBszMzMzMzMzHj//////////////////4fMzMzMzMzMzMzMzMzMeP//////////////////h8 + zMzMzMzMzMzMYADMzMzMzMzMzI//////////////////+HzMzMzMzMzMzMzMzMzHj/////////////// + ///4zMzMzMzMzMzMzAAAbMzMzMzMzMyP/////////////////4fMzMzMzMzMzMzMzMzMzHj///////// + ////////+MzMzMzMzMzMzMYAAEzMzMzMzMzMj/////////////////+MzMzMzMzMzMzMzMzMzMzIj/// + /////////////4fMzMzMzMzMzMzEAAAGzMzMzMzMzHj////////////////4fMzMzMzMzMzMzMzMzMzM + x4////////////////+MzMzMzMzMzMzMYAAABMzMzMzMzMx4////////////////h8zMzMzMzMzMzMzM + zMzMzMx4///////////////4fMzMzMzMzMzMzEAAAABszMzMzMzMx4//////////////+HzMzMzMzMzM + zMzMzMzMzMzMx4//////////////+MzMzMzMzMzMzMYAAAAATMzMzMzMzMyP/////////////4fMzMzM + zMzMzMzMzMzMzMzMzMeI/////////////4fMzMzMzMzMzMzEAAAAAAbMzMzMzMzMeP////////////h8 + zMzMzMzMzMzMzMzMzMzMzMzMeI////////////h8zMzMzMzMzMzMYAAAAAAAbMzMzMzMzMeP//////// + //iHzMzMzMzMzMzMzMzMzMzMzMzMzMyI//////////+HzMzMzMzMzMzMxgAAAAAAAEzMzMzMzMzMeP// + //////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMx4/////////4fMzMzMzMzMzMzMQAAAAAAAAGzMzMzMzM + zMeI//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4j//////4h8zMzMzMzMzMzMxgAAAAAAAAAGzM + zMzMzMzMx4iIiIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiIj/+Ih3zMzMzMzMzMzMzGAAAAAAAA + AAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx3iId8zMzMzMzMzMzMzMYAAA + AAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + xgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzGAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA + AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+ + AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA + B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA + AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA + AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA + AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA + AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA + AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA + AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA + AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA + AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA + AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf///// + +AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w== + + + \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.Designer.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.Designer.cs new file mode 100644 index 0000000..d9d4fd0 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.Designer.cs @@ -0,0 +1,519 @@ + +namespace TemuKJD.KJDForms.ProductSelectForms +{ + partial class DbProductListForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DbProductListForm)); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.btnSelect = new TemuKJD.UserControls.ButtonEx(); + this.txtNotes = new System.Windows.Forms.TextBox(); + this.lblNotes = new System.Windows.Forms.Label(); + this.txtSPU = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.txtSKC = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.pnlEmpty = new DevComponents.DotNetBar.PanelEx(); + this.btnSearch = new TemuKJD.UserControls.ButtonEx(); + this.txtExtCode = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.txtProdName = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.txtCat = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.pbLoading = new System.Windows.Forms.PictureBox(); + this.dgvDbProduct = new TemuKJD.UserComponent.DataGridViewEx(); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.col_db_id = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.col_product_name = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.col_main_img = new System.Windows.Forms.DataGridViewImageColumn(); + this.col_spu_id = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.col_skc_id = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.col_cat_name = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.con_ext_code = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.col_notes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.col_edit = new System.Windows.Forms.DataGridViewLinkColumn(); + this.col_delete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.col_select_product = new System.Windows.Forms.DataGridViewLinkColumn(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); + this.splitContainer2.Panel1.SuspendLayout(); + this.splitContainer2.Panel2.SuspendLayout(); + this.splitContainer2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).BeginInit(); + 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(1, 33); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.btnSelect); + this.splitContainer1.Panel1.Controls.Add(this.txtNotes); + this.splitContainer1.Panel1.Controls.Add(this.lblNotes); + this.splitContainer1.Panel1.Controls.Add(this.txtSPU); + this.splitContainer1.Panel1.Controls.Add(this.label5); + this.splitContainer1.Panel1.Controls.Add(this.txtSKC); + this.splitContainer1.Panel1.Controls.Add(this.label1); + this.splitContainer1.Panel1.Controls.Add(this.pnlEmpty); + this.splitContainer1.Panel1.Controls.Add(this.btnSearch); + this.splitContainer1.Panel1.Controls.Add(this.txtExtCode); + this.splitContainer1.Panel1.Controls.Add(this.label4); + this.splitContainer1.Panel1.Controls.Add(this.txtProdName); + this.splitContainer1.Panel1.Controls.Add(this.label3); + this.splitContainer1.Panel1.Controls.Add(this.txtCat); + this.splitContainer1.Panel1.Controls.Add(this.label2); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); + this.splitContainer1.Size = new System.Drawing.Size(1278, 686); + this.splitContainer1.SplitterDistance = 53; + this.splitContainer1.TabIndex = 1; + // + // btnSelect + // + this.btnSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnSelect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSelect.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSelect.ForeColor = System.Drawing.Color.White; + this.btnSelect.Location = new System.Drawing.Point(1171, 14); + this.btnSelect.Margin = new System.Windows.Forms.Padding(2); + this.btnSelect.Name = "btnSelect"; + this.btnSelect.Size = new System.Drawing.Size(91, 26); + this.btnSelect.TabIndex = 444; + this.btnSelect.Text = "认领选中商品"; + this.btnSelect.UseVisualStyleBackColor = false; + this.btnSelect.Visible = false; + this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click); + // + // txtNotes + // + this.txtNotes.Location = new System.Drawing.Point(683, 16); + this.txtNotes.Name = "txtNotes"; + this.txtNotes.Size = new System.Drawing.Size(90, 23); + this.txtNotes.TabIndex = 439; + // + // lblNotes + // + this.lblNotes.AutoSize = true; + this.lblNotes.Location = new System.Drawing.Point(649, 19); + this.lblNotes.Name = "lblNotes"; + this.lblNotes.Size = new System.Drawing.Size(44, 17); + this.lblNotes.TabIndex = 440; + this.lblNotes.Text = "备注:"; + // + // txtSPU + // + this.txtSPU.Location = new System.Drawing.Point(44, 16); + this.txtSPU.Name = "txtSPU"; + this.txtSPU.Size = new System.Drawing.Size(90, 23); + this.txtSPU.TabIndex = 434; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(11, 19); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(43, 17); + this.label5.TabIndex = 435; + this.label5.Text = "SPU:"; + // + // txtSKC + // + this.txtSKC.Location = new System.Drawing.Point(171, 16); + this.txtSKC.Name = "txtSKC"; + this.txtSKC.Size = new System.Drawing.Size(90, 23); + this.txtSKC.TabIndex = 432; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(138, 19); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(43, 17); + this.label1.TabIndex = 433; + this.label1.Text = "SKC:"; + // + // pnlEmpty + // + this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control; + this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty; + this.pnlEmpty.Location = new System.Drawing.Point(843, 14); + this.pnlEmpty.Name = "pnlEmpty"; + this.pnlEmpty.Size = new System.Drawing.Size(56, 26); + this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; + this.pnlEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.pnlEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.pnlEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.pnlEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.pnlEmpty.Style.GradientAngle = 90; + this.pnlEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.pnlEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.pnlEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.pnlEmpty.TabIndex = 431; + this.pnlEmpty.Text = "清空条件"; + this.pnlEmpty.Click += new System.EventHandler(this.pnlEmpty_Click); + // + // btnSearch + // + this.btnSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSearch.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSearch.ForeColor = System.Drawing.Color.White; + this.btnSearch.Location = new System.Drawing.Point(782, 14); + this.btnSearch.Margin = new System.Windows.Forms.Padding(2); + this.btnSearch.Name = "btnSearch"; + this.btnSearch.Size = new System.Drawing.Size(56, 26); + this.btnSearch.TabIndex = 424; + this.btnSearch.Text = "搜索"; + this.btnSearch.UseVisualStyleBackColor = false; + this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); + // + // txtExtCode + // + this.txtExtCode.Location = new System.Drawing.Point(555, 16); + this.txtExtCode.Name = "txtExtCode"; + this.txtExtCode.Size = new System.Drawing.Size(90, 23); + this.txtExtCode.TabIndex = 429; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(521, 19); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(44, 17); + this.label4.TabIndex = 430; + this.label4.Text = "货号:"; + // + // txtProdName + // + this.txtProdName.Location = new System.Drawing.Point(427, 16); + this.txtProdName.Name = "txtProdName"; + this.txtProdName.Size = new System.Drawing.Size(90, 23); + this.txtProdName.TabIndex = 427; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(393, 19); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(44, 17); + this.label3.TabIndex = 428; + this.label3.Text = "标题:"; + // + // txtCat + // + this.txtCat.Location = new System.Drawing.Point(299, 16); + this.txtCat.Name = "txtCat"; + this.txtCat.Size = new System.Drawing.Size(90, 23); + this.txtCat.TabIndex = 425; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(265, 19); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(44, 17); + this.label2.TabIndex = 426; + this.label2.Text = "类目:"; + // + // splitContainer2 + // + this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer2.Location = new System.Drawing.Point(0, 0); + this.splitContainer2.Name = "splitContainer2"; + this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer2.Panel1 + // + this.splitContainer2.Panel1.Controls.Add(this.pbLoading); + this.splitContainer2.Panel1.Controls.Add(this.dgvDbProduct); + this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0); + // + // splitContainer2.Panel2 + // + this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1); + this.splitContainer2.Panel2.Controls.Add(this.statusBar); + this.splitContainer2.Size = new System.Drawing.Size(1278, 629); + this.splitContainer2.SplitterDistance = 600; + 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(614, 275); + this.pbLoading.Name = "pbLoading"; + this.pbLoading.Size = new System.Drawing.Size(50, 50); + this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoading.TabIndex = 7; + this.pbLoading.TabStop = false; + // + // dgvDbProduct + // + this.dgvDbProduct.AllowUserToAddRows = false; + this.dgvDbProduct.AllowUserToDeleteRows = false; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvDbProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.dgvDbProduct.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; + this.dgvDbProduct.BackgroundColor = System.Drawing.Color.White; + this.dgvDbProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvDbProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + this.dgvDbProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvDbProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colSelect, + this.col_db_id, + this.col_product_name, + this.col_main_img, + this.col_spu_id, + this.col_skc_id, + this.col_cat_name, + this.con_ext_code, + this.col_notes, + this.col_edit, + this.col_delete, + this.col_select_product}); + this.dgvDbProduct.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvDbProduct.Location = new System.Drawing.Point(4, 0); + this.dgvDbProduct.Name = "dgvDbProduct"; + this.dgvDbProduct.ReadOnly = true; + dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.dgvDbProduct.RowsDefaultCellStyle = dataGridViewCellStyle3; + this.dgvDbProduct.RowTemplate.Height = 23; + this.dgvDbProduct.Size = new System.Drawing.Size(1270, 600); + this.dgvDbProduct.TabIndex = 6; + this.dgvDbProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDbProduct_CellContentClick); + // + // colSelect + // + this.colSelect.FillWeight = 26F; + 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; + // + // col_db_id + // + this.col_db_id.HeaderText = "数据库Id"; + this.col_db_id.Name = "col_db_id"; + this.col_db_id.ReadOnly = true; + this.col_db_id.Visible = false; + // + // col_product_name + // + this.col_product_name.FillWeight = 200F; + this.col_product_name.HeaderText = "标题"; + this.col_product_name.Name = "col_product_name"; + this.col_product_name.ReadOnly = true; + // + // col_main_img + // + this.col_main_img.FillWeight = 60F; + this.col_main_img.HeaderText = "主图"; + this.col_main_img.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.col_main_img.Name = "col_main_img"; + this.col_main_img.ReadOnly = true; + this.col_main_img.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.col_main_img.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // + // col_spu_id + // + this.col_spu_id.HeaderText = "SPU Id"; + this.col_spu_id.Name = "col_spu_id"; + this.col_spu_id.ReadOnly = true; + // + // col_skc_id + // + this.col_skc_id.HeaderText = "SKC Id"; + this.col_skc_id.Name = "col_skc_id"; + this.col_skc_id.ReadOnly = true; + // + // col_cat_name + // + this.col_cat_name.HeaderText = "类目"; + this.col_cat_name.Name = "col_cat_name"; + this.col_cat_name.ReadOnly = true; + // + // con_ext_code + // + this.con_ext_code.HeaderText = "货号"; + this.con_ext_code.Name = "con_ext_code"; + this.con_ext_code.ReadOnly = true; + // + // col_notes + // + this.col_notes.HeaderText = "备注"; + this.col_notes.Name = "col_notes"; + this.col_notes.ReadOnly = true; + // + // col_edit + // + this.col_edit.FillWeight = 40F; + this.col_edit.HeaderText = "编辑备注"; + this.col_edit.Name = "col_edit"; + this.col_edit.ReadOnly = true; + this.col_edit.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.col_edit.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // + // col_delete + // + this.col_delete.FillWeight = 40F; + this.col_delete.HeaderText = "删除"; + this.col_delete.Name = "col_delete"; + this.col_delete.ReadOnly = true; + // + // col_select_product + // + this.col_select_product.FillWeight = 40F; + this.col_select_product.HeaderText = "认领"; + this.col_select_product.Name = "col_select_product"; + this.col_select_product.ReadOnly = true; + this.col_select_product.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.col_select_product.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; + this.ucSplitPage1.Location = new System.Drawing.Point(916, 0); + this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); + this.ucSplitPage1.Name = "ucSplitPage1"; + this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0); + this.ucSplitPage1.Size = new System.Drawing.Size(362, 25); + this.ucSplitPage1.TabIndex = 6; + this.ucSplitPage1.TotalPage = 1; + // + // 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(1278, 25); + this.statusBar.TabIndex = 5; + // + // DbProductListForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(1280, 720); + this.Controls.Add(this.splitContainer1); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "DbProductListForm"; + this.Text = "产品数据库"; + this.TitleText = "产品数据库"; + this.Load += new System.EventHandler(this.ProductListForm_Load); + this.VisibleChanged += new System.EventHandler(this.ProductListForm_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); + this.splitContainer2.Panel1.ResumeLayout(false); + this.splitContainer2.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); + this.splitContainer2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.SplitContainer splitContainer2; + private UserControls.UcSplitPage ucSplitPage1; + private UserControls.StatusBarUserControl statusBar; + private System.Windows.Forms.TextBox txtSPU; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox txtSKC; + private System.Windows.Forms.Label label1; + private DevComponents.DotNetBar.PanelEx pnlEmpty; + private UserControls.ButtonEx btnSearch; + private System.Windows.Forms.TextBox txtExtCode; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtProdName; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox txtCat; + private System.Windows.Forms.Label label2; + private UserComponent.DataGridViewEx dgvDbProduct; + private System.Windows.Forms.PictureBox pbLoading; + private System.Windows.Forms.TextBox txtNotes; + private System.Windows.Forms.Label lblNotes; + private UserControls.ButtonEx btnSelect; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn col_db_id; + private System.Windows.Forms.DataGridViewTextBoxColumn col_product_name; + private System.Windows.Forms.DataGridViewImageColumn col_main_img; + private System.Windows.Forms.DataGridViewTextBoxColumn col_spu_id; + private System.Windows.Forms.DataGridViewTextBoxColumn col_skc_id; + private System.Windows.Forms.DataGridViewTextBoxColumn col_cat_name; + private System.Windows.Forms.DataGridViewTextBoxColumn con_ext_code; + private System.Windows.Forms.DataGridViewTextBoxColumn col_notes; + private System.Windows.Forms.DataGridViewLinkColumn col_edit; + private System.Windows.Forms.DataGridViewLinkColumn col_delete; + private System.Windows.Forms.DataGridViewLinkColumn col_select_product; + } +} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.cs new file mode 100644 index 0000000..b0eeaae --- /dev/null +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.cs @@ -0,0 +1,300 @@ +using AllBase; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using NaiBa.Util.Winform.Extension; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.KJDForms.BaseForms; +using Work; + +namespace TemuKJD.KJDForms.ProductSelectForms +{ + public partial class DbProductListForm : LRBaseForm + { + ShopLoginInfo shop = null; + + List lstTemuDbProduct = new List(); + + public DbProductListForm(ShopLoginInfo _shop = null) + { + InitializeComponent(); + shop = _shop; + } + + private void ProductListForm_Load(object sender, EventArgs e) + { + if (BaseClass.IsSa && shop == null) + { + this.dgvDbProduct.Columns["col_delete"].Visible = true; + this.dgvDbProduct.Columns["col_edit"].Visible = true; + this.dgvDbProduct.Columns["col_notes"].Visible = true; + this.lblNotes.Visible = true; + this.txtNotes.Visible = true; + } + else + { + this.dgvDbProduct.Columns["col_delete"].Visible = false; + this.dgvDbProduct.Columns["col_edit"].Visible = false; + this.dgvDbProduct.Columns["col_notes"].Visible = false; + this.lblNotes.Visible = false; + this.txtNotes.Visible = false; + } + + btnSelect.Visible = false; + this.dgvDbProduct.Columns["col_select_product"].Visible = false; + if (shop != null) + { + btnSelect.Visible = true; + this.dgvDbProduct.Columns["col_select_product"].Visible = true; + } + + this.ucSplitPage1.PageChange += UcSplitPage1_PageChange; + this.dgvDbProduct.AddSelectorColumn("colSelect"); + } + + private void btnSearch_Click(object sender, EventArgs e) + { + if (this.ucSplitPage1.CurrentPage != 1) + this.ucSplitPage1.CurrentPage = 1; + else + SearchDbProd(1); + } + + public void SearchDbProd(int page) + { + if (InvokeRequired) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.dgvDbProduct.Rows.Clear(); + lstTemuDbProduct.Clear(); + })); + } + else + { + this.pbLoading.Visible = true; + this.dgvDbProduct.Rows.Clear(); + lstTemuDbProduct.Clear(); + } + Task.Run(() => + { + int pageCount; + var list = GetProductList(out pageCount, page); + lstTemuDbProduct.AddRange(list); + this.ucSplitPage1.TotalPage = pageCount; + + foreach (var prod in lstTemuDbProduct) + { + Image image = null; + try + { + using (Stream stream = WebRequest.Create(prod.main_img.Replace("https", "http")).GetResponse().GetResponseStream()) + { + image = Image.FromStream(stream); + } + } + catch (Exception ex) + { + } + Invoke(new Action(() => + { + int rowIndex = this.dgvDbProduct.Rows.Add( + false, + prod.id, + prod.product_name, + image, // prod.main_img, + prod.spu_id, + prod.skc_id, + prod.cat_name, + prod.ext_code, + prod.notes, + "编辑", + "删除", + "认领"); + + dgvDbProduct.Rows[rowIndex].Height = 80; + })); + } + + Invoke(new Action(() => + { + this.pbLoading.Visible = false; + })); + }); + } + + public List GetProductList(out int pageCount, int page = 1, int pageSize = 50) + { + List list = new List(); + pageCount = 1; + + var url = BaseClass.BuildObjString("product/get_product_list"); + var data = ""; + + Invoke(new Action(() => + { + data = UserLogin.GetSignaturex() + + "&page=" + page + + "&page_size=" + pageSize + + "&search_spu=" + txtSPU.Text.Trim() + + "&search_skc=" + txtSKC.Text.Trim() + + "&search_notes=" + txtNotes.Text.Trim() + + "&search_cat=" + txtCat.Text.Trim() + + "&search_ext_code=" + txtExtCode.Text.Trim() + + "&search_prod_name=" + txtProdName.Text.Trim(); + })); + 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("\"code\":200")) + { + BaseMsgForm.ShowError("获取商品列表失败,请重试!" + BaseRegex.GetStringJson(ref html, "ref")); + return list; + } + + int count = BaseRegex.GetIntJson(ref html, "count"); + pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt(); + pageCount = Math.Max(pageCount, 1); + + var jArr = JObject.Parse(html)["data"]; + if (jArr.Count() == 0) + return list; + var sProd = JsonHelper.SerializeObject(jArr); + + try + { + list = JsonHelper.DeserializeJsonToList(sProd); + return list; + } + catch (Exception ex) + { + return new List(); + } + } + + private void ProductListForm_VisibleChanged(object sender, EventArgs e) + { + if (this.Visible == true) + { + this.pbLoading.Visible = true; + SearchDbProd(this.ucSplitPage1.CurrentPage); + } + } + + private void UcSplitPage1_PageChange(object obj) + { + SearchDbProd(this.ucSplitPage1.CurrentPage); + } + + private void pnlEmpty_Click(object sender, EventArgs e) + { + this.txtCat.Text = ""; + this.txtExtCode.Text = ""; + this.txtProdName.Text = ""; + this.txtSKC.Text = ""; + this.txtSPU.Text = ""; + this.txtExtCode.Text = ""; + } + + private void dgvDbProduct_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + string headerText = dgvDbProduct.Columns[e.ColumnIndex].HeaderText; + var dbId = dgvDbProduct.Rows[e.RowIndex].Cells["col_db_id"].Value.ParseToString(); + var dbProduct = lstTemuDbProduct.FirstOrDefault(p => p.id.ToString() == dbId); + + switch (headerText) + { + case "删除": + if (BaseMsgForm.ShowConfirm("确定删除商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel) + return; + DeleteProduct(dbId); + break; + case "编辑备注": + DbProductEditNotesForm editForm = new DbProductEditNotesForm(dbProduct); + editForm.ShowDialog(); + dgvDbProduct.Rows[e.RowIndex].Cells["col_notes"].Value = dbProduct.notes; + break; + case "认领": + SelectProduct(dbId); + break; + case "": + dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value; + break; + default: + break; + } + } + + private void SelectProduct(string dbId) + { + if (shop == null) + { + BaseMsgForm.ShowError("店铺不能为空!"); + return; + } + + var url = BaseClass.BuildObjString("product/add_user_select_product"); + var data = UserLogin.GetSignaturex() + + "&out_product_id=" + dbId + + "&shop_id=" + shop.ShopId + + "&shop_account=" + shop.ShopAccount + + "&main_user_name=" + shop.UserName + + "&sub_user_name=" + shop.SubUserName + + "&status=待审核"; + 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("\"code\":200")) + { + BaseMsgForm.ShowError("认领商品失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); + } + else + { + BaseMsgForm.ShowInfo("认领商品成功!"); + } + } + + private void DeleteProduct(string dbId) + { + var url = BaseClass.BuildObjString("product/del_db_product"); + var data = UserLogin.GetSignaturex() + + "&db_id=" + dbId; + 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("\"code\":200")) + { + BaseMsgForm.ShowError("删除商品失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); + return; + } + else + { + SearchDbProd(this.ucSplitPage1.CurrentPage); + } + } + + private void btnSelect_Click(object sender, EventArgs e) + { + + } + } +} diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.resx b/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.resx new file mode 100644 index 0000000..2e8c56c --- /dev/null +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.resx @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ + AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA + OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT + AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj/////// + ///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP// + //////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4 + mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ + mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ + mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ + mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ + mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ + mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY + //+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ + mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf + //+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/ + //uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv/// + //+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP// + if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ + mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz + MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn/// + iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4 + kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP// + /////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ + mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ + mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ + mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ + mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ + //85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ + mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ + mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ + mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT + mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj/////// + ///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn/// + //////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ + mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ + mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ + mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ + mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj/////////// + ///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY////// + ////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP + //////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4 + /4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ + mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ + mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7 + mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4 + eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb//// + ///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ + mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj///// + /4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/ + ///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ + mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ + mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ + mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ + mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA + AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA + AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA + AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w + AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA + Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA + AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA + AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA + AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA + AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA + AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA + AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD///// + wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w== + + + \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectListForm.Designer.cs b/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectListForm.Designer.cs index 3de1c68..19ab7f4 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectListForm.Designer.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectListForm.Designer.cs @@ -71,7 +71,7 @@ this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; this.panel2.Location = new System.Drawing.Point(1, 33); this.panel2.Name = "panel2"; - this.panel2.Size = new System.Drawing.Size(898, 506); + this.panel2.Size = new System.Drawing.Size(1011, 648); this.panel2.TabIndex = 1; // // label8 @@ -82,6 +82,7 @@ this.label8.Size = new System.Drawing.Size(56, 17); this.label8.TabIndex = 386; this.label8.Text = " 备注"; + this.label8.Visible = false; // // txtNotes // @@ -102,6 +103,7 @@ this.txtNotes.Name = "txtNotes"; this.txtNotes.Size = new System.Drawing.Size(172, 23); this.txtNotes.TabIndex = 385; + this.txtNotes.Visible = false; // // label7 // @@ -176,6 +178,7 @@ this.txtChatAccount.Name = "txtChatAccount"; this.txtChatAccount.Size = new System.Drawing.Size(172, 23); this.txtChatAccount.TabIndex = 380; + this.txtChatAccount.Visible = false; this.txtChatAccount.WatermarkText = "点击添加店铺子账户"; // // label4 @@ -186,6 +189,7 @@ this.label4.Size = new System.Drawing.Size(56, 17); this.label4.TabIndex = 379; this.label4.Text = " 子账户"; + this.label4.Visible = false; // // txtUploadAccount // @@ -221,6 +225,7 @@ this.txtShopPassword.PasswordChar = '●'; this.txtShopPassword.Size = new System.Drawing.Size(172, 23); this.txtShopPassword.TabIndex = 338; + this.txtShopPassword.Visible = false; // // label2 // @@ -230,6 +235,7 @@ this.label2.Size = new System.Drawing.Size(56, 17); this.label2.TabIndex = 337; this.label2.Text = "登录密码"; + this.label2.Visible = false; // // txtLoginName // @@ -237,6 +243,7 @@ this.txtLoginName.Name = "txtLoginName"; this.txtLoginName.Size = new System.Drawing.Size(172, 23); this.txtLoginName.TabIndex = 336; + this.txtLoginName.Visible = false; // // label1 // @@ -246,6 +253,7 @@ this.label1.Size = new System.Drawing.Size(56, 17); this.label1.TabIndex = 0; this.label1.Text = "登录账号"; + this.label1.Visible = false; // // label5 // @@ -271,17 +279,19 @@ this.btnOk.TabIndex = 372; this.btnOk.Text = "新增"; this.btnOk.UseVisualStyleBackColor = false; + this.btnOk.Visible = false; // // ProductSelectListForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(900, 540); + this.ClientSize = new System.Drawing.Size(1013, 682); this.Controls.Add(this.panel2); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "ProductSelectListForm"; this.Text = "选品列表"; this.TitleText = "选品列表"; + this.Load += new System.EventHandler(this.ProductSelectListForm_Load); this.Controls.SetChildIndex(this.panel2, 0); this.panel2.ResumeLayout(false); this.panel2.PerformLayout(); diff --git a/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectListForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectListForm.cs index 2d94a10..4626eb0 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectListForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectListForm.cs @@ -21,5 +21,8 @@ namespace TemuKJD.KJDForms.ProductSelectForms InitializeComponent(); } + private void ProductSelectListForm_Load(object sender, EventArgs e) + { + } } } diff --git a/TEMUKJD/KJDForms/ProductSelectForms/UserSelectDbProductForm.Designer.cs b/TEMUKJD/KJDForms/ProductSelectForms/UserSelectDbProductForm.Designer.cs new file mode 100644 index 0000000..cd212ca --- /dev/null +++ b/TEMUKJD/KJDForms/ProductSelectForms/UserSelectDbProductForm.Designer.cs @@ -0,0 +1,592 @@ + +namespace TemuKJD.KJDForms.ProductSelectForms +{ + partial class UserSelectDbProductForm + { + /// + /// 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 dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnSearch = new DevComponents.DotNetBar.PanelEx(); + this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx(); + this.splitContainer3 = new System.Windows.Forms.SplitContainer(); + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx(); + this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSpuId = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colSkcId = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colProductSkcPic = new System.Windows.Forms.DataGridViewImageColumn(); + this.colProductName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colProductCat = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.splitContainer4 = new System.Windows.Forms.SplitContainer(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); + this.btnClear = new DevComponents.DotNetBar.PanelEx(); + 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.colSelectProduct = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.ucGroupBoxEx4.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.dgvShop)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).BeginInit(); + this.splitContainer4.Panel1.SuspendLayout(); + this.splitContainer4.Panel2.SuspendLayout(); + this.splitContainer4.SuspendLayout(); + this.SuspendLayout(); + // + // splitContainer1 + // + 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.ucGroupBoxEx4); + this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx1); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.splitContainer3); + this.splitContainer1.Size = new System.Drawing.Size(1152, 546); + this.splitContainer1.SplitterDistance = 120; + this.splitContainer1.TabIndex = 11; + // + // ucGroupBoxEx4 + // + this.ucGroupBoxEx4.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.ucGroupBoxEx4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.ucGroupBoxEx4.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx4.Controls.Add(this.btnSearch); + this.ucGroupBoxEx4.Location = new System.Drawing.Point(147, 2); + this.ucGroupBoxEx4.Name = "ucGroupBoxEx4"; + this.ucGroupBoxEx4.Size = new System.Drawing.Size(1003, 120); + this.ucGroupBoxEx4.TabIndex = 666; + this.ucGroupBoxEx4.TabStop = false; + this.ucGroupBoxEx4.Text = "认领商品查询"; + // + // btnSearch + // + this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSearch.Location = new System.Drawing.Point(18, 32); + this.btnSearch.Name = "btnSearch"; + this.btnSearch.Size = new System.Drawing.Size(126, 23); + this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSearch.Style.GradientAngle = 90; + this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearch.TabIndex = 427; + this.btnSearch.Text = "认领商品查询"; + // + // ucGroupBoxEx1 + // + this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + 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.btnRefreshShop); + this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2); + this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; + this.ucGroupBoxEx1.Size = new System.Drawing.Size(144, 120); + this.ucGroupBoxEx1.TabIndex = 399; + this.ucGroupBoxEx1.TabStop = false; + this.ucGroupBoxEx1.Text = "基础"; + // + // btnRefreshShop + // + this.btnRefreshShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + 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(17, 31); + this.btnRefreshShop.Name = "btnRefreshShop"; + this.btnRefreshShop.Size = new System.Drawing.Size(110, 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); + // + // 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(1152, 422); + this.splitContainer3.SplitterDistance = 392; + 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.dgvShop); + this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 0, 0); + // + // splitContainer2.Panel2 + // + this.splitContainer2.Panel2.Controls.Add(this.dgvSelectProduct); + this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0); + this.splitContainer2.Size = new System.Drawing.Size(1152, 392); + this.splitContainer2.SplitterDistance = 270; + this.splitContainer2.TabIndex = 0; + // + // dgvShop + // + this.dgvShop.AllowUserToAddRows = false; + this.dgvShop.AllowUserToDeleteRows = false; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.dgvShop.BackgroundColor = System.Drawing.Color.White; + this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + 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.colSelectProduct, + 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 = 30; + dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.dgvShop.RowsDefaultCellStyle = dataGridViewCellStyle3; + this.dgvShop.RowTemplate.Height = 23; + this.dgvShop.Size = new System.Drawing.Size(266, 392); + this.dgvShop.TabIndex = 6; + this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); + // + // dgvSelectProduct + // + this.dgvSelectProduct.AllowUserToAddRows = false; + this.dgvSelectProduct.AllowUserToDeleteRows = false; + dataGridViewCellStyle4.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle4; + this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White; + this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle5; + this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colCheck, + this.colSelectId, + this.colSupplierId, + this.colSupplierName, + this.colSpuId, + this.colSkcId, + this.colProductSkcPic, + this.colProductName, + this.colProductCat, + this.ColDelete, + this.colMsg}); + this.dgvSelectProduct.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvSelectProduct.Location = new System.Drawing.Point(0, 0); + this.dgvSelectProduct.Name = "dgvSelectProduct"; + this.dgvSelectProduct.ReadOnly = true; + dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.dgvSelectProduct.RowsDefaultCellStyle = dataGridViewCellStyle6; + this.dgvSelectProduct.RowTemplate.Height = 23; + this.dgvSelectProduct.Size = new System.Drawing.Size(874, 392); + this.dgvSelectProduct.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; + // + // colSelectId + // + this.colSelectId.HeaderText = "认领Id"; + this.colSelectId.Name = "colSelectId"; + this.colSelectId.ReadOnly = true; + this.colSelectId.Visible = false; + // + // 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; + // + // colSpuId + // + this.colSpuId.HeaderText = "商品SPU"; + this.colSpuId.Name = "colSpuId"; + this.colSpuId.ReadOnly = true; + this.colSpuId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSpuId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // + // colSkcId + // + this.colSkcId.FillWeight = 150F; + this.colSkcId.HeaderText = "商品SKC"; + this.colSkcId.Name = "colSkcId"; + this.colSkcId.ReadOnly = true; + this.colSkcId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSkcId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSkcId.Width = 80; + // + // 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; + // + // colProductName + // + this.colProductName.HeaderText = "商品标题"; + this.colProductName.Name = "colProductName"; + this.colProductName.ReadOnly = true; + this.colProductName.Width = 220; + // + // colProductCat + // + this.colProductCat.HeaderText = "商品类目"; + this.colProductCat.Name = "colProductCat"; + this.colProductCat.ReadOnly = true; + this.colProductCat.Width = 90; + // + // ColDelete + // + this.ColDelete.HeaderText = "删除"; + this.ColDelete.Name = "ColDelete"; + this.ColDelete.ReadOnly = true; + // + // colMsg + // + this.colMsg.HeaderText = "状态"; + this.colMsg.Name = "colMsg"; + this.colMsg.ReadOnly = true; + this.colMsg.Visible = false; + this.colMsg.Width = 400; + // + // splitContainer4 + // + this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer4.Location = new System.Drawing.Point(0, 0); + this.splitContainer4.Name = "splitContainer4"; + // + // splitContainer4.Panel1 + // + this.splitContainer4.Panel1.Controls.Add(this.statusBar); + // + // splitContainer4.Panel2 + // + this.splitContainer4.Panel2.Controls.Add(this.panelEx1); + this.splitContainer4.Panel2.Controls.Add(this.btnClear); + this.splitContainer4.Size = new System.Drawing.Size(1152, 26); + this.splitContainer4.SplitterDistance = 874; + this.splitContainer4.TabIndex = 3; + // + // 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(874, 26); + this.statusBar.TabIndex = 2; + // + // 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(155, 0); + this.panelEx1.Name = "panelEx1"; + this.panelEx1.Size = new System.Drawing.Size(115, 21); + this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelEx1.Style.GradientAngle = 90; + this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.panelEx1.TabIndex = 668; + this.panelEx1.Text = "停止当前操作"; + // + // 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(47, 0); + this.btnClear.Name = "btnClear"; + this.btnClear.Size = new System.Drawing.Size(90, 21); + this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnClear.Style.GradientAngle = 90; + this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnClear.TabIndex = 440; + this.btnClear.Text = "清空结果"; + this.btnClear.Visible = false; + // + // 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.FillWeight = 150F; + this.colShopName.HeaderText = "店铺名称"; + this.colShopName.Name = "colShopName"; + this.colShopName.ReadOnly = true; + this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colShopName.Width = 75; + // + // colSelectProduct + // + this.colSelectProduct.HeaderText = "认领商品"; + this.colSelectProduct.Name = "colSelectProduct"; + this.colSelectProduct.ReadOnly = true; + this.colSelectProduct.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelectProduct.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelectProduct.Width = 65; + // + // 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; + // + // UserSelectDbProductForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.ClientSize = new System.Drawing.Size(1152, 546); + this.Controls.Add(this.splitContainer1); + this.Name = "UserSelectDbProductForm"; + this.Text = "UserSelectDbProductForm"; + this.Load += new System.EventHandler(this.UserSelectDbProductForm_Load); + this.VisibleChanged += new System.EventHandler(this.UserSelectDbProductForm_VisibleChanged); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.ucGroupBoxEx4.ResumeLayout(false); + this.ucGroupBoxEx1.ResumeLayout(false); + 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.dgvShop)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).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 UserComponent.UcGroupBoxEx ucGroupBoxEx4; + private DevComponents.DotNetBar.PanelEx btnSearch; + 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 dgvSelectProduct; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck; + private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName; + private System.Windows.Forms.DataGridViewLinkColumn colSpuId; + private System.Windows.Forms.DataGridViewLinkColumn colSkcId; + private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic; + private System.Windows.Forms.DataGridViewTextBoxColumn colProductName; + private System.Windows.Forms.DataGridViewTextBoxColumn colProductCat; + private System.Windows.Forms.DataGridViewLinkColumn ColDelete; + private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; + 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 colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; + private System.Windows.Forms.DataGridViewLinkColumn colSelectProduct; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse; + private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; + } +} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductSelectForms/UserSelectDbProductForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/UserSelectDbProductForm.cs new file mode 100644 index 0000000..28248fb --- /dev/null +++ b/TEMUKJD/KJDForms/ProductSelectForms/UserSelectDbProductForm.cs @@ -0,0 +1,156 @@ +using AllBase.Helper; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.Extension; +using TemuKJD.KJDForms.BaseForms; + +namespace TemuKJD.KJDForms.ProductSelectForms +{ + public partial class UserSelectDbProductForm : Form + { + CheckBox chkSelectAll = null; + public UserSelectDbProductForm() + { + InitializeComponent(); + } + + private void UserSelectDbProductForm_Load(object sender, EventArgs e) + { + chkSelectAll = dgvShop.Columns["colSelect"].AddHeaderCheckBox(HorizontalAlignment.Center, 0, 0, null, null, false); + dgvShop.Columns["colSelect"].HeaderText = ""; + chkSelectAll.Width = chkSelectAll.Height = 13; + chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged; + + this.dgvSelectProduct.AddSelectorColumn("colCheck"); + } + + private void chkSelectAll_CheckedChanged(object sender, EventArgs e) + { + if (!chkSelectAll.Checked) + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + row.Cells["colSelect"].Value = false; + } + } + else + { + //var list = GlobalConfig.ShopLoginList.Where(s => s.LoginStatus == "登录成功").Select(ss => ss.ShopId); + foreach (DataGridViewRow row in dgvShop.Rows) + { + //if (list.Any(l => l == row.Cells["colShopId"]?.Value?.ToString())) + row.Cells["colSelect"].Value = true; + } + } + } + + private void btnRefreshShop_Click(object sender, EventArgs e) + { + RefreshShop(); + } + + private void UserSelectDbProductForm_VisibleChanged(object sender, EventArgs e) + { + if (Visible == true) + RefreshShop(); + } + + private void RefreshShop() + { + // 店铺Id + var selectIds = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + // 获取被删除的店铺 + List dgvRowList = dgvShop.Rows.Cast().Where(row + => !GlobalConfig.ShopLoginList.Any(s => s.ShopId == row.Cells["colShopId"]?.Value?.ToString())).ToList(); + // 更新被删除的店铺列表 + foreach (var row in dgvRowList) + { + dgvShop.Rows.Remove(row); + } + // 绑定其他店铺(含新导入的店铺) + foreach (ShopLoginInfo shopEntity in GlobalConfig.ShopLoginList) + { + if (!string.IsNullOrEmpty(shopEntity.ShopId)) + BindShop(shopEntity, selectIds); + } + } + + private void BindShop(ShopLoginInfo shopEntity, List selectShopId = null) + { + if (shopEntity == null) + return; + if (selectShopId == null) + selectShopId = new List(); + + bool canUse = shopEntity.LoginStatus == "登录成功"; + var row = dgvShop.Rows.Cast().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId); + if (row == null) + { + this.dgvShop.Rows.Add( + selectShopId.Contains(shopEntity.ShopId) && canUse, + shopEntity.LoginName, + shopEntity.ShopId, + shopEntity.ShopAccount, + "选择商品", + canUse, + string.Empty + ); + } + else + { + row.Cells["colSelect"].Value = selectShopId.Contains(shopEntity.ShopId) && canUse; + row.Cells["colShopLoginName"].Value = shopEntity.LoginName; + row.Cells["colShopName"].Value = shopEntity.ShopAccount; + row.Cells["colLoginStatus"].Value = shopEntity.LoginStatus; + row.Cells["colCanUse"].Value = canUse; + } + } + + private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText; + string columnName = dgvShop.Columns[e.ColumnIndex].Name; + long shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToLong(); + string shopAccount = dgvShop.Rows[e.RowIndex].Cells["colShopName"].Value.ToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId.ToString()); + var row = dgvShop.Rows[e.RowIndex]; + switch (columnName) + { + case "colSelect": + //if (row.Cells["colCanUse"].Value.ParseToBool()) + { + row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool(); + + chkSelectAll.CheckedChanged -= chkSelectAll_CheckedChanged; + if (dgvShop.Rows.Cast().All(r => r.Cells["colSelect"].Value.ParseToBool())) + chkSelectAll.Checked = true; + else + chkSelectAll.Checked = false; + chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged; + } + //else + { + //BaseMsgForm.ShowInfo("店铺未登录!"); + } + break; + + case "colSelectProduct": + DbProductListForm dbProductForm = new DbProductListForm(shop); + dbProductForm.ShowDialog(); + break; + } + } + } +} diff --git a/TEMUKJD/KJDForms/ProductForms/ProductSelectForm.resx b/TEMUKJD/KJDForms/ProductSelectForms/UserSelectDbProductForm.resx similarity index 65% rename from TEMUKJD/KJDForms/ProductForms/ProductSelectForm.resx rename to TEMUKJD/KJDForms/ProductSelectForms/UserSelectDbProductForm.resx index 1af7de1..afe9d88 100644 --- a/TEMUKJD/KJDForms/ProductForms/ProductSelectForm.resx +++ b/TEMUKJD/KJDForms/ProductSelectForms/UserSelectDbProductForm.resx @@ -117,4 +117,52 @@ 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 + \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ShopForms/ShopForm.Designer.cs b/TEMUKJD/KJDForms/ShopForms/ShopForm.Designer.cs index 33cd31d..44611aa 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopForm.Designer.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopForm.Designer.cs @@ -35,14 +35,16 @@ System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("素材库管理"); System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("超级店铺管理"); System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("超级用户管理"); - System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] { + System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("选品数据管理"); + System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] { treeNode1, treeNode2, treeNode3, treeNode4, treeNode5, treeNode6, - treeNode7}); + treeNode7, + treeNode8}); this.panel1 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel(); @@ -147,10 +149,12 @@ treeNode6.Text = "超级店铺管理"; treeNode7.Name = "超级用户管理"; treeNode7.Text = "超级用户管理"; - treeNode8.Name = "店铺管理"; - treeNode8.Text = "店铺管理"; + treeNode8.Name = "选品数据管理"; + treeNode8.Text = "选品数据管理"; + treeNode9.Name = "店铺管理"; + treeNode9.Text = "店铺管理"; this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode8}); + treeNode9}); this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.tv.Size = new System.Drawing.Size(140, 461); this.tv.TabIndex = 1; diff --git a/TEMUKJD/KJDForms/ShopForms/ShopForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopForm.cs index 1711b89..ad376c5 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopForm.cs @@ -10,6 +10,7 @@ using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.KJDForms.AdminForms; +using TemuKJD.KJDForms.ProductSelectForms; namespace TemuKJD.KJDForms.ShopForms { @@ -22,6 +23,7 @@ namespace TemuKJD.KJDForms.ShopForms public Lazy materialManageForm = new Lazy(); public Lazy adminAccountForm = new Lazy(); public Lazy adminShopForm = new Lazy(); + public Lazy dbProductListForm = new Lazy(); public ShopForm() { @@ -32,7 +34,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) { @@ -41,6 +43,7 @@ namespace TemuKJD.KJDForms.ShopForms { hideName.Remove("超级用户管理"); hideName.Remove("超级店铺管理"); + hideName.Remove("选品数据管理"); } } @@ -88,6 +91,9 @@ namespace TemuKJD.KJDForms.ShopForms case "超级店铺管理": SetForm(adminShopForm.Value); break; + case "选品数据管理": + SetForm(dbProductListForm.Value); + break; } })); }).Start(); diff --git a/TEMUKJD/KJDForms/ShopForms/ShopListForm.Designer.cs b/TEMUKJD/KJDForms/ShopForms/ShopListForm.Designer.cs index 0bac3a9..4250175 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopListForm.Designer.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopListForm.Designer.cs @@ -35,7 +35,7 @@ this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.panel5 = new System.Windows.Forms.Panel(); - this.btnRefreshAuth = new TemuKJD.UserControls.ButtonEx(); + this.btnRefreshShop = new TemuKJD.UserControls.ButtonEx(); this.btnLoginSelect = new TemuKJD.UserControls.ButtonEx(); this.btnCheck = new TemuKJD.UserControls.ButtonEx(); this.panel4 = new System.Windows.Forms.Panel(); @@ -50,10 +50,9 @@ this.btnImport = new TemuKJD.UserControls.ButtonEx(); this.btnAddShop = new TemuKJD.UserControls.ButtonEx(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.btnRefreshAuth = new TemuKJD.UserControls.ButtonEx(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); - this.chkAutoDrag = new System.Windows.Forms.CheckBox(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -76,6 +75,8 @@ this.colCopyCookies = new System.Windows.Forms.DataGridViewLinkColumn(); this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn(); this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.chkAutoDrag = new System.Windows.Forms.CheckBox(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -138,7 +139,7 @@ // // panel5 // - this.panel5.Controls.Add(this.btnRefreshAuth); + this.panel5.Controls.Add(this.btnRefreshShop); this.panel5.Controls.Add(this.btnLoginSelect); this.panel5.Controls.Add(this.btnCheck); this.panel5.Location = new System.Drawing.Point(831, 3); @@ -146,22 +147,21 @@ this.panel5.Size = new System.Drawing.Size(229, 40); this.panel5.TabIndex = 1; // - // btnRefreshAuth + // btnRefreshCookie // - this.btnRefreshAuth.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnRefreshAuth.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnRefreshAuth.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnRefreshAuth.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnRefreshAuth.ForeColor = System.Drawing.Color.White; - this.btnRefreshAuth.Location = new System.Drawing.Point(15, 9); - this.btnRefreshAuth.Margin = new System.Windows.Forms.Padding(2); - this.btnRefreshAuth.Name = "btnRefreshAuth"; - this.btnRefreshAuth.Size = new System.Drawing.Size(66, 26); - this.btnRefreshAuth.TabIndex = 374; - this.btnRefreshAuth.Text = "刷新授权"; - this.btnRefreshAuth.UseVisualStyleBackColor = false; - this.btnRefreshAuth.Visible = false; - this.btnRefreshAuth.Click += new System.EventHandler(this.btnRefreshAuth_Click); + this.btnRefreshShop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshShop.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshShop.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshShop.ForeColor = System.Drawing.Color.White; + this.btnRefreshShop.Location = new System.Drawing.Point(21, 9); + this.btnRefreshShop.Margin = new System.Windows.Forms.Padding(2); + this.btnRefreshShop.Name = "btnRefreshCookie"; + this.btnRefreshShop.Size = new System.Drawing.Size(66, 26); + this.btnRefreshShop.TabIndex = 375; + this.btnRefreshShop.Text = "刷新店铺"; + this.btnRefreshShop.UseVisualStyleBackColor = false; + this.btnRefreshShop.Click += new System.EventHandler(this.btnRefreshCookie_Click); // // btnLoginSelect // @@ -170,7 +170,7 @@ this.btnLoginSelect.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnLoginSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnLoginSelect.ForeColor = System.Drawing.Color.White; - this.btnLoginSelect.Location = new System.Drawing.Point(155, 9); + this.btnLoginSelect.Location = new System.Drawing.Point(162, 9); this.btnLoginSelect.Margin = new System.Windows.Forms.Padding(2); this.btnLoginSelect.Name = "btnLoginSelect"; this.btnLoginSelect.Size = new System.Drawing.Size(66, 26); @@ -186,7 +186,7 @@ this.btnCheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnCheck.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnCheck.ForeColor = System.Drawing.Color.White; - this.btnCheck.Location = new System.Drawing.Point(85, 9); + this.btnCheck.Location = new System.Drawing.Point(92, 9); this.btnCheck.Margin = new System.Windows.Forms.Padding(2); this.btnCheck.Name = "btnCheck"; this.btnCheck.Size = new System.Drawing.Size(66, 26); @@ -308,7 +308,7 @@ this.btnImport.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnImport.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnImport.ForeColor = System.Drawing.Color.White; - this.btnImport.Location = new System.Drawing.Point(78, 9); + this.btnImport.Location = new System.Drawing.Point(71, 9); this.btnImport.Margin = new System.Windows.Forms.Padding(2); this.btnImport.Name = "btnImport"; this.btnImport.Size = new System.Drawing.Size(66, 26); @@ -324,7 +324,7 @@ this.btnAddShop.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnAddShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnAddShop.ForeColor = System.Drawing.Color.White; - this.btnAddShop.Location = new System.Drawing.Point(8, 9); + this.btnAddShop.Location = new System.Drawing.Point(1, 9); this.btnAddShop.Margin = new System.Windows.Forms.Padding(2); this.btnAddShop.Name = "btnAddShop"; this.btnAddShop.Size = new System.Drawing.Size(66, 26); @@ -344,6 +344,7 @@ // splitContainer2.Panel1 // this.splitContainer2.Panel1.BackColor = System.Drawing.Color.White; + this.splitContainer2.Panel1.Controls.Add(this.btnRefreshAuth); this.splitContainer2.Panel1.Controls.Add(this.pbLoading); this.splitContainer2.Panel1.Controls.Add(this.dgvShop); this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0); @@ -356,6 +357,23 @@ this.splitContainer2.SplitterDistance = 555; this.splitContainer2.TabIndex = 0; // + // btnRefreshAuth + // + this.btnRefreshAuth.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAuth.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshAuth.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnRefreshAuth.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshAuth.ForeColor = System.Drawing.Color.White; + this.btnRefreshAuth.Location = new System.Drawing.Point(11, 35); + this.btnRefreshAuth.Margin = new System.Windows.Forms.Padding(2); + this.btnRefreshAuth.Name = "btnRefreshAuth"; + this.btnRefreshAuth.Size = new System.Drawing.Size(66, 26); + this.btnRefreshAuth.TabIndex = 374; + this.btnRefreshAuth.Text = "刷新授权"; + this.btnRefreshAuth.UseVisualStyleBackColor = false; + this.btnRefreshAuth.Visible = false; + this.btnRefreshAuth.Click += new System.EventHandler(this.btnRefreshAuth_Click); + // // pbLoading // this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; @@ -419,31 +437,6 @@ this.dgvShop.TabIndex = 5; this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); // - // chkAutoDrag - // - this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.chkAutoDrag.AutoSize = true; - this.chkAutoDrag.BackColor = System.Drawing.Color.White; - this.chkAutoDrag.Location = new System.Drawing.Point(907, 2); - this.chkAutoDrag.Name = "chkAutoDrag"; - this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); - this.chkAutoDrag.TabIndex = 3; - this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; - this.chkAutoDrag.UseVisualStyleBackColor = false; - this.chkAutoDrag.Visible = false; - this.chkAutoDrag.Click += new System.EventHandler(this.chkAutoDrag_Click); - // - // 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(1063, 28); - this.statusBar.TabIndex = 1; - // // colSelect // this.colSelect.FillWeight = 26F; @@ -455,14 +448,14 @@ // // colLoginName // - this.colLoginName.FillWeight = 69.426F; + this.colLoginName.FillWeight = 69.42599F; this.colLoginName.HeaderText = "店铺登录号码"; this.colLoginName.Name = "colLoginName"; this.colLoginName.ReadOnly = true; // // colShopId // - this.colShopId.FillWeight = 69.426F; + this.colShopId.FillWeight = 69.42599F; this.colShopId.HeaderText = "店铺Id"; this.colShopId.Name = "colShopId"; this.colShopId.ReadOnly = true; @@ -495,7 +488,7 @@ // // colGroupName // - this.colGroupName.FillWeight = 69.426F; + this.colGroupName.FillWeight = 69.42599F; this.colGroupName.HeaderText = "店铺分组"; this.colGroupName.Name = "colGroupName"; this.colGroupName.ReadOnly = true; @@ -503,7 +496,7 @@ // // colUploadAccount // - this.colUploadAccount.FillWeight = 69.426F; + this.colUploadAccount.FillWeight = 69.42599F; this.colUploadAccount.HeaderText = "上货账户"; this.colUploadAccount.Name = "colUploadAccount"; this.colUploadAccount.ReadOnly = true; @@ -511,7 +504,7 @@ // // colBuyAccount // - this.colBuyAccount.FillWeight = 69.426F; + this.colBuyAccount.FillWeight = 69.42599F; this.colBuyAccount.HeaderText = "采购账户"; this.colBuyAccount.Name = "colBuyAccount"; this.colBuyAccount.ReadOnly = true; @@ -519,7 +512,7 @@ // // colChatAccount // - this.colChatAccount.FillWeight = 69.426F; + this.colChatAccount.FillWeight = 69.42599F; this.colChatAccount.HeaderText = "客服账户"; this.colChatAccount.Name = "colChatAccount"; this.colChatAccount.ReadOnly = true; @@ -572,7 +565,7 @@ // // colApiAuth // - this.colApiAuth.FillWeight = 69.426F; + this.colApiAuth.FillWeight = 69.42599F; this.colApiAuth.HeaderText = "上货授权"; this.colApiAuth.Name = "colApiAuth"; this.colApiAuth.ReadOnly = true; @@ -582,7 +575,7 @@ // // colBuyApiAuth // - this.colBuyApiAuth.FillWeight = 69.426F; + this.colBuyApiAuth.FillWeight = 69.42599F; this.colBuyApiAuth.HeaderText = "拍单授权"; this.colBuyApiAuth.Name = "colBuyApiAuth"; this.colBuyApiAuth.ReadOnly = true; @@ -624,6 +617,31 @@ this.colDelete.Name = "colDelete"; this.colDelete.ReadOnly = true; // + // chkAutoDrag + // + this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.chkAutoDrag.AutoSize = true; + this.chkAutoDrag.BackColor = System.Drawing.Color.White; + this.chkAutoDrag.Location = new System.Drawing.Point(907, 2); + this.chkAutoDrag.Name = "chkAutoDrag"; + this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); + this.chkAutoDrag.TabIndex = 3; + this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; + this.chkAutoDrag.UseVisualStyleBackColor = false; + this.chkAutoDrag.Visible = false; + this.chkAutoDrag.Click += new System.EventHandler(this.chkAutoDrag_Click); + // + // 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(1063, 28); + this.statusBar.TabIndex = 1; + // // ShopListForm // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); @@ -705,5 +723,6 @@ private System.Windows.Forms.DataGridViewLinkColumn colCopyCookies; private System.Windows.Forms.DataGridViewLinkColumn colEdit; private System.Windows.Forms.DataGridViewLinkColumn colDelete; + private UserControls.ButtonEx btnRefreshShop; } } \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs index be0b184..5979036 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs @@ -18,6 +18,7 @@ using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using Work; +using NaiBa.Util; namespace TemuKJD.KJDForms.ShopForms { @@ -83,6 +84,60 @@ namespace TemuKJD.KJDForms.ShopForms return result; } + public static void UpdateShop() + { + // 获取本地店铺和服务端店铺。将服务端相关信息与本地店铺合并后暂时存在内存中(不保存敏感信息)。 + GlobalConfig.ShopLoginList = new ConcurrentList(); + // 获取服务端店铺 + var serverDouShopList = KJDForms.ShopForms.ShopListForm.GetServerShop(); + var localDouShopList = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("dou_shop_login"); + if (localDouShopList == null) + localDouShopList = new ConcurrentList(); + foreach (var serverShop in serverDouShopList) + { + var localShop = localDouShopList.FirstOrDefault(s => s.LoginName == serverShop.LoginName && s.ShopId == serverShop.ShopId); + if (localShop == null) + { + localDouShopList.Add(serverShop); + } + } + //var localDouShopList = new ConcurrentList(); + //localDouShopList.AddRange(serverDouShopList); + foreach (var localShop in localDouShopList) + { + if (GlobalConfig.ShopLoginList.Any(s => s.LoginName == localShop.LoginName && s.ShopId == localShop.ShopId)) + continue; + + var serverShop = serverDouShopList.FirstOrDefault(s => s.LoginName == localShop.LoginName && s.ShopId == localShop.ShopId); + if (serverShop != null) + { + localShop.ShopAccount = serverShop.ShopAccount; + localShop.LoginName = serverShop.LoginName; + localShop.Password = serverShop.Password; + localShop.Cookies = serverShop.Cookies; + localShop.DbId = serverShop.DbId; + localShop.UserName = serverShop.UserName; + localShop.SubUserName = serverShop.SubUserName; + localShop.ApiAuthInfoList = new List(); + localShop.ApiAuthInfoList.AddRange(serverShop.ApiAuthInfoList); + localShop.BuyApiAuth.AccessToken = serverShop.BuyApiAuth.AccessToken; + localShop.BuyApiAuth.AddTime = serverShop.BuyApiAuth.AddTime; + localShop.BuyApiAuth.AppKey = serverShop.BuyApiAuth.AppKey; + localShop.BuyApiAuth.ExpiresTime = serverShop.BuyApiAuth.ExpiresTime; + localShop.BuyApiAuth.RefreshToken = serverShop.BuyApiAuth.RefreshToken; + localShop.PayStatus = serverShop.PayStatus; + localShop.GroupName = serverShop.GroupName; + localShop.Notes = serverShop.Notes; + localShop.LoginStatus = serverShop.LoginStatus; + if (localShop.TrialUploadCount < 0) + localShop.TrialUploadCount = 0; + GlobalConfig.ShopLoginList.Add(localShop); + } + } + GlobalConfig.DouShopLoginOtherUserShopList = new ConcurrentList(); + GlobalConfig.DouShopLoginOtherUserShopList.AddRange(localDouShopList.Where(l => !GlobalConfig.ShopLoginList.Any(s => s.LoginName == l.LoginName))); + } + public static List GetServerShop() { List list = new List(); @@ -800,10 +855,23 @@ namespace TemuKJD.KJDForms.ShopForms //cookJs += "\r\nsetTimeout(() => { window.location.href='https://seller.kuajingmaihuo.com'; }, 200)"; string cookJs = ""; - foreach(var cookie in shop.Cookies.Split(';')) + foreach (var shopCook in shop.Cookies.Split(';')) { + var cookie = shopCook.Trim(); + if (cookie.StartsWith("mc-pc-cookie-captcha-token=")) + continue; //if (!cookie.StartsWith("SUB_PASS_ID") && !cookie.StartsWith("_nano_fp")) - cookJs += "\r\ndocument.cookie='" + cookie.Trim() + "';"; + cookJs += "\r\ndocument.cookie='" + cookie.Substring(0, Math.Max(0, cookie.IndexOf("="))) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';"; + } + foreach (var shopCook in shop.Cookies.Split(';')) + { + var cookie = shopCook.Trim(); + if (cookie.StartsWith("mc-pc-cookie-captcha-token=")) + continue; + if (!cookie.StartsWith("SUB_PASS_ID") && !cookie.StartsWith("_nano_fp")) + cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.kuajingmaihuo.com;';"; + else + cookJs += "\r\ndocument.cookie='" + cookie + "; domain=seller.kuajingmaihuo.com;';"; } cookJs += "\r\nsetTimeout(() => { window.location.href='https://seller.kuajingmaihuo.com'; }, 200)"; Clipboard.SetDataObject(cookJs); @@ -890,14 +958,58 @@ namespace TemuKJD.KJDForms.ShopForms return; } - Task.Run(() => + this.pbLoading.Visible = true; + this.btnCheck.Enabled = false; + var t = Task.Run(() => { + UpdateShop(); CheckShopListLogin(shopNameList.Distinct().ToArray()); RefreshDataGridView(false); }); + Task.Run(() => + { + while (true) + { + Thread.Sleep(1000); + if (t.IsCompleted || t.IsCanceled || t.IsFaulted) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = false; + this.btnCheck.Enabled = true; + })); + } + } + }); } } + private void btnRefreshCookie_Click(object sender, EventArgs e) + { + this.pbLoading.Visible = true; + this.btnRefreshShop.Enabled = false; + var t = Task.Run(() => + { + UpdateShop(); + RefreshDataGridView(false); + }); + Task.Run(() => + { + while (true) + { + Thread.Sleep(1000); + if (t.IsCompleted || t.IsCanceled || t.IsFaulted) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = false; + this.btnRefreshShop.Enabled = true; + })); + } + } + }); + } + private List GetCheckedList() { List shopNameList = new List(); @@ -1037,5 +1149,6 @@ function setCookie(name, value, daysToLive, path, domain, secure, httpOnly, same } document.cookie = cookie; }"; + } } diff --git a/TEMUKJD/StartUp.cs b/TEMUKJD/StartUp.cs index 92642e9..29946b1 100644 --- a/TEMUKJD/StartUp.cs +++ b/TEMUKJD/StartUp.cs @@ -65,58 +65,9 @@ namespace TemuKJD { //while (string.IsNullOrEmpty(BaseClass.CompanyName)) while (!BaseClass.IsLoginSuccess) - Thread.Sleep(100); + Thread.Sleep(100); - // 获取本地店铺和服务端店铺。将服务端相关信息与本地店铺合并后暂时存在内存中(不保存敏感信息)。 - GlobalConfig.ShopLoginList = new ConcurrentList(); - // 获取服务端店铺 - var serverDouShopList = KJDForms.ShopForms.ShopListForm.GetServerShop(); - var localDouShopList = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("dou_shop_login"); - if (localDouShopList == null) - localDouShopList = new ConcurrentList(); - foreach (var serverShop in serverDouShopList) - { - var localShop = localDouShopList.FirstOrDefault(s => s.LoginName == serverShop.LoginName && s.ShopId == serverShop.ShopId); - if (localShop == null) - { - localDouShopList.Add(serverShop); - } - } - //var localDouShopList = new ConcurrentList(); - //localDouShopList.AddRange(serverDouShopList); - foreach (var localShop in localDouShopList) - { - if (GlobalConfig.ShopLoginList.Any(s => s.LoginName == localShop.LoginName && s.ShopId == localShop.ShopId)) - continue; - - var serverShop = serverDouShopList.FirstOrDefault(s => s.LoginName == localShop.LoginName && s.ShopId == localShop.ShopId); - if (serverShop != null) - { - localShop.ShopAccount = serverShop.ShopAccount; - localShop.LoginName = serverShop.LoginName; - localShop.Password = serverShop.Password; - localShop.Cookies = serverShop.Cookies; - localShop.DbId = serverShop.DbId; - localShop.UserName = serverShop.UserName; - localShop.SubUserName = serverShop.SubUserName; - localShop.ApiAuthInfoList = new List(); - localShop.ApiAuthInfoList.AddRange(serverShop.ApiAuthInfoList); - localShop.BuyApiAuth.AccessToken = serverShop.BuyApiAuth.AccessToken; - localShop.BuyApiAuth.AddTime = serverShop.BuyApiAuth.AddTime; - localShop.BuyApiAuth.AppKey = serverShop.BuyApiAuth.AppKey; - localShop.BuyApiAuth.ExpiresTime = serverShop.BuyApiAuth.ExpiresTime; - localShop.BuyApiAuth.RefreshToken = serverShop.BuyApiAuth.RefreshToken; - localShop.PayStatus = serverShop.PayStatus; - localShop.GroupName = serverShop.GroupName; - localShop.Notes = serverShop.Notes; - localShop.LoginStatus = serverShop.LoginStatus; - if (localShop.TrialUploadCount < 0) - localShop.TrialUploadCount = 0; - GlobalConfig.ShopLoginList.Add(localShop); - } - } - GlobalConfig.DouShopLoginOtherUserShopList = new ConcurrentList(); - GlobalConfig.DouShopLoginOtherUserShopList.AddRange(localDouShopList.Where(l => !GlobalConfig.ShopLoginList.Any(s => s.LoginName == l.LoginName))); + KJDForms.ShopForms.ShopListForm.UpdateShop(); IsShopInit = true; //while (true)