From 7e71b08863b1d106146e5b5f77e2da81bb2a3783 Mon Sep 17 00:00:00 2001 From: wule Date: Tue, 22 Jul 2025 16:57:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KJD_WebService/BLL/ProductThirdManage.cs | 591 ++++++++++ KJDService/KJD_WebService/BLL/ShopManage.cs | 2 +- KJDService/KJD_WebService/Global.asax.cs | 5 + .../KJD_WebService/KJD_WebService.csproj | 6 + .../KJD_WebService/ProductThirdService.asmx | 1 + .../ProductThirdService.asmx.cs | 197 ++++ TEMUKJD/KJD.csproj | 55 +- TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs | 2 +- .../KJDForms/AdminForms/ShopBrowserObject.cs | 188 ++- .../ProductForms/ProductForm.Designer.cs | 83 +- TEMUKJD/KJDForms/ProductForms/ProductForm.cs | 5 + .../DbProductSelectListManageForm.cs | 4 +- ... => ProductSelectSetSubSaForm.Designer.cs} | 4 +- ...SaForm.cs => ProductSelectSetSubSaForm.cs} | 20 +- ...rm.resx => ProductSelectSetSubSaForm.resx} | 0 .../ProductSelectAddShopForm.Designer.cs | 213 ++++ .../ProductSelectAddShopForm.cs | 90 ++ .../ProductSelectAddShopForm.resx | 316 +++++ ...oductThirdSelectListManageForm.Designer.cs | 694 +++++++++++ .../ProductThirdSelectListManageForm.cs | 1017 +++++++++++++++++ .../ProductThirdSelectListManageForm.resx | 352 ++++++ .../UserSelectThirdProductForm.Designer.cs | 745 ++++++++++++ .../UserSelectThirdProductForm.cs | 446 ++++++++ .../UserSelectThirdProductForm.resx | 186 +++ .../KJDForms/ShopForms/ShopForm.Designer.cs | 15 +- TEMUKJD/KJDForms/ShopForms/ShopForm.cs | 9 +- TEMUKJD/KJDForms/ShopForms/ShopListForm.cs | 48 +- TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs | 79 ++ .../ShopForms/ShopUpdateCookieForm.cs | 196 +++- 29 files changed, 5391 insertions(+), 178 deletions(-) create mode 100644 KJDService/KJD_WebService/BLL/ProductThirdManage.cs create mode 100644 KJDService/KJD_WebService/ProductThirdService.asmx create mode 100644 KJDService/KJD_WebService/ProductThirdService.asmx.cs rename TEMUKJD/KJDForms/ProductSelectForms/{DbProductSelectListSubSaForm.Designer.cs => ProductSelectSetSubSaForm.Designer.cs} (99%) rename TEMUKJD/KJDForms/ProductSelectForms/{DbProductSelectListSubSaForm.cs => ProductSelectSetSubSaForm.cs} (88%) rename TEMUKJD/KJDForms/ProductSelectForms/{DbProductSelectListSubSaForm.resx => ProductSelectSetSubSaForm.resx} (100%) create mode 100644 TEMUKJD/KJDForms/ProductThirdSelectForms/ProductSelectAddShopForm.Designer.cs create mode 100644 TEMUKJD/KJDForms/ProductThirdSelectForms/ProductSelectAddShopForm.cs create mode 100644 TEMUKJD/KJDForms/ProductThirdSelectForms/ProductSelectAddShopForm.resx create mode 100644 TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.Designer.cs create mode 100644 TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs create mode 100644 TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.resx create mode 100644 TEMUKJD/KJDForms/ProductThirdSelectForms/UserSelectThirdProductForm.Designer.cs create mode 100644 TEMUKJD/KJDForms/ProductThirdSelectForms/UserSelectThirdProductForm.cs create mode 100644 TEMUKJD/KJDForms/ProductThirdSelectForms/UserSelectThirdProductForm.resx diff --git a/KJDService/KJD_WebService/BLL/ProductThirdManage.cs b/KJDService/KJD_WebService/BLL/ProductThirdManage.cs new file mode 100644 index 0000000..9dfd4d5 --- /dev/null +++ b/KJDService/KJD_WebService/BLL/ProductThirdManage.cs @@ -0,0 +1,591 @@ +using KJD_Web.Model; +using KJD_Web.Utils; +using MySql.Data.MySqlClient; +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Web; +using System.Web.Security; + +namespace KJD_Web.BLL +{ + public class ProductThirdManage + { + public string AddProduct(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\":50000,\"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"))?.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 = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_json"))?.Replace("'", "\\'"); + string size_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "size_json"))?.Replace("'", "\\'"); + 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)) + { + return "{\"code\":500,\"msg\":\"没有用户名\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = ""; + + sql = "insert into kjd.third_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 + "','" + + 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.ExecuteInsertId(sql); + mySql.Close(); + if (rst > 0) + { + return "{\"code\":200,\"msg\":\"success\",\"id\":" + rst + "}"; + } + else + { + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + + public string GetProductList(string inputData, bool isDetail = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"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 search_db_ids = RegexUtils.GetStringQuery(ref inputData, "search_db_ids")?.Replace("'", "\\'"); + + int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(); + int page_size= RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50); + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + + string sql = "select count(id) from kjd.third_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 + "%'"; + if (!string.IsNullOrEmpty(search_db_ids)) + sql += " and id in (" + search_db_ids + ")"; + var count = mySql.ExecuteRowCount(sql); + + DataTable dt; + if (count == 0) + { + dt = new DataTable(); + } + else + { + if (isDetail) + sql = "select * from kjd.third_product where 1=1"; + 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.third_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 + "%'"; + if (!string.IsNullOrEmpty(search_db_ids)) + sql += " and id in (" + search_db_ids + ")"; + 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(), + }; + if (isDetail) + { + prod.product_json = row["product_json"].ToString(); + prod.size_json = row["size_json"].ToString(); + } + productLst.Add(prod); + } + var data = JsonUtils.SerializerObjectToString(productLst); + return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + "}"; + } + catch (Exception ex) + { + return "{\"code\":500,\"msg\":\"" + ex.Message + "\",\"data\":[],\"count\":" + 0 + "}"; + } + } + else + { + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"data\":[],\"count\":" + 0 + "}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + + public string DelDbProd(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'"); + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "delete from kjd.third_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 = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'"); + string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes"))?.Replace("'", "\\'"); + + 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.third_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 = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + var out_product_Id = RegexUtils.GetStringQuery(ref inputData, "out_product_id")?.Replace("'", "\\'"); + var shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id")?.Replace("'", "\\'"); + var shop_account = RegexUtils.GetStringQuery(ref inputData, "shop_account")?.Replace("'", "\\'"); + var user_name = RegexUtils.GetStringQuery(ref inputData, "main_user_name")?.Replace("'", "\\'"); + var sub_user_name = RegexUtils.GetStringQuery(ref inputData, "sub_user_name")?.Replace("'", "\\'"); + var notes = RegexUtils.GetStringQuery(ref inputData, "notes")?.Replace("'", "\\'"); + var status = RegexUtils.GetStringQuery(ref inputData, "status")?.Replace("'", "\\'"); + var add_product_remaining = RegexUtils.GetStringQuery(ref inputData, "add_product_remaining").ParseToInt(); + + 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.third_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") + "');"; + if (add_product_remaining > 0) + { + add_product_remaining = add_product_remaining - 1; + sql += "\r\n"; + sql += "update kjd.shop set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_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 MdyUserSelectProductStatus(string inputData, bool isAdmin = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'"); + var draft_id = RegexUtils.GetStringQuery(ref inputData, "draft_id")?.Replace("'", "\\'"); + var status = RegexUtils.GetStringQuery(ref inputData, "status")?.Replace("'", "\\'"); + var add_times = RegexUtils.GetStringQuery(ref inputData, "add_times")?.Replace("'", "\\'"); + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "update kjd.third_product_select set"; + if (draft_id != null) + sql += " draft_id='" + draft_id + "',"; + if (status != null) + sql += " status='" + status + "',"; + if (status == "已上传") + sql += " add_times=add_times+1,"; + sql += " mdy_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',"; + 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 GetUserSelectProductList(string inputData, bool isAdmin = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + if (string.IsNullOrEmpty(user_name)) + { + return "{\"code\":500,\"msg\":\"没有用户名\"}"; + } + + var shop_ids = RegexUtils.GetStringQuery(ref inputData, "shop_ids")?.Replace("'", "\\'"); + var search_shop_id = RegexUtils.GetStringQuery(ref inputData, "search_shop_id")?.Replace("'", "\\'"); + var search_shop_account = RegexUtils.GetStringQuery(ref inputData, "search_shop_account")?.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 search_db_ids = RegexUtils.GetStringQuery(ref inputData, "search_db_ids")?.Replace("'", "\\'"); + var status = RegexUtils.GetStringQuery(ref inputData, "status")?.Replace("'", "\\'"); + var operate_sub_sa_name = RegexUtils.GetStringQuery(ref inputData, "operate_sub_sa_name")?.Replace("'", "\\'"); + + var no_sub_sa = RegexUtils.GetStringQuery(ref inputData, "no_sub_sa")?.Replace("'", "\\'"); + + int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(); + int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50); + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + + string sql = "select count(s.id) from kjd.third_product_select s left join kjd.third_product p on s.out_product_id=p.id" + + " where 1=1"; + + string where = ""; + if (!isAdmin) + where += " and (s.user_name='" + user_name + "' or s.sub_user_name like'%" + user_name + "%')"; + if (!string.IsNullOrEmpty(operate_sub_sa_name)) + where += " and s.operate_sub_sa_name = '" + operate_sub_sa_name + "'"; + if (no_sub_sa == "true") + where += " and s.operate_sub_sa_name is null"; + if (!string.IsNullOrEmpty(search_db_ids)) + where += " and s.id in (" + search_db_ids + ")"; + if (!string.IsNullOrEmpty(shop_ids)) + where += " and s.shop_id in (" + shop_ids + ")"; + if (!string.IsNullOrWhiteSpace(status)) + where += " and s.status = '" + status + "'"; + if (!string.IsNullOrWhiteSpace(search_shop_id)) + where += " and s.shop_id like '%" + search_shop_id + "%'"; + if (!string.IsNullOrWhiteSpace(search_shop_account)) + where += " and s.shop_account like '%" + search_shop_account + "%'"; + if (!string.IsNullOrWhiteSpace(search_notes)) + where += " and s.notes like '%" + search_notes + "%'"; + if (!string.IsNullOrWhiteSpace(search_spu)) + where += " and p.spu_id like '%" + search_spu + "%'"; + if (!string.IsNullOrWhiteSpace(search_skc)) + where += " and p.skc_id like '%" + search_skc + "%'"; + if (!string.IsNullOrWhiteSpace(search_cat)) + where += " and p.cat_name like '%" + search_cat + "%'"; + if (!string.IsNullOrWhiteSpace(search_ext_code)) + where += " and p.ext_code like '%" + search_ext_code + "%'"; + if (!string.IsNullOrWhiteSpace(search_prod_name)) + where += " and p.product_name like '%" + search_prod_name + "%'"; + + sql += where; + + var count = mySql.ExecuteRowCount(sql); + + DataTable dt; + if (count == 0) + { + dt = new DataTable(); + } + else + { + //if (isDetail) + //sql = "select * from kjd.third_product_select where 1=1"; + //else + sql = "select s.id,s.out_product_id,s.shop_id,s.shop_account,s.user_name," + + "s.sub_user_name,s.notes,s.status,s.draft_id,s.add_times,s.add_time,s.mdy_time," + + "s.operate_sub_sa_name,s.add_sub_sa_time," + + "p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img " + + "from kjd.third_product_select s left join kjd.third_product p on s.out_product_id=p.id where 1=1"; + + sql += where; // where子句 + + 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) + { + ProductSelectResultParam prodSelect = new ProductSelectResultParam() + { + id = row["id"].ParseToInt(), + out_product_Id = row["out_product_Id"].ParseToString(), + shop_account = row["shop_account"].ParseToString(), + shop_id = row["shop_id"].ParseToString(), + status = row["status"].ParseToString(), + sub_user_name = row["sub_user_name"].ParseToString(), + user_name = row["user_name"].ParseToString(), + cat_id = row["cat_id"].ParseToString(), + cat_name = row["cat_name"].ParseToString(), + product_name = row["product_name"].ParseToString(), + main_img = row["main_img"].ParseToString(), + ext_code = row["ext_code"].ParseToString(), + add_time = Convert.ToDateTime(row["add_time"]), + mdy_time = Convert.ToDateTime(row["mdy_time"]), + notes = row["notes"].ParseToString(), + draft_id = row["draft_id"].ParseToString(), + add_times = row["add_times"].ParseToInt(), + skc_id = row["skc_id"].ToString(), + spu_id = row["spu_id"].ToString(), + operate_sub_sa_name = row["operate_sub_sa_name"].ToString() + //product_json = row["product_json"].ToString(), + //size_json = row["size_json"].ToString(), + }; + prodSelect.add_sub_sa_time = row["add_sub_sa_time"] as DateTime?; + productLst.Add(prodSelect); + } + var data = JsonUtils.SerializerObjectToString(productLst); + return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + "}"; + } + catch (Exception ex) + { + return "{\"code\":500,\"msg\":\"" + ex.Message + "\",\"data\":[],\"count\":" + 0 + "}"; + } + } + else + { + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"data\":[],\"count\":" + 0 + "}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + + public string DelSelectProd(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'"); + + if (string.IsNullOrEmpty(user_name)) + { + return "{\"code\":500,\"msg\":\"没有用户名\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "delete from kjd.third_product_select 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 SetSelectProductSubSa(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + if (string.IsNullOrEmpty(user_name)) + { + return "{\"code\":50001,\"msg\":\"没有用户名\"}"; + } + + var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'"); + var shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id")?.Replace("'", "\\'"); + var operate_sub_sa_name = RegexUtils.GetStringQuery(ref inputData, "operate_sub_sa_name")?.Replace("'", "\\'"); + var status = RegexUtils.GetStringQuery(ref inputData, "status")?.Replace("'", "\\'"); + + if (string.IsNullOrEmpty(id) && string.IsNullOrEmpty(shop_id)) + { + return "{\"code\":50002,\"msg\":\"未选择任何待上传\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "update kjd.third_product_select set"; + if (operate_sub_sa_name != null) + sql += " operate_sub_sa_name='" + operate_sub_sa_name + "',"; + sql += " add_sub_sa_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',"; + sql = sql.TrimEnd(','); + if (!string.IsNullOrEmpty(id)) + sql += " where id in (" + id + ")"; + else if (!string.IsNullOrEmpty(shop_id)) + sql += " where shop_id in ('" + shop_id.Replace(",","','") + "')"; + else + sql += " where 1=2"; + if(!string.IsNullOrEmpty(status)) + sql += " and status='" + status + "';"; + 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/ShopManage.cs b/KJDService/KJD_WebService/BLL/ShopManage.cs index 2c96d02..c484c00 100644 --- a/KJDService/KJD_WebService/BLL/ShopManage.cs +++ b/KJDService/KJD_WebService/BLL/ShopManage.cs @@ -19,10 +19,10 @@ namespace KJD_Web.BLL { var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); var password = RegexUtils.GetStringQuery(ref inputData, "password"); + var search_id = RegexUtils.GetStringQuery(ref inputData, "search_id"); var search_user_name = RegexUtils.GetStringQuery(ref inputData, "search_user_name"); var search_login_name = RegexUtils.GetStringQuery(ref inputData, "search_login_name"); var search_notes = RegexUtils.GetStringQuery(ref inputData, "search_notes"); - var search_id = RegexUtils.GetStringQuery(ref inputData, "search_id"); var search_name = RegexUtils.GetStringQuery(ref inputData, "search_name"); var operate_sub_sa_name = RegexUtils.GetStringQuery(ref inputData, "operate_sub_sa_name")?.Replace("'", "\\'"); diff --git a/KJDService/KJD_WebService/Global.asax.cs b/KJDService/KJD_WebService/Global.asax.cs index ac2ef31..4b239ae 100644 --- a/KJDService/KJD_WebService/Global.asax.cs +++ b/KJDService/KJD_WebService/Global.asax.cs @@ -43,6 +43,11 @@ namespace KJD_Web hPath = hPath.Replace("/product/", "/ProductService.asmx/"); Context.RewritePath(hPath); } + else if (!hPath.Contains(".asmx") && hPath.Contains("/product_third/")) + { + hPath = hPath.Replace("/product_third/", "/ProductThirdService.asmx/"); + Context.RewritePath(hPath); + } } protected void Application_AuthenticateRequest(object sender, EventArgs e) diff --git a/KJDService/KJD_WebService/KJD_WebService.csproj b/KJDService/KJD_WebService/KJD_WebService.csproj index fdc7126..b61a165 100644 --- a/KJDService/KJD_WebService/KJD_WebService.csproj +++ b/KJDService/KJD_WebService/KJD_WebService.csproj @@ -77,6 +77,7 @@ + @@ -84,6 +85,7 @@ + @@ -97,6 +99,10 @@ + + ProductThirdService.asmx + Component + ProductService.asmx diff --git a/KJDService/KJD_WebService/ProductThirdService.asmx b/KJDService/KJD_WebService/ProductThirdService.asmx new file mode 100644 index 0000000..01200d9 --- /dev/null +++ b/KJDService/KJD_WebService/ProductThirdService.asmx @@ -0,0 +1 @@ +<%@ WebService Language="C#" CodeBehind="ProductThirdService.asmx.cs" Class="KJD_Web.ProductThirdService" %> diff --git a/KJDService/KJD_WebService/ProductThirdService.asmx.cs b/KJDService/KJD_WebService/ProductThirdService.asmx.cs new file mode 100644 index 0000000..b770888 --- /dev/null +++ b/KJDService/KJD_WebService/ProductThirdService.asmx.cs @@ -0,0 +1,197 @@ +using KJD_Web.BLL; +using KJD_Web.Utils; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Web; +using System.Web.Services; + +namespace KJD_Web +{ + /// + /// ProductThirdService 的摘要说明 + /// + [WebService(Namespace = "http://tempuri.org/")] + [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] + [System.ComponentModel.ToolboxItem(false)] + // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 + // [System.Web.Script.Services.ScriptService] + public class ProductThirdService : System.Web.Services.WebService + { + private string GetRequestJsonString() + { + Context.Response.ContentType = "text/html;charset=utf-8"; + Context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); + + using (Stream s = HttpContext.Current.Request.InputStream) // 获得json 字符流 + { + // 还原数据流 + byte[] b = new byte[s.Length]; + s.Read(b, 0, (int)s.Length); + string jsonText = Encoding.UTF8.GetString(b); // JSON字符串 + if (string.IsNullOrEmpty(jsonText)) + { + var qs = HttpContext.Current.Request.QueryString; + if (qs != null && qs.Keys.Count > 0) + { + jsonText = "{"; + foreach (var key in qs.Keys) + { + jsonText += "\"" + key + "\":" + "\"" + qs[key.ToString()] + "\";"; + } + jsonText = jsonText.TrimEnd(';') + "}"; + } + } + return jsonText; + } + } + + [WebMethod] + public void get_product_list() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductThirdManage().GetProductList(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + + [WebMethod] + public void get_product_detail_list() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductThirdManage().GetProductList(jsontext, true); + + Context.Response.Write(result); + Context.Response.End(); + } + + [WebMethod] + public void add_product() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductThirdManage().AddProduct(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + + [WebMethod] + public void del_db_product() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductThirdManage().DelDbProd(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + + //[WebMethod] + //public void mdy_product() + //{ + // string jsontext = GetRequestJsonString(); + + // var result = jsontext; + // //result = new ProductThridManage().MdyShop(jsontext); + + // Context.Response.Write(result); + // Context.Response.End(); + //} + + [WebMethod] + public void mdy_product_notes() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductThirdManage().MdyProductNotes(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + + + [WebMethod] + public void add_user_select_product() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductThirdManage().AddUserSelectProduct(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + + [WebMethod] + public void mdy_user_select_product_status() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductThirdManage().MdyUserSelectProductStatus(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + + [WebMethod] + public void get_user_select_product_list() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductThirdManage().GetUserSelectProductList(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + + + [WebMethod] + public void admin_get_user_select_product_list() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductThirdManage().GetUserSelectProductList(jsontext, true); + + Context.Response.Write(result); + Context.Response.End(); + } + + [WebMethod] + public void del_select_product() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductThirdManage().DelSelectProd(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + + [WebMethod] + public void set_select_product_sub_sa() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductThirdManage().SetSelectProductSubSa(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + } +} diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index 9fc34e7..d7933df 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -209,6 +209,12 @@ InitForm.cs + + Form + + + AdminShopAddSubSaForm.cs + Form @@ -227,12 +233,6 @@ AdminAccountForm.cs - - Form - - - AdminShopAddSubSaForm.cs - Form @@ -319,11 +319,11 @@ DbProductSelectListManageForm.cs - + Form - - DbProductSelectListSubSaForm.cs + + ProductSelectSetSubSaForm.cs Form @@ -331,6 +331,24 @@ UserSelectDbProductForm.cs + + Form + + + ProductSelectAddShopForm.cs + + + Form + + + ProductThirdSelectListManageForm.cs + + + Form + + + UserSelectThirdProductForm.cs + Form @@ -885,15 +903,15 @@ AdminAccountForm.cs + + AdminShopAddSubSaForm.cs + AdminShopLoginForm.cs AdminShopForm.cs - - AdminShopAddSubSaForm.cs - BaseForm.cs @@ -936,12 +954,21 @@ DbProductSelectListManageForm.cs - - DbProductSelectListSubSaForm.cs + + ProductSelectSetSubSaForm.cs UserSelectDbProductForm.cs + + ProductSelectAddShopForm.cs + + + ProductThirdSelectListManageForm.cs + + + UserSelectThirdProductForm.cs + FullMinusActiveForm.cs diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs index f5336d4..996cd37 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs @@ -217,7 +217,7 @@ namespace TemuKJD.KJDForms.AdminForms BaseMsgForm.ShowInfo("复制成功"); break; case "导入Cookies": - ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop); + ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop, SetCookieFromEnum.sa); updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete; updateCookieForm.ShowDialog(); break; diff --git a/TEMUKJD/KJDForms/AdminForms/ShopBrowserObject.cs b/TEMUKJD/KJDForms/AdminForms/ShopBrowserObject.cs index 5ae6680..18a42dc 100644 --- a/TEMUKJD/KJDForms/AdminForms/ShopBrowserObject.cs +++ b/TEMUKJD/KJDForms/AdminForms/ShopBrowserObject.cs @@ -1,4 +1,5 @@ using AllBase; +using AllBase.Helper; using AllBase.Model.Result; using NaiBa.Util.Extension; using Newtonsoft.Json.Linq; @@ -9,6 +10,9 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.KJDForms.BaseForms; +using TemuKJD.KJDForms.ProductThirdSelectForms; +using TemuKJD.KJDForms.ShopForms; +using Work; namespace TemuKJD.KJDForms.AdminForms { @@ -65,32 +69,12 @@ namespace TemuKJD.KJDForms.AdminForms } } - var cat = product.categories.cat10; - if (string.IsNullOrWhiteSpace(cat.catName)) - cat = product.categories.cat9; - if (string.IsNullOrWhiteSpace(cat.catName)) - cat = product.categories.cat8; - if (string.IsNullOrWhiteSpace(cat.catName)) - cat = product.categories.cat7; - if (string.IsNullOrWhiteSpace(cat.catName)) - cat = product.categories.cat6; - if (string.IsNullOrWhiteSpace(cat.catName)) - cat = product.categories.cat5; - if (string.IsNullOrWhiteSpace(cat.catName)) - cat = product.categories.cat4; - if (string.IsNullOrWhiteSpace(cat.catName)) - cat = product.categories.cat3; - if (string.IsNullOrWhiteSpace(cat.catName)) - cat = product.categories.cat2; - if (string.IsNullOrWhiteSpace(cat.catName)) - cat = product.categories.cat1; - var url = BaseClass.BuildObjString("product/add_product"); var data = Work.UserLogin.GetSignaturex() + "&spu_id=" + product?.productId + "&skc_id=" + product?.productSkcList?.FirstOrDefault()?.productSkcId + - "&cat_id=" + cat.catId + - "&cat_name=" + HttpUtility.UrlEncode(cat.catName, Encoding.UTF8) + + "&cat_id=" + GetCat(product).catId + + "&cat_name=" + HttpUtility.UrlEncode(GetCat(product).catName, 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) + @@ -148,6 +132,166 @@ namespace TemuKJD.KJDForms.AdminForms return "success"; } + /// + /// 第三方获取商品并直接提交到第三方待上传列表 + /// + /// + /// + /// + public string getThirdProduct(string sProdId, long supplierId) + { + var prodId = sProdId.ParseToLong(); + if (prodId <= 0) + { + BaseMsgForm.ShowError("商品Id不存在!"); + return "failed"; + } + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == supplierId.ToString()); + if (supplierId <= 0 || shop == null) + { + BaseMsgForm.ShowError("店铺不存在!"); + return "failed"; + } + + Task.Run(() => + { + try + { + var sourceShop = shop; + var sourceProdId = prodId; + string success_err_msg = ""; + string errorMsg = ""; + var html = ProductQuery(sourceShop, sourceProdId.ToString()); + if (!html.Contains("\"success\":true") || !html.Contains("\"result\"")) + { + OnInfoReceived("商品获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg")); + return; + } + + JObject obj = JObject.Parse(html); + var result = JsonHelper.SerializeObject(obj["result"]); + var sizeRst = ""; + TemuProductInfo product = JsonHelper.DeserializeJsonToObject(result); + + if (product.sizeTemplateId > 0) + { + html = SizeSpecQuery(sourceShop, sourceProdId.ToString(), product.sizeTemplateId.ToString()); + if (!html.Contains("\"success\":true")) + { + success_err_msg += " 尺码表获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg"); + } + else + { + obj = JObject.Parse(html); + sizeRst = JsonHelper.SerializeObject(obj["result"]); + } + } + + List shopLst = new List(); + ShopListForm.Instance.Invoke(new Action(() => + { + ProductSelectAddShopForm shopForm = new ProductSelectAddShopForm(); + shopForm.ShowDialog(); + shopLst.AddRange(shopForm.lstSelectShop); + })); + + var url = BaseClass.BuildObjString("product_third/add_product"); + var data = UserLogin.GetSignaturex() + + "&spu_id=" + product?.productId + + "&skc_id=" + product?.productSkcList?.FirstOrDefault()?.productSkcId + + "&cat_id=" + GetCat(product).catId + + "&cat_name=" + HttpUtility.UrlEncode(GetCat(product).catName, 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); + 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")) + { + errorMsg = "选品商品保存失败!请检查网络连接:" + + BaseRegex.GetStringJson(ref html, "msg").Replace("'", "\\'").Replace("\"", "\\\""); + } + var id = BaseRegex.GetLongJson(ref html, "id"); + if (id == 0) + goto end; + + foreach (var addProdShop in shopLst) + { + url = BaseClass.BuildObjString("product_third/add_user_select_product"); + data = UserLogin.GetSignaturex() + + "&out_product_id=" + id + + "&shop_id=" + addProdShop.ShopId + + "&shop_account=" + addProdShop.ShopAccount + + "&main_user_name=" + addProdShop.UserName + + "&sub_user_name=" + addProdShop.SubUserName + + "&add_product_remaining=" + addProdShop.AddProductRemaining + + "&status=待上传"; + 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")) + { + errorMsg += product?.productId + " " + BaseRegex.GetStringJson(ref html, "msg") + "; "; + } + else + { + addProdShop.AddProductRemaining = addProdShop.AddProductRemaining - 1; + } + } + end:; + if (!string.IsNullOrEmpty(errorMsg)) + { + OnInfoReceived(errorMsg); + } + else + { + OnInfoReceived("选品商品保存成功!" + success_err_msg); + } + } + catch (Exception ex) + { + OnInfoReceived("发生错误:" + ex.Message); + } + }); + + return "success"; + } + + TemuCat GetCat(TemuProductInfo product) + { + if (product == null) + return new TemuCat(); + + var cat = product.categories.cat10; + if (string.IsNullOrWhiteSpace(cat.catName)) + cat = product.categories.cat9; + if (string.IsNullOrWhiteSpace(cat.catName)) + cat = product.categories.cat8; + if (string.IsNullOrWhiteSpace(cat.catName)) + cat = product.categories.cat7; + if (string.IsNullOrWhiteSpace(cat.catName)) + cat = product.categories.cat6; + if (string.IsNullOrWhiteSpace(cat.catName)) + cat = product.categories.cat5; + if (string.IsNullOrWhiteSpace(cat.catName)) + cat = product.categories.cat4; + if (string.IsNullOrWhiteSpace(cat.catName)) + cat = product.categories.cat3; + if (string.IsNullOrWhiteSpace(cat.catName)) + cat = product.categories.cat2; + if (string.IsNullOrWhiteSpace(cat.catName)) + cat = product.categories.cat1; + + return cat; + } + private string ProductQuery(ShopLoginInfo shop, string prodId) diff --git a/TEMUKJD/KJDForms/ProductForms/ProductForm.Designer.cs b/TEMUKJD/KJDForms/ProductForms/ProductForm.Designer.cs index eaa5fe4..7ae76cd 100644 --- a/TEMUKJD/KJDForms/ProductForms/ProductForm.Designer.cs +++ b/TEMUKJD/KJDForms/ProductForms/ProductForm.Designer.cs @@ -31,18 +31,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("上传错误列表"); - System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("商品管理", 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("上传错误列表"); + System.Windows.Forms.TreeNode treeNode16 = new System.Windows.Forms.TreeNode("商品管理", new System.Windows.Forms.TreeNode[] { treeNode1, treeNode2, treeNode3, @@ -56,7 +57,8 @@ treeNode11, treeNode12, treeNode13, - treeNode14}); + treeNode14, + treeNode15}); this.panel1 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel(); @@ -153,33 +155,35 @@ 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.Text = "云违规排查"; - treeNode13.Name = "跳转上家"; - treeNode13.Tag = "bottom"; - treeNode13.Text = "跳转上家"; - treeNode14.Name = "上传错误列表"; - treeNode14.Text = "上传错误列表"; - treeNode15.Name = "商品管理"; - treeNode15.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.Text = "云违规排查"; + treeNode14.Name = "跳转上家"; + treeNode14.Tag = "bottom"; + treeNode14.Text = "跳转上家"; + treeNode15.Name = "上传错误列表"; + treeNode15.Text = "上传错误列表"; + treeNode16.Name = "商品管理"; + treeNode16.Text = "商品管理"; this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode15}); + treeNode16}); 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; @@ -187,7 +191,6 @@ // // ProductForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.ClientSize = new System.Drawing.Size(934, 521); this.Controls.Add(this.splitContainer1); diff --git a/TEMUKJD/KJDForms/ProductForms/ProductForm.cs b/TEMUKJD/KJDForms/ProductForms/ProductForm.cs index 9e305ec..5ee40ba 100644 --- a/TEMUKJD/KJDForms/ProductForms/ProductForm.cs +++ b/TEMUKJD/KJDForms/ProductForms/ProductForm.cs @@ -13,6 +13,7 @@ using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.KJDForms.ProductSelectForms; using TemuKJD.KJDForms.BaseForms; +using TemuKJD.KJDForms.ProductThirdSelectForms; namespace TemuKJD.KJDForms.ProductForms { @@ -22,6 +23,7 @@ namespace TemuKJD.KJDForms.ProductForms public Lazy saleStockUpForm = new Lazy(); public Lazy priceManageForm = new Lazy(); public Lazy userSelectDbProductForm = new Lazy(); + public Lazy userSelectThirdProductForm = new Lazy(); public Lazy uploadProductForm = new Lazy(); @@ -66,6 +68,9 @@ namespace TemuKJD.KJDForms.ProductForms case "商品认领": SetForm(userSelectDbProductForm.Value); break; + case "库存上传": + SetForm(userSelectThirdProductForm.Value); + break; case "商品发布": SetForm(uploadProductForm.Value); break; diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs index 02e8b87..796b51a 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs @@ -277,7 +277,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms case "导入Cookies": { var shop = GetShop(shopId); - ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop); + ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop, SetCookieFromEnum.sa); updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete; updateCookieForm.ShowDialog(); } @@ -967,7 +967,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms return; } - DbProductSelectListSubSaForm subSaForm = new DbProductSelectListSubSaForm( + ProductSelectSetSubSaForm subSaForm = new ProductSelectSetSubSaForm( prodList.Select(p => p.id.ToString()).ToList(), prodList.Select(p => p.shop_id).ToList() ); diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.Designer.cs b/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectSetSubSaForm.Designer.cs similarity index 99% rename from TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.Designer.cs rename to TEMUKJD/KJDForms/ProductSelectForms/ProductSelectSetSubSaForm.Designer.cs index b2c6149..1dba52b 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.Designer.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectSetSubSaForm.Designer.cs @@ -1,7 +1,7 @@  namespace TemuKJD.KJDForms.ProductSelectForms { - partial class DbProductSelectListSubSaForm + partial class ProductSelectSetSubSaForm { /// /// Required designer variable. @@ -32,7 +32,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms 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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DbProductSelectListSubSaForm)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProductSelectSetSubSaForm)); this.panel2 = new System.Windows.Forms.Panel(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.dgvSaUser = new TemuKJD.UserComponent.DataGridViewEx(); diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectSetSubSaForm.cs similarity index 88% rename from TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.cs rename to TEMUKJD/KJDForms/ProductSelectForms/ProductSelectSetSubSaForm.cs index 7b78aad..08c9eb4 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectSetSubSaForm.cs @@ -15,19 +15,29 @@ using Work; namespace TemuKJD.KJDForms.ProductSelectForms { - public partial class DbProductSelectListSubSaForm : LRBaseForm + public enum SetSubSaType + { + DbProduct, + ThirdProduct, + } + + public partial class ProductSelectSetSubSaForm : LRBaseForm { List lstProductSelectId = new List(); List lstShopSelectId = new List(); + SetSubSaType setSubSaType; List lstSubSa = new List(); - public DbProductSelectListSubSaForm(List ProductSelectIds = null, List ShopSelectIds = null) + public ProductSelectSetSubSaForm(List ProductSelectIds = null, + List ShopSelectIds = null, SetSubSaType type = SetSubSaType.DbProduct) { InitializeComponent(); if (ProductSelectIds != null) lstProductSelectId.AddRange(ProductSelectIds); if (ShopSelectIds != null) lstShopSelectId.AddRange(ShopSelectIds); + + this.setSubSaType = type; } private void btnOk_Click(object sender, EventArgs e) @@ -48,7 +58,11 @@ namespace TemuKJD.KJDForms.ProductSelectForms data.Append("&db_id=" + string.Join(",", lstProductSelectId)); data.Append("&operate_sub_sa_name=" + sub_sa); data.Append("&status=待上传"); - string url = BaseClass.BuildObjString("product/set_select_product_sub_sa"); + string url = ""; + if (setSubSaType == SetSubSaType.DbProduct) + url = BaseClass.BuildObjString("product/set_select_product_sub_sa"); + else + url = BaseClass.BuildObjString("product_third/set_select_product_sub_sa"); string html = GetHtml.PostUtf8(url, data.ToString()).Trim(); if (!string.IsNullOrEmpty(html)) { diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.resx b/TEMUKJD/KJDForms/ProductSelectForms/ProductSelectSetSubSaForm.resx similarity index 100% rename from TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.resx rename to TEMUKJD/KJDForms/ProductSelectForms/ProductSelectSetSubSaForm.resx diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductSelectAddShopForm.Designer.cs b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductSelectAddShopForm.Designer.cs new file mode 100644 index 0000000..e34b4e8 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductSelectAddShopForm.Designer.cs @@ -0,0 +1,213 @@ + +namespace TemuKJD.KJDForms.ProductThirdSelectForms +{ + partial class ProductSelectAddShopForm + { + /// + /// 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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProductSelectAddShopForm)); + this.panel2 = new System.Windows.Forms.Panel(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.dgvSelectShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.btnOk = new TemuKJD.UserControls.ButtonEx(); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colUserName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubUserName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSelectShop)).BeginInit(); + this.SuspendLayout(); + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.Controls.Add(this.splitContainer1); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(1, 33); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(391, 506); + this.panel2.TabIndex = 1; + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + 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.dgvSelectShop); + this.splitContainer1.Panel1.Padding = new System.Windows.Forms.Padding(4); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.btnOk); + this.splitContainer1.Size = new System.Drawing.Size(391, 506); + this.splitContainer1.SplitterDistance = 464; + this.splitContainer1.TabIndex = 190; + // + // dgvSelectShop + // + this.dgvSelectShop.AllowUserToAddRows = false; + this.dgvSelectShop.AllowUserToDeleteRows = false; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSelectShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.dgvSelectShop.BackgroundColor = System.Drawing.Color.White; + this.dgvSelectShop.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.dgvSelectShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + this.dgvSelectShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvSelectShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colSelect, + this.colUserName, + this.colSubUserName, + this.colShopId, + this.colShopName, + this.colShopNotes}); + this.dgvSelectShop.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvSelectShop.Location = new System.Drawing.Point(4, 4); + this.dgvSelectShop.Name = "dgvSelectShop"; + this.dgvSelectShop.ReadOnly = true; + this.dgvSelectShop.RowHeadersWidth = 51; + this.dgvSelectShop.RowTemplate.Height = 23; + this.dgvSelectShop.Size = new System.Drawing.Size(383, 456); + this.dgvSelectShop.TabIndex = 189; + this.dgvSelectShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSaUser_CellContentClick); + // + // btnOk + // + this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + 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(321, 1); + this.btnOk.Margin = new System.Windows.Forms.Padding(2); + this.btnOk.Name = "btnOk"; + this.btnOk.Size = new System.Drawing.Size(66, 26); + this.btnOk.TabIndex = 374; + this.btnOk.Text = "确定"; + this.btnOk.UseVisualStyleBackColor = false; + this.btnOk.Click += new System.EventHandler(this.btnOk_Click); + // + // colSelect + // + this.colSelect.HeaderText = "选择"; + this.colSelect.MinimumWidth = 6; + 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 = 30; + // + // colUserName + // + this.colUserName.HeaderText = "用户名称"; + this.colUserName.MinimumWidth = 6; + this.colUserName.Name = "colUserName"; + this.colUserName.ReadOnly = true; + this.colUserName.Visible = false; + this.colUserName.Width = 125; + // + // colSubUserName + // + this.colSubUserName.HeaderText = "子账户名称"; + this.colSubUserName.Name = "colSubUserName"; + this.colSubUserName.ReadOnly = true; + this.colSubUserName.Visible = false; + this.colSubUserName.Width = 150; + // + // colShopId + // + this.colShopId.HeaderText = "店铺Id"; + this.colShopId.Name = "colShopId"; + this.colShopId.ReadOnly = true; + // + // colShopName + // + this.colShopName.HeaderText = "店铺名称"; + this.colShopName.Name = "colShopName"; + this.colShopName.ReadOnly = true; + // + // colShopNotes + // + this.colShopNotes.HeaderText = "店铺备注"; + this.colShopNotes.Name = "colShopNotes"; + this.colShopNotes.ReadOnly = true; + // + // ProductSelectAddShopForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(393, 540); + this.Controls.Add(this.panel2); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "ProductSelectAddShopForm"; + this.Text = "选择目标店铺"; + this.TitleText = "选择目标店铺"; + this.Load += new System.EventHandler(this.ProductSelectAddShopForm_Load); + this.Controls.SetChildIndex(this.panel2, 0); + this.panel2.ResumeLayout(false); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvSelectShop)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel2; + private UserComponent.DataGridViewEx dgvSelectShop; + private System.Windows.Forms.SplitContainer splitContainer1; + private UserControls.ButtonEx btnOk; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colUserName; + private System.Windows.Forms.DataGridViewTextBoxColumn colSubUserName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes; + } +} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductSelectAddShopForm.cs b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductSelectAddShopForm.cs new file mode 100644 index 0000000..6ca1270 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductSelectAddShopForm.cs @@ -0,0 +1,90 @@ +using AllBase; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.KJDForms.BaseForms; +using TemuKJD.KJDForms.ShopForms; +using Work; + +/// +/// 第三方搬货选择 +/// +namespace TemuKJD.KJDForms.ProductThirdSelectForms +{ + public partial class ProductSelectAddShopForm : LRBaseForm + { + public List lstSelectShop = new List(); + List lstShop = new List(); + public ProductSelectAddShopForm() + { + InitializeComponent(); + } + + private void btnOk_Click(object sender, EventArgs e) + { + var shopIds = this.dgvSelectShop.Rows.Cast() + .Where(r => r.Cells["colSelect"].Value.ParseToBool() == true) + .Select(r => r.Cells["colShopId"].Value.ToString()).ToList(); + + var shops = lstShop.Where(s => shopIds.Contains(s.ShopId)).ToList(); + + if (shopIds.Count == 0 || shops.Count == 0) + { + BaseMsgForm.ShowError("请选择要上传的店铺!"); + return; + } + + lstSelectShop.Clear(); + lstSelectShop.AddRange(shops); + + OnSaveComplete(shops); + this.Close(); + } + + private void ProductSelectAddShopForm_Load(object sender, EventArgs e) + { + dgvSelectShop.Rows.Clear(); + lstShop.Clear(); + + lstShop = ShopListForm.GetServerShop().Where(s=>!string.IsNullOrEmpty(s.ShopId)).ToList(); + foreach (var shop in lstShop) + { + dgvSelectShop.Rows.Add( + false, + shop.UserName, + shop.SubUserName, + shop.ShopId, + shop.ShopAccount, + shop.Notes); + } + } + + private void dgvSaUser_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + + //string columnName = dgvSaUser.Columns[e.ColumnIndex].Name; + //switch (columnName) + //{ + // case "colSelect": + var value = dgvSelectShop.Rows[e.RowIndex].Cells["colSelect"].Value; + //foreach (DataGridViewRow row in this.dgvSelectShop.Rows) + // row.Cells["colSelect"].Value = false; + dgvSelectShop.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)value; + // break; + // default: + // break; + //} + } + } +} diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductSelectAddShopForm.resx b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductSelectAddShopForm.resx new file mode 100644 index 0000000..49398b0 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductSelectAddShopForm.resx @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + 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/ProductThirdSelectForms/ProductThirdSelectListManageForm.Designer.cs b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.Designer.cs new file mode 100644 index 0000000..4375794 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.Designer.cs @@ -0,0 +1,694 @@ +namespace TemuKJD.KJDForms.ProductThirdSelectForms +{ + partial class ProductThirdSelectListManageForm + { + /// + /// 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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProductThirdSelectListManageForm)); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.chkNoSubSa = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.btnSetSubSa = new TemuKJD.UserControls.ButtonEx(); + this.cmbStatus = new System.Windows.Forms.ComboBox(); + this.label8 = new System.Windows.Forms.Label(); + this.txtShopName = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.txtShopId = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.btnAdd = new TemuKJD.UserControls.ButtonEx(); + 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.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.colSelect = 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.colInShop = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colLogin = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colImportCookies = new System.Windows.Forms.DataGridViewLinkColumn(); + 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.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colStatus = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDraftId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMdyTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubSa = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); + ((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.dgvSelectProduct)).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.chkNoSubSa); + this.splitContainer1.Panel1.Controls.Add(this.btnSetSubSa); + this.splitContainer1.Panel1.Controls.Add(this.cmbStatus); + this.splitContainer1.Panel1.Controls.Add(this.label8); + this.splitContainer1.Panel1.Controls.Add(this.txtShopName); + this.splitContainer1.Panel1.Controls.Add(this.label7); + this.splitContainer1.Panel1.Controls.Add(this.txtShopId); + this.splitContainer1.Panel1.Controls.Add(this.label6); + this.splitContainer1.Panel1.Controls.Add(this.btnAdd); + 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(1438, 638); + this.splitContainer1.SplitterDistance = 53; + this.splitContainer1.TabIndex = 2; + // + // chkNoSubSa + // + this.chkNoSubSa.AutoSize = true; + this.chkNoSubSa.Location = new System.Drawing.Point(1167, 17); + this.chkNoSubSa.Name = "chkNoSubSa"; + this.chkNoSubSa.Size = new System.Drawing.Size(123, 21); + this.chkNoSubSa.TabIndex = 467; + this.chkNoSubSa.Text = "仅显示未分配超管"; + this.chkNoSubSa.UseVisualStyleBackColor = true; + // + // btnSetSubSa + // + this.btnSetSubSa.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnSetSubSa.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSetSubSa.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSetSubSa.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnSetSubSa.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSetSubSa.ForeColor = System.Drawing.Color.White; + this.btnSetSubSa.Location = new System.Drawing.Point(1240, 14); + this.btnSetSubSa.Margin = new System.Windows.Forms.Padding(2); + this.btnSetSubSa.Name = "btnSetSubSa"; + this.btnSetSubSa.Size = new System.Drawing.Size(91, 26); + this.btnSetSubSa.TabIndex = 463; + this.btnSetSubSa.Text = "分配二级超管"; + this.btnSetSubSa.UseVisualStyleBackColor = false; + this.btnSetSubSa.Click += new System.EventHandler(this.btnSetSubSa_Click); + // + // cmbStatus + // + this.cmbStatus.FormattingEnabled = true; + this.cmbStatus.Items.AddRange(new object[] { + "待上传", + "已上传", + "全部"}); + this.cmbStatus.Location = new System.Drawing.Point(946, 15); + this.cmbStatus.Name = "cmbStatus"; + this.cmbStatus.Size = new System.Drawing.Size(85, 25); + this.cmbStatus.TabIndex = 459; + this.cmbStatus.Text = "待上传"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(889, 19); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(68, 17); + this.label8.TabIndex = 458; + this.label8.Text = "认领状态:"; + // + // txtShopName + // + this.txtShopName.Location = new System.Drawing.Point(192, 16); + this.txtShopName.Name = "txtShopName"; + this.txtShopName.Size = new System.Drawing.Size(85, 23); + this.txtShopName.TabIndex = 451; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(135, 19); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(68, 17); + this.label7.TabIndex = 452; + this.label7.Text = "店铺名称:"; + // + // txtShopId + // + this.txtShopId.Location = new System.Drawing.Point(46, 16); + this.txtShopId.Name = "txtShopId"; + this.txtShopId.Size = new System.Drawing.Size(85, 23); + this.txtShopId.TabIndex = 448; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(1, 19); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(56, 17); + this.label6.TabIndex = 449; + this.label6.Text = "店铺Id:"; + // + // btnAdd + // + this.btnAdd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnAdd.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAdd.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnAdd.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnAdd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnAdd.ForeColor = System.Drawing.Color.White; + this.btnAdd.Location = new System.Drawing.Point(1341, 14); + this.btnAdd.Margin = new System.Windows.Forms.Padding(2); + this.btnAdd.Name = "btnAdd"; + this.btnAdd.Size = new System.Drawing.Size(91, 26); + this.btnAdd.TabIndex = 444; + this.btnAdd.Text = "一键上传草稿"; + this.btnAdd.UseVisualStyleBackColor = false; + this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); + // + // txtSPU + // + this.txtSPU.Location = new System.Drawing.Point(313, 16); + this.txtSPU.Name = "txtSPU"; + this.txtSPU.Size = new System.Drawing.Size(85, 23); + this.txtSPU.TabIndex = 434; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(281, 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(434, 16); + this.txtSKC.Name = "txtSKC"; + this.txtSKC.Size = new System.Drawing.Size(85, 23); + this.txtSKC.TabIndex = 432; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(402, 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(1100, 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(1039, 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(800, 16); + this.txtExtCode.Name = "txtExtCode"; + this.txtExtCode.Size = new System.Drawing.Size(85, 23); + this.txtExtCode.TabIndex = 429; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(767, 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(678, 16); + this.txtProdName.Name = "txtProdName"; + this.txtProdName.Size = new System.Drawing.Size(85, 23); + this.txtProdName.TabIndex = 427; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(645, 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(556, 16); + this.txtCat.Name = "txtCat"; + this.txtCat.Size = new System.Drawing.Size(85, 23); + this.txtCat.TabIndex = 425; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(523, 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.dgvSelectProduct); + 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(1438, 581); + this.splitContainer2.SplitterDistance = 552; + 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(694, 235); + 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; + // + // dgvSelectProduct + // + this.dgvSelectProduct.AllowUserToAddRows = false; + this.dgvSelectProduct.AllowUserToDeleteRows = false; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White; + this.dgvSelectProduct.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.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colSelect, + this.colSelectId, + this.colSupplierId, + this.colSupplierName, + this.colInShop, + this.colLogin, + this.colImportCookies, + this.colSpuId, + this.colSkcId, + this.colProductSkcPic, + this.colProductName, + this.colProductCat, + this.colExtCode, + this.colStatus, + this.colDraftId, + this.colMdyTime, + this.colSubSa, + this.ColDelete, + this.colOpResult}); + this.dgvSelectProduct.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvSelectProduct.Location = new System.Drawing.Point(4, 0); + this.dgvSelectProduct.Name = "dgvSelectProduct"; + this.dgvSelectProduct.ReadOnly = true; + this.dgvSelectProduct.RowHeadersWidth = 51; + this.dgvSelectProduct.RowTemplate.Height = 23; + this.dgvSelectProduct.Size = new System.Drawing.Size(1430, 552); + this.dgvSelectProduct.TabIndex = 188; + this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick); + // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; + this.ucSplitPage1.Location = new System.Drawing.Point(1076, 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(1438, 25); + this.statusBar.TabIndex = 5; + // + // colSelect + // + this.colSelect.HeaderText = "选择"; + this.colSelect.MinimumWidth = 6; + 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 = 30; + // + // colSelectId + // + this.colSelectId.HeaderText = "认领Id"; + this.colSelectId.MinimumWidth = 6; + this.colSelectId.Name = "colSelectId"; + this.colSelectId.ReadOnly = true; + this.colSelectId.Visible = false; + this.colSelectId.Width = 125; + // + // colSupplierId + // + this.colSupplierId.HeaderText = "店铺Id"; + this.colSupplierId.MinimumWidth = 6; + this.colSupplierId.Name = "colSupplierId"; + this.colSupplierId.ReadOnly = true; + this.colSupplierId.Width = 125; + // + // colSupplierName + // + this.colSupplierName.HeaderText = "店铺名称"; + this.colSupplierName.MinimumWidth = 6; + this.colSupplierName.Name = "colSupplierName"; + this.colSupplierName.ReadOnly = true; + this.colSupplierName.Width = 110; + // + // colInShop + // + this.colInShop.HeaderText = "进店"; + this.colInShop.MinimumWidth = 6; + this.colInShop.Name = "colInShop"; + this.colInShop.ReadOnly = true; + this.colInShop.Width = 45; + // + // colLogin + // + this.colLogin.HeaderText = "登录"; + this.colLogin.MinimumWidth = 6; + this.colLogin.Name = "colLogin"; + this.colLogin.ReadOnly = true; + this.colLogin.Width = 45; + // + // colImportCookies + // + this.colImportCookies.HeaderText = "导入Cookies"; + this.colImportCookies.Name = "colImportCookies"; + this.colImportCookies.ReadOnly = true; + this.colImportCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colImportCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colImportCookies.Width = 85; + // + // colSpuId + // + this.colSpuId.HeaderText = "商品SPU"; + this.colSpuId.MinimumWidth = 6; + this.colSpuId.Name = "colSpuId"; + this.colSpuId.ReadOnly = true; + this.colSpuId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSpuId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSpuId.Width = 90; + // + // colSkcId + // + this.colSkcId.FillWeight = 150F; + this.colSkcId.HeaderText = "商品SKC"; + this.colSkcId.MinimumWidth = 6; + 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.MinimumWidth = 6; + this.colProductSkcPic.Name = "colProductSkcPic"; + this.colProductSkcPic.ReadOnly = true; + this.colProductSkcPic.Width = 60; + // + // colProductName + // + this.colProductName.HeaderText = "商品标题"; + this.colProductName.MinimumWidth = 6; + this.colProductName.Name = "colProductName"; + this.colProductName.ReadOnly = true; + this.colProductName.Width = 260; + // + // colProductCat + // + this.colProductCat.HeaderText = "商品类目"; + this.colProductCat.MinimumWidth = 6; + this.colProductCat.Name = "colProductCat"; + this.colProductCat.ReadOnly = true; + this.colProductCat.Width = 90; + // + // colExtCode + // + this.colExtCode.HeaderText = "商品货号"; + this.colExtCode.MinimumWidth = 6; + this.colExtCode.Name = "colExtCode"; + this.colExtCode.ReadOnly = true; + this.colExtCode.Width = 125; + // + // colStatus + // + this.colStatus.HeaderText = "状态"; + this.colStatus.MinimumWidth = 6; + this.colStatus.Name = "colStatus"; + this.colStatus.ReadOnly = true; + this.colStatus.Width = 80; + // + // colDraftId + // + this.colDraftId.HeaderText = "草稿箱Id"; + this.colDraftId.MinimumWidth = 6; + this.colDraftId.Name = "colDraftId"; + this.colDraftId.ReadOnly = true; + this.colDraftId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.colDraftId.Width = 125; + // + // colMdyTime + // + this.colMdyTime.HeaderText = "上传时间"; + this.colMdyTime.MinimumWidth = 6; + this.colMdyTime.Name = "colMdyTime"; + this.colMdyTime.ReadOnly = true; + this.colMdyTime.Width = 120; + // + // colSubSa + // + this.colSubSa.HeaderText = "二级超管"; + this.colSubSa.Name = "colSubSa"; + this.colSubSa.ReadOnly = true; + // + // ColDelete + // + this.ColDelete.HeaderText = "删除"; + this.ColDelete.MinimumWidth = 6; + this.ColDelete.Name = "ColDelete"; + this.ColDelete.ReadOnly = true; + this.ColDelete.Visible = false; + this.ColDelete.Width = 125; + // + // colOpResult + // + this.colOpResult.HeaderText = "操作结果"; + this.colOpResult.MinimumWidth = 6; + this.colOpResult.Name = "colOpResult"; + this.colOpResult.ReadOnly = true; + this.colOpResult.Width = 150; + // + // ProductThirdSelectListManageForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(1440, 672); + 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 = "ProductThirdSelectListManageForm"; + this.Text = "商品待上传"; + this.TitleText = "商品待上传"; + this.Load += new System.EventHandler(this.DbProductSelectListForm_Load); + this.VisibleChanged += new System.EventHandler(this.ProductThirdSelectListManageForm_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.dgvSelectProduct)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.SplitContainer splitContainer1; + private UserControls.ButtonEx btnAdd; + 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 System.Windows.Forms.SplitContainer splitContainer2; + private System.Windows.Forms.PictureBox pbLoading; + private UserControls.UcSplitPage ucSplitPage1; + private UserControls.StatusBarUserControl statusBar; + private System.Windows.Forms.TextBox txtShopName; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.TextBox txtShopId; + private System.Windows.Forms.Label label6; + private UserComponent.DataGridViewEx dgvSelectProduct; + private System.Windows.Forms.ComboBox cmbStatus; + private System.Windows.Forms.Label label8; + private UserControls.ButtonEx btnSetSubSa; + private UserComponent.UcCheckBox chkNoSubSa; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName; + private System.Windows.Forms.DataGridViewLinkColumn colInShop; + private System.Windows.Forms.DataGridViewLinkColumn colLogin; + private System.Windows.Forms.DataGridViewLinkColumn colImportCookies; + 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.DataGridViewTextBoxColumn colExtCode; + private System.Windows.Forms.DataGridViewTextBoxColumn colStatus; + private System.Windows.Forms.DataGridViewTextBoxColumn colDraftId; + private System.Windows.Forms.DataGridViewTextBoxColumn colMdyTime; + private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa; + private System.Windows.Forms.DataGridViewLinkColumn ColDelete; + private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult; + } +} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs new file mode 100644 index 0000000..0529cdb --- /dev/null +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs @@ -0,0 +1,1017 @@ +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 System.IO; +using System.Net; +using AllBase; +using Work; +using NaiBa.Util.Extension; +using Newtonsoft.Json.Linq; +using TemuKJD.Extension; +using AllBase.Model.Param.TemuProductManage; +using System.Threading; +using TemuKJD.KJDForms.AdminForms; +using TemuKJD.KJDForms.ShopForms; +using TemuKJD.KJDForms.ProductSelectForms; + +namespace TemuKJD.KJDForms.ProductThirdSelectForms +{ + public partial class ProductThirdSelectListManageForm : LRBaseForm + { + List lstAdminTemuDBProductSelect = new List(); + List shopLst = new List(); + + public ProductThirdSelectListManageForm() + { + InitializeComponent(); + } + + private void DbProductSelectListForm_Load(object sender, EventArgs e) + { + this.ucSplitPage1.PageChange += UcSplitPage1_PageChange; + this.dgvSelectProduct.AddSelectorColumn("colSelect"); + + if (BaseClass.SaLevel != 1) + { + dgvSelectProduct.Columns["colSubSa"].Visible = false; + btnSetSubSa.Visible = false; + chkNoSubSa.Visible = false; + } + } + + private void ProductThirdSelectListManageForm_VisibleChanged(object sender, EventArgs e) + { + if (this.Visible == true) + { + this.pbLoading.Visible = true; + SearchDbProdSelect(this.ucSplitPage1.CurrentPage); + } + } + + private void UcSplitPage1_PageChange(object obj) + { + SearchDbProdSelect(this.ucSplitPage1.CurrentPage); + } + + private void btnSearch_Click(object sender, EventArgs e) + { + if (this.ucSplitPage1.CurrentPage != 1) + this.ucSplitPage1.CurrentPage = 1; + else + SearchDbProdSelect(1); + } + + + public void SearchDbProdSelect(int page) + { + if (InvokeRequired) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.dgvSelectProduct.Rows.Clear(); + lstAdminTemuDBProductSelect.Clear(); + })); + } + else + { + this.pbLoading.Visible = true; + this.dgvSelectProduct.Rows.Clear(); + lstAdminTemuDBProductSelect.Clear(); + } + Task.Run(() => + { + int pageCount; + var list = GetSelectProductList(out pageCount, page, 200); + lstAdminTemuDBProductSelect.AddRange(list); + this.ucSplitPage1.TotalPage = pageCount; + + foreach (var prodSelect in lstAdminTemuDBProductSelect) + { + Image image = null; + try + { + if (!string.IsNullOrEmpty(prodSelect?.main_img)) + { + using (Stream stream = WebRequest.Create(prodSelect.main_img.Replace("https", "http")).GetResponse().GetResponseStream()) + { + image = Image.FromStream(stream); + } + } + } + catch (Exception ex) + { + } + Invoke(new Action(() => + { + int rowIndex = this.dgvSelectProduct.Rows.Add( + false, + prodSelect.id, + prodSelect.shop_id, + prodSelect.shop_account, + "进店", + "登录", + "导入Cookies", + prodSelect.spu_id, + prodSelect.skc_id, + image,//prod.main_img, + prodSelect.product_name, + prodSelect.cat_name, + prodSelect.ext_code, + prodSelect.status, + prodSelect.draft_id, + prodSelect.status == "待上传" ? "-" : prodSelect.mdy_time.ToString("yyyy/MM/dd HH:mm:ss"), + prodSelect.operate_sub_sa_name == "" ? "-" : prodSelect.operate_sub_sa_name, + "删除", + ""); + + dgvSelectProduct.Rows[rowIndex].Height = 60; + })); + } + + Invoke(new Action(() => + { + this.pbLoading.Visible = false; + })); + }); + } + + + public List GetSelectProductList(out int pageCount, int page = 1, int pageSize = 50) + { + List list = new List(); + pageCount = 1; + + var url = BaseClass.BuildObjString("product_third/admin_get_user_select_product_list"); + var data = ""; + Invoke(new Action(() => + { + data = UserLogin.GetSignaturex() + + "&page=" + page + + "&page_size=" + pageSize + + "&search_spu=" + txtSPU.Text + + "&search_skc=" + txtSKC.Text + + "&search_cat=" + txtCat.Text + + "&search_ext_code=" + txtExtCode.Text + + "&search_prod_name=" + txtProdName.Text + + "&search_shop_id=" + txtShopId.Text + + "&search_shop_account=" + txtShopName.Text + + "&status=" + (cmbStatus.Text == "全部" ? "" : cmbStatus.Text); + if (BaseClass.SaLevel > 1) + data += "&operate_sub_sa_name=" + BaseClass.UserName; + if (chkNoSubSa.Checked) + data += "&no_sub_sa=true"; + })); + 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")) + { + Invoke(new Action(() => + { + BaseMsgForm.ShowError("认领商品查询失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); + })); + return new 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 pnlEmpty_Click(object sender, EventArgs e) + { + this.txtCat.Text = ""; + this.txtExtCode.Text = ""; + this.txtProdName.Text = ""; + this.txtShopId.Text = ""; + this.txtShopName.Text = ""; + this.txtSKC.Text = ""; + this.txtSPU.Text = ""; + this.cmbStatus.Text = "待上传"; + } + + private void dgvSelectProduct_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + string headerText = dgvSelectProduct.Columns[e.ColumnIndex].HeaderText; + var dbId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSelectId"].Value.ParseToString(); + var dbProduct = lstAdminTemuDBProductSelect.FirstOrDefault(p => p.id.ToString() == dbId); + var shopId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString(); + var draftId = dgvSelectProduct.Rows[e.RowIndex].Cells["colDraftId"].Value.ParseToString(); + + 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 "认领": + //Task.Run(() => { SelectProduct(new TemuDBProduct[] { dbProduct }); }); + break; + case "草稿箱Id": + if (!string.IsNullOrEmpty(draftId)) + { + //var shop = GetShop(shopId); + //AdminShopLoginForm adminLoginForm = new AdminShopLoginForm(shop); + //adminLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" + + // draftId + "&from=productDraftList"; + //adminLoginForm.openType = EnumOpenType.manage; + //adminLoginForm.WindowState = FormWindowState.Maximized; + //adminLoginForm.ShowDialog(); + } + break; + case "进店": + { + var shop = GetShop(shopId); + AdminShopLoginForm adminLoginForm = new AdminShopLoginForm(shop); + adminLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product/draft"; + adminLoginForm.openType = EnumOpenType.manage; + adminLoginForm.WindowState = FormWindowState.Maximized; + adminLoginForm.ShowDialog(); + } + break; + case "登录": + { + var shop = GetShop(shopId); + // 登录店铺 + AdminShopLoginForm shopLoginForm = new AdminShopLoginForm(shop); + shopLoginForm.openType = EnumOpenType.login; + shopLoginForm.SaveComplete += ShopLoginForm_SaveComplete; + shopLoginForm.ShowDialog(); + } + break; + + case "导入Cookies": + { + var shop = GetShop(shopId); + ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop, SetCookieFromEnum.sa); + updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete; + updateCookieForm.ShowDialog(); + } + break; + case "": + dgvSelectProduct.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvSelectProduct.Rows[e.RowIndex].Cells["colSelect"].Value; + break; + default: + break; + } + } + + private void UpdateCookieForm_SaveComplete(object obj) + { + } + + ShopLoginInfo GetShop(string shopId) + { + var shop = shopLst.FirstOrDefault(s => s.ShopId == shopId); + if (shop == null) + { + shop = AdminGetServerShop(shopId); + if (shop == null) + { + shop = new ShopLoginInfo() { ShopId = shopId }; + shop.LoginStatus = "不存在"; + } + shopLst.Add(shop); + } + return shop; + } + + private void ShopLoginForm_SaveComplete(object obj) + { + //throw new NotImplementedException(); + } + + private void btnAdd_Click(object sender, EventArgs e) + { + var lstProdId = dgvSelectProduct.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colSelectId"]?.Value.ToString()).ToList(); + var prodList = this.lstAdminTemuDBProductSelect.Where(p => lstProdId.Contains(p.id.ParseToString())).ToArray(); + + if (prodList.Count() > 0) + { + this.btnAdd.Enabled = false; + Task.Run(() => + { + AddProductDraft(prodList); + Invoke(new Action(() => + { + this.btnAdd.Enabled = true; + })); + }); + } + else + { + BaseMsgForm.ShowError("请选择要上传的商品!"); + } + } + + void AddProductDraft(TemuDBProductSelect[] prodSelect) + { + if (prodSelect == null || prodSelect.Count() == 0) + { + BaseMsgForm.ShowError("上传内容不能为空!"); + return; + } + + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在上传..."; + this.statusBar.pgbTaskProgress.Maximum = prodSelect.Length; + this.statusBar.UpdateProgressBar(0); + })); + + foreach (var prod in prodSelect) + { + Invoke(new Action(() => + { + this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); + })); + + if (prod == null) + { + Invoke(new Action(() => + { + BaseMsgForm.ShowError("商品为空,将为您跳过该商品!"); + })); + continue; + } + + var row = dgvSelectProduct.Rows.Cast().FirstOrDefault(r => + r.Cells["colSelectId"]?.Value.ToString() == prod.id.ToString()); + if (row == null) + { + Invoke(new Action(() => + { + BaseMsgForm.ShowError("商品已被清除,将为您跳过该商品!"); + })); + continue; + } + + var shop = shopLst.FirstOrDefault(s => s.ShopId == prod.shop_id); + if (shop == null) + { + shop = AdminGetServerShop(prod.shop_id); + if (shop == null) + { + shop = new ShopLoginInfo() { ShopId = prod.shop_id }; + shop.LoginStatus = "不存在"; + } + shopLst.Add(shop); + } + + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "店铺" + shop.LoginStatus; + })); + continue; + } + + //if (prod.status != "待上传") + //{ + // Invoke(new Action(() => + // { + // row.Cells["colOpResult"].Value = "选品商品" + prod.status; + // })); + // continue; + //} + + var temuDBProd = GetProductDetail(prod.out_product_Id.ToString()); + if (temuDBProd == null || temuDBProd.id == 0) + { + if (temuDBProd?.id == 0) + { + prod.status = "已清除"; + var empty_url = BaseClass.BuildObjString("product_third/mdy_user_select_product_status"); + var empty_data = UserLogin.GetSignaturex() + + "&db_id=" + prod.id + + "&status=已清除"; + GetHtml.PostUtf8(empty_url, empty_data); + } + + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "选品数据库商品已被清除"; + if (temuDBProd?.id == 0) + row.Cells["colStatus"].Value = "已清除"; + })); + continue; + } + + var result = ""; + try + { + var prodDetailStr = GetHtml.UrlDecode(temuDBProd.product_json); + var productDetail = JsonHelper.DeserializeJsonToObject(prodDetailStr); + result = UploadProduct(shop, productDetail, temuDBProd.size_json); //将商品上传至草稿箱 + + if (result.Contains("登录过期")) + { + shop.LoginStatus = "未登录"; + ShopForms.ShopListForm.UpdateServerShopCookies(shop, shop.Cookies); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie + } + } + catch (Exception ex) + { + result = "上传草稿箱失败:" + ex.Message; + } + Thread.Sleep(200); + + if (!result.Contains("上传草稿箱成功")) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = result; + })); + continue; + } + + prod.status = "已上传"; + var productDraftId = BaseRegex.GetStringJson(ref result, "productDraftId"); + var url = BaseClass.BuildObjString("product_third/mdy_user_select_product_status"); + var data = UserLogin.GetSignaturex() + + "&db_id=" + prod.id + + "&draft_id=" + productDraftId + + "&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")) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "已成功上传草稿箱但保存到服务端失败:" + BaseRegex.GetStringJson(ref html, "msg") + "; "; + row.Cells["colStatus"].Value = "已上传"; + })); + } + else + { + Invoke(new Action(() => + { + row.Cells["colDraftId"].Value = productDraftId; // 草稿箱id + row.Cells["colOpResult"].Value = "已成功上传草稿箱"; + row.Cells["colStatus"].Value = "已上传"; + })); + } + } + + Invoke(new Action(() => + { + BaseMsgForm.ShowInfo("上传草稿完成!"); + })); + + Invoke(new Action(() => + { + this.pbLoading.Visible = false; + this.statusBar.lblTaskStatus.Text = "上传草稿完成"; + this.statusBar.UpdateProgressBar(prodSelect.Length); + })); + } + + public ShopLoginInfo AdminGetServerShop(string shop_id) + { + List list = new List(); + + var url = BaseClass.BuildObjString("shop/admin_get_shop_list"); + var data = UserLogin.GetSignaturex() + + "&search_id=" + shop_id; + var html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) + || !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass")) + { + return null; + } + + var jArr = JObject.Parse(html)["data"]; + if (jArr.Count() == 0) + return null; + + foreach (JObject jObj in jArr) + { + string shopStr = jObj.ToString(); + ShopLoginInfo shop = new ShopLoginInfo(); + shop.DbId = BaseRegex.GetStringJson(ref shopStr, "id"); + if (shop.DbId == null) + continue; + shop.LoginName = BaseRegex.GetStringJson(ref shopStr, "login_name"); + shop.Password = BaseRegex.GetStringJson(ref shopStr, "login_pass"); + shop.ShopId = BaseRegex.GetStringJson(ref shopStr, "shop_id"); + shop.ShopAccount = BaseRegex.GetStringJson(ref shopStr, "shop_account"); + shop.UserName = BaseRegex.GetStringJson(ref shopStr, "user_name"); + shop.SubUserName = BaseRegex.GetStringJson(ref shopStr, "sub_user_name"); + shop.GroupName = BaseRegex.GetStringJson(ref shopStr, "shop_group"); + shop.Cookies = BaseRegex.GetStringJson(ref shopStr, "cookie"); + shop.Cookies = shop.Cookies.Replace("&", "&").Replace("%", "%").Replace("+", "+"); + shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name"); + shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes"); + shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status"); + shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name"); + + list.Add(shop); + } + return list.FirstOrDefault(); + } + + public TemuDBProduct GetProductDetail(string prodDbId) + { + if (string.IsNullOrEmpty(prodDbId)) + return new TemuDBProduct(); + + List list = new List(); + + var url = BaseClass.BuildObjString("product_third/get_product_detail_list"); + var data = ""; + + data = UserLogin.GetSignaturex() + "&search_db_ids=" + prodDbId; + + 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")) + { + return null; + } + + var jArr = JObject.Parse(html)["data"]; + if (jArr.Count() == 0) + return null; + var sProd = JsonHelper.SerializeObject(jArr); + + try + { + list = JsonHelper.DeserializeJsonToList(sProd); + var item = list.FirstOrDefault(); + if (item == null) + item = new TemuDBProduct(); + return item; + } + catch (Exception ex) + { + return null; + } + } + + string UploadProduct(ShopLoginInfo shop, TemuProductInfo prodInfo, string sTemuSizeSpec = null) + { + if (shop == null || string.IsNullOrEmpty(shop.ShopId) || shop.LoginStatus != "登录成功") + { + return "店铺为空或未登录!"; + } + + TemuProductParam prodParam = new TemuProductParam(); + prodParam.carouselImageI18nReqs = prodInfo.carouselImageI18nVOList; + prodParam.carouselImageUrls = prodInfo.carouselImageUrls; + prodParam.cat1Id = prodInfo.categories.cat1.catId; + prodParam.cat2Id = prodInfo.categories.cat2.catId; + prodParam.cat3Id = prodInfo.categories.cat3.catId; + prodParam.cat4Id = prodInfo.categories.cat4.catId; + prodParam.cat5Id = prodInfo.categories.cat5.catId; + prodParam.cat6Id = prodInfo.categories.cat6.catId; + prodParam.cat7Id = prodInfo.categories.cat7.catId; + prodParam.cat8Id = prodInfo.categories.cat8.catId; + prodParam.cat9Id = prodInfo.categories.cat9.catId; + prodParam.cat10Id = prodInfo.categories.cat10.catId; + prodParam.goodsAdvantageLabelTypes = prodInfo.goodsAdvantageLabelVOList != null ? + prodInfo.goodsAdvantageLabelVOList : new List(); + prodParam.goodsLayerDecorationCustomizeI18nReqs = prodInfo.goodsLayerDecorationCustomizeI18nVOList; + prodParam.goodsLayerDecorationReqs = new List(); + foreach (var goodsLayerDecorationVOInfo in + (prodInfo.goodsLayerDecorationVOList == null ? new List() : prodInfo.goodsLayerDecorationVOList)) + { + var goodsLayerDecorationItem = new GoodsLayerDecorationReqsItem() + { + floorId = goodsLayerDecorationVOInfo.floorId, + key = goodsLayerDecorationVOInfo.key, + lang = goodsLayerDecorationVOInfo.lang, + priority = goodsLayerDecorationVOInfo.priority, + type = goodsLayerDecorationVOInfo.type, + contentList = new List(), + }; + foreach (var contentInfo in goodsLayerDecorationVOInfo.contentList) + { + var contentItem = new ContentListItem() + { + width = contentInfo.width, + height = contentInfo.height, + imgUrl = contentInfo.imgUrl, + }; + goodsLayerDecorationItem.contentList.Add(contentItem); + } + prodParam.goodsLayerDecorationReqs.Add(goodsLayerDecorationItem); + } + prodParam.goodsModelReqs = prodInfo.goodsModelList != null ? prodInfo.goodsModelList : new List(); + prodParam.materialImgUrl = prodInfo.materialImgUrl; + prodParam.materialMultiLanguages = prodInfo.productLocalExtAttr.materialMultiLanguages != null ? + prodInfo.productLocalExtAttr.materialMultiLanguages : new List(); + prodParam.personalizationSwitch = prodInfo.productWhExtAttr.personalizationSwitch.ParseToInt(); + + var carouseVideoVOList = JsonHelper.SerializeObject(prodInfo.carouseVideoVOList); + prodParam.productCarouseVideoReqList = JsonHelper.DeserializeJsonToList(carouseVideoVOList); + if (prodParam.productCarouseVideoReqList == null) + prodParam.productCarouseVideoReqList = new List(); + //此处打开商品编辑详情无法获取到,如何查询存疑 + prodParam.productComplianceStatementReq = new ProductComplianceStatementReq + { + protocolVersion = "V1.0", + protocolUrl = "https://bdl.cdnfe.com/upload_bdl/seller-protocol/00f56a69-7bee-4768-8cef-e1682ffd58e3.html", + }; + prodParam.productDetailVideoReqList = prodInfo.detailVideoVOList; + //是否需要存疑 + prodParam.productDraftId = 0; + prodParam.productGuideFileI18nReqs = prodInfo.productGuideFileI18nList; + prodParam.productGuideFileNewReqList = prodInfo.productGuideFileNewVOList; + prodParam.productName = prodInfo.productName; + prodParam.productNonAuditExtAttrReq = new ProductNonAuditExtAttrReq() + { + california65WarningInfoReq = new California65WarningInfoReq() + { + california65ChemicalNames = prodInfo.productNonAuditExtAttr.california65WarningInfoVO.california65ChemicalNames, + }, + cosmeticInfoReq = new CosmeticInfoReq() + { + }, + }; + //内容存疑 + prodParam.productOriginCertFileReqs = new List(); + prodParam.productOuterPackageImageReqs = new List(); + foreach (var picInfo in prodInfo.outerPackageImages) + { + prodParam.productOuterPackageImageReqs.Add(new ProductOuterPackageImageReqsItem() + { + imageUrl = picInfo.imageUrl, + }); + } + prodParam.productOuterPackageReq = new ProductOuterPackageReq() + { + packageShape = prodInfo.productWhExtAttr.productOuterPackage.packageShape, + packageType = prodInfo.productWhExtAttr.productOuterPackage.packageType, + }; + prodParam.productPropertyReqs = new List(); + foreach (var propInfo in prodInfo.productPropertyList) + { + prodParam.productPropertyReqs.Add(new ProductPropertyReqsItem + { + numberInputValue = propInfo.numberInputValue, + pid = propInfo.pid, + propName = propInfo.propName, + propValue = propInfo.propValue, + refPid = propInfo.refPid, + templatePid = propInfo.templatePid, + valueExtendInfo = propInfo.valueExtendInfo, + valueUnit = propInfo.valueUnit, + vid = propInfo.vid, + }); + } + prodParam.productSaleExtAttrReq = new ProductSaleExtAttrReq + { + bodyShape = prodInfo.productSaleExtAttr.bodyShape, + }; + prodParam.productSpecPropertyReqs = new List(); + foreach (var specPropInfo in prodInfo.productSpecPropertyVOS) + { + try + { + var jStr = JsonHelper.SerializeObject(specPropInfo); + ProductSpecPropertyReqsItem specItem = JsonHelper.DeserializeJsonToObject(jStr); + prodParam.productSpecPropertyReqs.Add(specItem); + } + catch (Exception ex) + { + BaseMsgForm.ShowError(ex.Message); + } + } + prodParam.productWhExtAttrReq = new ProductWhExtAttrReq() + { + outerGoodsUrl = prodInfo.productWhExtAttr.outerGoodsUrl, + productOrigin = new ProductOrigin + { + countryShortName = prodInfo.productWhExtAttr.productOrigin.countryShortName, + region2Id = prodInfo.productWhExtAttr.productOrigin.region2Id, + }, + }; + prodParam.sensitiveTransNormalFileReqs = prodInfo.productWhExtAttr.sensitiveTransNormalFiles; + prodParam.showSizeTemplateIds = prodInfo.showSizeTemplateIds != null ? prodInfo.showSizeTemplateIds : new List(); + prodParam.sizeTemplateIds = prodInfo.sizeTemplateIds != null ? prodInfo.sizeTemplateIds : new List(); + + prodParam.productSkcReqs = new List(); + foreach (var skcInfo in prodInfo.productSkcList) + { + ProductSkcReqsItem skcItem = new ProductSkcReqsItem(); + skcItem.extCode = skcInfo.extCode; + skcItem.isBasePlate = 0; + skcItem.mainProductSkuSpecReqs = new List(); + foreach (var skuSpecInfo in skcInfo.productSkcSpecList) + { + skcItem.mainProductSkuSpecReqs.Add(new MainProductSkuSpecReqsItem + { + parentSpecId = skuSpecInfo.parentSpecId, + parentSpecName = skuSpecInfo.parentSpecName, + specId = skuSpecInfo.specId, + specName = skuSpecInfo.specName, + }); + } + skcItem.previewImgUrls = skcInfo.previewImgUrls; + skcItem.productSkcCarouselImageI18nReqs = skcInfo.productSkcCarouselImageI18nVOList; + skcItem.productSkcId = 0; + skcItem.productSkuReqs = new List(); + foreach (var skuInfo in skcInfo.productSkuList) + { + ProductSkuReqsItem skuItem = new ProductSkuReqsItem(); + skuItem.currencyType = skuInfo.currencyType; + skuItem.extCode = skuInfo.extCode; + skuItem.productSkuAccessoriesReq = new ProductSkuAccessoriesReq() + { + productSkuAccessories = skuInfo.productSkuSaleExtAttr.productSkuAccessories?.productSkuAccessories, + }; + skuItem.productSkuId = 0; + skuItem.productSkuMultiPackReq = new ProductSkuMultiPackReq() + { + numberOfPieces = skuInfo.productSkuMultiPack.numberOfPieces, + pieceUnitCode = skuInfo.productSkuMultiPack.pieceUnitCode, + productSkuNetContentReq = JsonHelper.DeserializeJsonToObject( + JsonHelper.SerializeObject(skuInfo.productSkuMultiPack.productSkuNetContent)), + skuClassification = skuInfo.productSkuMultiPack.skuClassification, + }; + skuItem.productSkuNonAuditExtAttrReq = JsonHelper.DeserializeJsonToObject( + JsonHelper.SerializeObject(skuInfo.productSkuNonAuditExtAttr)); + if (skuItem.productSkuNonAuditExtAttrReq == null) + skuItem.productSkuNonAuditExtAttrReq = new ProductSkuNonAuditExtAttrReq(); + skuItem.productSkuSpecReqs = new List(); + int groupId = 0; + foreach (var skuSpecInfo in skuInfo.productSkuSpecList) + { + groupId++; + ProductSkuSpecReqsItem skuSpecItem = new ProductSkuSpecReqsItem() + { + groupId = groupId, + parentSpecId = skuSpecInfo.parentSpecId, + parentSpecName = skuSpecInfo.parentSpecName, + specId = skuSpecInfo.specId, + specName = skuSpecInfo.specName, + vid = prodParam.productSpecPropertyReqs.FirstOrDefault(p => p.specId == skuSpecInfo.specId)?.vid, + }; + skuItem.productSkuSpecReqs.Add(skuSpecItem); + } + skuItem.productSkuSuggestedPriceReq = JsonHelper.DeserializeJsonToObject( + JsonHelper.SerializeObject(skuInfo.productSkuSuggestedPrice)); + // 建议售价不能为空 + if (skuItem.productSkuSuggestedPriceReq == null) + { + skuItem.productSkuSuggestedPriceReq = new ProductSkuSuggestedPriceReq(); + } + if (skuItem.productSkuSuggestedPriceReq.suggestedPrice == null && skuItem.productSkuSuggestedPriceReq.specialSuggestedPrice == null) + { + skuItem.productSkuSuggestedPriceReq.specialSuggestedPrice = "NA"; + } + skuItem.productSkuThumbUrlI18nReqs = skuInfo.productSkuThumbUrlI18nVOList; + skuItem.productSkuUsSuggestedPriceReq = JsonHelper.DeserializeJsonToObject( + JsonHelper.SerializeObject(skuInfo.productSkuUsSuggestedPrice)); + skuItem.productSkuWhExtAttrReq = new ProductSkuWhExtAttrReq() + { + productSkuBarCodeReqs = skuInfo.productSkuWhExtAttr.productSkuBarCodes, + productSkuSensitiveAttrReq = new ProductSkuSensitiveAttrReq() + { + isSensitive = skuInfo.productSkuWhExtAttr.productSkuSensitiveAttr.isSensitive, + sensitiveList = skuInfo.productSkuWhExtAttr.productSkuSensitiveAttr.sensitiveList, + }, + productSkuSensitiveLimitReq = JsonHelper.DeserializeJsonToObject( + JsonHelper.SerializeObject(skuInfo.productSkuWhExtAttr.productSkuSensitiveLimit)), + productSkuVolumeReq = JsonHelper.DeserializeJsonToObject( + JsonHelper.SerializeObject(skuInfo.productSkuWhExtAttr.productSkuVolume)), + productSkuWeightReq = JsonHelper.DeserializeJsonToObject( + JsonHelper.SerializeObject(skuInfo.productSkuWhExtAttr.productSkuWeight)), + }; + skuItem.supplierPrice = skuInfo.supplierPrice; + skuItem.thumbUrl = skuInfo.thumbUrl; + + skcItem.productSkuReqs.Add(skuItem); + } + prodParam.productSkcReqs.Add(skcItem); + } + + long catId = prodParam.cat10Id.ParseToLong(); + if (catId == 0) catId = prodParam.cat9Id.ParseToLong(); + if (catId == 0) catId = prodParam.cat8Id.ParseToLong(); + if (catId == 0) catId = prodParam.cat7Id.ParseToLong(); + if (catId == 0) catId = prodParam.cat6Id.ParseToLong(); + if (catId == 0) catId = prodParam.cat5Id.ParseToLong(); + if (catId == 0) catId = prodParam.cat4Id.ParseToLong(); + if (catId == 0) catId = prodParam.cat3Id.ParseToLong(); + if (catId == 0) catId = prodParam.cat2Id.ParseToLong(); + if (catId == 0) catId = prodParam.cat1Id.ParseToLong(); + + var html = AddDraft(shop, catId.ToString()); + if (html.Contains("{\"success\":true")) + prodParam.productDraftId = BaseRegex.GetLongJson(ref html, "productDraftId"); + else + { + var error = BaseRegex.GetStringJson(ref html, "errorMsg"); + if (string.IsNullOrEmpty(error)) + error = BaseRegex.GetStringJson(ref html, "error_msg"); + return "上传失败 " + error; + } + + if (prodParam.productDraftId <= 0) + { + return "上传失败 " + html; + } + + string sizeError = ""; + //上传尺码表(如果有) + if (!string.IsNullOrEmpty(sTemuSizeSpec)) + { + sTemuSizeSpec = GetHtml.UrlDecode(sTemuSizeSpec); + if (sTemuSizeSpec.Contains("sizeSpecDataVO")) + { + var jObj = JObject.Parse(sTemuSizeSpec)["sizeSpecDataVO"]; + var sizeSpec = JsonHelper.SerializeObject(jObj); + sizeSpec = sizeSpec.Replace("\"contentVO\"", "\"content\""); + var sizeParam = JsonHelper.DeserializeJsonToObject(sizeSpec); + html = CreateSizeSpec(shop, prodParam.productDraftId.ToString(), sizeParam); + if (html.Contains("{\"success\":true")) + { + var sizeSpecId = BaseRegex.GetLongJson(ref html, "businessId"); + prodParam.sizeTemplateIds = new List(); + prodParam.sizeTemplateIds.Add(sizeSpecId); + prodParam.showSizeTemplateIds = new List(); + prodParam.showSizeTemplateIds.Add(sizeSpecId); + sizeError = ""; + } + else + { + var error = BaseRegex.GetStringJson(ref html, "errorMsg"); + if (string.IsNullOrEmpty(error)) + error = BaseRegex.GetStringJson(ref html, "error_msg"); + sizeError += "尺码表保存失败 " + error; + } + } + } + + html = SaveDraft(shop, prodParam.productDraftId.ToString(), prodParam); + if (html.Contains("{\"success\":true")) + return "上传草稿箱成功\"productDraftId\":\"" + prodParam.productDraftId.ToString() + "\" " + sizeError; + else + { + var error = BaseRegex.GetStringJson(ref html, "errorMsg"); + if (string.IsNullOrEmpty(error)) + error = BaseRegex.GetStringJson(ref html, "error_msg"); + return "上传草稿箱失败" + error + " " + sizeError; + } + + #region 草稿箱后立即上传商品 暂时注释 + //Thread.Sleep(Randomx.GetId(2000, 3000)); + //html = AddProduct(shop, prodParam.productDraftId.ToString(), prodParam); + //if (html.Contains("{\"success\":true")) + // BaseMsgForm.ShowInfo("上传商品成功"); + //else + //{ + // var error = BaseRegex.GetStringJson(ref html, "errorMsg"); + // if (string.IsNullOrWhiteSpace(error)) + // error = BaseRegex.GetStringJson(ref html, "error_msg"); + // BaseMsgForm.ShowError(("上传商品失败\r\n" + error + "\r\n请在草稿箱查找商品!").Replace("\r\n\r\n", "\r\n")); + // return; + //} + #endregion + } + + private string AddDraft(ShopLoginInfo shop, string catId) + { + string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/draft/add"; + string refere = "https://seller.kuajingmaihuo.com/goods/product-create/category?from=productList"; + string body = @"{""catId"":" + catId + "}"; + return KJDHttpResponse.PostResponse(shop, url, body, refere); + } + + private string CreateSizeSpec(ShopLoginInfo shop, string draftId, TemuSizeSpecParam sizeParam) + { + string url = "https://seller.kuajingmaihuo.com/bg-anniston-mms/sizespec/createSizeSpec"; + string body = JsonHelper.SerializeObject(sizeParam); + string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId="+ + draftId + "&from=productDraftList"; + return KJDHttpResponse.PostResponse(shop, url, body, refere); + } + + private string SaveDraft(ShopLoginInfo shop, string draftId, TemuProductParam prodParam) + { + string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/draft/save"; + string body = JsonHelper.SerializeObject(prodParam); + string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" + + draftId + "&from=productDraftList"; + return KJDHttpResponse.PostResponse(shop, url, body, refere); + } + + + private string AddProduct(ShopLoginInfo shop, string draftId, TemuProductParam prodParam) + { + string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/add"; + string body = JsonHelper.SerializeObject(prodParam); + string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" + + draftId + "&from=productDraftList"; + return KJDHttpResponse.PostResponse(shop, url, body, refere); + } + + private void btnSetSubSa_Click(object sender, EventArgs e) + { + var lstProdId = dgvSelectProduct.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colSelectId"]?.Value.ToString()).ToList(); + var prodList = this.lstAdminTemuDBProductSelect.Where(p => lstProdId.Contains(p.id.ParseToString())).ToArray(); + + if (prodList.Count() <= 0) + { + BaseMsgForm.ShowError("请选择要分配二级超管的商品!"); + return; + } + + ProductSelectSetSubSaForm subSaForm = new ProductSelectSetSubSaForm( + prodList.Select(p => p.id.ToString()).ToList(), + prodList.Select(p => p.shop_id).ToList(), + SetSubSaType.ThirdProduct + ); + subSaForm.SaveCompleteWithDescribe += SubSaForm_SaveComplete; + subSaForm.ShowDialog(); + } + + private void SubSaForm_SaveComplete(object isUpdateSameShop, object subSaName) + { + if (isUpdateSameShop as bool? == false) + { + var lstProdId = dgvSelectProduct.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colSelectId"]?.Value.ToString()).ToList(); + var prodList = this.lstAdminTemuDBProductSelect.Where(p => lstProdId.Contains(p.id.ParseToString())).ToArray(); + + var rows = dgvSelectProduct.Rows.Cast().Where(row => row.Cells["colSelect"]?.Value.ParseToBool() == true); + foreach (var row in rows) + { + row.Cells["colSubSa"].Value = subSaName.ParseToString(); + } + foreach (var p in prodList) + { + p.operate_sub_sa_name = subSaName.ParseToString(); + } + } + else + { + // 同店铺下商品分配给同一个二级超管 + var lstSupplierId = dgvSelectProduct.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colSupplierId"]?.Value.ToString()).ToList(); + var prodList = this.lstAdminTemuDBProductSelect.Where(p => lstSupplierId.Contains(p.shop_id.ParseToString())).ToArray(); + + var rows = dgvSelectProduct.Rows.Cast().Where(row => lstSupplierId.Contains(row.Cells["colSupplierId"]?.Value.ParseToString())); + foreach (var row in rows) + { + row.Cells["colSubSa"].Value = subSaName.ParseToString(); + } + foreach (var p in prodList) + { + p.operate_sub_sa_name = subSaName.ParseToString(); + } + } + } + } +} diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.resx b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.resx new file mode 100644 index 0000000..2077b2e --- /dev/null +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.resx @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + + + 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/ProductThirdSelectForms/UserSelectThirdProductForm.Designer.cs b/TEMUKJD/KJDForms/ProductThirdSelectForms/UserSelectThirdProductForm.Designer.cs new file mode 100644 index 0000000..e1fcbc8 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/UserSelectThirdProductForm.Designer.cs @@ -0,0 +1,745 @@ + +namespace TemuKJD.KJDForms.ProductThirdSelectForms +{ + partial class UserSelectThirdProductForm + { + /// + /// 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(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnDelSelect = new DevComponents.DotNetBar.PanelEx(); + this.cmbStatus = new System.Windows.Forms.ComboBox(); + this.label8 = new System.Windows.Forms.Label(); + 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.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.colLoginStatus = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSelectProduct = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colRemaining = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.pbLoading = new System.Windows.Forms.PictureBox(); + 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.colInShop = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colLogin = new System.Windows.Forms.DataGridViewLinkColumn(); + 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.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDraftId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.splitContainer4 = new System.Windows.Forms.SplitContainer(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.btnClear = new DevComponents.DotNetBar.PanelEx(); + this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + ((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.pbLoading)).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(1291, 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.btnDelSelect); + this.ucGroupBoxEx4.Controls.Add(this.cmbStatus); + this.ucGroupBoxEx4.Controls.Add(this.label8); + 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(1142, 120); + this.ucGroupBoxEx4.TabIndex = 666; + this.ucGroupBoxEx4.TabStop = false; + this.ucGroupBoxEx4.Text = "认领商品查询"; + // + // btnDelSelect + // + this.btnDelSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnDelSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnDelSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnDelSelect.DisabledBackColor = System.Drawing.Color.Empty; + this.btnDelSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnDelSelect.Location = new System.Drawing.Point(989, 35); + this.btnDelSelect.Name = "btnDelSelect"; + this.btnDelSelect.Size = new System.Drawing.Size(126, 23); + this.btnDelSelect.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnDelSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnDelSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnDelSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnDelSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnDelSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnDelSelect.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnDelSelect.Style.GradientAngle = 90; + this.btnDelSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnDelSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnDelSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnDelSelect.TabIndex = 468; + this.btnDelSelect.Text = "删除选中记录"; + this.btnDelSelect.Click += new System.EventHandler(this.btnDelSelect_Click); + // + // cmbStatus + // + this.cmbStatus.FormattingEnabled = true; + this.cmbStatus.Items.AddRange(new object[] { + "待上传", + "已上传", + "全部"}); + this.cmbStatus.Location = new System.Drawing.Point(78, 31); + this.cmbStatus.Name = "cmbStatus"; + this.cmbStatus.Size = new System.Drawing.Size(85, 25); + this.cmbStatus.TabIndex = 461; + this.cmbStatus.Text = "待上传"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(21, 35); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(68, 17); + this.label8.TabIndex = 460; + this.label8.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(179, 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 = "认领商品查询"; + this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); + // + // 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(1291, 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.pbLoading); + 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(1291, 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.colLoginStatus, + this.colSelectProduct, + this.colCanUse, + this.colRemaining, + 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; + 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); + // + // 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 = 120; + // + // colLoginStatus + // + this.colLoginStatus.HeaderText = "登录状态"; + this.colLoginStatus.Name = "colLoginStatus"; + this.colLoginStatus.ReadOnly = true; + this.colLoginStatus.Visible = false; + // + // 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.Visible = false; + 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; + // + // colRemaining + // + this.colRemaining.HeaderText = "月限额"; + this.colRemaining.Name = "colRemaining"; + this.colRemaining.ReadOnly = true; + // + // colMessage + // + this.colMessage.HeaderText = "消息"; + this.colMessage.Name = "colMessage"; + this.colMessage.ReadOnly = true; + // + // pbLoading + // + this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pbLoading.Location = new System.Drawing.Point(483, 171); + this.pbLoading.Name = "pbLoading"; + this.pbLoading.Size = new System.Drawing.Size(50, 50); + this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoading.TabIndex = 188; + this.pbLoading.TabStop = false; + this.pbLoading.Visible = false; + // + // dgvSelectProduct + // + this.dgvSelectProduct.AllowUserToAddRows = false; + this.dgvSelectProduct.AllowUserToDeleteRows = false; + dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3; + this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White; + this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; + 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.colInShop, + this.colLogin, + this.colSpuId, + this.colSkcId, + this.colProductSkcPic, + this.colProductName, + this.colProductCat, + this.colExtCode, + this.colMsg, + this.colDraftId, + this.ColDelete}); + 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; + this.dgvSelectProduct.RowTemplate.Height = 23; + this.dgvSelectProduct.Size = new System.Drawing.Size(1013, 392); + this.dgvSelectProduct.TabIndex = 187; + this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick); + // + // 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; + // + // colInShop + // + this.colInShop.HeaderText = "进店"; + this.colInShop.Name = "colInShop"; + this.colInShop.ReadOnly = true; + this.colInShop.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colInShop.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colInShop.Width = 45; + // + // colLogin + // + this.colLogin.HeaderText = "登录"; + this.colLogin.Name = "colLogin"; + this.colLogin.ReadOnly = true; + this.colLogin.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colLogin.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colLogin.Visible = false; + this.colLogin.Width = 45; + // + // 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; + this.colSpuId.Visible = false; + // + // 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.Visible = false; + 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 = 260; + // + // colProductCat + // + this.colProductCat.HeaderText = "商品类目"; + this.colProductCat.Name = "colProductCat"; + this.colProductCat.ReadOnly = true; + this.colProductCat.Width = 90; + // + // colExtCode + // + this.colExtCode.HeaderText = "商品货号"; + this.colExtCode.Name = "colExtCode"; + this.colExtCode.ReadOnly = true; + // + // colMsg + // + this.colMsg.HeaderText = "状态"; + this.colMsg.Name = "colMsg"; + this.colMsg.ReadOnly = true; + // + // colDraftId + // + this.colDraftId.HeaderText = "草稿箱Id"; + this.colDraftId.Name = "colDraftId"; + this.colDraftId.ReadOnly = true; + this.colDraftId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.colDraftId.Width = 80; + // + // ColDelete + // + this.ColDelete.HeaderText = "删除"; + this.ColDelete.Name = "ColDelete"; + this.ColDelete.ReadOnly = true; + // + // 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.btnClear); + this.splitContainer4.Panel2.Controls.Add(this.panelEx1); + this.splitContainer4.Panel2.Controls.Add(this.ucSplitPage1); + this.splitContainer4.Size = new System.Drawing.Size(1291, 26); + this.splitContainer4.SplitterDistance = 600; + 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(600, 26); + this.statusBar.TabIndex = 2; + // + // 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(4, 2); + 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; + // + // 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(97, 2); + this.panelEx1.Name = "panelEx1"; + this.panelEx1.Size = new System.Drawing.Size(115, 21); + this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelEx1.Style.GradientAngle = 90; + this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.panelEx1.TabIndex = 668; + this.panelEx1.Text = "停止当前操作"; + this.panelEx1.Visible = false; + // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; + this.ucSplitPage1.Location = new System.Drawing.Point(114, 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(573, 26); + this.ucSplitPage1.TabIndex = 675; + this.ucSplitPage1.TotalPage = 1; + // + // UserSelectThirdProductForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.ClientSize = new System.Drawing.Size(1291, 546); + this.Controls.Add(this.splitContainer1); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Name = "UserSelectThirdProductForm"; + this.Text = "第三方库存上传"; + this.Load += new System.EventHandler(this.UserSelectThirdProductForm_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.ucGroupBoxEx4.PerformLayout(); + 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.pbLoading)).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.SplitContainer splitContainer4; + private UserControls.StatusBarUserControl statusBar; + private DevComponents.DotNetBar.PanelEx panelEx1; + private DevComponents.DotNetBar.PanelEx btnClear; + private System.Windows.Forms.PictureBox pbLoading; + private UserControls.UcSplitPage ucSplitPage1; + private System.Windows.Forms.ComboBox cmbStatus; + private System.Windows.Forms.Label label8; + private DevComponents.DotNetBar.PanelEx btnDelSelect; + 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 colInShop; + private System.Windows.Forms.DataGridViewLinkColumn colLogin; + 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.DataGridViewTextBoxColumn colExtCode; + private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; + private System.Windows.Forms.DataGridViewTextBoxColumn colDraftId; + private System.Windows.Forms.DataGridViewLinkColumn ColDelete; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; + private System.Windows.Forms.DataGridViewTextBoxColumn colLoginStatus; + private System.Windows.Forms.DataGridViewLinkColumn colSelectProduct; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse; + private System.Windows.Forms.DataGridViewTextBoxColumn colRemaining; + private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; + } +} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/UserSelectThirdProductForm.cs b/TEMUKJD/KJDForms/ProductThirdSelectForms/UserSelectThirdProductForm.cs new file mode 100644 index 0000000..ffcf7ef --- /dev/null +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/UserSelectThirdProductForm.cs @@ -0,0 +1,446 @@ +using AllBase; +using AllBase.Helper; +using AllBase.Model.Result; +using NaiBa.Util.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; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.Extension; +using TemuKJD.KJDForms.BaseForms; +using TemuKJD.KJDForms.ShopForms; +using Work; + +namespace TemuKJD.KJDForms.ProductThirdSelectForms +{ + public partial class UserSelectThirdProductForm : BaseForm + { + bool isInit = false; + CheckBox chkSelectAll = null; + List lstTemuDBProductSelect = new List(); + public UserSelectThirdProductForm() + { + InitializeComponent(); + } + + private void UserSelectThirdProductForm_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; + chkSelectAll.Checked = true; + + this.dgvSelectProduct.AddSelectorColumn("colCheck"); + this.ucSplitPage1.PageChange += UcSplitPage1_PageChange; + } + + private void UcSplitPage1_PageChange(object obj) + { + SearchDbProdSelect(this.ucSplitPage1.CurrentPage); + } + + 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(); + + if (dgvSelectProduct.Rows.Count == 0) + SearchDbProdSelect(1); + } + } + + 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 == "登录成功"; + canUse = true; // 内部库不需要校验登录状态 + var row = dgvShop.Rows.Cast().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId); + if (row == null) + { + this.dgvShop.Rows.Add( + !isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse), + shopEntity.LoginName, + shopEntity.ShopId, + shopEntity.ShopAccount, + shopEntity.LoginStatus, + "选择商品", + canUse, + shopEntity.AddProductRemaining, + string.Empty + ); + } + else + { + row.Cells["colSelect"].Value = !isInit || (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; + row.Cells["colRemaining"].Value = shopEntity.AddProductRemaining; + } + isInit = false; + } + + 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(); + //this.RefreshShop(); + break; + } + } + + private void btnSearch_Click(object sender, EventArgs e) + { + var lstShopId = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + if (lstShopId.Count == 0) + { + BaseMsgForm.ShowInfo("请选择店铺!"); + return; + } + + if (this.ucSplitPage1.CurrentPage != 1) + this.ucSplitPage1.CurrentPage = 1; + else + SearchDbProdSelect(1); + } + + public void SearchDbProdSelect(int page) + { + if (InvokeRequired) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.dgvSelectProduct.Rows.Clear(); + lstTemuDBProductSelect.Clear(); + })); + } + else + { + this.pbLoading.Visible = true; + this.dgvSelectProduct.Rows.Clear(); + lstTemuDBProductSelect.Clear(); + } + Task.Run(() => + { + int pageCount; + var list = GetSelectProductList(out pageCount, page, 200); + lstTemuDBProductSelect.AddRange(list); + this.ucSplitPage1.TotalPage = pageCount; + + foreach (var prodSelect in lstTemuDBProductSelect) + { + Image image = null; + try + { + using (Stream stream = WebRequest.Create(prodSelect.main_img.Replace("https", "http")).GetResponse().GetResponseStream()) + { + image = Image.FromStream(stream); + } + } + catch (Exception ex) + { + } + Invoke(new Action(() => + { + int rowIndex = this.dgvSelectProduct.Rows.Add( + false, + prodSelect.id, + prodSelect.shop_id, + prodSelect.shop_account, + "进店", + "登录", + "",//prodSelect.spu_id, + "",//prodSelect.skc_id, + image,//prod.main_img, + prodSelect.product_name, + prodSelect.cat_name, + prodSelect.ext_code, + prodSelect.status, + prodSelect.draft_id, + "删除"); + + dgvSelectProduct.Rows[rowIndex].Height = 60; + })); + } + + Invoke(new Action(() => + { + this.pbLoading.Visible = false; + })); + }); + } + + + public List GetSelectProductList(out int pageCount, int page = 1, int pageSize = 50) + { + var lstShopId = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + + List list = new List(); + pageCount = 1; + + //第三方库存上传 + var url = BaseClass.BuildObjString("product_third/get_user_select_product_list"); + var data = ""; + Invoke(new Action(() => + { + data = UserLogin.GetSignaturex() + + "&page=" + page + + "&page_size=" + pageSize + + //"&out_product_id=" + dbId + + //"&shop_id=" + shop.ShopId + + //"&shop_account=" + shop.ShopAccount + + //"&main_user_name=" + shop.UserName + + //"&sub_user_name=" + shop.SubUserName + + "&status=" + (cmbStatus.Text == "全部" ? "" : cmbStatus.Text) + + "&shop_ids=\"" + string.Join("\",\"", lstShopId) + "\""; + })); + 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")) + { + Invoke(new Action(() => + { + BaseMsgForm.ShowError("认领商品查询失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); + })); + return new 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 dgvSelectProduct_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + string headerText = dgvSelectProduct.Columns[e.ColumnIndex].HeaderText; + var dbId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSelectId"].Value.ParseToString(); + var dbProduct = lstTemuDBProductSelect.FirstOrDefault(p => p.id.ToString() == dbId); + var shopId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString(); + var draftId = dgvSelectProduct.Rows[e.RowIndex].Cells["colDraftId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + + switch (headerText) + { + case "删除": + if (BaseMsgForm.ShowConfirm("确定删除商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel) + return; + var rst = DeleteProduct(dbId); + if (rst) + { + SearchDbProdSelect(this.ucSplitPage1.CurrentPage); + } + break; + case "进店": + { + ShopLoginForm shopLoginForm = new ShopLoginForm(shop); + shopLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product/draft"; + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.WindowState = FormWindowState.Maximized; + shopLoginForm.ShowDialog(); + } + break; + case "编辑备注": + //DbProductEditNotesForm editForm = new DbProductEditNotesForm(dbProduct); + //editForm.ShowDialog(); + //dgvDbProduct.Rows[e.RowIndex].Cells["col_notes"].Value = dbProduct.notes; + break; + case "草稿箱Id": + //if (!string.IsNullOrEmpty(draftId) && shop != null) + //{ + // ShopLoginForm shopLoginForm = new ShopLoginForm(shop); + // shopLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" + + // draftId + "&from=productDraftList"; + // shopLoginForm.openType = EnumOpenType.manage; + // shopLoginForm.WindowState = FormWindowState.Maximized; + // shopLoginForm.ShowDialog(); + //} + break; + case "": + dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value; + break; + default: + break; + } + } + + private bool DeleteProduct(string dbId) + { + var url = BaseClass.BuildObjString("product_third/del_select_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 false; + } + return true; + } + + private void btnDelSelect_Click(object sender, EventArgs e) + { + if (BaseMsgForm.ShowConfirm("确定删除选中商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel) + return; + + var DbIdLst = dgvSelectProduct.Rows.Cast().Where(row + => row.Cells["colCheck"]?.Value.ParseToBool() == true).Select(r => r.Cells["colSelectId"]?.Value.ToString()).ToList(); + + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在删除..."; + this.statusBar.pgbTaskProgress.Value = 0; + this.statusBar.pgbTaskProgress.Maximum = DbIdLst.Count; + this.statusBar.pgbTaskProgress.Text = "0" + "/" + DbIdLst.Count; + Task.Run(() => + { + foreach (var dbId in DbIdLst) + { + try + { + DeleteProduct(dbId); + Thread.Sleep(20); + } + catch (Exception ex) + { + Invoke(new Action(() => + { + BaseMsgForm.ShowInfo(ex.Message); + })); + } + Invoke(new Action(() => + { + this.statusBar.pgbTaskProgress.Value++; + this.statusBar.pgbTaskProgress.Text = this.statusBar.pgbTaskProgress.Value.ToString() + "/" + DbIdLst.Count; + })); + } + Invoke(new Action(() => + { + this.statusBar.pgbTaskProgress.Value = DbIdLst.Count; + this.statusBar.lblTaskStatus.Text = "删除完成"; + this.pbLoading.Visible = false; + BaseMsgForm.ShowInfo("删除完成!"); + + SearchDbProdSelect(this.ucSplitPage1.CurrentPage); + })); + }); + + } + } +} diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/UserSelectThirdProductForm.resx b/TEMUKJD/KJDForms/ProductThirdSelectForms/UserSelectThirdProductForm.resx new file mode 100644 index 0000000..8a54b6d --- /dev/null +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/UserSelectThirdProductForm.resx @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ShopForms/ShopForm.Designer.cs b/TEMUKJD/KJDForms/ShopForms/ShopForm.Designer.cs index 8ef23fb..2018f09 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopForm.Designer.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopForm.Designer.cs @@ -37,7 +37,8 @@ System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("超级用户管理"); System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("选品数据库"); System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("认领待上传"); - System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] { + System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("库存上传"); + System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] { treeNode1, treeNode2, treeNode3, @@ -46,7 +47,8 @@ treeNode6, treeNode7, treeNode8, - treeNode9}); + treeNode9, + treeNode10}); this.panel1 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel(); @@ -155,10 +157,12 @@ treeNode8.Text = "选品数据库"; treeNode9.Name = "认领待上传"; treeNode9.Text = "认领待上传"; - treeNode10.Name = "店铺管理"; - treeNode10.Text = "店铺管理"; + treeNode10.Name = "库存上传"; + treeNode10.Text = "库存上传"; + treeNode11.Name = "店铺管理"; + treeNode11.Text = "店铺管理"; this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode10}); + treeNode11}); 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; @@ -166,7 +170,6 @@ // // ShopForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.ClientSize = new System.Drawing.Size(933, 461); this.Controls.Add(this.splitContainer1); diff --git a/TEMUKJD/KJDForms/ShopForms/ShopForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopForm.cs index c3847c1..8e01239 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopForm.cs @@ -12,6 +12,7 @@ using System.Windows.Forms; using TemuKJD.KJDForms.AdminForms; using TemuKJD.KJDForms.BaseForms; using TemuKJD.KJDForms.ProductSelectForms; +using TemuKJD.KJDForms.ProductThirdSelectForms; namespace TemuKJD.KJDForms.ShopForms { @@ -26,6 +27,7 @@ namespace TemuKJD.KJDForms.ShopForms public Lazy adminShopForm = new Lazy(); public Lazy dbProductListForm = new Lazy(); public Lazy dbProductSelectListManageForm = new Lazy(); + public Lazy productThirdSelectListManageForm = new Lazy(); public ShopForm() { @@ -36,7 +38,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) { @@ -48,11 +50,13 @@ namespace TemuKJD.KJDForms.ShopForms hideName.Remove("超级店铺管理"); hideName.Remove("选品数据库"); hideName.Remove("认领待上传"); + hideName.Remove("库存上传"); } if (BaseClass.SaLevel==2) { hideName.Remove("超级店铺管理"); hideName.Remove("认领待上传"); + hideName.Remove("库存上传"); } } @@ -106,6 +110,9 @@ namespace TemuKJD.KJDForms.ShopForms case "认领待上传": SetForm(dbProductSelectListManageForm.Value); break; + case "库存上传": + SetForm(productThirdSelectListManageForm.Value); + break; } })); }).Start(); diff --git a/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs index 085b6c7..43b6261 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs @@ -89,26 +89,26 @@ namespace TemuKJD.KJDForms.ShopForms // 获取本地店铺和服务端店铺。将服务端相关信息与本地店铺合并后暂时存在内存中(不保存敏感信息)。 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) + var serverShopList = ShopListForm.GetServerShop(); + //var localShopList = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("dou_shop_login"); + //if (localShopList == null) + // localShopList = new ConcurrentList(); + //foreach (var serverShop in serverShopList) + //{ + // var localShop = localShopList.FirstOrDefault(s => s.LoginName == serverShop.LoginName && s.ShopId == serverShop.ShopId); + // if (localShop == null) + // { + // localShopList.Add(serverShop); + // } + //} + var localShopList = new ConcurrentList(); + localShopList.AddRange(serverShopList); + foreach (var localShop in localShopList) { 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); + var serverShop = serverShopList.FirstOrDefault(s => s.LoginName == localShop.LoginName && s.ShopId == localShop.ShopId); if (serverShop != null) { localShop.ShopAccount = serverShop.ShopAccount; @@ -137,7 +137,7 @@ namespace TemuKJD.KJDForms.ShopForms } } GlobalConfig.DouShopLoginOtherUserShopList = new ConcurrentList(); - GlobalConfig.DouShopLoginOtherUserShopList.AddRange(localDouShopList.Where(l => !GlobalConfig.ShopLoginList.Any(s => s.LoginName == l.LoginName))); + GlobalConfig.DouShopLoginOtherUserShopList.AddRange(localShopList.Where(l => !GlobalConfig.ShopLoginList.Any(s => s.LoginName == l.LoginName))); } public static List GetServerShop() @@ -381,17 +381,14 @@ namespace TemuKJD.KJDForms.ShopForms } else { - GlobalConfig.ShopLoginList.Add(shopInfo); - StartUp.SaveLocalShopLoginInfo(); ShopListForm.AddServerDouShop(shopInfo); - RefreshDataGridView(false); + btnRefreshCookie_Click(null, null); } } else { - StartUp.SaveLocalShopLoginInfo(); ShopListForm.MdyServerDouShop(shopInfo); - RefreshDataGridView(false); + btnRefreshCookie_Click(null, null); } } } @@ -401,7 +398,6 @@ namespace TemuKJD.KJDForms.ShopForms Task.Run(() => { //CheckShopListLogin(new string[] { (obj as DouShopLoginInfo).LoginName }); - RefreshDataGridView(false); }); } @@ -411,7 +407,7 @@ namespace TemuKJD.KJDForms.ShopForms { //CheckShopListLogin(new string[] { (obj as DouShopLoginInfo).LoginName }); StartUp.SaveLocalShopLoginInfo(); - RefreshDataGridView(false); + btnRefreshCookie_Click(null, null); }); } @@ -419,7 +415,7 @@ namespace TemuKJD.KJDForms.ShopForms { IsOperate = true; ImportShop(); - RefreshDataGridView(); + btnRefreshCookie_Click(null, null); } void ImportShop() @@ -906,6 +902,7 @@ namespace TemuKJD.KJDForms.ShopForms shopLoginForm.openType = EnumOpenType.login; shopLoginForm.SaveComplete += shopLoginForm_SaveComplete; shopLoginForm.ShowDialog(); + btnRefreshCookie_Click(null, null); } IsOperate = false; break; @@ -1057,6 +1054,7 @@ namespace TemuKJD.KJDForms.ShopForms shopLoginForm.ShowDialog(); } } + btnRefreshCookie_Click(null, null); } ShopListForm.IsOperate = false; } diff --git a/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs index 120e91f..1f373c9 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs @@ -24,6 +24,7 @@ using System.Web.Hosting; using System.Windows.Forms; using Work; using Work.BLL.Tools; +using TemuKJD.KJDForms.AdminForms; namespace TemuKJD.KJDForms.ShopForms { @@ -46,6 +47,7 @@ namespace TemuKJD.KJDForms.ShopForms private ShopLoginInfo shop = null; private List lstShopCompany = new List(); private string currentUrl = ""; + private long currentSupplierId = 0; public ShopLoginForm(ShopLoginInfo shopInfo) { @@ -279,6 +281,18 @@ namespace TemuKJD.KJDForms.ShopForms cefWebBrowser.LoadError += CefWebBrowser_LoadError; cefWebBrowser.Dock = DockStyle.Fill; + //js绑定C#对象 + ShopBrowserObject shopObj = new ShopBrowserObject(); + shopObj.OnInfoReceived += ShopObj_OnInfoReceived; + CefSharpSettings.WcfEnabled = true; + cefWebBrowser.JavascriptObjectRepository.Register( + name: "shopObj", + objectToBind: shopObj, + isAsync: false, + options: new BindingOptions { Binder = BindingOptions.DefaultBinder.Binder /*CamelCaseJavascriptNames = false*/ /*cef79*/ } + ); + + if (shop.Cookies == null) shop.Cookies = ""; @@ -340,6 +354,12 @@ namespace TemuKJD.KJDForms.ShopForms }); } } + private void ShopObj_OnInfoReceived(string information) + { + //BaseMsgForm.ShowInfo(information); + if (!string.IsNullOrEmpty(information)) + cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync("alert('" + information + "');"); + } private void CefWebBrowser_LoadError(object sender, CefSharp.LoadErrorEventArgs e) { @@ -371,10 +391,31 @@ namespace TemuKJD.KJDForms.ShopForms // // }); //} + + //js绑定C#对象 html页面内声明绑定的C#对象 + StringBuilder sb = new StringBuilder(); + sb.Append("(function(){"); + sb.Append("CefSharp.BindObjectAsync('shopObj');"); + sb.Append("})();"); + cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sb.ToString()); } private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request) { + Task.Run(() => + { + var data = responseData; + if (data.Contains("supplierId") && data.Contains("\"success\":true")) + { + var supplierIds = BaseRegex.GetMatchRegex(ref data, "\"supplierId\":\\d{5,20}"); + if (supplierIds.Count > 0 && supplierIds[0].Groups.Count > 0) + { + var supplierId = supplierIds[0].Groups[0].Value.Replace("\"supplierId\":", "").ParseToLong(); + if (supplierId > 0) + this.currentSupplierId = supplierId; + } + } + }); if (url.StartsWith("https://seller.kuajingmaihuo.com/settle/site-main")) { cefWebBrowser.Load(shopMainUrl); @@ -434,6 +475,44 @@ namespace TemuKJD.KJDForms.ShopForms // } // }); //} + // 库存上传按钮 + if (currentUrl.StartsWith("https://seller.kuajingmaihuo.com/goods/product/list")) + { + Task.Run(() => { + string sAddInputJs = @" + document.addEventListener('wheel', function(event) { + // 检查滚动方向 + //if (event.deltaY < 0) { + // console.log('向上滚动'); + //} else { + // console.log('向下滚动'); + //} + // 或者使用 event.deltaX 来检查水平滚动 + //if (event.deltaX < 0) { + // console.log('向左滚动'); + //} else if (event.deltaX > 0) { + // console.log('向右滚动'); + //} + + // 阻止默认的滚动行为(如果有需要) + //event.preventDefault(); + + addGetProdButton(); + }); + addGetProdButton(); + + function addGetProdButton() { + var productLst = document.getElementsByClassName('product-info_idContent__iDukx'); + for(i=0; i= 0) { + var sSpuId = productLst[i].innerText.replace('\r','').replace('\n','').replace('SPU ID:', ''); + productLst[i].innerHTML = productLst[i].innerHTML.replace("">"", "">""); + } + } + }"; + cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sAddInputJs); + }); + } } /// diff --git a/TEMUKJD/KJDForms/ShopForms/ShopUpdateCookieForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopUpdateCookieForm.cs index d82491a..5143676 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopUpdateCookieForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopUpdateCookieForm.cs @@ -13,17 +13,26 @@ using System.Windows.Forms; using AllBase; using NaiBa.Util.Extension; using Newtonsoft.Json.Linq; +using Work; +using TemuKJD.KJDForms.AdminForms; namespace TemuKJD.KJDForms.ShopForms { + public enum SetCookieFromEnum + { + normal_user, + sa, + } public partial class ShopUpdateCookieForm : LRBaseForm { ShopLoginInfo shopLoginInfo = null; + SetCookieFromEnum updateFrom; - public ShopUpdateCookieForm(ShopLoginInfo shop = null) + public ShopUpdateCookieForm(ShopLoginInfo shop = null, SetCookieFromEnum from = SetCookieFromEnum.normal_user) { InitializeComponent(); shopLoginInfo = shop; + updateFrom = from; } private void ShopUpdateCookieForm_Load(object sender, EventArgs e) @@ -32,32 +41,32 @@ namespace TemuKJD.KJDForms.ShopForms txtLoginName.Text = shopLoginInfo.LoginName + " " + shopLoginInfo.ShopAccount + " " + shopLoginInfo.Notes; } -/* -localStorage.clear(); -sessionStorage.clear(); -var cookieDate = new Date(2037, 01, 01); -var cookieDateEnd = new Date(2000, 01, 01); -document.cookie = "SUB_PASS_ID=; path='/'; expires=" + cookieDateEnd.toUTCString(); -document.cookie = "_nano_fp=; path='/'; expires=" + cookieDateEnd.toUTCString(); -document.cookie = "api_uid=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); -document.cookie = "_bee=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); -document.cookie = "ru2k=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); -document.cookie = "_f77=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); -document.cookie = "_a42=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); -document.cookie = "rckk=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); -document.cookie = "ru1k=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); -document.cookie = "api_uid=CmP1wGhwa64RUwBSBILCAg==; path='/'; expires=" + cookieDate.toUTCString(); -document.cookie = "_nano_fp=XpmyX5gbl09jlpdoXo_mijphq7nL0UmRaA77jyt3; domain=.kuajingmaihuo.com; path='/'; expires=" + cookieDate.toUTCString(); -document.cookie = "_bee=NkjhfozSFfDuGSJ2zBlOqjOh3KVvJam3; path='/'; expires=" + cookieDate.toUTCString(); -document.cookie = "_f77=2f854ce8-8d0f-4a78-84a1-04e19842a1cb; path='/'; expires=" + cookieDate.toUTCString(); -document.cookie = "_a42=1e97ae4a-c357-4c22-a53f-db43655371e3; path='/'; expires=" + cookieDate.toUTCString(); -document.cookie = "rckk=NkjhfozSFfDuGSJ2zBlOqjOh3KVvJam3; path='/'; expires=" + cookieDate.toUTCString(); -document.cookie = "ru1k=2f854ce8-8d0f-4a78-84a1-04e19842a1cb; path='/'; expires=" + cookieDate.toUTCString(); -document.cookie = "ru2k=1e97ae4a-c357-4c22-a53f-db43655371e3; path='/'; expires=" + cookieDate.toUTCString(); -document.cookie = "SUB_PASS_ID=eyJ0IjoiRDZZY1F2N2JjMnZNK1E0eEZjTm1GVmxsN20yN3N3Ymg2dnVjdmxiclZPQW5uRkJlendUOUtKTHRoWHJyZWlNUCIsInYiOjEsInMiOjEwMDAwLCJ1IjoyMzAxMjcwOTkwNDI5OH0=; domain=.kuajingmaihuo.com; path='/'; expires=" + cookieDate.toUTCString(); -location.reload(); -window.location.href = 'https://seller.kuajingmaihuo.com/goods/product/list'; -*/ + /* + localStorage.clear(); + sessionStorage.clear(); + var cookieDate = new Date(2037, 01, 01); + var cookieDateEnd = new Date(2000, 01, 01); + document.cookie = "SUB_PASS_ID=; path='/'; expires=" + cookieDateEnd.toUTCString(); + document.cookie = "_nano_fp=; path='/'; expires=" + cookieDateEnd.toUTCString(); + document.cookie = "api_uid=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); + document.cookie = "_bee=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); + document.cookie = "ru2k=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); + document.cookie = "_f77=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); + document.cookie = "_a42=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); + document.cookie = "rckk=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); + document.cookie = "ru1k=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString(); + document.cookie = "api_uid=CmP1wGhwa64RUwBSBILCAg==; path='/'; expires=" + cookieDate.toUTCString(); + document.cookie = "_nano_fp=XpmyX5gbl09jlpdoXo_mijphq7nL0UmRaA77jyt3; domain=.kuajingmaihuo.com; path='/'; expires=" + cookieDate.toUTCString(); + document.cookie = "_bee=NkjhfozSFfDuGSJ2zBlOqjOh3KVvJam3; path='/'; expires=" + cookieDate.toUTCString(); + document.cookie = "_f77=2f854ce8-8d0f-4a78-84a1-04e19842a1cb; path='/'; expires=" + cookieDate.toUTCString(); + document.cookie = "_a42=1e97ae4a-c357-4c22-a53f-db43655371e3; path='/'; expires=" + cookieDate.toUTCString(); + document.cookie = "rckk=NkjhfozSFfDuGSJ2zBlOqjOh3KVvJam3; path='/'; expires=" + cookieDate.toUTCString(); + document.cookie = "ru1k=2f854ce8-8d0f-4a78-84a1-04e19842a1cb; path='/'; expires=" + cookieDate.toUTCString(); + document.cookie = "ru2k=1e97ae4a-c357-4c22-a53f-db43655371e3; path='/'; expires=" + cookieDate.toUTCString(); + document.cookie = "SUB_PASS_ID=eyJ0IjoiRDZZY1F2N2JjMnZNK1E0eEZjTm1GVmxsN20yN3N3Ymg2dnVjdmxiclZPQW5uRkJlendUOUtKTHRoWHJyZWlNUCIsInYiOjEsInMiOjEwMDAwLCJ1IjoyMzAxMjcwOTkwNDI5OH0=; domain=.kuajingmaihuo.com; path='/'; expires=" + cookieDate.toUTCString(); + location.reload(); + window.location.href = 'https://seller.kuajingmaihuo.com/goods/product/list'; + */ private void btnOk_Click(object sender, EventArgs e) { @@ -68,7 +77,7 @@ window.location.href = 'https://seller.kuajingmaihuo.com/goods/product/list'; } string txt = this.txtCookieJs.Text; - txt = txt.Replace("SUB_PASS_ID=;", "").Replace("_nano_fp=;", "").Replace("api_uid=;","") + txt = txt.Replace("SUB_PASS_ID=;", "").Replace("_nano_fp=;", "").Replace("api_uid=;", "") .Replace("_bee=;", "").Replace("ru2k=;", "").Replace("_f77=;", "") .Replace("_a42=;", "").Replace("rckk=;", "").Replace("ru1k=;", ""); @@ -95,53 +104,64 @@ window.location.href = 'https://seller.kuajingmaihuo.com/goods/product/list'; { BaseMsgForm.ShowError("Cookie缺少关键字段,请检查!"); return; - } + } var cookieShop = new ShopLoginInfo(); cookieShop.Cookies = cookie; var data = ShopListForm.GetShopStatus(cookieShop); - if ( data.Contains("\"success\":true")) - { - var maskMobile = BaseRegex.GetStringJson(ref data, "maskOwnerMobile"); - if (shopLoginInfo.LoginName.EndsWith(maskMobile)) - { - //如果店铺没有cookie登录过,处理店铺第一次登录(分裂cookie下的所有店铺) - GetShopFirstLogin(data); - - shopLoginInfo.Cookies = cookie; - var campanys = GlobalConfig.ShopLoginList.Where(v => v.LoginName == shopLoginInfo.LoginName).ToList(); - foreach (var sc in campanys) - { - sc.Cookies = cookie; - sc.LoginStatus = "登录成功"; - } - ShopListForm.UpdateServerShopCookies(shopLoginInfo, shopLoginInfo.Cookies); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie - this.OnSaveComplete(shopLoginInfo); - this.Close(); - } - else - { - BaseMsgForm.ShowError("cookie与店铺不匹配,请核对店铺!"); - return; - } - } - else + if (!data.Contains("\"success\":true")) { BaseMsgForm.ShowError("cookie已失效!"); return; } + var maskMobile = BaseRegex.GetStringJson(ref data, "maskOwnerMobile"); + if (!shopLoginInfo.LoginName.EndsWith(maskMobile)) + { + BaseMsgForm.ShowError("cookie与店铺不匹配,请核对店铺!"); + return; + } + + List serverShopLst = new List(); + var rst = AdminGetServerShopListForSetCookie(shopLoginInfo, serverShopLst); + + if (rst != "success") + { + BaseMsgForm.ShowError(rst); + return; + } + + //如果店铺没有cookie登录过,处理店铺第一次登录(分裂cookie下的所有店铺) + GetShopFirstLogin(data, serverShopLst); + + if (updateFrom == SetCookieFromEnum.normal_user) // 普通用户更新本地店铺 + { + var localShop = GlobalConfig.ShopLoginList.Where(v => v.LoginName == shopLoginInfo.LoginName).ToList(); + foreach (var sc in localShop) + { + sc.Cookies = cookie; + sc.LoginStatus = "登录成功"; + } + } + shopLoginInfo.Cookies = cookie; + shopLoginInfo.LoginStatus = "登录成功"; + ShopListForm.UpdateServerShopCookies(shopLoginInfo, shopLoginInfo.Cookies); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie + this.OnSaveComplete(shopLoginInfo); + this.Close(); + } /// /// 如果店铺没有cookie登录过,处理店铺第一次登录(分裂cookie下的所有店铺) /// /// - void GetShopFirstLogin(string loginData) + void GetShopFirstLogin(string loginData, List lstServerShop) { if (this.shopLoginInfo == null) return; + if (lstServerShop == null) + lstServerShop = new List(); List lstShopCompany = new List(); var jObj = JObject.Parse(loginData); @@ -168,6 +188,7 @@ window.location.href = 'https://seller.kuajingmaihuo.com/goods/product/list'; { ShopLoginInfo newShop = new ShopLoginInfo() { + UserName = shopLoginInfo.UserName, LoginName = shopLoginInfo.LoginName, Password = shopLoginInfo.Password, GroupName = shopLoginInfo.GroupName, @@ -177,14 +198,67 @@ window.location.href = 'https://seller.kuajingmaihuo.com/goods/product/list'; Notes = shopLoginInfo.Notes, }; - var oldShop = GlobalConfig.ShopLoginList.FirstOrDefault(l => - l.LoginName == newShop.LoginName && l.ShopId == newShop.ShopId); - if (oldShop == null) + var oldServerShop = lstServerShop.FirstOrDefault(s => + s.LoginName == newShop.LoginName && s.ShopId == newShop.ShopId); + if (oldServerShop == null) { - GlobalConfig.ShopLoginList.Add(newShop); - ShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端 + if (updateFrom != SetCookieFromEnum.normal_user) + AdminShopForm.AdminAddServerShop(newShop); // 店铺写入到服务端 + else + ShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端 } } } + + public static string AdminGetServerShopListForSetCookie(ShopLoginInfo loginShop, List lstRst) + { + if (lstRst == null) + lstRst = new List(); + + var url = BaseClass.BuildObjString("shop/admin_get_shop_list"); + var data = UserLogin.GetSignaturex() + + "&search_user_name=" + loginShop.UserName + + "&search_login_name=" + loginShop.LoginName; + var html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) + || !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass")) + { + return "获取失败:" + BaseRegex.GetStringJson(ref html, "msg"); + } + + var jArr = JObject.Parse(html)["data"]; + if (jArr.Count() == 0) + return "获取失败:未获取到data数据"; + + foreach (JObject jObj in jArr) + { + string shopStr = jObj.ToString(); + ShopLoginInfo shop = new ShopLoginInfo(); + shop.DbId = BaseRegex.GetStringJson(ref shopStr, "id"); + if (shop.DbId == null) + continue; + + shop.LoginName = BaseRegex.GetStringJson(ref shopStr, "login_name"); + shop.Password = BaseRegex.GetStringJson(ref shopStr, "login_pass"); + shop.ShopId = BaseRegex.GetStringJson(ref shopStr, "shop_id"); + shop.ShopAccount = BaseRegex.GetStringJson(ref shopStr, "shop_account"); + shop.UserName = BaseRegex.GetStringJson(ref shopStr, "user_name"); + shop.SubUserName = BaseRegex.GetStringJson(ref shopStr, "sub_user_name"); + shop.GroupName = BaseRegex.GetStringJson(ref shopStr, "shop_group"); + shop.Cookies = BaseRegex.GetStringJson(ref shopStr, "cookie"); + shop.Cookies = shop.Cookies.Replace("&", "&").Replace("%", "%").Replace("+", "+"); + shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name"); + shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes"); + shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status"); + shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name"); + + lstRst.Add(shop); + } + return "success"; + } } }