diff --git a/TEMUKJD/BLL/ImportConverters/ConverterWXToPddV4.cs b/TEMUKJD/BLL/ImportConverters/ConverterWXToPddV4.cs
index 4e9d5d3..ada0243 100644
--- a/TEMUKJD/BLL/ImportConverters/ConverterWXToPddV4.cs
+++ b/TEMUKJD/BLL/ImportConverters/ConverterWXToPddV4.cs
@@ -11,23 +11,27 @@ using System.Linq;
namespace TemuKJD.BLL.ImportConverters
{
///
- /// 微信转拼多多数据源 V4版本
- /// 针对微信商品详情API(/channels/ec/product/get)返回的完整数据结构
+ /// 微信转拼多多数据源 V4版本(兼容增强版)
+ /// 针对微信商品详情API(/channels/ec/product/get)返回的 detail.product 结构
///
- /// 数据结构特点:
- /// - 顶层为 { detail: { product: { product_key, info, product_skus, ... } } }
- /// - info 节点包含商品基本信息、主图、详情图、参数、SKU列表等
- /// - product_skus 节点包含完整的SKU信息(含库存、价格、规格)
- /// - product_sale_attrs 节点包含销售属性(颜色、尺码)
- /// - extra_service 节点包含售后服务信息
- /// - qualification_list 节点包含资质信息
+ /// 兼容的数据样例:
+ /// - 10000031453165(女装针织衫,含视频、资质、完整size_chart)
+ /// - 10000182390569(不锈钢调味球,无视频、无资质列表、简化size_chart)
+ ///
+ /// 兼容策略:
+ /// 1. 所有可选字段使用安全访问,缺失时回退
+ /// 2. 属性解析优先 param_v2,回退 categorys
+ /// 3. 规格解析优先 value_v2,回退 value
+ /// 4. SKU价格优先 sale_price,回退 sku_list.sku_info.price
+ /// 5. SKU库存优先 product_skus,回退 spu_total_stock 均分
///
internal class ConverterWXToPddV4 : GoodsConverterBase
{
private JObject _jsonRoot;
private JObject _productNode; // detail.product
private JObject _infoNode; // detail.product.info
- private JArray _skuList; // detail.product.info.product_skus
+ private JArray _skuList; // detail.product.info.sku_list.sku_info(价格兜底)
+ private JArray _productSkus; // detail.product.product_skus(完整SKU)
private JArray _saleAttrs; // detail.product.info.product_sale_attrs
public override string ConverterName => "微信转拼多多数据源 V4";
@@ -41,36 +45,41 @@ namespace TemuKJD.BLL.ImportConverters
_jsonRoot = JsonConvert.DeserializeObject(RawData);
if (_jsonRoot == null) return false;
- // 1. 检查是否为详情API格式(detail.product 结构)
+ // 1. 检查 detail.product 结构
var detail = _jsonRoot.SelectToken("$.detail") as JObject;
if (detail == null) return false;
var product = detail.SelectToken("$.product") as JObject;
if (product == null) return false;
- // 2. 检查 product_key 是否存在
+ // 2. 检查 product_key.product_id
var productKey = product.SelectToken("$.product_key") as JObject;
if (productKey == null) return false;
var productId = productKey.SelectToken("$.product_id")?.ToString();
if (string.IsNullOrEmpty(productId)) return false;
- // 3. 检查 info 节点是否存在
+ // 3. 检查 info 节点
var info = product.SelectToken("$.info") as JObject;
if (info == null) return false;
- // 4. 检查是否有标题
+ // 4. 检查标题
var title = info.SelectToken("$.title")?.ToString();
if (string.IsNullOrEmpty(title)) return false;
- // 5. 检查是否有SKU列表
- var skus = product.SelectToken("$.product_skus") as JArray;
- if (skus == null || skus.Count == 0) return false;
+ // 5. 检查SKU(兼容两种:product_skus 优先,sku_list.sku_info 兜底)
+ var productSkus = product.SelectToken("$.product_skus") as JArray;
+ var skuList = info.SelectToken("$.sku_list.sku_info") as JArray;
+
+ if ((productSkus == null || productSkus.Count == 0) &&
+ (skuList == null || skuList.Count == 0))
+ return false;
// 缓存节点
_productNode = product;
_infoNode = info;
- _skuList = skus;
+ _productSkus = productSkus;
+ _skuList = skuList;
_saleAttrs = info.SelectToken("$.product_sale_attrs") as JArray;
return true;
@@ -88,14 +97,12 @@ namespace TemuKJD.BLL.ImportConverters
Platform = Platform,
GoodsId = ParseGoodsId()
};
- product.ListingTime = GetListingTime();
+
// ========== 1. 商品基本信息 ==========
product.Title = GetStringValue(_infoNode, "title");
product.Description = GetStringValue(_infoNode, "short_title");
if (string.IsNullOrEmpty(product.Description))
- {
product.Description = GetStringValue(_infoNode, "ai_gen_short_title");
- }
// ========== 2. 品牌信息 ==========
product.BrandId = GetLongValue(_infoNode, "brand_id");
@@ -130,20 +137,21 @@ namespace TemuKJD.BLL.ImportConverters
#region 核心字段解析
///
- /// 解析商品ID
+ /// 解析商品ID(兼容 out_product_id 存在与否)
///
private long ParseGoodsId()
{
+ // 优先 product_id(所有情况都存在)
var productId = _productNode.SelectToken("$.product_key.product_id")?.ToString();
if (long.TryParse(productId, out var result))
return result;
- // 回退到文件路径
+ // 回退文件路径
return Path.GetFileNameWithoutExtension(FilePath).ParseToLong();
}
///
- /// 获取类目ID(取最细分类目)
+ /// 获取类目ID(兼容 category 数组,取最细分类目)
///
private int GetCategoryId()
{
@@ -151,7 +159,6 @@ namespace TemuKJD.BLL.ImportConverters
if (category == null || category.Count == 0)
return 0;
- // 取最后一个类目(最细分类目)
var lastCat = category.Last as JObject;
return lastCat?["cat_id"]?.Value() ?? 0;
}
@@ -183,7 +190,7 @@ namespace TemuKJD.BLL.ImportConverters
{
var result = new List();
- // 优先使用 head_img 数组
+ // 优先 head_img
var headImg = _infoNode["head_img"] as JArray;
if (headImg != null && headImg.Count > 0)
{
@@ -196,7 +203,7 @@ namespace TemuKJD.BLL.ImportConverters
return result;
}
- // 回退到 head_img_infos
+ // 回退 head_img_infos
var headImgInfos = _infoNode["head_img_infos"] as JArray;
if (headImgInfos != null)
{
@@ -236,7 +243,10 @@ namespace TemuKJD.BLL.ImportConverters
}
///
- /// 获取商品属性列表(从 param 节点解析)
+ /// 获取商品属性列表(从 info.param 解析)
+ /// 兼容两种结构:
+ /// - 10000031453165:categorys[0].name = key, categorys[1].name = value
+ /// - 10000182390569:categorys[0].name = key, categorys[1].name = value(相同)
///
private List GetProperties()
{
@@ -256,7 +266,6 @@ namespace TemuKJD.BLL.ImportConverters
if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
{
- // 去重
if (!result.Any(p => p.Key == key))
{
result.Add(new Property
@@ -272,7 +281,7 @@ namespace TemuKJD.BLL.ImportConverters
}
///
- /// 获取视频URL列表
+ /// 获取视频URL列表(兼容无视频的情况)
///
private List GetVideoUrls()
{
@@ -290,18 +299,6 @@ namespace TemuKJD.BLL.ImportConverters
return result;
}
- private DateTime? GetListingTime()
- {
- string time = _infoNode["listing_time"].ToString();
- if (time != null)
- {
- if (int.TryParse(time, out int v))
- {
- return NaiBa.Util.Helper.DateTimeHelper.IntStampToDateTime(v);
- }
- }
- return null;
- }
#endregion
@@ -309,87 +306,324 @@ namespace TemuKJD.BLL.ImportConverters
///
/// 获取SKU和规格信息
+ /// 兼容两种数据:
+ /// - product_skus:包含 sku_key.sku_id、sale_param、sale_price、stock_info
+ /// - sku_list.sku_info:包含 sku_id、price、estimate_price(无规格、无库存)
///
- private Tuple, List> GetSkusAndSpecs()
+ private Tuple , List> GetSkusAndSpecs()
{
var skuList = new List();
var specList = new List();
- if (_skuList == null || _skuList.Count == 0)
- return new Tuple, List>(skuList, specList);
+ // 构建 sku_list.sku_info 的价格字典(作为兜底)
+ var priceFallbackDict = BuildPriceFallbackDict();
- // 收集所有规格
- var specDict = new Dictionary>();
+ // 构建 product_sale_attrs 的规格字典(作为兜底)
+ var attrFallbackDict = BuildAttrFallbackDict();
+
+ // 优先处理 product_skus(完整信息)
+ if (_productSkus != null && _productSkus.Count > 0)
+ {
+ foreach (var sku in _productSkus)
+ {
+ var skuObj = sku as JObject;
+ if (skuObj == null) continue;
+
+ var skuItem = ParseProductSku(skuObj, priceFallbackDict, attrFallbackDict);
+ if (skuItem != null)
+ skuList.Add(skuItem);
+ }
+ }
+ // 回退到 sku_list.sku_info(仅价格)
+ else if (_skuList != null && _skuList.Count > 0)
+ {
+ foreach (var sku in _skuList)
+ {
+ var skuObj = sku as JObject;
+ if (skuObj == null) continue;
+
+ var skuItem = ParseSkuInfoOnly(skuObj, attrFallbackDict);
+ if (skuItem != null)
+ skuList.Add(skuItem);
+ }
+ }
+
+ // 构建规格列表(优先 product_sale_attrs)
+ BuildSpecList(specList, skuList);
+
+ return new Tuple, List>(skuList, specList);
+ }
+
+ ///
+ /// 构建 sku_list.sku_info 的价格兜底字典
+ ///
+ private Dictionary BuildPriceFallbackDict()
+ {
+ var dict = new Dictionary();
+ if (_skuList == null) return dict;
foreach (var sku in _skuList)
{
var skuObj = sku as JObject;
if (skuObj == null) continue;
- // 获取 SKU 基本信息
- var skuKey = skuObj["sku_key"] as JObject;
- var skuInfo = skuObj["product_sku_info"] as JObject;
- if (skuKey == null || skuInfo == null) continue;
+ var skuId = skuObj["sku_id"]?.Value();
+ if (string.IsNullOrEmpty(skuId)) continue;
- var skuId = skuKey["sku_id"]?.Value() ?? string.Empty;
- var outSkuId = skuKey["out_sku_id"]?.Value() ?? string.Empty;
+ // 优先 estimate_price(优惠后),回退 price
+ var estimatePrice = skuObj["estimate_price"]?.Value() ?? 0;
+ var price = skuObj["price"]?.Value() ?? 0;
+ var actualPrice = estimatePrice > 0 ? estimatePrice : price;
- // 解析销售属性
- var saleParams = skuInfo["sale_param"] as JArray;
- var specValues = new List();
+ dict[skuId] = actualPrice;
+ }
- if (saleParams != null)
+ return dict;
+ }
+
+ ///
+ /// 构建 product_sale_attrs 的规格兜底字典(skuId -> spec文本)
+ /// 兼容两种结构:
+ /// - 10000031453165:items[].value_v2, items[].sku_ids[]
+ /// - 10000182390569:items[].value, items[].sku_ids[]
+ ///
+ private Dictionary BuildAttrFallbackDict()
+ {
+ var dict = new Dictionary();
+ if (_saleAttrs == null) return dict;
+
+ foreach (var attr in _saleAttrs)
+ {
+ var key = attr["key"]?.Value() ?? string.Empty;
+ var items = attr["items"] as JArray;
+ if (items == null) continue;
+
+ foreach (var item in items)
{
- foreach (var param in saleParams)
- {
- var paramV2 = param["param_v2"] as JObject;
- if (paramV2 == null) continue;
+ // 兼容 value_v2 和 value
+ var value = item["value_v2"]?.Value();
+ if (string.IsNullOrEmpty(value))
+ value = item["value"]?.Value();
+ if (string.IsNullOrEmpty(value)) continue;
+
+ var skuIds = item["sku_ids"] as JArray;
+ if (skuIds == null) continue;
+
+ var specText = $"{key}:{value}";
+ foreach (var skuId in skuIds)
+ {
+ var id = skuId?.Value();
+ if (!string.IsNullOrEmpty(id))
+ dict[id] = specText;
+ }
+ }
+ }
+
+ return dict;
+ }
+
+ ///
+ /// 解析 product_skus 中的单个SKU
+ ///
+ private SkuItem ParseProductSku(
+ JObject skuObj,
+ Dictionary priceFallbackDict,
+ Dictionary attrFallbackDict)
+ {
+ var skuKey = skuObj["sku_key"] as JObject;
+ var skuInfo = skuObj["product_sku_info"] as JObject;
+ if (skuKey == null || skuInfo == null) return null;
+
+ var skuId = skuKey["sku_id"]?.Value() ?? string.Empty;
+ var outSkuId = skuKey["out_sku_id"]?.Value() ?? string.Empty;
+ if (string.IsNullOrEmpty(skuId)) return null;
+
+ // 解析规格
+ var specText = ParseSkuSpec(skuInfo, skuId, attrFallbackDict);
+
+ // 解析价格
+ var salePrice = skuInfo["sale_price"]?.Value() ?? 0;
+ if (salePrice <= 0 && priceFallbackDict.TryGetValue(skuId, out var fallbackPrice))
+ salePrice = fallbackPrice;
+
+ // 解析库存
+ var stockNum = ParseStockNum(skuInfo);
+
+ // 缩略图
+ var thumbImg = skuInfo["thumb_img"]?.Value() ?? string.Empty;
+
+ return new SkuItem
+ {
+ SkuId = !string.IsNullOrEmpty(outSkuId) ? outSkuId : skuId,
+ Spec = specText,
+ Price = salePrice / 100, // 分转元
+ OriginalPrice = salePrice.ToString(),
+ Stock = stockNum,
+ SpecImage = thumbImg
+ };
+ }
+
+ ///
+ /// 解析 sku_list.sku_info 中的单个SKU(仅价格)
+ ///
+ private SkuItem ParseSkuInfoOnly(
+ JObject skuObj,
+ Dictionary attrFallbackDict)
+ {
+ var skuId = skuObj["sku_id"]?.Value() ?? string.Empty;
+ if (string.IsNullOrEmpty(skuId)) return null;
+
+ // 规格从 attrFallbackDict 获取
+ var specText = attrFallbackDict.TryGetValue(skuId, out var spec) ? spec : string.Empty;
+
+ // 价格
+ var estimatePrice = skuObj["estimate_price"]?.Value() ?? 0;
+ var price = skuObj["price"]?.Value() ?? 0;
+ var actualPrice = estimatePrice > 0 ? estimatePrice : price;
+
+ return new SkuItem
+ {
+ SkuId = skuId,
+ Spec = specText,
+ Price = actualPrice / 100,
+ OriginalPrice = actualPrice.ToString(),
+ Stock = 0,
+ SpecImage = string.Empty
+ };
+ }
+
+ ///
+ /// 解析SKU规格
+ /// 兼容两种结构:
+ /// - 10000031453165:sale_param[].param_v2.attr_name / attr_value_name
+ /// - 10000182390569:sale_param[].categorys[0].name / categorys[1].name
+ ///
+ private string ParseSkuSpec(
+ JObject skuInfo,
+ string skuId,
+ Dictionary attrFallbackDict)
+ {
+ var specValues = new List();
+ var saleParams = skuInfo["sale_param"] as JArray;
+
+ if (saleParams != null)
+ {
+ foreach (var param in saleParams)
+ {
+ // 优先 param_v2
+ var paramV2 = param["param_v2"] as JObject;
+ if (paramV2 != null)
+ {
var attrName = paramV2["attr_name"]?.Value() ?? string.Empty;
var attrValue = paramV2["attr_value_name"]?.Value() ?? string.Empty;
if (!string.IsNullOrEmpty(attrName) && !string.IsNullOrEmpty(attrValue))
{
specValues.Add($"{attrName}:{attrValue}");
+ continue;
+ }
+ }
- // 收集规格
- if (!specDict.ContainsKey(attrName))
- specDict[attrName] = new HashSet();
- specDict[attrName].Add(attrValue);
+ // 回退 categorys
+ var categorys = param["categorys"] as JArray;
+ if (categorys != null && categorys.Count >= 2)
+ {
+ var attrName = categorys[0]?["name"]?.Value() ?? string.Empty;
+ var attrValue = categorys[1]?["name"]?.Value() ?? string.Empty;
+
+ if (!string.IsNullOrEmpty(attrName) && !string.IsNullOrEmpty(attrValue))
+ {
+ specValues.Add($"{attrName}:{attrValue}");
}
}
}
-
- // 价格(单位:分)
- var salePrice = skuInfo["sale_price"]?.Value() ?? 0;
-
- // 库存
- var stockInfo = skuInfo["stock_info"] as JObject;
- var stockNum = 0;
- if (stockInfo != null)
- {
- var stockStr = stockInfo["stock_num"]?.Value();
- if (!string.IsNullOrEmpty(stockStr))
- {
- int.TryParse(stockStr, out stockNum);
- }
- }
-
- // 缩略图
- var thumbImg = skuInfo["thumb_img"]?.Value() ?? string.Empty;
-
- skuList.Add(new SkuItem
- {
- SkuId = !string.IsNullOrEmpty(outSkuId) ? outSkuId : skuId,
- Spec = string.Join(";", specValues),
- Price = salePrice / 100, // 分转元
- OriginalPrice = salePrice.ToString(),
- Stock = stockNum,
- SpecImage = thumbImg
- });
}
- // 构建规格列表
+ // 如果无法从 sale_param 解析,从 attrFallbackDict 兜底
+ if (specValues.Count == 0 && attrFallbackDict.TryGetValue(skuId, out var fallbackSpec))
+ {
+ specValues.Add(fallbackSpec);
+ }
+
+ return string.Join(";", specValues);
+ }
+
+ ///
+ /// 解析库存(兼容字符串/数字格式)
+ ///
+ private int ParseStockNum(JObject skuInfo)
+ {
+ var stockInfo = skuInfo["stock_info"] as JObject;
+ if (stockInfo == null) return 0;
+
+ var stockToken = stockInfo["stock_num"];
+ if (stockToken == null) return 0;
+
+ if (stockToken.Type == JTokenType.String)
+ {
+ return int.TryParse(stockToken.Value(), out var result) ? result : 0;
+ }
+
+ return stockToken.Value();
+ }
+
+ ///
+ /// 构建规格列表
+ /// 优先从 product_sale_attrs 构建,回退从SKU的spec文本解析
+ ///
+ private void BuildSpecList(List specList, List skus)
+ {
+ var specDict = new Dictionary>();
+
+ // 优先从 product_sale_attrs 构建
+ if (_saleAttrs != null && _saleAttrs.Count > 0)
+ {
+ foreach (var attr in _saleAttrs)
+ {
+ var key = attr["key"]?.Value() ?? string.Empty;
+ var items = attr["items"] as JArray;
+ if (items == null) continue;
+
+ foreach (var item in items)
+ {
+ // 兼容 value_v2 和 value
+ var value = item["value_v2"]?.Value();
+ if (string.IsNullOrEmpty(value))
+ value = item["value"]?.Value();
+
+ if (string.IsNullOrEmpty(value)) continue;
+
+ if (!specDict.ContainsKey(key))
+ specDict[key] = new HashSet();
+ specDict[key].Add(value);
+ }
+ }
+ }
+
+ // 如果 product_sale_attrs 不存在,从SKU的spec文本解析
+ if (specDict.Count == 0 && skus.Count > 0)
+ {
+ foreach (var sku in skus)
+ {
+ if (string.IsNullOrEmpty(sku.Spec)) continue;
+
+ foreach (var part in sku.Spec.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries))
+ {
+ var kv = part.Split(':');
+ if (kv.Length == 2)
+ {
+ var key = kv[0].Trim();
+ var value = kv[1].Trim();
+ if (!specDict.ContainsKey(key))
+ specDict[key] = new HashSet();
+ specDict[key].Add(value);
+ }
+ }
+ }
+ }
+
+ // 构建 SpecItem 列表
foreach (var spec in specDict)
{
foreach (var value in spec.Value)
@@ -403,8 +637,6 @@ namespace TemuKJD.BLL.ImportConverters
});
}
}
-
- return new Tuple, List>(skuList, specList);
}
///
@@ -412,33 +644,37 @@ namespace TemuKJD.BLL.ImportConverters
///
private decimal GetMinPrice()
{
- if (_skuList == null || _skuList.Count == 0)
- return 0;
-
- var minPrice = decimal.MaxValue;
-
- foreach (var sku in _skuList)
+ // 优先从 product_skus 获取
+ if (_productSkus != null && _productSkus.Count > 0)
{
- var skuObj = sku as JObject;
- if (skuObj == null) continue;
+ var minPrice = decimal.MaxValue;
+ foreach (var sku in _productSkus)
+ {
+ var skuObj = sku as JObject;
+ if (skuObj == null) continue;
- var skuInfo = skuObj["product_sku_info"] as JObject;
- if (skuInfo == null) continue;
+ var skuInfo = skuObj["product_sku_info"] as JObject;
+ if (skuInfo == null) continue;
- var price = skuInfo["sale_price"]?.Value() ?? 0;
- if (price > 0 && price < minPrice)
- minPrice = price;
+ var price = skuInfo["sale_price"]?.Value() ?? 0;
+ if (price > 0 && price < minPrice)
+ minPrice = price;
+ }
+
+ if (minPrice > 0 && minPrice != decimal.MaxValue)
+ return minPrice / 100;
}
- // 回退到 sku_list.min_price
- if (minPrice == decimal.MaxValue)
+ // 回退 sku_list.min_price
+ var skuListInfo = _infoNode["sku_list"] as JObject;
+ if (skuListInfo != null)
{
- var skuListInfo = _infoNode["sku_list"] as JObject;
- var minPriceToken = skuListInfo?["min_price"]?.Value() ?? 0;
- return minPriceToken / 100;
+ var minPriceToken = skuListInfo["min_price"]?.Value() ?? 0;
+ if (minPriceToken > 0)
+ return minPriceToken / 100;
}
- return minPrice > 0 ? minPrice / 100 : 0;
+ return 0;
}
#endregion
diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj
index dcd466a..677b131 100644
--- a/TEMUKJD/KJD.csproj
+++ b/TEMUKJD/KJD.csproj
@@ -68,6 +68,9 @@
+
+ Form
+
Form
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsFavoriteForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsFavoriteForm.Designer.cs
new file mode 100644
index 0000000..40e20e3
--- /dev/null
+++ b/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsFavoriteForm.Designer.cs
@@ -0,0 +1,636 @@
+
+namespace TemuKJD.PDDForms.ProductSelectForms
+{
+ partial class CloudGoodsFavoriteForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
+ this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.btn_removefavorite = new DevComponents.DotNetBar.PanelEx();
+ this.bt_importUploadList = new DevComponents.DotNetBar.PanelEx();
+ this.label5r = new System.Windows.Forms.Label();
+ this.cb_Platform = new System.Windows.Forms.ComboBox();
+ this.cmbCatSelect2 = new System.Windows.Forms.ComboBox();
+ this.cmbCatSelect1 = new System.Windows.Forms.ComboBox();
+ this.cmbCatSelect4 = new System.Windows.Forms.ComboBox();
+ this.cmbCatSelect3 = new System.Windows.Forms.ComboBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.num_maxprice = new System.Windows.Forms.NumericUpDown();
+ this.num_minprice = new System.Windows.Forms.NumericUpDown();
+ this.label7 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.num_maxsold = new System.Windows.Forms.NumericUpDown();
+ this.num_minsold = new System.Windows.Forms.NumericUpDown();
+ this.txt_title = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label6 = new System.Windows.Forms.Label();
+ this.btnSearch = new DevComponents.DotNetBar.PanelEx();
+ this.pnlEmpty = new DevComponents.DotNetBar.PanelEx();
+ this.label2 = new System.Windows.Forms.Label();
+ this.splitContainer2 = new System.Windows.Forms.SplitContainer();
+ this.pbLoading = new System.Windows.Forms.PictureBox();
+ this.dgvData = new TemuKJD.UserComponent.DataGridViewEx();
+ this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.c_Platform = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column1 = new System.Windows.Forms.DataGridViewImageColumn();
+ this.c_goodsid = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
+ this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
+ this.splitContainer1.Panel1.SuspendLayout();
+ this.splitContainer1.Panel2.SuspendLayout();
+ this.splitContainer1.SuspendLayout();
+ this.panel1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.num_maxprice)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.num_minprice)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.num_maxsold)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.num_minsold)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
+ this.splitContainer2.Panel1.SuspendLayout();
+ this.splitContainer2.Panel2.SuspendLayout();
+ this.splitContainer2.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvData)).BeginInit();
+ this.SuspendLayout();
+ //
+ // splitContainer1
+ //
+ this.splitContainer1.BackColor = System.Drawing.Color.White;
+ this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
+ this.splitContainer1.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer1.Name = "splitContainer1";
+ this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainer1.Panel1
+ //
+ this.splitContainer1.Panel1.Controls.Add(this.panel1);
+ this.splitContainer1.Panel1.Controls.Add(this.label5r);
+ this.splitContainer1.Panel1.Controls.Add(this.cb_Platform);
+ this.splitContainer1.Panel1.Controls.Add(this.cmbCatSelect2);
+ this.splitContainer1.Panel1.Controls.Add(this.cmbCatSelect1);
+ this.splitContainer1.Panel1.Controls.Add(this.cmbCatSelect4);
+ this.splitContainer1.Panel1.Controls.Add(this.cmbCatSelect3);
+ this.splitContainer1.Panel1.Controls.Add(this.label4);
+ this.splitContainer1.Panel1.Controls.Add(this.num_maxprice);
+ this.splitContainer1.Panel1.Controls.Add(this.num_minprice);
+ this.splitContainer1.Panel1.Controls.Add(this.label7);
+ this.splitContainer1.Panel1.Controls.Add(this.label3);
+ this.splitContainer1.Panel1.Controls.Add(this.num_maxsold);
+ this.splitContainer1.Panel1.Controls.Add(this.num_minsold);
+ this.splitContainer1.Panel1.Controls.Add(this.txt_title);
+ this.splitContainer1.Panel1.Controls.Add(this.label1);
+ this.splitContainer1.Panel1.Controls.Add(this.label6);
+ this.splitContainer1.Panel1.Controls.Add(this.btnSearch);
+ this.splitContainer1.Panel1.Controls.Add(this.pnlEmpty);
+ this.splitContainer1.Panel1.Controls.Add(this.label2);
+ //
+ // splitContainer1.Panel2
+ //
+ this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
+ this.splitContainer1.Panel2.Margin = new System.Windows.Forms.Padding(4);
+ this.splitContainer1.Size = new System.Drawing.Size(1643, 530);
+ this.splitContainer1.TabIndex = 35;
+ //
+ // panel1
+ //
+ this.panel1.Controls.Add(this.btn_removefavorite);
+ this.panel1.Controls.Add(this.bt_importUploadList);
+ this.panel1.Dock = System.Windows.Forms.DockStyle.Right;
+ this.panel1.Location = new System.Drawing.Point(1507, 0);
+ this.panel1.Name = "panel1";
+ this.panel1.Size = new System.Drawing.Size(136, 50);
+ this.panel1.TabIndex = 914;
+ //
+ // btn_removefavorite
+ //
+ this.btn_removefavorite.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btn_removefavorite.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btn_removefavorite.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btn_removefavorite.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btn_removefavorite.Location = new System.Drawing.Point(67, 14);
+ this.btn_removefavorite.Name = "btn_removefavorite";
+ this.btn_removefavorite.Size = new System.Drawing.Size(58, 23);
+ this.btn_removefavorite.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btn_removefavorite.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btn_removefavorite.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btn_removefavorite.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btn_removefavorite.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btn_removefavorite.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btn_removefavorite.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btn_removefavorite.Style.GradientAngle = 90;
+ this.btn_removefavorite.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btn_removefavorite.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btn_removefavorite.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btn_removefavorite.TabIndex = 447;
+ this.btn_removefavorite.Text = "取消收藏";
+ this.btn_removefavorite.Click += new System.EventHandler(this.btn_removefavorite_Click);
+ //
+ // bt_importUploadList
+ //
+ this.bt_importUploadList.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.bt_importUploadList.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.bt_importUploadList.DisabledBackColor = System.Drawing.Color.Empty;
+ this.bt_importUploadList.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.bt_importUploadList.Location = new System.Drawing.Point(3, 14);
+ this.bt_importUploadList.Name = "bt_importUploadList";
+ this.bt_importUploadList.Size = new System.Drawing.Size(58, 23);
+ this.bt_importUploadList.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.bt_importUploadList.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.bt_importUploadList.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.bt_importUploadList.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.bt_importUploadList.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.bt_importUploadList.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.bt_importUploadList.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.bt_importUploadList.Style.GradientAngle = 90;
+ this.bt_importUploadList.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.bt_importUploadList.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.bt_importUploadList.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.bt_importUploadList.TabIndex = 443;
+ this.bt_importUploadList.Text = "上传选中";
+ this.bt_importUploadList.Click += new System.EventHandler(this.bt_importUploadList_Click);
+ //
+ // label5r
+ //
+ this.label5r.AutoSize = true;
+ this.label5r.Location = new System.Drawing.Point(1048, 16);
+ this.label5r.Name = "label5r";
+ this.label5r.Size = new System.Drawing.Size(44, 17);
+ this.label5r.TabIndex = 907;
+ this.label5r.Text = "来源:";
+ //
+ // cb_Platform
+ //
+ this.cb_Platform.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cb_Platform.DropDownWidth = 150;
+ this.cb_Platform.FormattingEnabled = true;
+ this.cb_Platform.Items.AddRange(new object[] {
+ "全部",
+ "多多",
+ "微信"});
+ this.cb_Platform.Location = new System.Drawing.Point(1098, 13);
+ this.cb_Platform.Name = "cb_Platform";
+ this.cb_Platform.Size = new System.Drawing.Size(97, 25);
+ this.cb_Platform.TabIndex = 906;
+ //
+ // cmbCatSelect2
+ //
+ this.cmbCatSelect2.DropDownWidth = 150;
+ this.cmbCatSelect2.FormattingEnabled = true;
+ this.cmbCatSelect2.Location = new System.Drawing.Point(745, 12);
+ this.cmbCatSelect2.Name = "cmbCatSelect2";
+ this.cmbCatSelect2.Size = new System.Drawing.Size(97, 25);
+ this.cmbCatSelect2.TabIndex = 897;
+ //
+ // cmbCatSelect1
+ //
+ this.cmbCatSelect1.DropDownWidth = 150;
+ this.cmbCatSelect1.FormattingEnabled = true;
+ this.cmbCatSelect1.Location = new System.Drawing.Point(648, 12);
+ this.cmbCatSelect1.Name = "cmbCatSelect1";
+ this.cmbCatSelect1.Size = new System.Drawing.Size(97, 25);
+ this.cmbCatSelect1.TabIndex = 896;
+ //
+ // cmbCatSelect4
+ //
+ this.cmbCatSelect4.DropDownWidth = 150;
+ this.cmbCatSelect4.FormattingEnabled = true;
+ this.cmbCatSelect4.Location = new System.Drawing.Point(939, 12);
+ this.cmbCatSelect4.Name = "cmbCatSelect4";
+ this.cmbCatSelect4.Size = new System.Drawing.Size(97, 25);
+ this.cmbCatSelect4.TabIndex = 899;
+ //
+ // cmbCatSelect3
+ //
+ this.cmbCatSelect3.DropDownWidth = 150;
+ this.cmbCatSelect3.FormattingEnabled = true;
+ this.cmbCatSelect3.Location = new System.Drawing.Point(842, 12);
+ this.cmbCatSelect3.Name = "cmbCatSelect3";
+ this.cmbCatSelect3.Size = new System.Drawing.Size(97, 25);
+ this.cmbCatSelect3.TabIndex = 898;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.ForeColor = System.Drawing.Color.Gray;
+ this.label4.Location = new System.Drawing.Point(518, 17);
+ this.label4.Margin = new System.Windows.Forms.Padding(0);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(13, 17);
+ this.label4.TabIndex = 488;
+ this.label4.Text = "-";
+ //
+ // num_maxprice
+ //
+ this.num_maxprice.Location = new System.Drawing.Point(534, 14);
+ this.num_maxprice.Maximum = new decimal(new int[] {
+ 99999,
+ 0,
+ 0,
+ 0});
+ this.num_maxprice.Name = "num_maxprice";
+ this.num_maxprice.Size = new System.Drawing.Size(70, 23);
+ this.num_maxprice.TabIndex = 487;
+ //
+ // num_minprice
+ //
+ this.num_minprice.Location = new System.Drawing.Point(447, 14);
+ this.num_minprice.Maximum = new decimal(new int[] {
+ 99999,
+ 0,
+ 0,
+ 0});
+ this.num_minprice.Name = "num_minprice";
+ this.num_minprice.Size = new System.Drawing.Size(70, 23);
+ this.num_minprice.TabIndex = 486;
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Location = new System.Drawing.Point(388, 17);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(64, 17);
+ this.label7.TabIndex = 485;
+ this.label7.Text = "价格(元):";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.ForeColor = System.Drawing.Color.Gray;
+ this.label3.Location = new System.Drawing.Point(294, 17);
+ this.label3.Margin = new System.Windows.Forms.Padding(0);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(13, 17);
+ this.label3.TabIndex = 484;
+ this.label3.Text = "-";
+ //
+ // num_maxsold
+ //
+ this.num_maxsold.Location = new System.Drawing.Point(310, 14);
+ this.num_maxsold.Maximum = new decimal(new int[] {
+ 9999999,
+ 0,
+ 0,
+ 0});
+ this.num_maxsold.Name = "num_maxsold";
+ this.num_maxsold.Size = new System.Drawing.Size(70, 23);
+ this.num_maxsold.TabIndex = 483;
+ //
+ // num_minsold
+ //
+ this.num_minsold.Location = new System.Drawing.Point(223, 14);
+ this.num_minsold.Maximum = new decimal(new int[] {
+ 9999999,
+ 0,
+ 0,
+ 0});
+ this.num_minsold.Name = "num_minsold";
+ this.num_minsold.Size = new System.Drawing.Size(70, 23);
+ this.num_minsold.TabIndex = 482;
+ //
+ // txt_title
+ //
+ this.txt_title.Location = new System.Drawing.Point(60, 14);
+ this.txt_title.Name = "txt_title";
+ this.txt_title.Size = new System.Drawing.Size(118, 23);
+ this.txt_title.TabIndex = 468;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(8, 17);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(56, 17);
+ this.label1.TabIndex = 469;
+ this.label1.Text = "关键词:";
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Location = new System.Drawing.Point(610, 17);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(44, 17);
+ this.label6.TabIndex = 440;
+ this.label6.Text = "类目:";
+ //
+ // btnSearch
+ //
+ this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnSearch.Location = new System.Drawing.Point(1208, 14);
+ this.btnSearch.Name = "btnSearch";
+ this.btnSearch.Size = new System.Drawing.Size(58, 23);
+ this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnSearch.Style.GradientAngle = 90;
+ this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnSearch.TabIndex = 435;
+ this.btnSearch.Text = "查询";
+ this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
+ //
+ // pnlEmpty
+ //
+ this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control;
+ this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty;
+ this.pnlEmpty.Location = new System.Drawing.Point(1272, 14);
+ this.pnlEmpty.Name = "pnlEmpty";
+ this.pnlEmpty.Size = new System.Drawing.Size(58, 23);
+ this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.pnlEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.pnlEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.pnlEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.pnlEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.pnlEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
+ this.pnlEmpty.Style.GradientAngle = 90;
+ this.pnlEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.pnlEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.pnlEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.pnlEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.pnlEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.pnlEmpty.TabIndex = 413;
+ this.pnlEmpty.Text = "清空条件";
+ this.pnlEmpty.Click += new System.EventHandler(this.pnlEmpty_Click);
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(184, 17);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(44, 17);
+ this.label2.TabIndex = 373;
+ this.label2.Text = "销量:";
+ //
+ // splitContainer2
+ //
+ this.splitContainer2.BackColor = System.Drawing.Color.White;
+ this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
+ this.splitContainer2.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer2.Name = "splitContainer2";
+ this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainer2.Panel1
+ //
+ this.splitContainer2.Panel1.BackColor = System.Drawing.Color.White;
+ this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
+ this.splitContainer2.Panel1.Controls.Add(this.dgvData);
+ this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
+ //
+ // splitContainer2.Panel2
+ //
+ this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
+ this.splitContainer2.Panel2.Controls.Add(this.statusBar);
+ this.splitContainer2.Size = new System.Drawing.Size(1643, 476);
+ this.splitContainer2.SplitterDistance = 447;
+ this.splitContainer2.TabIndex = 0;
+ //
+ // pbLoading
+ //
+ this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
+ this.pbLoading.Location = new System.Drawing.Point(796, 198);
+ this.pbLoading.Name = "pbLoading";
+ this.pbLoading.Size = new System.Drawing.Size(50, 50);
+ this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pbLoading.TabIndex = 6;
+ this.pbLoading.TabStop = false;
+ //
+ // dgvData
+ //
+ this.dgvData.AllowUserToAddRows = false;
+ this.dgvData.AllowUserToDeleteRows = false;
+ dataGridViewCellStyle9.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvData.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9;
+ this.dgvData.AutoRowNumber = true;
+ this.dgvData.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
+ this.dgvData.BackgroundColor = System.Drawing.Color.White;
+ this.dgvData.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.dgvData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10;
+ this.dgvData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dgvData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.colSelect,
+ this.c_Platform,
+ this.Column1,
+ this.c_goodsid,
+ this.Column2,
+ this.Column3,
+ this.Column4});
+ this.dgvData.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dgvData.Location = new System.Drawing.Point(4, 0);
+ this.dgvData.MultiSelectCheckBox = true;
+ this.dgvData.Name = "dgvData";
+ this.dgvData.ReadOnly = true;
+ this.dgvData.RowTemplate.Height = 60;
+ this.dgvData.ShowCellErrors = false;
+ this.dgvData.Size = new System.Drawing.Size(1635, 447);
+ this.dgvData.TabIndex = 5;
+ //
+ // colSelect
+ //
+ this.colSelect.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+ this.colSelect.FillWeight = 26F;
+ this.colSelect.HeaderText = "选";
+ this.colSelect.Name = "colSelect";
+ this.colSelect.ReadOnly = true;
+ this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colSelect.Width = 30;
+ //
+ // c_Platform
+ //
+ this.c_Platform.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+ this.c_Platform.HeaderText = "来源";
+ this.c_Platform.Name = "c_Platform";
+ this.c_Platform.ReadOnly = true;
+ this.c_Platform.Width = 80;
+ //
+ // Column1
+ //
+ this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+ this.Column1.FillWeight = 44.62474F;
+ this.Column1.HeaderText = "主图";
+ this.Column1.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
+ this.Column1.MinimumWidth = 60;
+ this.Column1.Name = "Column1";
+ this.Column1.ReadOnly = true;
+ this.Column1.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.Column1.Width = 200;
+ //
+ // c_goodsid
+ //
+ this.c_goodsid.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+ this.c_goodsid.FillWeight = 60.68966F;
+ this.c_goodsid.HeaderText = "商品ID";
+ this.c_goodsid.Name = "c_goodsid";
+ this.c_goodsid.ReadOnly = true;
+ this.c_goodsid.Width = 180;
+ //
+ // Column2
+ //
+ this.Column2.FillWeight = 111.5619F;
+ this.Column2.HeaderText = "标题";
+ this.Column2.Name = "Column2";
+ this.Column2.ReadOnly = true;
+ //
+ // Column3
+ //
+ this.Column3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+ this.Column3.FillWeight = 111.5619F;
+ this.Column3.HeaderText = "价格";
+ this.Column3.Name = "Column3";
+ this.Column3.ReadOnly = true;
+ this.Column3.Width = 120;
+ //
+ // Column4
+ //
+ this.Column4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+ this.Column4.FillWeight = 111.5619F;
+ this.Column4.HeaderText = "销量";
+ this.Column4.Name = "Column4";
+ this.Column4.ReadOnly = true;
+ this.Column4.Width = 120;
+ //
+ // ucSplitPage1
+ //
+ this.ucSplitPage1.CurrentPage = 1;
+ this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
+ this.ucSplitPage1.IsShowPageSize = true;
+ this.ucSplitPage1.IsShowTotalCount = true;
+ this.ucSplitPage1.Location = new System.Drawing.Point(1181, 0);
+ this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
+ this.ucSplitPage1.MaxPageSizeValue = 2000;
+ this.ucSplitPage1.Name = "ucSplitPage1";
+ this.ucSplitPage1.PageSize = 50;
+ this.ucSplitPage1.Size = new System.Drawing.Size(462, 25);
+ this.ucSplitPage1.TabIndex = 4;
+ this.ucSplitPage1.TotalCount = ((long)(0));
+ this.ucSplitPage1.TotalPage = 1;
+ //
+ // statusBar
+ //
+ this.statusBar.BackColor = System.Drawing.Color.White;
+ this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.statusBar.Location = new System.Drawing.Point(0, 0);
+ this.statusBar.Margin = new System.Windows.Forms.Padding(0);
+ this.statusBar.Name = "statusBar";
+ this.statusBar.Size = new System.Drawing.Size(1643, 25);
+ this.statusBar.TabIndex = 1;
+ this.statusBar.Visible = false;
+ //
+ // CloudGoodsFavoriteForm
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.ClientSize = new System.Drawing.Size(1643, 530);
+ 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 = "CloudGoodsFavoriteForm";
+ this.Text = "AdminCardCodeForm";
+ this.Load += new System.EventHandler(this.AdminCardCodeForm_Load);
+ this.splitContainer1.Panel1.ResumeLayout(false);
+ this.splitContainer1.Panel1.PerformLayout();
+ this.splitContainer1.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
+ this.splitContainer1.ResumeLayout(false);
+ this.panel1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.num_maxprice)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.num_minprice)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.num_maxsold)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.num_minsold)).EndInit();
+ this.splitContainer2.Panel1.ResumeLayout(false);
+ this.splitContainer2.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
+ this.splitContainer2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvData)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.SplitContainer splitContainer1;
+ private DevComponents.DotNetBar.PanelEx pnlEmpty;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.SplitContainer splitContainer2;
+ private System.Windows.Forms.PictureBox pbLoading;
+ private UserComponent.DataGridViewEx dgvData;
+ private UserControls.UcSplitPage ucSplitPage1;
+ private UserControls.StatusBarUserControl statusBar;
+ private DevComponents.DotNetBar.PanelEx btnSearch;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.TextBox txt_title;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.NumericUpDown num_maxsold;
+ private System.Windows.Forms.NumericUpDown num_minsold;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.NumericUpDown num_maxprice;
+ private System.Windows.Forms.NumericUpDown num_minprice;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.ComboBox cmbCatSelect2;
+ private System.Windows.Forms.ComboBox cmbCatSelect1;
+ private System.Windows.Forms.ComboBox cmbCatSelect4;
+ private System.Windows.Forms.ComboBox cmbCatSelect3;
+ private System.Windows.Forms.Label label5r;
+ private System.Windows.Forms.ComboBox cb_Platform;
+ private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
+ private System.Windows.Forms.DataGridViewTextBoxColumn c_Platform;
+ private System.Windows.Forms.DataGridViewImageColumn Column1;
+ private System.Windows.Forms.DataGridViewTextBoxColumn c_goodsid;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Column4;
+ private System.Windows.Forms.Panel panel1;
+ private DevComponents.DotNetBar.PanelEx btn_removefavorite;
+ private DevComponents.DotNetBar.PanelEx bt_importUploadList;
+ }
+}
\ No newline at end of file
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsFavoriteForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsFavoriteForm.cs
new file mode 100644
index 0000000..6590cc1
--- /dev/null
+++ b/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsFavoriteForm.cs
@@ -0,0 +1,483 @@
+using AllBase;
+using AllBase.Helper;
+using AllBase.Model.Result;
+using AllBase.Model.Result.PDDResult;
+using AllBase.Model.Result.WXResult;
+using NaiBa.Util.Extension;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.Drawing.Printing;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Security.Policy;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using TemuKJD.BaseForms;
+using TemuKJD.Extension;
+using TemuKJD.ToolForms;
+using TemuKJD.UserControls;
+using TemuKJD.WXForms.ProductForms;
+using Work;
+using Work.GoodDetail;
+using Work.Services;
+
+namespace TemuKJD.PDDForms.ProductSelectForms
+{
+ public partial class CloudGoodsFavoriteForm : BaseForm
+ {
+ private GoodsSearchRequest search = new GoodsSearchRequest();
+ private List catBoxList = new List();
+ private BindingList dataList = new BindingList();
+ CheckBox chkSelectAll = null;
+ public CloudGoodsFavoriteForm()
+ {
+ InitializeComponent();
+ }
+
+ private void AdminCardCodeForm_Load(object sender, EventArgs e)
+ {
+ pbLoading.Visible = false;
+ ucSplitPage1.PageChange += UcSplitPage1_PageChange;
+ InitCategory();
+ InitBindingDataGridView();
+
+
+ num_minsold.Value = 0;
+ num_maxsold.Value = 9999999;
+ num_minprice.Value = 0;
+ num_maxprice.Value = 999;
+
+ cb_Platform.SelectedIndex = 0;
+ ucSplitPage1.TotalCount = 0;
+
+
+ if (EnvironmentHelper.IsDevelopment)
+ {
+ txt_title.Text = "连衣裙";
+ }
+ }
+
+
+ private void InitBindingDataGridView()
+ {
+ this.dgvData.AutoGenerateColumns = false;
+ this.Column1.Width = 70;
+ // Column1 是图片列,DataGridViewImageColumn 无法把 ThumbUrl 的 URL 字符串直接渲染成图片,
+ // 因此不绑定 DataPropertyName,改为数据加载后由 ShowDgvImg() 异步下载图片填入该列。
+ this.colSelect.DataPropertyName = nameof(CloudGoods.IsSelected);
+ this.colSelect.ReadOnly = false;
+ this.Column2.DataPropertyName = nameof(CloudGoods.Title);
+ this.Column3.DataPropertyName = nameof(CloudGoods.Price);
+ this.Column4.DataPropertyName = nameof(CloudGoods.SoldQuantity);
+ this.c_goodsid.DataPropertyName = nameof(CloudGoods.GoodsId);
+ this.c_Platform.DataPropertyName = nameof(CloudGoods.Platform);
+ // 2. 设置列样式
+ // 时间列格式化
+ //this.Column6.DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss";
+ //this.Column8.DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss";
+ this.dgvData.DataSource = dataList;
+
+ // 滚动到可视区时按需加载缩略图
+ this.dgvData.Scroll += (s, e) => ShowDgvImg();
+ this.dgvData.CellContentClick += DgvData_CellContentClick;
+ dgvData.CellFormatting += DgvData_CellFormatting;
+
+ chkSelectAll = dgvData.Columns["colSelect"].AddHeaderCheckBox(HorizontalAlignment.Center, 0, 0, null, null, false);
+ dgvData.Columns["colSelect"].HeaderText = "";
+ //chkSelectAll.Width = chkSelectAll.Height = 13;
+ chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged;
+ //chkSelectAll.Checked = true;
+ }
+
+ private void DgvData_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
+ {
+ if (e.ColumnIndex == this.c_Platform.Index && e.Value != null && e.Value != DBNull.Value)
+ {
+ if (int.TryParse(e.Value.ToString(), out int v))
+ {
+ e.Value = v == 1 ? ("多多") : v == 2 ? ("微信") : ("未知");
+ e.FormattingApplied = true;
+ }
+ }
+ }
+
+ private void chkSelectAll_CheckedChanged(object sender, EventArgs e)
+ {
+ foreach (var item in dataList)
+ {
+ item.IsSelected = (sender as CheckBox).Checked;
+ }
+ //this.dgvData.Refresh();
+ }
+
+ private void DgvData_CellContentClick(object sender, DataGridViewCellEventArgs e)
+ {
+ if (dgvData.Columns[e.ColumnIndex] == colSelect)
+ {
+ var data = dgvData.Rows[e.RowIndex].DataBoundItem as CloudGoods;
+ data.IsSelected = !data.IsSelected;
+ }
+ if (dgvData.Columns[e.ColumnIndex] == Column1)
+ {
+ var data = dgvData.Rows[e.RowIndex].DataBoundItem as CloudGoods;
+ if (dgvData.Rows[e.RowIndex].Cells[e.ColumnIndex].Value is Image img)
+ {
+ ShowImgForm imgFrom = new ShowImgForm(img, data.ThumbUrl);
+ imgFrom.ShowDialog();
+ }
+
+ }
+ }
+
+ ///
+ /// 异步下载 CloudGoods.ThumbUrl 图片并填充到 Column1 图片列(只加载可视区行,避免一次下载整页)
+ ///
+ private void ShowDgvImg()
+ {
+ // 先在 UI 线程上快照“行 + 图片地址”,避免在后台线程遍历绑定的 DataGridView
+ List> waitList = new List>();
+ foreach (DataGridViewRow row in this.dgvData.Rows)
+ {
+ try
+ {
+ if (row.Index < 0)
+ continue;
+
+ // 不在可视区:先放占位图,滚动到可视区时再真正加载
+ if (row.Index > 0 && row.Cells["Column1"].Displayed == false)
+ {
+ if (row.Cells["Column1"].Value != DataGridViewExtension.defaultBitmap)
+ row.Cells["Column1"].Value = DataGridViewExtension.defaultBitmap;
+ continue;
+ }
+
+ // 已加载过就不再重复下载
+ if (row.Cells["Column1"].Value != null && row.Cells["Column1"].Value != DataGridViewExtension.defaultBitmap)
+ continue;
+
+ string imgUrl = (row.DataBoundItem as CloudGoods)?.ThumbUrl;
+ if (!string.IsNullOrWhiteSpace(imgUrl))
+ waitList.Add(new KeyValuePair(row, imgUrl));
+ else
+ row.Cells["Column1"].Value = TemuKJD.Properties.Resources.errpic;
+ }
+ catch
+ {
+ }
+ }
+
+ if (waitList.Count == 0)
+ return;
+
+ Task.Run(() =>
+ {
+ foreach (var item in waitList)
+ {
+ try
+ {
+ DataGridViewRow row = item.Key;
+ string getImgError = "";
+ Image image = GetHtml.GetUrlImg(item.Value, out getImgError);
+ if (image == null)
+ image = TemuKJD.Properties.Resources.errpic;
+
+ Invoke(new Action(() =>
+ {
+ try
+ {
+ if (row.Index >= 0)
+ row.Cells["Column1"].Value = image;
+ }
+ catch { }
+ }));
+ }
+ catch
+ {
+ }
+ }
+ });
+ }
+
+
+
+ private void InitCategory()
+ {
+ catBoxList.Add(cmbCatSelect1);
+ catBoxList.Add(cmbCatSelect2);
+ catBoxList.Add(cmbCatSelect3);
+ catBoxList.Add(cmbCatSelect4);
+
+
+ for (int i = 0; i < catBoxList.Count; i++)
+ {
+ catBoxList[i].DropDownStyle = ComboBoxStyle.DropDownList;
+ catBoxList[i].Tag = i;
+ catBoxList[i].SelectedIndexChanged += CmbCatSelect_SelectedIndexChanged;
+ catBoxList[i].DisplayMember = "cat_name";
+ catBoxList[i].ValueMember = "cat_id";
+ }
+
+
+ cmbCatSelect1.Items.Add(new PddCatInfo
+ {
+ cat_name = "全部",
+ cat_id = 0
+ });
+ foreach (PddCatInfo cat in GlobalConfig.PddCatList.Where(c => c.level == 1).ToList())
+ {
+ cmbCatSelect1.Items.Add(cat);
+ }
+
+ catBoxList[0].SelectedIndex = 0;
+ }
+
+ private void CmbCatSelect_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (sender is ComboBox ccb)
+ {
+ ccb.SelectedIndexChanged -= CmbCatSelect_SelectedIndexChanged;
+
+
+ try
+ {
+ int currentLevel = (int)ccb.Tag;
+
+ // 先清空并禁用所有下级 ComboBox
+ for (int i = currentLevel + 1; i < catBoxList.Count; i++)
+ {
+ catBoxList[i].Items.Clear();
+ catBoxList[i].SelectedIndex = -1;
+ }
+ var parentCategory = ccb.SelectedItem as PddCatInfo;
+
+
+ // 启用并填充当前级别及上级(如果需要)
+ for (int i = currentLevel + 1; i < catBoxList.Count; i++)
+ {
+ // 清空所有下级
+ catBoxList[i].Items.Clear();
+ catBoxList[i].SelectedIndex = -1;
+ catBoxList[i].Text = "";
+ catBoxList[i].SelectedItem = null;
+ if (i == currentLevel + 1)
+ {
+ catBoxList[i].Enabled = true;
+
+ // 根据当前选中的值过滤下一级数据
+ if (parentCategory != null)
+ {
+ var childItems = GlobalConfig.PddCatList
+ .Where(c => c.level == i + 1 && c.parent_cat_id == parentCategory.cat_id)
+ .ToList();
+
+ foreach (var cat in childItems)
+ {
+ catBoxList[i].Items.Add(cat);
+ }
+ }
+ }
+ else
+ {
+ // 更下级的全部禁用并清空
+ catBoxList[i].Enabled = false;
+ }
+ }
+ if (currentLevel == 0)
+ {
+ catBoxList[1].Enabled = parentCategory.cat_id != 0;
+ }
+ }
+ finally
+ {
+ // 重新绑定事件
+ ccb.SelectedIndexChanged += CmbCatSelect_SelectedIndexChanged;
+ }
+
+
+ }
+ }
+ private void UcSplitPage1_PageChange(object obj)
+ {
+ btnSearch_Click(obj, null);
+ }
+ private async void btnSearch_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ this.pbLoading.Visible = true;
+ btnSearch.Enabled = false;
+
+ UserFavoritesGoodsSearchRequest search = new UserFavoritesGoodsSearchRequest();
+
+ search.Platform = cb_Platform.SelectedIndex == 1 ? PlatformType.PDD : cb_Platform.SelectedIndex == 2 ? PlatformType.WX : PlatformType.None;
+ search.Title = txt_title.Text;
+ search.MinSoldQuantity = (int)num_minsold.Value;
+ search.MaxSoldQuantity = (int)num_maxsold.Value;
+ search.MinPrice = (long)num_minprice.Value * 100;
+ search.MaxPrice = (long)num_maxprice.Value * 100;
+ if (cmbCatSelect1.SelectedItem is PddCatInfo cat1)
+ {
+ search.CatId1 = (int)(cat1.cat_id);
+ search.CatId1 = search.CatId1 == 0 ? null : search.CatId1;
+ }
+ if (cmbCatSelect2.SelectedItem is PddCatInfo cat2)
+ search.CatId2 = (int)(cat2.cat_id);
+ if (cmbCatSelect3.SelectedItem is PddCatInfo cat3)
+ search.CatId3 = (int)(cat3.cat_id);
+ if (cmbCatSelect4.SelectedItem is PddCatInfo cat4)
+ search.CatId4 = (int)(cat4.cat_id);
+ search.PageIndex = ucSplitPage1.CurrentPage;
+ search.PageSize = ucSplitPage1.PageSize;
+
+
+
+ await GetGoods(search);
+ }
+ catch (Exception ex)
+ {
+ BaseMsgForm.ShowError($"查询失败:{ex.Message}");
+ }
+ finally
+ {
+ this.pbLoading.Visible = false;
+ btnSearch.Enabled = true;
+ }
+
+
+ }
+ private void pnlEmpty_Click(object sender, EventArgs e)
+ {
+ txt_title.Text = "";
+ num_minsold.Value = 0;
+ num_maxsold.Value = 99999;
+ num_minprice.Value = 0;
+ num_maxprice.Value = 999;
+ cmbCatSelect1.SelectedIndex = 0;
+ cb_Platform.SelectedIndex = 0;
+ ucSplitPage1.PageChange -= UcSplitPage1_PageChange;
+ ucSplitPage1.CurrentPage = 1;
+ ucSplitPage1.PageChange += UcSplitPage1_PageChange;
+ }
+
+
+ public async Task GetGoods(UserFavoritesGoodsSearchRequest request)
+ {
+ dataList.Clear();
+
+ PageData ret = await CloudGoodsService.SearchFavorites(request);
+ Invoke(new Action(() =>
+ {
+ ret.List.ForEach(a => dataList.Add(a));
+ ucSplitPage1.TotalPage = Math.Max(1, ret.TotalPages);
+ ucSplitPage1.TotalCount = ret.Total;
+ this.pbLoading.Visible = false;
+ // 异步加载商品缩略图(Column1 绑定 ThumbUrl)
+ ShowDgvImg();
+ }));
+
+ }
+
+
+
+
+ ///
+ /// 导入数据到待上传
+ ///
+ ///
+ ///
+ private void bt_importUploadList_Click(object sender, EventArgs e)
+ {
+ int succ = 0;
+ int err = 0;
+ foreach (var item in dataList)
+ {
+ try
+ {
+ if (item.IsSelected == false) continue;
+ string catName = "";
+ if (item.CatId4.HasValue)
+ {
+ catName = GlobalConfig.PddCatList.FirstOrDefault(a => a.cat_id == item.CatId4)?.cat_name ?? "";
+ }
+ else if (item.CatId3.HasValue)
+ {
+ catName = GlobalConfig.PddCatList.FirstOrDefault(a => a.cat_id == item.CatId3)?.cat_name ?? "";
+ }
+ else if (item.CatId2.HasValue)
+ {
+ catName = GlobalConfig.PddCatList.FirstOrDefault(a => a.cat_id == item.CatId2)?.cat_name ?? "";
+ }
+ WXDBProdUploadForm.lstTemuDBProductSelect.Add(new TemuDBProductSelect
+ {
+ //out_product_Id = item.GoodsId.ToString(),
+ spu_id = item.GoodsId.ToString(),
+ main_img = item.ThumbUrl,
+ product_name = item.Title,
+ cat_name = catName,
+ product_get_type_text = item.Platform == 1 ? ("多多") : item.Platform == 2 ? ("微信") : ("未知"),
+ db_type = "云端数据",
+ });
+ succ++;
+ }
+ catch
+ {
+ err++;
+ }
+ }
+ NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_db_prod_upload_list", WXDBProdUploadForm.lstTemuDBProductSelect);
+ BaseMsgForm.ShowInfo($"导入完成!{succ} 成功 {err} 失败");
+ }
+ ///
+ /// 取消收藏
+ ///
+ ///
+ ///
+ private async void btn_removefavorite_Click(object sender, EventArgs e)
+ {
+ int succ = 0;
+ int err = 0;
+ try
+ {
+ this.pbLoading.Visible = true;
+ btn_removefavorite.Enabled = false;
+ var goodsIds = dataList.Where(a => a.IsSelected).Select(a => a.GoodsId).ToList();
+ if(goodsIds.Count==0)
+ {
+ BaseMsgForm.ShowInfo($"请勾选商品");
+ return;
+ }
+ var ret = await CloudGoodsService.RemoveFavorites(goodsIds);
+ succ = ret;
+ if (ret != goodsIds.Count)
+ {
+ err = goodsIds.Count - ret;
+ }
+ BaseMsgForm.ShowInfo($"取消收藏完成!{succ} 成功 {err} 失败");
+ }
+ catch (Exception ex)
+ {
+ BaseMsgForm.ShowError($"取消收藏失败:{ex.Message}");
+ }
+ finally
+ {
+ this.pbLoading.Visible = false;
+ btn_removefavorite.Enabled = true;
+ }
+ }
+ }
+
+
+
+
+
+
+}
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsFavoriteForm.resx b/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsFavoriteForm.resx
new file mode 100644
index 0000000..2e4c5e9
--- /dev/null
+++ b/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsFavoriteForm.resx
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
\ No newline at end of file
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsForm.Designer.cs
index 26796c8..aafd523 100644
--- a/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsForm.Designer.cs
+++ b/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsForm.Designer.cs
@@ -29,395 +29,432 @@ namespace TemuKJD.PDDForms.ProductSelectForms
///
private void InitializeComponent()
{
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
- this.splitContainer1 = new System.Windows.Forms.SplitContainer();
- this.bt_importUploadList = new DevComponents.DotNetBar.PanelEx();
- this.label5r = new System.Windows.Forms.Label();
- this.cb_Platform = new System.Windows.Forms.ComboBox();
- this.cmbCatSelect2 = new System.Windows.Forms.ComboBox();
- this.cmbCatSelect1 = new System.Windows.Forms.ComboBox();
- this.cmbCatSelect4 = new System.Windows.Forms.ComboBox();
- this.cmbCatSelect3 = new System.Windows.Forms.ComboBox();
- this.label4 = new System.Windows.Forms.Label();
- this.num_maxprice = new System.Windows.Forms.NumericUpDown();
- this.num_minprice = new System.Windows.Forms.NumericUpDown();
- this.label7 = new System.Windows.Forms.Label();
- this.label3 = new System.Windows.Forms.Label();
- this.num_maxsold = new System.Windows.Forms.NumericUpDown();
- this.num_minsold = new System.Windows.Forms.NumericUpDown();
- this.txt_title = new System.Windows.Forms.TextBox();
- this.label1 = new System.Windows.Forms.Label();
- this.label6 = new System.Windows.Forms.Label();
- this.btnSearch = new DevComponents.DotNetBar.PanelEx();
- this.pnlEmpty = new DevComponents.DotNetBar.PanelEx();
- this.label2 = new System.Windows.Forms.Label();
- this.splitContainer2 = new System.Windows.Forms.SplitContainer();
- this.pbLoading = new System.Windows.Forms.PictureBox();
- this.dgvData = new TemuKJD.UserComponent.DataGridViewEx();
- this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
- this.c_Platform = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column1 = new System.Windows.Forms.DataGridViewImageColumn();
- this.c_goodsid = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
- this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
- ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
- this.splitContainer1.Panel1.SuspendLayout();
- this.splitContainer1.Panel2.SuspendLayout();
- this.splitContainer1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.num_maxprice)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.num_minprice)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.num_maxsold)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.num_minsold)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
- this.splitContainer2.Panel1.SuspendLayout();
- this.splitContainer2.Panel2.SuspendLayout();
- this.splitContainer2.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.dgvData)).BeginInit();
- this.SuspendLayout();
- //
- // splitContainer1
- //
- this.splitContainer1.BackColor = System.Drawing.Color.White;
- this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
- this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
- this.splitContainer1.Location = new System.Drawing.Point(0, 0);
- this.splitContainer1.Name = "splitContainer1";
- this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
- //
- // splitContainer1.Panel1
- //
- this.splitContainer1.Panel1.Controls.Add(this.bt_importUploadList);
- this.splitContainer1.Panel1.Controls.Add(this.label5r);
- this.splitContainer1.Panel1.Controls.Add(this.cb_Platform);
- this.splitContainer1.Panel1.Controls.Add(this.cmbCatSelect2);
- this.splitContainer1.Panel1.Controls.Add(this.cmbCatSelect1);
- this.splitContainer1.Panel1.Controls.Add(this.cmbCatSelect4);
- this.splitContainer1.Panel1.Controls.Add(this.cmbCatSelect3);
- this.splitContainer1.Panel1.Controls.Add(this.label4);
- this.splitContainer1.Panel1.Controls.Add(this.num_maxprice);
- this.splitContainer1.Panel1.Controls.Add(this.num_minprice);
- this.splitContainer1.Panel1.Controls.Add(this.label7);
- this.splitContainer1.Panel1.Controls.Add(this.label3);
- this.splitContainer1.Panel1.Controls.Add(this.num_maxsold);
- this.splitContainer1.Panel1.Controls.Add(this.num_minsold);
- this.splitContainer1.Panel1.Controls.Add(this.txt_title);
- this.splitContainer1.Panel1.Controls.Add(this.label1);
- this.splitContainer1.Panel1.Controls.Add(this.label6);
- this.splitContainer1.Panel1.Controls.Add(this.btnSearch);
- this.splitContainer1.Panel1.Controls.Add(this.pnlEmpty);
- this.splitContainer1.Panel1.Controls.Add(this.label2);
- //
- // splitContainer1.Panel2
- //
- this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
- this.splitContainer1.Panel2.Margin = new System.Windows.Forms.Padding(4);
- this.splitContainer1.Size = new System.Drawing.Size(1477, 530);
- this.splitContainer1.TabIndex = 35;
- //
- // bt_importUploadList
- //
- this.bt_importUploadList.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.bt_importUploadList.Cursor = System.Windows.Forms.Cursors.Hand;
- this.bt_importUploadList.DisabledBackColor = System.Drawing.Color.Empty;
- this.bt_importUploadList.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.bt_importUploadList.Location = new System.Drawing.Point(1407, 15);
- this.bt_importUploadList.Name = "bt_importUploadList";
- this.bt_importUploadList.Size = new System.Drawing.Size(58, 23);
- this.bt_importUploadList.Style.Alignment = System.Drawing.StringAlignment.Center;
- this.bt_importUploadList.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.bt_importUploadList.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.bt_importUploadList.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
- this.bt_importUploadList.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
- this.bt_importUploadList.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
- this.bt_importUploadList.Style.ForeColor.Color = System.Drawing.Color.White;
- this.bt_importUploadList.Style.GradientAngle = 90;
- this.bt_importUploadList.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
- this.bt_importUploadList.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
- this.bt_importUploadList.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
- this.bt_importUploadList.TabIndex = 439;
- this.bt_importUploadList.Text = "上传选中";
- this.bt_importUploadList.Click += new System.EventHandler(this.bt_importUploadList_Click);
- //
- // label5r
- //
- this.label5r.AutoSize = true;
- this.label5r.Location = new System.Drawing.Point(1048, 16);
- this.label5r.Name = "label5r";
- this.label5r.Size = new System.Drawing.Size(44, 17);
- this.label5r.TabIndex = 907;
- this.label5r.Text = "来源:";
- //
- // cb_Platform
- //
- this.cb_Platform.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cb_Platform.DropDownWidth = 150;
- this.cb_Platform.FormattingEnabled = true;
- this.cb_Platform.Items.AddRange(new object[] {
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
+ this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.btn_favorite = new DevComponents.DotNetBar.PanelEx();
+ this.bt_importUploadList = new DevComponents.DotNetBar.PanelEx();
+ this.label5r = new System.Windows.Forms.Label();
+ this.cb_Platform = new System.Windows.Forms.ComboBox();
+ this.cmbCatSelect2 = new System.Windows.Forms.ComboBox();
+ this.cmbCatSelect1 = new System.Windows.Forms.ComboBox();
+ this.cmbCatSelect4 = new System.Windows.Forms.ComboBox();
+ this.cmbCatSelect3 = new System.Windows.Forms.ComboBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.num_maxprice = new System.Windows.Forms.NumericUpDown();
+ this.num_minprice = new System.Windows.Forms.NumericUpDown();
+ this.label7 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.num_maxsold = new System.Windows.Forms.NumericUpDown();
+ this.num_minsold = new System.Windows.Forms.NumericUpDown();
+ this.txt_title = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label6 = new System.Windows.Forms.Label();
+ this.btnSearch = new DevComponents.DotNetBar.PanelEx();
+ this.pnlEmpty = new DevComponents.DotNetBar.PanelEx();
+ this.label2 = new System.Windows.Forms.Label();
+ this.splitContainer2 = new System.Windows.Forms.SplitContainer();
+ this.pbLoading = new System.Windows.Forms.PictureBox();
+ this.dgvData = new TemuKJD.UserComponent.DataGridViewEx();
+ this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.c_Platform = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column1 = new System.Windows.Forms.DataGridViewImageColumn();
+ this.c_goodsid = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
+ this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
+ this.splitContainer1.Panel1.SuspendLayout();
+ this.splitContainer1.Panel2.SuspendLayout();
+ this.splitContainer1.SuspendLayout();
+ this.panel1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.num_maxprice)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.num_minprice)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.num_maxsold)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.num_minsold)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
+ this.splitContainer2.Panel1.SuspendLayout();
+ this.splitContainer2.Panel2.SuspendLayout();
+ this.splitContainer2.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvData)).BeginInit();
+ this.SuspendLayout();
+ //
+ // splitContainer1
+ //
+ this.splitContainer1.BackColor = System.Drawing.Color.White;
+ this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
+ this.splitContainer1.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer1.Name = "splitContainer1";
+ this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainer1.Panel1
+ //
+ this.splitContainer1.Panel1.Controls.Add(this.panel1);
+ this.splitContainer1.Panel1.Controls.Add(this.label5r);
+ this.splitContainer1.Panel1.Controls.Add(this.cb_Platform);
+ this.splitContainer1.Panel1.Controls.Add(this.cmbCatSelect2);
+ this.splitContainer1.Panel1.Controls.Add(this.cmbCatSelect1);
+ this.splitContainer1.Panel1.Controls.Add(this.cmbCatSelect4);
+ this.splitContainer1.Panel1.Controls.Add(this.cmbCatSelect3);
+ this.splitContainer1.Panel1.Controls.Add(this.label4);
+ this.splitContainer1.Panel1.Controls.Add(this.num_maxprice);
+ this.splitContainer1.Panel1.Controls.Add(this.num_minprice);
+ this.splitContainer1.Panel1.Controls.Add(this.label7);
+ this.splitContainer1.Panel1.Controls.Add(this.label3);
+ this.splitContainer1.Panel1.Controls.Add(this.num_maxsold);
+ this.splitContainer1.Panel1.Controls.Add(this.num_minsold);
+ this.splitContainer1.Panel1.Controls.Add(this.txt_title);
+ this.splitContainer1.Panel1.Controls.Add(this.label1);
+ this.splitContainer1.Panel1.Controls.Add(this.label6);
+ this.splitContainer1.Panel1.Controls.Add(this.btnSearch);
+ this.splitContainer1.Panel1.Controls.Add(this.pnlEmpty);
+ this.splitContainer1.Panel1.Controls.Add(this.label2);
+ //
+ // splitContainer1.Panel2
+ //
+ this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
+ this.splitContainer1.Panel2.Margin = new System.Windows.Forms.Padding(4);
+ this.splitContainer1.Size = new System.Drawing.Size(1643, 530);
+ this.splitContainer1.TabIndex = 35;
+ //
+ // panel1
+ //
+ this.panel1.Controls.Add(this.btn_favorite);
+ this.panel1.Controls.Add(this.bt_importUploadList);
+ this.panel1.Dock = System.Windows.Forms.DockStyle.Right;
+ this.panel1.Location = new System.Drawing.Point(1507, 0);
+ this.panel1.Name = "panel1";
+ this.panel1.Size = new System.Drawing.Size(136, 50);
+ this.panel1.TabIndex = 914;
+ //
+ // btn_favorite
+ //
+ this.btn_favorite.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btn_favorite.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btn_favorite.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btn_favorite.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btn_favorite.Location = new System.Drawing.Point(67, 14);
+ this.btn_favorite.Name = "btn_favorite";
+ this.btn_favorite.Size = new System.Drawing.Size(58, 23);
+ this.btn_favorite.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btn_favorite.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btn_favorite.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btn_favorite.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btn_favorite.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btn_favorite.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btn_favorite.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btn_favorite.Style.GradientAngle = 90;
+ this.btn_favorite.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btn_favorite.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btn_favorite.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btn_favorite.TabIndex = 447;
+ this.btn_favorite.Text = "选中收藏";
+ this.btn_favorite.Click += new System.EventHandler(this.btn_favorite_Click);
+ //
+ // bt_importUploadList
+ //
+ this.bt_importUploadList.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.bt_importUploadList.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.bt_importUploadList.DisabledBackColor = System.Drawing.Color.Empty;
+ this.bt_importUploadList.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.bt_importUploadList.Location = new System.Drawing.Point(3, 14);
+ this.bt_importUploadList.Name = "bt_importUploadList";
+ this.bt_importUploadList.Size = new System.Drawing.Size(58, 23);
+ this.bt_importUploadList.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.bt_importUploadList.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.bt_importUploadList.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.bt_importUploadList.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.bt_importUploadList.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.bt_importUploadList.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.bt_importUploadList.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.bt_importUploadList.Style.GradientAngle = 90;
+ this.bt_importUploadList.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.bt_importUploadList.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.bt_importUploadList.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.bt_importUploadList.TabIndex = 443;
+ this.bt_importUploadList.Text = "上传选中";
+ this.bt_importUploadList.Click += new System.EventHandler(this.bt_importUploadList_Click);
+ //
+ // label5r
+ //
+ this.label5r.AutoSize = true;
+ this.label5r.Location = new System.Drawing.Point(1048, 16);
+ this.label5r.Name = "label5r";
+ this.label5r.Size = new System.Drawing.Size(44, 17);
+ this.label5r.TabIndex = 907;
+ this.label5r.Text = "来源:";
+ //
+ // cb_Platform
+ //
+ this.cb_Platform.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cb_Platform.DropDownWidth = 150;
+ this.cb_Platform.FormattingEnabled = true;
+ this.cb_Platform.Items.AddRange(new object[] {
"全部",
"多多",
"微信"});
- this.cb_Platform.Location = new System.Drawing.Point(1098, 13);
- this.cb_Platform.Name = "cb_Platform";
- this.cb_Platform.Size = new System.Drawing.Size(97, 25);
- this.cb_Platform.TabIndex = 906;
- //
- // cmbCatSelect2
- //
- this.cmbCatSelect2.DropDownWidth = 150;
- this.cmbCatSelect2.FormattingEnabled = true;
- this.cmbCatSelect2.Location = new System.Drawing.Point(745, 12);
- this.cmbCatSelect2.Name = "cmbCatSelect2";
- this.cmbCatSelect2.Size = new System.Drawing.Size(97, 25);
- this.cmbCatSelect2.TabIndex = 897;
- //
- // cmbCatSelect1
- //
- this.cmbCatSelect1.DropDownWidth = 150;
- this.cmbCatSelect1.FormattingEnabled = true;
- this.cmbCatSelect1.Location = new System.Drawing.Point(648, 12);
- this.cmbCatSelect1.Name = "cmbCatSelect1";
- this.cmbCatSelect1.Size = new System.Drawing.Size(97, 25);
- this.cmbCatSelect1.TabIndex = 896;
- //
- // cmbCatSelect4
- //
- this.cmbCatSelect4.DropDownWidth = 150;
- this.cmbCatSelect4.FormattingEnabled = true;
- this.cmbCatSelect4.Location = new System.Drawing.Point(939, 12);
- this.cmbCatSelect4.Name = "cmbCatSelect4";
- this.cmbCatSelect4.Size = new System.Drawing.Size(97, 25);
- this.cmbCatSelect4.TabIndex = 899;
- //
- // cmbCatSelect3
- //
- this.cmbCatSelect3.DropDownWidth = 150;
- this.cmbCatSelect3.FormattingEnabled = true;
- this.cmbCatSelect3.Location = new System.Drawing.Point(842, 12);
- this.cmbCatSelect3.Name = "cmbCatSelect3";
- this.cmbCatSelect3.Size = new System.Drawing.Size(97, 25);
- this.cmbCatSelect3.TabIndex = 898;
- //
- // label4
- //
- this.label4.AutoSize = true;
- this.label4.ForeColor = System.Drawing.Color.Gray;
- this.label4.Location = new System.Drawing.Point(518, 17);
- this.label4.Margin = new System.Windows.Forms.Padding(0);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(13, 17);
- this.label4.TabIndex = 488;
- this.label4.Text = "-";
- //
- // num_maxprice
- //
- this.num_maxprice.Location = new System.Drawing.Point(534, 14);
- this.num_maxprice.Maximum = new decimal(new int[] {
+ this.cb_Platform.Location = new System.Drawing.Point(1098, 13);
+ this.cb_Platform.Name = "cb_Platform";
+ this.cb_Platform.Size = new System.Drawing.Size(97, 25);
+ this.cb_Platform.TabIndex = 906;
+ //
+ // cmbCatSelect2
+ //
+ this.cmbCatSelect2.DropDownWidth = 150;
+ this.cmbCatSelect2.FormattingEnabled = true;
+ this.cmbCatSelect2.Location = new System.Drawing.Point(745, 12);
+ this.cmbCatSelect2.Name = "cmbCatSelect2";
+ this.cmbCatSelect2.Size = new System.Drawing.Size(97, 25);
+ this.cmbCatSelect2.TabIndex = 897;
+ //
+ // cmbCatSelect1
+ //
+ this.cmbCatSelect1.DropDownWidth = 150;
+ this.cmbCatSelect1.FormattingEnabled = true;
+ this.cmbCatSelect1.Location = new System.Drawing.Point(648, 12);
+ this.cmbCatSelect1.Name = "cmbCatSelect1";
+ this.cmbCatSelect1.Size = new System.Drawing.Size(97, 25);
+ this.cmbCatSelect1.TabIndex = 896;
+ //
+ // cmbCatSelect4
+ //
+ this.cmbCatSelect4.DropDownWidth = 150;
+ this.cmbCatSelect4.FormattingEnabled = true;
+ this.cmbCatSelect4.Location = new System.Drawing.Point(939, 12);
+ this.cmbCatSelect4.Name = "cmbCatSelect4";
+ this.cmbCatSelect4.Size = new System.Drawing.Size(97, 25);
+ this.cmbCatSelect4.TabIndex = 899;
+ //
+ // cmbCatSelect3
+ //
+ this.cmbCatSelect3.DropDownWidth = 150;
+ this.cmbCatSelect3.FormattingEnabled = true;
+ this.cmbCatSelect3.Location = new System.Drawing.Point(842, 12);
+ this.cmbCatSelect3.Name = "cmbCatSelect3";
+ this.cmbCatSelect3.Size = new System.Drawing.Size(97, 25);
+ this.cmbCatSelect3.TabIndex = 898;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.ForeColor = System.Drawing.Color.Gray;
+ this.label4.Location = new System.Drawing.Point(518, 17);
+ this.label4.Margin = new System.Windows.Forms.Padding(0);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(13, 17);
+ this.label4.TabIndex = 488;
+ this.label4.Text = "-";
+ //
+ // num_maxprice
+ //
+ this.num_maxprice.Location = new System.Drawing.Point(534, 14);
+ this.num_maxprice.Maximum = new decimal(new int[] {
99999,
0,
0,
0});
- this.num_maxprice.Name = "num_maxprice";
- this.num_maxprice.Size = new System.Drawing.Size(70, 23);
- this.num_maxprice.TabIndex = 487;
- //
- // num_minprice
- //
- this.num_minprice.Location = new System.Drawing.Point(447, 14);
- this.num_minprice.Maximum = new decimal(new int[] {
+ this.num_maxprice.Name = "num_maxprice";
+ this.num_maxprice.Size = new System.Drawing.Size(70, 23);
+ this.num_maxprice.TabIndex = 487;
+ //
+ // num_minprice
+ //
+ this.num_minprice.Location = new System.Drawing.Point(447, 14);
+ this.num_minprice.Maximum = new decimal(new int[] {
99999,
0,
0,
0});
- this.num_minprice.Name = "num_minprice";
- this.num_minprice.Size = new System.Drawing.Size(70, 23);
- this.num_minprice.TabIndex = 486;
- //
- // label7
- //
- this.label7.AutoSize = true;
- this.label7.Location = new System.Drawing.Point(388, 17);
- this.label7.Name = "label7";
- this.label7.Size = new System.Drawing.Size(64, 17);
- this.label7.TabIndex = 485;
- this.label7.Text = "价格(元):";
- //
- // label3
- //
- this.label3.AutoSize = true;
- this.label3.ForeColor = System.Drawing.Color.Gray;
- this.label3.Location = new System.Drawing.Point(294, 17);
- this.label3.Margin = new System.Windows.Forms.Padding(0);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(13, 17);
- this.label3.TabIndex = 484;
- this.label3.Text = "-";
- //
- // num_maxsold
- //
- this.num_maxsold.Location = new System.Drawing.Point(310, 14);
- this.num_maxsold.Maximum = new decimal(new int[] {
- 99999,
+ this.num_minprice.Name = "num_minprice";
+ this.num_minprice.Size = new System.Drawing.Size(70, 23);
+ this.num_minprice.TabIndex = 486;
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Location = new System.Drawing.Point(388, 17);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(64, 17);
+ this.label7.TabIndex = 485;
+ this.label7.Text = "价格(元):";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.ForeColor = System.Drawing.Color.Gray;
+ this.label3.Location = new System.Drawing.Point(294, 17);
+ this.label3.Margin = new System.Windows.Forms.Padding(0);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(13, 17);
+ this.label3.TabIndex = 484;
+ this.label3.Text = "-";
+ //
+ // num_maxsold
+ //
+ this.num_maxsold.Location = new System.Drawing.Point(310, 14);
+ this.num_maxsold.Maximum = new decimal(new int[] {
+ 9999999,
0,
0,
0});
- this.num_maxsold.Name = "num_maxsold";
- this.num_maxsold.Size = new System.Drawing.Size(70, 23);
- this.num_maxsold.TabIndex = 483;
- //
- // num_minsold
- //
- this.num_minsold.Location = new System.Drawing.Point(223, 14);
- this.num_minsold.Maximum = new decimal(new int[] {
- 99999,
+ this.num_maxsold.Name = "num_maxsold";
+ this.num_maxsold.Size = new System.Drawing.Size(70, 23);
+ this.num_maxsold.TabIndex = 483;
+ //
+ // num_minsold
+ //
+ this.num_minsold.Location = new System.Drawing.Point(223, 14);
+ this.num_minsold.Maximum = new decimal(new int[] {
+ 9999999,
0,
0,
0});
- this.num_minsold.Name = "num_minsold";
- this.num_minsold.Size = new System.Drawing.Size(70, 23);
- this.num_minsold.TabIndex = 482;
- //
- // txt_title
- //
- this.txt_title.Location = new System.Drawing.Point(60, 14);
- this.txt_title.Name = "txt_title";
- this.txt_title.Size = new System.Drawing.Size(118, 23);
- this.txt_title.TabIndex = 468;
- //
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(8, 17);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(56, 17);
- this.label1.TabIndex = 469;
- this.label1.Text = "关键词:";
- //
- // label6
- //
- this.label6.AutoSize = true;
- this.label6.Location = new System.Drawing.Point(610, 17);
- this.label6.Name = "label6";
- this.label6.Size = new System.Drawing.Size(44, 17);
- this.label6.TabIndex = 440;
- this.label6.Text = "类目:";
- //
- // btnSearch
- //
- this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand;
- this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty;
- this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.btnSearch.Location = new System.Drawing.Point(1208, 14);
- this.btnSearch.Name = "btnSearch";
- this.btnSearch.Size = new System.Drawing.Size(58, 23);
- this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center;
- this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
- this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
- this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
- this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White;
- this.btnSearch.Style.GradientAngle = 90;
- this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
- this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
- this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
- this.btnSearch.TabIndex = 435;
- this.btnSearch.Text = "查询";
- this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
- //
- // pnlEmpty
- //
- this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control;
- this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty;
- this.pnlEmpty.Location = new System.Drawing.Point(1272, 14);
- this.pnlEmpty.Name = "pnlEmpty";
- this.pnlEmpty.Size = new System.Drawing.Size(58, 23);
- this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
- this.pnlEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
- this.pnlEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
- this.pnlEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
- this.pnlEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.pnlEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
- this.pnlEmpty.Style.GradientAngle = 90;
- this.pnlEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
- this.pnlEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
- this.pnlEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.pnlEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.pnlEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
- this.pnlEmpty.TabIndex = 413;
- this.pnlEmpty.Text = "清空条件";
- this.pnlEmpty.Click += new System.EventHandler(this.pnlEmpty_Click);
- //
- // label2
- //
- this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(184, 17);
- this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(44, 17);
- this.label2.TabIndex = 373;
- this.label2.Text = "销量:";
- //
- // splitContainer2
- //
- this.splitContainer2.BackColor = System.Drawing.Color.White;
- this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
- this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
- this.splitContainer2.Location = new System.Drawing.Point(0, 0);
- this.splitContainer2.Name = "splitContainer2";
- this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
- //
- // splitContainer2.Panel1
- //
- this.splitContainer2.Panel1.BackColor = System.Drawing.Color.White;
- this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
- this.splitContainer2.Panel1.Controls.Add(this.dgvData);
- this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
- //
- // splitContainer2.Panel2
- //
- this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
- this.splitContainer2.Panel2.Controls.Add(this.statusBar);
- this.splitContainer2.Size = new System.Drawing.Size(1477, 476);
- this.splitContainer2.SplitterDistance = 447;
- this.splitContainer2.TabIndex = 0;
- //
- // pbLoading
- //
- this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
- this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
- this.pbLoading.Location = new System.Drawing.Point(713, 198);
- this.pbLoading.Name = "pbLoading";
- this.pbLoading.Size = new System.Drawing.Size(50, 50);
- this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
- this.pbLoading.TabIndex = 6;
- this.pbLoading.TabStop = false;
- //
- // dgvData
- //
- this.dgvData.AllowUserToAddRows = false;
- this.dgvData.AllowUserToDeleteRows = false;
- dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
- this.dgvData.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
- this.dgvData.AutoRowNumber = true;
- this.dgvData.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
- this.dgvData.BackgroundColor = System.Drawing.Color.White;
- this.dgvData.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.dgvData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
- this.dgvData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- this.dgvData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.num_minsold.Name = "num_minsold";
+ this.num_minsold.Size = new System.Drawing.Size(70, 23);
+ this.num_minsold.TabIndex = 482;
+ //
+ // txt_title
+ //
+ this.txt_title.Location = new System.Drawing.Point(60, 14);
+ this.txt_title.Name = "txt_title";
+ this.txt_title.Size = new System.Drawing.Size(118, 23);
+ this.txt_title.TabIndex = 468;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(8, 17);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(56, 17);
+ this.label1.TabIndex = 469;
+ this.label1.Text = "关键词:";
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Location = new System.Drawing.Point(610, 17);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(44, 17);
+ this.label6.TabIndex = 440;
+ this.label6.Text = "类目:";
+ //
+ // btnSearch
+ //
+ this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnSearch.Location = new System.Drawing.Point(1208, 14);
+ this.btnSearch.Name = "btnSearch";
+ this.btnSearch.Size = new System.Drawing.Size(58, 23);
+ this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnSearch.Style.GradientAngle = 90;
+ this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnSearch.TabIndex = 435;
+ this.btnSearch.Text = "查询";
+ this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
+ //
+ // pnlEmpty
+ //
+ this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control;
+ this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty;
+ this.pnlEmpty.Location = new System.Drawing.Point(1272, 14);
+ this.pnlEmpty.Name = "pnlEmpty";
+ this.pnlEmpty.Size = new System.Drawing.Size(58, 23);
+ this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.pnlEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.pnlEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.pnlEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.pnlEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.pnlEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
+ this.pnlEmpty.Style.GradientAngle = 90;
+ this.pnlEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.pnlEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.pnlEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.pnlEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.pnlEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.pnlEmpty.TabIndex = 413;
+ this.pnlEmpty.Text = "清空条件";
+ this.pnlEmpty.Click += new System.EventHandler(this.pnlEmpty_Click);
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(184, 17);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(44, 17);
+ this.label2.TabIndex = 373;
+ this.label2.Text = "销量:";
+ //
+ // splitContainer2
+ //
+ this.splitContainer2.BackColor = System.Drawing.Color.White;
+ this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
+ this.splitContainer2.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer2.Name = "splitContainer2";
+ this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainer2.Panel1
+ //
+ this.splitContainer2.Panel1.BackColor = System.Drawing.Color.White;
+ this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
+ this.splitContainer2.Panel1.Controls.Add(this.dgvData);
+ this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
+ //
+ // splitContainer2.Panel2
+ //
+ this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
+ this.splitContainer2.Panel2.Controls.Add(this.statusBar);
+ this.splitContainer2.Size = new System.Drawing.Size(1643, 476);
+ this.splitContainer2.SplitterDistance = 447;
+ this.splitContainer2.TabIndex = 0;
+ //
+ // pbLoading
+ //
+ this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
+ this.pbLoading.Location = new System.Drawing.Point(796, 198);
+ this.pbLoading.Name = "pbLoading";
+ this.pbLoading.Size = new System.Drawing.Size(50, 50);
+ this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pbLoading.TabIndex = 6;
+ this.pbLoading.TabStop = false;
+ //
+ // dgvData
+ //
+ this.dgvData.AllowUserToAddRows = false;
+ this.dgvData.AllowUserToDeleteRows = false;
+ dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvData.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
+ this.dgvData.AutoRowNumber = true;
+ this.dgvData.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
+ this.dgvData.BackgroundColor = System.Drawing.Color.White;
+ this.dgvData.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.dgvData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
+ this.dgvData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dgvData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colSelect,
this.c_Platform,
this.Column1,
@@ -425,135 +462,136 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.Column2,
this.Column3,
this.Column4});
- this.dgvData.Dock = System.Windows.Forms.DockStyle.Fill;
- this.dgvData.Location = new System.Drawing.Point(4, 0);
- this.dgvData.MultiSelectCheckBox = true;
- this.dgvData.Name = "dgvData";
- this.dgvData.ReadOnly = true;
- this.dgvData.RowTemplate.Height = 60;
- this.dgvData.ShowCellErrors = false;
- this.dgvData.Size = new System.Drawing.Size(1469, 447);
- this.dgvData.TabIndex = 5;
- //
- // colSelect
- //
- this.colSelect.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
- this.colSelect.FillWeight = 26F;
- this.colSelect.HeaderText = "选";
- this.colSelect.Name = "colSelect";
- this.colSelect.ReadOnly = true;
- this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
- this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
- this.colSelect.Width = 30;
- //
- // c_Platform
- //
- this.c_Platform.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
- this.c_Platform.HeaderText = "来源";
- this.c_Platform.Name = "c_Platform";
- this.c_Platform.ReadOnly = true;
- this.c_Platform.Width = 80;
- //
- // Column1
- //
- this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
- this.Column1.FillWeight = 44.62474F;
- this.Column1.HeaderText = "主图";
- this.Column1.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
- this.Column1.MinimumWidth = 60;
- this.Column1.Name = "Column1";
- this.Column1.ReadOnly = true;
- this.Column1.Resizable = System.Windows.Forms.DataGridViewTriState.True;
- this.Column1.Width = 200;
- //
- // c_goodsid
- //
- this.c_goodsid.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
- this.c_goodsid.FillWeight = 60.68966F;
- this.c_goodsid.HeaderText = "商品ID";
- this.c_goodsid.Name = "c_goodsid";
- this.c_goodsid.ReadOnly = true;
- this.c_goodsid.Width = 180;
- //
- // Column2
- //
- this.Column2.FillWeight = 111.5619F;
- this.Column2.HeaderText = "标题";
- this.Column2.Name = "Column2";
- this.Column2.ReadOnly = true;
- //
- // Column3
- //
- this.Column3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
- this.Column3.FillWeight = 111.5619F;
- this.Column3.HeaderText = "价格";
- this.Column3.Name = "Column3";
- this.Column3.ReadOnly = true;
- this.Column3.Width = 120;
- //
- // Column4
- //
- this.Column4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
- this.Column4.FillWeight = 111.5619F;
- this.Column4.HeaderText = "销量";
- this.Column4.Name = "Column4";
- this.Column4.ReadOnly = true;
- this.Column4.Width = 120;
- //
- // ucSplitPage1
- //
- this.ucSplitPage1.CurrentPage = 1;
- this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
- this.ucSplitPage1.IsShowPageSize = true;
- this.ucSplitPage1.IsShowTotalCount = true;
- this.ucSplitPage1.Location = new System.Drawing.Point(1015, 0);
- this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
- this.ucSplitPage1.MaxPageSizeValue = 2000;
- this.ucSplitPage1.Name = "ucSplitPage1";
- this.ucSplitPage1.PageSize = 50;
- this.ucSplitPage1.Size = new System.Drawing.Size(462, 25);
- this.ucSplitPage1.TabIndex = 4;
- this.ucSplitPage1.TotalCount = ((long)(0));
- this.ucSplitPage1.TotalPage = 1;
- //
- // statusBar
- //
- this.statusBar.BackColor = System.Drawing.Color.White;
- this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
- this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.statusBar.Location = new System.Drawing.Point(0, 0);
- this.statusBar.Margin = new System.Windows.Forms.Padding(0);
- this.statusBar.Name = "statusBar";
- this.statusBar.Size = new System.Drawing.Size(1477, 25);
- this.statusBar.TabIndex = 1;
- this.statusBar.Visible = false;
- //
- // CloudGoodsForm
- //
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
- this.ClientSize = new System.Drawing.Size(1477, 530);
- 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 = "CloudGoodsForm";
- this.Text = "AdminCardCodeForm";
- this.Load += new System.EventHandler(this.AdminCardCodeForm_Load);
- this.splitContainer1.Panel1.ResumeLayout(false);
- this.splitContainer1.Panel1.PerformLayout();
- this.splitContainer1.Panel2.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
- this.splitContainer1.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.num_maxprice)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.num_minprice)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.num_maxsold)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.num_minsold)).EndInit();
- this.splitContainer2.Panel1.ResumeLayout(false);
- this.splitContainer2.Panel2.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
- this.splitContainer2.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.dgvData)).EndInit();
- this.ResumeLayout(false);
+ this.dgvData.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dgvData.Location = new System.Drawing.Point(4, 0);
+ this.dgvData.MultiSelectCheckBox = true;
+ this.dgvData.Name = "dgvData";
+ this.dgvData.ReadOnly = true;
+ this.dgvData.RowTemplate.Height = 60;
+ this.dgvData.ShowCellErrors = false;
+ this.dgvData.Size = new System.Drawing.Size(1635, 447);
+ this.dgvData.TabIndex = 5;
+ //
+ // colSelect
+ //
+ this.colSelect.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+ this.colSelect.FillWeight = 26F;
+ this.colSelect.HeaderText = "选";
+ this.colSelect.Name = "colSelect";
+ this.colSelect.ReadOnly = true;
+ this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colSelect.Width = 30;
+ //
+ // c_Platform
+ //
+ this.c_Platform.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+ this.c_Platform.HeaderText = "来源";
+ this.c_Platform.Name = "c_Platform";
+ this.c_Platform.ReadOnly = true;
+ this.c_Platform.Width = 80;
+ //
+ // Column1
+ //
+ this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+ this.Column1.FillWeight = 44.62474F;
+ this.Column1.HeaderText = "主图";
+ this.Column1.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
+ this.Column1.MinimumWidth = 60;
+ this.Column1.Name = "Column1";
+ this.Column1.ReadOnly = true;
+ this.Column1.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.Column1.Width = 200;
+ //
+ // c_goodsid
+ //
+ this.c_goodsid.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+ this.c_goodsid.FillWeight = 60.68966F;
+ this.c_goodsid.HeaderText = "商品ID";
+ this.c_goodsid.Name = "c_goodsid";
+ this.c_goodsid.ReadOnly = true;
+ this.c_goodsid.Width = 180;
+ //
+ // Column2
+ //
+ this.Column2.FillWeight = 111.5619F;
+ this.Column2.HeaderText = "标题";
+ this.Column2.Name = "Column2";
+ this.Column2.ReadOnly = true;
+ //
+ // Column3
+ //
+ this.Column3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+ this.Column3.FillWeight = 111.5619F;
+ this.Column3.HeaderText = "价格";
+ this.Column3.Name = "Column3";
+ this.Column3.ReadOnly = true;
+ this.Column3.Width = 120;
+ //
+ // Column4
+ //
+ this.Column4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+ this.Column4.FillWeight = 111.5619F;
+ this.Column4.HeaderText = "销量";
+ this.Column4.Name = "Column4";
+ this.Column4.ReadOnly = true;
+ this.Column4.Width = 120;
+ //
+ // ucSplitPage1
+ //
+ this.ucSplitPage1.CurrentPage = 1;
+ this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
+ this.ucSplitPage1.IsShowPageSize = true;
+ this.ucSplitPage1.IsShowTotalCount = true;
+ this.ucSplitPage1.Location = new System.Drawing.Point(1181, 0);
+ this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
+ this.ucSplitPage1.MaxPageSizeValue = 2000;
+ this.ucSplitPage1.Name = "ucSplitPage1";
+ this.ucSplitPage1.PageSize = 50;
+ this.ucSplitPage1.Size = new System.Drawing.Size(462, 25);
+ this.ucSplitPage1.TabIndex = 4;
+ this.ucSplitPage1.TotalCount = ((long)(0));
+ this.ucSplitPage1.TotalPage = 1;
+ //
+ // statusBar
+ //
+ this.statusBar.BackColor = System.Drawing.Color.White;
+ this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.statusBar.Location = new System.Drawing.Point(0, 0);
+ this.statusBar.Margin = new System.Windows.Forms.Padding(0);
+ this.statusBar.Name = "statusBar";
+ this.statusBar.Size = new System.Drawing.Size(1643, 25);
+ this.statusBar.TabIndex = 1;
+ this.statusBar.Visible = false;
+ //
+ // CloudGoodsForm
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.ClientSize = new System.Drawing.Size(1643, 530);
+ 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 = "CloudGoodsForm";
+ this.Text = "AdminCardCodeForm";
+ this.Load += new System.EventHandler(this.AdminCardCodeForm_Load);
+ this.splitContainer1.Panel1.ResumeLayout(false);
+ this.splitContainer1.Panel1.PerformLayout();
+ this.splitContainer1.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
+ this.splitContainer1.ResumeLayout(false);
+ this.panel1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.num_maxprice)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.num_minprice)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.num_maxsold)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.num_minsold)).EndInit();
+ this.splitContainer2.Panel1.ResumeLayout(false);
+ this.splitContainer2.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
+ this.splitContainer2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvData)).EndInit();
+ this.ResumeLayout(false);
}
@@ -591,6 +629,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
private System.Windows.Forms.DataGridViewTextBoxColumn Column4;
+ private System.Windows.Forms.Panel panel1;
+ private DevComponents.DotNetBar.PanelEx btn_favorite;
private DevComponents.DotNetBar.PanelEx bt_importUploadList;
}
}
\ No newline at end of file
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsForm.cs
index 8697921..b47d007 100644
--- a/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsForm.cs
+++ b/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsForm.cs
@@ -50,9 +50,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
InitCategory();
InitBindingDataGridView();
-
+
num_minsold.Value = 0;
- num_maxsold.Value = 999;
+ num_maxsold.Value = 9999999;
num_minprice.Value = 0;
num_maxprice.Value = 999;
@@ -424,7 +424,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
product_name = item.Title,
cat_name = catName,
product_get_type_text = item.Platform == 1 ? ("多多") : item.Platform == 2 ? ("微信") : ("未知"),
- db_type = "云端数据",
+ db_type = "云端数据",
});
succ++;
}
@@ -436,6 +436,45 @@ namespace TemuKJD.PDDForms.ProductSelectForms
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_db_prod_upload_list", WXDBProdUploadForm.lstTemuDBProductSelect);
BaseMsgForm.ShowInfo($"导入完成!{succ} 成功 {err} 失败");
}
+
+ ///
+ /// 选中收藏
+ ///
+ ///
+ ///
+ private async void btn_favorite_Click(object sender, EventArgs e)
+ {
+ int succ = 0;
+ int err = 0;
+ try
+ {
+ this.pbLoading.Visible = true;
+ btn_favorite.Enabled = false;
+
+ var goodsIds = dataList.Where(a => a.IsSelected).Select(a => a.GoodsId).ToList();
+ if (goodsIds.Count == 0)
+ {
+ BaseMsgForm.ShowInfo($"请勾选商品");
+ return;
+ }
+ var ret = await CloudGoodsService.Favorite(goodsIds);
+ succ = ret;
+ if (ret != goodsIds.Count)
+ {
+ err = goodsIds.Count - ret;
+ }
+ BaseMsgForm.ShowInfo($"收藏完成!{succ} 成功 {err} 失败");
+ }
+ catch (Exception ex)
+ {
+ BaseMsgForm.ShowError($"收藏失败:{ex.Message}");
+ }
+ finally
+ {
+ this.pbLoading.Visible = false;
+ btn_favorite.Enabled = true;
+ }
+ }
}
diff --git a/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs
index ab71ece..d63cb59 100644
--- a/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs
@@ -31,18 +31,19 @@
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("选品上传");
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("云端数据");
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("我的商品库");
- System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("商品预售/下架");
- System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("云仓退货地址");
- System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("清理无流量");
- System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("爆单神器");
- System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("活动报名");
- System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("达人广场");
- System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("商品同步");
- System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("订单管理");
- System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("订单代发管理");
- System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("多多商品采集");
- System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("1688商品采集");
- System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("商品管理", new System.Windows.Forms.TreeNode[] {
+ System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("云端收藏");
+ System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("商品预售/下架");
+ System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("云仓退货地址");
+ System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("清理无流量");
+ System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("爆单神器");
+ System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("活动报名");
+ System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("达人广场");
+ System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("商品同步");
+ System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("订单管理");
+ System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("订单代发管理");
+ System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("多多商品采集");
+ System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("1688商品采集");
+ System.Windows.Forms.TreeNode treeNode16 = new System.Windows.Forms.TreeNode("商品管理", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
treeNode3,
@@ -56,7 +57,8 @@
treeNode11,
treeNode12,
treeNode13,
- treeNode14});
+ treeNode14,
+ treeNode15});
this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
@@ -153,32 +155,34 @@
treeNode2.Text = "云端数据";
treeNode3.Name = "我的商品库";
treeNode3.Text = "我的商品库";
- treeNode4.Name = "商品预售/下架";
- treeNode4.Text = "商品预售/下架";
- treeNode5.Name = "云仓退货地址";
- treeNode5.Text = "云仓退货地址";
- treeNode6.Name = "清理无流量";
- treeNode6.Text = "清理无流量";
- treeNode7.Name = "爆单神器";
- treeNode7.Text = "爆单神器";
- treeNode8.Name = "活动报名";
- treeNode8.Text = "活动报名";
- treeNode9.Name = "达人广场";
- treeNode9.Text = "达人广场";
- treeNode10.Name = "商品同步";
- treeNode10.Text = "商品同步";
- treeNode11.Name = "订单管理";
- treeNode11.Text = "订单管理";
- treeNode12.Name = "订单代发管理";
- treeNode12.Text = "订单代发管理";
- treeNode13.Name = "多多商品采集";
- treeNode13.Text = "多多商品采集";
- treeNode14.Name = "1688商品采集";
- treeNode14.Text = "1688商品采集";
- treeNode15.Name = "商品管理";
- treeNode15.Text = "商品管理";
+ treeNode4.Name = "云端收藏";
+ treeNode4.Text = "云端收藏";
+ treeNode5.Name = "商品预售/下架";
+ treeNode5.Text = "商品预售/下架";
+ treeNode6.Name = "云仓退货地址";
+ treeNode6.Text = "云仓退货地址";
+ treeNode7.Name = "清理无流量";
+ treeNode7.Text = "清理无流量";
+ treeNode8.Name = "爆单神器";
+ treeNode8.Text = "爆单神器";
+ treeNode9.Name = "活动报名";
+ treeNode9.Text = "活动报名";
+ treeNode10.Name = "达人广场";
+ treeNode10.Text = "达人广场";
+ treeNode11.Name = "商品同步";
+ treeNode11.Text = "商品同步";
+ treeNode12.Name = "订单管理";
+ treeNode12.Text = "订单管理";
+ treeNode13.Name = "订单代发管理";
+ treeNode13.Text = "订单代发管理";
+ treeNode14.Name = "多多商品采集";
+ treeNode14.Text = "多多商品采集";
+ treeNode15.Name = "1688商品采集";
+ treeNode15.Text = "1688商品采集";
+ treeNode16.Name = "商品管理";
+ treeNode16.Text = "商品管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
- treeNode15});
+ treeNode16});
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.tv.Size = new System.Drawing.Size(140, 521);
this.tv.TabIndex = 1;
diff --git a/TEMUKJD/WXForms/ProductForms/WXProductForm.cs b/TEMUKJD/WXForms/ProductForms/WXProductForm.cs
index 76b93ea..50899df 100644
--- a/TEMUKJD/WXForms/ProductForms/WXProductForm.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXProductForm.cs
@@ -34,6 +34,7 @@ namespace TemuKJD.WXForms.ProductForms
public Lazy get1688ProdForm = new Lazy();
public Lazy prodNoCheckEditForm = new Lazy();
public Lazy cloudgoodsForm = new Lazy();
+ public Lazy cloudgoodsFavoriteForm = new Lazy();
public WXProductForm()
{
InitializeComponent();
@@ -104,6 +105,9 @@ namespace TemuKJD.WXForms.ProductForms
case "我的商品库":
SetForm(userCollectAuthProdListForm.Value);
break;
+ case "云端收藏":
+ SetForm(cloudgoodsFavoriteForm.Value);
+ break;
case "商品预售/下架":
SetForm(wxProdPreSaleForm.Value);
break;
diff --git a/Update/Update/MainForm.cs b/Update/Update/MainForm.cs
index d13581f..8cff662 100644
--- a/Update/Update/MainForm.cs
+++ b/Update/Update/MainForm.cs
@@ -1,8 +1,10 @@
-using System;
+using COSXML.Network;
+using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
+using System.Drawing.Drawing2D;
using System.IO;
using System.IO.Compression;
using System.Linq;
@@ -12,307 +14,612 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
+using static Update.ChangelogTheme;
namespace Update
{
- public partial class MainForm : Form
- {
- public string Title { get { return Text; } set { Text = value; } }
- private Point mouseOffset; // 记录鼠标指针的坐标
- private bool isMouseDown; // 记录鼠标左键是否按下
+ public partial class MainForm : Form
+ {
+ public string Title { get { return Text; } set { Text = value; } }
+ private Point mouseOffset; // 记录鼠标指针的坐标
+ private bool isMouseDown; // 记录鼠标左键是否按下
- public MainForm()
- {
- InitializeComponent();
+ public MainForm()
+ {
+ InitializeComponent();
- this.TopMost = true;
- }
+ this.TopMost = true;
+ lb_title.Text = "更新日志";
- private void MessageForm_Paint(object sender, PaintEventArgs e)
- {
- SetFormRoundRectRgn(this, 7);
- SetFormRoundRectRgn(panel2, 7);
- SetFormRoundRectRgn(this.btnOk, 7);
- SetFormRoundRectRgn(this.btnCancel, 7);
- }
+ var changelogItems = GetChangeInfos();
+ if (changelogItems != null)
+ {
- private void btnOk_Click(object sender, EventArgs e)
- {
- if (lblMessage.Text == "升级完成,点击确定重启程序")
- {
- string extPath = System.Environment.CurrentDirectory + "\\" + Program.softName.Replace(".exe", "") + ".exe";
- System.Diagnostics.Process.Start(extPath);
- Application.Exit();
- return;
- }
+ string fromVersion = (Program.oldVersion / 100m).ToString();
+ string toVersion = (Program.newVersion / 100m).ToString();
+ ShowChangelog(fromVersion, toVersion, changelogItems);
+ }
- btnOk.Enabled = false;
+ //// 演示数据:v1.0.0 升级到 v1.3.0,展示 1.1.0 ~ 1.3.0(新的在上)
+ //ShowChangelog("1.0.0", "1.3.0", new[]
+ //{
+ // new ChangelogItem { Version = "1.3.0", PublishedAt = "2026-10-10", Notes = "新增深色模式,支持跟随系统\n新增快捷键面板(Ctrl + /)\n启动速度提升 40%" },
+ // new ChangelogItem { Version = "1.2.0", PublishedAt = "2026-09-05", Notes = "支持导出数据为 Excel 格式\n优化列表滚动性能\n修复偶发的保存失败问题" },
+ // new ChangelogItem { Version = "1.1.0", PublishedAt = "2026-08-01", Notes = "新增自动更新功能\n修复高分屏下界面模糊的问题" },
+ //});
+ }
+ private List GetChangeInfos()
+ {
+ try
+ {
+ string paidanUrl = $"https://update-wx-order.e57.cn";
+ string shanghuoUrl = $"https://update.e57.cn";
+ using (WebClient c = new WebClient())
+ {
+ c.Encoding = Encoding.UTF8;
+ string url = $"/api/releases/since?version={(Program.oldVersion / 100m)}&channel=stable";
+ if (Program.softName == "29WxFindOrder")
+ {
+ url = paidanUrl + url;
+ }
+ else if (Program.softName == "29供应链.exe")
+ url = shanghuoUrl + url;
+ string json = c.DownloadString(url);
+ var root = MiniJson.Json.Deserialize(json) as Dictionary;
+ if (root["ok"].ToString() == "True")
+ {
+ var data = (Dictionary)root["data"];
+ var versionsRaw = (List