From 4fd8d9cc177818b13ceb13cceb61b645c83d6184 Mon Sep 17 00:00:00 2001 From: wule Date: Thu, 5 Feb 2026 19:32:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AE=A2=E6=9C=8D=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AllBase/AllBase.csproj | 3 + AllBase/BaseClass.cs | 2 +- AllBase/Model/Config/WxShopAfterSaleInfo.cs | 15 + AllBase/Model/Config/WxShopKfStatistics.cs | 56 +++ AllBase/Model/Config/WxShopMainStatistics.cs | 108 +++++ AllBase/Model/Result/ShopLoginInfo.cs | 2 +- TEMUKJD/ChangeForm.cs | 2 +- .../PDDDBProdEditForm.Designer.cs | 208 ++++---- .../ProductSelectForms/PDDDBProdListForm.cs | 5 + .../ProductSelectForms/UcAddPrice.Designer.cs | 2 +- .../WXDBProdUploadForm.Designer.cs | 347 +++++++------- .../ProductForms/WXDBProdUploadForm.cs | 61 ++- .../ShopForms/WXShopListForm.Designer.cs | 154 +++--- TEMUKJD/WXForms/ShopForms/WXShopListForm.cs | 11 + .../WXForms/TalkForms/WxTalkForm.Designer.cs | 452 ++++++++++++++---- TEMUKJD/WXForms/TalkForms/WxTalkForm.cs | 252 +++++++++- TEMUKJD/WXForms/TalkForms/WxTalkForm.resx | 9 +- 17 files changed, 1218 insertions(+), 471 deletions(-) create mode 100644 AllBase/Model/Config/WxShopAfterSaleInfo.cs create mode 100644 AllBase/Model/Config/WxShopKfStatistics.cs create mode 100644 AllBase/Model/Config/WxShopMainStatistics.cs diff --git a/AllBase/AllBase.csproj b/AllBase/AllBase.csproj index af4fc13..3abb92d 100644 --- a/AllBase/AllBase.csproj +++ b/AllBase/AllBase.csproj @@ -177,6 +177,9 @@ + + + diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index ba5c057..b004dee 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 826; + public static int VersionCount = 830; //public static int VersionCount = 613; /// diff --git a/AllBase/Model/Config/WxShopAfterSaleInfo.cs b/AllBase/Model/Config/WxShopAfterSaleInfo.cs new file mode 100644 index 0000000..f04e99b --- /dev/null +++ b/AllBase/Model/Config/WxShopAfterSaleInfo.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Config +{ + public class WxShopAfterSaleInfo + { + public string ShopId { get; set; } + public int? AfterSaleCount { get; set; } + public DateTime RefreshTime { get; set; } + } +} diff --git a/AllBase/Model/Config/WxShopKfStatistics.cs b/AllBase/Model/Config/WxShopKfStatistics.cs new file mode 100644 index 0000000..f520b3d --- /dev/null +++ b/AllBase/Model/Config/WxShopKfStatistics.cs @@ -0,0 +1,56 @@ +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Config +{ + public class WxShopKfStatistics + { + public string ShopId { get; set; } + //public List + + /// + /// 咨询用户数 + /// + public int? user_cnt { get; set; } + + /// + /// 咨询会话数 + /// + public int? sesseion_cnt { get; set; } + + /// + /// 不回复率 + /// + public decimal? service_noreply_ratio { get; set; } + + public decimal? service_reply_ratio { get { return 1m - service_noreply_ratio; } } + + /// + /// 回复数量 不准 + /// + public int? replyUserCount { get { return user_cnt - (user_cnt * service_noreply_ratio + 0.1m).ParseToInt(); } } + + //cardResp { + // ... + // objects { + // tableValueLine [ + // { + // "columnValue": [ + // 1769011200, // 开始时间 + // "3", // 咨询用户数 + // "5", // 咨询会话数 + // "0.5", // 3分钟人工回复率 + // "4429", // 平均回复时长 + // "0.333333", // 不回复率 + // "1" // 用户满意率 + // ] + // } + // ] + // } + //} + } +} diff --git a/AllBase/Model/Config/WxShopMainStatistics.cs b/AllBase/Model/Config/WxShopMainStatistics.cs new file mode 100644 index 0000000..28f50c4 --- /dev/null +++ b/AllBase/Model/Config/WxShopMainStatistics.cs @@ -0,0 +1,108 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Config +{ + public class WxShopMainStatisticsInfo + { + public int? code { get; set; } // 0, + /// + /// 待发货 + /// + public MainStatisticsInfoRet orderNumRet { get; set; } + /// + /// 物流异常 + /// + public MainStatisticsInfoRet waybillErrorRet { get; set; } + /// + /// 售后 + /// + public MainStatisticsInfoRet aftersaleAllRet { get; set; } + /// + /// 服务保障 + /// + public MainStatisticsInfoRet guaranteeRet { get; set; } + /// + /// 店铺预警 + /// + public MainStatisticsInfoRet prewarnRet { get; set; } + /// + /// 店铺违规 + /// + public MainStatisticsInfoRet punishRet { get; set; } + /// + /// 工单 + /// + public MainStatisticsInfoRet mchUndealRet { get; set; } + } + + public class MainStatisticsInfoRet + { + //orderNumRet-pendingShipNum待发货 waybillErrorRet物流异常 aftersaleAllRet售后 guaranteeRet服务保障 prewarnRet店铺预警 punishRet店铺违规 mchUndealRet工单 + public int? code { get; set; } // 0 + public int? totalNum { get; set; } // 0 + public int? pendingNum { get; set; } // 1 + public int? pendingShipNum { get; set; } // 1 + public int? waitStatusCount { get; set; } // 0 + public int? num + { + get + { + if (totalNum != null) + return totalNum; + if (pendingNum != null) + return pendingNum; + if (pendingShipNum != null) + return pendingShipNum; + if (waitStatusCount != null) + return waitStatusCount; + return null; + } + } + } + + public class WxShopSaleStatisticsGroup + { + public DateTime LastRefreshDate { get; set; } + public WxShopSaleStatisticsInfo WxShopSaleInfoToday { get; set; } + public WxShopSaleStatisticsInfo WxShopSaleInfo7Day { get; set; } + public WxShopSaleStatisticsInfo WxShopSaleInfo30Day { get; set; } + } + + public class WxShopSaleStatisticsInfo + { + /// + /// 成交金额 + /// + public string pay_gmv { get; set; } // "118574", + public string pay_gmv_tb { get; set; } // "", + public string pay_gmv_ind { get; set; } // "0.461936", + /// + /// 成交人数 + /// + public string pay_uv { get; set; } // "47", + public string pay_uv_tb { get; set; } // "", + public string pay_uv_ind { get; set; } // "0.583592", + /// + /// 成交订单数 + /// + public string pay_order_cnt { get; set; } // "50", + public string pay_order_cnt_tb { get; set; } // "", + public string pay_order_cnt_ind { get; set; } // "0.57901", + /// + /// 成交退款金额 + /// + public string pay_refund_gmv { get; set; } // "6272", + public string pay_refund_gmv_tb { get; set; } // "", + public string pay_refund_gmv_ind { get; set; } // "0.411973", + /// + /// 商品点击人数 + /// + public string product_click_uv { get; set; } // "368", + public string product_click_uv_tb { get; set; } // "", + public string product_click_uv_ind { get; set; } // "0.56263" + } +} diff --git a/AllBase/Model/Result/ShopLoginInfo.cs b/AllBase/Model/Result/ShopLoginInfo.cs index 91ae9d5..1b5eea7 100644 --- a/AllBase/Model/Result/ShopLoginInfo.cs +++ b/AllBase/Model/Result/ShopLoginInfo.cs @@ -199,7 +199,7 @@ namespace AllBase.Model.Result public string RefreshToken { get; set; } = ""; public string AppKey { get; set; } = ""; public DateTime ExpiresTime { get; set; } - public DateTime AddTime { get; set; } + public DateTime AddTime { get; set; } = DateTime.MinValue; public string ApiAuthStatus { get; set; } = "未授权"; } diff --git a/TEMUKJD/ChangeForm.cs b/TEMUKJD/ChangeForm.cs index e22fdb1..4953053 100644 --- a/TEMUKJD/ChangeForm.cs +++ b/TEMUKJD/ChangeForm.cs @@ -116,7 +116,7 @@ namespace TemuKJD //Hide(); WxTalkForm cf = new WxTalkForm(); - cf.Size = new Size(Screen.PrimaryScreen.WorkingArea.Width - 200, Screen.PrimaryScreen.WorkingArea.Height - 100); + cf.Size = new Size(Screen.PrimaryScreen.WorkingArea.Width - 120, Screen.PrimaryScreen.WorkingArea.Height - 100); cf.Show(); //cf.SetTitle(); Hide(); diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditForm.Designer.cs index 341555c..34ce6be 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditForm.Designer.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditForm.Designer.cs @@ -30,12 +30,14 @@ { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdEditForm)); this.panel2 = new System.Windows.Forms.Panel(); - this.btnBookImg = new DevComponents.DotNetBar.PanelEx(); - this.btnEditDetail = new DevComponents.DotNetBar.PanelEx(); - this.btnSelect = new TemuKJD.UserControls.ButtonEx(); - this.buttonEx1 = new TemuKJD.UserControls.ButtonEx(); - this.pictureBox2 = new System.Windows.Forms.PictureBox(); + this.btnOk = new TemuKJD.UserControls.ButtonEx(); + this.pnlSkuOption = new System.Windows.Forms.Panel(); this.label9 = new System.Windows.Forms.Label(); + this.btnBookImg = new DevComponents.DotNetBar.PanelEx(); + this.pictureBox2 = new System.Windows.Forms.PictureBox(); + this.buttonEx1 = new TemuKJD.UserControls.ButtonEx(); + this.btnSelect = new TemuKJD.UserControls.ButtonEx(); + this.btnEditDetail = new DevComponents.DotNetBar.PanelEx(); this.label7 = new System.Windows.Forms.Label(); this.txtFissionWords = new DevComponents.DotNetBar.Controls.TextBoxX(); this.txtEndWords = new System.Windows.Forms.TextBox(); @@ -48,17 +50,15 @@ this.txtExtCode = new System.Windows.Forms.TextBox(); this.label4 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); + this.lblSkcId = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.label8 = new System.Windows.Forms.Label(); this.txtNotes = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.btnOk = new TemuKJD.UserControls.ButtonEx(); - this.pnlSkuOption = new System.Windows.Forms.Panel(); this.panel2.SuspendLayout(); + this.pnlSkuOption.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); - this.pnlSkuOption.SuspendLayout(); this.SuspendLayout(); // // panel2 @@ -78,7 +78,7 @@ this.panel2.Controls.Add(this.txtExtCode); this.panel2.Controls.Add(this.label4); this.panel2.Controls.Add(this.label3); - this.panel2.Controls.Add(this.label2); + this.panel2.Controls.Add(this.lblSkcId); this.panel2.Controls.Add(this.label1); this.panel2.Controls.Add(this.pictureBox1); this.panel2.Controls.Add(this.label8); @@ -89,6 +89,45 @@ this.panel2.Size = new System.Drawing.Size(464, 651); this.panel2.TabIndex = 1; // + // btnOk + // + this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnOk.ForeColor = System.Drawing.Color.White; + this.btnOk.Location = new System.Drawing.Point(400, 616); + this.btnOk.Margin = new System.Windows.Forms.Padding(2); + this.btnOk.Name = "btnOk"; + this.btnOk.Size = new System.Drawing.Size(55, 26); + this.btnOk.TabIndex = 372; + this.btnOk.Text = "提交"; + this.btnOk.UseVisualStyleBackColor = false; + this.btnOk.Click += new System.EventHandler(this.btnOk_Click); + // + // pnlSkuOption + // + this.pnlSkuOption.Controls.Add(this.label9); + this.pnlSkuOption.Controls.Add(this.btnBookImg); + this.pnlSkuOption.Controls.Add(this.pictureBox2); + this.pnlSkuOption.Controls.Add(this.buttonEx1); + this.pnlSkuOption.Controls.Add(this.btnSelect); + this.pnlSkuOption.Controls.Add(this.btnEditDetail); + this.pnlSkuOption.Location = new System.Drawing.Point(10, 483); + this.pnlSkuOption.Name = "pnlSkuOption"; + this.pnlSkuOption.Size = new System.Drawing.Size(417, 147); + this.pnlSkuOption.TabIndex = 661; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(8, 10); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(68, 17); + this.label9.TabIndex = 404; + this.label9.Text = "SKU替换图"; + // // btnBookImg // this.btnBookImg.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -114,6 +153,49 @@ this.btnBookImg.Visible = false; this.btnBookImg.Click += new System.EventHandler(this.btnBookImg_Click); // + // pictureBox2 + // + this.pictureBox2.Location = new System.Drawing.Point(154, 5); + this.pictureBox2.Name = "pictureBox2"; + this.pictureBox2.Size = new System.Drawing.Size(136, 136); + this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox2.TabIndex = 405; + this.pictureBox2.TabStop = false; + this.pictureBox2.Click += new System.EventHandler(this.pictureBox2_Click); + // + // buttonEx1 + // + this.buttonEx1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.buttonEx1.Cursor = System.Windows.Forms.Cursors.Hand; + this.buttonEx1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonEx1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.buttonEx1.ForeColor = System.Drawing.Color.White; + this.buttonEx1.Location = new System.Drawing.Point(79, 114); + this.buttonEx1.Margin = new System.Windows.Forms.Padding(2); + this.buttonEx1.Name = "buttonEx1"; + this.buttonEx1.Size = new System.Drawing.Size(70, 26); + this.buttonEx1.TabIndex = 406; + this.buttonEx1.Text = "上传图片"; + this.buttonEx1.UseVisualStyleBackColor = false; + this.buttonEx1.Visible = false; + this.buttonEx1.Click += new System.EventHandler(this.buttonEx1_Click); + // + // btnSelect + // + this.btnSelect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSelect.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSelect.ForeColor = System.Drawing.Color.White; + this.btnSelect.Location = new System.Drawing.Point(79, 5); + this.btnSelect.Margin = new System.Windows.Forms.Padding(2); + this.btnSelect.Name = "btnSelect"; + this.btnSelect.Size = new System.Drawing.Size(70, 26); + this.btnSelect.TabIndex = 407; + this.btnSelect.Text = "选择图片"; + this.btnSelect.UseVisualStyleBackColor = false; + this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click); + // // btnEditDetail // this.btnEditDetail.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -138,58 +220,6 @@ this.btnEditDetail.Text = "编辑商品SKU"; this.btnEditDetail.Click += new System.EventHandler(this.btnEditDetail_Click); // - // btnSelect - // - this.btnSelect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnSelect.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnSelect.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSelect.ForeColor = System.Drawing.Color.White; - this.btnSelect.Location = new System.Drawing.Point(79, 5); - this.btnSelect.Margin = new System.Windows.Forms.Padding(2); - this.btnSelect.Name = "btnSelect"; - this.btnSelect.Size = new System.Drawing.Size(70, 26); - this.btnSelect.TabIndex = 407; - this.btnSelect.Text = "选择图片"; - this.btnSelect.UseVisualStyleBackColor = false; - this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click); - // - // buttonEx1 - // - this.buttonEx1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.buttonEx1.Cursor = System.Windows.Forms.Cursors.Hand; - this.buttonEx1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.buttonEx1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonEx1.ForeColor = System.Drawing.Color.White; - this.buttonEx1.Location = new System.Drawing.Point(79, 114); - this.buttonEx1.Margin = new System.Windows.Forms.Padding(2); - this.buttonEx1.Name = "buttonEx1"; - this.buttonEx1.Size = new System.Drawing.Size(70, 26); - this.buttonEx1.TabIndex = 406; - this.buttonEx1.Text = "上传图片"; - this.buttonEx1.UseVisualStyleBackColor = false; - this.buttonEx1.Visible = false; - this.buttonEx1.Click += new System.EventHandler(this.buttonEx1_Click); - // - // pictureBox2 - // - this.pictureBox2.Location = new System.Drawing.Point(154, 5); - this.pictureBox2.Name = "pictureBox2"; - this.pictureBox2.Size = new System.Drawing.Size(136, 136); - this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; - this.pictureBox2.TabIndex = 405; - this.pictureBox2.TabStop = false; - this.pictureBox2.Click += new System.EventHandler(this.pictureBox2_Click); - // - // label9 - // - this.label9.AutoSize = true; - this.label9.Location = new System.Drawing.Point(8, 10); - this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(68, 17); - this.label9.TabIndex = 404; - this.label9.Text = "SKU替换图"; - // // label7 // this.label7.AutoSize = true; @@ -312,14 +342,14 @@ this.label3.TabIndex = 392; this.label3.Text = "商品标题"; // - // label2 + // lblSkcId // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(233, 169); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(56, 17); - this.label2.TabIndex = 391; - this.label2.Text = " SKC ID"; + this.lblSkcId.AutoSize = true; + this.lblSkcId.Location = new System.Drawing.Point(233, 169); + this.lblSkcId.Name = "lblSkcId"; + this.lblSkcId.Size = new System.Drawing.Size(56, 17); + this.lblSkcId.TabIndex = 391; + this.lblSkcId.Text = " SKC ID"; // // label1 // @@ -373,36 +403,6 @@ this.txtNotes.Size = new System.Drawing.Size(337, 47); this.txtNotes.TabIndex = 385; // - // btnOk - // - this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnOk.ForeColor = System.Drawing.Color.White; - this.btnOk.Location = new System.Drawing.Point(400, 616); - this.btnOk.Margin = new System.Windows.Forms.Padding(2); - this.btnOk.Name = "btnOk"; - this.btnOk.Size = new System.Drawing.Size(55, 26); - this.btnOk.TabIndex = 372; - this.btnOk.Text = "提交"; - this.btnOk.UseVisualStyleBackColor = false; - this.btnOk.Click += new System.EventHandler(this.btnOk_Click); - // - // pnlSkuOption - // - this.pnlSkuOption.Controls.Add(this.label9); - this.pnlSkuOption.Controls.Add(this.btnBookImg); - this.pnlSkuOption.Controls.Add(this.pictureBox2); - this.pnlSkuOption.Controls.Add(this.buttonEx1); - this.pnlSkuOption.Controls.Add(this.btnSelect); - this.pnlSkuOption.Controls.Add(this.btnEditDetail); - this.pnlSkuOption.Location = new System.Drawing.Point(10, 483); - this.pnlSkuOption.Name = "pnlSkuOption"; - this.pnlSkuOption.Size = new System.Drawing.Size(417, 147); - this.pnlSkuOption.TabIndex = 661; - // // PDDDBProdEditForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -417,10 +417,10 @@ this.Controls.SetChildIndex(this.panel2, 0); this.panel2.ResumeLayout(false); this.panel2.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.pnlSkuOption.ResumeLayout(false); this.pnlSkuOption.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.ResumeLayout(false); } @@ -432,14 +432,11 @@ private System.Windows.Forms.Label label8; private DevComponents.DotNetBar.Controls.TextBoxX txtNotes; private System.Windows.Forms.Label label3; - private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label1; private System.Windows.Forms.PictureBox pictureBox1; - private System.Windows.Forms.TextBox txtExtCode; private System.Windows.Forms.Label label4; private System.Windows.Forms.TextBox txtSpuId; private System.Windows.Forms.TextBox txtSkcId; - private System.Windows.Forms.TextBox txtProductName; private System.Windows.Forms.Label label7; private DevComponents.DotNetBar.Controls.TextBoxX txtFissionWords; private System.Windows.Forms.TextBox txtEndWords; @@ -453,5 +450,8 @@ private DevComponents.DotNetBar.PanelEx btnEditDetail; private DevComponents.DotNetBar.PanelEx btnBookImg; public System.Windows.Forms.Panel pnlSkuOption; + public System.Windows.Forms.TextBox txtExtCode; + public System.Windows.Forms.TextBox txtProductName; + public System.Windows.Forms.Label lblSkcId; } } \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs index b78a254..14008fb 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs @@ -433,7 +433,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms case "编辑/详情": PDDDBProdEditForm editForm = new PDDDBProdEditForm(dbProduct); if (BaseClass.MainPath != "binxixi") + { editForm.pnlSkuOption.Visible = false; + editForm.txtProductName.ReadOnly = true; + editForm.txtExtCode.ReadOnly = true; + editForm.lblSkcId.Text = "仓库编码"; + } editForm.ShowDialog(); dgvDbProduct.Rows[e.RowIndex].Cells["col_notes"].Value = dbProduct.notes; dgvDbProduct.Rows[e.RowIndex].Cells["col_ext_code"].Value = dbProduct.ext_code; diff --git a/TEMUKJD/PDDForms/ProductSelectForms/UcAddPrice.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/UcAddPrice.Designer.cs index 30ffff0..006a433 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/UcAddPrice.Designer.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/UcAddPrice.Designer.cs @@ -138,7 +138,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.txtAddMorePrice.Name = "txtAddMorePrice"; this.txtAddMorePrice.Size = new System.Drawing.Size(31, 23); this.txtAddMorePrice.TabIndex = 547; - this.txtAddMorePrice.Text = "5.0"; + this.txtAddMorePrice.Text = "10.0"; this.txtAddMorePrice.TextChanged += new System.EventHandler(this.Price_TextChanged); // // lblSinglePriceAdd diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs index 316bf6e..7c5bac3 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs @@ -32,12 +32,12 @@ namespace TemuKJD.WXForms.ProductForms private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); + 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(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.chkImgRandomBlock = new TemuKJD.UserComponent.UcCheckBox(this.components); @@ -107,6 +107,7 @@ namespace TemuKJD.WXForms.ProductForms this.txtAddCount = new System.Windows.Forms.TextBox(); this.panelEx2 = new DevComponents.DotNetBar.PanelEx(); this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnRefreshAuthor = new DevComponents.DotNetBar.PanelEx(); this.btnSelectOffline = new DevComponents.DotNetBar.PanelEx(); this.btnSelectOnline = new DevComponents.DotNetBar.PanelEx(); this.btnAddUnSelect = new DevComponents.DotNetBar.PanelEx(); @@ -124,19 +125,6 @@ namespace TemuKJD.WXForms.ProductForms this.btnRefreshNum = new DevComponents.DotNetBar.PanelEx(); this.pbLoadingShop = new System.Windows.Forms.PictureBox(); this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); - this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); - this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colSelectProduct = new System.Windows.Forms.DataGridViewLinkColumn(); - this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn(); - this.colApi = new System.Windows.Forms.DataGridViewLinkColumn(); - this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); - this.colUploadCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colOnSaleNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colRemaining = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.并发上传 = new DevComponents.DotNetBar.PanelEx(); this.label11 = new System.Windows.Forms.Label(); @@ -170,7 +158,19 @@ namespace TemuKJD.WXForms.ProductForms this.btnClear = new DevComponents.DotNetBar.PanelEx(); this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); this.panel1 = new System.Windows.Forms.Panel(); - this.btnRefreshAuthor = new DevComponents.DotNetBar.PanelEx(); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSelectProduct = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colApi = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colUploadCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colOnSaleNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colRemaining = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -1206,6 +1206,30 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx1.TabStop = false; this.ucGroupBoxEx1.Text = "基础"; // + // btnRefreshAuthor + // + this.btnRefreshAuthor.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshAuthor.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshAuthor.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshAuthor.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshAuthor.Location = new System.Drawing.Point(81, 17); + this.btnRefreshAuthor.Name = "btnRefreshAuthor"; + this.btnRefreshAuthor.Size = new System.Drawing.Size(70, 20); + this.btnRefreshAuthor.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshAuthor.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAuthor.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAuthor.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnRefreshAuthor.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnRefreshAuthor.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnRefreshAuthor.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnRefreshAuthor.Style.GradientAngle = 90; + this.btnRefreshAuthor.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshAuthor.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshAuthor.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshAuthor.TabIndex = 800; + this.btnRefreshAuthor.Text = "刷新授权"; + this.btnRefreshAuthor.Click += new System.EventHandler(this.btnRefreshAuthor_Click); + // // btnSelectOffline // this.btnSelectOffline.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -1529,19 +1553,19 @@ namespace TemuKJD.WXForms.ProductForms // this.dgvShop.AllowUserToAddRows = false; this.dgvShop.AllowUserToDeleteRows = false; - dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle7.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle7; this.dgvShop.AutoRowNumber = true; this.dgvShop.BackgroundColor = System.Drawing.Color.White; this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8; this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colSelect, @@ -1567,110 +1591,6 @@ namespace TemuKJD.WXForms.ProductForms this.dgvShop.TabIndex = 6; this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); // - // colSelect - // - this.colSelect.HeaderText = "全选"; - this.colSelect.Name = "colSelect"; - this.colSelect.ReadOnly = true; - this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colSelect.Width = 28; - // - // colShopLoginName - // - this.colShopLoginName.HeaderText = "店铺登录名"; - this.colShopLoginName.Name = "colShopLoginName"; - this.colShopLoginName.ReadOnly = true; - this.colShopLoginName.Visible = false; - // - // colShopId - // - this.colShopId.HeaderText = "店铺Id"; - this.colShopId.Name = "colShopId"; - this.colShopId.ReadOnly = true; - this.colShopId.Visible = false; - this.colShopId.Width = 55; - // - // colShopName - // - this.colShopName.FillWeight = 150F; - this.colShopName.HeaderText = "店铺名称"; - this.colShopName.Name = "colShopName"; - this.colShopName.ReadOnly = true; - this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colShopName.Width = 66; - // - // colShopNotes - // - this.colShopNotes.HeaderText = "备注"; - this.colShopNotes.Name = "colShopNotes"; - this.colShopNotes.ReadOnly = true; - this.colShopNotes.Width = 66; - // - // colSelectProduct - // - this.colSelectProduct.HeaderText = "选择商品"; - this.colSelectProduct.Name = "colSelectProduct"; - this.colSelectProduct.ReadOnly = true; - this.colSelectProduct.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colSelectProduct.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colSelectProduct.Visible = false; - this.colSelectProduct.Width = 62; - // - // colLoginStatus - // - this.colLoginStatus.HeaderText = "状态"; - this.colLoginStatus.Name = "colLoginStatus"; - this.colLoginStatus.ReadOnly = true; - this.colLoginStatus.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colLoginStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colLoginStatus.Width = 38; - // - // colApi - // - this.colApi.HeaderText = "Api"; - this.colApi.Name = "colApi"; - this.colApi.ReadOnly = true; - this.colApi.Width = 38; - // - // colCanUse - // - this.colCanUse.HeaderText = "可用"; - this.colCanUse.Name = "colCanUse"; - this.colCanUse.ReadOnly = true; - this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colCanUse.Visible = false; - this.colCanUse.Width = 28; - // - // colUploadCount - // - this.colUploadCount.HeaderText = "已传"; - this.colUploadCount.Name = "colUploadCount"; - this.colUploadCount.ReadOnly = true; - this.colUploadCount.Width = 38; - // - // colOnSaleNum - // - this.colOnSaleNum.HeaderText = "在售"; - this.colOnSaleNum.Name = "colOnSaleNum"; - this.colOnSaleNum.ReadOnly = true; - this.colOnSaleNum.Visible = false; - this.colOnSaleNum.Width = 38; - // - // colRemaining - // - this.colRemaining.HeaderText = "月限额"; - this.colRemaining.Name = "colRemaining"; - this.colRemaining.ReadOnly = true; - this.colRemaining.Visible = false; - // - // colMessage - // - this.colMessage.HeaderText = "消息"; - this.colMessage.Name = "colMessage"; - this.colMessage.ReadOnly = true; - // // pbLoading // this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; @@ -1713,7 +1633,7 @@ namespace TemuKJD.WXForms.ProductForms // this.label11.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label11.AutoSize = true; - this.label11.Location = new System.Drawing.Point(8, 26); + this.label11.Location = new System.Drawing.Point(8, 34); this.label11.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(68, 17); @@ -1724,7 +1644,7 @@ namespace TemuKJD.WXForms.ProductForms // txtSinglePriceAdd // this.txtSinglePriceAdd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.txtSinglePriceAdd.Location = new System.Drawing.Point(76, 23); + this.txtSinglePriceAdd.Location = new System.Drawing.Point(76, 31); this.txtSinglePriceAdd.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.txtSinglePriceAdd.Name = "txtSinglePriceAdd"; this.txtSinglePriceAdd.Size = new System.Drawing.Size(31, 23); @@ -1748,19 +1668,19 @@ namespace TemuKJD.WXForms.ProductForms // this.dgvSelectProduct.AllowUserToAddRows = false; this.dgvSelectProduct.AllowUserToDeleteRows = false; - dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3; + dataGridViewCellStyle9.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9; this.dgvSelectProduct.AutoRowNumber = true; this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White; this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; + dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10; this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colCheck, @@ -1820,8 +1740,8 @@ namespace TemuKJD.WXForms.ProductForms // // colSupplierName // - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle11; this.colSupplierName.Frozen = true; this.colSupplierName.HeaderText = "店铺名称"; this.colSupplierName.Name = "colSupplierName"; @@ -1899,8 +1819,8 @@ namespace TemuKJD.WXForms.ProductForms // // colProductName // - dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colProductName.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProductName.DefaultCellStyle = dataGridViewCellStyle12; this.colProductName.HeaderText = "商品标题"; this.colProductName.Name = "colProductName"; this.colProductName.ReadOnly = true; @@ -2062,29 +1982,110 @@ namespace TemuKJD.WXForms.ProductForms this.panel1.Size = new System.Drawing.Size(881, 86); this.panel1.TabIndex = 189; // - // btnRefreshAuthor + // colSelect // - this.btnRefreshAuthor.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnRefreshAuthor.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnRefreshAuthor.DisabledBackColor = System.Drawing.Color.Empty; - this.btnRefreshAuthor.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnRefreshAuthor.Location = new System.Drawing.Point(81, 17); - this.btnRefreshAuthor.Name = "btnRefreshAuthor"; - this.btnRefreshAuthor.Size = new System.Drawing.Size(70, 20); - this.btnRefreshAuthor.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnRefreshAuthor.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnRefreshAuthor.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnRefreshAuthor.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnRefreshAuthor.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnRefreshAuthor.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnRefreshAuthor.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnRefreshAuthor.Style.GradientAngle = 90; - this.btnRefreshAuthor.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnRefreshAuthor.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnRefreshAuthor.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnRefreshAuthor.TabIndex = 800; - this.btnRefreshAuthor.Text = "刷新授权"; - this.btnRefreshAuthor.Click += new System.EventHandler(this.btnRefreshAuthor_Click); + this.colSelect.HeaderText = "全选"; + this.colSelect.Name = "colSelect"; + this.colSelect.ReadOnly = true; + this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelect.Width = 28; + // + // colShopLoginName + // + this.colShopLoginName.HeaderText = "店铺登录名"; + this.colShopLoginName.Name = "colShopLoginName"; + this.colShopLoginName.ReadOnly = true; + this.colShopLoginName.Visible = false; + // + // colShopId + // + this.colShopId.HeaderText = "店铺Id"; + this.colShopId.Name = "colShopId"; + this.colShopId.ReadOnly = true; + this.colShopId.Visible = false; + this.colShopId.Width = 55; + // + // colShopName + // + this.colShopName.FillWeight = 150F; + this.colShopName.HeaderText = "店铺名称"; + this.colShopName.Name = "colShopName"; + this.colShopName.ReadOnly = true; + this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colShopName.Width = 66; + // + // colShopNotes + // + this.colShopNotes.HeaderText = "备注"; + this.colShopNotes.Name = "colShopNotes"; + this.colShopNotes.ReadOnly = true; + this.colShopNotes.Width = 66; + // + // colSelectProduct + // + this.colSelectProduct.HeaderText = "选择商品"; + this.colSelectProduct.Name = "colSelectProduct"; + this.colSelectProduct.ReadOnly = true; + this.colSelectProduct.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelectProduct.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelectProduct.Visible = false; + this.colSelectProduct.Width = 62; + // + // colLoginStatus + // + this.colLoginStatus.HeaderText = "状态"; + this.colLoginStatus.Name = "colLoginStatus"; + this.colLoginStatus.ReadOnly = true; + this.colLoginStatus.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colLoginStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colLoginStatus.Width = 38; + // + // colApi + // + this.colApi.HeaderText = "Api"; + this.colApi.Name = "colApi"; + this.colApi.ReadOnly = true; + this.colApi.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colApi.Width = 38; + // + // colCanUse + // + this.colCanUse.HeaderText = "可用"; + this.colCanUse.Name = "colCanUse"; + this.colCanUse.ReadOnly = true; + this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colCanUse.Visible = false; + this.colCanUse.Width = 28; + // + // colUploadCount + // + this.colUploadCount.HeaderText = "已传"; + this.colUploadCount.Name = "colUploadCount"; + this.colUploadCount.ReadOnly = true; + this.colUploadCount.Width = 38; + // + // colOnSaleNum + // + this.colOnSaleNum.HeaderText = "在售"; + this.colOnSaleNum.Name = "colOnSaleNum"; + this.colOnSaleNum.ReadOnly = true; + this.colOnSaleNum.Visible = false; + this.colOnSaleNum.Width = 38; + // + // colRemaining + // + this.colRemaining.HeaderText = "月限额"; + this.colRemaining.Name = "colRemaining"; + this.colRemaining.ReadOnly = true; + this.colRemaining.Visible = false; + // + // colMessage + // + this.colMessage.HeaderText = "消息"; + this.colMessage.Name = "colMessage"; + this.colMessage.ReadOnly = true; // // WXDBProdUploadForm // @@ -2255,6 +2256,7 @@ namespace TemuKJD.WXForms.ProductForms private DevComponents.DotNetBar.PanelEx btnAddSelect; private DevComponents.DotNetBar.PanelEx btnSelectOffline; private DevComponents.DotNetBar.PanelEx btnSelectOnline; + private DevComponents.DotNetBar.PanelEx btnRefreshAuthor; private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName; private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; @@ -2268,6 +2270,5 @@ namespace TemuKJD.WXForms.ProductForms private System.Windows.Forms.DataGridViewTextBoxColumn colOnSaleNum; private System.Windows.Forms.DataGridViewTextBoxColumn colRemaining; private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; - private DevComponents.DotNetBar.PanelEx btnRefreshAuthor; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs index 45690ae..d8f526f 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs @@ -80,9 +80,9 @@ namespace TemuKJD.WXForms.ProductForms if (lstAddPriceRule == null) { lstAddPriceRule = new NaiBa.Util.ConcurrentList(); - lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 0, LessThanPrice = 10, AddPriceTimes = 2, AddMorePrice = 5, SinglePriceAdd = 1 }); - lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 10, LessThanPrice = 20, AddPriceTimes = 2, AddMorePrice = 5, SinglePriceAdd = 1 }); - lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 20, LessThanPrice = 999, AddPriceTimes = 2, AddMorePrice = 5, SinglePriceAdd = 1 }); + lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 0, LessThanPrice = 10, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 }); + lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 10, LessThanPrice = 20, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 }); + lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 20, LessThanPrice = 999, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 }); } this.fPnlPriceRule.Controls.Clear(); foreach (var priceItem in lstAddPriceRule) @@ -265,19 +265,27 @@ namespace TemuKJD.WXForms.ProductForms { updateAuthor(true); } - private void updateAuthor(bool refreshAll = false) + + /// + /// 升级授权 + /// + /// 今日取过的也取 + private void updateAuthor(bool idRefreshTodayHasGet = false) { this.pbLoadingShop.Visible = true; Task.Run(() => { // 店铺Id + var updateIds = dgvShop.Rows.Cast().Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); var selectIds = dgvShop.Rows.Cast().Where(row => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + if (idRefreshTodayHasGet == true) + updateIds = selectIds; List tList = new List(); - if (refreshAll) - lstShopAuthInfo.Clear(); - foreach (var shop in GlobalConfig.ShopLoginList.Where(s => selectIds.Contains(s.ShopId))) + if (idRefreshTodayHasGet) + lstShopAuthInfo.RemoveAll(s => updateIds.Contains(s.ShopId)); + foreach (var shop in GlobalConfig.ShopLoginList.Where(s => updateIds.Contains(s.ShopId))) { Invoke(new Action(() => { BindShop(shop, selectIds, ""); })); var t = Task.Run(() => @@ -291,7 +299,7 @@ namespace TemuKJD.WXForms.ProductForms } var authInfo = lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shop.ShopId); - if (refreshAll || authInfo == null || authInfo.AddTime.Date != DateTime.Now.Date) + if (idRefreshTodayHasGet || authInfo == null || authInfo?.AddTime.Date != DateTime.Now.Date) { lstShopAuthInfo.RemoveAll(sa => sa.ShopId == shop.ShopId); var rst = WXUpload.GetApiServiceList(shop); @@ -311,6 +319,7 @@ namespace TemuKJD.WXForms.ProductForms foreach (var itemObj in JsonHelper.JObjectParse(rst)["itemList"]) { + // 找到了指定服务 if (itemObj["serviceName"].ParseToString() == "店统领供应链-商品管理") { var expiresTick = itemObj["expireTime"].ParseToLong(); @@ -319,14 +328,13 @@ namespace TemuKJD.WXForms.ProductForms return; } } + // 没找到指定服务 lstShopAuthInfo.Add(new AuthInfo() { ShopId = shop.ShopId, AddTime = DateTime.Now, ExpiresTime = DateTime.Now }); - } - if (refreshAll) Invoke(new Action(() => { BindShop(shop, selectIds, "已查询"); })); + } } catch (Exception ex) { - } }); tList.Add(t); @@ -2463,6 +2471,10 @@ namespace TemuKJD.WXForms.ProductForms //书籍属性处理 if (upProdParam.product.info.category.FirstOrDefault()?.name == "图书" || prodInfo.detail.cats.FirstOrDefault() == "书籍/杂志/报纸") { + //if (attr.name == "ISBN版号/CN刊号") + // attrValue = "9787922575016"; + //if (attr.name == "书名") + // attrValue = upProdParam.product.info.title; if (attr.name == "是否为单一书号丛书") attrValue = "是"; if (attr.name == "图书册数") @@ -3083,7 +3095,13 @@ namespace TemuKJD.WXForms.ProductForms dicShopUpload[shop.ShopId] = new WxShopUploadInfo(); if (!dicShopUpload[shop.ShopId].DicDayUploadCount.ContainsKey(day)) dicShopUpload[shop.ShopId].DicDayUploadCount[day] = 0; - dicShopUpload[shop.ShopId].DicDayUploadCount[day]++; + dicShopUpload[shop.ShopId].DicDayUploadCount[day] += 1; + // 删除45天前的记录 + var removeKeys = dicShopUpload[shop.ShopId].DicDayUploadCount.Keys.Where(s => s < DateTime.Now.AddDays(-45).ToString("yyyyMMdd").ParseToInt()); + foreach (var key in removeKeys) + { + dicShopUpload[shop.ShopId].DicDayUploadCount.Remove(key); + } NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_shop_upload_info", dicShopUpload); Invoke(new Action(() => @@ -3561,12 +3579,17 @@ namespace TemuKJD.WXForms.ProductForms if (dgvShopRow != null) { var day = DateTime.Now.ToString("yyyyMMdd").ParseToInt(); - var removeDay = DateTime.Now.Date.AddMonths(-1).ToString("yyyyMMdd").ParseToInt(); if (!dicShopUpload.ContainsKey(shop.ShopId)) dicShopUpload[shop.ShopId] = new WxShopUploadInfo(); if (!dicShopUpload[shop.ShopId].DicDayUploadCount.ContainsKey(day)) dicShopUpload[shop.ShopId].DicDayUploadCount[day] = 0; - dicShopUpload[shop.ShopId].DicDayUploadCount[day]++; + dicShopUpload[shop.ShopId].DicDayUploadCount[day] += 1; + // 删除45天前的记录 + var removeKeys = dicShopUpload[shop.ShopId].DicDayUploadCount.Keys.Where(s => s < DateTime.Now.AddDays(-45).ToString("yyyyMMdd").ParseToInt()); + foreach (var key in removeKeys) + { + dicShopUpload[shop.ShopId].DicDayUploadCount.Remove(key); + } NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_shop_upload_info", dicShopUpload); Invoke(new Action(() => @@ -4163,15 +4186,15 @@ Content-Type: application/octet-stream /// /// 加价倍数 /// - public decimal AddPriceTimes { get; set; } + public decimal AddPriceTimes { get; set; } = 2m; /// /// 额外加价金额 /// - public decimal AddMorePrice { get; set; } + public decimal AddMorePrice { get; set; } = 10m; /// /// 单买加价 /// - public decimal SinglePriceAdd { get; set; } + public decimal SinglePriceAdd { get; set; } = 1m; /// /// 先加后乘 /// @@ -4179,7 +4202,7 @@ Content-Type: application/octet-stream /// /// 上货库存量设置 /// - public int StockNum { get; set; } = 0; + public int StockNum { get; set; } = 999; public bool IsStepAddPrice { get; set; } = false; /// /// 运费倍率 @@ -4191,7 +4214,7 @@ Content-Type: application/octet-stream { public int PreSaleDays { get; set; } = 5; - public string FilterWords { get; set; } = "亏本,冲量,白菜价,跳楼价,xx,xxx,最大,最小,低价,降价,成本,赔钱,甩卖,真丝,蚕丝,香云纱,羊绒,羊毛,羊羔绒,羊羔毛,羽绒,皮草"; + public string FilterWords { get; set; } = "二手,亏本,冲量,白菜价,跳楼价,xx,xxx,最大,最小,低价,降价,成本,赔钱,甩卖,真丝,蚕丝,香云纱,羊绒,羊毛,羊羔绒,羊羔毛,羽绒,皮草"; public int SkuMinPrice { get; set; } = 10; diff --git a/TEMUKJD/WXForms/ShopForms/WXShopListForm.Designer.cs b/TEMUKJD/WXForms/ShopForms/WXShopListForm.Designer.cs index 9613ac2..375753c 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopListForm.Designer.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopListForm.Designer.cs @@ -38,17 +38,19 @@ this.btnCheck = new TemuKJD.UserControls.ButtonEx(); this.panel4 = new System.Windows.Forms.Panel(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); - this.label5 = new System.Windows.Forms.Label(); + this.cmbGroup = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); this.label2 = new System.Windows.Forms.Label(); this.cmbNotes = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); this.txtShopId = new System.Windows.Forms.TextBox(); this.label3 = new System.Windows.Forms.Label(); this.txtShopName = new System.Windows.Forms.TextBox(); this.label4 = new System.Windows.Forms.Label(); - this.cmbSubAccount = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx(); this.pnlEmpty = new DevComponents.DotNetBar.PanelEx(); this.btnSearch = new DevComponents.DotNetBar.PanelEx(); + this.cmbSubAccount = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); + this.label5 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); this.btnOpenOrder = new TemuKJD.UserControls.ButtonEx(); this.btnAddShop = new TemuKJD.UserControls.ButtonEx(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); @@ -199,46 +201,58 @@ // this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.tableLayoutPanel1.ColumnCount = 11; + this.tableLayoutPanel1.ColumnCount = 17; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.00067F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.00054F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.00066F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.00053F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.00066F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.00053F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 24.99801F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 19.99841F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 2F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 2F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 2F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.Controls.Add(this.label5, 6, 0); + this.tableLayoutPanel1.Controls.Add(this.cmbGroup, 7, 0); this.tableLayoutPanel1.Controls.Add(this.label2, 0, 0); this.tableLayoutPanel1.Controls.Add(this.cmbNotes, 5, 0); this.tableLayoutPanel1.Controls.Add(this.txtShopId, 1, 0); this.tableLayoutPanel1.Controls.Add(this.label3, 2, 0); this.tableLayoutPanel1.Controls.Add(this.txtShopName, 3, 0); this.tableLayoutPanel1.Controls.Add(this.label4, 4, 0); - this.tableLayoutPanel1.Controls.Add(this.cmbSubAccount, 7, 0); - this.tableLayoutPanel1.Controls.Add(this.btnRefreshShop, 8, 0); - this.tableLayoutPanel1.Controls.Add(this.pnlEmpty, 10, 0); - this.tableLayoutPanel1.Controls.Add(this.btnSearch, 9, 0); - this.tableLayoutPanel1.Location = new System.Drawing.Point(94, 1); + this.tableLayoutPanel1.Controls.Add(this.btnRefreshShop, 11, 0); + this.tableLayoutPanel1.Controls.Add(this.pnlEmpty, 15, 0); + this.tableLayoutPanel1.Controls.Add(this.btnSearch, 13, 0); + this.tableLayoutPanel1.Controls.Add(this.cmbSubAccount, 9, 0); + this.tableLayoutPanel1.Controls.Add(this.label5, 8, 0); + this.tableLayoutPanel1.Controls.Add(this.label6, 6, 0); + this.tableLayoutPanel1.Location = new System.Drawing.Point(94, 0); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 1; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(719, 39); + this.tableLayoutPanel1.Size = new System.Drawing.Size(719, 40); this.tableLayoutPanel1.TabIndex = 375; // - // label5 + // cmbGroup // - this.label5.Anchor = System.Windows.Forms.AnchorStyles.None; - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(398, 11); - this.label5.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(44, 17); - this.label5.TabIndex = 414; - this.label5.Text = "子账户"; + this.cmbGroup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbGroup.DefaultText = "全部"; + this.cmbGroup.DropDownHeight = 1; + this.cmbGroup.DropDownWidth = 1; + this.cmbGroup.FormattingEnabled = true; + this.cmbGroup.IntegralHeight = false; + this.cmbGroup.Location = new System.Drawing.Point(355, 8); + this.cmbGroup.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4); + this.cmbGroup.Name = "cmbGroup"; + this.cmbGroup.Size = new System.Drawing.Size(64, 25); + this.cmbGroup.TabIndex = 803; + this.cmbGroup.Text = "全部"; // // label2 // @@ -259,10 +273,10 @@ this.cmbNotes.DropDownWidth = 1; this.cmbNotes.FormattingEnabled = true; this.cmbNotes.IntegralHeight = false; - this.cmbNotes.Location = new System.Drawing.Point(314, 6); - this.cmbNotes.Margin = new System.Windows.Forms.Padding(0, 1, 0, 3); + this.cmbNotes.Location = new System.Drawing.Point(256, 8); + this.cmbNotes.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4); this.cmbNotes.Name = "cmbNotes"; - this.cmbNotes.Size = new System.Drawing.Size(81, 25); + this.cmbNotes.Size = new System.Drawing.Size(64, 25); this.cmbNotes.TabIndex = 413; this.cmbNotes.Text = "全部"; // @@ -272,14 +286,14 @@ this.txtShopId.Location = new System.Drawing.Point(46, 8); this.txtShopId.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.txtShopId.Name = "txtShopId"; - this.txtShopId.Size = new System.Drawing.Size(81, 23); + this.txtShopId.Size = new System.Drawing.Size(64, 23); this.txtShopId.TabIndex = 372; // // label3 // this.label3.Anchor = System.Windows.Forms.AnchorStyles.None; this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(130, 11); + this.label3.Location = new System.Drawing.Point(113, 11); this.label3.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(44, 17); @@ -289,37 +303,22 @@ // txtShopName // this.txtShopName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtShopName.Location = new System.Drawing.Point(174, 8); + this.txtShopName.Location = new System.Drawing.Point(157, 8); this.txtShopName.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.txtShopName.Name = "txtShopName"; - this.txtShopName.Size = new System.Drawing.Size(81, 23); + this.txtShopName.Size = new System.Drawing.Size(64, 23); this.txtShopName.TabIndex = 374; // // label4 // this.label4.Anchor = System.Windows.Forms.AnchorStyles.None; this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(258, 11); + this.label4.Location = new System.Drawing.Point(224, 11); this.label4.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(56, 17); + this.label4.Size = new System.Drawing.Size(32, 17); this.label4.TabIndex = 377; - this.label4.Text = "分组备注"; - // - // cmbSubAccount - // - this.cmbSubAccount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.cmbSubAccount.DefaultText = "全部"; - this.cmbSubAccount.DropDownHeight = 1; - this.cmbSubAccount.DropDownWidth = 1; - this.cmbSubAccount.FormattingEnabled = true; - this.cmbSubAccount.IntegralHeight = false; - this.cmbSubAccount.Location = new System.Drawing.Point(442, 8); - this.cmbSubAccount.Margin = new System.Windows.Forms.Padding(0, 1, 0, 3); - this.cmbSubAccount.Name = "cmbSubAccount"; - this.cmbSubAccount.Size = new System.Drawing.Size(80, 25); - this.cmbSubAccount.TabIndex = 415; - this.cmbSubAccount.Text = "全部"; + this.label4.Text = "备注"; // // btnRefreshShop // @@ -328,10 +327,10 @@ this.btnRefreshShop.Cursor = System.Windows.Forms.Cursors.Hand; this.btnRefreshShop.DisabledBackColor = System.Drawing.Color.Empty; this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnRefreshShop.Location = new System.Drawing.Point(524, 8); - this.btnRefreshShop.Margin = new System.Windows.Forms.Padding(2, 3, 0, 3); + this.btnRefreshShop.Location = new System.Drawing.Point(532, 8); + this.btnRefreshShop.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.btnRefreshShop.Name = "btnRefreshShop"; - this.btnRefreshShop.Size = new System.Drawing.Size(58, 23); + this.btnRefreshShop.Size = new System.Drawing.Size(60, 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))))); @@ -353,10 +352,10 @@ this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control; this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty; - this.pnlEmpty.Location = new System.Drawing.Point(644, 8); - this.pnlEmpty.Margin = new System.Windows.Forms.Padding(2, 3, 0, 3); + this.pnlEmpty.Location = new System.Drawing.Point(656, 8); + this.pnlEmpty.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.pnlEmpty.Name = "pnlEmpty"; - this.pnlEmpty.Size = new System.Drawing.Size(75, 23); + this.pnlEmpty.Size = new System.Drawing.Size(60, 23); this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; this.pnlEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); this.pnlEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); @@ -380,10 +379,10 @@ this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand; this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty; this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSearch.Location = new System.Drawing.Point(584, 8); - this.btnSearch.Margin = new System.Windows.Forms.Padding(2, 3, 0, 3); + this.btnSearch.Location = new System.Drawing.Point(594, 8); + this.btnSearch.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.btnSearch.Name = "btnSearch"; - this.btnSearch.Size = new System.Drawing.Size(58, 23); + this.btnSearch.Size = new System.Drawing.Size(60, 23); this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); @@ -399,6 +398,43 @@ this.btnSearch.Text = "筛选"; this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); // + // cmbSubAccount + // + this.cmbSubAccount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbSubAccount.DefaultText = "全部"; + this.cmbSubAccount.DropDownHeight = 1; + this.cmbSubAccount.DropDownWidth = 1; + this.cmbSubAccount.FormattingEnabled = true; + this.cmbSubAccount.IntegralHeight = false; + this.cmbSubAccount.Location = new System.Drawing.Point(466, 8); + this.cmbSubAccount.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4); + this.cmbSubAccount.Name = "cmbSubAccount"; + this.cmbSubAccount.Size = new System.Drawing.Size(64, 25); + this.cmbSubAccount.TabIndex = 415; + this.cmbSubAccount.Text = "全部"; + // + // label5 + // + this.label5.Anchor = System.Windows.Forms.AnchorStyles.None; + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(422, 11); + this.label5.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(44, 17); + this.label5.TabIndex = 414; + this.label5.Text = "子账户"; + // + // label6 + // + this.label6.Anchor = System.Windows.Forms.AnchorStyles.None; + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(323, 11); + this.label6.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(32, 17); + this.label6.TabIndex = 415; + this.label6.Text = "分组"; + // // btnOpenOrder // this.btnOpenOrder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -866,5 +902,7 @@ private UserComponent.UcComboBoxMutiSelect cmbSubAccount; private DevComponents.DotNetBar.PanelEx btnSearch; private DevComponents.DotNetBar.PanelEx btnRefreshShop; + private UserComponent.UcComboBoxMutiSelect cmbGroup; + private System.Windows.Forms.Label label6; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs b/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs index d1f0c00..6cf6566 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs @@ -398,6 +398,10 @@ namespace TemuKJD.WXForms.ShopForms var notes = GlobalConfig.ShopLoginList.Select(s => s.Notes).Distinct(); cmbNotes.Items.AddRange(notes.Where(n => !n.IsNullOrEmpty()).ToArray()); + cmbGroup.Items.Clear(); + var groups = GlobalConfig.ShopLoginList.Select(s => s.GroupName).Distinct(); + cmbGroup.Items.AddRange(groups.Where(n => !n.IsNullOrEmpty()).ToArray()); + cmbSubAccount.Items.Clear(); var subAccountStr = string.Join(",", GlobalConfig.ShopLoginList.Select(s => s.SubUserName).Distinct()); var subAccounts = subAccountStr.Split(',').Distinct(); @@ -416,6 +420,12 @@ namespace TemuKJD.WXForms.ShopForms var notesLst = cmbNotes.Text.ToLower().Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries); shopList = shopList.Where(s => s.Notes.ParseToString().ToLower().Contains(notes) || notesLst.Contains(s.Notes.ParseToString().ToLower())).ToList(); } + if (!string.IsNullOrWhiteSpace(cmbGroup.Text) && cmbGroup.Text.Trim() != "全部") + { + var group = cmbGroup.Text.ToLower(); + var groupLst = cmbGroup.Text.ToLower().Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries); + shopList = shopList.Where(s => s.GroupName.ParseToString().ToLower().Contains(group) || groupLst.Contains(s.GroupName.ParseToString().ToLower())).ToList(); + } if (!string.IsNullOrWhiteSpace(cmbSubAccount.Text) && cmbSubAccount.Text.Trim() != "全部") { var subAccount = cmbSubAccount.Text.ToLower(); @@ -1038,6 +1048,7 @@ namespace TemuKJD.WXForms.ShopForms { this.cmbNotes.Text = "全部"; this.cmbSubAccount.Text = "全部"; + this.cmbGroup.Text = "全部"; this.txtShopId.Text = ""; this.txtShopName.Text = ""; } diff --git a/TEMUKJD/WXForms/TalkForms/WxTalkForm.Designer.cs b/TEMUKJD/WXForms/TalkForms/WxTalkForm.Designer.cs index 70de72b..95a36a7 100644 --- a/TEMUKJD/WXForms/TalkForms/WxTalkForm.Designer.cs +++ b/TEMUKJD/WXForms/TalkForms/WxTalkForm.Designer.cs @@ -53,20 +53,33 @@ namespace TemuKJD.WXForms.TalkForms this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colAfterSale = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.lblTalkCount = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.btnRefreshMsgCount = new DevComponents.DotNetBar.PanelEx(); + this.lblUserCount = new System.Windows.Forms.Label(); + this.lblReplyCount = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.btnRefreshAfterSale = new DevComponents.DotNetBar.PanelEx(); this.cmbFiltNotes = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); this.txtFiltShopName = new DevComponents.DotNetBar.Controls.TextBoxX(); this.btnFilterShop = new DevComponents.DotNetBar.PanelEx(); - this.pnlRefresh = new DevComponents.DotNetBar.PanelEx(); + this.pnlRefreshShop = new DevComponents.DotNetBar.PanelEx(); this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); + this.line1 = new DevComponents.DotNetBar.Controls.Line(); this.ucTabControl1 = new TemuKJD.UserComponent.UcTabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); + this.splitContainer3 = new System.Windows.Forms.SplitContainer(); + this.btnNext = new DevComponents.DotNetBar.PanelEx(); + this.btnToKfMainPage = new DevComponents.DotNetBar.PanelEx(); + this.btnPrev = new DevComponents.DotNetBar.PanelEx(); + this.txtAddress = new System.Windows.Forms.TextBox(); this.pnlTalk = new System.Windows.Forms.Panel(); - this.btnNext = new System.Windows.Forms.Button(); - this.btnPrev = new System.Windows.Forms.Button(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.mainPanel = new System.Windows.Forms.Panel(); this.ColumnShopStatus = new System.Windows.Forms.DataGridViewLinkColumn(); @@ -78,8 +91,6 @@ namespace TemuKJD.WXForms.TalkForms this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.dataGridViewLinkColumn2 = new System.Windows.Forms.DataGridViewLinkColumn(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components); ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).BeginInit(); this.panel3.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); @@ -98,7 +109,10 @@ namespace TemuKJD.WXForms.TalkForms ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit(); this.ucTabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); - this.pnlTalk.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); + this.splitContainer3.Panel1.SuspendLayout(); + this.splitContainer3.Panel2.SuspendLayout(); + this.splitContainer3.SuspendLayout(); this.tabPage2.SuspendLayout(); this.SuspendLayout(); // @@ -109,7 +123,7 @@ namespace TemuKJD.WXForms.TalkForms // lblVersionName // this.lblVersionName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.lblVersionName.Location = new System.Drawing.Point(10335, 33); + this.lblVersionName.Location = new System.Drawing.Point(15675, 33); // // panel3 // @@ -137,7 +151,7 @@ namespace TemuKJD.WXForms.TalkForms // this.splitContainer1.Panel2.Controls.Add(this.ucTabControl1); this.splitContainer1.Size = new System.Drawing.Size(1498, 618); - this.splitContainer1.SplitterDistance = 270; + this.splitContainer1.SplitterDistance = 330; this.splitContainer1.SplitterWidth = 1; this.splitContainer1.TabIndex = 1; // @@ -164,7 +178,7 @@ namespace TemuKJD.WXForms.TalkForms // this.splitContainer2.Panel2.Controls.Add(this.splitContainer4); this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(4, 0, 0, 4); - this.splitContainer2.Size = new System.Drawing.Size(270, 618); + this.splitContainer2.Size = new System.Drawing.Size(330, 618); this.splitContainer2.SplitterDistance = 25; this.splitContainer2.TabIndex = 0; // @@ -181,6 +195,8 @@ namespace TemuKJD.WXForms.TalkForms // // cmbMessage // + this.cmbMessage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbMessage.BackColor = System.Drawing.Color.White; this.cmbMessage.Font = new System.Drawing.Font("新宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.cmbMessage.FormattingEnabled = true; @@ -210,7 +226,7 @@ namespace TemuKJD.WXForms.TalkForms "无"}); this.cmbMessage.Location = new System.Drawing.Point(71, 4); this.cmbMessage.Name = "cmbMessage"; - this.cmbMessage.Size = new System.Drawing.Size(199, 20); + this.cmbMessage.Size = new System.Drawing.Size(259, 20); this.cmbMessage.TabIndex = 193; // // label1 @@ -229,7 +245,7 @@ namespace TemuKJD.WXForms.TalkForms this.pnlSet.Cursor = System.Windows.Forms.Cursors.Hand; this.pnlSet.DisabledBackColor = System.Drawing.Color.Empty; this.pnlSet.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.pnlSet.Location = new System.Drawing.Point(230, 56); + this.pnlSet.Location = new System.Drawing.Point(290, 56); this.pnlSet.Name = "pnlSet"; this.pnlSet.Size = new System.Drawing.Size(40, 20); this.pnlSet.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -272,7 +288,7 @@ namespace TemuKJD.WXForms.TalkForms this.txtAutoReplyText.Location = new System.Drawing.Point(4, 78); this.txtAutoReplyText.Multiline = true; this.txtAutoReplyText.Name = "txtAutoReplyText"; - this.txtAutoReplyText.Size = new System.Drawing.Size(266, 50); + this.txtAutoReplyText.Size = new System.Drawing.Size(326, 50); this.txtAutoReplyText.TabIndex = 1; this.txtAutoReplyText.Visible = false; // @@ -280,7 +296,7 @@ namespace TemuKJD.WXForms.TalkForms // this.chkIsAutoReply.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.chkIsAutoReply.AutoSize = true; - this.chkIsAutoReply.Location = new System.Drawing.Point(4, 56); + this.chkIsAutoReply.Location = new System.Drawing.Point(64, 56); this.chkIsAutoReply.Name = "chkIsAutoReply"; this.chkIsAutoReply.Size = new System.Drawing.Size(87, 21); this.chkIsAutoReply.TabIndex = 0; @@ -303,22 +319,31 @@ namespace TemuKJD.WXForms.TalkForms // // splitContainer4.Panel2 // + this.splitContainer4.Panel2.Controls.Add(this.lblTalkCount); + this.splitContainer4.Panel2.Controls.Add(this.label6); + this.splitContainer4.Panel2.Controls.Add(this.btnRefreshMsgCount); + this.splitContainer4.Panel2.Controls.Add(this.lblUserCount); + this.splitContainer4.Panel2.Controls.Add(this.lblReplyCount); + this.splitContainer4.Panel2.Controls.Add(this.label7); + this.splitContainer4.Panel2.Controls.Add(this.label4); + this.splitContainer4.Panel2.Controls.Add(this.btnRefreshAfterSale); this.splitContainer4.Panel2.Controls.Add(this.cmbFiltNotes); this.splitContainer4.Panel2.Controls.Add(this.panelEx1); this.splitContainer4.Panel2.Controls.Add(this.txtFiltShopName); this.splitContainer4.Panel2.Controls.Add(this.btnFilterShop); - this.splitContainer4.Panel2.Controls.Add(this.pnlRefresh); + this.splitContainer4.Panel2.Controls.Add(this.pnlRefreshShop); this.splitContainer4.Panel2.Controls.Add(this.label2); this.splitContainer4.Panel2.Controls.Add(this.label3); - this.splitContainer4.Size = new System.Drawing.Size(266, 585); - this.splitContainer4.SplitterDistance = 503; + this.splitContainer4.Panel2.Controls.Add(this.line1); + this.splitContainer4.Size = new System.Drawing.Size(326, 585); + this.splitContainer4.SplitterDistance = 462; this.splitContainer4.TabIndex = 7; // // pbLoading // this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pbLoading.Location = new System.Drawing.Point(108, 226); + this.pbLoading.Location = new System.Drawing.Point(138, 206); this.pbLoading.Name = "pbLoading"; this.pbLoading.Size = new System.Drawing.Size(50, 50); this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; @@ -351,6 +376,7 @@ namespace TemuKJD.WXForms.TalkForms this.colShopName, this.colShopNotes, this.colLoginStatus, + this.colAfterSale, this.colCanUse, this.colMessage}); this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill; @@ -360,7 +386,7 @@ namespace TemuKJD.WXForms.TalkForms this.dgvShop.ReadOnly = true; this.dgvShop.RowHeadersWidth = 25; this.dgvShop.RowTemplate.Height = 23; - this.dgvShop.Size = new System.Drawing.Size(266, 503); + this.dgvShop.Size = new System.Drawing.Size(326, 462); this.dgvShop.TabIndex = 7; this.dgvShop.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellClick); this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); @@ -400,7 +426,7 @@ namespace TemuKJD.WXForms.TalkForms // // colShopNotes // - this.colShopNotes.HeaderText = "分组"; + this.colShopNotes.HeaderText = "备注"; this.colShopNotes.Name = "colShopNotes"; this.colShopNotes.ReadOnly = true; this.colShopNotes.Width = 70; @@ -414,6 +440,13 @@ namespace TemuKJD.WXForms.TalkForms this.colLoginStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colLoginStatus.Width = 38; // + // colAfterSale + // + this.colAfterSale.HeaderText = "售后"; + this.colAfterSale.Name = "colAfterSale"; + this.colAfterSale.ReadOnly = true; + this.colAfterSale.Width = 38; + // // colCanUse // this.colCanUse.HeaderText = "可用"; @@ -431,28 +464,148 @@ namespace TemuKJD.WXForms.TalkForms this.colMessage.ReadOnly = true; this.colMessage.Width = 120; // + // lblTalkCount + // + this.lblTalkCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.lblTalkCount.AutoSize = true; + this.lblTalkCount.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblTalkCount.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.lblTalkCount.Location = new System.Drawing.Point(135, 5); + this.lblTalkCount.Name = "lblTalkCount"; + this.lblTalkCount.Size = new System.Drawing.Size(17, 19); + this.lblTalkCount.TabIndex = 755; + this.lblTalkCount.Text = "0"; + // + // label6 + // + this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(91, 6); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(56, 17); + this.label6.TabIndex = 754; + this.label6.Text = "对话数:"; + // + // btnRefreshMsgCount + // + this.btnRefreshMsgCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnRefreshMsgCount.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshMsgCount.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshMsgCount.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshMsgCount.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshMsgCount.Location = new System.Drawing.Point(283, 4); + this.btnRefreshMsgCount.Name = "btnRefreshMsgCount"; + this.btnRefreshMsgCount.Size = new System.Drawing.Size(42, 21); + this.btnRefreshMsgCount.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshMsgCount.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshMsgCount.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshMsgCount.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnRefreshMsgCount.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnRefreshMsgCount.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnRefreshMsgCount.Style.CornerDiameter = 3; + this.btnRefreshMsgCount.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.btnRefreshMsgCount.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnRefreshMsgCount.Style.GradientAngle = 90; + this.btnRefreshMsgCount.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshMsgCount.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshMsgCount.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshMsgCount.TabIndex = 738; + this.btnRefreshMsgCount.Text = "刷新"; + this.btnRefreshMsgCount.Click += new System.EventHandler(this.btnRefreshMsgCount_Click); + // + // lblUserCount + // + this.lblUserCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.lblUserCount.AutoSize = true; + this.lblUserCount.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblUserCount.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.lblUserCount.Location = new System.Drawing.Point(45, 5); + this.lblUserCount.Name = "lblUserCount"; + this.lblUserCount.Size = new System.Drawing.Size(17, 19); + this.lblUserCount.TabIndex = 239; + this.lblUserCount.Text = "0"; + // + // lblReplyCount + // + this.lblReplyCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.lblReplyCount.AutoSize = true; + this.lblReplyCount.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblReplyCount.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.lblReplyCount.Location = new System.Drawing.Point(225, 5); + this.lblReplyCount.Name = "lblReplyCount"; + this.lblReplyCount.Size = new System.Drawing.Size(17, 19); + this.lblReplyCount.TabIndex = 241; + this.lblReplyCount.Text = "0"; + // + // label7 + // + this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(181, 6); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(56, 17); + this.label7.TabIndex = 240; + this.label7.Text = "回复率:"; + // + // label4 + // + this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(1, 6); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(56, 17); + this.label4.TabIndex = 238; + this.label4.Text = "用户数:"; + // + // btnRefreshAfterSale + // + this.btnRefreshAfterSale.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnRefreshAfterSale.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshAfterSale.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshAfterSale.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshAfterSale.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshAfterSale.Location = new System.Drawing.Point(164, 93); + this.btnRefreshAfterSale.Name = "btnRefreshAfterSale"; + this.btnRefreshAfterSale.Size = new System.Drawing.Size(162, 26); + this.btnRefreshAfterSale.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshAfterSale.Style.BackColor1.Color = System.Drawing.Color.White; + this.btnRefreshAfterSale.Style.BackColor2.Color = System.Drawing.Color.White; + this.btnRefreshAfterSale.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnRefreshAfterSale.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAfterSale.Style.ForeColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAfterSale.Style.GradientAngle = 90; + this.btnRefreshAfterSale.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshAfterSale.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAfterSale.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAfterSale.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnRefreshAfterSale.TabIndex = 222; + this.btnRefreshAfterSale.Text = "刷 新 售 后"; + this.btnRefreshAfterSale.Click += new System.EventHandler(this.btnRefreshAfterSale_Click); + // // cmbFiltNotes // + this.cmbFiltNotes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.cmbFiltNotes.DefaultText = "全部"; this.cmbFiltNotes.DropDownHeight = 1; this.cmbFiltNotes.DropDownWidth = 1; this.cmbFiltNotes.FormattingEnabled = true; this.cmbFiltNotes.IntegralHeight = false; - this.cmbFiltNotes.Location = new System.Drawing.Point(61, 25); + this.cmbFiltNotes.Location = new System.Drawing.Point(61, 66); this.cmbFiltNotes.Name = "cmbFiltNotes"; - this.cmbFiltNotes.Size = new System.Drawing.Size(205, 25); + this.cmbFiltNotes.Size = new System.Drawing.Size(210, 25); this.cmbFiltNotes.TabIndex = 0; this.cmbFiltNotes.Text = "全部"; // // panelEx1 // + this.panelEx1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.panelEx1.Cursor = System.Windows.Forms.Cursors.Hand; this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty; this.panelEx1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.panelEx1.Location = new System.Drawing.Point(188, 52); + this.panelEx1.Location = new System.Drawing.Point(273, 41); this.panelEx1.Name = "panelEx1"; - this.panelEx1.Size = new System.Drawing.Size(78, 26); + this.panelEx1.Size = new System.Drawing.Size(53, 23); this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center; this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.White; this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.White; @@ -465,31 +618,33 @@ namespace TemuKJD.WXForms.TalkForms this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; this.panelEx1.TabIndex = 207; - this.panelEx1.Text = "还 原 搜 索"; + this.panelEx1.Text = "还 原"; this.panelEx1.Click += new System.EventHandler(this.btnEmpty_Click); // // txtFiltShopName // + this.txtFiltShopName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); // // // this.txtFiltShopName.Border.Class = "TextBoxBorder"; this.txtFiltShopName.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtFiltShopName.Location = new System.Drawing.Point(61, 0); + this.txtFiltShopName.Location = new System.Drawing.Point(61, 41); this.txtFiltShopName.Name = "txtFiltShopName"; this.txtFiltShopName.PreventEnterBeep = true; - this.txtFiltShopName.Size = new System.Drawing.Size(205, 23); + this.txtFiltShopName.Size = new System.Drawing.Size(210, 23); this.txtFiltShopName.TabIndex = 202; // // btnFilterShop // + this.btnFilterShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.btnFilterShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnFilterShop.Cursor = System.Windows.Forms.Cursors.Hand; this.btnFilterShop.DisabledBackColor = System.Drawing.Color.Empty; this.btnFilterShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnFilterShop.Location = new System.Drawing.Point(94, 52); + this.btnFilterShop.Location = new System.Drawing.Point(273, 66); this.btnFilterShop.Name = "btnFilterShop"; - this.btnFilterShop.Size = new System.Drawing.Size(92, 26); + this.btnFilterShop.Size = new System.Drawing.Size(53, 25); this.btnFilterShop.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnFilterShop.Style.BackColor1.Color = System.Drawing.Color.White; this.btnFilterShop.Style.BackColor2.Color = System.Drawing.Color.White; @@ -505,34 +660,36 @@ namespace TemuKJD.WXForms.TalkForms this.btnFilterShop.Text = "搜 索"; this.btnFilterShop.Click += new System.EventHandler(this.btnFilterShop_Click); // - // pnlRefresh + // pnlRefreshShop // - this.pnlRefresh.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.pnlRefresh.Cursor = System.Windows.Forms.Cursors.Hand; - this.pnlRefresh.DisabledBackColor = System.Drawing.Color.Empty; - this.pnlRefresh.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.pnlRefresh.Location = new System.Drawing.Point(0, 52); - this.pnlRefresh.Name = "pnlRefresh"; - this.pnlRefresh.Size = new System.Drawing.Size(92, 26); - this.pnlRefresh.Style.Alignment = System.Drawing.StringAlignment.Center; - this.pnlRefresh.Style.BackColor1.Color = System.Drawing.Color.White; - this.pnlRefresh.Style.BackColor2.Color = System.Drawing.Color.White; - this.pnlRefresh.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.pnlRefresh.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.pnlRefresh.Style.ForeColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.pnlRefresh.Style.GradientAngle = 90; - this.pnlRefresh.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.pnlRefresh.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.pnlRefresh.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.pnlRefresh.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; - this.pnlRefresh.TabIndex = 188; - this.pnlRefresh.Text = "刷 新 店 铺"; - this.pnlRefresh.Click += new System.EventHandler(this.pnlRefresh_Click); + this.pnlRefreshShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.pnlRefreshShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.pnlRefreshShop.Cursor = System.Windows.Forms.Cursors.Hand; + this.pnlRefreshShop.DisabledBackColor = System.Drawing.Color.Empty; + this.pnlRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.pnlRefreshShop.Location = new System.Drawing.Point(0, 93); + this.pnlRefreshShop.Name = "pnlRefreshShop"; + this.pnlRefreshShop.Size = new System.Drawing.Size(162, 26); + this.pnlRefreshShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.pnlRefreshShop.Style.BackColor1.Color = System.Drawing.Color.White; + this.pnlRefreshShop.Style.BackColor2.Color = System.Drawing.Color.White; + this.pnlRefreshShop.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.pnlRefreshShop.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlRefreshShop.Style.ForeColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlRefreshShop.Style.GradientAngle = 90; + this.pnlRefreshShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.pnlRefreshShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlRefreshShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlRefreshShop.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.pnlRefreshShop.TabIndex = 188; + this.pnlRefreshShop.Text = "刷 新 店 铺"; + this.pnlRefreshShop.Click += new System.EventHandler(this.pnlRefresh_Click); // // label2 // + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(0, 3); + this.label2.Location = new System.Drawing.Point(0, 44); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(68, 17); this.label2.TabIndex = 217; @@ -540,13 +697,23 @@ namespace TemuKJD.WXForms.TalkForms // // label3 // + this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(0, 29); + this.label3.Location = new System.Drawing.Point(0, 70); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(68, 17); this.label3.TabIndex = 218; this.label3.Text = "店铺备注:"; // + // line1 + // + this.line1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.line1.Location = new System.Drawing.Point(0, 20); + this.line1.Name = "line1"; + this.line1.Size = new System.Drawing.Size(326, 23); + this.line1.TabIndex = 242; + this.line1.Text = "line1"; + // // ucTabControl1 // this.ucTabControl1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(251)))), ((int)(((byte)(251))))); @@ -558,61 +725,149 @@ namespace TemuKJD.WXForms.TalkForms this.ucTabControl1.Name = "ucTabControl1"; this.ucTabControl1.SelectedIndex = 0; this.ucTabControl1.ShowCloseButton = false; - this.ucTabControl1.Size = new System.Drawing.Size(1227, 618); + this.ucTabControl1.Size = new System.Drawing.Size(1167, 618); this.ucTabControl1.TabIndex = 0; this.ucTabControl1.TabSelectColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.ucTabControl1.TabTextColor = System.Drawing.Color.Gray; // // tabPage1 // - this.tabPage1.Controls.Add(this.pnlTalk); + this.tabPage1.Controls.Add(this.splitContainer3); this.tabPage1.Location = new System.Drawing.Point(2, 30); this.tabPage1.Name = "tabPage1"; this.tabPage1.Padding = new System.Windows.Forms.Padding(3); - this.tabPage1.Size = new System.Drawing.Size(1221, 584); + this.tabPage1.Size = new System.Drawing.Size(1161, 584); this.tabPage1.TabIndex = 0; this.tabPage1.Text = "客服窗口"; this.tabPage1.UseVisualStyleBackColor = true; // - // pnlTalk + // splitContainer3 // - this.pnlTalk.Controls.Add(this.btnNext); - this.pnlTalk.Controls.Add(this.btnPrev); - this.pnlTalk.Dock = System.Windows.Forms.DockStyle.Fill; - this.pnlTalk.Location = new System.Drawing.Point(3, 3); - this.pnlTalk.Name = "pnlTalk"; - this.pnlTalk.Size = new System.Drawing.Size(1215, 578); - this.pnlTalk.TabIndex = 1; + this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer3.Location = new System.Drawing.Point(3, 3); + this.splitContainer3.Name = "splitContainer3"; + this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer3.Panel1 + // + this.splitContainer3.Panel1.Controls.Add(this.btnNext); + this.splitContainer3.Panel1.Controls.Add(this.btnToKfMainPage); + this.splitContainer3.Panel1.Controls.Add(this.btnPrev); + this.splitContainer3.Panel1.Controls.Add(this.txtAddress); + // + // splitContainer3.Panel2 + // + this.splitContainer3.Panel2.Controls.Add(this.pnlTalk); + this.splitContainer3.Size = new System.Drawing.Size(1155, 578); + this.splitContainer3.SplitterDistance = 25; + this.splitContainer3.TabIndex = 2; // // btnNext // - this.btnNext.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.btnNext.Location = new System.Drawing.Point(1181, 3); + this.btnNext.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnNext.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnNext.DisabledBackColor = System.Drawing.Color.Empty; + this.btnNext.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnNext.Location = new System.Drawing.Point(33, 2); this.btnNext.Name = "btnNext"; this.btnNext.Size = new System.Drawing.Size(32, 23); - this.btnNext.TabIndex = 11; + this.btnNext.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnNext.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnNext.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnNext.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnNext.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnNext.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnNext.Style.CornerDiameter = 3; + this.btnNext.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.btnNext.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnNext.Style.GradientAngle = 90; + this.btnNext.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnNext.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnNext.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnNext.TabIndex = 734; this.btnNext.Text = "→"; - this.btnNext.UseVisualStyleBackColor = true; this.btnNext.Click += new System.EventHandler(this.btnNext_Click); // + // btnToKfMainPage + // + this.btnToKfMainPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnToKfMainPage.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnToKfMainPage.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnToKfMainPage.DisabledBackColor = System.Drawing.Color.Empty; + this.btnToKfMainPage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnToKfMainPage.Location = new System.Drawing.Point(1068, 2); + this.btnToKfMainPage.Name = "btnToKfMainPage"; + this.btnToKfMainPage.Size = new System.Drawing.Size(88, 23); + this.btnToKfMainPage.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnToKfMainPage.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnToKfMainPage.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnToKfMainPage.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnToKfMainPage.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnToKfMainPage.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnToKfMainPage.Style.CornerDiameter = 3; + this.btnToKfMainPage.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.btnToKfMainPage.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnToKfMainPage.Style.GradientAngle = 90; + this.btnToKfMainPage.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnToKfMainPage.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnToKfMainPage.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnToKfMainPage.TabIndex = 730; + this.btnToKfMainPage.Text = "返回客服首页"; + this.btnToKfMainPage.Click += new System.EventHandler(this.btnToKfMainPage_Click); + // // btnPrev // - this.btnPrev.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.btnPrev.Location = new System.Drawing.Point(1149, 3); + this.btnPrev.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnPrev.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnPrev.DisabledBackColor = System.Drawing.Color.Empty; + this.btnPrev.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnPrev.Location = new System.Drawing.Point(0, 2); this.btnPrev.Name = "btnPrev"; this.btnPrev.Size = new System.Drawing.Size(32, 23); - this.btnPrev.TabIndex = 10; + this.btnPrev.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnPrev.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnPrev.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnPrev.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnPrev.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnPrev.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnPrev.Style.CornerDiameter = 3; + this.btnPrev.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.btnPrev.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnPrev.Style.GradientAngle = 90; + this.btnPrev.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnPrev.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnPrev.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnPrev.TabIndex = 734; this.btnPrev.Text = "←"; - this.btnPrev.UseVisualStyleBackColor = true; this.btnPrev.Click += new System.EventHandler(this.btnPrev_Click); // + // txtAddress + // + this.txtAddress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtAddress.Location = new System.Drawing.Point(66, 1); + this.txtAddress.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.txtAddress.Name = "txtAddress"; + this.txtAddress.Size = new System.Drawing.Size(1000, 23); + this.txtAddress.TabIndex = 12; + this.txtAddress.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtAddress_KeyDown); + // + // pnlTalk + // + this.pnlTalk.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlTalk.Location = new System.Drawing.Point(0, 0); + this.pnlTalk.Name = "pnlTalk"; + this.pnlTalk.Size = new System.Drawing.Size(1155, 549); + this.pnlTalk.TabIndex = 1; + // // tabPage2 // this.tabPage2.Controls.Add(this.mainPanel); this.tabPage2.Location = new System.Drawing.Point(2, 30); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(1221, 584); + this.tabPage2.Size = new System.Drawing.Size(1161, 584); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "店铺后台"; this.tabPage2.UseVisualStyleBackColor = true; @@ -622,7 +877,7 @@ namespace TemuKJD.WXForms.TalkForms this.mainPanel.Dock = System.Windows.Forms.DockStyle.Fill; this.mainPanel.Location = new System.Drawing.Point(3, 3); this.mainPanel.Name = "mainPanel"; - this.mainPanel.Size = new System.Drawing.Size(1215, 578); + this.mainPanel.Size = new System.Drawing.Size(1155, 578); this.mainPanel.TabIndex = 1; // // ColumnShopStatus @@ -697,16 +952,6 @@ namespace TemuKJD.WXForms.TalkForms this.dataGridViewLinkColumn2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.dataGridViewLinkColumn2.Width = 106; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(61, 4); - // - // contextMenuStrip2 - // - this.contextMenuStrip2.Name = "contextMenuStrip2"; - this.contextMenuStrip2.Size = new System.Drawing.Size(61, 4); - // // WxTalkForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -741,7 +986,11 @@ namespace TemuKJD.WXForms.TalkForms ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit(); this.ucTabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); - this.pnlTalk.ResumeLayout(false); + this.splitContainer3.Panel1.ResumeLayout(false); + this.splitContainer3.Panel1.PerformLayout(); + this.splitContainer3.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); + this.splitContainer3.ResumeLayout(false); this.tabPage2.ResumeLayout(false); this.ResumeLayout(false); @@ -761,7 +1010,7 @@ namespace TemuKJD.WXForms.TalkForms private System.Windows.Forms.TextBox txtAutoReplyText; private System.Windows.Forms.CheckBox chkIsAutoReply; private System.Windows.Forms.SplitContainer splitContainer4; - private DevComponents.DotNetBar.PanelEx pnlRefresh; + private DevComponents.DotNetBar.PanelEx pnlRefreshShop; private System.Windows.Forms.DataGridViewTextBoxColumn ColumnShopID; private System.Windows.Forms.DataGridViewTextBoxColumn ColumnShopName; private System.Windows.Forms.DataGridViewLinkColumn ColumnShopStatus; @@ -777,24 +1026,35 @@ namespace TemuKJD.WXForms.TalkForms private System.Windows.Forms.Panel pnlTalk; private System.Windows.Forms.TabPage tabPage2; private System.Windows.Forms.Panel mainPanel; + private System.Windows.Forms.PictureBox pbLoading; + private DevComponents.DotNetBar.PanelEx btnFilterShop; + private DevComponents.DotNetBar.PanelEx panelEx1; + private DevComponents.DotNetBar.Controls.TextBoxX txtFiltShopName; + private UserComponent.UcComboBoxMutiSelect cmbFiltNotes; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private DevComponents.DotNetBar.PanelEx btnRefreshAfterSale; private UserComponent.UcDataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName; private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes; private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus; + private System.Windows.Forms.DataGridViewTextBoxColumn colAfterSale; private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse; private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; - private System.Windows.Forms.PictureBox pbLoading; - private DevComponents.DotNetBar.PanelEx btnFilterShop; - private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; - private DevComponents.DotNetBar.PanelEx panelEx1; - private DevComponents.DotNetBar.Controls.TextBoxX txtFiltShopName; - private System.Windows.Forms.ContextMenuStrip contextMenuStrip2; - private UserComponent.UcComboBoxMutiSelect cmbFiltNotes; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.Button btnNext; - private System.Windows.Forms.Button btnPrev; + private System.Windows.Forms.SplitContainer splitContainer3; + private System.Windows.Forms.TextBox txtAddress; + private DevComponents.DotNetBar.PanelEx btnNext; + private DevComponents.DotNetBar.PanelEx btnToKfMainPage; + private DevComponents.DotNetBar.PanelEx btnPrev; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label lblUserCount; + private System.Windows.Forms.Label lblReplyCount; + private System.Windows.Forms.Label label7; + private DevComponents.DotNetBar.Controls.Line line1; + private DevComponents.DotNetBar.PanelEx btnRefreshMsgCount; + private System.Windows.Forms.Label lblTalkCount; + private System.Windows.Forms.Label label6; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs b/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs index 92e6c0f..5c78ebc 100644 --- a/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs +++ b/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs @@ -1,10 +1,12 @@ using AllBase; using AllBase.Helper; +using AllBase.Model.Config; using AllBase.Model.Result; using CefSharp; using CefSharp.WinForms; using NaiBa.CefHelper; using NaiBa.CefHelper.Handler; +using NaiBa.Util; using NaiBa.Util.Extension; using System; using System.Collections.Generic; @@ -20,6 +22,7 @@ using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.BaseForms; +using TemuKJD.BLL; using TemuKJD.Helper; using TemuKJD.ToolForms; using TemuKJD.WXForms.ShopForms; @@ -29,7 +32,8 @@ namespace TemuKJD.WXForms.TalkForms { public partial class WxTalkForm : BaseTalkForm { - public Dictionary ShopChatCount = new Dictionary(); + public ConcurrentList lstShopKfStatistics = new ConcurrentList(); + public ConcurrentList lstShopAfterSale = new ConcurrentList(); public delegate void SearchResultReceivedHandler(ShopLoginInfo shop); /// @@ -106,7 +110,7 @@ namespace TemuKJD.WXForms.TalkForms lifeSpanHandler.parent = mainWebBrowser; lifeSpanHandler.OnPop += MainLifeHandler_OnPop; mainWebBrowser.LifeSpanHandler = lifeSpanHandler; - //mainWebBrowser.AddressChanged += mainWebBrowser_UrlChanged; + mainWebBrowser.AddressChanged += MainWebBrowser_AddressChanged; mainWebBrowser.FrameLoadEnd += cefWebBrowser1_FrameLoadEnd; mainPanel.Controls.Add(mainWebBrowser); } @@ -125,9 +129,38 @@ namespace TemuKJD.WXForms.TalkForms { this.cmbFiltNotes.Items.Add(shopNote); } + + lstShopAfterSale = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_after_sale_list"); + if (lstShopAfterSale == null) + lstShopAfterSale = new ConcurrentList(); + RefreshAfterSale(); })); + + while (true) + { + Thread.Sleep(1000); + if (DateTime.Now > nextRefreshTime) + { + nextRefreshTime = DateTime.Now.AddMinutes(30); + Invoke(new Action(() => { RefreshCookie(true); })); + Invoke(new Action(() => { RefreshMsgCount(); })); + } + var deltaTime = nextRefreshTime - DateTime.Now; + Invoke(new Action(() => + { + this.pnlRefreshShop.Text = "刷 新 店 铺 " + deltaTime.Minutes.ToString("00") + ":" + deltaTime.Seconds.ToString("00"); + })); + } }); + } + + private void MainWebBrowser_AddressChanged(object sender, AddressChangedEventArgs e) + { + if (sender == currentShop?.Chat) + this.txtAddress.Text = e.Address; + } + private void cefWebBrowser1_FrameLoadEnd(object sender, CefSharp.FrameLoadEndEventArgs e) { //ChromiumWebBrowser cefWebBrowser1 = (ChromiumWebBrowser)sender; @@ -241,15 +274,18 @@ namespace TemuKJD.WXForms.TalkForms iGrid = dgvShop.Rows.Add(); if (iGrid == 0) dgvShop.Rows[iGrid].Cells["colSelect"].Value = true; + r = dgvShop.Rows[iGrid]; } - else - iGrid = r.Index; - - dgvShop.Rows[iGrid].Cells["colShopId"].Value = shop.ShopId; // 店铺ID - dgvShop.Rows[iGrid].Cells["colShopName"].Value = shop.ShopAccount; // 店铺名称 - dgvShop.Rows[iGrid].Cells["colShopNotes"].Value = shop.Notes; // 备注 - dgvShop.Rows[iGrid].Cells["colLoginStatus"].Value = shop.LoginStatus == "登录成功" ? "在线" : "掉线"; // 登录状态 - dicRowColor[dgvShop.Rows[iGrid]] = dgvShop.Rows[iGrid].DefaultCellStyle.BackColor; + r.Cells["colShopId"].Value = shop.ShopId; // 店铺ID + r.Cells["colShopName"].Value = shop.ShopAccount; // 店铺名称 + r.Cells["colShopNotes"].Value = shop.Notes; // 备注 + r.Cells["colLoginStatus"].Value = shop.LoginStatus == "登录成功" ? "在线" : "掉线"; // 登录状态 + bool canUse = shop.LoginStatus == "登录成功"; + (r.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red; + (r.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red; + (r.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed; + (r.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed; + dicRowColor[r] = r.DefaultCellStyle.BackColor; if (shop.Chat == null) { @@ -324,6 +360,17 @@ namespace TemuKJD.WXForms.TalkForms } } + private void LoadShopAfterSale(WxShopAfterSaleInfo shopAfterSale, string msg) + { + var r = dgvShop.Rows.Cast().FirstOrDefault(x => x.Cells["colShopId"].Value.ToString() == shopAfterSale.ShopId); + if (r != null) + { + r.Cells["colMessage"].Value = msg; + r.Cells["colAfterSale"].Value = shopAfterSale.AfterSaleCount; + r.Cells["colAfterSale"].Style.ForeColor = shopAfterSale.AfterSaleCount > 0 ? Color.Red : Color.Black; + } + } + private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData) { //if (responseData.Contains("你好")) @@ -897,11 +944,25 @@ namespace TemuKJD.WXForms.TalkForms if (shop?.Chat != null) { + // 之前的当前店铺如果不在聊天界面强制转回聊天界面 + if (currentShop?.Chat != null) + { + //if (currentShop.LoginStatus == "登录成功" && !currentShop.Chat.Address.StartsWith("https://store.weixin.qq.com/shop/kf")) + // currentShop.Chat.Load("https://store.weixin.qq.com/shop/kf"); + + var script = "document.documentElement.outerHTML;"; + string htmlContent = currentShop.Chat.EvaluateScriptAsync(script).Result.Result.ParseToString(); + if (currentShop.LoginStatus == "登录成功" && !htmlContent.Contains("按Enter发送")) + currentShop.Chat.Load("https://store.weixin.qq.com/shop/kf"); + } + currentShop = shop; shop.Chat.Dock = DockStyle.Fill; shop.Chat.BringToFront(); btnPrev.BringToFront(); btnNext.BringToFront(); + + txtAddress.Text = currentShop.Chat.Address; } Task.Run(() => @@ -923,11 +984,23 @@ namespace TemuKJD.WXForms.TalkForms } private void pnlRefresh_Click(object sender, EventArgs e) + { + nextRefreshTime = DateTime.Now.AddMinutes(30); + RefreshCookie(); + } + + DateTime nextRefreshTime = DateTime.Now; + void RefreshCookie(bool isAuto = false) { pbLoading.Visible = true; Task.Run(() => { - WXShopListForm.UpdateShop(); + if (!isAuto) + WXShopListForm.UpdateShop(); + foreach (var shop in GlobalConfig.ShopLoginList) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + } LoadShop(); Invoke(new Action(() => { pbLoading.Visible = false; })); }); @@ -969,5 +1042,162 @@ namespace TemuKJD.WXForms.TalkForms { currentShop.Chat.Forward(); } + + private void btnRefreshAfterSale_Click(object sender, EventArgs e) + { + RefreshAfterSale(true); + } + + void RefreshAfterSale(bool refreshAll = false) + { + this.pbLoading.Visible = true; + Task.Run(() => + { + List tList = new List(); + if (refreshAll) + lstShopAfterSale.Clear(); + foreach (var shop in GlobalConfig.ShopLoginList) + { + var afterInfo = lstShopAfterSale.FirstOrDefault(sa => sa.ShopId == shop.ShopId); + if (afterInfo == null) + afterInfo = new WxShopAfterSaleInfo() { ShopId = shop.ShopId }; + Invoke(new Action(() => { LoadShopAfterSale(afterInfo, ""); })); + var t = Task.Run(() => + { + try + { + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => { LoadShopAfterSale(new WxShopAfterSaleInfo() { ShopId = shop.ShopId }, "店铺掉线"); })); + return; + } + + var afterSaleInfo = lstShopAfterSale.FirstOrDefault(sa => sa.ShopId == shop.ShopId); + if (refreshAll || afterSaleInfo == null || afterSaleInfo.RefreshTime.Date != DateTime.Now.Date) + { + lstShopAfterSale.RemoveAll(sa => sa.ShopId == shop.ShopId); + var rst = GetApiServiceList(shop); + if (!rst.Contains("\"code\":0")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => { LoadShopAfterSale(new WxShopAfterSaleInfo() { ShopId = shop.ShopId }, "店铺掉线"); })); + return; + } + + afterInfo = new WxShopAfterSaleInfo() { ShopId = shop.ShopId, RefreshTime = DateTime.Now }; + lstShopAfterSale.Add(afterInfo); + Invoke(new Action(() => { LoadShopAfterSale(afterInfo, "查询失败"); })); + return; + } + + var afterCount = JsonHelper.JObjectParse(rst)["aftersaleAllRet"]["totalNum"].ParseToInt(); + afterInfo = new WxShopAfterSaleInfo() { ShopId = shop.ShopId, RefreshTime = DateTime.Now, AfterSaleCount = afterCount }; + lstShopAfterSale.Add(afterInfo); + Invoke(new Action(() => { LoadShopAfterSale(afterInfo, "已查询"); })); + return; + } + } + catch (Exception ex) + { + } + }); + tList.Add(t); + while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 20) { Thread.Sleep(100); } + } + while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 1) { Thread.Sleep(100); } + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_shop_after_sale_list", lstShopAfterSale); + Invoke(new Action(() => { pbLoading.Visible = false; })); + }); + } + + private void btnToKfMainPage_Click(object sender, EventArgs e) + { + if (currentShop?.Chat != null && currentShop.LoginStatus == "登录成功") + currentShop.Chat.Load("https://store.weixin.qq.com/shop/kf"); + } + + private void txtAddress_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Enter) + { + if (currentShop?.Chat != null) + { + currentShop?.Chat.Load(txtAddress.Text); + } + } + } + + /// + /// 获取店铺后台主页售后数量等数据 + /// + /// + /// + public static string GetApiServiceList(ShopLoginInfo shop) + { + string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradehome/home/main?token=&lang=zh_CN"; + string referer = "https://store.weixin.qq.com/shop/home"; + var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, referer); + return result; + //{"code":0,"orderNumRet":{"code":0,"pendingShipNum":"1"},"waybillErrorRet":{"code":0,"totalNum":0},"aftersaleAllRet":{"code":0,"totalNum":3},"guaranteeRet":{"code":0,"totalNum":0},"prewarnRet":{"code":0,"waitStatusCount":0},"punishRet":{"code":0,"pendingNum":1},"mchUndealRet":{"code":0,"totalNum":0}} + //pendingShipNum待发货 waybillErrorRet物流异常 aftersaleAllRet售后 guaranteeRet服务保障 prewarnRet店铺预警 punishRet店铺违规 mchUndealRet工单 + } + + public static string GetKfMsgStatistics(ShopLoginInfo shop, long beginDateTick, long endDateTick) + { + string url = "https://store.weixin.qq.com/shop/kf/cgi/data/getRealTimeShopV2?" + "beginDate=" + (beginDateTick / 1000) + "&endDate=" + (endDateTick / 1000m).ToString("0.000"); + string referer = "https://store.weixin.qq.com/shop/kf/data/store"; + var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, referer); + return result; + } + + private void btnRefreshMsgCount_Click(object sender, EventArgs e) + { + RefreshMsgCount(); + } + + void RefreshMsgCount() + { + pbLoading.Visible = true; + Task.Run(() => + { + lstShopKfStatistics.Clear(); + foreach (var shop in GlobalConfig.ShopLoginList) + { + var kfMsg = new WxShopKfStatistics() { ShopId = shop.ShopId }; + var kfMsgRst = GetKfMsgStatistics(shop, BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date), BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now)); + if (!kfMsgRst.Contains("\"ret\":0")) + continue; + try + { + var jObj = JsonHelper.JObjectParse(kfMsgRst); + kfMsg.user_cnt = jObj["cardResp"]["objects"]["tableValueLine"][0]["columnValue"][1].ParseToInt(); + kfMsg.sesseion_cnt = jObj["cardResp"]["objects"]["tableValueLine"][0]["columnValue"][2].ParseToInt(); + kfMsg.service_noreply_ratio = jObj["cardResp"]["objects"]["tableValueLine"][0]["columnValue"][5].ParseToDecimal(); + lstShopKfStatistics.Add(kfMsg); + + Invoke(new Action(() => + { + int count = Math.Max(1, lstShopKfStatistics.Count()); + lblUserCount.Text = lstShopKfStatistics.Sum(s => s.user_cnt).ParseToString(); + lblTalkCount.Text = lstShopKfStatistics.Sum(s => s.sesseion_cnt).ParseToString(); + lblReplyCount.Text = lstShopKfStatistics.Sum(s => s.service_reply_ratio * 100 / count).ParseToDecimal().ToString("0.0") + "%"; + })); + } + catch + { + } + } + Invoke(new Action(() => + { + int count = Math.Max(1, lstShopKfStatistics.Count()); + lblUserCount.Text = lstShopKfStatistics.Sum(s => s.user_cnt).ParseToString(); + lblTalkCount.Text = lstShopKfStatistics.Sum(s => s.sesseion_cnt).ParseToString(); + lblReplyCount.Text = lstShopKfStatistics.Sum(s => s.service_reply_ratio * 100 / count).ParseToDecimal().ToString("0.0") + "%"; + pbLoading.Visible = false; + })); + }); + } } } diff --git a/TEMUKJD/WXForms/TalkForms/WxTalkForm.resx b/TEMUKJD/WXForms/TalkForms/WxTalkForm.resx index 0a191cd..eb261fa 100644 --- a/TEMUKJD/WXForms/TalkForms/WxTalkForm.resx +++ b/TEMUKJD/WXForms/TalkForms/WxTalkForm.resx @@ -132,6 +132,9 @@ True + + True + True @@ -156,12 +159,6 @@ True - - 17, 17 - - - 182, 17 -