diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index ed7e085..9f43848 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 1056; + public static int VersionCount = 1067; //public static int VersionCount = 613; /// @@ -306,9 +306,14 @@ namespace AllBase /// 注册用户名 /// public static string UserName = ""; + /// + /// 子账号所属主账号 + /// + public static string ParentUserName { get; set; } //public static bool IsSa; public static int SaLevel = 0; public static string UserAuthority = ""; + public static string ParentAuthority = ""; public static decimal? AuthorizedAmount = null; /// /// 注册昵称 diff --git a/AllBase/Model/Result/KJDDBProduct.cs b/AllBase/Model/Result/KJDDBProduct.cs index 9cdf1df..4e031a3 100644 --- a/AllBase/Model/Result/KJDDBProduct.cs +++ b/AllBase/Model/Result/KJDDBProduct.cs @@ -87,6 +87,7 @@ namespace AllBase.Model.Result // 是否拼多多上传成功 public bool isPddUpLoad { get; set; } = false; + public int? view_uv { get; set; } public int? sale_count { get; set; } public string sale_count_text { get; set; } public string wx_safe_status { get; set; } diff --git a/AllBase/Model/Result/WXResult/WxOptimizeExpressInfo.cs b/AllBase/Model/Result/WXResult/WxOptimizeExpressInfo.cs index c33f717..a5794ea 100644 --- a/AllBase/Model/Result/WXResult/WxOptimizeExpressInfo.cs +++ b/AllBase/Model/Result/WXResult/WxOptimizeExpressInfo.cs @@ -32,4 +32,13 @@ namespace AllBase.Model.Result.WXResult public DateTime add_time { get; set; } public DateTime mdy_time { get; set; } } + public class WxOptimizeRemarkInfo + { + public int id { get; set; } + public string shop_id { get; set; } + public string order_id { get; set; } + public string remark { get; set; } + public DateTime add_time { get; set; } + public DateTime mdy_time { get; set; } + } } diff --git a/AllBase/Model/Result/WXResult/WxOptimizeLinerCgiInfo.cs b/AllBase/Model/Result/WXResult/WxOptimizeLinerCgiInfo.cs index 9a1574f..3d9baaa 100644 --- a/AllBase/Model/Result/WXResult/WxOptimizeLinerCgiInfo.cs +++ b/AllBase/Model/Result/WXResult/WxOptimizeLinerCgiInfo.cs @@ -10,6 +10,7 @@ namespace AllBase.Model.Result.WXResult { public string shopId { get; set; } public string shopName { get; set; } + public string remark { get; set; } public string optimizeWaybillId { get; set; } public string optimizeTime { get; set; } public int? orderTime { get; set; } diff --git a/AllBase/Model/Result/WXResult/WxOptimizeOrderAfterSaleInfo.cs b/AllBase/Model/Result/WXResult/WxOptimizeOrderAfterSaleInfo.cs index 65b3a3f..70c5347 100644 --- a/AllBase/Model/Result/WXResult/WxOptimizeOrderAfterSaleInfo.cs +++ b/AllBase/Model/Result/WXResult/WxOptimizeOrderAfterSaleInfo.cs @@ -10,6 +10,7 @@ namespace AllBase.Model.Result.WXResult { public string shopId { get; set; } public string shopName { get; set; } + public string remark { get; set; } public string optimizeWaybillId { get; set; } public string optimizeTime { get; set; } public int? orderTime { get; set; } diff --git a/AllBase/Model/Result/WXResult/WxOptimizeOrderWayBillInfo.cs b/AllBase/Model/Result/WXResult/WxOptimizeOrderWayBillInfo.cs index 2da762f..e8db270 100644 --- a/AllBase/Model/Result/WXResult/WxOptimizeOrderWayBillInfo.cs +++ b/AllBase/Model/Result/WXResult/WxOptimizeOrderWayBillInfo.cs @@ -10,6 +10,7 @@ namespace AllBase.Model.Result.WXResult { public string shopId { get; set; } public string shopName { get; set; } + public string remark { get; set; } public string optimizeWaybillId { get; set; } public string optimizeTime { get; set; } public int? orderTime { get; set; } diff --git a/AllBase/Model/Result/WXResult/WxOptimizeProductEvaluationInfo.cs b/AllBase/Model/Result/WXResult/WxOptimizeProductEvaluationInfo.cs index 5c11622..9fbcf37 100644 --- a/AllBase/Model/Result/WXResult/WxOptimizeProductEvaluationInfo.cs +++ b/AllBase/Model/Result/WXResult/WxOptimizeProductEvaluationInfo.cs @@ -10,6 +10,7 @@ namespace AllBase.Model.Result.WXResult { public string shopId { get; set; } public string shopName { get; set; } + public string remark { get; set; } public string optimizeWaybillId { get; set; } public string optimizeTime { get; set; } public string order_id { get; set; } diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs index 2ecd86c..0016278 100644 --- a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs +++ b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs @@ -13,6 +13,7 @@ using System.Data; using System.Drawing; using System.IO; using System.Linq; +using System.Reflection; using System.Threading; using System.Web; using System.Web.Security; @@ -57,11 +58,17 @@ namespace KJD_Web.BLL.BXX string sale_count = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sale_count"))?.Replace("'", "\\'"); string sale_count_text = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sale_count_text"))?.Replace("'", "\\'"); string distribution_set = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "distribution_set"))?.Replace("'", "\\'"); - string special_prod_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "special_prod_type"))?.Replace("'", "\\'"); - if (special_prod_type != "爆款商品") - special_prod_type = "普通商品"; string add_user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_user_name"))?.Replace("'", "\\'"); - + string special_prod_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "special_prod_type"))?.Replace("'", "\\'"); + if (special_prod_type != "爆款数据") + special_prod_type = "普通商品"; + string view_uv = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "view_uv"))?.Replace("'", "\\'"); // 爆款数据产品曝光数量 + string add_hot_version = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_hot_version"))?.Replace("'", "\\'"); + if (special_prod_type == "爆款数据" && product_get_type == "微信店采" && add_hot_version != "v3") + { + return "{\"code\":666,\"msg\":\"当前版本已失效,请更新软件\"}"; + } + if (string.IsNullOrEmpty(product_get_type)) { product_get_type = "母店采集"; @@ -105,6 +112,8 @@ namespace KJD_Web.BLL.BXX sql += "add_user_name,"; if (group != null) sql += "`group`,"; + if (!string.IsNullOrWhiteSpace(view_uv)) + sql += "view_uv,"; sql = sql.TrimEnd(','); sql += ") "; sql += "values ('" + from_shop_id + "','" + from_shop_name + "','" + offline_supplier_id + "','" + offline_supplier_name + "','" + spu_id + "','" + @@ -117,6 +126,8 @@ namespace KJD_Web.BLL.BXX sql += "'" + add_user_name + "',"; if (group != null) sql += "'" + group + "',"; + if (!string.IsNullOrWhiteSpace(view_uv)) + sql += "" + view_uv + ","; sql = sql.TrimEnd(','); sql += ");"; @@ -173,7 +184,7 @@ namespace KJD_Web.BLL.BXX string sale_count_text = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sale_count_text"))?.Replace("'", "\\'"); string wx_safe_status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_safe_status"))?.Replace("'", "\\'"); string special_prod_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "special_prod_type"))?.Replace("'", "\\'"); - if (!string.IsNullOrEmpty(special_prod_type) && special_prod_type != "爆款商品") + if (!string.IsNullOrEmpty(special_prod_type) && special_prod_type != "爆款数据") special_prod_type = "普通商品"; string wx_cat_1 = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_cat_1"))?.Replace("'", "\\'"); string wx_cat_2 = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_cat_2"))?.Replace("'", "\\'"); @@ -188,6 +199,13 @@ namespace KJD_Web.BLL.BXX string wx_img_map_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_img_map_json"))?.Replace("'", "\\'"); string problem_prod_data = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "problem_prod_data"))?.Replace("'", "\\'"); string is_relation = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "is_relation"))?.Replace("'", "\\'"); + string view_uv = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "view_uv"))?.Replace("'", "\\'"); // 产品曝光数量 + string product_get_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_get_type"))?.Replace("'", "\\'"); + string add_hot_version = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_hot_version"))?.Replace("'", "\\'"); + if (special_prod_type == "爆款数据" && product_get_type == "微信店采" && add_hot_version != "v3") + { + return "{\"code\":666,\"msg\":\"当前版本已失效,请更新软件\"}"; + } if (string.IsNullOrEmpty(user_name)) { @@ -267,6 +285,8 @@ namespace KJD_Web.BLL.BXX sql += " p.problem_prod_data=" + problem_prod_data + ","; if (!is_relation.IsNullOrEmpty()) sql += " p.is_relation=" + is_relation + ","; + if (!string.IsNullOrWhiteSpace(view_uv)) + sql += " p.view_uv=" + view_uv + ","; sql += " p.mdy_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',"; sql = sql.TrimEnd(','); sql += " where spu_id='" + spu_id + "';"; @@ -491,12 +511,13 @@ namespace KJD_Web.BLL.BXX var wx_cat_3 = RegexUtils.GetStringQuery(ref inputData, "wx_cat_3")?.Replace("'", "\\'"); var wx_cat_leaf = RegexUtils.GetStringQuery(ref inputData, "wx_cat_leaf")?.Replace("'", "\\'"); var search_ext_code = RegexUtils.GetStringQuery(ref inputData, "search_ext_code")?.Replace("'", "\\'"); - var search_prod_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "search_prod_name")?.Replace("'", "\\'")); + var search_prod_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "search_prod_name"))?.Replace("'", "\\'"); + var search_prod_name_in = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "search_prod_name_in"))?.Replace("'", "\\'"); var search_group = RegexUtils.GetStringQuery(ref inputData, "search_group")?.Replace("'", "\\'"); var search_notes = RegexUtils.GetStringQuery(ref inputData, "search_notes")?.Replace("'", "\\'"); var search_db_ids = RegexUtils.GetStringQuery(ref inputData, "search_db_ids")?.Replace("'", "\\'"); var search_secret_spu_ids = RegexUtils.GetStringQuery(ref inputData, "search_secret_spu_ids")?.Replace("'", "\\'"); - var ext_code_in = RegexUtils.GetStringQuery(ref inputData, "ext_code_in")?.Replace("'", "\\'"); + var ext_code_in = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "ext_code_in"))?.Replace("'", "\\'"); var get_select_count = RegexUtils.GetStringQuery(ref inputData, "get_select_count")?.Replace("'", "\\'"); var select_shop_id = RegexUtils.GetStringQuery(ref inputData, "select_shop_id")?.Replace("'", "\\'"); var from_shop_id = RegexUtils.GetStringQuery(ref inputData, "from_shop_id")?.Replace("'", "\\'"); @@ -520,6 +541,7 @@ namespace KJD_Web.BLL.BXX var ban_wx = RegexUtils.GetStringQuery(ref inputData, "ban_wx")?.Replace("'", "\\'"); var ban_pdd = RegexUtils.GetStringQuery(ref inputData, "ban_pdd")?.Replace("'", "\\'"); var add_user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_user_name"))?.Replace("'", "\\'"); + var is_not_count = RegexUtils.GetStringQuery(ref inputData, "is_not_count").ParseToBool(); // 不计数 int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(); int page_size= RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50); @@ -598,6 +620,10 @@ namespace KJD_Web.BLL.BXX } where += " and (" + multi_search_prod_name.Substring(4) + ")"; } + if (!string.IsNullOrWhiteSpace(search_prod_name_in)) + { + where += " and p.product_name in ('" + search_prod_name_in.Replace(",", "','") + "')"; + } if (!string.IsNullOrWhiteSpace(search_group)) { if (search_group == "无分组") @@ -684,7 +710,7 @@ namespace KJD_Web.BLL.BXX sql += where; var count = 0; - if (isDetail) + if (isDetail || is_not_count) count = 1; else count = mySql.ExecuteRowCount(sql, paramLst.ToArray()); @@ -706,7 +732,7 @@ namespace KJD_Web.BLL.BXX sql = "select p.id,p.from_shop_id,p.spu_id,p.skc_id,p.main_cat_id,p.main_cat_name,p.cat_id,p.cat_name,p.price_text,p.ext_code,p.product_name," + " p.main_img,p.notes,p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,p.sku_img_replace_id,p.group," + " p.product_get_type,p.wx_safe_status,p.sale_count,p.sale_count_text,p.special_prod_type,p.from_shop_name,p.wx_cat_1,p.wx_cat_2,p.wx_cat_3," + - " p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id,p.is_relation," + + " p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id,p.is_relation,p.view_uv," + " s.img_url,e.ext_code_price" + " FROM bxx.product p " + " LEFT JOIN bxx.sku_img_replace s ON p.sku_img_replace_id=s.id" + @@ -717,7 +743,7 @@ namespace KJD_Web.BLL.BXX sql = "SELECT p.id,p.from_shop_id,p.spu_id,p.skc_id,p.main_cat_id,p.main_cat_name,p.cat_id,p.cat_name,p.price_text,p.ext_code,p.product_name," + " p.main_img,p.notes,p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,p.sku_img_replace_id,p.group," + " p.product_get_type,p.wx_safe_status,p.sale_count,p.sale_count_text,p.special_prod_type,p.from_shop_name,p.wx_cat_1,p.wx_cat_2,p.wx_cat_3," + - " p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id,p.is_relation," + + " p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id,p.is_relation,p.view_uv" + " s.img_url,COUNT(se.id) AS select_count,e.ext_code_price" + " FROM bxx.product p" + " LEFT JOIN bxx.sku_img_replace s ON p.sku_img_replace_id=s.id LEFT JOIN bxx.product_select se ON p.id=se.out_product_id AND se.shop_id='" + select_shop_id + "' " + @@ -732,6 +758,8 @@ namespace KJD_Web.BLL.BXX sql += " group by p.id"; if (sort_field == "select_total_count") sql += " order by p.select_total_count desc, p.id desc"; + else if (sort_field == "view_uv") + sql += " order by p.view_uv desc, p.id desc"; else sql += " order by p.id desc"; sql += " limit " + Math.Max(page - 1, 0) * page_size + "," + page_size; @@ -779,6 +807,7 @@ namespace KJD_Web.BLL.BXX sku_img_replace_id = row["sku_img_replace_id"].ParseToInt(), sku_img_replace_url = row["img_url"].ToString(), product_get_type_text = row["product_get_type"].ToString(), + view_uv = row["view_uv"].ParseToNullableInt(), sale_count = row["sale_count"].ParseToInt(), sale_count_text = row["sale_count_text"].ToString(), wx_safe_status = row["wx_safe_status"].ToString(), @@ -831,6 +860,8 @@ namespace KJD_Web.BLL.BXX JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; var data = JsonUtils.SerializeObjectToString(productLst, jsonSetting); var seconds = (DateTime.Now - timeCalc).TotalSeconds.ToString("0.000"); + if (is_not_count) + count = productLst.Count; return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + ",\"seconds\":" + seconds + "}"; } catch (Exception ex) @@ -1454,6 +1485,8 @@ namespace KJD_Web.BLL.BXX var product_get_type = RegexUtils.GetStringQuery(ref inputData, "product_get_type")?.Replace("'", "\\'"); var wx_safe_status = RegexUtils.GetStringQuery(ref inputData, "wx_safe_status")?.Replace("'", "\\'"); var special_prod_type = RegexUtils.GetStringQuery(ref inputData, "special_prod_type")?.Replace("'", "\\'"); + if (special_prod_type.IsNullOrEmpty()) + special_prod_type = "普通商品,书籍"; var is_supplier_prod_ok = RegexUtils.GetStringQuery(ref inputData, "is_supplier_prod_ok")?.Replace("'", "\\'"); var is_not_count = RegexUtils.GetStringQuery(ref inputData, "is_not_count").ParseToBool(); // 不计数 var prod_count = RegexUtils.GetStringQuery(ref inputData, "prod_count").ParseToInt(); @@ -1523,9 +1556,9 @@ namespace KJD_Web.BLL.BXX where += " and p.product_get_type ='" + product_get_type + "'"; if (!string.IsNullOrEmpty(wx_safe_status)) where += " and p.wx_safe_status in ('" + wx_safe_status.Replace(",", "','") + "')"; - //if (!string.IsNullOrEmpty(special_prod_type)) // 普通商品 爆款商品 + //if (!string.IsNullOrEmpty(special_prod_type)) // 普通商品 爆款数据 // where += " and p.special_prod_type ='" + special_prod_type + "'"; - sql += " and p.special_prod_type in ('普通商品','书籍')"; + where += " and p.special_prod_type in ('" + special_prod_type.Replace(",", "','") + "')"; // 供应商货源是否已完成初始设置 if (!string.IsNullOrEmpty(is_supplier_prod_ok)) { @@ -1873,7 +1906,7 @@ namespace KJD_Web.BLL.BXX string sku_edit_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sku_edit_json"))?.Replace("'", "\\'"); string wx_safe_status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_safe_status"))?.Replace("'", "\\'"); string special_prod_type = RegexUtils.GetStringQuery(ref inputData, "special_prod_type")?.Replace("'", "\\'"); - if (!string.IsNullOrEmpty(special_prod_type) && special_prod_type != "爆款商品") + if (!string.IsNullOrEmpty(special_prod_type) && special_prod_type != "爆款数据") special_prod_type = "普通商品"; if (string.IsNullOrEmpty(user_name)) @@ -3561,36 +3594,53 @@ namespace KJD_Web.BLL.BXX return "{\"code\":19999,\"msg\":\"输入为空\"}"; } - public string XJGetAiImage(string inputData) + //public string XJGetAiImage(string inputData) + //{ + // if (string.IsNullOrEmpty(inputData)) + // return "{\"code\":19999,\"msg\":\"输入为空\"}"; + + // if (!WXUserManage.GetSign(inputData)) + // return "{\"code\":999,\"msg\":\"校验失败\"}"; + + // string image_url = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "image_url"))?.ParseToString(); + // string word = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "word"))?.ParseToString(); + // if (image_url == null) + // return "{\"code\":500,\"msg\":\"缺少图片地址\"}"; + // if (word == null) + // return "{\"code\":500,\"msg\":\"缺少图片文字\"}"; + + // string secret = "sadhjufhe15c4fbvFBvcvds+5sdfds@#%$xsc"; + // string time = TimeUtils.DateTimeToTimestampSeconds(DateTime.Now).ToString(); + // string code = EncrypUtil.GetMd5(secret + time); + + // try + // { + // string url = "http://ai-bs.jiaotian.vip:" + RandomUtils.GetId(20010, 20021) + "/index.php?obj=public/image"; + // string data = "time=" + time + "&code=" + code + "&image_url=" + image_url + "&word=" + word; + // string html = HttpUtils.e57GetResponse(url, ""); + // return html; + // } + // catch (Exception ex) + // { + // return "{\"code\":50001,\"msg\":\"" + ex.Message + "\"}"; + // } + //} + + public string IsGetWXRecommendHotProd(string inputData) { - if (string.IsNullOrEmpty(inputData)) - return "{\"code\":19999,\"msg\":\"输入为空\"}"; - - if (!WXUserManage.GetSign(inputData)) - return "{\"code\":999,\"msg\":\"校验失败\"}"; - - string image_url = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "image_url"))?.ParseToString(); - string word = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "word"))?.ParseToString(); - if (image_url == null) - return "{\"code\":500,\"msg\":\"缺少图片地址\"}"; - if (word == null) - return "{\"code\":500,\"msg\":\"缺少图片文字\"}"; - - string secret = "sadhjufhe15c4fbvFBvcvds+5sdfds@#%$xsc"; - string time = TimeUtils.DateTimeToTimestampSeconds(DateTime.Now).ToString(); - string code = EncrypUtil.GetMd5(secret + time); - - try + if (!string.IsNullOrEmpty(inputData)) { - string url = "http://ai-bs.jiaotian.vip:" + RandomUtils.GetId(20010, 20021) + "/index.php?obj=public/image"; - string data = "time=" + time + "&code=" + code + "&image_url=" + image_url + "&word=" + word; - string html = HttpUtils.e57GetResponse(url, ""); - return html; - } - catch (Exception ex) - { - return "{\"code\":50001,\"msg\":\"" + ex.Message + "\"}"; + if (!WXUserManage.GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + + var isGetReturn = System.Configuration.ConfigurationManager.ConnectionStrings["GetWXRecommendHotProd"]?.ConnectionString; + var isGetOnce = System.Configuration.ConfigurationManager.ConnectionStrings["GetWXRecommendHotProd"]?.ConnectionString; + var minViewUv = (System.Configuration.ConfigurationManager.ConnectionStrings["GetWXRecommendHotProdMinViewUv"]?.ConnectionString).ParseToInt(500); + var getInterval = (System.Configuration.ConfigurationManager.ConnectionStrings["GetWXRecommendHotProdInterval"]?.ConnectionString).ParseToInt(3); + return "{\"code\":200,\"is_get\":\"" + isGetReturn + "\",\"isGetOnce\":\"" + isGetOnce + "\"," + + "\"minViewUv\":" + minViewUv + ",\"getInterval\":" + getInterval + "}"; } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; } } } diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXUserManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXUserManage.cs index b10e043..356aea0 100644 --- a/KJDService/KJD_WebService/BLL/BXX/BXXUserManage.cs +++ b/KJDService/KJD_WebService/BLL/BXX/BXXUserManage.cs @@ -3,6 +3,7 @@ using KJD_Web.Model.PddModel; using KJD_Web.Model.ShopModel; using KJD_Web.Utils; using NaiBa.Util.Extension; +using NaiBa.Util.Helper; using System; using System.Collections.Generic; using System.Data; @@ -31,35 +32,55 @@ namespace KJD_Web.BLL.BXX + mobile + "' and password='" + password + "'"; var dt = mySql.ExecuteDataTable(sql); - mySql.Close(); - if (dt != null) + if (!string.IsNullOrEmpty(mySql.Message)) { - foreach (DataRow row in dt.Rows) - { - UserLoginResultParam user = new UserLoginResultParam - { - id = Convert.ToInt32(row["id"]), - user_name = row["user_name"].ToString(), - nick_name = row["nick_name"].ToString(), - mobile = row["user_name"].ToString(), - password = row["password"].ToString(), - group_id = row["group_id"].ToString(), - card_id = row["card_id"].ToString(), - company_name = row["company_name"].ToString(), - is_sa = row.Table.Columns.Contains("is_sa") ? row["is_sa"].ParseToInt() : 0, - sa_level = row.Table.Columns.Contains("sa_level") ? row["sa_level"].ParseToInt() : 0, - authority = row["authority"].ToString(), - }; - - if (string.IsNullOrEmpty(user.company_name)) - { - user.company_name = "-"; - } - var data = JsonUtils.SerializeObjectToString(user); - return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"c\":\"" + EncrypUtil.Encryption(r2) + "\"}"; - } - return "{\"code\":1,\"msg\":\"用户名或密码错误\"}"; + mySql.Close(); + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; } + + if (dt == null) + dt = new DataTable(); + + foreach (DataRow row in dt.Rows) + { + UserLoginResultParam user = new UserLoginResultParam + { + id = Convert.ToInt32(row["id"]), + user_name = row["user_name"].ToString(), + nick_name = row["nick_name"].ToString(), + mobile = row["user_name"].ToString(), + password = row["password"].ToString(), + group_id = row["group_id"].ToString(), + card_id = row["card_id"].ToString(), + company_name = row["company_name"].ToString(), + is_sa = row.Table.Columns.Contains("is_sa") ? row["is_sa"].ParseToInt() : 0, + sa_level = row.Table.Columns.Contains("sa_level") ? row["sa_level"].ParseToInt() : 0, + authority = row["authority"].ToString(), + parent_user_name = row["parent_user_name"].ToString(), + }; + + if (string.IsNullOrEmpty(user.company_name)) + { + user.company_name = "-"; + } + if (user.group_id != "3" && !string.IsNullOrEmpty(user.parent_user_name)) + { + sql = "select authority from bxx.user where user_name='" + user.parent_user_name + "'"; + var rst = mySql.ExecuteFirst(sql); + if (mySql.Message.IsNullOrEmpty()) + { + user.parent_authority = rst; + } + } + + var data = JsonUtils.SerializeObjectToString(user); + + mySql.Close(); + return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"c\":\"" + EncrypUtil.Encryption(r2) + "\"}"; + } + mySql.Close(); + return "{\"code\":1,\"msg\":\"用户名或密码错误\"}"; + } return "{\"code\":19999,\"msg\":\"输入为空\"}"; } diff --git a/KJDService/KJD_WebService/BLL/WXXD/WXExpressOptimizeManage.cs b/KJDService/KJD_WebService/BLL/WXXD/WXExpressOptimizeManage.cs index e4abdb0..9f1c6d3 100644 --- a/KJDService/KJD_WebService/BLL/WXXD/WXExpressOptimizeManage.cs +++ b/KJDService/KJD_WebService/BLL/WXXD/WXExpressOptimizeManage.cs @@ -720,5 +720,158 @@ namespace KJD_Web.BLL.WXXD } return "{\"code\":19999,\"msg\":\"输入为空\"}"; } + + + public string AddMdyExpressOptimizeRemark(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + if (!WXUserManage.GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + + var shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'"); + var order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'"); + var remark = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "remark"))?.Replace("'", "\\'"); + if (string.IsNullOrEmpty(order_id)) + { + return "{\"code\":500,\"msg\":\"请输入订单编号\"}"; + } + if (remark == null) + { + return "{\"code\":500,\"msg\":\"请输入备注内容\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = ""; + sql = "select exists (select 1 from wxxd.express_optimize_remark where order_id='" + order_id + "')"; + var exist = mySql.ExecuteFirstInt(sql); + if (!mySql.Message.IsNullOrEmpty()) + { + mySql.Close(); + return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}"; + } + if (exist > 0) + { + sql = " UPDATE wxxd.express_optimize_remark SET "; + if (shop_id != null) + sql += " shop_id=@shop_id,"; + if (remark != null) + sql += " remark=@remark,"; + sql = sql.TrimEnd(','); + sql += " WHERE order_id=@order_id"; + } + else + { + sql = " insert into wxxd.express_optimize_remark (shop_id,order_id,"; + if (remark != null) + sql += "remark,"; + sql = sql.TrimEnd(','); + sql += ") "; + sql += " values (@shop_id,@order_id,"; + if (remark != null) + sql += "@remark,"; + sql = sql.TrimEnd(','); + sql += ");"; + } + + List paramLst = new List(); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@shop_id", Value = shop_id, }); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@remark", Value = remark, }); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@order_id", Value = order_id, }); + var rows = mySql.ExecuteAffectedRows(sql, paramLst.ToArray()); + mySql.Close(); + if (!mySql.Message.IsNullOrEmpty()) + return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}"; + else + return "{\"code\":200,\"msg\":\"success\",\"affected_rows\":" + rows + "}"; + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + + + public string GetExpressOptimizeRemark(string inputData, bool isNoUserName = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + var timeCalc = DateTime.Now; + + if (!WXUserManage.GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + + var order_ids = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_ids"))?.Replace("'", "\'"); + if (isNoUserName && order_ids.IsNullOrEmpty()) + { + return "{\"code\":500,\"msg\":\"订单号不能为空\"}"; + } + + int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(); + int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(200); + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = ""; + sql = "select count(*) from wxxd.express_optimize_remark where 1=1"; + + string where = ""; + if (order_ids != null) + where += " AND order_id in ('" + order_ids.Replace(",", "','") + "')"; + + sql += where; + + var count = 0; + count = mySql.ExecuteRowCount(sql); + + DataTable dt; + if (count == 0) + { + dt = new DataTable(); + } + else + { + sql = "select * from wxxd.express_optimize_remark where 1=1"; + sql += where; + sql += " order by id desc limit " + Math.Max(0, page - 1) * page_size + "," + page_size + ";"; + dt = mySql.ExecuteDataTable(sql); + } + mySql.Close(); + + if (!string.IsNullOrEmpty(mySql.Message)) + return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}"; + + if (dt != null) + { + try + { + List WxOptimizeRemarkInfoLst = new List(); + foreach (DataRow row in dt.Rows) + { + WxOptimizeRemarkInfoLst.Add(new WxOptimizeRemarkInfo() + { + id = row["id"].ParseToInt(), + order_id = row["order_id"].ParseToString(), + remark = row["remark"].ParseToString(), + shop_id = row["shop_id"].ParseToString(), + add_time = Convert.ToDateTime(row["add_time"]), + mdy_time = Convert.ToDateTime(row["mdy_time"]), + }); + } + JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; + var data = JsonUtils.SerializeObjectToString(WxOptimizeRemarkInfoLst, jsonSetting); + var seconds = (DateTime.Now - timeCalc).TotalSeconds.ToString("0.000"); + return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + ",\"seconds\":" + seconds + "}"; + } + 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\":\"输入为空\"}"; + } } } \ No newline at end of file diff --git a/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs b/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs index 51ae904..00e5eff 100644 --- a/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs +++ b/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs @@ -63,50 +63,70 @@ namespace KJD_Web.BLL.WXXD + mobile + "' and u.password='" + password + "'"; var dt = mySql.ExecuteDataTable(sql); - mySql.Close(); - if (dt != null) + if (!string.IsNullOrEmpty(mySql.Message)) { - foreach (DataRow row in dt.Rows) - { - UserLoginResultParam user = new UserLoginResultParam - { - id = Convert.ToInt32(row["id"]), - user_name = row["user_name"].ToString(), - nick_name = row["nick_name"].ToString(), - mobile = row["user_name"].ToString(), - password = row["password"].ToString(), - group_id = row["group_id"].ToString(), - card_id = row["card_id"].ToString(), - company_name = row["company_name"].ToString(), - is_sa = row.Table.Columns.Contains("is_sa") ? row["is_sa"].ParseToInt() : 0, - sa_level = row.Table.Columns.Contains("sa_level") ? row["sa_level"].ParseToInt() : 0, - authority = row.Table.Columns.Contains("authority") ? row["authority"].ParseToString() : "", - points = row.Table.Columns.Contains("points") ? row["points"].ParseToInt() : 0, - }; - var main_authority = row.Table.Columns.Contains("main_authority") ? row["main_authority"].ParseToString() : ""; - // 子账号积分用户权限跟随 - if (user.group_id != "3") - { - var userAuthLst = user.authority.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); - if (!main_authority.Contains("积分用户")) - { - userAuthLst.Remove("积分用户"); - user.authority = string.Join(",", userAuthLst); - } - else if (!user.authority.Contains("积分用户")) - { - user.authority = (user.authority + "," + "积分用户").Trim(','); - } - } - if (string.IsNullOrEmpty(user.company_name)) - { - user.company_name = "-"; - } - var data = JsonUtils.SerializeObjectToString(user); - return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"c\":\"" + EncrypUtil.Encryption(r2) + "\"}"; - } - return "{\"code\":1,\"msg\":\"用户名或密码错误\"}"; + mySql.Close(); + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; } + + if (dt == null) + dt = new DataTable(); + + foreach (DataRow row in dt.Rows) + { + UserLoginResultParam user = new UserLoginResultParam + { + id = Convert.ToInt32(row["id"]), + user_name = row["user_name"].ToString(), + nick_name = row["nick_name"].ToString(), + mobile = row["user_name"].ToString(), + password = row["password"].ToString(), + group_id = row["group_id"].ToString(), + card_id = row["card_id"].ToString(), + company_name = row["company_name"].ToString(), + is_sa = row.Table.Columns.Contains("is_sa") ? row["is_sa"].ParseToInt() : 0, + sa_level = row.Table.Columns.Contains("sa_level") ? row["sa_level"].ParseToInt() : 0, + authority = row.Table.Columns.Contains("authority") ? row["authority"].ParseToString() : "", + parent_user_name = row["parent_user_name"].ToString(), + points = row.Table.Columns.Contains("points") ? row["points"].ParseToInt() : 0, + }; + var main_authority = row.Table.Columns.Contains("main_authority") ? row["main_authority"].ParseToString() : ""; + // 子账号积分用户权限跟随 + if (user.group_id != "3") + { + var userAuthLst = user.authority.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); + if (!main_authority.Contains("积分用户")) + { + userAuthLst.Remove("积分用户"); + user.authority = string.Join(",", userAuthLst); + } + else if (!user.authority.Contains("积分用户")) + { + user.authority = (user.authority + "," + "积分用户").Trim(','); + } + } + if (string.IsNullOrEmpty(user.company_name)) + { + user.company_name = "-"; + } + if (user.group_id != "3" && !string.IsNullOrEmpty(user.parent_user_name)) + { + sql = "select authority from wxxd.user where user_name='" + user.parent_user_name + "'"; + var rst = mySql.ExecuteFirst(sql); + if (mySql.Message.IsNullOrEmpty()) + { + user.parent_authority = rst; + } + } + + var data = JsonUtils.SerializeObjectToString(user); + + mySql.Close(); + return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"c\":\"" + EncrypUtil.Encryption(r2) + "\"}"; + } + mySql.Close(); + return "{\"code\":1,\"msg\":\"用户名或密码错误\"}"; + } return "{\"code\":19999,\"msg\":\"输入为空\"}"; } @@ -652,6 +672,67 @@ namespace KJD_Web.BLL.WXXD } } + public string UpdateWxSaleAssistantCookie(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + var id = (RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'")).ParseToInt(); + if (id == 0) + id = 1; + var cookie = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "cookie"))?.Replace("'", "\\'"); + var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "update wxxd.wx_sale_assistant_user set cookie='" + cookie + "' WHERE id=" + id + ";"; + + var rst = mySql.ExecuteNonQuery(sql); + mySql.Close(); + if (rst && string.IsNullOrEmpty(mySql.Message)) + { + return "{\"code\":200,\"msg\":\"success\"}"; + } + if (!string.IsNullOrEmpty(mySql.Message)) + { + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + + public string GetWxSaleAssistantCookie(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + var id = (RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'")).ParseToInt(); + if (id == 0) + id = 1; + var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "select cookie from wxxd.wx_sale_assistant_user WHERE id=" + id + ";"; + + var rst = mySql.ExecuteDataTableRow(sql); + mySql.Close(); + if (string.IsNullOrEmpty(mySql.Message)) + { + return "{\"code\":200,\"cookie\":" + rst["cookie"] + "}"; + } + if (!string.IsNullOrEmpty(mySql.Message)) + { + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + /// /// temu退回包裹的密钥 /// diff --git a/KJDService/KJD_WebService/BXXProductService.asmx.cs b/KJDService/KJD_WebService/BXXProductService.asmx.cs index 52fd8d9..bf771e5 100644 --- a/KJDService/KJD_WebService/BXXProductService.asmx.cs +++ b/KJDService/KJD_WebService/BXXProductService.asmx.cs @@ -602,6 +602,5 @@ namespace KJD_Web Context.Response.Write(result); Context.Response.End(); } - //GetJstProductCoidList } } diff --git a/KJDService/KJD_WebService/Model/DBProductResultParam.cs b/KJDService/KJD_WebService/Model/DBProductResultParam.cs index d751d7b..cf12524 100644 --- a/KJDService/KJD_WebService/Model/DBProductResultParam.cs +++ b/KJDService/KJD_WebService/Model/DBProductResultParam.cs @@ -94,6 +94,7 @@ namespace KJD_Web.Model public int product_get_type { get; set; } public string product_get_type_text { get; set; } + public int? view_uv { get; set; } public int sale_count { get; set; } public string sale_count_text { get; set; } public string wx_safe_status { get; set; } diff --git a/KJDService/KJD_WebService/Model/UserLoginResultParam.cs b/KJDService/KJD_WebService/Model/UserLoginResultParam.cs index ddf19da..559ef7a 100644 --- a/KJDService/KJD_WebService/Model/UserLoginResultParam.cs +++ b/KJDService/KJD_WebService/Model/UserLoginResultParam.cs @@ -63,6 +63,10 @@ namespace KJD_Web.Model /// public string authority { get; set; } /// + /// 父账户的功能操作权限 + /// + public string parent_authority { get; set; } + /// /// 用户积分点数 /// public int points { get; set; } diff --git a/KJDService/KJD_WebService/Model/WxModel/WxOptimizeExpressInfo.cs b/KJDService/KJD_WebService/Model/WxModel/WxOptimizeExpressInfo.cs index 1bbb090..689f7e8 100644 --- a/KJDService/KJD_WebService/Model/WxModel/WxOptimizeExpressInfo.cs +++ b/KJDService/KJD_WebService/Model/WxModel/WxOptimizeExpressInfo.cs @@ -31,4 +31,14 @@ namespace KJD_Web.Model.WxModel public DateTime add_time { get; set; } public DateTime mdy_time { get; set; } } + + public class WxOptimizeRemarkInfo + { + public int id { get; set; } + public string shop_id { get; set; } + public string order_id { get; set; } + public string remark { get; set; } + public DateTime add_time { get; set; } + public DateTime mdy_time { get; set; } + } } \ No newline at end of file diff --git a/KJDService/KJD_WebService/WXProductService.asmx.cs b/KJDService/KJD_WebService/WXProductService.asmx.cs index eee933a..cec5741 100644 --- a/KJDService/KJD_WebService/WXProductService.asmx.cs +++ b/KJDService/KJD_WebService/WXProductService.asmx.cs @@ -325,5 +325,17 @@ namespace KJD_Web Context.Response.Write(result); Context.Response.End(); } + + [WebMethod] + public void is_get_wx_recommend_hot_prod() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new BXXProductManage().IsGetWXRecommendHotProd(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } } } diff --git a/KJDService/KJD_WebService/WXShopService.asmx.cs b/KJDService/KJD_WebService/WXShopService.asmx.cs index 33f7a64..9b28194 100644 --- a/KJDService/KJD_WebService/WXShopService.asmx.cs +++ b/KJDService/KJD_WebService/WXShopService.asmx.cs @@ -311,6 +311,30 @@ namespace KJD_Web Context.Response.End(); } + [WebMethod] + public void add_mdy_express_optimize_remark() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new WXExpressOptimizeManage().AddMdyExpressOptimizeRemark(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + + [WebMethod] + public void get_express_optimize_remark() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new WXExpressOptimizeManage().GetExpressOptimizeRemark(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + /// /// 修改店铺默认(售后)地址 /// diff --git a/KJDService/KJD_WebService/WXUserService.asmx.cs b/KJDService/KJD_WebService/WXUserService.asmx.cs index b93bc1f..ac76351 100644 --- a/KJDService/KJD_WebService/WXUserService.asmx.cs +++ b/KJDService/KJD_WebService/WXUserService.asmx.cs @@ -174,5 +174,28 @@ namespace KJD_Web Context.Response.Write(result); Context.Response.End(); } + + [WebMethod] + public void get_wx_sale_assistant_cookie() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new WXUserManage().GetWxSaleAssistantCookie(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + [WebMethod] + public void update_wx_sale_assistant_cookie() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new WXUserManage().UpdateWxSaleAssistantCookie(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } } } diff --git a/KJDService/KJD_WebService/Web.config b/KJDService/KJD_WebService/Web.config index 654d068..0d6067e 100644 --- a/KJDService/KJD_WebService/Web.config +++ b/KJDService/KJD_WebService/Web.config @@ -13,7 +13,12 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs index e09d2f3..824ed4d 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs @@ -32,13 +32,13 @@ namespace TemuKJD.WXForms.ProductForms private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.chkRandomCompanyProd = new TemuKJD.UserComponent.UcCheckBox(this.components); @@ -90,13 +90,15 @@ namespace TemuKJD.WXForms.ProductForms this.label9 = new System.Windows.Forms.Label(); this.chkStepAddPrice = new TemuKJD.UserComponent.UcCheckBox(this.components); this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.cmbHot = new System.Windows.Forms.ComboBox(); this.btnProdDb = new DevComponents.DotNetBar.PanelEx(); this.chkWXComplateProd = new TemuKJD.UserComponent.UcCheckBox(this.components); this.txtAddCount = new System.Windows.Forms.TextBox(); + this.cmbJstInitSet = new System.Windows.Forms.ComboBox(); this.txtSearchGoodsName = new System.Windows.Forms.TextBox(); + this.lblJstInitSet = new System.Windows.Forms.Label(); this.pbSelectProd = new System.Windows.Forms.PictureBox(); this.cmbSourceType = new System.Windows.Forms.ComboBox(); - this.cmbJstInitSet = new System.Windows.Forms.ComboBox(); this.cmbCateFilter3 = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); this.label21 = new System.Windows.Forms.Label(); this.cmbGroupFilter = new System.Windows.Forms.ComboBox(); @@ -117,8 +119,8 @@ namespace TemuKJD.WXForms.ProductForms this.lblGroupFilter = new System.Windows.Forms.Label(); this.lblWxSafe = new System.Windows.Forms.Label(); this.label20 = new System.Windows.Forms.Label(); - this.lblJstInitSet = new System.Windows.Forms.Label(); this.lblIdFilter = new System.Windows.Forms.Label(); + this.lblHot = new System.Windows.Forms.Label(); this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.btnRefreshAuthor = new DevComponents.DotNetBar.PanelEx(); this.btnSelectOffline = new DevComponents.DotNetBar.PanelEx(); @@ -948,13 +950,15 @@ namespace TemuKJD.WXForms.ProductForms | System.Windows.Forms.AnchorStyles.Left))); 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.cmbHot); this.ucGroupBoxEx4.Controls.Add(this.btnProdDb); this.ucGroupBoxEx4.Controls.Add(this.chkWXComplateProd); this.ucGroupBoxEx4.Controls.Add(this.txtAddCount); + this.ucGroupBoxEx4.Controls.Add(this.cmbJstInitSet); this.ucGroupBoxEx4.Controls.Add(this.txtSearchGoodsName); + this.ucGroupBoxEx4.Controls.Add(this.lblJstInitSet); this.ucGroupBoxEx4.Controls.Add(this.pbSelectProd); this.ucGroupBoxEx4.Controls.Add(this.cmbSourceType); - this.ucGroupBoxEx4.Controls.Add(this.cmbJstInitSet); this.ucGroupBoxEx4.Controls.Add(this.cmbCateFilter3); this.ucGroupBoxEx4.Controls.Add(this.label21); this.ucGroupBoxEx4.Controls.Add(this.cmbGroupFilter); @@ -975,8 +979,8 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx4.Controls.Add(this.lblGroupFilter); this.ucGroupBoxEx4.Controls.Add(this.lblWxSafe); this.ucGroupBoxEx4.Controls.Add(this.label20); - this.ucGroupBoxEx4.Controls.Add(this.lblJstInitSet); this.ucGroupBoxEx4.Controls.Add(this.lblIdFilter); + this.ucGroupBoxEx4.Controls.Add(this.lblHot); this.ucGroupBoxEx4.Location = new System.Drawing.Point(162, 2); this.ucGroupBoxEx4.Name = "ucGroupBoxEx4"; this.ucGroupBoxEx4.Size = new System.Drawing.Size(410, 165); @@ -984,6 +988,21 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx4.TabStop = false; this.ucGroupBoxEx4.Text = "待传商品"; // + // cmbHot + // + this.cmbHot.FormattingEnabled = true; + this.cmbHot.Items.AddRange(new object[] { + "", + "爆款数据", + "普通商品"}); + this.cmbHot.Location = new System.Drawing.Point(309, 73); + this.cmbHot.Name = "cmbHot"; + this.cmbHot.Size = new System.Drawing.Size(92, 25); + this.cmbHot.TabIndex = 837; + this.cmbHot.Text = "普通商品"; + this.cmbHot.Visible = false; + this.cmbHot.TextChanged += new System.EventHandler(this.cmbHot_TextChanged); + // // btnProdDb // this.btnProdDb.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -1010,7 +1029,7 @@ namespace TemuKJD.WXForms.ProductForms // // chkWXComplateProd // - this.chkWXComplateProd.Location = new System.Drawing.Point(180, 103); + this.chkWXComplateProd.Location = new System.Drawing.Point(277, 102); this.chkWXComplateProd.Name = "chkWXComplateProd"; this.chkWXComplateProd.Size = new System.Drawing.Size(87, 21); this.chkWXComplateProd.TabIndex = 807; @@ -1028,15 +1047,40 @@ namespace TemuKJD.WXForms.ProductForms this.txtAddCount.TabIndex = 536; this.txtAddCount.Text = "500"; // + // cmbJstInitSet + // + this.cmbJstInitSet.FormattingEnabled = true; + this.cmbJstInitSet.Items.AddRange(new object[] { + "", + "已设置", + "未设置"}); + this.cmbJstInitSet.Location = new System.Drawing.Point(178, 100); + this.cmbJstInitSet.Name = "cmbJstInitSet"; + this.cmbJstInitSet.Size = new System.Drawing.Size(92, 25); + this.cmbJstInitSet.TabIndex = 697; + this.cmbJstInitSet.Text = "已设置"; + this.cmbJstInitSet.Visible = false; + // // txtSearchGoodsName // this.txtSearchGoodsName.Font = new System.Drawing.Font("微软雅黑", 10F); - this.txtSearchGoodsName.Location = new System.Drawing.Point(178, 47); + this.txtSearchGoodsName.Location = new System.Drawing.Point(178, 46); this.txtSearchGoodsName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.txtSearchGoodsName.Name = "txtSearchGoodsName"; this.txtSearchGoodsName.Size = new System.Drawing.Size(223, 25); this.txtSearchGoodsName.TabIndex = 795; // + // lblJstInitSet + // + this.lblJstInitSet.AutoSize = true; + this.lblJstInitSet.Location = new System.Drawing.Point(147, 104); + this.lblJstInitSet.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.lblJstInitSet.Name = "lblJstInitSet"; + this.lblJstInitSet.Size = new System.Drawing.Size(32, 17); + this.lblJstInitSet.TabIndex = 696; + this.lblJstInitSet.Text = "分销"; + this.lblJstInitSet.Visible = false; + // // pbSelectProd // this.pbSelectProd.Image = global::TemuKJD.Properties.Resources.loading_blue; @@ -1062,7 +1106,7 @@ namespace TemuKJD.WXForms.ProductForms "机会商品", "以图搜品", "外部数据"}); - this.cmbSourceType.Location = new System.Drawing.Point(47, 74); + this.cmbSourceType.Location = new System.Drawing.Point(47, 73); this.cmbSourceType.Name = "cmbSourceType"; this.cmbSourceType.Size = new System.Drawing.Size(92, 25); this.cmbSourceType.TabIndex = 673; @@ -1071,20 +1115,6 @@ namespace TemuKJD.WXForms.ProductForms this.cmbSourceType.SelectedIndexChanged += new System.EventHandler(this.cmbSourceType_SelectedIndexChanged); this.cmbSourceType.TextChanged += new System.EventHandler(this.cmbSourceType_TextChanged); // - // cmbJstInitSet - // - this.cmbJstInitSet.FormattingEnabled = true; - this.cmbJstInitSet.Items.AddRange(new object[] { - "", - "已设置", - "未设置"}); - this.cmbJstInitSet.Location = new System.Drawing.Point(309, 74); - this.cmbJstInitSet.Name = "cmbJstInitSet"; - this.cmbJstInitSet.Size = new System.Drawing.Size(92, 25); - this.cmbJstInitSet.TabIndex = 697; - this.cmbJstInitSet.Text = "已设置"; - this.cmbJstInitSet.Visible = false; - // // cmbCateFilter3 // this.cmbCateFilter3.DefaultText = "全部"; @@ -1092,7 +1122,7 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCateFilter3.DropDownWidth = 1; this.cmbCateFilter3.FormattingEnabled = true; this.cmbCateFilter3.IntegralHeight = false; - this.cmbCateFilter3.Location = new System.Drawing.Point(309, 20); + this.cmbCateFilter3.Location = new System.Drawing.Point(309, 19); this.cmbCateFilter3.Name = "cmbCateFilter3"; this.cmbCateFilter3.Size = new System.Drawing.Size(92, 25); this.cmbCateFilter3.TabIndex = 710; @@ -1103,7 +1133,7 @@ namespace TemuKJD.WXForms.ProductForms // label21 // this.label21.AutoSize = true; - this.label21.Location = new System.Drawing.Point(271, 24); + this.label21.Location = new System.Drawing.Point(271, 23); this.label21.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label21.Name = "label21"; this.label21.Size = new System.Drawing.Size(39, 17); @@ -1113,7 +1143,7 @@ namespace TemuKJD.WXForms.ProductForms // cmbGroupFilter // this.cmbGroupFilter.FormattingEnabled = true; - this.cmbGroupFilter.Location = new System.Drawing.Point(178, 74); + this.cmbGroupFilter.Location = new System.Drawing.Point(178, 73); this.cmbGroupFilter.Name = "cmbGroupFilter"; this.cmbGroupFilter.Size = new System.Drawing.Size(92, 25); this.cmbGroupFilter.TabIndex = 641; @@ -1136,7 +1166,7 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCateFilter2.DropDownWidth = 1; this.cmbCateFilter2.FormattingEnabled = true; this.cmbCateFilter2.IntegralHeight = false; - this.cmbCateFilter2.Location = new System.Drawing.Point(178, 20); + this.cmbCateFilter2.Location = new System.Drawing.Point(178, 19); this.cmbCateFilter2.Name = "cmbCateFilter2"; this.cmbCateFilter2.Size = new System.Drawing.Size(92, 25); this.cmbCateFilter2.TabIndex = 708; @@ -1147,7 +1177,7 @@ namespace TemuKJD.WXForms.ProductForms // label19 // this.label19.AutoSize = true; - this.label19.Location = new System.Drawing.Point(140, 24); + this.label19.Location = new System.Drawing.Point(140, 23); this.label19.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label19.Name = "label19"; this.label19.Size = new System.Drawing.Size(39, 17); @@ -1160,7 +1190,7 @@ namespace TemuKJD.WXForms.ProductForms this.btnClearFilter.CanvasColor = System.Drawing.SystemColors.Control; this.btnClearFilter.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnClearFilter.DisabledBackColor = System.Drawing.Color.Empty; - this.btnClearFilter.Location = new System.Drawing.Point(368, 101); + this.btnClearFilter.Location = new System.Drawing.Point(368, 100); this.btnClearFilter.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); this.btnClearFilter.Name = "btnClearFilter"; this.btnClearFilter.Size = new System.Drawing.Size(33, 25); @@ -1198,7 +1228,7 @@ namespace TemuKJD.WXForms.ProductForms "安全+未校验", "安全商品", "未校验"}); - this.cmbWxSafe.Location = new System.Drawing.Point(47, 47); + this.cmbWxSafe.Location = new System.Drawing.Point(47, 46); this.cmbWxSafe.Name = "cmbWxSafe"; this.cmbWxSafe.Size = new System.Drawing.Size(92, 25); this.cmbWxSafe.TabIndex = 675; @@ -1237,7 +1267,7 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCateFilter1.DropDownWidth = 1; this.cmbCateFilter1.FormattingEnabled = true; this.cmbCateFilter1.IntegralHeight = false; - this.cmbCateFilter1.Location = new System.Drawing.Point(47, 20); + this.cmbCateFilter1.Location = new System.Drawing.Point(47, 19); this.cmbCateFilter1.Name = "cmbCateFilter1"; this.cmbCateFilter1.Size = new System.Drawing.Size(92, 25); this.cmbCateFilter1.TabIndex = 663; @@ -1248,7 +1278,7 @@ namespace TemuKJD.WXForms.ProductForms // label2 // this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(9, 24); + this.label2.Location = new System.Drawing.Point(9, 23); this.label2.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(39, 17); @@ -1295,19 +1325,18 @@ namespace TemuKJD.WXForms.ProductForms // // chkSevenDays // - this.chkSevenDays.AutoSize = true; - this.chkSevenDays.Location = new System.Drawing.Point(282, 103); + this.chkSevenDays.Location = new System.Drawing.Point(7, 127); this.chkSevenDays.Name = "chkSevenDays"; - this.chkSevenDays.Size = new System.Drawing.Size(87, 21); + this.chkSevenDays.Size = new System.Drawing.Size(87, 17); this.chkSevenDays.TabIndex = 805; this.chkSevenDays.Text = "近七日爆款"; this.chkSevenDays.UseVisualStyleBackColor = true; // // chkSkipQualification // - this.chkSkipQualification.Location = new System.Drawing.Point(7, 133); + this.chkSkipQualification.Location = new System.Drawing.Point(7, 144); this.chkSkipQualification.Name = "chkSkipQualification"; - this.chkSkipQualification.Size = new System.Drawing.Size(87, 21); + this.chkSkipQualification.Size = new System.Drawing.Size(87, 17); this.chkSkipQualification.TabIndex = 806; this.chkSkipQualification.Text = "跳过资质商品"; this.chkSkipQualification.UseVisualStyleBackColor = true; @@ -1315,7 +1344,7 @@ namespace TemuKJD.WXForms.ProductForms // lblSourceType // this.lblSourceType.AutoSize = true; - this.lblSourceType.Location = new System.Drawing.Point(16, 78); + this.lblSourceType.Location = new System.Drawing.Point(16, 77); this.lblSourceType.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.lblSourceType.Name = "lblSourceType"; this.lblSourceType.Size = new System.Drawing.Size(32, 17); @@ -1326,7 +1355,7 @@ namespace TemuKJD.WXForms.ProductForms // lblGroupFilter // this.lblGroupFilter.AutoSize = true; - this.lblGroupFilter.Location = new System.Drawing.Point(147, 78); + this.lblGroupFilter.Location = new System.Drawing.Point(147, 77); this.lblGroupFilter.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.lblGroupFilter.Name = "lblGroupFilter"; this.lblGroupFilter.Size = new System.Drawing.Size(32, 17); @@ -1337,7 +1366,7 @@ namespace TemuKJD.WXForms.ProductForms // lblWxSafe // this.lblWxSafe.AutoSize = true; - this.lblWxSafe.Location = new System.Drawing.Point(4, 50); + this.lblWxSafe.Location = new System.Drawing.Point(4, 49); this.lblWxSafe.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.lblWxSafe.Name = "lblWxSafe"; this.lblWxSafe.Size = new System.Drawing.Size(44, 17); @@ -1347,24 +1376,13 @@ namespace TemuKJD.WXForms.ProductForms // label20 // this.label20.AutoSize = true; - this.label20.Location = new System.Drawing.Point(147, 51); + this.label20.Location = new System.Drawing.Point(147, 50); this.label20.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label20.Name = "label20"; this.label20.Size = new System.Drawing.Size(32, 17); this.label20.TabIndex = 794; this.label20.Text = "标题"; // - // lblJstInitSet - // - this.lblJstInitSet.AutoSize = true; - this.lblJstInitSet.Location = new System.Drawing.Point(278, 78); - this.lblJstInitSet.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); - this.lblJstInitSet.Name = "lblJstInitSet"; - this.lblJstInitSet.Size = new System.Drawing.Size(32, 17); - this.lblJstInitSet.TabIndex = 696; - this.lblJstInitSet.Text = "分销"; - this.lblJstInitSet.Visible = false; - // // lblIdFilter // this.lblIdFilter.AutoSize = true; @@ -1376,6 +1394,17 @@ namespace TemuKJD.WXForms.ProductForms this.lblIdFilter.Text = "ID"; this.lblIdFilter.Visible = false; // + // lblHot + // + this.lblHot.AutoSize = true; + this.lblHot.Location = new System.Drawing.Point(278, 77); + this.lblHot.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.lblHot.Name = "lblHot"; + this.lblHot.Size = new System.Drawing.Size(32, 17); + this.lblHot.TabIndex = 836; + this.lblHot.Text = "爆品"; + this.lblHot.Visible = false; + // // ucGroupBoxEx1 // this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -1773,19 +1802,19 @@ namespace TemuKJD.WXForms.ProductForms // this.dgvShop.AllowUserToAddRows = false; this.dgvShop.AllowUserToDeleteRows = false; - dataGridViewCellStyle8.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle8; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; this.dgvShop.AutoRowNumber = true; this.dgvShop.BackgroundColor = System.Drawing.Color.White; this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle9.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle9; + 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, @@ -2005,19 +2034,19 @@ namespace TemuKJD.WXForms.ProductForms // this.dgvSelectProduct.AllowUserToAddRows = false; this.dgvSelectProduct.AllowUserToDeleteRows = false; - dataGridViewCellStyle10.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle10; + dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3; this.dgvSelectProduct.AutoRowNumber = true; this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White; this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle11.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle11.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle11.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle11.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle11; + 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, @@ -2078,8 +2107,8 @@ namespace TemuKJD.WXForms.ProductForms // // colSupplierName // - dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle12; + dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5; this.colSupplierName.Frozen = true; this.colSupplierName.HeaderText = "店铺名称"; this.colSupplierName.Name = "colSupplierName"; @@ -2157,8 +2186,8 @@ namespace TemuKJD.WXForms.ProductForms // // colProductName // - dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colProductName.DefaultCellStyle = dataGridViewCellStyle13; + dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProductName.DefaultCellStyle = dataGridViewCellStyle6; this.colProductName.HeaderText = "商品标题"; this.colProductName.Name = "colProductName"; this.colProductName.ReadOnly = true; @@ -2218,8 +2247,8 @@ namespace TemuKJD.WXForms.ProductForms // // colAddTime // - dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colAddTime.DefaultCellStyle = dataGridViewCellStyle14; + dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colAddTime.DefaultCellStyle = dataGridViewCellStyle7; this.colAddTime.HeaderText = "上传时间"; this.colAddTime.Name = "colAddTime"; this.colAddTime.ReadOnly = true; @@ -2523,5 +2552,7 @@ namespace TemuKJD.WXForms.ProductForms private UserComponent.UcComboBoxMutiSelect cmbCateFilter1; private UserComponent.UcComboBoxMutiSelect cmbCateFilter3; private UserComponent.UcComboBoxMutiSelect cmbCateFilter2; + private System.Windows.Forms.ComboBox cmbHot; + private System.Windows.Forms.Label lblHot; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs index 272d8a9..91953b5 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs @@ -296,10 +296,13 @@ namespace TemuKJD.WXForms.ProductForms cmbGroupFilter.Visible = true; lblJstInitSet.Visible = true; cmbJstInitSet.Visible = true; + lblHot.Visible = true; + cmbHot.Visible = true; } if (BaseClass.UserAuthority.ParseToString().Contains("货源选择")) { + lblSourceType.Visible = true; cmbSourceType.Visible = true; if (!string.IsNullOrWhiteSpace(cmbSourceType.Text)) { @@ -312,7 +315,17 @@ namespace TemuKJD.WXForms.ProductForms chkWXComplateProd.Visible = true; chkUseWXComplateProd.Visible = true; } -//#endif + if (BaseClass.UserAuthority.ParseToString().Contains("爆款数据")) + { + lblHot.Visible = true; + cmbHot.Visible = true; + if (!string.IsNullOrWhiteSpace(cmbSourceType.Text)) + { + lblGroupFilter.Visible = true; + cmbGroupFilter.Visible = true; + } + } + //#endif if (BaseClass.SaLevel == 1) { //chkImgRandomBlock.Visible = true; @@ -476,7 +489,11 @@ namespace TemuKJD.WXForms.ProductForms string sourceType = cmbSourceType.Text.Trim(); Task.Run(() => { - PDDDBProdListForm.GetPDDProductGroup(cmbGroupFilter, sourceType, "", BaseClass.UserAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.UserName) : "admin"); // 同时刷新下商品分组 + // 同时刷新下商品分组 + string addUserName = BaseClass.UserAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.UserName) : "admin"; + if (BaseClass.GroupId != 3) + addUserName = BaseClass.ParentAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.ParentUserName) : "admin"; + PDDDBProdListForm.GetPDDProductGroup(cmbGroupFilter, sourceType, "", addUserName); // 同时刷新下商品分组 GetPddProductCate(); Invoke(new Action(() => { @@ -506,7 +523,7 @@ namespace TemuKJD.WXForms.ProductForms Invoke(new Action(() => { - if (cmbSourceType.Text.Trim() != "厂商直采" && cmbSourceType.Text.Trim() != "微信店采") + if (cmbSourceType.Text.Trim() != "厂商直采" && cmbSourceType.Text.Trim() != "微信店采" && cmbSourceType.Text.Trim() != "微信小店") { fillPddCate(); } @@ -1254,6 +1271,8 @@ namespace TemuKJD.WXForms.ProductForms data += "&wx_safe_status=安全商品,未校验"; if (noBanWx) data += "&ban_wx=0"; + if (BaseClass.SaLevel > 0 || BaseClass.UserAuthority.Contains("爆款数据")) + data += "&special_prod_type=普通商品,书籍,爆款数据"; var html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) @@ -1355,7 +1374,9 @@ namespace TemuKJD.WXForms.ProductForms #region 跳过已上传商品 if (chkSkipUploaded.Checked) { - var searchExtCode = "EC1" + dbProd.spu_id + "A"; + var searchExtCode = dbProd.ext_code; + if (searchExtCode.ParseToString().Length < 10) + searchExtCode = "EC1" + dbProd.spu_id + "A"; if (dbProd.sku_secret_json != null && dbProd.sku_secret_json.Contains("goodsId")) { var sku_secret_json = dbProd.sku_secret_json; @@ -1803,7 +1824,7 @@ namespace TemuKJD.WXForms.ProductForms #region 设置货号 var extCode = dbProd.ext_code.IsNullOrEmpty() ? prodInfo.detail.out_goods_sn : dbProd.ext_code; - if (extCode.IsNullOrEmpty() || extCode.Length < 4) + if (extCode.IsNullOrEmpty() || extCode.Length <= 10) { //extCode = "EC" + Randomx.GetId(1000).ToString().PadLeft(3, '0') + dbProd.spu_id + "C"; extCode = "EC1" + dbProd.spu_id + "A"; @@ -2609,8 +2630,24 @@ namespace TemuKJD.WXForms.ProductForms error = expressRst; return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"运费模板获取失败 " + error + "\"}"; } - upProdParam.product.info.expressInfo = new expressInfoParam(); - upProdParam.product.info.expressInfo.templateId = BaseRegex.GetStringJson(ref expressRst, "templateId"); + try + { + var addressArr = JsonHelper.JObjectParse(expressRst)["freightTemplateList"]; + foreach (var addressObj in addressArr) + { + if (addressObj["isDefault"].ParseToInt() == 1) + { + string templateId = addressObj["templateId"].ParseToString(); + upProdParam.product.info.expressInfo = new expressInfoParam(); + upProdParam.product.info.expressInfo.templateId = templateId; // BaseRegex.GetStringJson(ref expressRst, "templateId"); + break; + } + } + } + catch (Exception ex) + { + return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"运费模板获取失败 " + ex.Message + "\"}"; + } #endregion #region 详情图 @@ -3064,7 +3101,7 @@ namespace TemuKJD.WXForms.ProductForms else if (attr.value == "ml") { if ((propInfo.values.FirstOrDefault()?.value).ParseToString().EndsWith(attr.value)) - attrValue = propInfo.values.FirstOrDefault()?.value; + attrValue = propInfo.values.FirstOrDefault()?.value.TrimStart('-', ' '); else attrValue = "100 ml"; } @@ -3567,6 +3604,11 @@ namespace TemuKJD.WXForms.ProductForms skuParam.productSkuInfo.salePrice += (shipPrice * defaultAddPriceRule.ShippingPriceTimes).ParseToInt(); // sku图 skuParam.productSkuInfo.thumbImg = upProdParam.product.info.productSaleAttrs[0].items.FirstOrDefault(a => a.value == skuInfo.spec[0].spec_name)?.imgUrl; + if (dbProd.special_prod_type == "爆款数据") + { + if (!skuInfo.out_sku_sn.StartsWith("BS")) // Best-seller 爆款 + skuInfo.out_sku_sn = "BS" + skuInfo.out_sku_sn; + } skuParam.productSkuInfo.skuCode = skuInfo.out_sku_sn; skuParam.productSkuInfo.outSkuId = skuInfo.out_sku_sn; skuParam.productSkuInfo.out_sku_id = skuInfo.out_sku_sn; @@ -4465,18 +4507,26 @@ namespace TemuKJD.WXForms.ProductForms data = UserLogin.GetSignaturex() + "&page=" + 1 + "&page_size=" + pageSize; - data += "&ban_wx=0"; if (isNotCount) { data += "&is_not_count=" + true; data += "&prod_count=" + totalProdCount; } + data += "&ban_wx=0"; + data += "&in_ext_codes=" + txtExtCodeFilter.Text; data += "&in_spu_ids=" + txtIdFilter.Text; data += "&in_groups=" + cmbGroupFilter.Text; + data += "&product_name=" + txtSearchGoodsName.Text.Trim(); - data += "&add_user_name=" + (BaseClass.UserAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.UserName) : "admin"); + // 同时刷新下商品分组 + string addUserName = BaseClass.UserAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.UserName) : "admin"; + if (BaseClass.GroupId != 3) + addUserName = BaseClass.ParentAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.ParentUserName) : "admin"; + data += "&add_user_name=" + addUserName; + // 采集来源判断 + data += "&product_get_type=" + cmbSourceType.Text.Trim(); if (cmbSourceType.Text != "厂商直采" && cmbSourceType.Text != "1688厂家" && cmbSourceType.Text != "微信店采" && cmbSourceType.Text != "微信小店") data += "&in_cates=" + (cmbCateFilter1.Text == "全部" ? "" : cmbCateFilter1.Text); else @@ -4520,14 +4570,24 @@ namespace TemuKJD.WXForms.ProductForms if (!string.IsNullOrEmpty(cmbCateFilter3.Text) && selectCate3?.Count > 0) data += "&wx_cat_3=" + string.Join(",", selectCate3.Select(c => c.cat_id).ToList()); } - data += "&product_get_type=" + cmbSourceType.Text.Trim(); - data += "&wx_safe_status=" + cmbWxSafe.Text.Trim().Replace("安全+未校验", "安全商品,未校验"); - data += "&is_supplier_prod_ok=" + cmbJstInitSet.Text.Trim(); - data += "&product_name=" + txtSearchGoodsName.Text.Trim(); + // 爆款数据商品 + if (!string.IsNullOrWhiteSpace(cmbHot.Text.Trim())) + data += "&special_prod_type=" + cmbHot.Text.Replace("普通商品", "普通商品,书籍"); + else + data += "&special_prod_type=普通商品,书籍"; + + // 聚水潭商品处理条件校验 + data += "&is_supplier_prod_ok=" + cmbJstInitSet.Text.Trim(); + + // 微信安全商品检测 + data += "&wx_safe_status=" + cmbWxSafe.Text.Trim().Replace("安全+未校验", "安全商品,未校验"); + + // 7天爆款数据 if (chkSevenDays.Checked) data += "&add_days_less=21"; + // 回采数据 if (chkWXComplateProd.Checked) data += "&has_wx_format=1"; })); @@ -4748,6 +4808,7 @@ namespace TemuKJD.WXForms.ProductForms cmbCateFilter1.Text = ""; cmbWxSafe.Text = "安全+未校验"; cmbSourceType.Text = "厂商直采"; + cmbHot.Text = "普通商品"; chkSkipQualification.Checked = false; int prodCount; @@ -4941,7 +5002,11 @@ namespace TemuKJD.WXForms.ProductForms string sourceType = cmbSourceType.Text.Trim(); Task.Run(() => { - PDDDBProdListForm.GetPDDProductGroup(cmbGroupFilter, sourceType, "", BaseClass.UserAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.UserName) : "admin"); // 同时刷新下商品分组 + // 同时刷新下商品分组 + string addUserName = BaseClass.UserAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.UserName) : "admin"; + if (BaseClass.GroupId != 3) + addUserName = BaseClass.ParentAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.ParentUserName) : "admin"; + PDDDBProdListForm.GetPDDProductGroup(cmbGroupFilter, sourceType, "", addUserName); // 同时刷新下商品分组 }); if (!string.IsNullOrWhiteSpace(cmbSourceType.Text)) { @@ -5248,6 +5313,20 @@ namespace TemuKJD.WXForms.ProductForms lblWaitToUp.Text = "待上传 " + lstTemuDBProductSelect.Count + " 件"; })); } + + private void cmbHot_TextChanged(object sender, EventArgs e) + { + if (cmbHot.Text == "爆款数据") + { + cmbSourceType.Text = ""; + cmbJstInitSet.Text = "未设置"; + } + else + { + cmbSourceType.Text = "厂商直采"; + cmbJstInitSet.Text = "已设置"; + } + } } public class WXUpload diff --git a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisitForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisitForm.Designer.cs new file mode 100644 index 0000000..876ee13 --- /dev/null +++ b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisitForm.Designer.cs @@ -0,0 +1,1556 @@ + +using TemuKJD.PDDForms.ProductSelectForms; + +namespace TemuKJD.WXForms.ProductForms +{ + partial class WXProdClearNoVisitForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.label6 = new System.Windows.Forms.Label(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.btnBatchRealDel = new DevComponents.DotNetBar.PanelEx(); + this.btnBatchDel = new DevComponents.DotNetBar.PanelEx(); + this.label4 = new System.Windows.Forms.Label(); + this.txtFiltSaleNum = new System.Windows.Forms.TextBox(); + this.btnFiltSelect = new DevComponents.DotNetBar.PanelEx(); + this.btnStopUpDownOrDel = new DevComponents.DotNetBar.PanelEx(); + this.btnClearList = new DevComponents.DotNetBar.PanelEx(); + this.btnDown = new DevComponents.DotNetBar.PanelEx(); + this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.label1 = new System.Windows.Forms.Label(); + this.rb30 = new System.Windows.Forms.RadioButton(); + this.rb7 = new System.Windows.Forms.RadioButton(); + this.cmbOnSaleStatus = new System.Windows.Forms.ComboBox(); + this.btnStopSearch = new DevComponents.DotNetBar.PanelEx(); + this.txtPageEnd = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.btnClearFilter = new DevComponents.DotNetBar.PanelEx(); + this.btnSearchProd = new DevComponents.DotNetBar.PanelEx(); + this.label5 = new System.Windows.Forms.Label(); + this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnRefreshAuthor = new DevComponents.DotNetBar.PanelEx(); + this.btnSelectOffline = new DevComponents.DotNetBar.PanelEx(); + this.btnSelectOnline = new DevComponents.DotNetBar.PanelEx(); + this.btnAddUnSelect = new DevComponents.DotNetBar.PanelEx(); + this.btnReverse = new DevComponents.DotNetBar.PanelEx(); + this.cmbFilterShopNotes = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); + this.btnAddSelect = new DevComponents.DotNetBar.PanelEx(); + this.btnEmptyShop = new DevComponents.DotNetBar.PanelEx(); + this.btnFilterShop = new DevComponents.DotNetBar.PanelEx(); + this.label16 = new System.Windows.Forms.Label(); + this.txtFilterShopName = new System.Windows.Forms.TextBox(); + this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx(); + this.label17 = new System.Windows.Forms.Label(); + this.splitContainer3 = new System.Windows.Forms.SplitContainer(); + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.pbLoadingShop = new System.Windows.Forms.PictureBox(); + this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSelectProduct = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colApi = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colUploadCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colOnSaleNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colRemaining = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.pbLoading = new System.Windows.Forms.PictureBox(); + this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components); + 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.colLogin = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colInShop = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colSpuId = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colSkcId = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colDraftId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colProductSkcPic = new System.Windows.Forms.DataGridViewImageColumn(); + this.colSkuFakeImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSkuFakeImg = 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.colPrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSoldNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colPreSale = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colUserNotes = new System.Windows.Forms.DataGridViewLinkColumn(); + this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); + 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(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.ucGroupBoxEx3.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.pbLoadingShop)).BeginInit(); + ((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.ucGroupBoxEx3); + 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(1346, 641); + this.splitContainer1.SplitterDistance = 165; + this.splitContainer1.TabIndex = 11; + // + // ucGroupBoxEx3 + // + this.ucGroupBoxEx3.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.ucGroupBoxEx3.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.ucGroupBoxEx3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.ucGroupBoxEx3.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx3.Controls.Add(this.label6); + this.ucGroupBoxEx3.Controls.Add(this.textBox1); + this.ucGroupBoxEx3.Controls.Add(this.btnBatchRealDel); + this.ucGroupBoxEx3.Controls.Add(this.btnBatchDel); + this.ucGroupBoxEx3.Controls.Add(this.label4); + this.ucGroupBoxEx3.Controls.Add(this.txtFiltSaleNum); + this.ucGroupBoxEx3.Controls.Add(this.btnFiltSelect); + this.ucGroupBoxEx3.Controls.Add(this.btnStopUpDownOrDel); + this.ucGroupBoxEx3.Controls.Add(this.btnClearList); + this.ucGroupBoxEx3.Controls.Add(this.btnDown); + this.ucGroupBoxEx3.Location = new System.Drawing.Point(570, 2); + this.ucGroupBoxEx3.Name = "ucGroupBoxEx3"; + this.ucGroupBoxEx3.Size = new System.Drawing.Size(774, 165); + this.ucGroupBoxEx3.TabIndex = 668; + this.ucGroupBoxEx3.TabStop = false; + this.ucGroupBoxEx3.Text = "商品下架"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(191, 34); + this.label6.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(68, 17); + this.label6.TabIndex = 891; + this.label6.Text = "曝光量低于"; + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(259, 31); + this.textBox1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(33, 23); + this.textBox1.TabIndex = 890; + this.textBox1.Text = "100"; + // + // btnBatchRealDel + // + this.btnBatchRealDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnBatchRealDel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnBatchRealDel.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnBatchRealDel.DisabledBackColor = System.Drawing.Color.Empty; + this.btnBatchRealDel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnBatchRealDel.Location = new System.Drawing.Point(668, 91); + this.btnBatchRealDel.Name = "btnBatchRealDel"; + this.btnBatchRealDel.Size = new System.Drawing.Size(84, 23); + this.btnBatchRealDel.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnBatchRealDel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnBatchRealDel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnBatchRealDel.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnBatchRealDel.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnBatchRealDel.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnBatchRealDel.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnBatchRealDel.Style.GradientAngle = 90; + this.btnBatchRealDel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnBatchRealDel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnBatchRealDel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnBatchRealDel.TabIndex = 865; + this.btnBatchRealDel.Text = "彻底刪除"; + this.btnBatchRealDel.Click += new System.EventHandler(this.btnBatchRealDel_Click); + // + // btnBatchDel + // + this.btnBatchDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnBatchDel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnBatchDel.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnBatchDel.DisabledBackColor = System.Drawing.Color.Empty; + this.btnBatchDel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnBatchDel.Location = new System.Drawing.Point(668, 61); + this.btnBatchDel.Name = "btnBatchDel"; + this.btnBatchDel.Size = new System.Drawing.Size(84, 23); + this.btnBatchDel.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnBatchDel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnBatchDel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnBatchDel.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnBatchDel.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnBatchDel.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnBatchDel.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnBatchDel.Style.GradientAngle = 90; + this.btnBatchDel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnBatchDel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnBatchDel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnBatchDel.TabIndex = 817; + this.btnBatchDel.Text = "批量刪除"; + this.btnBatchDel.Click += new System.EventHandler(this.btnBatchDel_Click); + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(96, 34); + this.label4.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(56, 17); + this.label4.TabIndex = 801; + this.label4.Text = "销量低于"; + // + // txtFiltSaleNum + // + this.txtFiltSaleNum.Location = new System.Drawing.Point(152, 31); + this.txtFiltSaleNum.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.txtFiltSaleNum.Name = "txtFiltSaleNum"; + this.txtFiltSaleNum.Size = new System.Drawing.Size(33, 23); + this.txtFiltSaleNum.TabIndex = 795; + this.txtFiltSaleNum.Text = "1"; + // + // btnFiltSelect + // + this.btnFiltSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnFiltSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnFiltSelect.DisabledBackColor = System.Drawing.Color.Empty; + this.btnFiltSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnFiltSelect.Location = new System.Drawing.Point(32, 31); + this.btnFiltSelect.Name = "btnFiltSelect"; + this.btnFiltSelect.Size = new System.Drawing.Size(62, 23); + this.btnFiltSelect.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnFiltSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFiltSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFiltSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnFiltSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnFiltSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnFiltSelect.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnFiltSelect.Style.GradientAngle = 90; + this.btnFiltSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnFiltSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnFiltSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnFiltSelect.TabIndex = 794; + this.btnFiltSelect.Text = "批量选择"; + this.btnFiltSelect.Click += new System.EventHandler(this.btnFiltSelect_Click); + // + // btnStopUpDownOrDel + // + this.btnStopUpDownOrDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnStopUpDownOrDel.CanvasColor = System.Drawing.SystemColors.Control; + this.btnStopUpDownOrDel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnStopUpDownOrDel.DisabledBackColor = System.Drawing.Color.Empty; + this.btnStopUpDownOrDel.Location = new System.Drawing.Point(668, 121); + this.btnStopUpDownOrDel.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnStopUpDownOrDel.Name = "btnStopUpDownOrDel"; + this.btnStopUpDownOrDel.Size = new System.Drawing.Size(84, 23); + this.btnStopUpDownOrDel.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnStopUpDownOrDel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnStopUpDownOrDel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnStopUpDownOrDel.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnStopUpDownOrDel.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStopUpDownOrDel.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnStopUpDownOrDel.Style.GradientAngle = 90; + this.btnStopUpDownOrDel.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnStopUpDownOrDel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnStopUpDownOrDel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStopUpDownOrDel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStopUpDownOrDel.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnStopUpDownOrDel.TabIndex = 546; + this.btnStopUpDownOrDel.Text = "停止下/刪"; + this.btnStopUpDownOrDel.Click += new System.EventHandler(this.btnStop_Click); + // + // btnClearList + // + this.btnClearList.CanvasColor = System.Drawing.SystemColors.Control; + this.btnClearList.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnClearList.DisabledBackColor = System.Drawing.Color.Empty; + this.btnClearList.Location = new System.Drawing.Point(32, 68); + this.btnClearList.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnClearList.Name = "btnClearList"; + this.btnClearList.Size = new System.Drawing.Size(84, 23); + this.btnClearList.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearList.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnClearList.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnClearList.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnClearList.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearList.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnClearList.Style.GradientAngle = 90; + this.btnClearList.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearList.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearList.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearList.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearList.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnClearList.TabIndex = 612; + this.btnClearList.Text = "清空列表选中"; + this.btnClearList.Click += new System.EventHandler(this.btnClearDgv_Click); + // + // btnDown + // + this.btnDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnDown.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnDown.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnDown.DisabledBackColor = System.Drawing.Color.Empty; + this.btnDown.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnDown.Location = new System.Drawing.Point(668, 31); + this.btnDown.Name = "btnDown"; + this.btnDown.Size = new System.Drawing.Size(84, 23); + this.btnDown.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnDown.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnDown.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnDown.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnDown.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnDown.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnDown.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnDown.Style.GradientAngle = 90; + this.btnDown.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnDown.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnDown.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnDown.TabIndex = 517; + this.btnDown.Text = "批量下架"; + this.btnDown.Click += new System.EventHandler(this.btnDown_Click); + // + // ucGroupBoxEx4 + // + this.ucGroupBoxEx4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + 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.label1); + this.ucGroupBoxEx4.Controls.Add(this.rb30); + this.ucGroupBoxEx4.Controls.Add(this.rb7); + this.ucGroupBoxEx4.Controls.Add(this.cmbOnSaleStatus); + this.ucGroupBoxEx4.Controls.Add(this.btnStopSearch); + this.ucGroupBoxEx4.Controls.Add(this.txtPageEnd); + this.ucGroupBoxEx4.Controls.Add(this.label2); + this.ucGroupBoxEx4.Controls.Add(this.btnClearFilter); + this.ucGroupBoxEx4.Controls.Add(this.btnSearchProd); + this.ucGroupBoxEx4.Controls.Add(this.label5); + this.ucGroupBoxEx4.Location = new System.Drawing.Point(161, 2); + this.ucGroupBoxEx4.Name = "ucGroupBoxEx4"; + this.ucGroupBoxEx4.Size = new System.Drawing.Size(410, 165); + this.ucGroupBoxEx4.TabIndex = 666; + this.ucGroupBoxEx4.TabStop = false; + this.ucGroupBoxEx4.Text = "商品流量查询"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(215, 29); + this.label1.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(56, 17); + this.label1.TabIndex = 829; + this.label1.Text = "查询天数"; + // + // rb30 + // + this.rb30.AutoSize = true; + this.rb30.Location = new System.Drawing.Point(338, 27); + this.rb30.Name = "rb30"; + this.rb30.Size = new System.Drawing.Size(52, 21); + this.rb30.TabIndex = 828; + this.rb30.TabStop = true; + this.rb30.Text = "30天"; + this.rb30.UseVisualStyleBackColor = true; + // + // rb7 + // + this.rb7.AutoSize = true; + this.rb7.Location = new System.Drawing.Point(285, 27); + this.rb7.Name = "rb7"; + this.rb7.Size = new System.Drawing.Size(45, 21); + this.rb7.TabIndex = 827; + this.rb7.TabStop = true; + this.rb7.Text = "7天"; + this.rb7.UseVisualStyleBackColor = true; + // + // cmbOnSaleStatus + // + this.cmbOnSaleStatus.FormattingEnabled = true; + this.cmbOnSaleStatus.Items.AddRange(new object[] { + "全部(在售和下架)", + "在售", + "下架", + "审核待处理", + "草稿箱", + "回收站"}); + this.cmbOnSaleStatus.Location = new System.Drawing.Point(68, 59); + this.cmbOnSaleStatus.Name = "cmbOnSaleStatus"; + this.cmbOnSaleStatus.Size = new System.Drawing.Size(134, 25); + this.cmbOnSaleStatus.TabIndex = 817; + this.cmbOnSaleStatus.Text = "在售"; + this.cmbOnSaleStatus.SelectedIndexChanged += new System.EventHandler(this.cmbOnSaleStatus_SelectedIndexChanged); + this.cmbOnSaleStatus.TextChanged += new System.EventHandler(this.cmbOnSaleStatus_TextChanged); + // + // btnStopSearch + // + this.btnStopSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnStopSearch.CanvasColor = System.Drawing.SystemColors.Control; + this.btnStopSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnStopSearch.DisabledBackColor = System.Drawing.Color.Empty; + this.btnStopSearch.Location = new System.Drawing.Point(338, 127); + this.btnStopSearch.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnStopSearch.Name = "btnStopSearch"; + this.btnStopSearch.Size = new System.Drawing.Size(58, 25); + this.btnStopSearch.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnStopSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnStopSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnStopSearch.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnStopSearch.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStopSearch.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnStopSearch.Style.GradientAngle = 90; + this.btnStopSearch.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnStopSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnStopSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStopSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStopSearch.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnStopSearch.TabIndex = 805; + this.btnStopSearch.Text = "停止查询"; + this.btnStopSearch.Click += new System.EventHandler(this.btnStop_Click); + // + // txtPageEnd + // + this.txtPageEnd.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtPageEnd.Location = new System.Drawing.Point(68, 25); + this.txtPageEnd.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtPageEnd.Name = "txtPageEnd"; + this.txtPageEnd.Size = new System.Drawing.Size(134, 25); + this.txtPageEnd.TabIndex = 792; + this.txtPageEnd.Text = "1000"; + this.txtPageEnd.TextChanged += new System.EventHandler(this.txtPageEnd_TextChanged); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(13, 29); + this.label2.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label2.Name = "label2"; + this.label2.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.label2.Size = new System.Drawing.Size(56, 17); + this.label2.TabIndex = 793; + this.label2.Text = "查询页数"; + // + // btnClearFilter + // + this.btnClearFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnClearFilter.CanvasColor = System.Drawing.SystemColors.Control; + this.btnClearFilter.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnClearFilter.DisabledBackColor = System.Drawing.Color.Empty; + this.btnClearFilter.Location = new System.Drawing.Point(276, 127); + this.btnClearFilter.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnClearFilter.Name = "btnClearFilter"; + this.btnClearFilter.Size = new System.Drawing.Size(58, 25); + this.btnClearFilter.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearFilter.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnClearFilter.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnClearFilter.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnClearFilter.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearFilter.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnClearFilter.Style.GradientAngle = 90; + this.btnClearFilter.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearFilter.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearFilter.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearFilter.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearFilter.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnClearFilter.TabIndex = 548; + this.btnClearFilter.Text = "清空条件"; + this.btnClearFilter.Click += new System.EventHandler(this.btnClearFilter_Click); + // + // btnSearchProd + // + this.btnSearchProd.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSearchProd.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSearchProd.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSearchProd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSearchProd.Location = new System.Drawing.Point(175, 127); + this.btnSearchProd.Name = "btnSearchProd"; + this.btnSearchProd.Size = new System.Drawing.Size(96, 25); + this.btnSearchProd.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearchProd.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearchProd.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearchProd.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSearchProd.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSearchProd.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSearchProd.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSearchProd.Style.GradientAngle = 90; + this.btnSearchProd.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearchProd.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearchProd.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearchProd.TabIndex = 431; + this.btnSearchProd.Text = "商品流量查询"; + this.btnSearchProd.Click += new System.EventHandler(this.btnSearchProd_Click); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(13, 63); + this.label5.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label5.Name = "label5"; + this.label5.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.label5.Size = new System.Drawing.Size(56, 17); + this.label5.TabIndex = 818; + this.label5.Text = "商品状态"; + // + // ucGroupBoxEx1 + // + this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx1.Controls.Add(this.btnRefreshAuthor); + this.ucGroupBoxEx1.Controls.Add(this.btnSelectOffline); + this.ucGroupBoxEx1.Controls.Add(this.btnSelectOnline); + this.ucGroupBoxEx1.Controls.Add(this.btnAddUnSelect); + this.ucGroupBoxEx1.Controls.Add(this.btnReverse); + this.ucGroupBoxEx1.Controls.Add(this.cmbFilterShopNotes); + this.ucGroupBoxEx1.Controls.Add(this.btnAddSelect); + this.ucGroupBoxEx1.Controls.Add(this.btnEmptyShop); + this.ucGroupBoxEx1.Controls.Add(this.btnFilterShop); + this.ucGroupBoxEx1.Controls.Add(this.label16); + this.ucGroupBoxEx1.Controls.Add(this.txtFilterShopName); + this.ucGroupBoxEx1.Controls.Add(this.btnRefreshShop); + this.ucGroupBoxEx1.Controls.Add(this.label17); + this.ucGroupBoxEx1.Location = new System.Drawing.Point(2, 2); + this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; + this.ucGroupBoxEx1.Size = new System.Drawing.Size(160, 165); + this.ucGroupBoxEx1.TabIndex = 399; + this.ucGroupBoxEx1.TabStop = false; + this.ucGroupBoxEx1.Text = "店铺筛选"; + // + // btnRefreshAuthor + // + this.btnRefreshAuthor.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshAuthor.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshAuthor.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshAuthor.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshAuthor.Location = new System.Drawing.Point(81, 17); + this.btnRefreshAuthor.Name = "btnRefreshAuthor"; + this.btnRefreshAuthor.Size = new System.Drawing.Size(70, 20); + this.btnRefreshAuthor.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshAuthor.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAuthor.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAuthor.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnRefreshAuthor.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnRefreshAuthor.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnRefreshAuthor.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnRefreshAuthor.Style.GradientAngle = 90; + this.btnRefreshAuthor.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshAuthor.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshAuthor.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshAuthor.TabIndex = 800; + this.btnRefreshAuthor.Text = "刷新授权"; + this.btnRefreshAuthor.Click += new System.EventHandler(this.btnRefreshAuthor_Click); + // + // btnSelectOffline + // + this.btnSelectOffline.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSelectOffline.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSelectOffline.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSelectOffline.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSelectOffline.Location = new System.Drawing.Point(61, 137); + this.btnSelectOffline.Name = "btnSelectOffline"; + this.btnSelectOffline.Size = new System.Drawing.Size(50, 20); + this.btnSelectOffline.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelectOffline.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelectOffline.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelectOffline.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSelectOffline.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSelectOffline.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSelectOffline.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSelectOffline.Style.GradientAngle = 90; + this.btnSelectOffline.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelectOffline.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelectOffline.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelectOffline.TabIndex = 772; + this.btnSelectOffline.Text = "选掉线"; + this.btnSelectOffline.Click += new System.EventHandler(this.btnSelectOffline_Click); + // + // btnSelectOnline + // + this.btnSelectOnline.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSelectOnline.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSelectOnline.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSelectOnline.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSelectOnline.Location = new System.Drawing.Point(9, 137); + this.btnSelectOnline.Name = "btnSelectOnline"; + this.btnSelectOnline.Size = new System.Drawing.Size(50, 20); + this.btnSelectOnline.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelectOnline.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelectOnline.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelectOnline.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSelectOnline.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSelectOnline.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSelectOnline.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSelectOnline.Style.GradientAngle = 90; + this.btnSelectOnline.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelectOnline.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelectOnline.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelectOnline.TabIndex = 768; + this.btnSelectOnline.Text = "选在线"; + this.btnSelectOnline.Click += new System.EventHandler(this.btnSelectOnline_Click); + // + // btnAddUnSelect + // + this.btnAddUnSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnAddUnSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnAddUnSelect.DisabledBackColor = System.Drawing.Color.Empty; + this.btnAddUnSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnAddUnSelect.Location = new System.Drawing.Point(81, 115); + this.btnAddUnSelect.Name = "btnAddUnSelect"; + this.btnAddUnSelect.Size = new System.Drawing.Size(70, 20); + this.btnAddUnSelect.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddUnSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddUnSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddUnSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnAddUnSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnAddUnSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnAddUnSelect.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnAddUnSelect.Style.GradientAngle = 90; + this.btnAddUnSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddUnSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddUnSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddUnSelect.TabIndex = 746; + this.btnAddUnSelect.Text = "弃选条件"; + this.btnAddUnSelect.Click += new System.EventHandler(this.btnAddUnSelect_Click); + // + // btnReverse + // + this.btnReverse.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnReverse.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnReverse.DisabledBackColor = System.Drawing.Color.Empty; + this.btnReverse.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnReverse.Location = new System.Drawing.Point(113, 137); + this.btnReverse.Name = "btnReverse"; + this.btnReverse.Size = new System.Drawing.Size(38, 20); + this.btnReverse.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnReverse.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnReverse.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnReverse.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnReverse.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnReverse.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnReverse.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnReverse.Style.GradientAngle = 90; + this.btnReverse.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnReverse.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnReverse.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnReverse.TabIndex = 726; + this.btnReverse.Text = "反选"; + this.btnReverse.Click += new System.EventHandler(this.btnReverse_Click); + // + // cmbFilterShopNotes + // + this.cmbFilterShopNotes.DefaultText = "全部"; + this.cmbFilterShopNotes.DropDownHeight = 1; + this.cmbFilterShopNotes.DropDownWidth = 1; + this.cmbFilterShopNotes.FormattingEnabled = true; + this.cmbFilterShopNotes.IntegralHeight = false; + this.cmbFilterShopNotes.Location = new System.Drawing.Point(38, 66); + this.cmbFilterShopNotes.Name = "cmbFilterShopNotes"; + this.cmbFilterShopNotes.Size = new System.Drawing.Size(113, 25); + this.cmbFilterShopNotes.TabIndex = 442; + this.cmbFilterShopNotes.Text = "全部"; + // + // btnAddSelect + // + this.btnAddSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnAddSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnAddSelect.DisabledBackColor = System.Drawing.Color.Empty; + this.btnAddSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnAddSelect.Location = new System.Drawing.Point(9, 115); + this.btnAddSelect.Name = "btnAddSelect"; + this.btnAddSelect.Size = new System.Drawing.Size(70, 20); + this.btnAddSelect.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnAddSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnAddSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnAddSelect.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnAddSelect.Style.GradientAngle = 90; + this.btnAddSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddSelect.TabIndex = 742; + this.btnAddSelect.Text = "选中条件"; + this.btnAddSelect.Click += new System.EventHandler(this.btnAddSelect_Click); + // + // btnEmptyShop + // + this.btnEmptyShop.CanvasColor = System.Drawing.SystemColors.Control; + this.btnEmptyShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnEmptyShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnEmptyShop.Location = new System.Drawing.Point(113, 93); + this.btnEmptyShop.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnEmptyShop.Name = "btnEmptyShop"; + this.btnEmptyShop.Size = new System.Drawing.Size(38, 20); + this.btnEmptyShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmptyShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnEmptyShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnEmptyShop.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnEmptyShop.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmptyShop.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnEmptyShop.Style.GradientAngle = 90; + this.btnEmptyShop.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmptyShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmptyShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmptyShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmptyShop.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnEmptyShop.TabIndex = 713; + this.btnEmptyShop.Text = "清空"; + this.btnEmptyShop.Click += new System.EventHandler(this.btnEmptyShop_Click); + // + // btnFilterShop + // + this.btnFilterShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnFilterShop.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnFilterShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnFilterShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnFilterShop.Location = new System.Drawing.Point(9, 93); + this.btnFilterShop.Name = "btnFilterShop"; + this.btnFilterShop.Size = new System.Drawing.Size(102, 20); + this.btnFilterShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnFilterShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFilterShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFilterShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnFilterShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnFilterShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnFilterShop.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnFilterShop.Style.GradientAngle = 90; + this.btnFilterShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnFilterShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnFilterShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnFilterShop.TabIndex = 703; + this.btnFilterShop.Text = "过滤店铺"; + this.btnFilterShop.Click += new System.EventHandler(this.btnFilterShop_Click); + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(7, 70); + this.label16.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(32, 17); + this.label16.TabIndex = 697; + this.label16.Text = "备注"; + // + // txtFilterShopName + // + this.txtFilterShopName.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtFilterShopName.Location = new System.Drawing.Point(38, 39); + this.txtFilterShopName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtFilterShopName.Name = "txtFilterShopName"; + this.txtFilterShopName.Size = new System.Drawing.Size(113, 25); + this.txtFilterShopName.TabIndex = 653; + // + // btnRefreshShop + // + this.btnRefreshShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshShop.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshShop.Location = new System.Drawing.Point(9, 17); + this.btnRefreshShop.Name = "btnRefreshShop"; + this.btnRefreshShop.Size = new System.Drawing.Size(70, 20); + 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); + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(7, 43); + this.label17.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(32, 17); + this.label17.TabIndex = 699; + this.label17.Text = "名称"; + // + // splitContainer3 + // + this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer3.Location = new System.Drawing.Point(0, 0); + this.splitContainer3.Name = "splitContainer3"; + this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer3.Panel1 + // + this.splitContainer3.Panel1.Controls.Add(this.splitContainer2); + // + // splitContainer3.Panel2 + // + this.splitContainer3.Panel2.Controls.Add(this.splitContainer4); + this.splitContainer3.Size = new System.Drawing.Size(1346, 472); + this.splitContainer3.SplitterDistance = 442; + 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.pbLoadingShop); + 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.chkTestNoAuditUpload); + 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(1346, 442); + this.splitContainer2.SplitterDistance = 350; + this.splitContainer2.TabIndex = 0; + // + // pbLoadingShop + // + this.pbLoadingShop.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pbLoadingShop.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pbLoadingShop.Location = new System.Drawing.Point(150, 196); + this.pbLoadingShop.Name = "pbLoadingShop"; + this.pbLoadingShop.Size = new System.Drawing.Size(50, 50); + this.pbLoadingShop.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoadingShop.TabIndex = 189; + this.pbLoadingShop.TabStop = false; + this.pbLoadingShop.Visible = false; + // + // dgvShop + // + this.dgvShop.AllowUserToAddRows = false; + this.dgvShop.AllowUserToDeleteRows = false; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.dgvShop.AutoRowNumber = true; + 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.colShopNotes, + this.colSelectProduct, + this.colLoginStatus, + this.colApi, + this.colCanUse, + this.colUploadCount, + this.colOnSaleNum, + this.colRemaining, + this.colMessage}); + this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvShop.Location = new System.Drawing.Point(4, 0); + this.dgvShop.MultiSelectCheckBox = true; + this.dgvShop.Name = "dgvShop"; + this.dgvShop.ReadOnly = true; + this.dgvShop.RowHeadersWidth = 25; + this.dgvShop.RowTemplate.Height = 23; + this.dgvShop.Size = new System.Drawing.Size(346, 442); + 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 = 75; + // + // colShopNotes + // + this.colShopNotes.HeaderText = "备注"; + this.colShopNotes.Name = "colShopNotes"; + this.colShopNotes.ReadOnly = true; + this.colShopNotes.Width = 75; + // + // colSelectProduct + // + this.colSelectProduct.HeaderText = "选择商品"; + this.colSelectProduct.Name = "colSelectProduct"; + this.colSelectProduct.ReadOnly = true; + this.colSelectProduct.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelectProduct.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelectProduct.Visible = false; + this.colSelectProduct.Width = 62; + // + // colLoginStatus + // + this.colLoginStatus.HeaderText = "状态"; + this.colLoginStatus.Name = "colLoginStatus"; + this.colLoginStatus.ReadOnly = true; + this.colLoginStatus.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colLoginStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colLoginStatus.Width = 38; + // + // colApi + // + this.colApi.HeaderText = "Api"; + this.colApi.Name = "colApi"; + this.colApi.ReadOnly = true; + this.colApi.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colApi.Visible = false; + this.colApi.Width = 38; + // + // colCanUse + // + this.colCanUse.HeaderText = "可用"; + this.colCanUse.Name = "colCanUse"; + this.colCanUse.ReadOnly = true; + this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colCanUse.Visible = false; + this.colCanUse.Width = 28; + // + // colUploadCount + // + this.colUploadCount.HeaderText = "已传"; + this.colUploadCount.Name = "colUploadCount"; + this.colUploadCount.ReadOnly = true; + this.colUploadCount.Visible = false; + this.colUploadCount.Width = 38; + // + // colOnSaleNum + // + this.colOnSaleNum.HeaderText = "在售"; + this.colOnSaleNum.Name = "colOnSaleNum"; + this.colOnSaleNum.ReadOnly = true; + this.colOnSaleNum.Visible = false; + this.colOnSaleNum.Width = 38; + // + // colRemaining + // + this.colRemaining.HeaderText = "月限额"; + this.colRemaining.Name = "colRemaining"; + this.colRemaining.ReadOnly = true; + this.colRemaining.Visible = false; + // + // 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(471, 196); + this.pbLoading.Name = "pbLoading"; + this.pbLoading.Size = new System.Drawing.Size(50, 50); + this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoading.TabIndex = 780; + this.pbLoading.TabStop = false; + this.pbLoading.Visible = false; + // + // chkTestNoAuditUpload + // + this.chkTestNoAuditUpload.AutoSize = true; + this.chkTestNoAuditUpload.Location = new System.Drawing.Point(1094, 35); + this.chkTestNoAuditUpload.Name = "chkTestNoAuditUpload"; + this.chkTestNoAuditUpload.Size = new System.Drawing.Size(123, 21); + this.chkTestNoAuditUpload.TabIndex = 779; + this.chkTestNoAuditUpload.Text = "测试免审提交商品"; + this.chkTestNoAuditUpload.UseVisualStyleBackColor = true; + this.chkTestNoAuditUpload.Visible = false; + // + // dgvSelectProduct + // + this.dgvSelectProduct.AllowUserToAddRows = false; + this.dgvSelectProduct.AllowUserToDeleteRows = false; + dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3; + this.dgvSelectProduct.AutoRowNumber = true; + 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.colLogin, + this.colInShop, + this.colSpuId, + this.colSkcId, + this.colDraftId, + this.colImgUrl, + this.colProductSkcPic, + this.colSkuFakeImgUrl, + this.colSkuFakeImg, + this.colProductName, + this.colProductCat, + this.colExtCode, + this.colPrice, + this.colSoldNum, + this.colMsg, + this.colPreSale, + this.colNotes, + this.colUserNotes, + this.ColDelete, + this.colAddTime, + this.colOpResult}); + this.dgvSelectProduct.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvSelectProduct.Location = new System.Drawing.Point(0, 0); + this.dgvSelectProduct.MultiSelectCheckBox = true; + this.dgvSelectProduct.Name = "dgvSelectProduct"; + this.dgvSelectProduct.ReadOnly = true; + this.dgvSelectProduct.RowTemplate.Height = 23; + this.dgvSelectProduct.Size = new System.Drawing.Size(988, 442); + this.dgvSelectProduct.TabIndex = 187; + this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick); + // + // colCheck + // + this.colCheck.Frozen = true; + 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.Frozen = true; + this.colSupplierId.HeaderText = "店铺Id"; + this.colSupplierId.Name = "colSupplierId"; + this.colSupplierId.ReadOnly = true; + // + // colSupplierName + // + dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5; + this.colSupplierName.Frozen = true; + this.colSupplierName.HeaderText = "店铺名称"; + this.colSupplierName.Name = "colSupplierName"; + this.colSupplierName.ReadOnly = true; + // + // 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.Width = 40; + // + // 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 = 40; + // + // colSpuId + // + this.colSpuId.HeaderText = "源商品ID"; + 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; + // + // 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 = 115; + // + // colImgUrl + // + this.colImgUrl.HeaderText = "图片地址"; + this.colImgUrl.Name = "colImgUrl"; + this.colImgUrl.ReadOnly = true; + this.colImgUrl.Visible = false; + // + // colProductSkcPic + // + this.colProductSkcPic.HeaderText = "图片"; + this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.colProductSkcPic.Name = "colProductSkcPic"; + this.colProductSkcPic.ReadOnly = true; + this.colProductSkcPic.Width = 60; + // + // colSkuFakeImgUrl + // + this.colSkuFakeImgUrl.HeaderText = "SKU替换图地址"; + this.colSkuFakeImgUrl.Name = "colSkuFakeImgUrl"; + this.colSkuFakeImgUrl.ReadOnly = true; + this.colSkuFakeImgUrl.Visible = false; + // + // colSkuFakeImg + // + this.colSkuFakeImg.HeaderText = "SKU替换图"; + this.colSkuFakeImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.colSkuFakeImg.Name = "colSkuFakeImg"; + this.colSkuFakeImg.ReadOnly = true; + this.colSkuFakeImg.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSkuFakeImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSkuFakeImg.Visible = false; + this.colSkuFakeImg.Width = 60; + // + // colProductName + // + dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProductName.DefaultCellStyle = dataGridViewCellStyle6; + this.colProductName.HeaderText = "商品标题"; + this.colProductName.Name = "colProductName"; + this.colProductName.ReadOnly = true; + this.colProductName.Width = 140; + // + // colProductCat + // + dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProductCat.DefaultCellStyle = dataGridViewCellStyle7; + this.colProductCat.HeaderText = "商品类目"; + this.colProductCat.Name = "colProductCat"; + this.colProductCat.ReadOnly = true; + this.colProductCat.Width = 80; + // + // colExtCode + // + this.colExtCode.HeaderText = "商品货号"; + this.colExtCode.Name = "colExtCode"; + this.colExtCode.ReadOnly = true; + this.colExtCode.Width = 145; + // + // colPrice + // + this.colPrice.HeaderText = "价格"; + this.colPrice.Name = "colPrice"; + this.colPrice.ReadOnly = true; + this.colPrice.Width = 50; + // + // colSoldNum + // + this.colSoldNum.HeaderText = "销量"; + this.colSoldNum.Name = "colSoldNum"; + this.colSoldNum.ReadOnly = true; + this.colSoldNum.Width = 50; + // + // colMsg + // + dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colMsg.DefaultCellStyle = dataGridViewCellStyle8; + this.colMsg.HeaderText = "状态"; + this.colMsg.Name = "colMsg"; + this.colMsg.ReadOnly = true; + // + // colPreSale + // + this.colPreSale.HeaderText = "预售"; + this.colPreSale.Name = "colPreSale"; + this.colPreSale.ReadOnly = true; + this.colPreSale.Width = 50; + // + // colNotes + // + this.colNotes.HeaderText = "上传备注"; + this.colNotes.Name = "colNotes"; + this.colNotes.ReadOnly = true; + this.colNotes.Visible = false; + // + // colUserNotes + // + this.colUserNotes.HeaderText = "重上/已买"; + this.colUserNotes.Name = "colUserNotes"; + this.colUserNotes.ReadOnly = true; + this.colUserNotes.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colUserNotes.Visible = false; + this.colUserNotes.Width = 75; + // + // ColDelete + // + this.ColDelete.HeaderText = "删除"; + this.ColDelete.Name = "ColDelete"; + this.ColDelete.ReadOnly = true; + this.ColDelete.Visible = false; + this.ColDelete.Width = 75; + // + // colAddTime + // + dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colAddTime.DefaultCellStyle = dataGridViewCellStyle9; + this.colAddTime.HeaderText = "上架时间"; + this.colAddTime.Name = "colAddTime"; + this.colAddTime.ReadOnly = true; + this.colAddTime.Width = 80; + // + // colOpResult + // + this.colOpResult.HeaderText = "操作结果"; + this.colOpResult.Name = "colOpResult"; + this.colOpResult.ReadOnly = true; + this.colOpResult.Width = 240; + // + // 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.Size = new System.Drawing.Size(1346, 26); + this.splitContainer4.SplitterDistance = 655; + 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(655, 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(475, 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(568, 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; + // + // WXProdClearNoVisitForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.ClientSize = new System.Drawing.Size(1346, 641); + this.Controls.Add(this.splitContainer1); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.KeyPreview = true; + this.Name = "WXProdClearNoVisitForm"; + this.Text = "微信小店 - 爆单神器"; + this.Load += new System.EventHandler(this.UserSelectDbProductForm_Load); + this.VisibleChanged += new System.EventHandler(this.UserSelectDbProductForm_VisibleChanged); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.ucGroupBoxEx3.ResumeLayout(false); + this.ucGroupBoxEx3.PerformLayout(); + this.ucGroupBoxEx4.ResumeLayout(false); + this.ucGroupBoxEx4.PerformLayout(); + this.ucGroupBoxEx1.ResumeLayout(false); + this.ucGroupBoxEx1.PerformLayout(); + this.splitContainer3.Panel1.ResumeLayout(false); + this.splitContainer3.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); + this.splitContainer3.ResumeLayout(false); + this.splitContainer2.Panel1.ResumeLayout(false); + this.splitContainer2.Panel2.ResumeLayout(false); + this.splitContainer2.Panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); + this.splitContainer2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pbLoadingShop)).EndInit(); + ((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 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 btnSearchProd; + private DevComponents.DotNetBar.PanelEx btnClearFilter; + private DevComponents.DotNetBar.PanelEx btnClear; + private DevComponents.DotNetBar.PanelEx panelEx1; + private UserComponent.UcCheckBox chkTestNoAuditUpload; + private System.Windows.Forms.PictureBox pbLoadingShop; + private System.Windows.Forms.PictureBox pbLoading; + private System.Windows.Forms.TextBox txtFilterShopName; + private DevComponents.DotNetBar.PanelEx btnFilterShop; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.Label label16; + private DevComponents.DotNetBar.PanelEx btnEmptyShop; + private UserComponent.UcComboBoxMutiSelect cmbFilterShopNotes; + private DevComponents.DotNetBar.PanelEx btnReverse; + private DevComponents.DotNetBar.PanelEx btnAddUnSelect; + private DevComponents.DotNetBar.PanelEx btnAddSelect; + private DevComponents.DotNetBar.PanelEx btnSelectOffline; + private DevComponents.DotNetBar.PanelEx btnSelectOnline; + private DevComponents.DotNetBar.PanelEx btnRefreshAuthor; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes; + private System.Windows.Forms.DataGridViewLinkColumn colSelectProduct; + private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus; + private System.Windows.Forms.DataGridViewLinkColumn colApi; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse; + private System.Windows.Forms.DataGridViewTextBoxColumn colUploadCount; + private System.Windows.Forms.DataGridViewTextBoxColumn colOnSaleNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colRemaining; + private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; + private System.Windows.Forms.TextBox txtPageEnd; + private System.Windows.Forms.Label label2; + private DevComponents.DotNetBar.PanelEx btnStopSearch; + private UserComponent.UcGroupBoxEx ucGroupBoxEx3; + private DevComponents.DotNetBar.PanelEx btnStopUpDownOrDel; + private DevComponents.DotNetBar.PanelEx btnClearList; + private DevComponents.DotNetBar.PanelEx btnDown; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtFiltSaleNum; + private DevComponents.DotNetBar.PanelEx btnFiltSelect; + private DevComponents.DotNetBar.PanelEx btnBatchDel; + private System.Windows.Forms.ComboBox cmbOnSaleStatus; + private System.Windows.Forms.Label label5; + 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 colLogin; + private System.Windows.Forms.DataGridViewLinkColumn colInShop; + private System.Windows.Forms.DataGridViewLinkColumn colSpuId; + private System.Windows.Forms.DataGridViewLinkColumn colSkcId; + private System.Windows.Forms.DataGridViewTextBoxColumn colDraftId; + private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl; + private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic; + private System.Windows.Forms.DataGridViewTextBoxColumn colSkuFakeImgUrl; + private System.Windows.Forms.DataGridViewImageColumn colSkuFakeImg; + private System.Windows.Forms.DataGridViewTextBoxColumn colProductName; + private System.Windows.Forms.DataGridViewTextBoxColumn colProductCat; + private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode; + private System.Windows.Forms.DataGridViewTextBoxColumn colPrice; + private System.Windows.Forms.DataGridViewTextBoxColumn colSoldNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; + private System.Windows.Forms.DataGridViewTextBoxColumn colPreSale; + private System.Windows.Forms.DataGridViewTextBoxColumn colNotes; + private System.Windows.Forms.DataGridViewLinkColumn colUserNotes; + private System.Windows.Forms.DataGridViewLinkColumn ColDelete; + private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime; + private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult; + private DevComponents.DotNetBar.PanelEx btnBatchRealDel; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.RadioButton rb30; + private System.Windows.Forms.RadioButton rb7; + } +} \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisitForm.cs b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisitForm.cs new file mode 100644 index 0000000..7bd4a64 --- /dev/null +++ b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisitForm.cs @@ -0,0 +1,1523 @@ +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.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.Extension; +using TemuKJD.BaseForms; +using TemuKJD.ToolForms; +using Work; +using TemuKJD.BLL; +using System.Text.RegularExpressions; +using TemuKJD.PDDForms.ProductSelectForms; +using TemuKJD.WXForms.ShopForms; +using AllBase.Model.Result.PDDResult; +using AllBase.Model.Param.WXParam; +using AllBase.Model.Result.WXResult; +using Newtonsoft.Json; +using NaiBa.Util; +using AllBase.Model.Config; +using TemuKJD.BLL.Wx; + +namespace TemuKJD.WXForms.ProductForms +{ + public partial class WXProdClearNoVisitForm : BaseForm + { + int PageBegin = 1; + int PageEnd = 1000; + string PreType = ""; + string OnSaleStatus = "在售"; + + public CancellationTokenSource cancellationTokenSource { get; set; } = null; + public bool IsLoadComplate { get; set; } = false; + + bool isInit = false; + CheckBox chkSelectAll = null; + ConcurrentList lstShopAuthInfo = new ConcurrentList(); + ConcurrentList lstWXShopTokenInfo = new ConcurrentList(); + public NaiBa.Util.ConcurrentList lstTemuDBProductSelect = new NaiBa.Util.ConcurrentList(); + NaiBa.Util.ConcurrentList lstAddPriceRule = new NaiBa.Util.ConcurrentList(); + AddPriceRule defaultAddPriceRule = null; + WXUploadRule wxUploadRule = null; + //public Dictionary> dicCheckedShopIdList = new Dictionary>(); + public Dictionary dicCheckedShopId = new Dictionary(); + public Dictionary dicShopUpload = new Dictionary(); + public WXProdClearNoVisitForm() + { + InitializeComponent(); + } + + private void UserSelectDbProductForm_Load(object sender, EventArgs e) + { + this.splitContainer1.Dock = DockStyle.Fill; + + lstShopAuthInfo = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_auth_list"); + if (lstShopAuthInfo == null) + lstShopAuthInfo = new ConcurrentList(); + + lstWXShopTokenInfo = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_token_list"); + if (lstWXShopTokenInfo == null) + lstWXShopTokenInfo = new ConcurrentList(); + + lstTemuDBProductSelect = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_db_prod_upload_list"); + if (lstTemuDBProductSelect == null) + lstTemuDBProductSelect = new NaiBa.Util.ConcurrentList(); + + lstAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_add_price_rules"); + if (lstAddPriceRule == null) + { + lstAddPriceRule = new NaiBa.Util.ConcurrentList(); + lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 0, LessThanPrice = 10, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 }); + lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 10, LessThanPrice = 20, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 }); + lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 20, LessThanPrice = 999, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 }); + } + + dicCheckedShopId = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_checked_shop_dic"); + if (dicCheckedShopId == null) + dicCheckedShopId = new Dictionary(); + dicShopUpload = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_upload_info"); + if (dicShopUpload == null) + dicShopUpload = new Dictionary(); + + defaultAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig("wx_default_add_price_rule"); + if (defaultAddPriceRule == null) + { + defaultAddPriceRule = new AddPriceRule() { AddPriceTimes = 1.3m, AddMorePrice = 1, SinglePriceAdd = 1 }; + } + + wxUploadRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig("wx_upload_rule"); + if (wxUploadRule == null) + wxUploadRule = new WXUploadRule(); + + 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"); + + dgvSelectProduct.AddImgColumn("colProductSkcPic", "colImgUrl"); + dgvSelectProduct.AddImgColumn("colSkuFakeImg", "colSkuFakeImgUrl"); + + dgvSelectProduct.Columns["colSkuFakeImg"].Visible = false; + + //foreach (var selectProd in upload_draft_product_lst) + //{ + // int rowIndex = 0; + // this.dgvSelectProduct.Rows.Insert(rowIndex, + // true, + // selectProd.id, + // selectProd.shop_id, + // selectProd.shop_account, + // "登录", + // "进店", + // BaseClass.SaLevel > 0 ? selectProd.spu_id : selectProd.spu_id.ParseToString().GetHashCode().ParseToString().Trim('-'), + // selectProd.skc_id, + // selectProd.main_img, + // DataGridViewExtension.defaultBitmap, + // "", + // null, + // selectProd.product_name, // 用户端显示商品原名 + // selectProd.cat_name, + // BaseClass.SaLevel > 0 ? selectProd.ext_code : selectProd.ext_code.ParseToString().GetHashCode().ParseToString().Trim('-'), + // selectProd.status, + // selectProd.draft_id, + // selectProd.notes, + // (selectProd.user_notes + " 编辑").Trim(), + // "删除", + // selectProd.add_time.ToString("yy-MM-dd HH:mm:ss"), + // ""); + + // dgvSelectProduct.Rows[rowIndex].Height = 60; + + // int maxRowCount = 10000; + // while (dgvSelectProduct.Rows.Count > maxRowCount) + // { + // dgvSelectProduct.Rows.RemoveAt(maxRowCount); + // } + //} + + //#if DEBUG + if (BaseClass.SaLevel == 1) + { + //txtIdFilter.Visible = true; + //txtExtCodeFilter.Visible = true; + //lblIdFilter.Visible = true; + //lblExtCodeFilter.Visible = true; + } + //#endif + IsLoadComplate = true; + } + + private void btnRefreshAuthor_Click(object sender, EventArgs e) + { + updateAuthor(true); + } + + /// + /// 升级授权 + /// + /// 今日取过的也取 + private void updateAuthor(bool idRefreshTodayHasGet = false) + { + this.pbLoadingShop.Visible = true; + Task.Run(() => + { + // 店铺Id + var updateIds = dgvShop.Rows.Cast().Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + var selectIds = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + if (idRefreshTodayHasGet == true) + updateIds = selectIds; + + List tList = new List(); + if (idRefreshTodayHasGet) + lstShopAuthInfo.RemoveAll(s => updateIds.Contains(s.ShopId)); + foreach (var shop in GlobalConfig.ShopLoginList.Where(s => updateIds.Contains(s.ShopId))) + { + Invoke(new Action(() => { BindShop(shop, selectIds, ""); })); + var t = Task.Run(() => + { + try + { + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => { BindShop(shop, selectIds, "店铺掉线"); })); + return; + } + + var authInfo = lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shop.ShopId); + if (idRefreshTodayHasGet || authInfo == null || authInfo?.UpdateTime.Date != DateTime.Now.Date) + { + lstShopAuthInfo.RemoveAll(sa => sa.ShopId == shop.ShopId); + var rst = WXUpload.GetApiServiceList(shop); + if (!rst.Contains("\"code\":0")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => { BindShop(shop, selectIds, "店铺掉线"); })); + return; + } + + lstShopAuthInfo.Add(new AuthInfo() { ShopId = shop.ShopId, UpdateTime = DateTime.Now, ExpiresTime = DateTime.Now }); + Invoke(new Action(() => { BindShop(shop, selectIds, "授权查询失败"); })); + return; + } + + foreach (var itemObj in JsonHelper.JObjectParse(rst)["itemList"]) + { + // 找到了指定服务 + if (itemObj["serviceName"].ParseToString() == "店统领供应链-商品管理") + { + var expiresTick = itemObj["expireTime"].ParseToLong(); + lstShopAuthInfo.Add(new AuthInfo() { ShopId = shop.ShopId, UpdateTime = DateTime.Now, ExpiresTime = BaseClass.StampToDateTime(expiresTick.ParseToInt()) }); + Invoke(new Action(() => { BindShop(shop, selectIds, "已查询"); })); + return; + } + } + // 没找到指定服务 + lstShopAuthInfo.Add(new AuthInfo() { ShopId = shop.ShopId, UpdateTime = DateTime.Now, ExpiresTime = DateTime.Now }); + Invoke(new Action(() => { BindShop(shop, selectIds, "已查询"); })); + } + } + catch (Exception ex) + { + } + }); + tList.Add(t); + while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 20) { Thread.Sleep(100); } + } + while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 1) { Thread.Sleep(100); } + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_shop_auth_list", lstShopAuthInfo); + Invoke(new Action(() => { pbLoadingShop.Visible = false; })); + }); + } + + 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())) + if (row.Visible == true) + row.Cells["colSelect"].Value = true; + } + } + + foreach (var r in dgvShop.Rows.Cast()) + { + dicCheckedShopId[r.Cells["colShopId"].Value.ParseToString()] = r.Cells["colSelect"].Value.ParseToBool(); + } + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic", dicCheckedShopId); + } + + private void btnRefreshShop_Click(object sender, EventArgs e) + { + pbLoadingShop.Visible = true; + RefreshShopLogin(); + } + + private void UserSelectDbProductForm_VisibleChanged(object sender, EventArgs e) + { + if (Visible == true) + { + RefreshShopLogin(); + updateAuthor(); + + if (!isInit) + { + Task.Run(() => + { + foreach (var shop in GlobalConfig.ShopLoginList) + { + //if (shop.LoginStatus == "登录成功") + //{ + // var rst = WXClearNoVisit.scanProductPreview(shop); + // if (!rst.Contains("\"code\":0") && !rst.Contains("\"success\":true")) + // { + // WXShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false); + // } + //} + } + + }); + } + + isInit = true; + } + } + + private void RefreshShopLogin() + { + // 店铺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); + } + cmbFilterShopNotes.Items.Clear(); + //cmbFilterShopNotes.Items.Add(""); + foreach (var note in GlobalConfig.ShopLoginList.Select(s => s.Notes).Where(s => !s.IsNullOrEmpty()).Distinct()) + { + cmbFilterShopNotes.Items.Add(note); + } + } + + private void BindShop(ShopLoginInfo shopEntity, List selectShopId = null, string msg = "") + { + if (shopEntity == null) + return; + if (shopEntity.is_shop_expire) + return; + if (selectShopId == null) + selectShopId = new List(); + + bool canUse = shopEntity.LoginStatus == "登录成功"; + //canUse = true; // 内部库不需要校验登录状态 + var rows = dgvShop.Rows.Cast().Where(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId).ToList(); + var day = DateTime.Now.ToString("yyyyMMdd").ParseToInt(); + if (rows.Count == 0) + { + this.dgvShop.Rows.Add( + //!isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse), + dicCheckedShopId.Keys.Contains(shopEntity.ShopId) && dicCheckedShopId[shopEntity.ShopId] == true, + shopEntity.LoginName, + shopEntity.ShopId, + shopEntity.ShopAccount, + shopEntity.Notes, + "选择商品", + canUse ? "在线" : "掉线", + lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期", + canUse, + dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].DicDayUploadCount.ContainsKey(day) ? + dicShopUpload[shopEntity.ShopId].DicDayUploadCount[day] : 0, + dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].OnSaleRefreshDay == DateTime.Now.ToString("yyyyMMdd").ParseToInt() ? + dicShopUpload[shopEntity.ShopId].OnSaleCount : 0, + shopEntity.AddProductRemaining, + msg + ); + } + else + { + foreach (var row in rows) + { + row.Cells["colSelect"].Value = !isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse); + row.Cells["colShopLoginName"].Value = shopEntity.LoginName; + row.Cells["colShopName"].Value = shopEntity.ShopAccount; + row.Cells["colShopNotes"].Value = shopEntity.Notes; + row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线"; + row.Cells["colLoginStatus"].Style.ForeColor = canUse ? Color.Green : Color.Red; + row.Cells["colCanUse"].Value = canUse; + row.Cells["colApi"].Value = lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期"; + row.Cells["colRemaining"].Value = shopEntity.AddProductRemaining; + row.Cells["colUploadCount"].Value = dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].DicDayUploadCount.ContainsKey(day) ? + dicShopUpload[shopEntity.ShopId].DicDayUploadCount[day] : 0; + row.Cells["colOnSaleNum"].Value = dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].OnSaleRefreshDay == DateTime.Now.ToString("yyyyMMdd").ParseToInt() ? + dicShopUpload[shopEntity.ShopId].OnSaleCount : 0; + row.Cells["colMessage"].Value = msg; + } + } + + displayAuthStatus(shopEntity); + } + + void displayAuthStatus(ShopLoginInfo shop) + { + var rows = this.dgvShop.Rows.Cast().Where(r => r.Cells["colShopId"].Value.ParseToString() == shop?.ShopId); + foreach (var row in rows) + { + bool canUse = row.Cells["colLoginStatus"].Value.ParseToString() == "在线"; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed; + canUse = row.Cells["colApi"].Value.ParseToString() == "可用"; + (row.Cells["colApi"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red; + (row.Cells["colApi"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red; + (row.Cells["colApi"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed; + (row.Cells["colApi"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed; + } + } + + 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; + string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString(); + 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("店铺未登录!"); + } + + dicCheckedShopId[row.Cells["colShopId"].Value.ParseToString()] = row.Cells["colSelect"].Value.ParseToBool(); + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic", dicCheckedShopId); + break; + case "colLoginStatus": + { + if (WXShopListForm.Instance == null) + WXShopListForm.Instance = new WXShopListForm(); + WXShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false); + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + //shopLoginForm.prodUserSelectForm = this; + if (shop.LoginStatus != "登录成功") + { + shopLoginForm.openType = EnumOpenType.login; + shopLoginForm.ShowDialog(); + RefreshShopLogin(); + } + else + { + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.WindowState = FormWindowState.Maximized; + shopLoginForm.Show(); + } + } + break; + case "colApi": + { + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.WindowState = FormWindowState.Maximized; + shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/servicemarket/detail?serviceId=3984039898079707139"; + shopLoginForm.Show(); + } + 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; + } + } + + 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 "删除": + break; + case "登录": + { + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + //shopLoginForm.prodUserSelectForm = this; + shopLoginForm.openType = EnumOpenType.login; + shopLoginForm.ShowDialog(); + RefreshShopLogin(); + } + break; + case "进店": + { + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus == "登录成功") + { + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.WindowState = FormWindowState.Maximized; + shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/home"; + shopLoginForm.Show(); + } + else + { + shopLoginForm.openType = EnumOpenType.login; + shopLoginForm.ShowDialog(); + RefreshShopLogin(); + } + } + 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 "图片": + { + ShowImgForm imgFrom = new ShowImgForm(dgvSelectProduct.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString()); + imgFrom.ShowDialog(); + break; + } + case "SKU替换图": + { + ShowImgForm imgFrom = new ShowImgForm(dgvSelectProduct.Rows[e.RowIndex].Cells["colSkuFakeImgUrl"].Value.ParseToString()); + imgFrom.ShowDialog(); + break; + } + case "": + dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value; + break; + default: + break; + } + } + + private void btnStop_Click(object sender, EventArgs e) + { + if (this.cancellationTokenSource != null) + this.cancellationTokenSource.Cancel(); + } + + private void btnSearchProd_Click(object sender, EventArgs e) + { + var shopIdLst = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + if (shopIdLst.Count <= 0) + { + BaseMsgForm.ShowError("未勾选上传店铺!"); + return; + } + btnSearchProd.Enabled = false; + pbLoading.Visible = true; + if (cancellationTokenSource != null) + cancellationTokenSource.Cancel(); + cancellationTokenSource = new CancellationTokenSource(); + dgvSelectProduct.Rows.Clear(); + Task.Run(() => + { + GetViewUvAndProduct(shopIdLst); + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "商品查询完毕"; + BaseMsgForm.ShowInfo("商品查询完毕"); + pbLoading.Visible = false; + btnSearchProd.Enabled = true; + })); + }, cancellationTokenSource.Token); + } + + void GetViewUvAndProduct(List shopIdLst) + { + List shopLst = GlobalConfig.ShopLoginList.Where(s => shopIdLst.Contains(s.ShopId)).ToList(); + foreach (var shop in shopLst) + { + if (cancellationTokenSource.IsCancellationRequested) + break; + + if (shop.LoginStatus != "登录成功") + { + continue; + } + + int page = PageBegin - 1; + int totalPage = 1; + int pageSize = 10; + string nextKey = ""; + while (page < totalPage && page < PageEnd) + { + page++; + + if (cancellationTokenSource.IsCancellationRequested) + break; + + long endMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date) - 1; + long startMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date.AddDays(-30)); + int dateRange = 30; + if (rb7.Checked) + { + endMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date) - 1; + startMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date.AddDays(-30)); + dateRange = 7; + } + var result = WxPlatformRecommendProdManage.getPlatformRecommend(shop, startMs, endMs, page, dateRange); + if (!result.Contains("\"code\":0")) + { + ShowShopError(shop, result); + break; + } + List recommendProds = new List(); + try + { + var jArr = JsonHelper.JObjectParse(result)["data"]["data"]["list"]; + recommendProds = JsonHelper.DeserializeJsonToList(JsonHelper.SerializeObject(jArr)); + } + catch (Exception ex) + { + ShowShopError(shop, ex.Message); + break; + } + Thread.Sleep(Randomx.GetId(500, 1500)); + + string prodIds = string.Join(",", recommendProds.Select(r => r.product_id)); + string getProdOnSaleRst = ""; + int onSaleStatusCode = -1; + if (OnSaleStatus == "在售") + onSaleStatusCode = 5; + else if (OnSaleStatus == "下架") + onSaleStatusCode = 11; + else if (OnSaleStatus == "审核待处理") + onSaleStatusCode = 3; + else if (OnSaleStatus == "草稿箱") + onSaleStatusCode = 1; + else if (OnSaleStatus == "回收站") + onSaleStatusCode = 6; + + getProdOnSaleRst = WXClearNoVisit.searchProduct(shop, page, pageSize, "", onSaleStatusCode); + Thread.Sleep(Randomx.GetId(50, 100)); + if (!getProdOnSaleRst.Contains("\"success\":true")) + { + ShowShopError(shop, getProdOnSaleRst); + break; + } + + try + { + var prodObjs = JsonHelper.JObjectParse(getProdOnSaleRst); + if (page == 1 || 1 == 1) + { + var totalNum = prodObjs["totalNum"].ParseToInt(); + totalPage = Math.Ceiling(1m * totalNum / pageSize).ParseToInt(); + } + nextKey = prodObjs["nextKey"].ParseToString(); + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在查询店铺:" + shop.ShopAccount + " " + page + "/" + Math.Min(PageEnd, totalPage); + //this.statusBar.pgbTaskProgress.Maximum = lstTemuDBProductSelect.Count; + //this.statusBar.UpdateProgressBar(0); + })); + foreach (JObject prod in prodObjs["productList"]) + { + var pStr = JsonHelper.SerializeObject(prod); + Invoke(new Action(() => + { + decimal? price = null; + try { price = prod["skuList"]?[0]["price"].ParseToDecimal() / 100; } catch { } + var prodId = prod["productId"].ParseToString(); + if (dgvSelectProduct.Rows.Cast().Any(r => r.Cells["colDraftId"].ParseToString() == prodId)) + { + + } + string StatusStr = "其他"; + if (prod["status"].ParseToInt() == 5) + StatusStr = "在售"; + if (prod["status"].ParseToInt() == 11) + StatusStr = "下架"; + if (prod["status"].ParseToInt() == 0) + { + StatusStr = "草稿箱"; + if (prod["editStatus"].ParseToInt() == 3) + StatusStr = "审核待处理"; + } + if (prod["status"].ParseToInt() == 6) + StatusStr = "回收站"; + var Limit1 = pStr.Contains("同款/高度相似商品") ? "\r\n上架相似品" : ""; + //var Limit2 = BaseRegex.GetStringJson(ref pStr, "secondLevelLabelName").ParseToString().Length > 0 ? "\r\n命中低风险规则上架" : ""; + var Limit2 = BaseRegex.GetStringJson(ref pStr, "secondLevelLabelName").ParseToString().Length > 0 ? "\r\n低风险规则上架" : ""; + StatusStr += Limit1 + Limit2; + + var rowIndex = this.dgvSelectProduct.Rows.Add( + false, + "", + shop.ShopId, + shop.ShopAccount, + "登录", + "进店", + "", + "", + prod["productId"].ParseToString(), + prod["headImg"].ParseToString(), + DataGridViewExtension.defaultBitmap, + "", // 替换图地址 + null, // 替换图 + prod["title"].ParseToString(), // 用户端显示商品原名 + (prod["recommendCategory"].IsJTokenNullOrEmpty() || prod["recommendCategory"]["categoryNames"].IsJTokenNullOrEmpty()) ? + "" : string.Join(" >> ", prod["recommendCategory"]["categoryNames"].Select(s => s.ParseToString())), // 类目名称 + prod["spuCode"].ParseToString(), + //price, + prod["price"].ParseToDecimal() * 0.01m, + prod["soldNum"].ParseToInt(), + StatusStr, + prod["presaleTag"].ParseToInt() == 1 ? "[预售]" : "", + "", // 备注 + "", + "删除", + BaseClass.StampToDateTime(prod["lastEditDraftTime"].ParseToInt()).ToString("yy-MM-dd HH:mm"), + ""); + + dgvSelectProduct.Rows[rowIndex].Height = 60; + Color color = Color.Red; + if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "在售") + color = Color.Blue; + if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "下架") + color = Color.Purple; + if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "草稿箱") + color = Color.DarkOrange; + if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "回收站") + color = Color.Gray; + dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Style.ForeColor = color; + dgvSelectProduct.Rows[rowIndex].Cells["colPreSale"].Style.ForeColor = dgvSelectProduct.Rows[rowIndex].Cells["colPreSale"].Value.ParseToString().Contains("预售") ? Color.Green : Color.Blue; + })); + } + } + catch (Exception ex) + { + + } + } + } + } + + private void btnClearDgv_Click(object sender, EventArgs e) + { + var rows = this.dgvSelectProduct.Rows.Cast().ToList(); //Cast后Rows做foreach循环时仍会夹花跳过,所以要ToList转一个新的数组。 + foreach (var row in rows) + { + if (row.Cells["colCheck"].Value.ParseToBool() == true) + { + //var draft_id = row.Cells["colDraftId"].Value.ParseToString(); + //upload_draft_product_lst.RemoveAll(p => p.draft_id == draft_id); + + this.dgvSelectProduct.Rows.Remove(row); + } + } + //NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_select_upload_draft_products", upload_draft_product_lst); + } + + private void btnClearFilter_Click(object sender, EventArgs e) + { + cmbOnSaleStatus.Text = "在售"; + txtPageEnd.Text = "1000"; + } + + private void btnFilterShop_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + string notes = cmbFilterShopNotes.Text.Trim().Trim(';'); + if (notes == "全部") + notes = ""; + List notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); + + if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim())) + { + row.Visible = false; + row.Cells["colSelect"].Value = false; + continue; + } + if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())) + { + row.Visible = false; + row.Cells["colSelect"].Value = false; + continue; + } + row.Visible = true; + } + } + + private void btnEmptyShop_Click(object sender, EventArgs e) + { + txtFilterShopName.Text = ""; + cmbFilterShopNotes.Text = "全部"; + btnFilterShop_Click(null, null); + } + + private void btnReverse_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool(); + } + } + + private void btnAddSelect_Click(object sender, EventArgs e) + { + string notes = cmbFilterShopNotes.Text.Trim().Trim(';'); + if (notes == "全部") + notes = ""; + List notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); + + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + { + if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) && + (string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))) + { + row.Cells["colSelect"].Value = true; + } + } + } + } + + private void btnAddUnSelect_Click(object sender, EventArgs e) + { + string notes = cmbFilterShopNotes.Text.Trim().Trim(';'); + if (notes == "全部") + notes = ""; + List notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); + + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + { + if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) && + (string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))) + { + row.Cells["colSelect"].Value = false; + } + } + } + } + + private void btnSelectOnline_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + { + if (row.Cells["colLoginStatus"].Value.ParseToString() == "在线") + { + row.Cells["colSelect"].Value = true; + } + else + { + row.Cells["colSelect"].Value = false; + } + } + } + } + + private void btnSelectOffline_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + { + if (row.Cells["colLoginStatus"].Value.ParseToString() != "在线") + { + row.Cells["colSelect"].Value = true; + } + else + { + row.Cells["colSelect"].Value = false; + } + } + } + } + + private void txtPageEnd_TextChanged(object sender, EventArgs e) + { + PageEnd = txtPageEnd.Text.ParseToInt(); + } + + private void btnDown_Click(object sender, EventArgs e) + { + var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + if (rowLst.Count <= 0) + { + BaseMsgForm.ShowError("请勾选需要操作的商品!"); + return; + } + if (rowLst.Any(r => r.Cells["colMsg"].Value.ParseToString().Contains("在售") == false)) + { + BaseMsgForm.ShowError("只能勾选在售商品!"); + return; + } + + if (BaseMsgForm.ShowConfirm("确认要下架商品吗?下架后如需上架需要消耗审核次数!").DialogResult != DialogResult.OK) + return; + + this.pbLoading.Visible = true; + if (cancellationTokenSource != null && !cancellationTokenSource.IsCancellationRequested) + cancellationTokenSource.Cancel(); + cancellationTokenSource = new CancellationTokenSource(); + Task.Run(() => + { + SetProdDown(rowLst); + Invoke(new Action(() => + { + if (cancellationTokenSource.IsCancellationRequested) + { + this.statusBar.lblTaskStatus.Text = "商品下架中断"; + BaseMsgForm.ShowInfo("商品下架中断"); + } + else + { + this.statusBar.lblTaskStatus.Text = "商品下架完毕"; + BaseMsgForm.ShowInfo("商品下架完毕"); + } + + this.pbLoading.Visible = false; + })); + }, cancellationTokenSource.Token); + + } + + void SetProdDown(List rowLst) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在下架" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.pgbTaskProgress.Maximum = dgvSelectProduct.Rows.Count; + this.statusBar.UpdateProgressBar(0); + })); + + while (rowLst.Count > 0) + { + if (cancellationTokenSource.IsCancellationRequested) + break; + + var r0 = rowLst.FirstOrDefault(); + var shopId = r0.Cells["colSupplierId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + var rowLstTmp = rowLst.Where(r => r.Cells["colSupplierId"].Value.ParseToString() == shopId).Take(50).ToList(); + + foreach (var r in rowLstTmp) + { + rowLst.Remove(r); + + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "正在下架" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); + r.Cells["colOpResult"].Value = ""; + })); + } + if (shop == null) + { + Invoke(new Action(() => + { + foreach (var r in rowLstTmp) + { + r.Cells["colOpResult"].Value = "店铺不存在"; + } + })); + continue; + } + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + foreach (var r in rowLstTmp) + { + r.Cells["colOpResult"].Value = "店铺掉线"; + } + })); + continue; + } + + List prodIdLst = new List(); + foreach (var row in rowLstTmp) + { + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + prodIdLst.Add(prodId); + } + + var downProdRst = WXClearNoVisit.DownProd(shop, string.Join(",", prodIdLst)); + Thread.Sleep(Randomx.GetId(1000, 1500)); + if (!downProdRst.Contains("\"code\":0")) + { + if (downProdRst.Contains("biz magic invalid")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + foreach (var row in rowLstTmp) + { + row.Cells["colOpResult"].Value = "店铺掉线"; + } + })); + continue; + } + } + + var errmsg = BaseRegex.GetStringJson(ref downProdRst, "msg"); + if (string.IsNullOrWhiteSpace(errmsg)) + errmsg = downProdRst; + + Invoke(new Action(() => + { + foreach (var row in rowLstTmp) + { + if (downProdRst.Contains("\"code\":108002")) + { + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + if (downProdRst.Contains(prodId)) + row.Cells["colOpResult"].Value = "下架失败,请检查商品是否已下架或不存在"; + else + row.Cells["colOpResult"].Value = "下架成功"; + } + else + row.Cells["colOpResult"].Value = errmsg; + } + })); + } + + if (downProdRst.Contains("\"code\":0")) + { + Invoke(new Action(() => + { + foreach (var row in rowLstTmp) + { + row.Cells["colOpResult"].Value = "下架成功"; + } + })); + } + } + } + + private void btnFiltSelect_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in dgvSelectProduct.Rows) + { + if (row.Cells["colSoldNum"].Value.ParseToInt() >= txtFiltSaleNum.Text.Trim().ParseToInt()) + row.Cells["colCheck"].Value = false; + else + row.Cells["colCheck"].Value = true; + } + } + + private void btnSelectLimit1_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in dgvSelectProduct.Rows) + { + if (row.Cells["colMsg"].Value.ParseToString().Contains("上架相似品")) + row.Cells["colCheck"].Value = true; + else + row.Cells["colCheck"].Value = false; + } + } + + private void btnSelectLimit2_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in dgvSelectProduct.Rows) + { + if (row.Cells["colMsg"].Value.ParseToString().Contains("低风险规则上架")) + row.Cells["colCheck"].Value = true; + else + row.Cells["colCheck"].Value = false; + } + } + + private void cmbOnSaleStatus_SelectedIndexChanged(object sender, EventArgs e) + { + + } + + private void cmbOnSaleStatus_TextChanged(object sender, EventArgs e) + { + OnSaleStatus = cmbOnSaleStatus.Text; + } + + private void btnBatchDel_Click(object sender, EventArgs e) + { + var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + if (rowLst.Count <= 0) + { + BaseMsgForm.ShowError("请勾选需要操作的商品!"); + return; + } + + if (BaseMsgForm.ShowConfirm("确认要删除商品吗?删除后如需上架需要消耗审核次数!").DialogResult != DialogResult.OK) + return; + + this.pbLoading.Visible = true; + if (cancellationTokenSource != null && !cancellationTokenSource.IsCancellationRequested) + cancellationTokenSource.Cancel(); + cancellationTokenSource = new CancellationTokenSource(); + Task.Run(() => + { + SetProdDel(rowLst); + Invoke(new Action(() => + { + if (cancellationTokenSource.IsCancellationRequested) + { + this.statusBar.lblTaskStatus.Text = "商品删除中断"; + BaseMsgForm.ShowInfo("商品删除中断"); + } + else + { + this.statusBar.lblTaskStatus.Text = "商品删除完毕"; + BaseMsgForm.ShowInfo("商品删除完毕"); + } + + this.pbLoading.Visible = false; + })); + }, cancellationTokenSource.Token); + + } + + void SetProdDel(List rowLst) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在删除" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.pgbTaskProgress.Maximum = dgvSelectProduct.Rows.Count; + this.statusBar.UpdateProgressBar(0); + })); + + while (rowLst.Count > 0) + { + if (cancellationTokenSource.IsCancellationRequested) + break; + + var r0 = rowLst.FirstOrDefault(); + var shopId = r0.Cells["colSupplierId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + var rowLstTmp = rowLst.Where(r => r.Cells["colSupplierId"].Value.ParseToString() == shopId).Take(50).ToList(); + + foreach (var r in rowLstTmp) + { + rowLst.Remove(r); + + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "正在删除" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); + r.Cells["colOpResult"].Value = ""; + })); + } + if (shop == null) + { + Invoke(new Action(() => + { + foreach (var r in rowLstTmp) + { + r.Cells["colOpResult"].Value = "店铺不存在"; + } + })); + continue; + } + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + foreach (var r in rowLstTmp) + { + r.Cells["colOpResult"].Value = "店铺掉线"; + } + })); + continue; + } + + List prodIdLst = new List(); + foreach (var row in rowLstTmp) + { + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + prodIdLst.Add(prodId); + } + + var downProdRst = WXClearNoVisit.DelProd(shop, string.Join(",", prodIdLst)); + Thread.Sleep(Randomx.GetId(1000, 1500)); + if (!downProdRst.Contains("\"code\":0")) + { + if (downProdRst.Contains("biz magic invalid")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + foreach (var row in rowLstTmp) + { + row.Cells["colOpResult"].Value = "店铺掉线"; + } + })); + continue; + } + } + + var errmsg = BaseRegex.GetStringJson(ref downProdRst, "msg"); + if (string.IsNullOrWhiteSpace(errmsg)) + errmsg = downProdRst; + + Invoke(new Action(() => + { + foreach (var row in rowLstTmp) + { + if (downProdRst.Contains("\"code\":108002")) + { + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + if (downProdRst.Contains(prodId)) + row.Cells["colOpResult"].Value = "删除失败,请检查商品是否已删除"; + else + row.Cells["colOpResult"].Value = "删除成功"; + } + else + row.Cells["colOpResult"].Value = errmsg; + } + })); + } + + if (downProdRst.Contains("\"code\":0")) + { + Invoke(new Action(() => + { + foreach (var row in rowLstTmp) + { + row.Cells["colOpResult"].Value = "删除成功"; + } + })); + } + } + } + + private void btnBatchRealDel_Click(object sender, EventArgs e) + { + var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + if (rowLst.Count <= 0) + { + BaseMsgForm.ShowError("请勾选需要操作的商品!"); + return; + } + if (rowLst.Any(r => r.Cells["colMsg"].Value.ParseToString().Contains("回收站") == false)) + { + BaseMsgForm.ShowError("只能勾选回收站商品!"); + return; + } + + if (BaseMsgForm.ShowConfirm("确认要彻底删除商品吗?彻底删除后将无法再找回该商品!").DialogResult != DialogResult.OK) + return; + + this.pbLoading.Visible = true; + if (cancellationTokenSource != null && !cancellationTokenSource.IsCancellationRequested) + cancellationTokenSource.Cancel(); + cancellationTokenSource = new CancellationTokenSource(); + Task.Run(() => + { + SetProdRealDel(rowLst); + Invoke(new Action(() => + { + if (cancellationTokenSource.IsCancellationRequested) + { + this.statusBar.lblTaskStatus.Text = "商品删除中断"; + BaseMsgForm.ShowInfo("商品删除中断"); + } + else + { + this.statusBar.lblTaskStatus.Text = "商品删除完毕"; + BaseMsgForm.ShowInfo("商品删除完毕"); + } + + this.pbLoading.Visible = false; + })); + }, cancellationTokenSource.Token); + + } + + void SetProdRealDel(List rowLst) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在彻底删除" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.pgbTaskProgress.Maximum = dgvSelectProduct.Rows.Count; + this.statusBar.UpdateProgressBar(0); + })); + + while (rowLst.Count > 0) + { + if (cancellationTokenSource.IsCancellationRequested) + break; + + var r0 = rowLst.FirstOrDefault(); + var shopId = r0.Cells["colSupplierId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + var rowLstTmp = rowLst.Where(r => r.Cells["colSupplierId"].Value.ParseToString() == shopId).Take(50).ToList(); + + foreach (var r in rowLstTmp) + { + rowLst.Remove(r); + + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "正在彻底删除" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); + r.Cells["colOpResult"].Value = ""; + })); + } + if (shop == null) + { + Invoke(new Action(() => + { + foreach (var r in rowLstTmp) + { + r.Cells["colOpResult"].Value = "店铺不存在"; + } + })); + continue; + } + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + foreach (var r in rowLstTmp) + { + r.Cells["colOpResult"].Value = "店铺掉线"; + } + })); + continue; + } + + List prodIdLst = new List(); + foreach (var row in rowLstTmp) + { + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + prodIdLst.Add(prodId); + } + + var downProdRst = WXClearNoVisit.RealDelProd(shop, string.Join(",", prodIdLst)); + Thread.Sleep(Randomx.GetId(1000, 1500)); + if (!downProdRst.Contains("\"code\":0")) + { + if (downProdRst.Contains("biz magic invalid")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + foreach (var row in rowLstTmp) + { + row.Cells["colOpResult"].Value = "店铺掉线"; + } + })); + continue; + } + } + + var errmsg = BaseRegex.GetStringJson(ref downProdRst, "msg"); + if (string.IsNullOrWhiteSpace(errmsg)) + errmsg = downProdRst; + + Invoke(new Action(() => + { + foreach (var row in rowLstTmp) + { + if (downProdRst.Contains("\"code\":108002")) + { + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + if (downProdRst.Contains(prodId)) + row.Cells["colOpResult"].Value = "彻底删除失败,请检查商品是否已删除"; + else + row.Cells["colOpResult"].Value = "彻底删除成功"; + } + else + row.Cells["colOpResult"].Value = errmsg; + } + })); + } + + if (downProdRst.Contains("\"code\":0")) + { + Invoke(new Action(() => + { + foreach (var row in rowLstTmp) + { + row.Cells["colOpResult"].Value = "彻底删除成功"; + } + })); + } + } + } + + void ShowShopError(ShopLoginInfo shop, string operateResult) + { + var error = BaseRegex.GetStringJson(ref operateResult, "msg"); + if (string.IsNullOrEmpty(error)) + error = BaseRegex.GetStringJson(ref operateResult, "errMsg"); + if (string.IsNullOrEmpty(error)) + error = BaseRegex.GetStringJson(ref operateResult, "errorMsg"); + if (string.IsNullOrEmpty(error)) + error = operateResult; + + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => { BindShop(shop, new List { shop.ShopId }, "店铺掉线"); })); + } + else + { + Invoke(new Action(() => { BindShop(shop, new List { shop.ShopId }, error); })); + } + } + } + + public class WXClearNoVisit + { + /// + /// -1 全部 5 在售 11 下架 + /// + /// -1 全部 5 在售 11 下架 + /// + public static string searchProduct(ShopLoginInfo shop, int pageNum, int pageSize = 50, string prodIds = null, int status = 5, int? sortType = null) + { + //https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&pageSize=20&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=44&status[]=5&presaleType[]=1 + //https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&pageSize=20&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=1&status[]=-1&spuId=1000080961530,10000802736449 + string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&" + + "pageSize=" + pageSize + "&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=" + pageNum + "&status[]=" + status; + if (prodIds != null) + url += "&presaleType[]=" + prodIds; + if (sortType != null) + url += "&sortType=" + sortType; + + string refere = "https://store.weixin.qq.com/shop/goods/list"; + var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, refere); + return result; + } + + /// + /// 下架商品 + /// + /// + /// + /// + public static string DownProd(ShopLoginInfo shop, string prodIds) + { + string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/BatchUnListing?token=&lang=zh_CN"; + string referer = "https://store.weixin.qq.com/shop/goods/list"; + string body = @"{""ids"":[" + prodIds + @"],""uploadSource"":6}"; + var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); + return result; + } + + + /// + /// 删除商品 + /// + /// + /// + /// + public static string DelProd(ShopLoginInfo shop, string prodIds) + { + string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/batchDel?token=&lang=zh_CN"; + string referer = "https://store.weixin.qq.com/shop/goods/list"; + string body = @"{""ids"":[" + prodIds + @"],""uploadSource"":6}"; + var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); + return result; + } + + /// + /// 彻底删除商品 + /// + /// + /// + /// + public static string RealDelProd(ShopLoginInfo shop, string prodIds) + { + string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/batchRealDel?token=&lang=zh_CN"; + string referer = "https://store.weixin.qq.com/shop/goods/list?currentTab=PRODUCT_RECYCLE_BIN"; + string body = @"{""ids"":[" + prodIds + @"],""uploadSource"":6}"; + var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); + return result; + } + } +} diff --git a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisitForm.resx b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisitForm.resx new file mode 100644 index 0000000..438e4c9 --- /dev/null +++ b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisitForm.resx @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.Designer.cs index 5323810..2e91831 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.Designer.cs @@ -209,9 +209,9 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx3.Controls.Add(this.btnStopUpDownOrDel); this.ucGroupBoxEx3.Controls.Add(this.btnClearList); this.ucGroupBoxEx3.Controls.Add(this.btnDown); - this.ucGroupBoxEx3.Location = new System.Drawing.Point(995, 2); + this.ucGroupBoxEx3.Location = new System.Drawing.Point(994, 2); this.ucGroupBoxEx3.Name = "ucGroupBoxEx3"; - this.ucGroupBoxEx3.Size = new System.Drawing.Size(349, 165); + this.ucGroupBoxEx3.Size = new System.Drawing.Size(350, 165); this.ucGroupBoxEx3.TabIndex = 668; this.ucGroupBoxEx3.TabStop = false; this.ucGroupBoxEx3.Text = "商品下架"; @@ -223,7 +223,7 @@ namespace TemuKJD.WXForms.ProductForms this.btnBatchRealDel.Cursor = System.Windows.Forms.Cursors.Hand; this.btnBatchRealDel.DisabledBackColor = System.Drawing.Color.Empty; this.btnBatchRealDel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnBatchRealDel.Location = new System.Drawing.Point(243, 91); + this.btnBatchRealDel.Location = new System.Drawing.Point(244, 91); this.btnBatchRealDel.Name = "btnBatchRealDel"; this.btnBatchRealDel.Size = new System.Drawing.Size(84, 23); this.btnBatchRealDel.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -296,7 +296,7 @@ namespace TemuKJD.WXForms.ProductForms this.btnBatchDel.Cursor = System.Windows.Forms.Cursors.Hand; this.btnBatchDel.DisabledBackColor = System.Drawing.Color.Empty; this.btnBatchDel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnBatchDel.Location = new System.Drawing.Point(243, 61); + this.btnBatchDel.Location = new System.Drawing.Point(244, 61); this.btnBatchDel.Name = "btnBatchDel"; this.btnBatchDel.Size = new System.Drawing.Size(84, 23); this.btnBatchDel.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -363,7 +363,7 @@ namespace TemuKJD.WXForms.ProductForms this.btnStopUpDownOrDel.CanvasColor = System.Drawing.SystemColors.Control; this.btnStopUpDownOrDel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnStopUpDownOrDel.DisabledBackColor = System.Drawing.Color.Empty; - this.btnStopUpDownOrDel.Location = new System.Drawing.Point(243, 121); + this.btnStopUpDownOrDel.Location = new System.Drawing.Point(244, 121); this.btnStopUpDownOrDel.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); this.btnStopUpDownOrDel.Name = "btnStopUpDownOrDel"; this.btnStopUpDownOrDel.Size = new System.Drawing.Size(84, 23); @@ -389,7 +389,7 @@ namespace TemuKJD.WXForms.ProductForms this.btnClearList.CanvasColor = System.Drawing.SystemColors.Control; this.btnClearList.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnClearList.DisabledBackColor = System.Drawing.Color.Empty; - this.btnClearList.Location = new System.Drawing.Point(32, 121); + this.btnClearList.Location = new System.Drawing.Point(33, 121); this.btnClearList.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); this.btnClearList.Name = "btnClearList"; this.btnClearList.Size = new System.Drawing.Size(84, 23); @@ -416,7 +416,7 @@ namespace TemuKJD.WXForms.ProductForms this.btnDown.Cursor = System.Windows.Forms.Cursors.Hand; this.btnDown.DisabledBackColor = System.Drawing.Color.Empty; this.btnDown.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnDown.Location = new System.Drawing.Point(243, 31); + this.btnDown.Location = new System.Drawing.Point(244, 31); this.btnDown.Name = "btnDown"; this.btnDown.Size = new System.Drawing.Size(84, 23); this.btnDown.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -450,7 +450,7 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx2.Controls.Add(this.btnStop); this.ucGroupBoxEx2.Controls.Add(this.btnClearDgv); this.ucGroupBoxEx2.Controls.Add(this.btnSetPreSale); - this.ucGroupBoxEx2.Location = new System.Drawing.Point(571, 2); + this.ucGroupBoxEx2.Location = new System.Drawing.Point(570, 2); this.ucGroupBoxEx2.Name = "ucGroupBoxEx2"; this.ucGroupBoxEx2.Size = new System.Drawing.Size(425, 165); this.ucGroupBoxEx2.TabIndex = 667; @@ -609,7 +609,7 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx4.Controls.Add(this.lblExtCodeFilter); this.ucGroupBoxEx4.Controls.Add(this.btnSearchProd); this.ucGroupBoxEx4.Controls.Add(this.label5); - this.ucGroupBoxEx4.Location = new System.Drawing.Point(162, 2); + this.ucGroupBoxEx4.Location = new System.Drawing.Point(161, 2); this.ucGroupBoxEx4.Name = "ucGroupBoxEx4"; this.ucGroupBoxEx4.Size = new System.Drawing.Size(410, 165); this.ucGroupBoxEx4.TabIndex = 666; @@ -849,7 +849,7 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx1.Controls.Add(this.txtFilterShopName); this.ucGroupBoxEx1.Controls.Add(this.btnRefreshShop); this.ucGroupBoxEx1.Controls.Add(this.label17); - this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2); + this.ucGroupBoxEx1.Location = new System.Drawing.Point(2, 2); this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; this.ucGroupBoxEx1.Size = new System.Drawing.Size(160, 165); this.ucGroupBoxEx1.TabIndex = 399; diff --git a/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs index 1d40b66..7c05267 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs @@ -30,17 +30,19 @@ { System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("选品上传"); System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("商品预售/下架"); - System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("爆单神器"); - System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("达人广场"); - System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("商品同步"); - System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("机会商品采集"); - System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("商品管理", 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("商品管理", new System.Windows.Forms.TreeNode[] { treeNode1, treeNode2, treeNode3, treeNode4, treeNode5, - treeNode6}); + treeNode6, + treeNode7}); this.panel1 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel(); @@ -135,18 +137,20 @@ treeNode1.Text = "选品上传"; treeNode2.Name = "商品预售/下架"; treeNode2.Text = "商品预售/下架"; - treeNode3.Name = "爆单神器"; - treeNode3.Text = "爆单神器"; - treeNode4.Name = "达人广场"; - treeNode4.Text = "达人广场"; - treeNode5.Name = "商品同步"; - treeNode5.Text = "商品同步"; - treeNode6.Name = "机会商品采集"; - treeNode6.Text = "机会商品采集"; - treeNode7.Name = "商品管理"; - treeNode7.Text = "商品管理"; + treeNode3.Name = "清理无流量"; + treeNode3.Text = "清理无流量"; + treeNode4.Name = "爆单神器"; + treeNode4.Text = "爆单神器"; + treeNode5.Name = "达人广场"; + treeNode5.Text = "达人广场"; + treeNode6.Name = "商品同步"; + treeNode6.Text = "商品同步"; + treeNode7.Name = "机会商品采集"; + treeNode7.Text = "机会商品采集"; + treeNode8.Name = "商品管理"; + treeNode8.Text = "商品管理"; this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode7}); + treeNode8}); this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.tv.Size = new System.Drawing.Size(140, 521); this.tv.TabIndex = 1; diff --git a/TEMUKJD/WXForms/ProductForms/WXProductForm.cs b/TEMUKJD/WXForms/ProductForms/WXProductForm.cs index f317d82..a872fc4 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProductForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProductForm.cs @@ -19,6 +19,7 @@ namespace TemuKJD.WXForms.ProductForms public static WXProductForm instance; public Lazy userSelectDbProductForm = new Lazy(); public Lazy wxProdPreSaleForm = new Lazy(); + public Lazy wxProdClearNoVisitForm = new Lazy(); public Lazy wxProdCouponForm = new Lazy(); public Lazy wxProdSyncForm = new Lazy(); public Lazy wxFinderSquareForm = new Lazy(); @@ -32,7 +33,7 @@ namespace TemuKJD.WXForms.ProductForms { tv.SelectedNode = tv.Nodes[0].Nodes[0]; tv.ExpandGroup(tv.Nodes[0].Name); - List hideName = new List() { "机会商品采集", "商品列表", "爆单神器1", "商品同步1" }; + List hideName = new List() { "清理无流量", "机会商品采集", "商品列表", "爆单神器1", "商品同步1" }; if (BaseClass.UserAuthority.Contains("机会商品采集")) hideName.Remove("机会商品采集"); @@ -79,6 +80,9 @@ namespace TemuKJD.WXForms.ProductForms case "商品预售/下架": SetForm(wxProdPreSaleForm.Value); break; + case "清理无流量": + SetForm(wxProdClearNoVisitForm.Value); + break; case "爆单神器": SetForm(wxProdCouponForm.Value); break; diff --git a/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.Designer.cs index 5524ccb..20e77be 100644 --- a/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.Designer.cs @@ -51,15 +51,13 @@ namespace TemuKJD.WXForms.ProductForms System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WXUserProdListForm)); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.lblSetShop = new System.Windows.Forms.Label(); + this.cmbRelation = new System.Windows.Forms.ComboBox(); + this.lblRelation = new System.Windows.Forms.Label(); this.btnSetShop = new DevComponents.DotNetBar.PanelEx(); this.btnSelect = new DevComponents.DotNetBar.PanelEx(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); - this.lblRelation = new System.Windows.Forms.Label(); - this.txtCatBoundLessThan = new System.Windows.Forms.TextBox(); - this.txtCatBoundMoreThan = new System.Windows.Forms.TextBox(); - this.chkCatBoundLessThan = new TemuKJD.UserComponent.UcCheckBox(this.components); - this.chkCatBoundMoreThan = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.cmbHot = new System.Windows.Forms.ComboBox(); + this.lblHot = new System.Windows.Forms.Label(); this.btnSearch = new DevComponents.DotNetBar.PanelEx(); this.btnEmpty = new DevComponents.DotNetBar.PanelEx(); this.cmbCat3 = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); @@ -72,11 +70,15 @@ namespace TemuKJD.WXForms.ProductForms this.label3 = new System.Windows.Forms.Label(); this.lblWxSafe = new System.Windows.Forms.Label(); this.cmbWxSafe = new System.Windows.Forms.ComboBox(); - this.lblGroup = new System.Windows.Forms.Label(); + this.chkCatBoundMoreThan = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.txtCatBoundMoreThan = new System.Windows.Forms.TextBox(); + this.chkCatBoundLessThan = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.txtCatBoundLessThan = new System.Windows.Forms.TextBox(); this.cmbGroupFilter = new System.Windows.Forms.ComboBox(); - this.cmbSourceType = new System.Windows.Forms.ComboBox(); this.lblSourceType = new System.Windows.Forms.Label(); - this.cmbRelation = new System.Windows.Forms.ComboBox(); + this.lblGroup = new System.Windows.Forms.Label(); + this.cmbSourceType = new System.Windows.Forms.ComboBox(); + this.lblSetShop = new System.Windows.Forms.Label(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.btnStopStop = new DevComponents.DotNetBar.PanelEx(); this.pnlSetShop = new System.Windows.Forms.Panel(); @@ -181,10 +183,12 @@ namespace TemuKJD.WXForms.ProductForms // // splitContainer1.Panel1 // - this.splitContainer1.Panel1.Controls.Add(this.lblSetShop); + this.splitContainer1.Panel1.Controls.Add(this.cmbRelation); + this.splitContainer1.Panel1.Controls.Add(this.lblRelation); this.splitContainer1.Panel1.Controls.Add(this.btnSetShop); this.splitContainer1.Panel1.Controls.Add(this.btnSelect); this.splitContainer1.Panel1.Controls.Add(this.tableLayoutPanel1); + this.splitContainer1.Panel1.Controls.Add(this.lblSetShop); // // splitContainer1.Panel2 // @@ -193,18 +197,32 @@ namespace TemuKJD.WXForms.ProductForms this.splitContainer1.SplitterDistance = 74; this.splitContainer1.TabIndex = 1; // - // lblSetShop + // cmbRelation // - this.lblSetShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.lblSetShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.lblSetShop.ForeColor = System.Drawing.Color.DarkOrange; - this.lblSetShop.Location = new System.Drawing.Point(1206, 45); - this.lblSetShop.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); - this.lblSetShop.Name = "lblSetShop"; - this.lblSetShop.Size = new System.Drawing.Size(214, 17); - this.lblSetShop.TabIndex = 718; - this.lblSetShop.Text = "指定店铺:"; - this.lblSetShop.TextAlign = System.Drawing.ContentAlignment.TopRight; + this.cmbRelation.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbRelation.FormattingEnabled = true; + this.cmbRelation.Items.AddRange(new object[] { + "", + "是", + "否"}); + this.cmbRelation.Location = new System.Drawing.Point(1267, 42); + this.cmbRelation.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.cmbRelation.Name = "cmbRelation"; + this.cmbRelation.Size = new System.Drawing.Size(153, 25); + this.cmbRelation.TabIndex = 882; + this.cmbRelation.Visible = false; + // + // lblRelation + // + this.lblRelation.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.lblRelation.AutoSize = true; + this.lblRelation.Location = new System.Drawing.Point(1201, 46); + this.lblRelation.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblRelation.Name = "lblRelation"; + this.lblRelation.Size = new System.Drawing.Size(68, 17); + this.lblRelation.TabIndex = 884; + this.lblRelation.Text = "数据转换:"; + this.lblRelation.Visible = false; // // btnSetShop // @@ -273,11 +291,8 @@ namespace TemuKJD.WXForms.ProductForms this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.Controls.Add(this.lblRelation, 8, 1); - this.tableLayoutPanel1.Controls.Add(this.txtCatBoundLessThan, 5, 1); - this.tableLayoutPanel1.Controls.Add(this.txtCatBoundMoreThan, 3, 1); - this.tableLayoutPanel1.Controls.Add(this.chkCatBoundLessThan, 4, 1); - this.tableLayoutPanel1.Controls.Add(this.chkCatBoundMoreThan, 2, 1); + this.tableLayoutPanel1.Controls.Add(this.cmbHot, 9, 0); + this.tableLayoutPanel1.Controls.Add(this.lblHot, 8, 0); this.tableLayoutPanel1.Controls.Add(this.btnSearch, 10, 0); this.tableLayoutPanel1.Controls.Add(this.btnEmpty, 11, 0); this.tableLayoutPanel1.Controls.Add(this.cmbCat3, 7, 0); @@ -290,11 +305,14 @@ namespace TemuKJD.WXForms.ProductForms this.tableLayoutPanel1.Controls.Add(this.label3, 0, 0); this.tableLayoutPanel1.Controls.Add(this.lblWxSafe, 0, 1); this.tableLayoutPanel1.Controls.Add(this.cmbWxSafe, 1, 1); - this.tableLayoutPanel1.Controls.Add(this.lblGroup, 8, 0); - this.tableLayoutPanel1.Controls.Add(this.cmbGroupFilter, 9, 0); - this.tableLayoutPanel1.Controls.Add(this.cmbSourceType, 7, 1); + this.tableLayoutPanel1.Controls.Add(this.chkCatBoundMoreThan, 2, 1); + this.tableLayoutPanel1.Controls.Add(this.txtCatBoundMoreThan, 3, 1); + this.tableLayoutPanel1.Controls.Add(this.chkCatBoundLessThan, 4, 1); + this.tableLayoutPanel1.Controls.Add(this.txtCatBoundLessThan, 5, 1); + this.tableLayoutPanel1.Controls.Add(this.cmbGroupFilter, 9, 1); this.tableLayoutPanel1.Controls.Add(this.lblSourceType, 6, 1); - this.tableLayoutPanel1.Controls.Add(this.cmbRelation, 9, 1); + this.tableLayoutPanel1.Controls.Add(this.lblGroup, 8, 1); + this.tableLayoutPanel1.Controls.Add(this.cmbSourceType, 7, 1); this.tableLayoutPanel1.Location = new System.Drawing.Point(4, 4); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 3; @@ -304,63 +322,34 @@ namespace TemuKJD.WXForms.ProductForms this.tableLayoutPanel1.Size = new System.Drawing.Size(1193, 105); this.tableLayoutPanel1.TabIndex = 679; // - // lblRelation + // cmbHot // - this.lblRelation.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.lblRelation.AutoSize = true; - this.lblRelation.Location = new System.Drawing.Point(870, 44); - this.lblRelation.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); - this.lblRelation.Name = "lblRelation"; - this.lblRelation.Size = new System.Drawing.Size(68, 17); - this.lblRelation.TabIndex = 884; - this.lblRelation.Text = "数据转换:"; - this.lblRelation.Visible = false; + this.cmbHot.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbHot.FormattingEnabled = true; + this.cmbHot.Items.AddRange(new object[] { + "", + "爆款数据", + "普通商品"}); + this.cmbHot.Location = new System.Drawing.Point(934, 7); + this.cmbHot.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.cmbHot.Name = "cmbHot"; + this.cmbHot.Size = new System.Drawing.Size(151, 25); + this.cmbHot.TabIndex = 882; + this.cmbHot.Text = "普通商品"; + this.cmbHot.Visible = false; + this.cmbHot.TextChanged += new System.EventHandler(this.cmbHot_TextChanged); // - // txtCatBoundLessThan + // lblHot // - this.txtCatBoundLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtCatBoundLessThan.Location = new System.Drawing.Point(515, 41); - this.txtCatBoundLessThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); - this.txtCatBoundLessThan.Name = "txtCatBoundLessThan"; - this.txtCatBoundLessThan.Size = new System.Drawing.Size(146, 23); - this.txtCatBoundLessThan.TabIndex = 883; - this.txtCatBoundLessThan.Text = "100000"; - this.txtCatBoundLessThan.Visible = false; - // - // txtCatBoundMoreThan - // - this.txtCatBoundMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtCatBoundMoreThan.Location = new System.Drawing.Point(293, 41); - this.txtCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); - this.txtCatBoundMoreThan.Name = "txtCatBoundMoreThan"; - this.txtCatBoundMoreThan.Size = new System.Drawing.Size(146, 23); - this.txtCatBoundMoreThan.TabIndex = 882; - this.txtCatBoundMoreThan.Text = "1000"; - this.txtCatBoundMoreThan.Visible = false; - // - // chkCatBoundLessThan - // - this.chkCatBoundLessThan.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.chkCatBoundLessThan.Location = new System.Drawing.Point(448, 42); - this.chkCatBoundLessThan.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); - this.chkCatBoundLessThan.Name = "chkCatBoundLessThan"; - this.chkCatBoundLessThan.Size = new System.Drawing.Size(64, 21); - this.chkCatBoundLessThan.TabIndex = 882; - this.chkCatBoundLessThan.Text = "保证金≤"; - this.chkCatBoundLessThan.UseVisualStyleBackColor = true; - this.chkCatBoundLessThan.CheckedChanged += new System.EventHandler(this.chkCatBoundLessThan_CheckedChanged); - // - // chkCatBoundMoreThan - // - this.chkCatBoundMoreThan.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.chkCatBoundMoreThan.Location = new System.Drawing.Point(226, 42); - this.chkCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); - this.chkCatBoundMoreThan.Name = "chkCatBoundMoreThan"; - this.chkCatBoundMoreThan.Size = new System.Drawing.Size(64, 21); - this.chkCatBoundMoreThan.TabIndex = 815; - this.chkCatBoundMoreThan.Text = "保证金≥"; - this.chkCatBoundMoreThan.UseVisualStyleBackColor = true; - this.chkCatBoundMoreThan.CheckedChanged += new System.EventHandler(this.chkCatBoundMoreThan_CheckedChanged); + this.lblHot.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.lblHot.AutoSize = true; + this.lblHot.Location = new System.Drawing.Point(890, 9); + this.lblHot.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblHot.Name = "lblHot"; + this.lblHot.Size = new System.Drawing.Size(44, 17); + this.lblHot.TabIndex = 882; + this.lblHot.Text = "爆品:"; + this.lblHot.Visible = false; // // btnSearch // @@ -369,7 +358,7 @@ namespace TemuKJD.WXForms.ProductForms 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(1090, 5); + this.btnSearch.Location = new System.Drawing.Point(1091, 5); this.btnSearch.Name = "btnSearch"; this.btnSearch.Size = new System.Drawing.Size(46, 25); this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -393,7 +382,7 @@ namespace TemuKJD.WXForms.ProductForms this.btnEmpty.CanvasColor = System.Drawing.SystemColors.Control; this.btnEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnEmpty.DisabledBackColor = System.Drawing.Color.Empty; - this.btnEmpty.Location = new System.Drawing.Point(1142, 5); + this.btnEmpty.Location = new System.Drawing.Point(1143, 5); this.btnEmpty.Name = "btnEmpty"; this.btnEmpty.Size = new System.Drawing.Size(46, 25); this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -420,10 +409,10 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCat3.DropDownWidth = 1; this.cmbCat3.FormattingEnabled = true; this.cmbCat3.IntegralHeight = false; - this.cmbCat3.Location = new System.Drawing.Point(718, 5); + this.cmbCat3.Location = new System.Drawing.Point(733, 5); this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat3.Name = "cmbCat3"; - this.cmbCat3.Size = new System.Drawing.Size(146, 25); + this.cmbCat3.Size = new System.Drawing.Size(151, 25); this.cmbCat3.TabIndex = 811; this.cmbCat3.Text = "全部"; this.cmbCat3.SelectedIndexChanged += new System.EventHandler(this.cmbCat3_SelectedIndexChanged); @@ -433,7 +422,7 @@ namespace TemuKJD.WXForms.ProductForms // this.label17.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label17.AutoSize = true; - this.label17.Location = new System.Drawing.Point(667, 9); + this.label17.Location = new System.Drawing.Point(682, 9); this.label17.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label17.Name = "label17"; this.label17.Size = new System.Drawing.Size(51, 17); @@ -448,10 +437,10 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCat2.DropDownWidth = 1; this.cmbCat2.FormattingEnabled = true; this.cmbCat2.IntegralHeight = false; - this.cmbCat2.Location = new System.Drawing.Point(515, 5); + this.cmbCat2.Location = new System.Drawing.Point(525, 5); this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat2.Name = "cmbCat2"; - this.cmbCat2.Size = new System.Drawing.Size(146, 25); + this.cmbCat2.Size = new System.Drawing.Size(151, 25); this.cmbCat2.TabIndex = 804; this.cmbCat2.Text = "全部"; this.cmbCat2.SelectedIndexChanged += new System.EventHandler(this.cmbCat2_SelectedIndexChanged); @@ -461,7 +450,7 @@ namespace TemuKJD.WXForms.ProductForms // this.label14.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(464, 9); + this.label14.Location = new System.Drawing.Point(474, 9); this.label14.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(51, 17); @@ -476,10 +465,10 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCat1.DropDownWidth = 1; this.cmbCat1.FormattingEnabled = true; this.cmbCat1.IntegralHeight = false; - this.cmbCat1.Location = new System.Drawing.Point(293, 7); + this.cmbCat1.Location = new System.Drawing.Point(298, 7); this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat1.Name = "cmbCat1"; - this.cmbCat1.Size = new System.Drawing.Size(146, 25); + this.cmbCat1.Size = new System.Drawing.Size(151, 25); this.cmbCat1.TabIndex = 805; this.cmbCat1.Text = "全部"; this.cmbCat1.SelectedIndexChanged += new System.EventHandler(this.cmbCat1_SelectedIndexChanged); @@ -489,7 +478,7 @@ namespace TemuKJD.WXForms.ProductForms // this.label2.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(242, 9); + this.label2.Location = new System.Drawing.Point(247, 9); this.label2.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(51, 17); @@ -502,7 +491,7 @@ namespace TemuKJD.WXForms.ProductForms this.txtProdName.Location = new System.Drawing.Point(71, 6); this.txtProdName.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtProdName.Name = "txtProdName"; - this.txtProdName.Size = new System.Drawing.Size(146, 23); + this.txtProdName.Size = new System.Drawing.Size(151, 23); this.txtProdName.TabIndex = 427; // // label3 @@ -539,15 +528,84 @@ namespace TemuKJD.WXForms.ProductForms this.cmbWxSafe.Location = new System.Drawing.Point(71, 42); this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbWxSafe.Name = "cmbWxSafe"; - this.cmbWxSafe.Size = new System.Drawing.Size(146, 25); + this.cmbWxSafe.Size = new System.Drawing.Size(151, 25); this.cmbWxSafe.TabIndex = 676; this.cmbWxSafe.Text = "安全+未校验"; // + // chkCatBoundMoreThan + // + this.chkCatBoundMoreThan.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.chkCatBoundMoreThan.Location = new System.Drawing.Point(231, 42); + this.chkCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); + this.chkCatBoundMoreThan.Name = "chkCatBoundMoreThan"; + this.chkCatBoundMoreThan.Size = new System.Drawing.Size(64, 21); + this.chkCatBoundMoreThan.TabIndex = 815; + this.chkCatBoundMoreThan.Text = "保证金≥"; + this.chkCatBoundMoreThan.UseVisualStyleBackColor = true; + this.chkCatBoundMoreThan.CheckedChanged += new System.EventHandler(this.chkCatBoundMoreThan_CheckedChanged); + // + // txtCatBoundMoreThan + // + this.txtCatBoundMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.txtCatBoundMoreThan.Location = new System.Drawing.Point(298, 41); + this.txtCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.txtCatBoundMoreThan.Name = "txtCatBoundMoreThan"; + this.txtCatBoundMoreThan.Size = new System.Drawing.Size(151, 23); + this.txtCatBoundMoreThan.TabIndex = 882; + this.txtCatBoundMoreThan.Text = "1000"; + this.txtCatBoundMoreThan.Visible = false; + // + // chkCatBoundLessThan + // + this.chkCatBoundLessThan.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.chkCatBoundLessThan.Location = new System.Drawing.Point(458, 42); + this.chkCatBoundLessThan.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); + this.chkCatBoundLessThan.Name = "chkCatBoundLessThan"; + this.chkCatBoundLessThan.Size = new System.Drawing.Size(64, 21); + this.chkCatBoundLessThan.TabIndex = 882; + this.chkCatBoundLessThan.Text = "保证金≤"; + this.chkCatBoundLessThan.UseVisualStyleBackColor = true; + this.chkCatBoundLessThan.CheckedChanged += new System.EventHandler(this.chkCatBoundLessThan_CheckedChanged); + // + // txtCatBoundLessThan + // + this.txtCatBoundLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.txtCatBoundLessThan.Location = new System.Drawing.Point(525, 41); + this.txtCatBoundLessThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.txtCatBoundLessThan.Name = "txtCatBoundLessThan"; + this.txtCatBoundLessThan.Size = new System.Drawing.Size(151, 23); + this.txtCatBoundLessThan.TabIndex = 883; + this.txtCatBoundLessThan.Text = "100000"; + this.txtCatBoundLessThan.Visible = false; + // + // cmbGroupFilter + // + this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbGroupFilter.FormattingEnabled = true; + this.cmbGroupFilter.Location = new System.Drawing.Point(934, 40); + this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.cmbGroupFilter.Name = "cmbGroupFilter"; + this.cmbGroupFilter.Size = new System.Drawing.Size(151, 25); + this.cmbGroupFilter.TabIndex = 653; + this.cmbGroupFilter.Visible = false; + // + // lblSourceType + // + this.lblSourceType.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.lblSourceType.AutoSize = true; + this.lblSourceType.Location = new System.Drawing.Point(689, 44); + this.lblSourceType.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblSourceType.Name = "lblSourceType"; + this.lblSourceType.Size = new System.Drawing.Size(44, 17); + this.lblSourceType.TabIndex = 651; + this.lblSourceType.Text = "来源:"; + this.lblSourceType.Visible = false; + // // lblGroup // this.lblGroup.Anchor = System.Windows.Forms.AnchorStyles.Right; this.lblGroup.AutoSize = true; - this.lblGroup.Location = new System.Drawing.Point(894, 9); + this.lblGroup.Location = new System.Drawing.Point(890, 44); this.lblGroup.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblGroup.Name = "lblGroup"; this.lblGroup.Size = new System.Drawing.Size(44, 17); @@ -555,17 +613,6 @@ namespace TemuKJD.WXForms.ProductForms this.lblGroup.Text = "分组:"; this.lblGroup.Visible = false; // - // cmbGroupFilter - // - this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.cmbGroupFilter.FormattingEnabled = true; - this.cmbGroupFilter.Location = new System.Drawing.Point(938, 5); - this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); - this.cmbGroupFilter.Name = "cmbGroupFilter"; - this.cmbGroupFilter.Size = new System.Drawing.Size(146, 25); - this.cmbGroupFilter.TabIndex = 653; - this.cmbGroupFilter.Visible = false; - // // cmbSourceType // this.cmbSourceType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); @@ -580,42 +627,28 @@ namespace TemuKJD.WXForms.ProductForms "机会商品", "以图搜品", "外部数据"}); - this.cmbSourceType.Location = new System.Drawing.Point(718, 40); + this.cmbSourceType.Location = new System.Drawing.Point(733, 40); this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbSourceType.Name = "cmbSourceType"; - this.cmbSourceType.Size = new System.Drawing.Size(146, 25); + this.cmbSourceType.Size = new System.Drawing.Size(151, 25); this.cmbSourceType.TabIndex = 654; this.cmbSourceType.Text = "厂商直采"; this.cmbSourceType.Visible = false; this.cmbSourceType.SelectedIndexChanged += new System.EventHandler(this.cmbSourceType_SelectedIndexChanged); this.cmbSourceType.TextChanged += new System.EventHandler(this.cmbSourceType_SelectedIndexChanged); // - // lblSourceType + // lblSetShop // - this.lblSourceType.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.lblSourceType.AutoSize = true; - this.lblSourceType.Location = new System.Drawing.Point(674, 44); - this.lblSourceType.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); - this.lblSourceType.Name = "lblSourceType"; - this.lblSourceType.Size = new System.Drawing.Size(44, 17); - this.lblSourceType.TabIndex = 651; - this.lblSourceType.Text = "来源:"; - this.lblSourceType.Visible = false; - // - // cmbRelation - // - this.cmbRelation.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.cmbRelation.FormattingEnabled = true; - this.cmbRelation.Items.AddRange(new object[] { - "", - "是", - "否"}); - this.cmbRelation.Location = new System.Drawing.Point(938, 40); - this.cmbRelation.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); - this.cmbRelation.Name = "cmbRelation"; - this.cmbRelation.Size = new System.Drawing.Size(146, 25); - this.cmbRelation.TabIndex = 882; - this.cmbRelation.Visible = false; + this.lblSetShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.lblSetShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblSetShop.ForeColor = System.Drawing.Color.DarkOrange; + this.lblSetShop.Location = new System.Drawing.Point(1206, 31); + this.lblSetShop.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.lblSetShop.Name = "lblSetShop"; + this.lblSetShop.Size = new System.Drawing.Size(214, 17); + this.lblSetShop.TabIndex = 718; + this.lblSetShop.Text = "指定店铺:"; + this.lblSetShop.TextAlign = System.Drawing.ContentAlignment.TopRight; // // splitContainer2 // @@ -1588,6 +1621,7 @@ namespace TemuKJD.WXForms.ProductForms this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.PDDDBProdListForm_KeyUp); 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); @@ -1714,5 +1748,7 @@ namespace TemuKJD.WXForms.ProductForms public System.Windows.Forms.ComboBox cmbSourceType; public System.Windows.Forms.ComboBox cmbRelation; public System.Windows.Forms.Label lblRelation; + private System.Windows.Forms.Label lblHot; + private System.Windows.Forms.ComboBox cmbHot; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.cs b/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.cs index a4fd143..f2ed6d2 100644 --- a/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.cs @@ -60,8 +60,6 @@ namespace TemuKJD.WXForms.ProductForms chkCatBoundMoreThan.Visible = false; lblWxSafe.Visible = false; cmbWxSafe.Visible = false; - tableLayoutPanel1.SetColumn(lblSourceType, 0); - tableLayoutPanel1.SetColumn(cmbSourceType, 1); dgvDbProduct.Columns["colCatBound"].Visible = false; dgvDbProduct.Columns["colWxSafe"].Visible = false; dgvDbProduct.Columns["colMainImg"].FillWeight = 25; @@ -69,7 +67,11 @@ namespace TemuKJD.WXForms.ProductForms Task.Run(() => { - PDDDBProdListForm.GetPDDProductGroup(new List { cmbGroupFilter, }, "", "", BaseClass.UserAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.UserName) : "admin"); + // 同时刷新下商品分组 + string addUserName = BaseClass.UserAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.UserName) : "admin"; + if (BaseClass.GroupId != 3) + addUserName = BaseClass.ParentAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.ParentUserName) : "admin"; + PDDDBProdListForm.GetPDDProductGroup(new List { cmbGroupFilter, }, "", "", addUserName); GetPddProductCate(); }); if (BaseClass.SaLevel == 1 && shop == null) // 一级管理员且不是选品状态 @@ -120,12 +122,58 @@ namespace TemuKJD.WXForms.ProductForms cmbSourceType.Visible = true; lblGroup.Visible = true; cmbGroupFilter.Visible = true; - tableLayoutPanel1.ColumnStyles[9].SizeType = SizeType.Percent; - tableLayoutPanel1.ColumnStyles[9].Width = 20; } - else + if (BaseClass.SaLevel > 0 || BaseClass.UserAuthority.ParseToString().Contains("爆款数据")) { - tableLayoutPanel1.ColumnStyles[9].SizeType = SizeType.AutoSize; + lblHot.Visible = true; + cmbHot.Visible = true; + } + + var ctrls = tableLayoutPanel1.Controls.Cast().ToList(); + List ctrlLst = new List(); + for (int j = 0; j < 2; j++) + { + for (int i = 0; i < 10; i++) + { + var ctrl = ctrls.FirstOrDefault(c => tableLayoutPanel1.GetRow(c) == j && tableLayoutPanel1.GetColumn(c) == i); + // tableLayoutPanel1.GetControlFromPosition(i, j); 取不到隐藏的商品 + if (ctrl != null) + ctrlLst.Add(ctrl); + else + { + } + } + } + + for (int i = 0; i < ctrlLst.Count - 1; i++) + { + var ctrl = ctrlLst[i]; + var row = tableLayoutPanel1.GetRow(ctrl); + var column = tableLayoutPanel1.GetColumn(ctrl); + + if (ctrl.Visible == false && ctrl.Name != "txtCatBoundMoreThan" && ctrl.Name != "txtCatBoundLessThan") + { + tableLayoutPanel1.SetRow(ctrlLst[i + 1], row); + tableLayoutPanel1.SetColumn(ctrlLst[i + 1], column); + } + else if (column < 9) + { + tableLayoutPanel1.SetRow(ctrlLst[i + 1], row); + tableLayoutPanel1.SetColumn(ctrlLst[i + 1], column + 1); + } + else if (column >= 9) + { + tableLayoutPanel1.SetRow(ctrlLst[i + 1], row + 1); + tableLayoutPanel1.SetColumn(ctrlLst[i + 1], 0); + } + } + + for (int i = 0; i < 10; i++) + { + if (tableLayoutPanel1.GetControlFromPosition(i, 0) == null && tableLayoutPanel1.GetControlFromPosition(i, 1) == null)// 取不到隐藏的商品 + { + tableLayoutPanel1.ColumnStyles[i].SizeType = SizeType.AutoSize; + } } } @@ -341,7 +389,13 @@ namespace TemuKJD.WXForms.ProductForms "&search_group=" + cmbGroupFilter.Text.Trim() + "&search_prod_name=" + txtProdName.Text.Trim() + "&wx_safe_status=" + cmbWxSafe.Text.Trim().Replace("安全+未校验", "安全商品,未校验").Replace("违规商品", ""); - data += "&add_user_name=" + (BaseClass.UserAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.UserName) : "admin"); + + // 同时刷新下商品分组 + string addUserName = BaseClass.UserAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.UserName) : "admin"; + if (BaseClass.GroupId != 3) + addUserName = BaseClass.ParentAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.ParentUserName) : "admin"; + data += "&add_user_name=" + addUserName; + if (BaseClass.MainPath == "weixin") data += "&ban_wx=0"; if (BaseClass.MainPath == "binxixi") @@ -437,6 +491,9 @@ namespace TemuKJD.WXForms.ProductForms } if (chkWXComplateProd.Checked) data += "&has_wx_format=1"; + + if (!string.IsNullOrWhiteSpace(cmbHot.Text.Trim())) + data += "&special_prod_type=" + cmbHot.Text.Replace("普通商品", "普通商品,书籍"); })); var html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) @@ -507,6 +564,7 @@ namespace TemuKJD.WXForms.ProductForms this.cmbWxCat.Text = "是"; this.cmbExportToOutServer.Text = "是"; this.txtSecretStyleCode.Text = ""; + this.cmbHot.Text = "普通商品"; } private void cmbCat1_SelectedIndexChanged(object sender, EventArgs e) @@ -1032,5 +1090,21 @@ namespace TemuKJD.WXForms.ProductForms { } + + private void cmbHot_TextChanged(object sender, EventArgs e) + { + if (cmbHot.Text == "爆款数据") + { + cmbSourceType.Text = ""; + cmbExportToOutServer.Text = ""; + cmbWxCat.Text = ""; + } + else + { + cmbSourceType.Text = "厂商直采"; + cmbExportToOutServer.Text = "是"; + cmbWxCat.Text = "是"; + } + } } } diff --git a/TEMUKJD/WXForms/ShopForms/WXShopAddEditForm.cs b/TEMUKJD/WXForms/ShopForms/WXShopAddEditForm.cs index 4ba3f83..a8d54d6 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopAddEditForm.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopAddEditForm.cs @@ -59,8 +59,12 @@ namespace TemuKJD.WXForms.ShopForms if (chkShopGroup.Checked) shop.GroupName = this.cmbGroup.Text; if (chkSubAccount.Checked) + { + if (shopSubAccountTmp == null) + shopSubAccountTmp = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(shop)); shop.SubUserName = shopSubAccountTmp.SubUserName; - + } + shop.CompanyName = AllBase.BaseClass.CompanyName; foreach (var sp in lstShopLoginInfo) diff --git a/TEMUKJD/WXForms/ShopForms/WXShopBrowserObject.cs b/TEMUKJD/WXForms/ShopForms/WXShopBrowserObject.cs index 54144ac..994ab72 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopBrowserObject.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopBrowserObject.cs @@ -26,9 +26,12 @@ namespace TemuKJD.WXForms.ShopForms public class WXShopBrowserObject { public delegate void InfoReceivedHandler(string information); + /// + /// 通知前端事件 + /// public event InfoReceivedHandler OnInfoReceived; - public string getProduct(string sProdId, string supplierId, bool isReGet = true, bool notSaveDb = false) + public string getProduct(string sProdId, string supplierId, bool isReGet = true) { var prodId = sProdId.ParseToLong(); if (prodId <= 0) @@ -54,7 +57,11 @@ namespace TemuKJD.WXForms.ShopForms Task.Run(() => { - var msg = reGetProductWidthWXFormat(shop, sProdId, isReGet); + string msg = ""; + if (isReGet) + msg = ReGetProductWithWXFormat(shop, sProdId); + else + msg = GetWxProduct(shop, sProdId); if (!string.IsNullOrEmpty(msg)) { if (!msg.StartsWith("success") && !msg.StartsWith("商品回采保存成功") && !msg.Contains("微信商品采集入库成功")) @@ -77,9 +84,9 @@ namespace TemuKJD.WXForms.ShopForms return "success"; } - public string reGetProductWidthWXFormat(ShopLoginInfo shop, string prodId, bool isReGet = true) + public string ReGetProductWithWXFormat(ShopLoginInfo shop, string prodId) { - string getString = isReGet ? "商品回采" : "商品采集"; + //string getString = isReGet ? "商品回采" : "商品采集"; try { Thread.Sleep(Randomx.GetId(10, 50)); @@ -100,13 +107,13 @@ namespace TemuKJD.WXForms.ShopForms if (shop.LoginStatus != "登录成功") errmsg = "店铺掉线"; - return getString + "失败!" + errmsg; + return "商品回采失败!" + errmsg; } } catch (Exception ex) { - //OnInfoReceived("商品获取失败!商品数据格式获取失败!" + ex.Message); - return getString + "失败!商品数据格式获取失败!" + ex.Message; + //OnInfoReceived("商品回采失败!商品数据格式获取失败!" + ex.Message); + return "商品回采失败!商品数据格式获取失败!" + ex.Message; } WXGetEditProductInfoLite wxProdInfoLite = null; @@ -126,32 +133,24 @@ namespace TemuKJD.WXForms.ShopForms if (shop.LoginStatus != "登录成功") errmsg = "店铺掉线"; - return getString + "失败!" + errmsg; + return "商品回采失败!" + errmsg; } var addressStr = JsonHelper.JObjectParse(addressRst)["addressList"].FirstOrDefault().ParseToString(); wxProdInfoLite.address = JsonHelper.DeserializeJsonToObject(addressStr); - if (isReGet && wxProdInfoLite.address == null) - return getString + "失败!商品详情获取失败"; + if (wxProdInfoLite.address == null) + return "商品回采失败!商品详情获取失败"; // 查看下json结构 var wxProdInfoLiteStr = JsonHelper.SerializeObject(wxProdInfoLite); if (string.IsNullOrWhiteSpace(wxProdInfoLite.product.info.spuCode)) { - if (isReGet) - { - return getString + "失败:外部编码采集失败,跳过"; - } - else - { - return SaveWxProd(shop, prodId, wxProdInfoLite); - } + return "商品回采失败:未找到外部编码,采集失败,跳过"; } } catch (Exception ex) { - return getString + "失败:格式转换失败 " + ex.Message; + return "商品回采失败:格式转换失败 " + ex.Message; } - // 查询商品库有没有 var url = BaseClass.BuildPDDObjString("product/get_product_spu_id_list"); Thread.Sleep(200); @@ -166,12 +165,12 @@ namespace TemuKJD.WXForms.ShopForms var errMsg = BaseRegex.GetStringJson(ref result, "msg"); if (string.IsNullOrEmpty(errMsg)) errMsg = result; - return getString + "查询商品错误:" + errMsg; + return "商品回采查询商品错误:" + errMsg; } List complateDbProdExistLst = JsonHelper.DeserializeJsonToList(JsonHelper.JObjectParse(result)["data"].ParseToString()); if (complateDbProdExistLst.Count == 0) { - return getString + "商品不存在"; + return "回采商品不存在"; } url = BaseClass.BuildPDDObjString("product/add_prod_wx_complate"); @@ -190,20 +189,109 @@ namespace TemuKJD.WXForms.ShopForms var errMsg = BaseRegex.GetStringJson(ref result, "msg"); if (string.IsNullOrEmpty(errMsg)) errMsg = result; - return getString + "查询商品错误:" + errMsg; + return "商品回采查询商品错误:" + errMsg; } else { - return getString + "保存成功!"; + return "商品回采保存成功!"; } } catch (Exception ex) { - return getString + "失败!" + ex.Message; + return "商品回采失败!" + ex.Message; } } - string SaveWxProd(ShopLoginInfo shop, string prodId, WXGetEditProductInfoLite wxEditProdInfoLite) + public string GetWxProduct(ShopLoginInfo shop, string prodId) + { + WXGetEditProductInfoLite wxProdInfoLite = null; + return GetWxProduct(shop, prodId, ref wxProdInfoLite); + } + + public string GetWxProduct(ShopLoginInfo shop, string prodId, ref WXGetEditProductInfoLite wxProdInfoLite, bool isNotSaveDB = false) + { + try + { + Thread.Sleep(Randomx.GetId(10, 50)); + string getEditProdRst = ""; + try + { + getEditProdRst = WXUpload.getEditProductV2(shop, prodId); + Thread.Sleep(Randomx.GetId(50, 100)); + if (getEditProdRst.Contains("biz magic invalid")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + } + if (!getEditProdRst.Contains("\"success\":true")) + { + var errmsg = BaseRegex.GetStringJson(ref getEditProdRst, "msg"); + if (string.IsNullOrWhiteSpace(errmsg)) + errmsg = getEditProdRst; + if (shop.LoginStatus != "登录成功") + errmsg = "店铺掉线"; + + return "店铺商品采集失败!" + errmsg; + } + } + catch (Exception ex) + { + //OnInfoReceived("商品获取失败!商品数据格式获取失败!" + ex.Message); + return "店铺商品采集失败!商品数据格式获取失败!" + ex.Message; + } + + try + { + wxProdInfoLite = JsonHelper.DeserializeJsonToObject(getEditProdRst); + var addressRst = WXUpload.getAddressById(shop, wxProdInfoLite.product.info.afterSaleInfo.afterSaleAddressId); + if (addressRst.Contains("biz magic invalid")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + } + if (!addressRst.Contains("\"success\":true")) + { + var errmsg = BaseRegex.GetStringJson(ref addressRst, "msg"); + if (string.IsNullOrWhiteSpace(errmsg)) + errmsg = addressRst; + if (shop.LoginStatus != "登录成功") + errmsg = "店铺掉线"; + + return "店铺商品采集失败!" + errmsg; + } + var addressStr = JsonHelper.JObjectParse(addressRst)["addressList"].FirstOrDefault().ParseToString(); + wxProdInfoLite.address = JsonHelper.DeserializeJsonToObject(addressStr); + if (wxProdInfoLite.address == null) + return "店铺商品采集失败!商品详情获取失败"; + // 查看下json结构 + var wxProdInfoLiteStr = JsonHelper.SerializeObject(wxProdInfoLite); + + if (isNotSaveDB) + return "success"; + else + return SaveWxProd(shop, prodId, wxProdInfoLite); + } + catch (Exception ex) + { + return "店铺商品采集失败:格式转换失败 " + ex.Message; + } + } + catch (Exception ex) + { + return "失败!" + ex.Message; + } + } + + /// + /// 店采商品保存 + /// + /// + /// + /// + /// + /// + /// + /// + public string SaveWxProd(ShopLoginInfo shop, string prodId, WXGetEditProductInfoLite wxEditProdInfoLite, + string specialProdType = null, string coid = null, string realCoid = null, int? viewUv = null, string wx_safe_status = "安全商品") { bool isExist = false; var existUrl = BaseClass.BuildPDDObjString("product/get_product_spu_id_list"); @@ -231,18 +319,27 @@ namespace TemuKJD.WXForms.ShopForms var data = Work.UserLogin.GetSignaturex() + "&from_shop_id=" + shop.ShopId + "&from_shop_name=" + shop.ShopAccount + - "&spu_id=" + prodId + - "&skc_id=" + prodId + - "&price_text=" + skus.Min(s => s.productSkuInfo.salePrice * 0.01m) + " - " + skus.Max(s => s.productSkuInfo.salePrice * 0.01m) + - "&ext_code=" + "" + - "&product_name=" + HttpUtility.UrlEncode(wxEditProdInfoLite.product.info.title, Encoding.UTF8) + - "&product_json=" + HttpUtility.UrlEncode(JsonHelper.SerializeObject(wxEditProdInfoLite), Encoding.UTF8) + - "&size_json=" + HttpUtility.UrlEncode("{}", Encoding.UTF8) + - "&sale_count=" + - "&sale_count_text=" + - "&main_img=" + HttpUtility.UrlEncode(wxEditProdInfoLite.product.info.headImg.FirstOrDefault(), Encoding.UTF8) + - "&wx_safe_status=" + HttpUtility.UrlEncode("安全商品", Encoding.UTF8) + - "&product_get_type=" + HttpUtility.UrlEncode("微信店采", Encoding.UTF8); + "&spu_id=" + prodId; + if (specialProdType == "爆款数据") + data += "&add_hot_version=v3"; + if (!string.IsNullOrWhiteSpace(coid)) + data += "&skc_id=" + coid; + else + data += "&skc_id=" + prodId; + if (!string.IsNullOrWhiteSpace(realCoid)) + { + data += "&real_coid=" + realCoid; + } + data += "&price_text=" + skus.Min(s => s.productSkuInfo.salePrice * 0.01m) + " - " + skus.Max(s => s.productSkuInfo.salePrice * 0.01m); + data += "&ext_code=" + wxEditProdInfoLite.product.info.spuCode; + data += "&product_name=" + HttpUtility.UrlEncode(wxEditProdInfoLite.product.info.title, Encoding.UTF8) + + "&product_json=" + HttpUtility.UrlEncode(JsonHelper.SerializeObject(wxEditProdInfoLite), Encoding.UTF8) + + "&size_json=" + HttpUtility.UrlEncode("{}", Encoding.UTF8) + + "&sale_count=" + + "&sale_count_text=" + + "&main_img=" + HttpUtility.UrlEncode(wxEditProdInfoLite.product.info.headImg.FirstOrDefault(), Encoding.UTF8) + + "&wx_safe_status=" + HttpUtility.UrlEncode(wx_safe_status, Encoding.UTF8) + + "&product_get_type=" + HttpUtility.UrlEncode("微信店采", Encoding.UTF8); if (wxEditProdInfoLite.product.info.category.Count > 0) { @@ -254,9 +351,17 @@ namespace TemuKJD.WXForms.ShopForms data += "&cat_id=" + wxEditProdInfoLite.product.info.category.LastOrDefault()?.catId; data += "&cat_name=" + HttpUtility.UrlEncode((wxEditProdInfoLite.product.info.category.LastOrDefault()?.name).ParseToString(), Encoding.UTF8); } - if (wxEditProdInfoLite.product.info.category.FirstOrDefault().name == "图书") + //if (wxEditProdInfoLite.product.info.category.FirstOrDefault().name == "图书") + //{ + // data += "&special_prod_type=" + HttpUtility.UrlEncode("书籍", Encoding.UTF8); + //} + if (specialProdType != null) { - data += "&special_prod_type=" + HttpUtility.UrlEncode("书籍", Encoding.UTF8); + data += "&special_prod_type=" + HttpUtility.UrlEncode("爆款数据", Encoding.UTF8); + } + if (viewUv != null) + { + data += "&view_uv=" + viewUv; } html = GetHtml.PostUtf8(url, data); @@ -264,7 +369,7 @@ namespace TemuKJD.WXForms.ShopForms html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) { - string msg = "商品入库失败!请检查网络连接:" + BaseRegex.GetStringJson(ref html, "msg"); + string msg = "商品入库失败!请检查网络连接:" + BaseRegex.GetStringJson(ref html, "msg"); //Invoke(new Action(() => //{ // row.Cells["colMsg"].Value = msg; @@ -286,12 +391,12 @@ namespace TemuKJD.WXForms.ShopForms html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) { - string msg = "商品入库失败!请检查网络连接:" + BaseRegex.GetStringJson(ref html, "msg"); + string msg = "商品入库失败!请检查网络连接:" + BaseRegex.GetStringJson(ref html, "msg"); return msg; } } - return "微信商品采集入库成功!"; + return "微信商品采集入库成功!"; } } } diff --git a/TEMUKJD/WXForms/ShopForms/WXShopMultiLoginForm.cs b/TEMUKJD/WXForms/ShopForms/WXShopMultiLoginForm.cs index f1233e9..a099e52 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopMultiLoginForm.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopMultiLoginForm.cs @@ -363,21 +363,23 @@ namespace TemuKJD.WXForms.ShopForms string jsStr1 = @"document.getElementsByClassName('shop-info-popover')[0].style =''; var divLst = document.getElementsByClassName('shop-info-popover')[0].getElementsByTagName('div'); - for (i=0; i= 0){ divLst[i].click(); - //return 'success' + //return 'success'; } - }"; + } })();"; var t1 = cefWebBrowser.GetMainFrame().EvaluateScriptAsync(jsStr1); t1.Wait(5000); Thread.Sleep(Randomx.GetId(500, 1000)); - jsStr1 = @"for (i=0; i= 0){ + jsStr1 = @"(function() { for (i=0; i= 0){ + if(divLst[i].innerHTML == '" + switchInfo.nickname + @"'){ divLst[i].click(); + return 'success'; } - }"; + } })();"; t1 = cefWebBrowser.GetMainFrame().EvaluateScriptAsync(jsStr1); t1.Wait(5000); diff --git a/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.Designer.cs b/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.Designer.cs index 2a5fe29..96591ae 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.Designer.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.Designer.cs @@ -56,8 +56,6 @@ namespace TemuKJD.WXForms.ShopForms System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle22 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle23 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle24 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle35 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle36 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle25 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle26 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle27 = new System.Windows.Forms.DataGridViewCellStyle(); @@ -68,6 +66,8 @@ namespace TemuKJD.WXForms.ShopForms System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle32 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle33 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle34 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle35 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle36 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle37 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle38 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle39 = new System.Windows.Forms.DataGridViewCellStyle(); @@ -123,6 +123,14 @@ namespace TemuKJD.WXForms.ShopForms this.tabPage1 = new System.Windows.Forms.TabPage(); this.panel1 = new System.Windows.Forms.Panel(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.pnlUpdateRemark = new System.Windows.Forms.Panel(); + this.lblShopId = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.txtRemark = new System.Windows.Forms.TextBox(); + this.btnRemarkCancel = new DevComponents.DotNetBar.PanelEx(); + this.btnRemarkOK = new DevComponents.DotNetBar.PanelEx(); + this.lblOrderId = new System.Windows.Forms.Label(); + this.lblShopName = new System.Windows.Forms.Label(); this.dgvData1 = new TemuKJD.UserComponent.DataGridViewEx(); this.colDgv1Check = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colDgv1ShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -141,6 +149,7 @@ namespace TemuKJD.WXForms.ShopForms this.colDgv1AfterSaleReason = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgv1OptimizeStatus = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgv1Optimize = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colDgv1Remark = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.panel2 = new System.Windows.Forms.Panel(); this.pictureBox2 = new System.Windows.Forms.PictureBox(); @@ -165,18 +174,11 @@ namespace TemuKJD.WXForms.ShopForms this.colDgv2CommentContent = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgv2OptimizeStatus = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgv2Optimize = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colDgv2Remark = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.tabPage3 = new System.Windows.Forms.TabPage(); this.mainPanel = new System.Windows.Forms.Panel(); this.pictureBox3 = new System.Windows.Forms.PictureBox(); this.dgvData3 = new TemuKJD.UserComponent.DataGridViewEx(); - this.tabPage4 = new System.Windows.Forms.TabPage(); - this.panel3 = new System.Windows.Forms.Panel(); - this.pictureBox4 = new System.Windows.Forms.PictureBox(); - this.dgvData4 = new TemuKJD.UserComponent.DataGridViewEx(); - this.tabPage5 = new System.Windows.Forms.TabPage(); - this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); - this.splitContainer3 = new System.Windows.Forms.SplitContainer(); this.colDgv3Check = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colDgv3ShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgv3ShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -198,6 +200,11 @@ namespace TemuKJD.WXForms.ShopForms this.colDgv3WaybillId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgv3OptimizeStatus = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgv3Optimize = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colDgv3Remark = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.tabPage4 = new System.Windows.Forms.TabPage(); + this.panel3 = new System.Windows.Forms.Panel(); + this.pictureBox4 = new System.Windows.Forms.PictureBox(); + this.dgvData4 = new TemuKJD.UserComponent.DataGridViewEx(); this.colDgv4Check = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colDgv4ShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgv4ShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -219,6 +226,12 @@ namespace TemuKJD.WXForms.ShopForms this.dataGridViewTextBoxColumn12 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgv4OptimizeStatus = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgv4Optimize = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colDgv4Remark = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.tabPage5 = new System.Windows.Forms.TabPage(); + this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.splitContainer3 = new System.Windows.Forms.SplitContainer(); + this.label2 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -235,6 +248,7 @@ namespace TemuKJD.WXForms.ShopForms this.tabPage1.SuspendLayout(); this.panel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.pnlUpdateRemark.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dgvData1)).BeginInit(); this.tabPage2.SuspendLayout(); this.panel2.SuspendLayout(); @@ -935,6 +949,7 @@ namespace TemuKJD.WXForms.ShopForms // panel1 // this.panel1.Controls.Add(this.pictureBox1); + this.panel1.Controls.Add(this.pnlUpdateRemark); this.panel1.Controls.Add(this.dgvData1); this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); @@ -955,6 +970,117 @@ namespace TemuKJD.WXForms.ShopForms this.pictureBox1.TabStop = false; this.pictureBox1.Visible = false; // + // pnlUpdateRemark + // + this.pnlUpdateRemark.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.pnlUpdateRemark.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pnlUpdateRemark.Controls.Add(this.lblShopId); + this.pnlUpdateRemark.Controls.Add(this.label1); + this.pnlUpdateRemark.Controls.Add(this.txtRemark); + this.pnlUpdateRemark.Controls.Add(this.btnRemarkCancel); + this.pnlUpdateRemark.Controls.Add(this.btnRemarkOK); + this.pnlUpdateRemark.Controls.Add(this.lblOrderId); + this.pnlUpdateRemark.Controls.Add(this.lblShopName); + this.pnlUpdateRemark.Controls.Add(this.label2); + this.pnlUpdateRemark.Location = new System.Drawing.Point(467, 63); + this.pnlUpdateRemark.Name = "pnlUpdateRemark"; + this.pnlUpdateRemark.Size = new System.Drawing.Size(474, 146); + this.pnlUpdateRemark.TabIndex = 781; + this.pnlUpdateRemark.Visible = false; + // + // lblShopId + // + this.lblShopId.AutoSize = true; + this.lblShopId.Location = new System.Drawing.Point(20, 112); + this.lblShopId.Name = "lblShopId"; + this.lblShopId.Size = new System.Drawing.Size(50, 17); + this.lblShopId.TabIndex = 475; + this.lblShopId.Text = "ShopId"; + this.lblShopId.Visible = false; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(20, 52); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(32, 17); + this.label1.TabIndex = 468; + this.label1.Text = "备注"; + // + // txtRemark + // + this.txtRemark.Location = new System.Drawing.Point(55, 48); + this.txtRemark.Multiline = true; + this.txtRemark.Name = "txtRemark"; + this.txtRemark.Size = new System.Drawing.Size(407, 54); + this.txtRemark.TabIndex = 467; + // + // btnRemarkCancel + // + this.btnRemarkCancel.CanvasColor = System.Drawing.SystemColors.Control; + this.btnRemarkCancel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRemarkCancel.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRemarkCancel.Location = new System.Drawing.Point(406, 112); + this.btnRemarkCancel.Name = "btnRemarkCancel"; + this.btnRemarkCancel.Size = new System.Drawing.Size(56, 24); + this.btnRemarkCancel.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRemarkCancel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnRemarkCancel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnRemarkCancel.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnRemarkCancel.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRemarkCancel.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnRemarkCancel.Style.GradientAngle = 90; + this.btnRemarkCancel.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnRemarkCancel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRemarkCancel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRemarkCancel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRemarkCancel.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnRemarkCancel.TabIndex = 466; + this.btnRemarkCancel.Text = "取消"; + this.btnRemarkCancel.Click += new System.EventHandler(this.btnRemarkCancel_Click); + // + // btnRemarkOK + // + this.btnRemarkOK.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRemarkOK.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRemarkOK.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRemarkOK.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRemarkOK.Location = new System.Drawing.Point(347, 112); + this.btnRemarkOK.Name = "btnRemarkOK"; + this.btnRemarkOK.Size = new System.Drawing.Size(56, 24); + this.btnRemarkOK.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRemarkOK.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRemarkOK.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRemarkOK.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnRemarkOK.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnRemarkOK.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnRemarkOK.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnRemarkOK.Style.GradientAngle = 90; + this.btnRemarkOK.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRemarkOK.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRemarkOK.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRemarkOK.TabIndex = 465; + this.btnRemarkOK.Text = "确定"; + this.btnRemarkOK.Click += new System.EventHandler(this.btnRemarkOK_Click); + // + // lblOrderId + // + this.lblOrderId.AutoSize = true; + this.lblOrderId.Location = new System.Drawing.Point(255, 19); + this.lblOrderId.Name = "lblOrderId"; + this.lblOrderId.Size = new System.Drawing.Size(55, 17); + this.lblOrderId.TabIndex = 456; + this.lblOrderId.Text = "OrderId"; + // + // lblShopName + // + this.lblShopName.AutoSize = true; + this.lblShopName.Location = new System.Drawing.Point(20, 19); + this.lblShopName.Name = "lblShopName"; + this.lblShopName.Size = new System.Drawing.Size(73, 17); + this.lblShopName.TabIndex = 455; + this.lblShopName.Text = "ShopName"; + // // dgvData1 // this.dgvData1.AllowUserToAddRows = false; @@ -990,7 +1116,8 @@ namespace TemuKJD.WXForms.ShopForms this.colDgv1OrderTime, this.colDgv1AfterSaleReason, this.colDgv1OptimizeStatus, - this.colDgv1Optimize}); + this.colDgv1Optimize, + this.colDgv1Remark}); this.dgvData1.Dock = System.Windows.Forms.DockStyle.Fill; this.dgvData1.Location = new System.Drawing.Point(0, 0); this.dgvData1.MultiSelectCheckBox = true; @@ -1145,6 +1272,12 @@ namespace TemuKJD.WXForms.ShopForms this.colDgv1Optimize.ReadOnly = true; this.colDgv1Optimize.Width = 50; // + // colDgv1Remark + // + this.colDgv1Remark.HeaderText = "备注"; + this.colDgv1Remark.Name = "colDgv1Remark"; + this.colDgv1Remark.ReadOnly = true; + // // tabPage2 // this.tabPage2.Controls.Add(this.panel2); @@ -1216,7 +1349,8 @@ namespace TemuKJD.WXForms.ShopForms this.colDgv2CommentTime, this.colDgv2CommentContent, this.colDgv2OptimizeStatus, - this.colDgv2Optimize}); + this.colDgv2Optimize, + this.colDgv2Remark}); this.dgvData2.Dock = System.Windows.Forms.DockStyle.Fill; this.dgvData2.Location = new System.Drawing.Point(0, 0); this.dgvData2.MultiSelectCheckBox = true; @@ -1398,6 +1532,12 @@ namespace TemuKJD.WXForms.ShopForms this.colDgv2Optimize.ReadOnly = true; this.colDgv2Optimize.Width = 50; // + // colDgv2Remark + // + this.colDgv2Remark.HeaderText = "备注"; + this.colDgv2Remark.Name = "colDgv2Remark"; + this.colDgv2Remark.ReadOnly = true; + // // tabPage3 // this.tabPage3.Controls.Add(this.mainPanel); @@ -1470,7 +1610,8 @@ namespace TemuKJD.WXForms.ShopForms this.colDgv3DeliveryName, this.colDgv3WaybillId, this.colDgv3OptimizeStatus, - this.colDgv3Optimize}); + this.colDgv3Optimize, + this.colDgv3Remark}); this.dgvData3.Dock = System.Windows.Forms.DockStyle.Fill; this.dgvData3.Location = new System.Drawing.Point(0, 0); this.dgvData3.MultiSelectCheckBox = true; @@ -1481,139 +1622,6 @@ namespace TemuKJD.WXForms.ShopForms this.dgvData3.TabIndex = 187; this.dgvData3.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvData_CellContentClick); // - // tabPage4 - // - this.tabPage4.Controls.Add(this.panel3); - this.tabPage4.Location = new System.Drawing.Point(2, 40); - this.tabPage4.Name = "tabPage4"; - this.tabPage4.Size = new System.Drawing.Size(1408, 489); - this.tabPage4.TabIndex = 2; - this.tabPage4.Text = " 配送不达标 "; - this.tabPage4.UseVisualStyleBackColor = true; - // - // panel3 - // - this.panel3.Controls.Add(this.pictureBox4); - this.panel3.Controls.Add(this.dgvData4); - this.panel3.Dock = System.Windows.Forms.DockStyle.Fill; - this.panel3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.panel3.Location = new System.Drawing.Point(0, 0); - this.panel3.Name = "panel3"; - this.panel3.Size = new System.Drawing.Size(1408, 489); - this.panel3.TabIndex = 2; - // - // pictureBox4 - // - this.pictureBox4.Anchor = System.Windows.Forms.AnchorStyles.None; - this.pictureBox4.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pictureBox4.Location = new System.Drawing.Point(685, 219); - this.pictureBox4.Name = "pictureBox4"; - this.pictureBox4.Size = new System.Drawing.Size(50, 50); - this.pictureBox4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; - this.pictureBox4.TabIndex = 780; - this.pictureBox4.TabStop = false; - this.pictureBox4.Visible = false; - // - // dgvData4 - // - this.dgvData4.AllowUserToAddRows = false; - this.dgvData4.AllowUserToDeleteRows = false; - dataGridViewCellStyle35.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvData4.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle35; - this.dgvData4.AutoRowNumber = true; - this.dgvData4.BackgroundColor = System.Drawing.Color.White; - this.dgvData4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle36.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle36.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle36.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle36.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle36.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle36.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle36.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvData4.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle36; - this.dgvData4.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dgvData4.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { - this.colDgv4Check, - this.colDgv4ShopId, - this.colDgv4ShopName, - this.colDgv4Login, - this.colDgv4InShop, - this.colDgv4ImgUrl, - this.colDgv4Img, - this.dataGridViewTextBoxColumn4, - this.dataGridViewTextBoxColumn5, - this.dataGridViewTextBoxColumn6, - this.dataGridViewTextBoxColumn7, - this.colDgv4OrderId, - this.colDgv4Address, - this.colDgv4OrderTime, - this.dataGridViewTextBoxColumn9, - this.colDgv4WaybillId, - this.dataGridViewTextBoxColumn10, - this.colDgv4Addresses, - this.dataGridViewTextBoxColumn12, - this.colDgv4OptimizeStatus, - this.colDgv4Optimize}); - this.dgvData4.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvData4.Location = new System.Drawing.Point(0, 0); - this.dgvData4.MultiSelectCheckBox = true; - this.dgvData4.Name = "dgvData4"; - this.dgvData4.ReadOnly = true; - this.dgvData4.RowTemplate.Height = 23; - this.dgvData4.Size = new System.Drawing.Size(1408, 489); - this.dgvData4.TabIndex = 187; - this.dgvData4.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvData_CellContentClick); - // - // tabPage5 - // - this.tabPage5.Location = new System.Drawing.Point(2, 40); - this.tabPage5.Name = "tabPage5"; - this.tabPage5.Size = new System.Drawing.Size(1408, 489); - this.tabPage5.TabIndex = 3; - this.tabPage5.Text = " 物流负向反馈 "; - this.tabPage5.UseVisualStyleBackColor = true; - // - // chkTestNoAuditUpload - // - this.chkTestNoAuditUpload.AutoSize = true; - this.chkTestNoAuditUpload.Location = new System.Drawing.Point(1094, 35); - this.chkTestNoAuditUpload.Name = "chkTestNoAuditUpload"; - this.chkTestNoAuditUpload.Size = new System.Drawing.Size(123, 21); - this.chkTestNoAuditUpload.TabIndex = 779; - this.chkTestNoAuditUpload.Text = "测试免审提交商品"; - this.chkTestNoAuditUpload.UseVisualStyleBackColor = true; - this.chkTestNoAuditUpload.Visible = false; - // - // statusBar - // - this.statusBar.BackColor = System.Drawing.Color.White; - this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill; - this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.statusBar.Location = new System.Drawing.Point(0, 0); - this.statusBar.Margin = new System.Windows.Forms.Padding(0); - this.statusBar.Name = "statusBar"; - this.statusBar.Size = new System.Drawing.Size(1772, 27); - this.statusBar.TabIndex = 2; - // - // 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.statusBar); - this.splitContainer3.Size = new System.Drawing.Size(1772, 564); - this.splitContainer3.SplitterDistance = 533; - this.splitContainer3.TabIndex = 3; - // // colDgv3Check // this.colDgv3Check.Frozen = true; @@ -1796,6 +1804,96 @@ namespace TemuKJD.WXForms.ShopForms this.colDgv3Optimize.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colDgv3Optimize.Width = 50; // + // colDgv3Remark + // + this.colDgv3Remark.HeaderText = "备注"; + this.colDgv3Remark.Name = "colDgv3Remark"; + this.colDgv3Remark.ReadOnly = true; + // + // tabPage4 + // + this.tabPage4.Controls.Add(this.panel3); + this.tabPage4.Location = new System.Drawing.Point(2, 40); + this.tabPage4.Name = "tabPage4"; + this.tabPage4.Size = new System.Drawing.Size(1408, 489); + this.tabPage4.TabIndex = 2; + this.tabPage4.Text = " 配送不达标 "; + this.tabPage4.UseVisualStyleBackColor = true; + // + // panel3 + // + this.panel3.Controls.Add(this.pictureBox4); + this.panel3.Controls.Add(this.dgvData4); + this.panel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.panel3.Location = new System.Drawing.Point(0, 0); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(1408, 489); + this.panel3.TabIndex = 2; + // + // pictureBox4 + // + this.pictureBox4.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pictureBox4.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pictureBox4.Location = new System.Drawing.Point(685, 219); + this.pictureBox4.Name = "pictureBox4"; + this.pictureBox4.Size = new System.Drawing.Size(50, 50); + this.pictureBox4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox4.TabIndex = 780; + this.pictureBox4.TabStop = false; + this.pictureBox4.Visible = false; + // + // dgvData4 + // + this.dgvData4.AllowUserToAddRows = false; + this.dgvData4.AllowUserToDeleteRows = false; + dataGridViewCellStyle35.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvData4.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle35; + this.dgvData4.AutoRowNumber = true; + this.dgvData4.BackgroundColor = System.Drawing.Color.White; + this.dgvData4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle36.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle36.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle36.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle36.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle36.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle36.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle36.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvData4.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle36; + this.dgvData4.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvData4.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colDgv4Check, + this.colDgv4ShopId, + this.colDgv4ShopName, + this.colDgv4Login, + this.colDgv4InShop, + this.colDgv4ImgUrl, + this.colDgv4Img, + this.dataGridViewTextBoxColumn4, + this.dataGridViewTextBoxColumn5, + this.dataGridViewTextBoxColumn6, + this.dataGridViewTextBoxColumn7, + this.colDgv4OrderId, + this.colDgv4Address, + this.colDgv4OrderTime, + this.dataGridViewTextBoxColumn9, + this.colDgv4WaybillId, + this.dataGridViewTextBoxColumn10, + this.colDgv4Addresses, + this.dataGridViewTextBoxColumn12, + this.colDgv4OptimizeStatus, + this.colDgv4Optimize, + this.colDgv4Remark}); + this.dgvData4.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvData4.Location = new System.Drawing.Point(0, 0); + this.dgvData4.MultiSelectCheckBox = true; + this.dgvData4.Name = "dgvData4"; + this.dgvData4.ReadOnly = true; + this.dgvData4.RowTemplate.Height = 23; + this.dgvData4.Size = new System.Drawing.Size(1408, 489); + this.dgvData4.TabIndex = 187; + this.dgvData4.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvData_CellContentClick); + // // colDgv4Check // this.colDgv4Check.Frozen = true; @@ -1978,6 +2076,71 @@ namespace TemuKJD.WXForms.ShopForms this.colDgv4Optimize.ReadOnly = true; this.colDgv4Optimize.Width = 50; // + // colDgv4Remark + // + this.colDgv4Remark.HeaderText = "备注"; + this.colDgv4Remark.Name = "colDgv4Remark"; + this.colDgv4Remark.ReadOnly = true; + // + // tabPage5 + // + this.tabPage5.Location = new System.Drawing.Point(2, 40); + this.tabPage5.Name = "tabPage5"; + this.tabPage5.Size = new System.Drawing.Size(1408, 489); + this.tabPage5.TabIndex = 3; + this.tabPage5.Text = " 物流负向反馈 "; + this.tabPage5.UseVisualStyleBackColor = true; + // + // chkTestNoAuditUpload + // + this.chkTestNoAuditUpload.AutoSize = true; + this.chkTestNoAuditUpload.Location = new System.Drawing.Point(1094, 35); + this.chkTestNoAuditUpload.Name = "chkTestNoAuditUpload"; + this.chkTestNoAuditUpload.Size = new System.Drawing.Size(123, 21); + this.chkTestNoAuditUpload.TabIndex = 779; + this.chkTestNoAuditUpload.Text = "测试免审提交商品"; + this.chkTestNoAuditUpload.UseVisualStyleBackColor = true; + this.chkTestNoAuditUpload.Visible = false; + // + // statusBar + // + this.statusBar.BackColor = System.Drawing.Color.White; + this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill; + this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.statusBar.Location = new System.Drawing.Point(0, 0); + this.statusBar.Margin = new System.Windows.Forms.Padding(0); + this.statusBar.Name = "statusBar"; + this.statusBar.Size = new System.Drawing.Size(1772, 27); + this.statusBar.TabIndex = 2; + // + // 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.statusBar); + this.splitContainer3.Size = new System.Drawing.Size(1772, 564); + this.splitContainer3.SplitterDistance = 533; + this.splitContainer3.TabIndex = 3; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(223, 19); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(44, 17); + this.label2.TabIndex = 482; + this.label2.Text = "单号:"; + // // WXShopOptimizeForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -2009,6 +2172,8 @@ namespace TemuKJD.WXForms.ShopForms this.tabPage1.ResumeLayout(false); this.panel1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.pnlUpdateRemark.ResumeLayout(false); + this.pnlUpdateRemark.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.dgvData1)).EndInit(); this.tabPage2.ResumeLayout(false); this.panel2.ResumeLayout(false); @@ -2110,6 +2275,14 @@ namespace TemuKJD.WXForms.ShopForms private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1AfterSaleReason; private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1OptimizeStatus; private System.Windows.Forms.DataGridViewLinkColumn colDgv1Optimize; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1Remark; + private System.Windows.Forms.Panel pnlUpdateRemark; + private System.Windows.Forms.Label lblOrderId; + private System.Windows.Forms.Label lblShopName; + private DevComponents.DotNetBar.PanelEx btnRemarkCancel; + private DevComponents.DotNetBar.PanelEx btnRemarkOK; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtRemark; private System.Windows.Forms.DataGridViewCheckBoxColumn colDgv2Check; private System.Windows.Forms.DataGridViewTextBoxColumn colDgv2ShopId; private System.Windows.Forms.DataGridViewTextBoxColumn colDgv2ShopName; @@ -2130,6 +2303,7 @@ namespace TemuKJD.WXForms.ShopForms private System.Windows.Forms.DataGridViewTextBoxColumn colDgv2CommentContent; private System.Windows.Forms.DataGridViewTextBoxColumn colDgv2OptimizeStatus; private System.Windows.Forms.DataGridViewLinkColumn colDgv2Optimize; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv2Remark; private System.Windows.Forms.DataGridViewCheckBoxColumn colDgv3Check; private System.Windows.Forms.DataGridViewTextBoxColumn colDgv3ShopId; private System.Windows.Forms.DataGridViewTextBoxColumn colDgv3ShopName; @@ -2151,6 +2325,7 @@ namespace TemuKJD.WXForms.ShopForms private System.Windows.Forms.DataGridViewTextBoxColumn colDgv3WaybillId; private System.Windows.Forms.DataGridViewTextBoxColumn colDgv3OptimizeStatus; private System.Windows.Forms.DataGridViewLinkColumn colDgv3Optimize; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv3Remark; private System.Windows.Forms.DataGridViewCheckBoxColumn colDgv4Check; private System.Windows.Forms.DataGridViewTextBoxColumn colDgv4ShopId; private System.Windows.Forms.DataGridViewTextBoxColumn colDgv4ShopName; @@ -2172,5 +2347,8 @@ namespace TemuKJD.WXForms.ShopForms private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12; private System.Windows.Forms.DataGridViewTextBoxColumn colDgv4OptimizeStatus; private System.Windows.Forms.DataGridViewLinkColumn colDgv4Optimize; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv4Remark; + private System.Windows.Forms.Label lblShopId; + private System.Windows.Forms.Label label2; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.cs b/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.cs index d59f900..7c79571 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.cs @@ -666,7 +666,99 @@ namespace TemuKJD.WXForms.ShopForms } } } + + // 查询是否有失败记录 + url = BaseClass.BuildObjString("shop/get_express_optimize_rst"); + data = ""; + data = UserLogin.GetSignaturex(); + data += "&order_ids=" + string.Join(",", orderAfterSaleInfoLst.Select(w => w.orderInfo.orderId)); + 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")) + { + foreach (var orderAfterSale in orderAfterSaleInfoLst) + { + if (orderAfterSale.optimizeWaybillId.IsNullOrEmpty()) + { + orderAfterSale.optimizeWaybillId = "查询失败"; + orderAfterSale.optimizeTime = ""; + } + } + } + else + { + try + { + var jArr = JObject.Parse(html)["data"]; + var sProd = JsonHelper.SerializeObject(jArr); + var optimizeLst = JsonHelper.DeserializeJsonToList(sProd); + foreach (var orderAfterSale in orderAfterSaleInfoLst) + { + if (orderAfterSale.optimizeWaybillId.IsNullOrEmpty()) + { + var ov = optimizeLst.FirstOrDefault(o => o.order_id == orderAfterSale.orderInfo.orderId); + if (ov != null) + { + orderAfterSale.optimizeWaybillId = ov == null ? "" : ov.optimize_rst; + orderAfterSale.optimizeTime = ov == null ? "" : ov?.mdy_time.ToString("yyyy-MM-dd HH:mm"); + } + } + } + } + catch (Exception ex) + { + foreach (var orderAfterSale in orderAfterSaleInfoLst) + { + if (orderAfterSale.optimizeWaybillId.IsNullOrEmpty()) + { + orderAfterSale.optimizeWaybillId = "查询失败"; + orderAfterSale.optimizeTime = ""; + } + } + } + } + // 查询备注记录 + url = BaseClass.BuildObjString("shop/get_express_optimize_remark"); + data = ""; + data = UserLogin.GetSignaturex(); + data += "&order_ids=" + string.Join(",", orderAfterSaleInfoLst.Select(w => w.orderInfo.orderId)); + 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")) + { + foreach (var orderAfterSale in orderAfterSaleInfoLst) + { + orderAfterSale.remark = "备注查询失败"; + } + } + else + { + try + { + var jArr = JObject.Parse(html)["data"]; + var sProd = JsonHelper.SerializeObject(jArr); + var optimizeLst = JsonHelper.DeserializeJsonToList(sProd); + foreach (var orderAfterSale in orderAfterSaleInfoLst) + { + var ov = optimizeLst.FirstOrDefault(o => o.order_id == orderAfterSale.orderInfo.orderId); + orderAfterSale.remark = ov == null ? "" : ov.remark; + } + } + catch (Exception ex) + { + foreach (var orderAfterSale in orderAfterSaleInfoLst) + { + orderAfterSale.remark = "备注查询失败 " + ex.Message; + } + } + } + + // 显示列表 foreach (var refundOrder in orderAfterSaleInfoLst) { if (CheckOrderExist(refundOrder.orderInfo.orderId)) @@ -693,7 +785,8 @@ namespace TemuKJD.WXForms.ShopForms BaseClass.StampToDateTime(refundOrder.orderInfo.createTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"), refundOrder.reason, refundOrder.optimizeWaybillId + "\r\n" + refundOrder.optimizeTime, - "补发" + "补发", + refundOrder.remark.Trim().IsNullOrEmpty() ? "添加备注" : refundOrder.remark.Trim() ); dgvData1.Rows[rowIndex].Height = 60; @@ -876,6 +969,98 @@ namespace TemuKJD.WXForms.ShopForms } } + // 查询是否有失败记录 + url = BaseClass.BuildObjString("shop/get_express_optimize_rst"); + data = ""; + data = UserLogin.GetSignaturex(); + data += "&order_ids=" + string.Join(",", productEvaluationInfoLst.Select(w => w.order_id)); + 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")) + { + foreach (var evaluationInfo in productEvaluationInfoLst) + { + if (evaluationInfo.optimizeWaybillId.IsNullOrEmpty()) + { + evaluationInfo.optimizeWaybillId = "查询失败"; + evaluationInfo.optimizeTime = ""; + } + } + } + else + { + try + { + var jArr = JObject.Parse(html)["data"]; + var sProd = JsonHelper.SerializeObject(jArr); + var optimizeLst = JsonHelper.DeserializeJsonToList(sProd); + foreach (var evaluationInfo in productEvaluationInfoLst) + { + if (evaluationInfo.optimizeWaybillId.IsNullOrEmpty()) + { + var ov = optimizeLst.FirstOrDefault(o => o.order_id == evaluationInfo.order_id); + if (ov != null) + { + evaluationInfo.optimizeWaybillId = ov == null ? "" : ov.optimize_rst; + evaluationInfo.optimizeTime = ov == null ? "" : ov?.mdy_time.ToString("yyyy-MM-dd HH:mm"); + } + } + } + } + catch (Exception ex) + { + foreach (var evaluationInfo in productEvaluationInfoLst) + { + if (evaluationInfo.optimizeWaybillId.IsNullOrEmpty()) + { + evaluationInfo.optimizeWaybillId = "查询失败"; + evaluationInfo.optimizeTime = ""; + } + } + } + } + + // 查询备注记录 + url = BaseClass.BuildObjString("shop/get_express_optimize_remark"); + data = ""; + data = UserLogin.GetSignaturex(); + data += "&order_ids=" + string.Join(",", productEvaluationInfoLst.Select(w => w.order_id)); + 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")) + { + foreach (var evaluationInfo in productEvaluationInfoLst) + { + evaluationInfo.remark = "备注查询失败"; + } + } + else + { + try + { + var jArr = JObject.Parse(html)["data"]; + var sProd = JsonHelper.SerializeObject(jArr); + var optimizeLst = JsonHelper.DeserializeJsonToList(sProd); + foreach (var evaluationInfo in productEvaluationInfoLst) + { + var ov = optimizeLst.FirstOrDefault(o => o.order_id == evaluationInfo.order_id); + evaluationInfo.remark = ov == null ? "" : ov.remark; + } + } + catch (Exception ex) + { + foreach (var evaluationInfo in productEvaluationInfoLst) + { + evaluationInfo.remark = "备注查询失败 " + ex.Message; + } + } + } + + //显示列表 foreach (var prodEvaluationInfo in productEvaluationInfoLst) { if (CheckOrderExist(prodEvaluationInfo.order_id)) @@ -908,7 +1093,8 @@ namespace TemuKJD.WXForms.ShopForms BaseClass.StampToDateTime(prodEvaluationInfo.evaluationInfo.firstEvaluationInfo.buyerEvaluationInfo.createTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"), (content + " " + (lblLst == null ? "" : string.Join(" ", lblLst.Select(e => e.labelName)))).Trim(), prodEvaluationInfo.optimizeWaybillId + "\r\n" + prodEvaluationInfo.optimizeTime, - "补发" + "补发", + prodEvaluationInfo.remark.Trim().IsNullOrEmpty() ? "添加备注" : prodEvaluationInfo.remark.Trim() ); dgvData2.Rows[rowIndex].Height = 60; @@ -1195,6 +1381,44 @@ namespace TemuKJD.WXForms.ShopForms } } + // 查询备注记录 + url = BaseClass.BuildObjString("shop/get_express_optimize_remark"); + data = ""; + data = UserLogin.GetSignaturex(); + data += "&order_ids=" + string.Join(",", waybillLst.Select(w => w.orderInfo.orderId)); + 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")) + { + foreach (var orderWaybill in waybillLst) + { + orderWaybill.remark = "备注查询失败"; + } + } + else + { + try + { + var jArr = JObject.Parse(html)["data"]; + var sProd = JsonHelper.SerializeObject(jArr); + var optimizeLst = JsonHelper.DeserializeJsonToList(sProd); + foreach (var orderWaybill in waybillLst) + { + var ov = optimizeLst.FirstOrDefault(o => o.order_id == orderWaybill.orderInfo.orderId); + orderWaybill.remark = ov == null ? "" : ov.remark; + } + } + catch (Exception ex) + { + foreach (var orderWaybill in waybillLst) + { + orderWaybill.remark = "备注查询失败 " + ex.Message; + } + } + } + + // 显示列表 foreach (var orderWaybill in waybillLst) { if (CheckOrderExist(orderWaybill.orderInfo.orderId)) @@ -1224,7 +1448,8 @@ namespace TemuKJD.WXForms.ShopForms orderWaybill.delivery.deliveryName, orderWaybill.waybillId, orderWaybill.optimizeWaybillId + "\r\n" + orderWaybill.optimizeTime, - "补发" + "补发", + orderWaybill.remark.Trim().IsNullOrEmpty() ? "添加备注" : orderWaybill.remark.Trim() ); dgvData3.Rows[rowIndex].Height = 60; @@ -1490,6 +1715,43 @@ namespace TemuKJD.WXForms.ShopForms } } + // 查询备注记录 + url = BaseClass.BuildObjString("shop/get_express_optimize_remark"); + data = ""; + data = UserLogin.GetSignaturex(); + data += "&order_ids=" + string.Join(",", optrimizeLinerCgiLst.Select(w => w.order_id)); + 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")) + { + foreach (var linerCgi in optrimizeLinerCgiLst) + { + linerCgi.remark = "备注查询失败"; + } + } + else + { + try + { + var jArr = JObject.Parse(html)["data"]; + var sProd = JsonHelper.SerializeObject(jArr); + var optimizeLst = JsonHelper.DeserializeJsonToList(sProd); + foreach (var linerCgi in optrimizeLinerCgiLst) + { + var ov = optimizeLst.FirstOrDefault(o => o.order_id == linerCgi.order_id); + linerCgi.remark = ov == null ? "" : ov.remark; + } + } + catch (Exception ex) + { + foreach (var linerCgi in optrimizeLinerCgiLst) + { + linerCgi.remark = "备注查询失败 " + ex.Message; + } + } + } + foreach (var orderLinerCgiInfo in optrimizeLinerCgiLst) { if (CheckOrderExist(orderLinerCgiInfo.order_id)) @@ -1520,7 +1782,8 @@ namespace TemuKJD.WXForms.ShopForms "发货地:" + orderLinerCgiInfo.ship_city + "\r\n" + "收货地:" + orderLinerCgiInfo.ship_province + orderLinerCgiInfo.receipt_city, (orderLinerCgiInfo.transport_duration.ParseToInt() / 3600) + "小时" + (orderLinerCgiInfo.transport_duration.ParseToInt() % 3600) / 60 + "分" + "\r\n标准时长" + (orderLinerCgiInfo.transport_std_duration.ParseToInt() / 3600) + "小时", orderLinerCgiInfo.optimizeWaybillId + "\r\n" + orderLinerCgiInfo.optimizeTime, - "补发" + "补发", + orderLinerCgiInfo.remark.Trim().IsNullOrEmpty() ? "添加备注" : orderLinerCgiInfo.remark.Trim() ); dgvData4.Rows[rowIndex].Height = 60; @@ -1703,19 +1966,44 @@ namespace TemuKJD.WXForms.ShopForms BaseMsgForm.ShowError("订单编号不符合补发条件!"); return; } - orderId = orderId.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault(); if (!string.IsNullOrEmpty(orderId)) - { - var rst = OptimizeExpress(shop, orderId, row.Cells[$"colDgv{dgvNum}OrderTime"].Value.ParseToString()); - row.Cells[$"colDgv{dgvNum}OptimizeStatus"].Value = rst; - } - else { BaseMsgForm.ShowError("缺少订单编号无法补发!"); + return; } + var rst = OptimizeExpress(shop, orderId, row.Cells[$"colDgv{dgvNum}OrderTime"].Value.ParseToString()); + row.Cells[$"colDgv{dgvNum}OptimizeStatus"].Value = rst; break; } + case "备注": + { + var orderId = row.Cells[$"colDgv{dgvNum}OrderId"].Value.ParseToString(); + if (orderId.Contains("未获取到对应订单号")) + { + BaseMsgForm.ShowError("缺少单编号无法补发!"); + return; + } + if (orderId.Contains("获取到多条订单号")) + { + BaseMsgForm.ShowError("订单编号不符合补发条件!"); + return; + } + orderId = orderId.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault(); + if (string.IsNullOrEmpty(orderId)) + { + BaseMsgForm.ShowError("缺少订单编号无法补发!"); + return; + } + pnlUpdateRemark.Tag = row.Cells[$"colDgv{dgvNum}Remark"]; + lblShopName.Text = shop.ShopAccount; + lblShopId.Text = shop.ShopId; + lblOrderId.Text = orderId; + pnlUpdateRemark.Parent = dgvData.Parent; + pnlUpdateRemark.BringToFront(); + pnlUpdateRemark.Visible = true; + } + break; case "": row.Cells[$"colDgv{dgvNum}check"].Value = !(bool)row.Cells[$"colDgv{dgvNum}check"].Value; break; @@ -1742,6 +2030,45 @@ namespace TemuKJD.WXForms.ShopForms return true; return false; } + + private void btnRemarkCancel_Click(object sender, EventArgs e) + { + txtRemark.Text = ""; + lblOrderId.Text = ""; + lblShopId.Text = ""; + lblShopName.Text = ""; + pnlUpdateRemark.Visible = false; + } + + private void btnRemarkOK_Click(object sender, EventArgs e) + { + var cell = this.pnlUpdateRemark.Tag as DataGridViewCell; + if (cell == null) + return; + + var url = BaseClass.BuildObjString("shop/add_mdy_express_optimize_remark"); + var data = ""; + data = UserLogin.GetSignaturex(); + data += "&shop_id=" + lblShopId.Text; + data += "&order_id=" + lblOrderId.Text; + data += "&remark=" + txtRemark.Text.Trim(); + + var html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + { + BaseMsgForm.ShowError("修改备注失败,请重试!"); + return; + } + cell.Value = txtRemark.Text.Trim().IsNullOrEmpty() ? "添加备注" : txtRemark.Text.Trim(); + + txtRemark.Text = ""; + lblOrderId.Text = ""; + lblShopId.Text = ""; + lblShopName.Text = ""; + pnlUpdateRemark.Visible = false; + } } public static class ShopOptimize diff --git a/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.resx b/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.resx index 48a9261..0fe5f3c 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.resx +++ b/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.resx @@ -204,6 +204,9 @@ True + + True + True @@ -264,6 +267,9 @@ True + + True + True @@ -327,6 +333,9 @@ True + + True + True @@ -390,4 +399,7 @@ True + + True + \ No newline at end of file diff --git a/TEMUKJD/WXForms/TalkForms/WxTalkForm.Designer.cs b/TEMUKJD/WXForms/TalkForms/WxTalkForm.Designer.cs index 14c2404..1889aab 100644 --- a/TEMUKJD/WXForms/TalkForms/WxTalkForm.Designer.cs +++ b/TEMUKJD/WXForms/TalkForms/WxTalkForm.Designer.cs @@ -47,20 +47,6 @@ namespace TemuKJD.WXForms.TalkForms this.chkIsAutoReply = new System.Windows.Forms.CheckBox(); this.splitContainer4 = new System.Windows.Forms.SplitContainer(); this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); - this.colSelect = new TemuKJD.UserComponent.UcDataGridViewCheckBoxColumn(this.components); - this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn(); - this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colAutoReplyCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colWaitSend = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colWayBillError = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colAfterSale = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colPunishCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colScore = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.lblTalkCount = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); @@ -104,6 +90,23 @@ namespace TemuKJD.WXForms.TalkForms this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.dataGridViewLinkColumn2 = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colSelect = new TemuKJD.UserComponent.UcDataGridViewCheckBoxColumn(this.components); + this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colGroup = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAutoReplyCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colWaitSend = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colWayBillError = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAfterSale = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colPunishCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colScore = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.cmbFiltGroups = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); + this.label5 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).BeginInit(); this.panel3.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); @@ -367,6 +370,7 @@ namespace TemuKJD.WXForms.TalkForms // // splitContainer4.Panel2 // + this.splitContainer4.Panel2.Controls.Add(this.cmbFiltGroups); this.splitContainer4.Panel2.Controls.Add(this.pbLoading); this.splitContainer4.Panel2.Controls.Add(this.lblTalkCount); this.splitContainer4.Panel2.Controls.Add(this.label6); @@ -384,6 +388,7 @@ namespace TemuKJD.WXForms.TalkForms this.splitContainer4.Panel2.Controls.Add(this.label2); this.splitContainer4.Panel2.Controls.Add(this.label3); this.splitContainer4.Panel2.Controls.Add(this.line1); + this.splitContainer4.Panel2.Controls.Add(this.label5); this.splitContainer4.Size = new System.Drawing.Size(496, 548); this.splitContainer4.SplitterDistance = 450; this.splitContainer4.TabIndex = 7; @@ -411,6 +416,7 @@ namespace TemuKJD.WXForms.TalkForms this.colShopLoginName, this.colShopId, this.colShopName, + this.colGroup, this.colShopNotes, this.colLoginStatus, this.colMessage, @@ -435,115 +441,6 @@ namespace TemuKJD.WXForms.TalkForms this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); this.dgvShop.CellMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dgvShop_CellMouseClick); // - // 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.Visible = false; - 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 = 70; - // - // colShopNotes - // - this.colShopNotes.HeaderText = "备注"; - this.colShopNotes.Name = "colShopNotes"; - this.colShopNotes.ReadOnly = true; - this.colShopNotes.Width = 70; - // - // colLoginStatus - // - this.colLoginStatus.HeaderText = "状态"; - this.colLoginStatus.Name = "colLoginStatus"; - this.colLoginStatus.ReadOnly = true; - this.colLoginStatus.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colLoginStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colLoginStatus.Width = 38; - // - // colMessage - // - this.colMessage.HeaderText = "消息"; - this.colMessage.Name = "colMessage"; - this.colMessage.ReadOnly = true; - this.colMessage.Width = 90; - // - // colAutoReplyCount - // - this.colAutoReplyCount.HeaderText = "自动回复"; - this.colAutoReplyCount.Name = "colAutoReplyCount"; - this.colAutoReplyCount.ReadOnly = true; - this.colAutoReplyCount.Width = 62; - // - // colWaitSend - // - this.colWaitSend.HeaderText = "待发货"; - this.colWaitSend.Name = "colWaitSend"; - this.colWaitSend.ReadOnly = true; - this.colWaitSend.Width = 50; - // - // colWayBillError - // - this.colWayBillError.HeaderText = "物流异常"; - this.colWayBillError.Name = "colWayBillError"; - this.colWayBillError.ReadOnly = true; - this.colWayBillError.Width = 62; - // - // colAfterSale - // - this.colAfterSale.HeaderText = "售后"; - this.colAfterSale.Name = "colAfterSale"; - this.colAfterSale.ReadOnly = true; - this.colAfterSale.Width = 38; - // - // colPunishCount - // - this.colPunishCount.HeaderText = "店铺违规"; - this.colPunishCount.Name = "colPunishCount"; - this.colPunishCount.ReadOnly = true; - this.colPunishCount.Width = 62; - // - // colScore - // - this.colScore.HeaderText = "评分"; - this.colScore.Name = "colScore"; - this.colScore.ReadOnly = true; - this.colScore.Width = 38; - // - // colCanUse - // - this.colCanUse.HeaderText = "可用"; - this.colCanUse.Name = "colCanUse"; - this.colCanUse.ReadOnly = true; - this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colCanUse.Visible = false; - this.colCanUse.Width = 28; - // // pbLoading // this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; @@ -683,9 +580,9 @@ namespace TemuKJD.WXForms.TalkForms this.cmbFiltNotes.DropDownWidth = 1; this.cmbFiltNotes.FormattingEnabled = true; this.cmbFiltNotes.IntegralHeight = false; - this.cmbFiltNotes.Location = new System.Drawing.Point(61, 66); + this.cmbFiltNotes.Location = new System.Drawing.Point(208, 66); this.cmbFiltNotes.Name = "cmbFiltNotes"; - this.cmbFiltNotes.Size = new System.Drawing.Size(252, 25); + this.cmbFiltNotes.Size = new System.Drawing.Size(105, 25); this.cmbFiltNotes.TabIndex = 0; this.cmbFiltNotes.Text = "全部"; // @@ -793,11 +690,11 @@ namespace TemuKJD.WXForms.TalkForms // this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(0, 70); + this.label3.Location = new System.Drawing.Point(172, 70); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(68, 17); + this.label3.Size = new System.Drawing.Size(44, 17); this.label3.TabIndex = 218; - this.label3.Text = "店铺备注:"; + this.label3.Text = "备注:"; // // line1 // @@ -1143,6 +1040,152 @@ namespace TemuKJD.WXForms.TalkForms this.dataGridViewLinkColumn2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.dataGridViewLinkColumn2.Width = 106; // + // colSelect + // + this.colSelect.Frozen = true; + 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.Visible = false; + this.colSelect.Width = 28; + // + // colShopLoginName + // + this.colShopLoginName.Frozen = true; + this.colShopLoginName.HeaderText = "店铺登录名"; + this.colShopLoginName.Name = "colShopLoginName"; + this.colShopLoginName.ReadOnly = true; + this.colShopLoginName.Visible = false; + // + // colShopId + // + this.colShopId.Frozen = true; + 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.Frozen = true; + this.colShopName.HeaderText = "店铺名称"; + this.colShopName.Name = "colShopName"; + this.colShopName.ReadOnly = true; + this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colShopName.Width = 70; + // + // colGroup + // + this.colGroup.Frozen = true; + this.colGroup.HeaderText = "分组"; + this.colGroup.Name = "colGroup"; + this.colGroup.ReadOnly = true; + this.colGroup.Width = 70; + // + // colShopNotes + // + this.colShopNotes.HeaderText = "备注"; + this.colShopNotes.Name = "colShopNotes"; + this.colShopNotes.ReadOnly = true; + this.colShopNotes.Width = 70; + // + // colLoginStatus + // + this.colLoginStatus.HeaderText = "状态"; + this.colLoginStatus.Name = "colLoginStatus"; + this.colLoginStatus.ReadOnly = true; + this.colLoginStatus.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colLoginStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colLoginStatus.Width = 38; + // + // colMessage + // + this.colMessage.HeaderText = "消息"; + this.colMessage.Name = "colMessage"; + this.colMessage.ReadOnly = true; + this.colMessage.Width = 90; + // + // colAutoReplyCount + // + this.colAutoReplyCount.HeaderText = "自动回复"; + this.colAutoReplyCount.Name = "colAutoReplyCount"; + this.colAutoReplyCount.ReadOnly = true; + this.colAutoReplyCount.Width = 62; + // + // colWaitSend + // + this.colWaitSend.HeaderText = "待发货"; + this.colWaitSend.Name = "colWaitSend"; + this.colWaitSend.ReadOnly = true; + this.colWaitSend.Width = 50; + // + // colWayBillError + // + this.colWayBillError.HeaderText = "物流异常"; + this.colWayBillError.Name = "colWayBillError"; + this.colWayBillError.ReadOnly = true; + this.colWayBillError.Width = 62; + // + // colAfterSale + // + this.colAfterSale.HeaderText = "售后"; + this.colAfterSale.Name = "colAfterSale"; + this.colAfterSale.ReadOnly = true; + this.colAfterSale.Width = 38; + // + // colPunishCount + // + this.colPunishCount.HeaderText = "店铺违规"; + this.colPunishCount.Name = "colPunishCount"; + this.colPunishCount.ReadOnly = true; + this.colPunishCount.Width = 62; + // + // colScore + // + this.colScore.HeaderText = "评分"; + this.colScore.Name = "colScore"; + this.colScore.ReadOnly = true; + this.colScore.Width = 38; + // + // colCanUse + // + this.colCanUse.HeaderText = "可用"; + this.colCanUse.Name = "colCanUse"; + this.colCanUse.ReadOnly = true; + this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colCanUse.Visible = false; + this.colCanUse.Width = 28; + // + // cmbFiltGroups + // + this.cmbFiltGroups.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.cmbFiltGroups.DefaultText = "全部"; + this.cmbFiltGroups.DropDownHeight = 1; + this.cmbFiltGroups.DropDownWidth = 1; + this.cmbFiltGroups.FormattingEnabled = true; + this.cmbFiltGroups.IntegralHeight = false; + this.cmbFiltGroups.Location = new System.Drawing.Point(61, 66); + this.cmbFiltGroups.Name = "cmbFiltGroups"; + this.cmbFiltGroups.Size = new System.Drawing.Size(105, 25); + this.cmbFiltGroups.TabIndex = 772; + this.cmbFiltGroups.Text = "全部"; + // + // label5 + // + this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(0, 70); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(68, 17); + this.label5.TabIndex = 774; + this.label5.Text = "店铺分组:"; + // // WxTalkForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -1243,10 +1286,17 @@ namespace TemuKJD.WXForms.TalkForms private System.Windows.Forms.Label label6; private System.Windows.Forms.CheckBox chkShowShopStatistics; private System.Windows.Forms.CheckBox chkShowAutoReplyNum; + private DevComponents.DotNetBar.PanelEx btnMultiLogin; + private DevComponents.DotNetBar.PanelEx btnChangeAddress; + private System.Windows.Forms.Label lblProgress; + private System.Windows.Forms.TabPage tabPage3; + private System.Windows.Forms.Label lblAutoReplyStatus; + private System.Windows.Forms.TextBox textBox1; private UserComponent.UcDataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName; private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; + private System.Windows.Forms.DataGridViewTextBoxColumn colGroup; private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes; private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus; private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; @@ -1257,11 +1307,7 @@ namespace TemuKJD.WXForms.TalkForms private System.Windows.Forms.DataGridViewTextBoxColumn colPunishCount; private System.Windows.Forms.DataGridViewTextBoxColumn colScore; private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse; - private DevComponents.DotNetBar.PanelEx btnMultiLogin; - private DevComponents.DotNetBar.PanelEx btnChangeAddress; - private System.Windows.Forms.Label lblProgress; - private System.Windows.Forms.TabPage tabPage3; - private System.Windows.Forms.Label lblAutoReplyStatus; - private System.Windows.Forms.TextBox textBox1; + private UserComponent.UcComboBoxMutiSelect cmbFiltGroups; + private System.Windows.Forms.Label label5; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs b/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs index ec1745b..a09b407 100644 --- a/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs +++ b/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs @@ -36,6 +36,8 @@ namespace TemuKJD.WXForms.TalkForms { public partial class WxTalkForm : BaseTalkForm { + public static WxTalkForm instance { get; set; } + /// /// 自动回复话术信息 /// @@ -90,6 +92,7 @@ namespace TemuKJD.WXForms.TalkForms { InitializeComponent(); + instance = this; ChatConfig.LoadChatSetting(); } @@ -190,6 +193,10 @@ namespace TemuKJD.WXForms.TalkForms { this.cmbFiltNotes.Items.Add(shopNote); } + foreach (var group in GlobalConfig.ShopLoginList.Select(s => s.GroupName).Where(s => !s.IsNullOrEmpty()).Distinct()) + { + this.cmbFiltGroups.Items.Add(group); + } lstShopAfterSale = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_after_sale_list"); if (lstShopAfterSale == null) @@ -587,6 +594,7 @@ namespace TemuKJD.WXForms.TalkForms r.Cells["colShopName"].Value = shop.ShopAccount; // 店铺名称 //r.Cells["colShopName"].Style.ForeColor = LstTagShop.Contains(shop.ShopId) ? Color.LightGreen : Control.DefaultForeColor; r.Cells["colShopName"].Style.BackColor = LstTagShop.Contains(shop.ShopId) ? Color.LightGreen : (r.Tag is Color ? (Color)r.Tag : Color.White); + r.Cells["colGroup"].Value = shop.GroupName; // 分组 r.Cells["colShopNotes"].Value = shop.Notes; // 备注 r.Cells["colAutoReplyCount"].Value = dicTalkAutoReplyCount.FirstOrDefault(t => t.Key == shop.ShopId).Value.ParseToInt(); r.Cells["colLoginStatus"].Value = shop.LoginStatus == "登录成功" ? "在线" : "掉线"; // 登录状态 @@ -1387,24 +1395,29 @@ namespace TemuKJD.WXForms.TalkForms { string shopName = txtFiltShopName.Text.Trim(); string notes = cmbFiltNotes.Text.Trim().Trim(';'); + string groups = cmbFiltGroups.Text.Trim().Trim(';'); if (notes == "全部") notes = ""; + if (groups == "全部") + groups = ""; List notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); - foreach(DataGridViewRow row in dgvShop.Rows) + List groupsLst = groups.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); + foreach (DataGridViewRow row in dgvShop.Rows) { - if ((string.IsNullOrEmpty(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())) && row.Cells["colShopName"].Value.ParseToString().Contains(shopName)) - { - row.Visible = true; - } - else - { + if (!row.Cells["colShopName"].Value.ParseToString().Contains(shopName)) row.Visible = false; - } + else if (!string.IsNullOrEmpty(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())) + row.Visible = false; + else if (!string.IsNullOrEmpty(groups) && !groupsLst.Contains(row.Cells["colGroup"].Value.ParseToString())) + row.Visible = false; + else + row.Visible = true; } } private void btnEmpty_Click(object sender, EventArgs e) { + cmbFiltGroups.Text = "全部"; cmbFiltNotes.Text = "全部"; btnFilterShop_Click(null, null); } diff --git a/TEMUKJD/WXForms/TalkForms/WxTalkForm.resx b/TEMUKJD/WXForms/TalkForms/WxTalkForm.resx index ffc2c12..c72dbf0 100644 --- a/TEMUKJD/WXForms/TalkForms/WxTalkForm.resx +++ b/TEMUKJD/WXForms/TalkForms/WxTalkForm.resx @@ -126,6 +126,9 @@ True + + True + True diff --git a/Work/UserLogin.cs b/Work/UserLogin.cs index 4b6210d..9fafafe 100644 --- a/Work/UserLogin.cs +++ b/Work/UserLogin.cs @@ -84,8 +84,10 @@ namespace Work BaseClass.UserKey = BaseRegex.GetStringJson(ref html, "user_key").ParseToInt(); BaseClass.NickName = BaseRegex.GetStringJson(ref html, "nick_name"); BaseClass.UserName = BaseRegex.GetStringJson(ref html, "user_name"); + BaseClass.ParentUserName = BaseRegex.GetStringJson(ref html, "parent_user_name"); BaseClass.SaLevel = BaseRegex.GetIntJson(ref html, "sa_level").ParseToInt(); BaseClass.UserAuthority = BaseRegex.GetStringJson(ref html, "authority").ParseToString(); + BaseClass.ParentAuthority = BaseRegex.GetStringJson(ref html, "parent_authority").ParseToString(); BaseClass.Mobile = BaseRegex.GetStringJson(ref html, "mobile"); BaseClass.UserVersion = BaseRegex.GetStringJson(ref html, "version").ParseToInt(); BaseClass.UserVersionString = BaseRegex.GetStringJson(ref html, "version_s");