diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index ea1dd43..8eaf0e2 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,8 +27,8 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 558; - //public static int VersionCount = 558; + public static int VersionCount = 562; + //public static int VersionCount = 562; /// /// 版本号 diff --git a/AllBase/Model/Result/ShopLoginInfo.cs b/AllBase/Model/Result/ShopLoginInfo.cs index 19e16e7..9235bde 100644 --- a/AllBase/Model/Result/ShopLoginInfo.cs +++ b/AllBase/Model/Result/ShopLoginInfo.cs @@ -386,6 +386,38 @@ namespace AllBase.Model.Result public bool is_search_2 { get; set; } = false; public string err_msg { get; set; } #endregion + + public int? waitCreat { get; set; } + public int? waitSend { get; set; } + /// + /// 已缺货 + /// + public int? lackNum { get; set; } + /// + /// 已断货 + /// + public int? completelySoldOutSkcNum { get; set; } + /// + /// 已断码 + /// + public int? saleOutSkcNum { get; set; } + /// + /// 即将断码 + /// + public int? soonSaleOutSkcNum { get; set; } + /// + /// 建议备货 + /// + public int? adviceStockSkcNum { get; set; } + + /// + /// 热销款库存不足 + /// + public int? hotInventoryLackNum { get; set; } + /// + /// 站外广告曝光中 + /// + public int? adSkcNum { get; set; } } //public class ShopStatisticsPermissionsInfo diff --git a/TEMUKJD/Extension/DataGridViewExtension.cs b/TEMUKJD/Extension/DataGridViewExtension.cs index 9dd12ee..f4e5273 100644 --- a/TEMUKJD/Extension/DataGridViewExtension.cs +++ b/TEMUKJD/Extension/DataGridViewExtension.cs @@ -89,6 +89,7 @@ namespace TemuKJD.Extension dgv.EndEdit(); var dgvRows = new List((dgv.SelectedRows.Count < 2 ? (ICollection)dgv.Rows : dgv.SelectedRows).Cast()); + dgvRows = dgvRows.Where(r => r.Visible == true).ToList(); if (column.IsDataBound) { diff --git a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.Designer.cs b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.Designer.cs index 013df64..ec19e65 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.Designer.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.Designer.cs @@ -30,29 +30,22 @@ namespace TemuKJD.KJDForms.AdminForms private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.chkFilter = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkSearchTime = new TemuKJD.UserComponent.UcCheckBox(this.components); - this.pnlDetailOperate1 = new System.Windows.Forms.Panel(); - this.btnRePrice = new DevComponents.DotNetBar.PanelEx(); - this.label10 = new System.Windows.Forms.Label(); - this.txtPriceDown = new System.Windows.Forms.TextBox(); - this.label1 = new System.Windows.Forms.Label(); - this.label6 = new System.Windows.Forms.Label(); - this.btnMutliCancel = new DevComponents.DotNetBar.PanelEx(); - this.panelEx2 = new DevComponents.DotNetBar.PanelEx(); - this.btnMutliOk = new DevComponents.DotNetBar.PanelEx(); this.dtpEndTime = new System.Windows.Forms.DateTimePicker(); this.dtpStartTime = new System.Windows.Forms.DateTimePicker(); this.btnStop = new DevComponents.DotNetBar.PanelEx(); this.btnSearchPrice2 = new DevComponents.DotNetBar.PanelEx(); + this.panelEx2 = new DevComponents.DotNetBar.PanelEx(); this.txtSkcId = new System.Windows.Forms.TextBox(); this.chkSearchAllShop = new TemuKJD.UserComponent.UcCheckBox(this.components); this.btnEmpty = new DevComponents.DotNetBar.PanelEx(); @@ -66,6 +59,14 @@ namespace TemuKJD.KJDForms.AdminForms this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label(); + this.pnlDetailOperate1 = new System.Windows.Forms.Panel(); + this.btnRePrice = new DevComponents.DotNetBar.PanelEx(); + this.label10 = new System.Windows.Forms.Label(); + this.txtPriceDown = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.btnMutliCancel = new DevComponents.DotNetBar.PanelEx(); + this.btnMutliOk = new DevComponents.DotNetBar.PanelEx(); this.pnlDetailOperate2 = new System.Windows.Forms.Panel(); this.pnlMutliCancelWithTitleWrong = new DevComponents.DotNetBar.PanelEx(); this.splitContainer3 = new System.Windows.Forms.SplitContainer(); @@ -162,12 +163,13 @@ namespace TemuKJD.KJDForms.AdminForms | System.Windows.Forms.AnchorStyles.Right))); this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx1.Controls.Add(this.chkFilter); this.ucGroupBoxEx1.Controls.Add(this.chkSearchTime); - this.ucGroupBoxEx1.Controls.Add(this.pnlDetailOperate1); this.ucGroupBoxEx1.Controls.Add(this.dtpEndTime); this.ucGroupBoxEx1.Controls.Add(this.dtpStartTime); this.ucGroupBoxEx1.Controls.Add(this.btnStop); this.ucGroupBoxEx1.Controls.Add(this.btnSearchPrice2); + this.ucGroupBoxEx1.Controls.Add(this.panelEx2); this.ucGroupBoxEx1.Controls.Add(this.txtSkcId); this.ucGroupBoxEx1.Controls.Add(this.chkSearchAllShop); this.ucGroupBoxEx1.Controls.Add(this.btnEmpty); @@ -181,6 +183,7 @@ namespace TemuKJD.KJDForms.AdminForms this.ucGroupBoxEx1.Controls.Add(this.label2); this.ucGroupBoxEx1.Controls.Add(this.label3); this.ucGroupBoxEx1.Controls.Add(this.label7); + this.ucGroupBoxEx1.Controls.Add(this.pnlDetailOperate1); this.ucGroupBoxEx1.Controls.Add(this.pnlDetailOperate2); this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2); this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; @@ -189,6 +192,17 @@ namespace TemuKJD.KJDForms.AdminForms this.ucGroupBoxEx1.TabStop = false; this.ucGroupBoxEx1.Text = "参数设置"; // + // chkFilter + // + this.chkFilter.AutoSize = true; + this.chkFilter.Location = new System.Drawing.Point(776, 35); + this.chkFilter.Name = "chkFilter"; + this.chkFilter.Size = new System.Drawing.Size(135, 21); + this.chkFilter.TabIndex = 857; + this.chkFilter.Text = "仅显示含头尾词标题"; + this.chkFilter.UseVisualStyleBackColor = true; + this.chkFilter.CheckedChanged += new System.EventHandler(this.chkFilter_CheckedChanged); + // // chkSearchTime // this.chkSearchTime.AutoSize = true; @@ -200,164 +214,16 @@ namespace TemuKJD.KJDForms.AdminForms this.chkSearchTime.TabIndex = 827; this.chkSearchTime.UseVisualStyleBackColor = true; // - // pnlDetailOperate1 - // - this.pnlDetailOperate1.Controls.Add(this.btnRePrice); - this.pnlDetailOperate1.Controls.Add(this.label10); - this.pnlDetailOperate1.Controls.Add(this.txtPriceDown); - this.pnlDetailOperate1.Controls.Add(this.label1); - this.pnlDetailOperate1.Controls.Add(this.label6); - this.pnlDetailOperate1.Controls.Add(this.btnMutliCancel); - this.pnlDetailOperate1.Controls.Add(this.panelEx2); - this.pnlDetailOperate1.Controls.Add(this.btnMutliOk); - this.pnlDetailOperate1.Location = new System.Drawing.Point(761, 12); - this.pnlDetailOperate1.Name = "pnlDetailOperate1"; - this.pnlDetailOperate1.Size = new System.Drawing.Size(568, 76); - this.pnlDetailOperate1.TabIndex = 855; - // - // btnRePrice - // - this.btnRePrice.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnRePrice.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnRePrice.DisabledBackColor = System.Drawing.Color.Empty; - this.btnRePrice.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnRePrice.Location = new System.Drawing.Point(302, 20); - this.btnRePrice.Name = "btnRePrice"; - this.btnRePrice.Size = new System.Drawing.Size(98, 23); - this.btnRePrice.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnRePrice.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnRePrice.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnRePrice.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnRePrice.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnRePrice.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnRePrice.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnRePrice.Style.GradientAngle = 90; - this.btnRePrice.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnRePrice.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnRePrice.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnRePrice.TabIndex = 427; - this.btnRePrice.Text = "批量再次报价"; - this.btnRePrice.Click += new System.EventHandler(this.btnRePrice_Click); - // - // label10 - // - this.label10.AutoSize = true; - this.label10.Location = new System.Drawing.Point(142, 23); - this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(32, 17); - this.label10.TabIndex = 680; - this.label10.Text = "降价"; - // - // txtPriceDown - // - this.txtPriceDown.Location = new System.Drawing.Point(174, 20); - this.txtPriceDown.Margin = new System.Windows.Forms.Padding(0); - this.txtPriceDown.Name = "txtPriceDown"; - this.txtPriceDown.Size = new System.Drawing.Size(48, 23); - this.txtPriceDown.TabIndex = 679; - this.txtPriceDown.Text = "0.1"; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label1.Location = new System.Drawing.Point(142, 48); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(223, 17); - this.label1.TabIndex = 684; - this.label1.Text = "注:再次报价价格 = 原价 - 次数 × 降价"; - // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(225, 23); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(80, 17); - this.label6.TabIndex = 723; - this.label6.Text = "元(人民币)"; - // - // btnMutliCancel - // - this.btnMutliCancel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnMutliCancel.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnMutliCancel.DisabledBackColor = System.Drawing.Color.Empty; - this.btnMutliCancel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnMutliCancel.Location = new System.Drawing.Point(438, 49); - this.btnMutliCancel.Name = "btnMutliCancel"; - this.btnMutliCancel.Size = new System.Drawing.Size(98, 23); - this.btnMutliCancel.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnMutliCancel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnMutliCancel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnMutliCancel.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnMutliCancel.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnMutliCancel.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnMutliCancel.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnMutliCancel.Style.GradientAngle = 90; - this.btnMutliCancel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnMutliCancel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnMutliCancel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnMutliCancel.TabIndex = 772; - this.btnMutliCancel.Text = "批量拒绝报价"; - this.btnMutliCancel.Click += new System.EventHandler(this.btnMutliCancel_Click); - // - // panelEx2 - // - this.panelEx2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.panelEx2.Cursor = System.Windows.Forms.Cursors.Hand; - this.panelEx2.DisabledBackColor = System.Drawing.Color.Empty; - this.panelEx2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.panelEx2.Location = new System.Drawing.Point(21, 20); - this.panelEx2.Name = "panelEx2"; - this.panelEx2.Size = new System.Drawing.Size(99, 23); - this.panelEx2.Style.Alignment = System.Drawing.StringAlignment.Center; - this.panelEx2.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.panelEx2.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.panelEx2.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.panelEx2.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.panelEx2.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.panelEx2.Style.ForeColor.Color = System.Drawing.Color.White; - this.panelEx2.Style.GradientAngle = 90; - this.panelEx2.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.panelEx2.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.panelEx2.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.panelEx2.TabIndex = 749; - this.panelEx2.Text = "批量还原标题"; - this.panelEx2.Click += new System.EventHandler(this.btnReturnProdName_Click); - // - // btnMutliOk - // - this.btnMutliOk.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnMutliOk.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnMutliOk.DisabledBackColor = System.Drawing.Color.Empty; - this.btnMutliOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnMutliOk.Location = new System.Drawing.Point(438, 20); - this.btnMutliOk.Name = "btnMutliOk"; - this.btnMutliOk.Size = new System.Drawing.Size(98, 23); - this.btnMutliOk.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnMutliOk.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnMutliOk.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnMutliOk.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnMutliOk.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnMutliOk.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnMutliOk.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnMutliOk.Style.GradientAngle = 90; - this.btnMutliOk.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnMutliOk.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnMutliOk.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnMutliOk.TabIndex = 768; - this.btnMutliOk.Text = "批量同意报价"; - this.btnMutliOk.Click += new System.EventHandler(this.btnMutliOk_Click); - // // dtpEndTime // - this.dtpEndTime.Location = new System.Drawing.Point(619, 54); + this.dtpEndTime.Location = new System.Drawing.Point(610, 54); this.dtpEndTime.Name = "dtpEndTime"; this.dtpEndTime.Size = new System.Drawing.Size(136, 23); this.dtpEndTime.TabIndex = 826; // // dtpStartTime // - this.dtpStartTime.Location = new System.Drawing.Point(477, 54); + this.dtpStartTime.Location = new System.Drawing.Point(472, 54); this.dtpStartTime.Name = "dtpStartTime"; this.dtpStartTime.Size = new System.Drawing.Size(136, 23); this.dtpStartTime.TabIndex = 825; @@ -367,9 +233,9 @@ namespace TemuKJD.KJDForms.AdminForms this.btnStop.CanvasColor = System.Drawing.SystemColors.Control; this.btnStop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnStop.DisabledBackColor = System.Drawing.Color.Empty; - this.btnStop.Location = new System.Drawing.Point(690, 82); + this.btnStop.Location = new System.Drawing.Point(680, 82); this.btnStop.Name = "btnStop"; - this.btnStop.Size = new System.Drawing.Size(65, 24); + this.btnStop.Size = new System.Drawing.Size(66, 23); this.btnStop.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnStop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); this.btnStop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); @@ -392,9 +258,9 @@ namespace TemuKJD.KJDForms.AdminForms this.btnSearchPrice2.Cursor = System.Windows.Forms.Cursors.Hand; this.btnSearchPrice2.DisabledBackColor = System.Drawing.Color.Empty; this.btnSearchPrice2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSearchPrice2.Location = new System.Drawing.Point(571, 82); + this.btnSearchPrice2.Location = new System.Drawing.Point(565, 82); this.btnSearchPrice2.Name = "btnSearchPrice2"; - this.btnSearchPrice2.Size = new System.Drawing.Size(113, 23); + this.btnSearchPrice2.Size = new System.Drawing.Size(112, 23); this.btnSearchPrice2.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnSearchPrice2.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.btnSearchPrice2.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); @@ -410,11 +276,35 @@ namespace TemuKJD.KJDForms.AdminForms this.btnSearchPrice2.Text = "读取待创建首单"; this.btnSearchPrice2.Click += new System.EventHandler(this.btnSearchPrice2_Click); // + // panelEx2 + // + this.panelEx2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.panelEx2.Cursor = System.Windows.Forms.Cursors.Hand; + this.panelEx2.DisabledBackColor = System.Drawing.Color.Empty; + this.panelEx2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.panelEx2.Location = new System.Drawing.Point(791, 65); + this.panelEx2.Name = "panelEx2"; + this.panelEx2.Size = new System.Drawing.Size(99, 23); + this.panelEx2.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx2.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx2.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx2.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.panelEx2.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.panelEx2.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.panelEx2.Style.ForeColor.Color = System.Drawing.Color.White; + this.panelEx2.Style.GradientAngle = 90; + this.panelEx2.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx2.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.panelEx2.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.panelEx2.TabIndex = 749; + this.panelEx2.Text = "批量还原标题"; + this.panelEx2.Click += new System.EventHandler(this.btnReturnProdName_Click); + // // txtSkcId // this.txtSkcId.Location = new System.Drawing.Point(495, 25); this.txtSkcId.Name = "txtSkcId"; - this.txtSkcId.Size = new System.Drawing.Size(260, 23); + this.txtSkcId.Size = new System.Drawing.Size(251, 23); this.txtSkcId.TabIndex = 733; // // chkSearchAllShop @@ -434,7 +324,7 @@ namespace TemuKJD.KJDForms.AdminForms this.btnEmpty.DisabledBackColor = System.Drawing.Color.Empty; this.btnEmpty.Location = new System.Drawing.Point(376, 82); this.btnEmpty.Name = "btnEmpty"; - this.btnEmpty.Size = new System.Drawing.Size(40, 24); + this.btnEmpty.Size = new System.Drawing.Size(40, 23); this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); this.btnEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); @@ -459,7 +349,7 @@ namespace TemuKJD.KJDForms.AdminForms this.btnSearchPrice.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnSearchPrice.Location = new System.Drawing.Point(456, 82); this.btnSearchPrice.Name = "btnSearchPrice"; - this.btnSearchPrice.Size = new System.Drawing.Size(109, 23); + this.btnSearchPrice.Size = new System.Drawing.Size(106, 23); this.btnSearchPrice.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnSearchPrice.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.btnSearchPrice.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); @@ -508,7 +398,7 @@ namespace TemuKJD.KJDForms.AdminForms this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnRefreshShop.Location = new System.Drawing.Point(273, 82); this.btnRefreshShop.Name = "btnRefreshShop"; - this.btnRefreshShop.Size = new System.Drawing.Size(100, 24); + this.btnRefreshShop.Size = new System.Drawing.Size(100, 23); this.btnRefreshShop.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnRefreshShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.btnRefreshShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); @@ -565,12 +455,135 @@ namespace TemuKJD.KJDForms.AdminForms this.label7.TabIndex = 734; this.label7.Text = "SkcId:"; // + // pnlDetailOperate1 + // + this.pnlDetailOperate1.Controls.Add(this.btnRePrice); + this.pnlDetailOperate1.Controls.Add(this.label10); + this.pnlDetailOperate1.Controls.Add(this.txtPriceDown); + this.pnlDetailOperate1.Controls.Add(this.label1); + this.pnlDetailOperate1.Controls.Add(this.label6); + this.pnlDetailOperate1.Controls.Add(this.btnMutliCancel); + this.pnlDetailOperate1.Controls.Add(this.btnMutliOk); + this.pnlDetailOperate1.Location = new System.Drawing.Point(913, 16); + this.pnlDetailOperate1.Name = "pnlDetailOperate1"; + this.pnlDetailOperate1.Size = new System.Drawing.Size(420, 76); + this.pnlDetailOperate1.TabIndex = 855; + // + // btnRePrice + // + this.btnRePrice.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRePrice.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRePrice.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRePrice.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRePrice.Location = new System.Drawing.Point(170, 20); + this.btnRePrice.Name = "btnRePrice"; + this.btnRePrice.Size = new System.Drawing.Size(98, 23); + this.btnRePrice.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRePrice.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRePrice.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRePrice.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnRePrice.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnRePrice.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnRePrice.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnRePrice.Style.GradientAngle = 90; + this.btnRePrice.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRePrice.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRePrice.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRePrice.TabIndex = 427; + this.btnRePrice.Text = "批量再次报价"; + this.btnRePrice.Click += new System.EventHandler(this.btnRePrice_Click); + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(10, 23); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(32, 17); + this.label10.TabIndex = 680; + this.label10.Text = "降价"; + // + // txtPriceDown + // + this.txtPriceDown.Location = new System.Drawing.Point(42, 20); + this.txtPriceDown.Margin = new System.Windows.Forms.Padding(0); + this.txtPriceDown.Name = "txtPriceDown"; + this.txtPriceDown.Size = new System.Drawing.Size(48, 23); + this.txtPriceDown.TabIndex = 679; + this.txtPriceDown.Text = "0.1"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label1.Location = new System.Drawing.Point(10, 48); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(223, 17); + this.label1.TabIndex = 684; + this.label1.Text = "注:再次报价价格 = 原价 - 次数 × 降价"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(93, 23); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(80, 17); + this.label6.TabIndex = 723; + this.label6.Text = "元(人民币)"; + // + // btnMutliCancel + // + this.btnMutliCancel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnMutliCancel.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnMutliCancel.DisabledBackColor = System.Drawing.Color.Empty; + this.btnMutliCancel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnMutliCancel.Location = new System.Drawing.Point(306, 49); + this.btnMutliCancel.Name = "btnMutliCancel"; + this.btnMutliCancel.Size = new System.Drawing.Size(98, 23); + this.btnMutliCancel.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnMutliCancel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnMutliCancel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnMutliCancel.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnMutliCancel.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnMutliCancel.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnMutliCancel.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnMutliCancel.Style.GradientAngle = 90; + this.btnMutliCancel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnMutliCancel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnMutliCancel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnMutliCancel.TabIndex = 772; + this.btnMutliCancel.Text = "批量拒绝报价"; + this.btnMutliCancel.Click += new System.EventHandler(this.btnMutliCancel_Click); + // + // btnMutliOk + // + this.btnMutliOk.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnMutliOk.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnMutliOk.DisabledBackColor = System.Drawing.Color.Empty; + this.btnMutliOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnMutliOk.Location = new System.Drawing.Point(306, 20); + this.btnMutliOk.Name = "btnMutliOk"; + this.btnMutliOk.Size = new System.Drawing.Size(98, 23); + this.btnMutliOk.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnMutliOk.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnMutliOk.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnMutliOk.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnMutliOk.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnMutliOk.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnMutliOk.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnMutliOk.Style.GradientAngle = 90; + this.btnMutliOk.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnMutliOk.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnMutliOk.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnMutliOk.TabIndex = 768; + this.btnMutliOk.Text = "批量同意报价"; + this.btnMutliOk.Click += new System.EventHandler(this.btnMutliOk_Click); + // // pnlDetailOperate2 // this.pnlDetailOperate2.Controls.Add(this.pnlMutliCancelWithTitleWrong); - this.pnlDetailOperate2.Location = new System.Drawing.Point(761, 40); + this.pnlDetailOperate2.Location = new System.Drawing.Point(913, 76); this.pnlDetailOperate2.Name = "pnlDetailOperate2"; - this.pnlDetailOperate2.Size = new System.Drawing.Size(568, 75); + this.pnlDetailOperate2.Size = new System.Drawing.Size(420, 75); this.pnlDetailOperate2.TabIndex = 856; this.pnlDetailOperate2.Visible = false; // @@ -580,7 +593,7 @@ namespace TemuKJD.KJDForms.AdminForms this.pnlMutliCancelWithTitleWrong.Cursor = System.Windows.Forms.Cursors.Hand; this.pnlMutliCancelWithTitleWrong.DisabledBackColor = System.Drawing.Color.Empty; this.pnlMutliCancelWithTitleWrong.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.pnlMutliCancelWithTitleWrong.Location = new System.Drawing.Point(438, 49); + this.pnlMutliCancelWithTitleWrong.Location = new System.Drawing.Point(306, 18); this.pnlMutliCancelWithTitleWrong.Name = "pnlMutliCancelWithTitleWrong"; this.pnlMutliCancelWithTitleWrong.Size = new System.Drawing.Size(98, 23); this.pnlMutliCancelWithTitleWrong.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -657,18 +670,18 @@ namespace TemuKJD.KJDForms.AdminForms // this.dgvShop.AllowUserToAddRows = false; this.dgvShop.AllowUserToDeleteRows = false; - dataGridViewCellStyle8.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle8; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; this.dgvShop.BackgroundColor = System.Drawing.Color.White; this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle9.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle9; + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colSelect, @@ -827,18 +840,18 @@ namespace TemuKJD.KJDForms.AdminForms // this.dgvPriceCheck.AllowUserToAddRows = false; this.dgvPriceCheck.AllowUserToDeleteRows = false; - dataGridViewCellStyle10.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvPriceCheck.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle10; + dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvPriceCheck.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3; this.dgvPriceCheck.BackgroundColor = System.Drawing.Color.White; this.dgvPriceCheck.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle11.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle11.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle11.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle11.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvPriceCheck.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle11; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvPriceCheck.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; this.dgvPriceCheck.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvPriceCheck.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colCheck, @@ -872,7 +885,12 @@ namespace TemuKJD.KJDForms.AdminForms this.dgvPriceCheck.Size = new System.Drawing.Size(1056, 431); this.dgvPriceCheck.TabIndex = 187; this.dgvPriceCheck.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvCheckPrice_CellContentClick); + this.dgvPriceCheck.CellMouseDown += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dgvPriceCheck_CellMouseDown); + this.dgvPriceCheck.CellMouseEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvPriceCheck_CellMouseEnter); + this.dgvPriceCheck.CellMouseUp += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dgvPriceCheck_CellMouseUp); + this.dgvPriceCheck.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dgvPriceCheck_RowStateChanged); this.dgvPriceCheck.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvPriceCheck_Scroll); + this.dgvPriceCheck.MouseUp += new System.Windows.Forms.MouseEventHandler(this.dgvPriceCheck_MouseUp); // // colCheck // @@ -946,8 +964,8 @@ namespace TemuKJD.KJDForms.AdminForms // // colProdName // - dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colProdName.DefaultCellStyle = dataGridViewCellStyle12; + dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProdName.DefaultCellStyle = dataGridViewCellStyle5; this.colProdName.HeaderText = "标题"; this.colProdName.Name = "colProdName"; this.colProdName.ReadOnly = true; @@ -955,8 +973,8 @@ namespace TemuKJD.KJDForms.AdminForms // // colSkuName // - dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colSkuName.DefaultCellStyle = dataGridViewCellStyle13; + dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colSkuName.DefaultCellStyle = dataGridViewCellStyle6; this.colSkuName.HeaderText = "规格名称"; this.colSkuName.Name = "colSkuName"; this.colSkuName.ReadOnly = true; @@ -1006,8 +1024,8 @@ namespace TemuKJD.KJDForms.AdminForms // // colCreatTime // - dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colCreatTime.DefaultCellStyle = dataGridViewCellStyle14; + dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colCreatTime.DefaultCellStyle = dataGridViewCellStyle7; this.colCreatTime.HeaderText = "创建时间"; this.colCreatTime.Name = "colCreatTime"; this.colCreatTime.ReadOnly = true; @@ -1094,10 +1112,13 @@ namespace TemuKJD.KJDForms.AdminForms this.ClientSize = new System.Drawing.Size(1344, 585); 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 = "AdminProductPriceCheckForm"; this.Text = "ProductPriceCheckForm"; this.Load += new System.EventHandler(this.AdminProductPriceCheckForm_Load); this.VisibleChanged += new System.EventHandler(this.AdminProductPriceCheckForm_VisibleChanged); + this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.AdminProductPriceCheckForm_KeyDown); + this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.AdminProductPriceCheckForm_KeyUp); this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); @@ -1202,5 +1223,6 @@ namespace TemuKJD.KJDForms.AdminForms private System.Windows.Forms.DataGridViewLinkColumn colCancel; private System.Windows.Forms.DataGridViewLinkColumn colCancelWithTitleWrong; private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; + private UserComponent.UcCheckBox chkFilter; } } \ No newline at end of file diff --git a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs index 1d2248b..b643254 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs @@ -1,7 +1,6 @@ using AllBase; using AllBase.Model.Result; using NaiBa.Util.Extension; -using NaiBa.Util.Winform.Extension; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; @@ -13,6 +12,7 @@ using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; +using TemuKJD.Extension; using TemuKJD.KJDForms.BaseForms; using TemuKJD.KJDForms.ShopForms; using TemuKJD.KJDForms.ToolForms; @@ -293,9 +293,9 @@ namespace TemuKJD.KJDForms.AdminForms ShowImgForm imgFrom = new ShowImgForm(url); imgFrom.ShowDialog(); break; - case "": - dgvPriceCheck.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvPriceCheck.Rows[e.RowIndex].Cells["colCheck"].Value; - break; + //case "": + // dgvPriceCheck.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvPriceCheck.Rows[e.RowIndex].Cells["colCheck"].Value; + // break; default: break; } @@ -460,8 +460,8 @@ namespace TemuKJD.KJDForms.AdminForms { if (rst.Contains("\"success\":true")) { - row.Cells["colMsg"].Value = "已作废商品-价格0.01"; - row.Cells["colNewPrice"].Value = 1 / 100.0; + row.Cells["colMsg"].Value = "已作废商品-价格0.1"; + row.Cells["colNewPrice"].Value = 10 / 100.0; } else row.Cells["colMsg"].Value = "作废商品失败" + rst; @@ -495,7 +495,7 @@ namespace TemuKJD.KJDForms.AdminForms { this.pnlDetailOperate1.Visible = true; this.pnlDetailOperate2.Visible = false; - this.dgvPriceCheck.Columns["colOk"].Visible = false; + this.dgvPriceCheck.Columns["colOk"].Visible = true; this.dgvPriceCheck.Columns["colCancel"].Visible = true; this.dgvPriceCheck.Columns["colCancelWithTitleWrong"].Visible = false; SearchPrice("待卖家确认"); @@ -515,7 +515,7 @@ namespace TemuKJD.KJDForms.AdminForms private void SearchPrice(string type = "待卖家确认") { var selectShopIdLst = this.dgvShop.Rows.Cast().Where(r => r.Cells["colSelect"].Value.ParseToBool() == true) - .Select(r => r.Cells["colShopId"].Value.ParseToString()).ToList(); + .Select(r => r.Cells["colShopId"].Value.ParseToString()).Distinct().ToList(); var shops = this.lstAdminShopInfo.Where(s => selectShopIdLst.Contains(s.ShopId)).ToList(); if (shops.Count == 0) { @@ -531,14 +531,18 @@ namespace TemuKJD.KJDForms.AdminForms } } + this.chkFilter.Checked = false; this.dgvPriceCheck.Rows.Clear(); this.lstCheckPriceInfo.Clear(); this.pbLoading.Visible = true; cancellationTokenSource = new CancellationTokenSource(); Task.Run(() => { + int shopIndex = 0; + int totalProdIndex = 0; foreach (var shopId in selectShopIdLst) { + shopIndex++; var shop = this.lstAdminShopInfo.Where(s => shopId == s.ShopId).ToList().FirstOrDefault(); if (shop == null) continue; @@ -607,11 +611,15 @@ namespace TemuKJD.KJDForms.AdminForms } foreach (var priceInfo in checkPriceInfoTmpLst) { + if (cancellationTokenSource.IsCancellationRequested) + break; + prodIndex++; + totalProdIndex++; Invoke(new Action(() => { - this.statusBar.lblTaskStatus.Text = "正在查询" + type + ",共有 " + total + " 件商品"; - this.statusBar.pgbTaskProgress.Maximum = total; - this.statusBar.UpdateProgressBar(prodIndex); + this.statusBar.lblTaskStatus.Text = "正在查询" + type + ",店铺:" + shop.ShopAccount + " " + prodIndex + "/" + total + " 件商品"; + this.statusBar.pgbTaskProgress.Maximum = selectShopIdLst.Count; + this.statusBar.UpdateProgressBar(shopIndex); })); string imgUrl = priceInfo.skcList.FirstOrDefault()?.previewImgUrlList.FirstOrDefault(); @@ -637,9 +645,9 @@ namespace TemuKJD.KJDForms.AdminForms { foreach (var prop in sku.productPropertyList) { - skuName += prop.value + ";"; + skuName += prop.value + ","; } - //skuName = skuName.TrimEnd(';'); + skuName = skuName.TrimEnd(',') + ";"; skuName += "\r\n"; } } @@ -669,7 +677,7 @@ namespace TemuKJD.KJDForms.AdminForms { int rowId = this.dgvPriceCheck.Rows.Add( false, - prodIndex, + totalProdIndex, reviewInfo.priceOrderId, priceInfo.supplierId, priceInfo.supplierName, @@ -693,6 +701,10 @@ namespace TemuKJD.KJDForms.AdminForms "" ); dgvPriceCheck.Rows[rowId].Height = 60; + if (chkFilter.Checked && !CheckContainsWords(priceInfo.productName)) + { + dgvPriceCheck.Rows[rowId].Visible = false; + } })); } this.ShowDgvImg(); @@ -868,6 +880,7 @@ namespace TemuKJD.KJDForms.AdminForms return; } + this.statusBar.lblTaskStatus.Text = "正在批量还原标题"; this.pbLoading.Visible = true; Task.Run(() => { @@ -890,8 +903,7 @@ namespace TemuKJD.KJDForms.AdminForms } var pName = price.productName; - if ((pName.EndsWith("适合不同的搭配风格") && pName.IndexOf("个") < 4 && pName.IndexOf("个") > 0) || - (pName.EndsWith("适合不同的搭配风格") && pName.IndexOf("pcs") < 4 && pName.IndexOf("pcs") > 0)) + if (CheckContainsWords(pName)) { } else @@ -942,19 +954,8 @@ namespace TemuKJD.KJDForms.AdminForms JObject jObj = JObject.Parse(html); var item = jObj["result"]["successBizId2TaskUidMap"].LastOrDefault().LastOrDefault(); - var newPName = pName; - if (pName.EndsWith("适合不同的搭配风格") && pName.IndexOf("个") < 4 && pName.IndexOf("个") > 0) - { - var headword = pName.Substring(0, pName.IndexOf("个") + 1); - newPName = pName.Substring(pName.IndexOf("个") + "个".Length); - newPName = newPName.Replace("适合不同的搭配风格", "适合" + headword + "不同的搭配风格"); - } - if (pName.EndsWith("适合不同的搭配风格") && pName.IndexOf("pcs") < 4 && pName.IndexOf("pcs") >0) - { - var headword = pName.Substring(0, pName.IndexOf("pcs")); - newPName = pName.Substring(pName.IndexOf("pcs") + "pcs".Length); - newPName = newPName.Replace("适合不同的搭配风格", "适合" + headword + "个不同的搭配风格").Trim(); - } + // 还原原始标题 + var newPName = RestoreProductName(pName); html = editPriceProductName(shop, item.ParseToString(), price.productId.ParseToString(), newPName); Thread.Sleep(Randomx.GetId(25, 75)); @@ -1002,6 +1003,7 @@ namespace TemuKJD.KJDForms.AdminForms Invoke(new Action(() => { + this.statusBar.lblTaskStatus.Text = "批量还原标题完成"; this.pbLoading.Visible = false; })); }); @@ -1016,6 +1018,7 @@ namespace TemuKJD.KJDForms.AdminForms return; } + this.statusBar.lblTaskStatus.Text = "正在批量再次报价"; this.pbLoading.Visible = true; Task.Run(() => { @@ -1031,6 +1034,7 @@ namespace TemuKJD.KJDForms.AdminForms Invoke(new Action(() => { + this.statusBar.lblTaskStatus.Text = "批量再次报价完成"; this.pbLoading.Visible = false; })); }); @@ -1045,6 +1049,7 @@ namespace TemuKJD.KJDForms.AdminForms return; } + this.statusBar.lblTaskStatus.Text = "正在批量同意报价"; this.pbLoading.Visible = true; Task.Run(() => { @@ -1060,6 +1065,7 @@ namespace TemuKJD.KJDForms.AdminForms Invoke(new Action(() => { + this.statusBar.lblTaskStatus.Text = "批量同意报价完成"; this.pbLoading.Visible = false; })); }); @@ -1074,6 +1080,7 @@ namespace TemuKJD.KJDForms.AdminForms return; } + this.statusBar.lblTaskStatus.Text = "正在批量拒绝报价"; this.pbLoading.Visible = true; Task.Run(() => { @@ -1089,6 +1096,7 @@ namespace TemuKJD.KJDForms.AdminForms Invoke(new Action(() => { + this.statusBar.lblTaskStatus.Text = "批量拒绝报价完成"; this.pbLoading.Visible = false; })); }); @@ -1143,6 +1151,7 @@ namespace TemuKJD.KJDForms.AdminForms } var productIds = rows.Select(r => r.Cells["colProductId"].Value.ParseToString()).Distinct().ToList(); + this.statusBar.lblTaskStatus.Text = "正在批量作废"; this.pbLoading.Visible = true; Task.Run(() => { @@ -1160,10 +1169,150 @@ namespace TemuKJD.KJDForms.AdminForms Invoke(new Action(() => { + this.statusBar.lblTaskStatus.Text = "批量作废完成"; this.pbLoading.Visible = false; })); }); } + + private void chkFilter_CheckedChanged(object sender, EventArgs e) + { + if (chkFilter.Checked == false) + { + foreach (DataGridViewRow row in dgvPriceCheck.Rows) + { + row.Visible = true; + } + } + else + { + foreach (DataGridViewRow row in dgvPriceCheck.Rows) + { + var pName = row.Cells["colProdName"].Value.ParseToString(); + + if (CheckContainsWords(pName)) + { + } + else + { + row.Cells["colCheck"].Value = false; + row.Visible = false; + } + } + } + } + + bool MouseLeftButtonDown = false; + bool MouseLeftButtonDownCheck = false; + private void dgvPriceCheck_MouseUp(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + { + MouseLeftButtonDown = false; + } + } + + private void dgvPriceCheck_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + + MouseLeftButtonDown = true; + string headerText = dgvPriceCheck.Columns[e.ColumnIndex].HeaderText; + + switch (headerText) + { + case "": + dgvPriceCheck.Rows[e.RowIndex].Cells["colCheck"].Value = MouseLeftButtonDownCheck = + !(bool)dgvPriceCheck.Rows[e.RowIndex].Cells["colCheck"].Value; + break; + default: + break; + } + } + } + + private void dgvPriceCheck_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + { + MouseLeftButtonDown = false; + } + } + + private void dgvPriceCheck_CellMouseEnter(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + + if (MouseLeftButtonDown) + { + if (dgvPriceCheck.Columns[e.ColumnIndex].Name == "colCheck") // 选择框文字为空 + { + dgvPriceCheck.Rows[e.RowIndex].Cells["colCheck"].Value = MouseLeftButtonDownCheck; + } + } + } + + private void dgvPriceCheck_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) + { + if (IsShiftDown && e.Row.Visible) + { + e.Row.Cells["colCheck"].Value = e.Row.Selected; + } + } + + bool IsShiftDown = false; + private void AdminProductPriceCheckForm_KeyDown(object sender, KeyEventArgs e) + { + switch (e.KeyCode) + { + case Keys.Shift: + case Keys.ShiftKey: + case Keys.LShiftKey: + case Keys.RShiftKey: + IsShiftDown = true; + break; + } + } + + private void AdminProductPriceCheckForm_KeyUp(object sender, KeyEventArgs e) + { + switch (e.KeyCode) + { + case Keys.Shift: + case Keys.ShiftKey: + case Keys.LShiftKey: + case Keys.RShiftKey: + IsShiftDown = false; + break; + } + } + + bool CheckContainsWords(string filterProdName) + { + return filterProdName != RestoreProductName(filterProdName); + } + + string RestoreProductName(string pName) + { + string newPName = pName; + if (pName.EndsWith("适合不同的搭配风格") && pName.IndexOf("个") < 4 && pName.IndexOf("个") > 0) + { + var headword = pName.Substring(0, pName.IndexOf("个") + 1); + newPName = pName.Substring(pName.IndexOf("个") + "个".Length); + newPName = newPName.Replace("适合不同的搭配风格", "适合" + headword + "不同的搭配风格"); + } + if (pName.EndsWith("适合不同的搭配风格") && pName.IndexOf("pcs") < 4 && pName.IndexOf("pcs") > 0) + { + var headword = pName.Substring(0, pName.IndexOf("pcs")); + newPName = pName.Substring(pName.IndexOf("pcs") + "pcs".Length); + newPName = newPName.Replace("适合不同的搭配风格", "适合" + headword + "个不同的搭配风格").Trim(); + } + return newPName; + } } public class PriceCheckConfig diff --git a/TEMUKJD/KJDForms/ShopForms/ShopForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopForm.cs index 1a905da..72f9ee6 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopForm.cs @@ -34,7 +34,7 @@ namespace TemuKJD.KJDForms.ShopForms tv.SelectedNode = tv.Nodes[0].Nodes[0]; tv.ExpandGroup(tv.Nodes[0].Name); - List hideName = new List() { "子账号管理", "高级运费模板", "运费模板", "素材库管理", /*"订单金额统计",*/ "工作明细统计" }; + List hideName = new List() { "子账号管理", "高级运费模板", "运费模板", "素材库管理", /*"订单金额统计",*/ /*"工作明细统计"*/ }; if (BaseClass.GroupId == 3) { diff --git a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.Designer.cs b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.Designer.cs index 9762563..aa721d9 100644 --- a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.Designer.cs +++ b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.Designer.cs @@ -1,5 +1,5 @@  -namespace TemuKJD.KJDForms.ShopForms +namespace TemuKJD.KJDForms.ShopForms.Statistics { partial class ShopOrderStatisticsForm { @@ -622,8 +622,8 @@ namespace TemuKJD.KJDForms.ShopForms this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.Name = "ShopOrderStatisticsForm"; this.Text = "ShopStatisticsForm"; - this.Load += new System.EventHandler(this.ShopStatisticsForm_Load); - this.VisibleChanged += new System.EventHandler(this.ShopStatisticsForm_VisibleChanged); + this.Load += new System.EventHandler(this.ShopOrderStatisticsForm_Load); + this.VisibleChanged += new System.EventHandler(this.ShopOrderStatisticsForm_VisibleChanged); this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); diff --git a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs index 64c94e4..85bba27 100644 --- a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs @@ -15,7 +15,7 @@ using System.Windows.Forms; using TemuKJD.Extension; using TemuKJD.KJDForms.BaseForms; -namespace TemuKJD.KJDForms.ShopForms +namespace TemuKJD.KJDForms.ShopForms.Statistics { public partial class ShopOrderStatisticsForm : Form { @@ -28,12 +28,12 @@ namespace TemuKJD.KJDForms.ShopForms InitializeComponent(); } - private void ShopStatisticsForm_Load(object sender, EventArgs e) + private void ShopOrderStatisticsForm_Load(object sender, EventArgs e) { this.dgvShop.AddSelectorColumn("colSelect"); } - private void ShopStatisticsForm_VisibleChanged(object sender, EventArgs e) + private void ShopOrderStatisticsForm_VisibleChanged(object sender, EventArgs e) { if (Visible == true) RefreshShop(); diff --git a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.Designer.cs b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.Designer.cs index 6b20e31..4bc8f11 100644 --- a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.Designer.cs +++ b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.Designer.cs @@ -38,14 +38,12 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.btnGetSelect = new DevComponents.DotNetBar.PanelEx(); this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); - this.lblWithdrawCashAmount = new System.Windows.Forms.Label(); this.lblSuggestStockup = new System.Windows.Forms.Label(); this.lblWillShortInSize = new System.Windows.Forms.Label(); this.lblShortInSize = new System.Windows.Forms.Label(); this.lblOutOfStock = new System.Windows.Forms.Label(); this.lblShortSupply = new System.Windows.Forms.Label(); this.lblWaitSend = new System.Windows.Forms.Label(); - this.label8 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); @@ -66,11 +64,11 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colWaitCreat = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colWaitSend = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colShortSupply = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colOutOfStock = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colShortInSize = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colWillShortInSize = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colSuggestStockup = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colLackNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colCompletelySoldOutSkcNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSaleOutSkcNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSoonSaleOutSkcNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAdviceStockSkcNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -198,14 +196,12 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 10F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 10F)); - this.tableLayoutPanel1.Controls.Add(this.lblWithdrawCashAmount, 3, 3); this.tableLayoutPanel1.Controls.Add(this.lblSuggestStockup, 2, 3); this.tableLayoutPanel1.Controls.Add(this.lblWillShortInSize, 1, 3); this.tableLayoutPanel1.Controls.Add(this.lblShortInSize, 0, 3); this.tableLayoutPanel1.Controls.Add(this.lblOutOfStock, 3, 1); this.tableLayoutPanel1.Controls.Add(this.lblShortSupply, 2, 1); this.tableLayoutPanel1.Controls.Add(this.lblWaitSend, 1, 1); - this.tableLayoutPanel1.Controls.Add(this.label8, 3, 2); this.tableLayoutPanel1.Controls.Add(this.label7, 2, 2); this.tableLayoutPanel1.Controls.Add(this.label6, 1, 2); this.tableLayoutPanel1.Controls.Add(this.label5, 0, 2); @@ -224,17 +220,6 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.tableLayoutPanel1.Size = new System.Drawing.Size(1068, 115); this.tableLayoutPanel1.TabIndex = 435; // - // lblWithdrawCashAmount - // - this.lblWithdrawCashAmount.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.lblWithdrawCashAmount.AutoSize = true; - this.lblWithdrawCashAmount.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblWithdrawCashAmount.Location = new System.Drawing.Point(789, 87); - this.lblWithdrawCashAmount.Name = "lblWithdrawCashAmount"; - this.lblWithdrawCashAmount.Size = new System.Drawing.Size(18, 20); - this.lblWithdrawCashAmount.TabIndex = 15; - this.lblWithdrawCashAmount.Text = "0"; - // // lblSuggestStockup // this.lblSuggestStockup.Anchor = System.Windows.Forms.AnchorStyles.Left; @@ -301,17 +286,6 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.lblWaitSend.TabIndex = 15; this.lblWaitSend.Text = "0"; // - // label8 - // - this.label8.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.label8.AutoSize = true; - this.label8.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label8.Location = new System.Drawing.Point(789, 62); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(11, 12); - this.label8.TabIndex = 13; - this.label8.Text = "-"; - // // label7 // this.label7.Anchor = System.Windows.Forms.AnchorStyles.Left; @@ -462,11 +436,11 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.colNotes, this.colWaitCreat, this.colWaitSend, - this.colShortSupply, - this.colOutOfStock, - this.colShortInSize, - this.colWillShortInSize, - this.colSuggestStockup}); + this.colLackNum, + this.colCompletelySoldOutSkcNum, + this.colSaleOutSkcNum, + this.colSoonSaleOutSkcNum, + this.colAdviceStockSkcNum}); this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill; this.dgvShop.Location = new System.Drawing.Point(4, 0); this.dgvShop.Name = "dgvShop"; @@ -541,44 +515,45 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.colWaitSend.Name = "colWaitSend"; this.colWaitSend.ReadOnly = true; // - // colShortSupply + // colLackNum // - this.colShortSupply.HeaderText = "已缺货"; - this.colShortSupply.Name = "colShortSupply"; - this.colShortSupply.ReadOnly = true; + this.colLackNum.HeaderText = "已缺货"; + this.colLackNum.Name = "colLackNum"; + this.colLackNum.ReadOnly = true; // - // colOutOfStock + // colCompletelySoldOutSkcNum // - this.colOutOfStock.HeaderText = "已断货"; - this.colOutOfStock.Name = "colOutOfStock"; - this.colOutOfStock.ReadOnly = true; + this.colCompletelySoldOutSkcNum.HeaderText = "已断货"; + this.colCompletelySoldOutSkcNum.Name = "colCompletelySoldOutSkcNum"; + this.colCompletelySoldOutSkcNum.ReadOnly = true; // - // colShortInSize + // colSaleOutSkcNum // - this.colShortInSize.HeaderText = "已断码"; - this.colShortInSize.Name = "colShortInSize"; - this.colShortInSize.ReadOnly = true; + this.colSaleOutSkcNum.HeaderText = "已断码"; + this.colSaleOutSkcNum.Name = "colSaleOutSkcNum"; + this.colSaleOutSkcNum.ReadOnly = true; // - // colWillShortInSize + // colSoonSaleOutSkcNum // - this.colWillShortInSize.HeaderText = "即将断码"; - this.colWillShortInSize.Name = "colWillShortInSize"; - this.colWillShortInSize.ReadOnly = true; + this.colSoonSaleOutSkcNum.HeaderText = "即将断码"; + this.colSoonSaleOutSkcNum.Name = "colSoonSaleOutSkcNum"; + this.colSoonSaleOutSkcNum.ReadOnly = true; // - // colSuggestStockup + // colAdviceStockSkcNum // - this.colSuggestStockup.HeaderText = "建议备货"; - this.colSuggestStockup.Name = "colSuggestStockup"; - this.colSuggestStockup.ReadOnly = true; + this.colAdviceStockSkcNum.HeaderText = "建议备货"; + this.colAdviceStockSkcNum.Name = "colAdviceStockSkcNum"; + this.colAdviceStockSkcNum.ReadOnly = true; // // ShopWorkStatisticsForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.ClientSize = new System.Drawing.Size(1253, 557); this.Controls.Add(this.splitContainer1); this.Name = "ShopWorkStatisticsForm"; this.Text = "ShopWorkStatistics"; + this.Load += new System.EventHandler(this.ShopWorkStatisticsForm_Load); + this.VisibleChanged += new System.EventHandler(this.ShopWorkStatisticsForm_VisibleChanged); this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); @@ -605,14 +580,12 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics private DevComponents.DotNetBar.PanelEx btnGetSelect; private UserComponent.UcGroupBoxEx ucGroupBoxEx1; private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; - private System.Windows.Forms.Label lblWithdrawCashAmount; private System.Windows.Forms.Label lblSuggestStockup; private System.Windows.Forms.Label lblWillShortInSize; private System.Windows.Forms.Label lblShortInSize; private System.Windows.Forms.Label lblOutOfStock; private System.Windows.Forms.Label lblShortSupply; private System.Windows.Forms.Label lblWaitSend; - private System.Windows.Forms.Label label8; private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label5; @@ -633,10 +606,10 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics private System.Windows.Forms.DataGridViewTextBoxColumn colNotes; private System.Windows.Forms.DataGridViewTextBoxColumn colWaitCreat; private System.Windows.Forms.DataGridViewTextBoxColumn colWaitSend; - private System.Windows.Forms.DataGridViewTextBoxColumn colShortSupply; - private System.Windows.Forms.DataGridViewTextBoxColumn colOutOfStock; - private System.Windows.Forms.DataGridViewTextBoxColumn colShortInSize; - private System.Windows.Forms.DataGridViewTextBoxColumn colWillShortInSize; - private System.Windows.Forms.DataGridViewTextBoxColumn colSuggestStockup; + private System.Windows.Forms.DataGridViewTextBoxColumn colLackNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colCompletelySoldOutSkcNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colSaleOutSkcNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colSoonSaleOutSkcNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colAdviceStockSkcNum; } } \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.cs b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.cs index b890d13..9c57855 100644 --- a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.cs @@ -1,4 +1,9 @@ -using System; +using AllBase; +using AllBase.Helper; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using Newtonsoft.Json.Linq; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -7,14 +12,294 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using TemuKJD.Extension; namespace TemuKJD.KJDForms.ShopForms.Statistics { public partial class ShopWorkStatisticsForm : Form { + public List lstShopStatisticsInfo = new List(); + public bool IsOperate = false; + public bool isFirstLoad = false; + public ShopWorkStatisticsForm() { InitializeComponent(); } + + private void ShopWorkStatisticsForm_Load(object sender, EventArgs e) + { + this.dgvShop.AddSelectorColumn("colSelect"); + } + + private void ShopWorkStatisticsForm_VisibleChanged(object sender, EventArgs e) + { + if (Visible == true) + RefreshShop(); + } + + private void RefreshShop() + { + this.pbLoading.Visible = true; + // 店铺Id + var selectIds = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + // 获取被删除的店铺 + List dgvRowList = dgvShop.Rows.Cast().Where(row + => !GlobalConfig.ShopLoginList.Any(s => s.ShopId == row.Cells["colShopId"]?.Value?.ToString())).ToList(); + // 更新被删除的店铺列表 + foreach (var row in dgvRowList) + { + dgvShop.Rows.Remove(row); + } + // 获取被删除的统计信息并删除 + List statisticsDeleteLst = lstShopStatisticsInfo.Where(row + => !GlobalConfig.ShopLoginList.Any(s => s.ShopId == row.shop_id.ToString())).ToList(); + foreach (var s in statisticsDeleteLst) + { + lstShopStatisticsInfo.Remove(s); + } + + // 绑定店铺(含新导入的店铺) + foreach (ShopLoginInfo shopEntity in GlobalConfig.ShopLoginList) + { + if (!string.IsNullOrEmpty(shopEntity.ShopId)) + BindShop(shopEntity, selectIds); + } + + GetShopStatistics(GlobalConfig.ShopLoginList.ToList(), selectIds); + } + + private void GetShopStatistics(List shops, List selectIds) + { + Task.Run(() => + { + foreach (ShopLoginInfo shopEntity in shops) + { + if (string.IsNullOrEmpty(shopEntity.ShopId)) + continue; + bool canUse = shopEntity.LoginStatus == "登录成功" && shopEntity.LoginStatus2 == "国际版在线"; + if (!canUse) + { + BindShop(shopEntity, selectIds); + continue; + } + + ShopWorkStatisticsInfo statistics = lstShopStatisticsInfo.FirstOrDefault(s => s.shop_id.ToString() == shopEntity.ShopId); + if (statistics == null) + { + statistics = new ShopWorkStatisticsInfo() + { + notes = shopEntity.Notes, + shop_id = shopEntity.ShopId.ParseToLong(), + shop_account = shopEntity.ShopAccount, + }; + lstShopStatisticsInfo.Add(statistics); + } + GetShopStatistics(shopEntity, statistics); + Invoke(new Action(() => + { + this.lblWaitCreat.Text = this.lstShopStatisticsInfo.Sum(s => s.waitCreat).ToString(); + this.lblWaitSend.Text = this.lstShopStatisticsInfo.Sum(s => s.waitSend).ToString(); + this.lblShortSupply.Text = this.lstShopStatisticsInfo.Sum(s => s.lackNum).ToString(); + this.lblOutOfStock.Text = this.lstShopStatisticsInfo.Sum(s => s.completelySoldOutSkcNum).ToString(); + this.lblShortInSize.Text = this.lstShopStatisticsInfo.Sum(s => s.saleOutSkcNum).ToString(); + this.lblWillShortInSize.Text = this.lstShopStatisticsInfo.Sum(s => s.soonSaleOutSkcNum).ToString(); + this.lblSuggestStockup.Text = this.lstShopStatisticsInfo.Sum(s => s.adviceStockSkcNum).ToString(); + BindShop(shopEntity, selectIds); + })); + } + Invoke(new Action(() => + { + this.pbLoading.Visible = false; + })); + }); + } + + private void BindShop(ShopLoginInfo shopEntity, List selectShopId = null) + { + if (shopEntity == null) + return; + if (selectShopId == null) + selectShopId = new List(); + + ShopWorkStatisticsInfo statistics = lstShopStatisticsInfo.FirstOrDefault(s => s.shop_id.ToString() == shopEntity.ShopId); + if (statistics == null) + { + statistics = new ShopWorkStatisticsInfo() + { + notes = shopEntity.Notes, + shop_id = shopEntity.ShopId.ParseToLong(), + shop_account = shopEntity.ShopAccount, + }; + lstShopStatisticsInfo.Add(statistics); + } + + bool canUse = shopEntity.LoginStatus == "登录成功" && shopEntity.LoginStatus2 == "国际版在线"; + var row = dgvShop.Rows.Cast().FirstOrDefault( + p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId); + if (row == null) + { + int rowId = this.dgvShop.Rows.Add( + false, + canUse ? "在线" : "掉线", + shopEntity.LoginName, + shopEntity.ShopId, + shopEntity.ShopAccount, + shopEntity.Notes, + statistics.waitCreat == null ? "-" : statistics.waitCreat.ToString(), //待创建 + statistics.waitSend == null ? "-" : statistics.waitSend.ToString(), //待发货 + statistics.lackNum == null ? "-" : statistics.lackNum.ToString(), //已缺货 + statistics.completelySoldOutSkcNum == null ? "-" : statistics.completelySoldOutSkcNum.ToString(), //已断货 + statistics.saleOutSkcNum == null ? "-" : statistics.saleOutSkcNum.ToString(), //已断码 + statistics.soonSaleOutSkcNum == null ? "-" : statistics.soonSaleOutSkcNum.ToString(), //即将断码 + statistics.adviceStockSkcNum == null ? "-" : statistics.adviceStockSkcNum.ToString() // 建议备货 + ); + row = dgvShop.Rows[rowId]; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Green : Color.Red; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Green : Color.Red; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightGreen : Color.OrangeRed; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkGreen : Color.DarkRed; + row.Height = 32; + } + else + { + row.Cells["colSelect"].Value = selectShopId.Contains(shopEntity.ShopId) && canUse; + row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线"; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Green : Color.Red; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Green : Color.Red; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightGreen : Color.OrangeRed; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkGreen : Color.DarkRed; + + row.Cells["colShopLoginName"].Value = shopEntity.LoginName; + row.Cells["colShopAccount"].Value = shopEntity.ShopAccount; + row.Cells["colNotes"].Value = shopEntity.Notes; + + row.Cells["colWaitCreat"].Value = statistics.waitCreat == null ? "0" : statistics.waitCreat.ToString(); //待创建 + row.Cells["colWaitSend"].Value = statistics.waitSend == null ? "0" : statistics.waitSend.ToString(); //待发货 + row.Cells["colLackNum"].Value = statistics.lackNum == null ? "0" : statistics.lackNum.ToString(); //已缺货 + row.Cells["colCompletelySoldOutSkcNum"].Value = statistics.completelySoldOutSkcNum == null ? "0" : statistics.completelySoldOutSkcNum.ToString(); //已断货 + row.Cells["colSaleOutSkcNum"].Value = statistics.saleOutSkcNum == null ? "0" : statistics.saleOutSkcNum.ToString(); //已断码 + row.Cells["colSoonSaleOutSkcNum"].Value = statistics.soonSaleOutSkcNum == null ? "0" : statistics.soonSaleOutSkcNum.ToString(); //即将断码 + row.Cells["colAdviceStockSkcNum"].Value = statistics.adviceStockSkcNum == null ? "0" : statistics.adviceStockSkcNum.ToString(); // 建议备货 + } + } + + private void GetShopStatistics(ShopLoginInfo shop, ShopWorkStatisticsInfo statistics, List selectShopId = null) + { + if (statistics.is_search_1 != true) + { + try + { + string html = GetShopStockList(shop); + if (html.Contains("\"success\":true")) + { + JObject jObj = JObject.Parse(html); + string jStr = JsonHelper.SerializeObject(jObj["result"]["statusNumMap"]); + //"statusNumMap": { + // "0": 2, //待创建 + // "1": 6, //待发货 + // "2": 18, //已送货 + // "3": 10, //已收货 + // "5": 0, //抽检全部退回 + // "6": 0, //已验收 + // "7": 1452, //已入库 + // "8": 149, //已作废 + // "9": 0, //已超时? + // "10": 1990 //已取消 + //}, + statistics.waitCreat = BaseRegex.GetNullableIntJson(ref html, "0"); + statistics.waitSend = BaseRegex.GetNullableIntJson(ref html, "1"); + statistics.is_search_1 = true; + } + else + { + string errStr = BaseRegex.GetStringJson(ref html, "errorMsg"); + if (string.IsNullOrEmpty(errStr)) + errStr = errStr = BaseRegex.GetStringJson(ref html, "error_msg"); + if (string.IsNullOrEmpty(errStr)) + errStr = html; + if (errStr.Contains("Invalid Login State")) + { + ShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false); + } + System.Threading.Thread.Sleep(Randomx.GetId(100, 200)); + statistics.err_msg = errStr; + return; + } + System.Threading.Thread.Sleep(Randomx.GetId(100, 200)); + } + catch (Exception ex) + { + System.Threading.Thread.Sleep(Randomx.GetId(100, 200)); + statistics.err_msg = ex.Message; + return; + } + } + + if (statistics.is_search_2 != true) + { + try + { + string html = GetWarehouseList(shop); + if (html.Contains("\"success\":true")) + { + statistics.lackNum = BaseRegex.GetNullableIntJson(ref html, "lackNum"); + statistics.completelySoldOutSkcNum = BaseRegex.GetNullableIntJson(ref html, "completelySoldOutSkcNum"); + statistics.saleOutSkcNum = BaseRegex.GetNullableIntJson(ref html, "saleOutSkcNum"); + statistics.soonSaleOutSkcNum = BaseRegex.GetNullableIntJson(ref html, "soonSaleOutSkcNum"); + statistics.adviceStockSkcNum = BaseRegex.GetNullableIntJson(ref html, "adviceStockSkcNum"); + statistics.adSkcNum = BaseRegex.GetNullableIntJson(ref html, "adSkcNum"); + statistics.hotInventoryLackNum = BaseRegex.GetNullableIntJson(ref html, "hotInventoryLackNum"); + statistics.is_search_2 = true; + } + else + { + string errStr = BaseRegex.GetStringJson(ref html, "errorMsg"); + if (string.IsNullOrEmpty(errStr)) + errStr = errStr = BaseRegex.GetStringJson(ref html, "error_msg"); + if (string.IsNullOrEmpty(errStr)) + errStr = html; + if (errStr.Contains("Invalid Login State")) + { + ShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false); + } + System.Threading.Thread.Sleep(Randomx.GetId(100, 200)); + statistics.err_msg = errStr; + return; + } + System.Threading.Thread.Sleep(Randomx.GetId(100, 200)); + } + catch (Exception ex) + { + System.Threading.Thread.Sleep(Randomx.GetId(100, 200)); + statistics.err_msg = ex.Message; + return; + } + } + } + + + private string GetWarehouseList(ShopLoginInfo shop, int page = 1) + { + page = Math.Max(page, 1); + string url = "https://agentseller.temu.com/mms/venom/api/supplier/sales/management/listWarehouse"; + string body = @"{""pageNo"":" + page + @",""pageSize"":10,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}"; + string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main"; + + return KJDHttpResponse.PostResponse2(shop, url, body, refere); + } + + private string GetShopStockList(ShopLoginInfo shop, int page = 1) + { + page = Math.Max(page, 1); + string url = "https://agentseller.temu.com/mms/venom/api/supplier/purchase/manager/querySubOrderList"; + string body; + body = @"{""pageNo"":" + page + @",""pageSize"":20,""urgencyType"":0,""isCustomGoods"":false,""statusList"":[0],""oneDimensionSort"":{""firstOrderByParam"":""expectLatestDeliverTime"",""firstOrderByDesc"":0}}"; //待创建 + + string refere = "https://agentseller.temu.com/stock/fully-mgt/order-manage"; + + return KJDHttpResponse.PostResponse2(shop, url, body, refere); + } } } diff --git a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.resx b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.resx index 3a540dc..b0df1fc 100644 --- a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.resx +++ b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.resx @@ -141,19 +141,19 @@ True - + True - + True - + True - + True - + True \ No newline at end of file