云端数据 增加收藏
增加云端收藏列表
This commit is contained in:
1 parent
00f4aa2f64
commit
6e6ba151da
10 files changed
+1974
-548
No files matched your search
@@ -68,6 +68,9 @@
|
||||
<ProjectReference Include="..\Work\Work.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Update="PDDForms\ProductSelectForms\CloudGoodsFavoriteForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Update="PDDForms\ProductSelectForms\CloudGoodsForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
||||
@@ -0,0 +1,636 @@
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
partial class CloudGoodsFavoriteForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -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<ComboBox> catBoxList = new List<ComboBox>();
|
||||
private BindingList<CloudGoods> dataList = new BindingList<CloudGoods>();
|
||||
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();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步下载 CloudGoods.ThumbUrl 图片并填充到 Column1 图片列(只加载可视区行,避免一次下载整页)
|
||||
/// </summary>
|
||||
private void ShowDgvImg()
|
||||
{
|
||||
// 先在 UI 线程上快照“行 + 图片地址”,避免在后台线程遍历绑定的 DataGridView
|
||||
List<KeyValuePair<DataGridViewRow, string>> waitList = new List<KeyValuePair<DataGridViewRow, string>>();
|
||||
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<DataGridViewRow, string>(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<CloudGoods> 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();
|
||||
}));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 导入数据到待上传
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
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} 失败");
|
||||
}
|
||||
/// <summary>
|
||||
/// 取消收藏
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="c_Platform.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="c_goodsid.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
||||
+541
-501
File diff suppressed because it is too large.
Load diff
@@ -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} 失败");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 选中收藏
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+42
-38
@@ -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;
|
||||
|
||||
@@ -34,6 +34,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
public Lazy<Get1688ProductForm> get1688ProdForm = new Lazy<Get1688ProductForm>();
|
||||
public Lazy<WXProdNoCheckEditAddressForm> prodNoCheckEditForm = new Lazy<WXProdNoCheckEditAddressForm>();
|
||||
public Lazy<CloudGoodsForm> cloudgoodsForm = new Lazy<CloudGoodsForm>();
|
||||
public Lazy<CloudGoodsFavoriteForm> cloudgoodsFavoriteForm = new Lazy<CloudGoodsFavoriteForm>();
|
||||
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;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using AllBase;
|
||||
using AllBase.Helper;
|
||||
using AllBase.Model.Result;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
@@ -14,11 +15,17 @@ namespace Work.Services
|
||||
/// </summary>
|
||||
public class CloudGoodsService
|
||||
{
|
||||
private const string ServerUrl = "http://103.90.155.78:14312";
|
||||
private static string ServerUrl = "http://103.90.155.78:9001";
|
||||
static CloudGoodsService()
|
||||
{
|
||||
if (EnvironmentHelper.IsDevelopment)
|
||||
{
|
||||
ServerUrl = "http://localhost:9001";
|
||||
}
|
||||
}
|
||||
public static async Task<PageData<CloudGoods>> GetGoods(GoodsSearchRequest request)
|
||||
{
|
||||
string data = JsonHelper.SerializeObject(request);
|
||||
var html = await GetHtml.PostUtf8Async(ServerUrl + "/Goods/SearchGoods", data, "application/json");
|
||||
var html = await GetHtml.PostJsonAsync(ServerUrl + "/api/CloudGoods/SearchGoods", request);
|
||||
|
||||
var ret = JsonConvert.DeserializeObject<Result<PageData<CloudGoods>>>(html);
|
||||
if (ret.Code != 200)
|
||||
@@ -29,7 +36,7 @@ namespace Work.Services
|
||||
}
|
||||
public static string GetGoodsDetail(long goodsId)
|
||||
{
|
||||
var html = GetHtml.GetUtf8(ServerUrl + $"/Goods/GetGoodsRawData?goodsId={goodsId}", "application/json");
|
||||
var html = GetHtml.PostJson(ServerUrl + $"/api/CloudGoods/GetGoodsRawData?goodsId={goodsId}", "");
|
||||
|
||||
var ret = JsonConvert.DeserializeObject<Result<string>>(html);
|
||||
if (ret.Code != 200)
|
||||
@@ -38,6 +45,72 @@ namespace Work.Services
|
||||
}
|
||||
return ret.Data;
|
||||
}
|
||||
|
||||
#region user
|
||||
/// <summary>
|
||||
/// 搜索收藏
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
public static async Task<PageData<CloudGoods>> SearchFavorites(UserFavoritesGoodsSearchRequest request)
|
||||
{
|
||||
request.UserName = BaseClass.UserName;
|
||||
var html = await GetHtml.PostJsonAsync(ServerUrl + "/api/CloudGoods/SearchFavorites", request);
|
||||
|
||||
var ret = JsonConvert.DeserializeObject<Result<PageData<CloudGoods>>>(html);
|
||||
if (ret.Code != 200)
|
||||
{
|
||||
throw new Exception(ret.Msg);
|
||||
}
|
||||
return ret.Data;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 收藏
|
||||
/// </summary>
|
||||
/// <param name="goodsIds"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
|
||||
public static async Task<int> Favorite(List<long> goodsIds)
|
||||
{
|
||||
var html = await GetHtml.PostJsonAsync(ServerUrl + $"/api/CloudGoods/AddFavorite", new
|
||||
{
|
||||
UserName = BaseClass.UserName,
|
||||
GoodsIds = goodsIds,
|
||||
});
|
||||
|
||||
var ret = JsonConvert.DeserializeObject<Result<int>>(html);
|
||||
if (ret.Code != 200)
|
||||
{
|
||||
throw new Exception(ret.Msg);
|
||||
}
|
||||
return ret.Data;
|
||||
}
|
||||
/// <summary>
|
||||
/// 取消收藏
|
||||
/// </summary>
|
||||
/// <param name="goodsIds"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
|
||||
public static async Task<int> RemoveFavorites(List<long> goodsIds)
|
||||
{
|
||||
var html = await GetHtml.PostJsonAsync(ServerUrl + $"/api/CloudGoods/RemoveFavorites", new
|
||||
{
|
||||
UserName = BaseClass.UserName,
|
||||
GoodsIds = goodsIds,
|
||||
});
|
||||
|
||||
var ret = JsonConvert.DeserializeObject<Result<int>>(html);
|
||||
if (ret.Code != 200)
|
||||
{
|
||||
throw new Exception(ret.Msg);
|
||||
}
|
||||
return ret.Data;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
/// <summary>
|
||||
/// 商品搜索请求
|
||||
@@ -105,7 +178,10 @@ namespace Work.Services
|
||||
public int PageSize { get; set; } = 20;
|
||||
|
||||
}
|
||||
|
||||
public class UserFavoritesGoodsSearchRequest : GoodsSearchRequest
|
||||
{
|
||||
public string UserName { get; set; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 商品搜索返回结果
|
||||
/// </summary>
|
||||
|
||||
@@ -143,7 +143,7 @@ namespace KJD.Test
|
||||
[Test]
|
||||
public void TestWXToPDDV4()
|
||||
{
|
||||
string filePath = @"C:\Users\chaih\Documents\xwechat_files\hongfei357_a567\msg\attach\cde4474908f6a5f2da5f7c82f4a8c5d0\2026-10\Rec\e65980801fd61508\F\0\10000182390569(1).txt";
|
||||
string filePath = @"C:\Users\chaih\Documents\xwechat_files\hongfei357_a567\msg\file\2026-10\导入失败数据包\10000023711970.txt";
|
||||
var frontProdInfo = ConverterToPddFactory.Convert(filePath);
|
||||
var isMatch = frontProdInfo != null;
|
||||
Console.WriteLine(frontProdInfo.Skus.Count);
|
||||
|
||||
Reference in new issue
Block a user