diff --git a/AllBase/AllBase.csproj b/AllBase/AllBase.csproj index f473f41..8420856 100644 --- a/AllBase/AllBase.csproj +++ b/AllBase/AllBase.csproj @@ -195,7 +195,7 @@ - + diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index bea3a90..af01471 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,8 +27,8 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 553; - //public static int VersionCount = 553; + public static int VersionCount = 556; + //public static int VersionCount = 556; /// /// 版本号 diff --git a/AllBase/Model/Result/TemuDBPriceInfo.cs b/AllBase/Model/Result/TemuDBExtCodePriceInfo.cs similarity index 92% rename from AllBase/Model/Result/TemuDBPriceInfo.cs rename to AllBase/Model/Result/TemuDBExtCodePriceInfo.cs index d6048b7..3ef950c 100644 --- a/AllBase/Model/Result/TemuDBPriceInfo.cs +++ b/AllBase/Model/Result/TemuDBExtCodePriceInfo.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace AllBase.Model.Result { - public class TemuDBPriceInfo + public class TemuDBExtCodePriceInfo { public int id { get; set; } public string ext_code { get; set; } diff --git a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.Designer.cs b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.Designer.cs index bf5dd32..39c4b4e 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.Designer.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.Designer.cs @@ -38,6 +38,8 @@ namespace TemuKJD.KJDForms.AdminForms System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnStop = new DevComponents.DotNetBar.PanelEx(); + this.btnSearchPrice2 = new DevComponents.DotNetBar.PanelEx(); this.btnMutliCancel = new DevComponents.DotNetBar.PanelEx(); this.btnMutliOk = new DevComponents.DotNetBar.PanelEx(); this.panelEx2 = new DevComponents.DotNetBar.PanelEx(); @@ -64,6 +66,7 @@ namespace TemuKJD.KJDForms.AdminForms this.pbShopLoading = new System.Windows.Forms.PictureBox(); this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colUser = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -74,8 +77,12 @@ namespace TemuKJD.KJDForms.AdminForms this.pbLoading = new System.Windows.Forms.PictureBox(); this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); this.btnClear = new DevComponents.DotNetBar.PanelEx(); - this.dgvAdjust = new TemuKJD.UserComponent.DataGridViewEx(); + this.dgvPriceCheck = new TemuKJD.UserComponent.DataGridViewEx(); + this.splitContainer4 = new System.Windows.Forms.SplitContainer(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colProdIndex = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colOrderId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -85,6 +92,8 @@ namespace TemuKJD.KJDForms.AdminForms this.colProdSkc = new System.Windows.Forms.DataGridViewLinkColumn(); this.colProdName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSkuName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colExtCodePrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colPrcie = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colAdjustPrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colNewPrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -92,9 +101,6 @@ namespace TemuKJD.KJDForms.AdminForms this.colOk = new System.Windows.Forms.DataGridViewLinkColumn(); this.colCancel = new System.Windows.Forms.DataGridViewLinkColumn(); this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.splitContainer4 = new System.Windows.Forms.SplitContainer(); - 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(); @@ -111,7 +117,7 @@ namespace TemuKJD.KJDForms.AdminForms ((System.ComponentModel.ISupportInitialize)(this.pbShopLoading)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.dgvAdjust)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvPriceCheck)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).BeginInit(); this.splitContainer4.Panel1.SuspendLayout(); this.splitContainer4.Panel2.SuspendLayout(); @@ -134,7 +140,7 @@ namespace TemuKJD.KJDForms.AdminForms // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.splitContainer3); - this.splitContainer1.Size = new System.Drawing.Size(1241, 585); + this.splitContainer1.Size = new System.Drawing.Size(1344, 585); this.splitContainer1.SplitterDistance = 120; this.splitContainer1.TabIndex = 11; // @@ -145,6 +151,8 @@ 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.btnStop); + this.ucGroupBoxEx1.Controls.Add(this.btnSearchPrice2); this.ucGroupBoxEx1.Controls.Add(this.btnMutliCancel); this.ucGroupBoxEx1.Controls.Add(this.btnMutliOk); this.ucGroupBoxEx1.Controls.Add(this.panelEx2); @@ -168,18 +176,66 @@ namespace TemuKJD.KJDForms.AdminForms this.ucGroupBoxEx1.Controls.Add(this.label7); this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2); this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; - this.ucGroupBoxEx1.Size = new System.Drawing.Size(1235, 120); + this.ucGroupBoxEx1.Size = new System.Drawing.Size(1338, 120); this.ucGroupBoxEx1.TabIndex = 399; this.ucGroupBoxEx1.TabStop = false; this.ucGroupBoxEx1.Text = "参数设置"; // + // btnStop + // + 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(638, 83); + this.btnStop.Name = "btnStop"; + this.btnStop.Size = new System.Drawing.Size(65, 24); + 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))))); + this.btnStop.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnStop.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStop.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnStop.Style.GradientAngle = 90; + this.btnStop.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnStop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnStop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStop.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnStop.TabIndex = 797; + this.btnStop.Text = "停止读取"; + this.btnStop.Click += new System.EventHandler(this.btnStop_Click); + // + // btnSearchPrice2 + // + this.btnSearchPrice2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + 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(601, 54); + this.btnSearchPrice2.Name = "btnSearchPrice2"; + this.btnSearchPrice2.Size = new System.Drawing.Size(102, 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))))); + this.btnSearchPrice2.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSearchPrice2.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSearchPrice2.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSearchPrice2.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSearchPrice2.Style.GradientAngle = 90; + this.btnSearchPrice2.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearchPrice2.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearchPrice2.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearchPrice2.TabIndex = 431; + this.btnSearchPrice2.Text = "读取待创建首单"; + this.btnSearchPrice2.Click += new System.EventHandler(this.btnSearchPrice2_Click); + // // 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(1114, 66); + this.btnMutliCancel.Location = new System.Drawing.Point(1193, 66); this.btnMutliCancel.Name = "btnMutliCancel"; this.btnMutliCancel.Size = new System.Drawing.Size(98, 23); this.btnMutliCancel.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -203,7 +259,7 @@ namespace TemuKJD.KJDForms.AdminForms 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(1114, 37); + this.btnMutliOk.Location = new System.Drawing.Point(1193, 37); this.btnMutliOk.Name = "btnMutliOk"; this.btnMutliOk.Size = new System.Drawing.Size(98, 23); this.btnMutliOk.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -227,7 +283,7 @@ namespace TemuKJD.KJDForms.AdminForms 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(653, 66); + this.panelEx2.Location = new System.Drawing.Point(736, 37); this.panelEx2.Name = "panelEx2"; this.panelEx2.Size = new System.Drawing.Size(99, 23); this.panelEx2.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -247,9 +303,9 @@ namespace TemuKJD.KJDForms.AdminForms // // txtSkcId // - this.txtSkcId.Location = new System.Drawing.Point(507, 37); + this.txtSkcId.Location = new System.Drawing.Point(495, 25); this.txtSkcId.Name = "txtSkcId"; - this.txtSkcId.Size = new System.Drawing.Size(99, 23); + this.txtSkcId.Size = new System.Drawing.Size(208, 23); this.txtSkcId.TabIndex = 733; // // btnRePrice @@ -258,7 +314,7 @@ namespace TemuKJD.KJDForms.AdminForms 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(963, 37); + this.btnRePrice.Location = new System.Drawing.Point(1036, 37); this.btnRePrice.Name = "btnRePrice"; this.btnRePrice.Size = new System.Drawing.Size(98, 23); this.btnRePrice.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -279,7 +335,7 @@ namespace TemuKJD.KJDForms.AdminForms // label6 // this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(886, 40); + this.label6.Location = new System.Drawing.Point(959, 40); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(80, 17); this.label6.TabIndex = 723; @@ -323,7 +379,7 @@ namespace TemuKJD.KJDForms.AdminForms // this.label1.AutoSize = true; this.label1.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label1.Location = new System.Drawing.Point(803, 65); + this.label1.Location = new System.Drawing.Point(876, 65); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(223, 17); this.label1.TabIndex = 684; @@ -335,9 +391,9 @@ namespace TemuKJD.KJDForms.AdminForms this.btnSearchPrice.Cursor = System.Windows.Forms.Cursors.Hand; this.btnSearchPrice.DisabledBackColor = System.Drawing.Color.Empty; 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(507, 66); + this.btnSearchPrice.Location = new System.Drawing.Point(495, 54); this.btnSearchPrice.Name = "btnSearchPrice"; - this.btnSearchPrice.Size = new System.Drawing.Size(99, 23); + this.btnSearchPrice.Size = new System.Drawing.Size(102, 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))))); @@ -355,7 +411,7 @@ namespace TemuKJD.KJDForms.AdminForms // // txtPriceDown // - this.txtPriceDown.Location = new System.Drawing.Point(835, 37); + this.txtPriceDown.Location = new System.Drawing.Point(908, 37); this.txtPriceDown.Margin = new System.Windows.Forms.Padding(0); this.txtPriceDown.Name = "txtPriceDown"; this.txtPriceDown.Size = new System.Drawing.Size(48, 23); @@ -374,7 +430,7 @@ namespace TemuKJD.KJDForms.AdminForms // label10 // this.label10.AutoSize = true; - this.label10.Location = new System.Drawing.Point(803, 40); + this.label10.Location = new System.Drawing.Point(876, 40); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(32, 17); this.label10.TabIndex = 680; @@ -455,7 +511,7 @@ namespace TemuKJD.KJDForms.AdminForms // label7 // this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(465, 40); + this.label7.Location = new System.Drawing.Point(453, 28); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(52, 17); this.label7.TabIndex = 734; @@ -476,7 +532,7 @@ namespace TemuKJD.KJDForms.AdminForms // splitContainer3.Panel2 // this.splitContainer3.Panel2.Controls.Add(this.splitContainer4); - this.splitContainer3.Size = new System.Drawing.Size(1241, 461); + this.splitContainer3.Size = new System.Drawing.Size(1344, 461); this.splitContainer3.SplitterDistance = 431; this.splitContainer3.TabIndex = 1; // @@ -498,9 +554,9 @@ namespace TemuKJD.KJDForms.AdminForms this.splitContainer2.Panel2.Controls.Add(this.pbLoading); this.splitContainer2.Panel2.Controls.Add(this.panelEx1); this.splitContainer2.Panel2.Controls.Add(this.btnClear); - this.splitContainer2.Panel2.Controls.Add(this.dgvAdjust); + this.splitContainer2.Panel2.Controls.Add(this.dgvPriceCheck); this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0); - this.splitContainer2.Size = new System.Drawing.Size(1241, 431); + this.splitContainer2.Size = new System.Drawing.Size(1344, 431); this.splitContainer2.SplitterDistance = 280; this.splitContainer2.TabIndex = 0; // @@ -535,6 +591,7 @@ namespace TemuKJD.KJDForms.AdminForms this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colSelect, + this.colUser, this.colLoginName, this.colShopId, this.colShopName, @@ -561,6 +618,13 @@ namespace TemuKJD.KJDForms.AdminForms this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colSelect.Width = 28; // + // colUser + // + this.colUser.HeaderText = "店铺账户"; + this.colUser.Name = "colUser"; + this.colUser.ReadOnly = true; + this.colUser.Visible = false; + // // colLoginName // this.colLoginName.HeaderText = "店铺登录名"; @@ -620,7 +684,7 @@ namespace TemuKJD.KJDForms.AdminForms // this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pbLoading.Location = new System.Drawing.Point(453, 190); + this.pbLoading.Location = new System.Drawing.Point(505, 190); this.pbLoading.Name = "pbLoading"; this.pbLoading.Size = new System.Drawing.Size(50, 50); this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; @@ -659,7 +723,7 @@ namespace TemuKJD.KJDForms.AdminForms this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand; this.btnClear.DisabledBackColor = System.Drawing.Color.Empty; this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnClear.Location = new System.Drawing.Point(722, 380); + this.btnClear.Location = new System.Drawing.Point(825, 380); this.btnClear.Name = "btnClear"; this.btnClear.Size = new System.Drawing.Size(90, 21); this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -680,12 +744,12 @@ namespace TemuKJD.KJDForms.AdminForms // // dgvAdjust // - this.dgvAdjust.AllowUserToAddRows = false; - this.dgvAdjust.AllowUserToDeleteRows = false; + this.dgvPriceCheck.AllowUserToAddRows = false; + this.dgvPriceCheck.AllowUserToDeleteRows = false; dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvAdjust.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3; - this.dgvAdjust.BackgroundColor = System.Drawing.Color.White; - this.dgvAdjust.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + 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))))); 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))); @@ -693,10 +757,11 @@ namespace TemuKJD.KJDForms.AdminForms dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvAdjust.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; - this.dgvAdjust.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dgvAdjust.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dgvPriceCheck.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; + this.dgvPriceCheck.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvPriceCheck.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colCheck, + this.colProdIndex, this.colOrderId, this.colSupplierId, this.colSupplierName, @@ -706,6 +771,8 @@ namespace TemuKJD.KJDForms.AdminForms this.colProdSkc, this.colProdName, this.colSkuName, + this.colExtCode, + this.colExtCodePrice, this.colPrcie, this.colAdjustPrice, this.colNewPrice, @@ -713,15 +780,56 @@ namespace TemuKJD.KJDForms.AdminForms this.colOk, this.colCancel, this.colMsg}); - this.dgvAdjust.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvAdjust.Location = new System.Drawing.Point(0, 0); - this.dgvAdjust.Name = "dgvAdjust"; - this.dgvAdjust.ReadOnly = true; - this.dgvAdjust.RowTemplate.Height = 23; - this.dgvAdjust.Size = new System.Drawing.Size(953, 431); - this.dgvAdjust.TabIndex = 187; - this.dgvAdjust.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvAdjust_CellContentClick); - this.dgvAdjust.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvAdjust_Scroll); + this.dgvPriceCheck.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvPriceCheck.Location = new System.Drawing.Point(0, 0); + this.dgvPriceCheck.Name = "dgvAdjust"; + this.dgvPriceCheck.ReadOnly = true; + this.dgvPriceCheck.RowTemplate.Height = 23; + this.dgvPriceCheck.Size = new System.Drawing.Size(1056, 431); + this.dgvPriceCheck.TabIndex = 187; + this.dgvPriceCheck.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvAdjust_CellContentClick); + this.dgvPriceCheck.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvAdjust_Scroll); + // + // splitContainer4 + // + this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer4.Location = new System.Drawing.Point(0, 0); + this.splitContainer4.Name = "splitContainer4"; + // + // splitContainer4.Panel1 + // + this.splitContainer4.Panel1.Controls.Add(this.ucSplitPage1); + // + // splitContainer4.Panel2 + // + this.splitContainer4.Panel2.Controls.Add(this.statusBar); + this.splitContainer4.Size = new System.Drawing.Size(1344, 26); + this.splitContainer4.SplitterDistance = 282; + this.splitContainer4.TabIndex = 3; + // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Left; + this.ucSplitPage1.Location = new System.Drawing.Point(0, 0); + this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); + this.ucSplitPage1.Name = "ucSplitPage1"; + this.ucSplitPage1.Size = new System.Drawing.Size(282, 26); + this.ucSplitPage1.TabIndex = 5; + this.ucSplitPage1.TotalPage = 1; + this.ucSplitPage1.PageChange += new System.Action(this.ucSplitPage1_PageChange); + // + // 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(1058, 26); + this.statusBar.TabIndex = 2; // // colCheck // @@ -732,6 +840,13 @@ namespace TemuKJD.KJDForms.AdminForms this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colCheck.Width = 30; // + // colProdIndex + // + this.colProdIndex.HeaderText = "商品序号"; + this.colProdIndex.Name = "colProdIndex"; + this.colProdIndex.ReadOnly = true; + this.colProdIndex.Width = 68; + // // colOrderId // this.colOrderId.HeaderText = "处理单号"; @@ -784,7 +899,7 @@ namespace TemuKJD.KJDForms.AdminForms this.colProdSkc.ReadOnly = true; this.colProdSkc.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colProdSkc.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colProdSkc.Width = 80; + this.colProdSkc.Width = 90; // // colProdName // @@ -804,9 +919,23 @@ namespace TemuKJD.KJDForms.AdminForms this.colSkuName.ReadOnly = true; this.colSkuName.Width = 90; // + // colExtCode + // + this.colExtCode.HeaderText = "货号"; + this.colExtCode.Name = "colExtCode"; + this.colExtCode.ReadOnly = true; + this.colExtCode.Width = 160; + // + // colExtCodePrice + // + this.colExtCodePrice.HeaderText = "货号进价"; + this.colExtCodePrice.Name = "colExtCodePrice"; + this.colExtCodePrice.ReadOnly = true; + this.colExtCodePrice.Width = 68; + // // colPrcie // - this.colPrcie.HeaderText = "原价"; + this.colPrcie.HeaderText = "原报价"; this.colPrcie.Name = "colPrcie"; this.colPrcie.ReadOnly = true; this.colPrcie.Width = 60; @@ -823,14 +952,14 @@ namespace TemuKJD.KJDForms.AdminForms this.colNewPrice.HeaderText = "新报价"; this.colNewPrice.Name = "colNewPrice"; this.colNewPrice.ReadOnly = true; - this.colNewPrice.Width = 80; + this.colNewPrice.Width = 68; // // colPriceTimes // this.colPriceTimes.HeaderText = "报价次数"; this.colPriceTimes.Name = "colPriceTimes"; this.colPriceTimes.ReadOnly = true; - this.colPriceTimes.Width = 80; + this.colPriceTimes.Width = 68; // // colOk // @@ -839,7 +968,7 @@ namespace TemuKJD.KJDForms.AdminForms this.colOk.ReadOnly = true; this.colOk.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colOk.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colOk.Width = 80; + this.colOk.Width = 68; // // colCancel // @@ -848,59 +977,19 @@ namespace TemuKJD.KJDForms.AdminForms this.colCancel.ReadOnly = true; this.colCancel.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colCancel.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colCancel.Width = 80; + this.colCancel.Width = 68; // // colMsg // this.colMsg.HeaderText = "状态"; this.colMsg.Name = "colMsg"; this.colMsg.ReadOnly = true; - // - // splitContainer4 - // - this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; - this.splitContainer4.Location = new System.Drawing.Point(0, 0); - this.splitContainer4.Name = "splitContainer4"; - // - // splitContainer4.Panel1 - // - this.splitContainer4.Panel1.Controls.Add(this.ucSplitPage1); - // - // splitContainer4.Panel2 - // - this.splitContainer4.Panel2.Controls.Add(this.statusBar); - this.splitContainer4.Size = new System.Drawing.Size(1241, 26); - this.splitContainer4.SplitterDistance = 282; - this.splitContainer4.TabIndex = 3; - // - // ucSplitPage1 - // - this.ucSplitPage1.CurrentPage = 1; - this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Left; - this.ucSplitPage1.Location = new System.Drawing.Point(0, 0); - this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); - this.ucSplitPage1.Name = "ucSplitPage1"; - this.ucSplitPage1.Size = new System.Drawing.Size(282, 26); - this.ucSplitPage1.TabIndex = 5; - this.ucSplitPage1.TotalPage = 1; - this.ucSplitPage1.PageChange += new System.Action(this.ucSplitPage1_PageChange); - // - // 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(955, 26); - this.statusBar.TabIndex = 2; + this.colMsg.Width = 160; // // AdminProductPriceCheckForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(1241, 585); + 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.Name = "AdminProductPriceCheckForm"; @@ -924,7 +1013,7 @@ namespace TemuKJD.KJDForms.AdminForms ((System.ComponentModel.ISupportInitialize)(this.pbShopLoading)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.dgvAdjust)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvPriceCheck)).EndInit(); this.splitContainer4.Panel1.ResumeLayout(false); this.splitContainer4.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).EndInit(); @@ -945,7 +1034,7 @@ namespace TemuKJD.KJDForms.AdminForms private System.Windows.Forms.SplitContainer splitContainer3; private System.Windows.Forms.SplitContainer splitContainer2; private UserComponent.DataGridViewEx dgvShop; - private UserComponent.DataGridViewEx dgvAdjust; + private UserComponent.DataGridViewEx dgvPriceCheck; private System.Windows.Forms.SplitContainer splitContainer4; private UserControls.StatusBarUserControl statusBar; private DevComponents.DotNetBar.PanelEx panelEx1; @@ -964,7 +1053,13 @@ namespace TemuKJD.KJDForms.AdminForms private System.Windows.Forms.PictureBox pbShopLoading; private UserComponent.UcCheckBox chkSearchAllShop; private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox txtSkcId; + private System.Windows.Forms.Label label7; + private DevComponents.DotNetBar.PanelEx panelEx2; + private DevComponents.DotNetBar.PanelEx btnMutliCancel; + private DevComponents.DotNetBar.PanelEx btnMutliOk; private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colUser; private System.Windows.Forms.DataGridViewTextBoxColumn colLoginName; private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; @@ -972,9 +1067,10 @@ namespace TemuKJD.KJDForms.AdminForms private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus; private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse; private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; - private System.Windows.Forms.TextBox txtSkcId; - private System.Windows.Forms.Label label7; + private DevComponents.DotNetBar.PanelEx btnSearchPrice2; + private DevComponents.DotNetBar.PanelEx btnStop; private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck; + private System.Windows.Forms.DataGridViewTextBoxColumn colProdIndex; private System.Windows.Forms.DataGridViewTextBoxColumn colOrderId; private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId; private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName; @@ -984,6 +1080,8 @@ namespace TemuKJD.KJDForms.AdminForms private System.Windows.Forms.DataGridViewLinkColumn colProdSkc; private System.Windows.Forms.DataGridViewTextBoxColumn colProdName; private System.Windows.Forms.DataGridViewTextBoxColumn colSkuName; + private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode; + private System.Windows.Forms.DataGridViewTextBoxColumn colExtCodePrice; private System.Windows.Forms.DataGridViewTextBoxColumn colPrcie; private System.Windows.Forms.DataGridViewTextBoxColumn colAdjustPrice; private System.Windows.Forms.DataGridViewTextBoxColumn colNewPrice; @@ -991,8 +1089,5 @@ namespace TemuKJD.KJDForms.AdminForms private System.Windows.Forms.DataGridViewLinkColumn colOk; private System.Windows.Forms.DataGridViewLinkColumn colCancel; private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; - private DevComponents.DotNetBar.PanelEx panelEx2; - private DevComponents.DotNetBar.PanelEx btnMutliCancel; - private DevComponents.DotNetBar.PanelEx btnMutliOk; } } \ No newline at end of file diff --git a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs index f6a06a3..23ac341 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs @@ -15,6 +15,7 @@ using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.KJDForms.BaseForms; using TemuKJD.KJDForms.ShopForms; +using TemuKJD.KJDForms.ToolForms; using Work; namespace TemuKJD.KJDForms.AdminForms @@ -22,6 +23,7 @@ namespace TemuKJD.KJDForms.AdminForms public partial class AdminProductPriceCheckForm : Form { PriceCheckConfig priceCheckConfig = null; + public CancellationTokenSource cancellationTokenSource { get; set; } = null; public List lstAdminShopInfo { get; set; } = new List(); public List lstCheckPriceInfo = new List(); @@ -33,7 +35,7 @@ namespace TemuKJD.KJDForms.AdminForms private void AdminProductPriceCheckForm_Load(object sender, EventArgs e) { this.dgvShop.AddSelectorColumn("colSelect"); - this.dgvAdjust.AddSelectorColumn("colCheck"); + this.dgvPriceCheck.AddSelectorColumn("colCheck"); if (BaseClass.SaLevel != 1) { @@ -70,12 +72,12 @@ namespace TemuKJD.KJDForms.AdminForms NaiBa.Util.Helper.ConfigHelper.SaveConfig("price_check_config", priceCheckConfig); } - bool firstLoad = true; + //bool firstLoad = true; private void AdminProductPriceCheckForm_VisibleChanged(object sender, EventArgs e) { - if (this.Visible && this.firstLoad) + if (this.Visible /*&& this.firstLoad*/) { - firstLoad = false; + //firstLoad = false; this.pbShopLoading.Visible = true; SearchShop(this.ucSplitPage1.CurrentPage); } @@ -96,7 +98,7 @@ namespace TemuKJD.KJDForms.AdminForms public void SearchShop(int page) { - List shopIdList = GetCheckedShopIdList(); + List shopIdSelectList = GetCheckedShopIdList(); if (InvokeRequired) { Invoke(new Action(() => @@ -125,7 +127,8 @@ namespace TemuKJD.KJDForms.AdminForms Invoke(new Action(() => { int rowIndex = this.dgvShop.Rows.Add( - shopIdList.Contains(shop.ShopId + shop.UserName), + shopIdSelectList.Contains(shop.ShopId + shop.UserName), + shop.UserName, shop.LoginName, shop.ShopId, shop.ShopAccount, @@ -134,11 +137,12 @@ namespace TemuKJD.KJDForms.AdminForms canUse, string.Empty ); - var row = dgvShop.Rows[rowIndex]; - (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; + displayShopStatus(shop); + //var row = dgvShop.Rows[rowIndex]; + //(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; })); } @@ -157,7 +161,7 @@ namespace TemuKJD.KJDForms.AdminForms if (dgvShop.Rows[i].Cells["colSelect"].Value.ParseToBool()) { string shopName = dgvShop.Rows[i].Cells["colShopId"].Value.ParseToString(); - //shopName += dgvShop.Rows[i].Cells["colUser"].Value.ParseToString(); + shopName += dgvShop.Rows[i].Cells["colUser"].Value.ParseToString(); shopNameList.Add(shopName); } } @@ -175,9 +179,9 @@ namespace TemuKJD.KJDForms.AdminForms var data = UserLogin.GetSignaturex() + "&page=" + page + "&page_size=" + pageSize + - "&shop_ids=" + txtShopId.Text.Trim() + - "&shop_names=" + txtShopName.Text.Trim() + - "&search_notes=" + txtNotes.Text.Trim(); + "&shop_ids=" + txtShopId.Text.Trim().Trim(',') + + "&shop_names=" + txtShopName.Text.Trim().Trim(',') + + "&search_notes=" + txtNotes.Text.Trim().Trim(','); if (BaseClass.SaLevel > 1 && !chkSearchAllShop.Checked) data += "&operate_sub_sa_name=" + BaseClass.UserName; var html = GetHtml.PostUtf8(url, data); @@ -235,6 +239,11 @@ namespace TemuKJD.KJDForms.AdminForms if (shop == null) return; + displayShopStatus(shop); + } + + void displayShopStatus(ShopLoginInfo shop) + { bool canUse = shop.LoginStatus2 == "国际版在线"; var rows = this.dgvShop.Rows.Cast().Where(r => r.Cells["colLoginName"].Value.ParseToString() == shop?.LoginName); foreach (var row in rows) @@ -245,32 +254,38 @@ namespace TemuKJD.KJDForms.AdminForms (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; - } + } } private void dgvAdjust_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex < 0 || e.RowIndex < 0) return; - string headerText = dgvAdjust.Columns[e.ColumnIndex].HeaderText; - string orderId = dgvAdjust.Rows[e.RowIndex].Cells["colOrderId"].Value.ParseToString(); - string accountId = dgvAdjust.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString(); + string headerText = dgvPriceCheck.Columns[e.ColumnIndex].HeaderText; + string orderId = dgvPriceCheck.Rows[e.RowIndex].Cells["colOrderId"].Value.ParseToString(); + string accountId = dgvPriceCheck.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString(); var shop = lstAdminShopInfo.FirstOrDefault(v => v.ShopId == accountId); switch (headerText) { case "同意报价": { - applyHighPrice(shop, orderId, dgvAdjust.Rows[e.RowIndex]); + applyHighPrice(shop, orderId, dgvPriceCheck.Rows[e.RowIndex]); } break; case "拒绝报价": { - cancelLowPrice(shop, orderId, dgvAdjust.Rows[e.RowIndex]); + cancelLowPrice(shop, orderId, dgvPriceCheck.Rows[e.RowIndex]); } break; + case "Skc图片": + string url = dgvPriceCheck.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString().Replace("img.kwcdn.com", "img.cdnfe.com"); + url = url.IndexOf("?") < 0 ? url : url.Substring(0, url.IndexOf("?")); + ShowImgForm imgFrom = new ShowImgForm(url); + imgFrom.ShowDialog(); + break; default: - dgvAdjust.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvAdjust.Rows[e.RowIndex].Cells["colCheck"].Value; + dgvPriceCheck.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvPriceCheck.Rows[e.RowIndex].Cells["colCheck"].Value; break; } } @@ -307,6 +322,14 @@ namespace TemuKJD.KJDForms.AdminForms data = data.TrimEnd(','); data += "],\"bargainReasonList\":[]}"; var rst = applyPrice(shop, orderId, data); + if (rst.Contains("登录过期") || rst.Contains("Invalid Login State")) + { + AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + Invoke(new Action(() => + { + displayShopStatus(shop); + })); + } if (row != null) { if (rst.Contains("\"success\":true")) @@ -348,10 +371,21 @@ namespace TemuKJD.KJDForms.AdminForms data = data.TrimEnd(','); data += "],\"bargainReasonList\":[]}"; var rst = rePrice(shop, orderId, data); + if (rst.Contains("登录过期") || rst.Contains("Invalid Login State")) + { + AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + Invoke(new Action(() => + { + displayShopStatus(shop); + })); + } if (row != null) { if (rst.Contains("\"success\":true")) + { row.Cells["colMsg"].Value = "已重新申请价格"; + row.Cells["colNewPrice"].Value = (priceReview.supplyPrice - priceDown) / 100.0; + } else row.Cells["colMsg"].Value = "重新申请价格失败" + rst; } @@ -363,6 +397,14 @@ namespace TemuKJD.KJDForms.AdminForms return; var rst = this.cancelPrice(shop, orderId); + if (rst.Contains("登录过期") || rst.Contains("Invalid Login State")) + { + AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + Invoke(new Action(() => + { + displayShopStatus(shop); + })); + } if (row != null) { if (rst.Contains("\"success\":true")) @@ -373,6 +415,16 @@ namespace TemuKJD.KJDForms.AdminForms } private void btnSearchPrice_Click(object sender, EventArgs e) + { + SearchPrice("待卖家确认"); + } + + private void btnSearchPrice2_Click(object sender, EventArgs e) + { + SearchPrice("待创建首单"); + } + + 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(); @@ -383,9 +435,10 @@ namespace TemuKJD.KJDForms.AdminForms return; } - this.dgvAdjust.Rows.Clear(); + this.dgvPriceCheck.Rows.Clear(); this.lstCheckPriceInfo.Clear(); this.pbLoading.Visible = true; + cancellationTokenSource = new CancellationTokenSource(); Task.Run(() => { foreach (var shopId in selectShopIdLst) @@ -397,49 +450,73 @@ namespace TemuKJD.KJDForms.AdminForms AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); if (shop.LoginStatus2 != "国际版在线") { - var canUse = false; - var rows = this.dgvShop.Rows.Cast().Where(r => r.Cells["colLoginName"].Value.ParseToString() == shop?.LoginName); - foreach (var row in rows) + Invoke(new Action(() => { - row.Cells["colCanUse"].Value = 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; - } + displayShopStatus(shop); + })); } int page = 0; int totalPage = 1; + int prodIndex = 0; while (page < totalPage) { + if (cancellationTokenSource.IsCancellationRequested) + break; page++; - var searchRst = this.SearchForChainSupplier(shop, page, txtSkcId.Text.Trim()); + var searchRst = this.SearchForChainSupplier(shop, page, txtSkcId.Text.Trim().Trim(','), type); + if (searchRst.Contains("登录过期") || searchRst.Contains("Invalid Login State")) + { + AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + Invoke(new Action(() => + { + displayShopStatus(shop); + })); + } if (searchRst.Contains("\"success\":true")) { try { + int total = BaseRegex.GetStringJson(ref searchRst, "total").ParseToInt(); + totalPage = Math.Ceiling(total / 100.0).ParseToInt(); + var jObj = JObject.Parse(searchRst); var jArr = jObj["result"]["dataList"] as JArray; if (jArr == null) jArr = new JArray(); + List extCodeLst = new List(); + List checkPriceInfoTmpLst = new List(); foreach (var item in jArr) { + var jStr = JsonHelper.SerializeObject(item); TemuCheckPriceInfo priceInfo = JsonHelper.DeserializeJsonToObject(jStr); lstCheckPriceInfo.Add(priceInfo); + checkPriceInfoTmpLst.Add(priceInfo); + extCodeLst.Add(priceInfo.skcList.FirstOrDefault()?.extCode); + } + var extCodePriceList = GetServerExtCodePriceLst(extCodeLst.Distinct().ToList()); + foreach (var priceInfo in checkPriceInfoTmpLst) + { + prodIndex++; + Invoke(new Action(() => { + this.statusBar.lblTaskStatus.Text = "正在查询" + type + ",共有 " + total + " 件商品"; + this.statusBar.pgbTaskProgress.Maximum = total; + this.statusBar.UpdateProgressBar(prodIndex); + })); - string imgUrl = priceInfo.skcList.FirstOrDefault()?.previewImgUrlList.FirstOrDefault(); if (imgUrl == null) imgUrl = ""; - imgUrl = imgUrl.Replace("https://", "http://") + "?imageMogr2/thumbnail/60x"; - //string getImgError = ""; - //var img = GetHtml.GetUrlImg(imgUrl + "?imageMogr2/thumbnail/60x", out getImgError); + imgUrl = imgUrl.Replace("https://", "http://").Replace("img.kwcdn.com", "img.cdnfe.com") + "?imageMogr2/thumbnail/60x"; + //string getImgError = ""; + //var img = GetHtml.GetUrlImg(imgUrl + "?imageMogr2/thumbnail/60x", out getImgError); foreach (var reviewInfo in priceInfo.skcList.FirstOrDefault().supplierPriceReviewInfoList) { + if (cancellationTokenSource.IsCancellationRequested) + break; + if (reviewInfo.status == 3) //放弃调整报价,报价显示已作废 continue; @@ -457,20 +534,33 @@ namespace TemuKJD.KJDForms.AdminForms skuName += "\r\n"; } } - var orderPriceRst = GetCheckPrice(shop, reviewInfo.priceOrderId.ParseToString()); - reviewInfo.suggestSupplyPrice = BaseRegex.GetIntJson(ref orderPriceRst, "suggestSupplyPrice"); - reviewInfo.supplyPrice = BaseRegex.GetIntJson(ref orderPriceRst, "supplyPrice"); - var suggestSupplyPrice = (reviewInfo.suggestSupplyPrice / 100.0).ToString(); - if (suggestSupplyPrice == "0") - suggestSupplyPrice = "获取推荐价格失败,请重试"; - else - suggestSupplyPrice += "¥"; + var suggestSupplyPrice = "-"; + if (type == "待卖家确认") + { + var orderPriceRst = "店铺掉线"; + if (shop.LoginStatus2 == "国际版在线") + orderPriceRst = GetCheckPrice(shop, reviewInfo.priceOrderId.ParseToString()); + if (orderPriceRst.Contains("登录过期") || orderPriceRst.Contains("Invalid Login State")) + { + AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + } + reviewInfo.suggestSupplyPrice = BaseRegex.GetIntJson(ref orderPriceRst, "suggestSupplyPrice"); + reviewInfo.supplyPrice = BaseRegex.GetIntJson(ref orderPriceRst, "supplyPrice"); + suggestSupplyPrice = (reviewInfo.suggestSupplyPrice / 100.0).ToString(); + if (suggestSupplyPrice == "0") + suggestSupplyPrice = "获取推荐价格失败,请重试" + orderPriceRst; + else + suggestSupplyPrice += "¥"; + } + var reviewExtCode = priceInfo.skcList.FirstOrDefault()?.extCode; + var extCodePrice = extCodePriceList.FirstOrDefault(p => reviewExtCode == p.ext_code); Thread.Sleep(Randomx.GetId(20, 50)); Invoke(new Action(() => { - int rowId = this.dgvAdjust.Rows.Add( + int rowId = this.dgvPriceCheck.Rows.Add( false, + prodIndex, reviewInfo.priceOrderId, priceInfo.supplierId, priceInfo.supplierName, @@ -480,7 +570,10 @@ namespace TemuKJD.KJDForms.AdminForms priceInfo.skcList.FirstOrDefault()?.skcId, priceInfo.productName, skuName, - reviewInfo.productSkuList.FirstOrDefault()?.supplierPrice, //priceInfo.supplierPrice, + reviewExtCode, + extCodePrice == null ? "-" : (extCodePrice.original_price / 100.0).ParseToString(), + // sku不同价的会被分成多个review,priceInfo此时为价格范围 + reviewInfo.productSkuList.FirstOrDefault()?.supplierPrice, //priceInfo.supplierPrice suggestSupplyPrice,//核价 "", //新报价 reviewInfo.times, // 修改报价次数 @@ -488,7 +581,7 @@ namespace TemuKJD.KJDForms.AdminForms "拒绝", "" ); - dgvAdjust.Rows[rowId].Height = 60; + dgvPriceCheck.Rows[rowId].Height = 60; })); } this.ShowDgvImg(); @@ -501,24 +594,37 @@ namespace TemuKJD.KJDForms.AdminForms } } - int total = BaseRegex.GetStringJson(ref searchRst, "total").ParseToInt(); - totalPage = Math.Ceiling(total / 100.0).ParseToInt(); } } Invoke(new Action(() => { this.pbLoading.Visible = false; + string sRst = type + " 查询结束!"; + if (cancellationTokenSource.IsCancellationRequested) + sRst = type + " 已取消查询!"; + BaseMsgForm.ShowInfo(sRst); + this.statusBar.lblTaskStatus.Text = sRst; })); - }); + }, cancellationTokenSource.Token); } - private string SearchForChainSupplier (ShopLoginInfo shop, int page, string prodSkcIds = null) + private string SearchForChainSupplier (ShopLoginInfo shop, int page, string prodSkcIds = null, string type = "待卖家确认") { string url = "https://agentseller.temu.com/api/kiana/mms/robin/searchForChainSupplier"; - string body = @"{""pageSize"":100,""pageNum"":" + page + @",""priceReviewStatusList"":[1],""secondarySelectStatusList"":[7],""supplierTodoTypeList"":[]}"; - if (!string.IsNullOrEmpty(prodSkcIds)) - body = @"{""pageSize"":50,""pageNum"":" + page + @",""priceReviewStatusList"":[1],""secondarySelectStatusList"":[7],""supplierTodoTypeList"":[],""productSkcIdList"":["+ prodSkcIds + "]}"; + string body = ""; + if (type == "待卖家确认") + { + body = @"{""pageSize"":100,""pageNum"":" + page + @",""priceReviewStatusList"":[1],""secondarySelectStatusList"":[7],""supplierTodoTypeList"":[]}"; + if (!string.IsNullOrEmpty(prodSkcIds)) + body = @"{""pageSize"":100,""pageNum"":" + page + @",""priceReviewStatusList"":[1],""secondarySelectStatusList"":[7],""supplierTodoTypeList"":[],""productSkcIdList"":["+ prodSkcIds + "]}"; + } + if (type == "待创建首单") + { + body = @"{""pageSize"":100,""pageNum"":" + page + @",""secondarySelectStatusList"":[10],""supplierTodoTypeList"":[]}"; + if (!string.IsNullOrEmpty(prodSkcIds)) + body = @"{""pageSize"":100,""pageNum"":" + page + @",""secondarySelectStatusList"":[10],""supplierTodoTypeList"":[],""productSkcIdList"":[" + prodSkcIds + "]}"; + } string referer = "https://agentseller.temu.com/newon/product-select"; return KJDHttpResponse.PostResponse2(shop, url, body, referer); } @@ -577,7 +683,7 @@ namespace TemuKJD.KJDForms.AdminForms { Task.Run(() => { - foreach (DataGridViewRow row in this.dgvAdjust.Rows) + foreach (DataGridViewRow row in this.dgvPriceCheck.Rows) { if (row.Index > 0 && row.Cells["colProductSkcPic"].Displayed == false) { @@ -609,7 +715,8 @@ namespace TemuKJD.KJDForms.AdminForms { Invoke(new Action(() => { - row.Cells["colProductSkcPic"].Value = image; + if (dgvPriceCheck.Rows.Contains(row)) + row.Cells["colProductSkcPic"].Value = image; })); } catch @@ -626,7 +733,7 @@ namespace TemuKJD.KJDForms.AdminForms private void btnReturnProdName_Click(object sender, EventArgs e) { - var products = this.dgvAdjust.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true) + var products = this.dgvPriceCheck.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true) .Select(r => r.Cells["colProductId"].Value.ParseToString()); var prices = this.lstCheckPriceInfo.Where(p => products.Contains(p.productId.ParseToString())).ToList(); @@ -641,10 +748,21 @@ namespace TemuKJD.KJDForms.AdminForms { foreach (var price in prices) { - var rows = this.dgvAdjust.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == price.productId.ParseToString()).ToList(); + var rows = this.dgvPriceCheck.Rows.Cast().Where(r => r.Cells["colProductId"].Value.ParseToString() == price.productId.ParseToString()).ToList(); var shop = lstAdminShopInfo.FirstOrDefault(s => s.ShopId == price.supplierId.ParseToString()); var html = editPriceProductNameBatchAdd(shop, price.productId.ParseToString()); + if (shop == null) + continue; + if (shop.LoginStatus2 != "国际版在线") + { + Invoke(new Action(() => + { + foreach (var row in rows) + row.Cells["colMsg"].Value = "店铺掉线"; + })); + continue; + } var pName = price.productName; if ((pName.EndsWith("适合不同的搭配风格") && pName.IndexOf("个") < 4 && pName.IndexOf("个") > 0) || @@ -673,6 +791,14 @@ namespace TemuKJD.KJDForms.AdminForms } if (!html.Contains("\"success\":true")) { + if (html.Contains("登录过期") || html.Contains("Invalid Login State")) + { + AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + Invoke(new Action(() => + { + displayShopStatus(shop); + })); + } string sErrMsg = BaseRegex.GetStringJson(ref html, "errorMsg").ParseToString(); if (string.IsNullOrEmpty(sErrMsg)) { @@ -717,6 +843,14 @@ namespace TemuKJD.KJDForms.AdminForms } else { + if (html.Contains("登录过期") || html.Contains("Invalid Login State")) + { + AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + Invoke(new Action(() => + { + displayShopStatus(shop); + })); + } string sErrMsg = BaseRegex.GetStringJson(ref html, "errorMsg").ParseToString(); if (string.IsNullOrEmpty(sErrMsg)) sErrMsg = BaseRegex.GetStringJson(ref html, "error_msg").ParseToString(); @@ -750,7 +884,7 @@ namespace TemuKJD.KJDForms.AdminForms private void btnRePrice_Click(object sender, EventArgs e) { - var rows = this.dgvAdjust.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + var rows = this.dgvPriceCheck.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); if (rows.Count == 0) { BaseMsgForm.ShowError("未选择要重新报价的商品!"); @@ -779,7 +913,7 @@ namespace TemuKJD.KJDForms.AdminForms private void btnMutliOk_Click(object sender, EventArgs e) { - var rows = this.dgvAdjust.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + var rows = this.dgvPriceCheck.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); if (rows.Count == 0) { BaseMsgForm.ShowError("未选择要重新报价的商品!"); @@ -808,7 +942,7 @@ namespace TemuKJD.KJDForms.AdminForms private void btnMutliCancel_Click(object sender, EventArgs e) { - var rows = this.dgvAdjust.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + var rows = this.dgvPriceCheck.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); if (rows.Count == 0) { BaseMsgForm.ShowError("未选择要重新报价的商品!"); @@ -834,6 +968,45 @@ namespace TemuKJD.KJDForms.AdminForms })); }); } + + private void btnStop_Click(object sender, EventArgs e) + { + if (cancellationTokenSource != null) + cancellationTokenSource.Cancel(); + } + + public List GetServerExtCodePriceLst(List extCodeList) + { + List list = new List(); + + for(int i = 0; i< extCodeList.Count; i++) + { + extCodeList[i] = extCodeList[i].Replace(",", "").Replace("'", "").Replace("\"", ""); + } + var url = BaseClass.BuildObjString("price/get_price_list"); + var data = UserLogin.GetSignaturex(); + data += "&page=1"; + data += "&page_size=200"; + data += "&in_ext_code=" + string.Join(",", extCodeList); + var html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + { + return list; + } + + if (!html.Contains("data")) + return list; + + var jArr = JObject.Parse(html)["data"]; + if (jArr.Count() == 0) + return list; + + return JsonHelper.DeserializeJsonToList(jArr.ToString()); + } } public class PriceCheckConfig diff --git a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.resx b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.resx index 8dd4e91..3455eb7 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.resx +++ b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.resx @@ -120,6 +120,9 @@ True + + True + True @@ -141,6 +144,9 @@ True + + True + True @@ -165,6 +171,12 @@ True + + True + + + True + True diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs index 2113cc6..39b5f56 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs @@ -31,7 +31,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms { List lstAdminTemuDBProductSelect = new List(); List shopLst = new List(); - List lstDbPrice = new List(); + List lstDbPrice = new List(); List lstCustomImg = new List(); Dictionary dicCustomImg = new Dictionary(); @@ -1928,9 +1928,9 @@ Content-Disposition: form-data; name=""upload_sign"" }); } - public List GetServerPriceLst(List extCodeList) + public List GetServerPriceLst(List extCodeList) { - List list = new List(); + List list = new List(); var url = BaseClass.BuildObjString("price/get_price_list"); var data = UserLogin.GetSignaturex(); @@ -1954,7 +1954,7 @@ Content-Disposition: form-data; name=""upload_sign"" if (jArr.Count() == 0) return list; - return JsonHelper.DeserializeJsonToList(jArr.ToString()); + return JsonHelper.DeserializeJsonToList(jArr.ToString()); } private void btnCustomImg_Click(object sender, EventArgs e) diff --git a/TEMUKJD/KJDForms/ProductSelectForms/Price/DbPriceEditForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/Price/DbPriceEditForm.cs index 6e40e35..6540bb9 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/Price/DbPriceEditForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/Price/DbPriceEditForm.cs @@ -17,8 +17,8 @@ namespace TemuKJD.KJDForms.ProductSelectForms { public partial class DbPriceEditForm : LRBaseForm { - TemuDBPriceInfo priceInfo = null; - public DbPriceEditForm(TemuDBPriceInfo price) + TemuDBExtCodePriceInfo priceInfo = null; + public DbPriceEditForm(TemuDBExtCodePriceInfo price) { InitializeComponent(); if (price != null) diff --git a/TEMUKJD/KJDForms/ProductSelectForms/Price/DbProductPriceMarkUpForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/Price/DbProductPriceMarkUpForm.cs index 7150343..8bb8210 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/Price/DbProductPriceMarkUpForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/Price/DbProductPriceMarkUpForm.cs @@ -21,7 +21,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms { public partial class DbPriceMarkUpForm : Form { - List lstPriceInfo = new List(); + List lstPriceInfo = new List(); public DbPriceMarkUpForm() { @@ -111,7 +111,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms if (productArr.Length > 3) { count++; - TemuDBPriceInfo price = new TemuDBPriceInfo + TemuDBExtCodePriceInfo price = new TemuDBExtCodePriceInfo { ext_code = productArr[0], original_price = (productArr[1].ParseToDecimal() * 100).ParseToInt(), @@ -158,7 +158,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms } } - public string AddDbPrice(TemuDBPriceInfo _price, bool isShowErrMsg = true) + public string AddDbPrice(TemuDBExtCodePriceInfo _price, bool isShowErrMsg = true) { var url = BaseClass.BuildObjString("price/add_price"); var data = UserLogin.GetSignaturex() @@ -270,9 +270,9 @@ namespace TemuKJD.KJDForms.ProductSelectForms return extCodeList; } - public List GetServerPriceLst(out int pageCount, int page = 1, int pageSize = 200) + public List GetServerPriceLst(out int pageCount, int page = 1, int pageSize = 200) { - List list = new List(); + List list = new List(); pageCount = 1; var url = BaseClass.BuildObjString("price/get_price_list"); @@ -313,7 +313,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms if (jArr.Count() == 0) return list; - return JsonHelper.DeserializeJsonToList(jArr.ToString()); + return JsonHelper.DeserializeJsonToList(jArr.ToString()); } private void dgvPrice_CellContentClick(object sender, DataGridViewCellEventArgs e) @@ -351,7 +351,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms private void EditForm_SaveCompleteWithDescribe(object arg1, object arg2) { - var price = arg1 as TemuDBPriceInfo; + var price = arg1 as TemuDBExtCodePriceInfo; if (price != null) { var rows = this.dgvPrice.Rows.Cast().Where(r => r.Cells["colId"].Value.ParseToInt() == price.id);