diff --git a/AllBase/AllBase.csproj b/AllBase/AllBase.csproj
index 6d37985..bed7b0e 100644
--- a/AllBase/AllBase.csproj
+++ b/AllBase/AllBase.csproj
@@ -177,6 +177,7 @@
+
diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs
index eaf97c2..c3280a5 100644
--- a/AllBase/BaseClass.cs
+++ b/AllBase/BaseClass.cs
@@ -27,7 +27,7 @@ namespace AllBase
///
/// 版本ID
///
- public static int VersionCount = 798;
+ public static int VersionCount = 799;
//public static int VersionCount = 613;
///
diff --git a/AllBase/Model/Config/WxShopUploadInfo.cs b/AllBase/Model/Config/WxShopUploadInfo.cs
new file mode 100644
index 0000000..ebd2c50
--- /dev/null
+++ b/AllBase/Model/Config/WxShopUploadInfo.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AllBase.Model.Config
+{
+ public class WxShopUploadInfo
+ {
+ ///
+ /// 日提审数量
+ ///
+ public Dictionary DicDaySubmitCount { get; set; } = new Dictionary();
+ ///
+ /// 日上货数量
+ ///
+ public Dictionary DicDayUploadCount { get; set; } = new Dictionary();
+
+ ///
+ /// 在售商品数
+ ///
+ public int OnSaleCount { get; set; }
+ ///
+ /// 刷新在售商品时间
+ ///
+
+ public int OnSaleRefreshDay { get; set; }
+ }
+}
diff --git a/TEMUKJD/BaseForms/BaseGeneralForm.designer.cs b/TEMUKJD/BaseForms/BaseGeneralForm.designer.cs
index e858171..e1d4654 100644
--- a/TEMUKJD/BaseForms/BaseGeneralForm.designer.cs
+++ b/TEMUKJD/BaseForms/BaseGeneralForm.designer.cs
@@ -120,11 +120,12 @@
//
this.lbTitle.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
+ this.lbTitle.AutoSize = true;
this.lbTitle.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lbTitle.ForeColor = System.Drawing.Color.White;
this.lbTitle.Location = new System.Drawing.Point(31, 7);
this.lbTitle.Name = "lbTitle";
- this.lbTitle.Size = new System.Drawing.Size(588, 17);
+ this.lbTitle.Size = new System.Drawing.Size(45, 17);
this.lbTitle.TabIndex = 2;
this.lbTitle.Text = "label1";
this.lbTitle.MouseDown += new System.Windows.Forms.MouseEventHandler(this.lbTitle_MouseDown);
@@ -145,20 +146,20 @@
this.pbCloseBase.MouseLeave += new System.EventHandler(this.PictureBox1_MouseLeave);
this.pbCloseBase.MouseHover += new System.EventHandler(this.PictureBox1_MouseHover);
//
- // LRBaseForm
+ // BaseGeneralForm
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(98)))), ((int)(((byte)(200)))));
this.ClientSize = new System.Drawing.Size(659, 535);
this.Controls.Add(this.panel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
- this.Name = "LRBaseForm";
+ this.Name = "BaseGeneralForm";
this.Padding = new System.Windows.Forms.Padding(1);
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "LcBaseForm";
this.Load += new System.EventHandler(this.LcBaseForm_Load);
this.panel1.ResumeLayout(false);
+ this.panel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pbMinBase)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pbNormalBase)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pbMaxBase)).EndInit();
diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj
index 1db3aca..dc1478d 100644
--- a/TEMUKJD/KJD.csproj
+++ b/TEMUKJD/KJD.csproj
@@ -1012,6 +1012,12 @@
SupportQrCodeForm.cs
+
+ Form
+
+
+ TalkMessageForm.cs
+
@@ -1433,6 +1439,9 @@
SupportQrCodeForm.cs
+
+ TalkMessageForm.cs
+
WxTalkForm.cs
diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.Designer.cs b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.Designer.cs
index 1d30833..14ef73f 100644
--- a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.Designer.cs
+++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.Designer.cs
@@ -1139,7 +1139,7 @@
this.cmbSearchYear.Items.AddRange(new object[] {
"2025",
"2026"});
- this.cmbSearchYear.Location = new System.Drawing.Point(1017, 11);
+ this.cmbSearchYear.Location = new System.Drawing.Point(1017, 8);
this.cmbSearchYear.Margin = new System.Windows.Forms.Padding(0);
this.cmbSearchYear.Name = "cmbSearchYear";
this.cmbSearchYear.Size = new System.Drawing.Size(55, 25);
@@ -1154,7 +1154,7 @@
"全部",
"重上",
"已买"});
- this.cmbUserNotes.Location = new System.Drawing.Point(927, 8);
+ this.cmbUserNotes.Location = new System.Drawing.Point(927, 11);
this.cmbUserNotes.Margin = new System.Windows.Forms.Padding(0);
this.cmbUserNotes.Name = "cmbUserNotes";
this.cmbUserNotes.Size = new System.Drawing.Size(52, 25);
@@ -1171,7 +1171,7 @@
"核价成功",
"核价成功(重复)",
"重复"});
- this.cmbNotes.Location = new System.Drawing.Point(813, 8);
+ this.cmbNotes.Location = new System.Drawing.Point(813, 11);
this.cmbNotes.Margin = new System.Windows.Forms.Padding(0);
this.cmbNotes.Name = "cmbNotes";
this.cmbNotes.Size = new System.Drawing.Size(52, 25);
@@ -1198,7 +1198,7 @@
"已上传",
"草稿箱",
"全部"});
- this.cmbStatus.Location = new System.Drawing.Point(723, 8);
+ this.cmbStatus.Location = new System.Drawing.Point(723, 11);
this.cmbStatus.Margin = new System.Windows.Forms.Padding(0);
this.cmbStatus.Name = "cmbStatus";
this.cmbStatus.Size = new System.Drawing.Size(52, 25);
diff --git a/TEMUKJD/UserControls/UcSplitPage.cs b/TEMUKJD/UserControls/UcSplitPage.cs
index 2b10bda..c9dff84 100644
--- a/TEMUKJD/UserControls/UcSplitPage.cs
+++ b/TEMUKJD/UserControls/UcSplitPage.cs
@@ -73,8 +73,8 @@ namespace TemuKJD.UserControls
}
else
this.lblPage.Text = "" + currentPage;
- OnPageChange(this);
}
+ OnPageChange(this);
}
}
diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs
index 0973575..e8c3f1a 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 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();
+ 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();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.label18 = new System.Windows.Forms.Label();
@@ -96,26 +96,17 @@ namespace TemuKJD.WXForms.ProductForms
this.panelEx2 = new DevComponents.DotNetBar.PanelEx();
this.label16 = new System.Windows.Forms.Label();
this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
+ this.btnRefreshNum = new DevComponents.DotNetBar.PanelEx();
this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx();
this.splitContainer3 = new System.Windows.Forms.SplitContainer();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
+ 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.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
- this.colUploadCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.colRemaining = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.并发上传 = new DevComponents.DotNetBar.PanelEx();
this.pbLoading = new System.Windows.Forms.PictureBox();
this.label11 = new System.Windows.Forms.Label();
this.txtSinglePriceAdd = new System.Windows.Forms.TextBox();
+ this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx();
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -144,6 +135,18 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClear = new DevComponents.DotNetBar.PanelEx();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.panel1 = new System.Windows.Forms.Panel();
+ 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.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();
@@ -162,6 +165,7 @@ namespace TemuKJD.WXForms.ProductForms
this.splitContainer2.Panel1.SuspendLayout();
this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoadingShop)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).BeginInit();
@@ -238,7 +242,7 @@ namespace TemuKJD.WXForms.ProductForms
// label18
//
this.label18.AutoSize = true;
- this.label18.Location = new System.Drawing.Point(662, 120);
+ this.label18.Location = new System.Drawing.Point(576, 120);
this.label18.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(54, 17);
@@ -247,7 +251,7 @@ namespace TemuKJD.WXForms.ProductForms
//
// txtPreDays
//
- this.txtPreDays.Location = new System.Drawing.Point(629, 117);
+ this.txtPreDays.Location = new System.Drawing.Point(543, 117);
this.txtPreDays.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.txtPreDays.Name = "txtPreDays";
this.txtPreDays.Size = new System.Drawing.Size(33, 23);
@@ -258,7 +262,7 @@ namespace TemuKJD.WXForms.ProductForms
// chkPreSale
//
this.chkPreSale.AutoSize = true;
- this.chkPreSale.Location = new System.Drawing.Point(537, 118);
+ this.chkPreSale.Location = new System.Drawing.Point(451, 118);
this.chkPreSale.Name = "chkPreSale";
this.chkPreSale.Size = new System.Drawing.Size(99, 21);
this.chkPreSale.TabIndex = 789;
@@ -271,7 +275,7 @@ namespace TemuKJD.WXForms.ProductForms
this.chkSkipUploaded.AutoSize = true;
this.chkSkipUploaded.Checked = true;
this.chkSkipUploaded.CheckState = System.Windows.Forms.CheckState.Checked;
- this.chkSkipUploaded.Location = new System.Drawing.Point(537, 91);
+ this.chkSkipUploaded.Location = new System.Drawing.Point(451, 91);
this.chkSkipUploaded.Name = "chkSkipUploaded";
this.chkSkipUploaded.Size = new System.Drawing.Size(135, 21);
this.chkSkipUploaded.TabIndex = 755;
@@ -284,7 +288,7 @@ namespace TemuKJD.WXForms.ProductForms
this.chkSameSpecPrice.AutoSize = true;
this.chkSameSpecPrice.Checked = true;
this.chkSameSpecPrice.CheckState = System.Windows.Forms.CheckState.Checked;
- this.chkSameSpecPrice.Location = new System.Drawing.Point(662, 41);
+ this.chkSameSpecPrice.Location = new System.Drawing.Point(576, 41);
this.chkSameSpecPrice.Name = "chkSameSpecPrice";
this.chkSameSpecPrice.Size = new System.Drawing.Size(99, 21);
this.chkSameSpecPrice.TabIndex = 745;
@@ -295,7 +299,7 @@ namespace TemuKJD.WXForms.ProductForms
// label5
//
this.label5.AutoSize = true;
- this.label5.Location = new System.Drawing.Point(625, 18);
+ this.label5.Location = new System.Drawing.Point(539, 18);
this.label5.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(76, 17);
@@ -304,7 +308,7 @@ namespace TemuKJD.WXForms.ProductForms
//
// txtMinPrice
//
- this.txtMinPrice.Location = new System.Drawing.Point(592, 15);
+ this.txtMinPrice.Location = new System.Drawing.Point(506, 15);
this.txtMinPrice.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.txtMinPrice.Name = "txtMinPrice";
this.txtMinPrice.Size = new System.Drawing.Size(33, 23);
@@ -315,7 +319,7 @@ namespace TemuKJD.WXForms.ProductForms
// label8
//
this.label8.AutoSize = true;
- this.label8.Location = new System.Drawing.Point(534, 18);
+ this.label8.Location = new System.Drawing.Point(448, 18);
this.label8.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(68, 17);
@@ -324,7 +328,7 @@ namespace TemuKJD.WXForms.ProductForms
//
// txtReplaceText
//
- this.txtReplaceText.Location = new System.Drawing.Point(664, 65);
+ this.txtReplaceText.Location = new System.Drawing.Point(578, 65);
this.txtReplaceText.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.txtReplaceText.Name = "txtReplaceText";
this.txtReplaceText.Size = new System.Drawing.Size(285, 23);
@@ -335,7 +339,7 @@ namespace TemuKJD.WXForms.ProductForms
// label3
//
this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(534, 68);
+ this.label3.Location = new System.Drawing.Point(448, 68);
this.label3.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(140, 17);
@@ -345,7 +349,7 @@ namespace TemuKJD.WXForms.ProductForms
// chkUpDraft
//
this.chkUpDraft.AutoSize = true;
- this.chkUpDraft.Location = new System.Drawing.Point(678, 91);
+ this.chkUpDraft.Location = new System.Drawing.Point(592, 91);
this.chkUpDraft.Name = "chkUpDraft";
this.chkUpDraft.Size = new System.Drawing.Size(99, 21);
this.chkUpDraft.TabIndex = 769;
@@ -358,7 +362,7 @@ namespace TemuKJD.WXForms.ProductForms
this.chkHighestPriceSku.AutoSize = true;
this.chkHighestPriceSku.Checked = true;
this.chkHighestPriceSku.CheckState = System.Windows.Forms.CheckState.Checked;
- this.chkHighestPriceSku.Location = new System.Drawing.Point(537, 41);
+ this.chkHighestPriceSku.Location = new System.Drawing.Point(451, 41);
this.chkHighestPriceSku.Name = "chkHighestPriceSku";
this.chkHighestPriceSku.Size = new System.Drawing.Size(119, 21);
this.chkHighestPriceSku.TabIndex = 739;
@@ -427,6 +431,7 @@ namespace TemuKJD.WXForms.ProductForms
//
// chkAddMorePriceFirst
//
+ this.chkAddMorePriceFirst.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.chkAddMorePriceFirst.AutoSize = true;
this.chkAddMorePriceFirst.Location = new System.Drawing.Point(213, 121);
this.chkAddMorePriceFirst.Name = "chkAddMorePriceFirst";
@@ -493,7 +498,7 @@ namespace TemuKJD.WXForms.ProductForms
this.panel4.Controls.Add(this.panel3);
this.panel4.Location = new System.Drawing.Point(76, 17);
this.panel4.Name = "panel4";
- this.panel4.Size = new System.Drawing.Size(450, 99);
+ this.panel4.Size = new System.Drawing.Size(366, 99);
this.panel4.TabIndex = 577;
//
// panel3
@@ -506,7 +511,7 @@ namespace TemuKJD.WXForms.ProductForms
this.panel3.Controls.Add(this.fPnlPriceRule);
this.panel3.Location = new System.Drawing.Point(1, 1);
this.panel3.Name = "panel3";
- this.panel3.Size = new System.Drawing.Size(448, 97);
+ this.panel3.Size = new System.Drawing.Size(364, 97);
this.panel3.TabIndex = 541;
//
// fPnlPriceRule
@@ -668,6 +673,7 @@ namespace TemuKJD.WXForms.ProductForms
//
// txtStockNum
//
+ this.txtStockNum.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.txtStockNum.Location = new System.Drawing.Point(393, 120);
this.txtStockNum.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtStockNum.Name = "txtStockNum";
@@ -678,6 +684,7 @@ namespace TemuKJD.WXForms.ProductForms
//
// 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(337, 123);
this.label4.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
@@ -996,6 +1003,7 @@ namespace TemuKJD.WXForms.ProductForms
| System.Windows.Forms.AnchorStyles.Left)));
this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
+ this.ucGroupBoxEx1.Controls.Add(this.btnRefreshNum);
this.ucGroupBoxEx1.Controls.Add(this.btnRefreshShop);
this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2);
this.ucGroupBoxEx1.Name = "ucGroupBoxEx1";
@@ -1004,6 +1012,31 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx1.TabStop = false;
this.ucGroupBoxEx1.Text = "基础";
//
+ // btnRefreshNum
+ //
+ this.btnRefreshNum.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnRefreshNum.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnRefreshNum.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnRefreshNum.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnRefreshNum.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnRefreshNum.Location = new System.Drawing.Point(17, 99);
+ this.btnRefreshNum.Name = "btnRefreshNum";
+ this.btnRefreshNum.Size = new System.Drawing.Size(102, 24);
+ this.btnRefreshNum.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnRefreshNum.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnRefreshNum.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnRefreshNum.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnRefreshNum.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnRefreshNum.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnRefreshNum.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnRefreshNum.Style.GradientAngle = 90;
+ this.btnRefreshNum.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnRefreshNum.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnRefreshNum.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnRefreshNum.TabIndex = 438;
+ this.btnRefreshNum.Text = "刷新在售数";
+ this.btnRefreshNum.Click += new System.EventHandler(this.btnRefreshNum_Click);
+ //
// btnRefreshShop
//
this.btnRefreshShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -1057,39 +1090,52 @@ namespace TemuKJD.WXForms.ProductForms
//
// splitContainer2.Panel1
//
+ this.splitContainer2.Panel1.Controls.Add(this.pbLoadingShop);
this.splitContainer2.Panel1.Controls.Add(this.dgvShop);
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 0, 0);
//
// splitContainer2.Panel2
//
- this.splitContainer2.Panel2.Controls.Add(this.chkTestNoAuditUpload);
this.splitContainer2.Panel2.Controls.Add(this.并发上传);
this.splitContainer2.Panel2.Controls.Add(this.pbLoading);
this.splitContainer2.Panel2.Controls.Add(this.label11);
this.splitContainer2.Panel2.Controls.Add(this.txtSinglePriceAdd);
+ this.splitContainer2.Panel2.Controls.Add(this.chkTestNoAuditUpload);
this.splitContainer2.Panel2.Controls.Add(this.dgvSelectProduct);
this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0);
this.splitContainer2.Size = new System.Drawing.Size(1523, 362);
- this.splitContainer2.SplitterDistance = 300;
+ this.splitContainer2.SplitterDistance = 350;
this.splitContainer2.TabIndex = 0;
//
+ // pbLoadingShop
+ //
+ this.pbLoadingShop.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.pbLoadingShop.Image = global::TemuKJD.Properties.Resources.loading_blue;
+ this.pbLoadingShop.Location = new System.Drawing.Point(150, 156);
+ this.pbLoadingShop.Name = "pbLoadingShop";
+ this.pbLoadingShop.Size = new System.Drawing.Size(50, 50);
+ this.pbLoadingShop.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pbLoadingShop.TabIndex = 189;
+ this.pbLoadingShop.TabStop = false;
+ this.pbLoadingShop.Visible = false;
+ //
// dgvShop
//
this.dgvShop.AllowUserToAddRows = false;
this.dgvShop.AllowUserToDeleteRows = false;
- dataGridViewCellStyle7.BackColor = System.Drawing.Color.WhiteSmoke;
- this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle7;
+ dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
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)))));
- 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;
+ dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colSelect,
@@ -1101,6 +1147,7 @@ namespace TemuKJD.WXForms.ProductForms
this.colLoginStatus,
this.colCanUse,
this.colUploadCount,
+ this.colOnSaleNum,
this.colRemaining,
this.colMessage});
this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -1109,110 +1156,10 @@ namespace TemuKJD.WXForms.ProductForms
this.dgvShop.ReadOnly = true;
this.dgvShop.RowHeadersWidth = 25;
this.dgvShop.RowTemplate.Height = 23;
- this.dgvShop.Size = new System.Drawing.Size(296, 362);
+ this.dgvShop.Size = new System.Drawing.Size(346, 362);
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;
- //
- // 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;
- //
- // 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;
- //
- // chkTestNoAuditUpload
- //
- this.chkTestNoAuditUpload.AutoSize = true;
- this.chkTestNoAuditUpload.Location = new System.Drawing.Point(964, 32);
- this.chkTestNoAuditUpload.Name = "chkTestNoAuditUpload";
- this.chkTestNoAuditUpload.Size = new System.Drawing.Size(123, 21);
- this.chkTestNoAuditUpload.TabIndex = 779;
- this.chkTestNoAuditUpload.Text = "测试面审提交商品";
- this.chkTestNoAuditUpload.UseVisualStyleBackColor = true;
- this.chkTestNoAuditUpload.Visible = false;
- //
// 并发上传
//
this.并发上传.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -1220,7 +1167,7 @@ namespace TemuKJD.WXForms.ProductForms
this.并发上传.Cursor = System.Windows.Forms.Cursors.Hand;
this.并发上传.DisabledBackColor = System.Drawing.Color.Empty;
this.并发上传.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.并发上传.Location = new System.Drawing.Point(1093, 30);
+ this.并发上传.Location = new System.Drawing.Point(1043, 30);
this.并发上传.Name = "并发上传";
this.并发上传.Size = new System.Drawing.Size(118, 23);
this.并发上传.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -1243,7 +1190,7 @@ namespace TemuKJD.WXForms.ProductForms
//
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
- this.pbLoading.Location = new System.Drawing.Point(584, 156);
+ this.pbLoading.Location = new System.Drawing.Point(559, 156);
this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -1275,23 +1222,34 @@ namespace TemuKJD.WXForms.ProductForms
this.txtSinglePriceAdd.Visible = false;
this.txtSinglePriceAdd.TextChanged += new System.EventHandler(this.txtAddPrice_TextChanged);
//
+ // chkTestNoAuditUpload
+ //
+ this.chkTestNoAuditUpload.AutoSize = true;
+ this.chkTestNoAuditUpload.Location = new System.Drawing.Point(926, 31);
+ this.chkTestNoAuditUpload.Name = "chkTestNoAuditUpload";
+ this.chkTestNoAuditUpload.Size = new System.Drawing.Size(123, 21);
+ this.chkTestNoAuditUpload.TabIndex = 779;
+ this.chkTestNoAuditUpload.Text = "测试面审提交商品";
+ this.chkTestNoAuditUpload.UseVisualStyleBackColor = true;
+ this.chkTestNoAuditUpload.Visible = false;
+ //
// dgvSelectProduct
//
this.dgvSelectProduct.AllowUserToAddRows = false;
this.dgvSelectProduct.AllowUserToDeleteRows = false;
- dataGridViewCellStyle9.BackColor = System.Drawing.Color.WhiteSmoke;
- this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9;
+ dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
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)))));
- 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;
+ 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;
this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colCheck,
@@ -1321,7 +1279,7 @@ namespace TemuKJD.WXForms.ProductForms
this.dgvSelectProduct.Name = "dgvSelectProduct";
this.dgvSelectProduct.ReadOnly = true;
this.dgvSelectProduct.RowTemplate.Height = 23;
- this.dgvSelectProduct.Size = new System.Drawing.Size(1215, 362);
+ this.dgvSelectProduct.Size = new System.Drawing.Size(1165, 362);
this.dgvSelectProduct.TabIndex = 187;
this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick);
//
@@ -1351,8 +1309,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colSupplierName
//
- dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle11;
+ dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
this.colSupplierName.Frozen = true;
this.colSupplierName.HeaderText = "店铺名称";
this.colSupplierName.Name = "colSupplierName";
@@ -1430,8 +1388,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colProductName
//
- dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.colProductName.DefaultCellStyle = dataGridViewCellStyle12;
+ dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
this.colProductName.HeaderText = "商品标题";
this.colProductName.Name = "colProductName";
this.colProductName.ReadOnly = true;
@@ -1594,6 +1552,103 @@ namespace TemuKJD.WXForms.ProductForms
this.panel1.TabIndex = 189;
this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.panel1_Paint);
//
+ // 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;
+ //
+ // 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
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -1603,7 +1658,7 @@ namespace TemuKJD.WXForms.ProductForms
this.Controls.Add(this.panel1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Name = "WXDBProdUploadForm";
- this.Text = "PDDDBProdUserSelectForm";
+ this.Text = "微信小店";
this.Load += new System.EventHandler(this.UserSelectDbProductForm_Load);
this.VisibleChanged += new System.EventHandler(this.UserSelectDbProductForm_VisibleChanged);
this.splitContainer1.Panel1.ResumeLayout(false);
@@ -1629,6 +1684,7 @@ namespace TemuKJD.WXForms.ProductForms
this.splitContainer2.Panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
this.splitContainer2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoadingShop)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).EndInit();
@@ -1729,6 +1785,16 @@ namespace TemuKJD.WXForms.ProductForms
private System.Windows.Forms.ComboBox cmbWxSafe;
private System.Windows.Forms.Label label13;
private UserComponent.UcCheckBox chkSkipUploaded;
+ private DevComponents.DotNetBar.PanelEx 并发上传;
+ private UserComponent.UcCheckBox chkUpDraft;
+ private System.Windows.Forms.ComboBox cmbSpProdType;
+ private System.Windows.Forms.Label label17;
+ private UserComponent.UcCheckBox chkTestNoAuditUpload;
+ private System.Windows.Forms.TextBox txtPreDays;
+ private UserComponent.UcCheckBox chkPreSale;
+ private System.Windows.Forms.Label label18;
+ private DevComponents.DotNetBar.PanelEx btnRefreshNum;
+ private System.Windows.Forms.PictureBox pbLoadingShop;
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
@@ -1738,15 +1804,8 @@ namespace TemuKJD.WXForms.ProductForms
private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse;
private System.Windows.Forms.DataGridViewTextBoxColumn colUploadCount;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colOnSaleNum;
private System.Windows.Forms.DataGridViewTextBoxColumn colRemaining;
private System.Windows.Forms.DataGridViewTextBoxColumn colMessage;
- private DevComponents.DotNetBar.PanelEx 并发上传;
- private UserComponent.UcCheckBox chkUpDraft;
- private System.Windows.Forms.ComboBox cmbSpProdType;
- private System.Windows.Forms.Label label17;
- private UserComponent.UcCheckBox chkTestNoAuditUpload;
- private System.Windows.Forms.TextBox txtPreDays;
- private UserComponent.UcCheckBox chkPreSale;
- private System.Windows.Forms.Label label18;
}
}
\ No newline at end of file
diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs
index c961e9c..abc9f86 100644
--- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs
@@ -28,6 +28,7 @@ using AllBase.Model.Param.WXParam;
using AllBase.Model.Result.WXResult;
using Newtonsoft.Json;
using NaiBa.Util;
+using AllBase.Model.Config;
namespace TemuKJD.WXForms.ProductForms
{
@@ -44,7 +45,9 @@ namespace TemuKJD.WXForms.ProductForms
NaiBa.Util.ConcurrentList lstAddPriceRule = new NaiBa.Util.ConcurrentList();
AddPriceRule defaultAddPriceRule = null;
WXUploadRule wxUploadRule = null;
- public Dictionary> dicCheckedShopIdList = new Dictionary>();
+ //public Dictionary> dicCheckedShopIdList = new Dictionary>();
+ public Dictionary dicCheckedShopId = new Dictionary();
+ public Dictionary dicShopUpload = new Dictionary();
public WXDBProdUploadForm()
{
InitializeComponent();
@@ -97,11 +100,12 @@ namespace TemuKJD.WXForms.ProductForms
ucPrice.PriceChange += ucAddPrice_PriceChange;
}
- dicCheckedShopIdList = NaiBa.Util.Helper.ConfigHelper.LoadConfig>>("wx_checked_shop_dic_list");
- if (dicCheckedShopIdList == null)
- dicCheckedShopIdList = new Dictionary>();
- if (!dicCheckedShopIdList.Keys.Contains(BaseClass.UserName))
- dicCheckedShopIdList[BaseClass.UserName] = new List();
+ dicCheckedShopId = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_checked_shop_dic");
+ if (dicCheckedShopId == null)
+ dicCheckedShopId = new Dictionary();
+ dicShopUpload = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_upload_info");
+ if (dicShopUpload == null)
+ dicShopUpload = new Dictionary();
defaultAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig("wx_default_add_price_rule");
if (defaultAddPriceRule == null)
@@ -251,13 +255,16 @@ namespace TemuKJD.WXForms.ProductForms
}
}
- dicCheckedShopIdList[BaseClass.UserName] = dgvShop.Rows.Cast().Where(r => r.Cells["colSelect"].Value.ParseToBool() == true)
- .Select(r => r.Cells["colShopId"].Value.ParseToString()).ToList();
- NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic_list", dicCheckedShopIdList);
+ foreach (var r in dgvShop.Rows.Cast())
+ {
+ dicCheckedShopId[r.Cells["colShopId"].Value.ParseToString()] = r.Cells["colSelect"].Value.ParseToBool();
+ }
+ NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic", dicCheckedShopId);
}
private void btnRefreshShop_Click(object sender, EventArgs e)
{
+ pbLoadingShop.Visible = true;
RefreshShop();
RefreshDbProd();
}
@@ -278,7 +285,6 @@ namespace TemuKJD.WXForms.ProductForms
Task.Run(() =>
{
PDDDBProdListForm.GetPDDProductGroup(cmbGroupFilter); // 同时刷新下商品分组
-
GetPddProductCate();
});
}
@@ -343,18 +349,21 @@ namespace TemuKJD.WXForms.ProductForms
bool canUse = shopEntity.LoginStatus == "登录成功";
//canUse = true; // 内部库不需要校验登录状态
var row = dgvShop.Rows.Cast().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId);
+ var day = DateTime.Now.ToString("yyyyMMdd").ParseToInt();
if (row == null)
{
this.dgvShop.Rows.Add(
//!isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse),
- dicCheckedShopIdList[BaseClass.UserName].Contains(shopEntity.ShopId),
+ dicCheckedShopId.Keys.Contains(shopEntity.ShopId) && dicCheckedShopId[shopEntity.ShopId] == true,
shopEntity.LoginName,
shopEntity.ShopId,
shopEntity.ShopAccount,
shopEntity.Notes,
"选择商品",
canUse ? "在线" : "掉线",
- canUse,
+ canUse,
+ dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].DicDayUploadCount.ContainsKey(day) ?
+ dicShopUpload[shopEntity.ShopId].DicDayUploadCount[day] : 0,
0,
shopEntity.AddProductRemaining,
string.Empty
@@ -401,9 +410,9 @@ namespace TemuKJD.WXForms.ProductForms
{
//BaseMsgForm.ShowInfo("店铺未登录!");
}
- dicCheckedShopIdList[BaseClass.UserName] = dgvShop.Rows.Cast().Where(r => r.Cells["colSelect"].Value.ParseToBool() == true)
- .Select(r => r.Cells["colShopId"].Value.ParseToString()).ToList();
- NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic_list", dicCheckedShopIdList);
+
+ dicCheckedShopId[row.Cells["colShopId"].Value.ParseToString()] = row.Cells["colSelect"].Value.ParseToBool();
+ NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic", dicCheckedShopId);
break;
case "colLoginStatus":
if (WXShopListForm.Instance == null)
@@ -2098,9 +2107,17 @@ namespace TemuKJD.WXForms.ProductForms
var dgvShopRow = dgvShop.Rows.Cast().FirstOrDefault(row => row.Cells["colShopId"]?.Value.ParseToString() == shop.ShopId);
if (dgvShopRow != null)
{
+ var day = DateTime.Now.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]++;
+ NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_shop_upload_info", dicShopUpload);
+
Invoke(new Action(() =>
{
- dgvShopRow.Cells["colUploadCount"].Value = dgvShopRow.Cells["colUploadCount"].Value.ParseToInt() + 1;
+ dgvShopRow.Cells["colUploadCount"].Value = dicShopUpload[shop.ShopId].DicDayUploadCount[day];
}));
}
@@ -2344,6 +2361,8 @@ namespace TemuKJD.WXForms.ProductForms
}
ucPrice.PriceChange += ucAddPrice_PriceChange;
this.fPnlPriceRule.Controls.Add(ucPrice);
+ ucPrice.lblSinglePriceAdd.Visible = false;
+ ucPrice.txtSinglePriceAdd.Visible = false;
}
private void ucAddPrice_PriceChange(object obj)
@@ -2521,9 +2540,18 @@ namespace TemuKJD.WXForms.ProductForms
var dgvShopRow = dgvShop.Rows.Cast().FirstOrDefault(row => row.Cells["colShopId"]?.Value.ParseToString() == shop.ShopId);
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]++;
+ NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_shop_upload_info", dicShopUpload);
+
Invoke(new Action(() =>
{
- dgvShopRow.Cells["colUploadCount"].Value = dgvShopRow.Cells["colUploadCount"].Value.ParseToInt() + 1;
+ dgvShopRow.Cells["colUploadCount"].Value = dicShopUpload[shop.ShopId].DicDayUploadCount[day];
}));
}
}
@@ -2582,6 +2610,11 @@ namespace TemuKJD.WXForms.ProductForms
wxUploadRule.IsPreSale = chkPreSale.Checked;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
}
+
+ private void btnRefreshNum_Click(object sender, EventArgs e)
+ {
+
+ }
}
public class WXUpload
diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.resx b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.resx
index cab7006..3f86cc6 100644
--- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.resx
+++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.resx
@@ -141,6 +141,9 @@
True
+
+ True
+
True
diff --git a/TEMUKJD/WXForms/TalkForms/TalkMessageForm.cs b/TEMUKJD/WXForms/TalkForms/TalkMessageForm.cs
new file mode 100644
index 0000000..38b82ac
--- /dev/null
+++ b/TEMUKJD/WXForms/TalkForms/TalkMessageForm.cs
@@ -0,0 +1,89 @@
+using AllBase.Model.Result;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using TemuKJD.BaseForms;
+
+namespace TemuKJD.WXForms.TalkForms
+{
+ public partial class TalkMessageForm : BaseGeneralForm
+ {
+ public ShopLoginInfo shop;
+ public WxTalkForm cf;
+ public TalkMessageForm(ShopLoginInfo _shop, WxTalkForm _cf)
+ {
+ InitializeComponent();
+
+ this.shop = _shop;
+ this.cf = _cf;
+ this.Load += ChatMessageForm_Load;
+ this.FormClosed += ChatMessageForm_FormClosed;
+ this.TopMost = true;
+ }
+
+ private void ChatMessageForm_FormClosed(object sender, FormClosedEventArgs e)
+ {
+ WxTalkForm.lstChatMessageForm.Remove(this);
+ }
+
+ private void ChatMessageForm_Load(object sender, EventArgs e)
+ {
+ if (shop != null)
+ {
+ this.pnlMessage.Text = "店铺" + shop.ShopAccount + "有新消息\r\n点击查看";
+ }
+ var height = this.Height;
+ Task.Run(() =>
+ {
+ for (int i = 0; i < height; i++)
+ {
+ Invoke(new Action(() =>
+ {
+ Point p = new Point(Screen.PrimaryScreen.WorkingArea.Width - this.Width, Screen.PrimaryScreen.WorkingArea.Height);
+ this.Location = new Point(p.X, p.Y - i);
+ }));
+ Thread.Sleep(5);
+ }
+ //Thread.Sleep(2000);
+ //var _opacity = 1.0;
+ //while (_opacity > 0)
+ //{
+ // _opacity -= 0.02;
+ // Invoke(new Action(() =>
+ // {
+ // this.Opacity = _opacity;
+ // if (this.Opacity <= 0)
+ // this.Close();
+ // }));
+ // Thread.Sleep(100);
+ //}
+ });
+ }
+
+ private void pnlMessage_Click(object sender, EventArgs e)
+ {
+ if (cf != null)
+ {
+ //cf.TopMost = true;
+ cf.DgvShopClick(shop);
+ Task.Run(() =>
+ {
+ Thread.Sleep(1000);
+ Invoke(new Action(() =>
+ {
+ this.Close();
+ //this.TopMost = false;
+ //cf.TopMost = false;
+ }));
+ });
+ }
+ }
+ }
+}
diff --git a/TEMUKJD/WXForms/TalkForms/TalkMessageForm.designer.cs b/TEMUKJD/WXForms/TalkForms/TalkMessageForm.designer.cs
new file mode 100644
index 0000000..69b3742
--- /dev/null
+++ b/TEMUKJD/WXForms/TalkForms/TalkMessageForm.designer.cs
@@ -0,0 +1,100 @@
+namespace TemuKJD.WXForms.TalkForms
+{
+ partial class TalkMessageForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TalkMessageForm));
+ this.timer1 = new System.Windows.Forms.Timer(this.components);
+ this.pnlMessage = new DevComponents.DotNetBar.PanelEx();
+ this.panel2 = new System.Windows.Forms.Panel();
+ this.panel2.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // pnlMessage
+ //
+ this.pnlMessage.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.pnlMessage.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.pnlMessage.DisabledBackColor = System.Drawing.Color.Empty;
+ this.pnlMessage.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlMessage.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.pnlMessage.Location = new System.Drawing.Point(8, 8);
+ this.pnlMessage.Name = "pnlMessage";
+ this.pnlMessage.Size = new System.Drawing.Size(238, 94);
+ this.pnlMessage.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.pnlMessage.Style.BackColor1.Color = System.Drawing.Color.White;
+ this.pnlMessage.Style.BackColor2.Color = System.Drawing.Color.White;
+ this.pnlMessage.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.pnlMessage.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.pnlMessage.Style.ForeColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.pnlMessage.Style.GradientAngle = 90;
+ this.pnlMessage.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.pnlMessage.StyleMouseDown.BackColor1.Color = System.Drawing.Color.White;
+ this.pnlMessage.StyleMouseDown.BackColor2.Color = System.Drawing.Color.White;
+ this.pnlMessage.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.pnlMessage.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(235)))), ((int)(((byte)(255)))));
+ this.pnlMessage.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(235)))), ((int)(((byte)(255)))));
+ this.pnlMessage.TabIndex = 188;
+ this.pnlMessage.Text = "有新消息";
+ this.pnlMessage.Click += new System.EventHandler(this.pnlMessage_Click);
+ //
+ // panel2
+ //
+ this.panel2.BackColor = System.Drawing.Color.White;
+ this.panel2.Controls.Add(this.pnlMessage);
+ this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.panel2.Location = new System.Drawing.Point(1, 33);
+ this.panel2.Name = "panel2";
+ this.panel2.Padding = new System.Windows.Forms.Padding(8);
+ this.panel2.Size = new System.Drawing.Size(254, 110);
+ this.panel2.TabIndex = 189;
+ //
+ // ChatMessageForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(256, 144);
+ this.Controls.Add(this.panel2);
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.ShowMinimizedBox = true;
+ this.Name = "ChatMessageForm";
+ this.Text = "新消息";
+ this.TitleText = "新消息";
+ this.Controls.SetChildIndex(this.panel2, 0);
+ this.panel2.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Timer timer1;
+ private DevComponents.DotNetBar.PanelEx pnlMessage;
+ private System.Windows.Forms.Panel panel2;
+ }
+}
\ No newline at end of file
diff --git a/TEMUKJD/WXForms/TalkForms/TalkMessageForm.resx b/TEMUKJD/WXForms/TalkForms/TalkMessageForm.resx
new file mode 100644
index 0000000..9b96c02
--- /dev/null
+++ b/TEMUKJD/WXForms/TalkForms/TalkMessageForm.resx
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+
+
+ AAABAAEAgIAQeQAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
+ AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
+ zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
+ zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
+ zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
+ zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMd3d3d3d3d3
+ d3d3fMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMd3d3iIiIiI
+ iIiIiIiIiIh3d3d8zMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMx3eIiIiI
+ iIiIiIiIiIiIiIiIiIiIiHd8zMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMd4iI
+ iIiIiIiIiIiIiIiIiIiIiIiIiIiIiHfMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzH
+ eIiIiIiIiIiHZmZmZmZmZmZmZ3eIiIiIiIiIiHzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM
+ zMzHiIiIiIiHZmZmZmZmZmZmZmZmZmZmZmZmeIiIiIiIfMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM
+ zMzMzMzHiIiIiIdmZmZmZgAAAAAAAAAAAAZmZmZmZmZmeIiIiIh8zMzMzMzMzMzMzMxgAAAAAAAATMzM
+ zMzMzMzMzMzHiIiIiHZmZgAAAAAAAAAAAAEAAAAAAAAAAGZmZmZniIiIiHzMzMzMzMzMzMzMxAAAAAAA
+ AGzMzMzMzMzMzMzMeIiIiGZmAAAAAAERERmZmZmZmZmZkRERERAAAGZmZmZ4iIiIfMzMzMzMzMzMzMYA
+ AAAAAAbMzMzMzMzMzMzMeIiIiGZgAAAAERmZmZmZmZmZmZmZmZmZmZmZkREAAGZmZniIiIfMzMzMzMzM
+ zMzMYAAAAABMzMzMzMzMzMzMzIiIiHYAAAARGZmZiIiIj///////+IiIiIeZmZmZkREAZmZmiIiIfMzM
+ zMzMzMzMzMQAAAAAbMzMzMzMzMzMzO6IiIYAAAARmYiI/////////////////////4iHmZmZEQBmZmeI
+ iIh8zMzMzMzMzMzGAAAABMzMzMzMzMzMzMeIiIdgAAAZmI////////////////////////////iJmZmR
+ EGZmZ4iIh8zMzMzMzMzMzEAAAAbMzMzMzMzMzMzoiIhwAAAZeP//////////////////////////////
+ /4iZmZEAZmZ4iIh8zMzMzMzMzMxgAABMzMzMzMzMzMzOiIiGAAABiP//////////////////////////
+ ////////+JmZkQZmZ4iIh8zMzMzMzMzMxAAAbMzMzMzMzMzM7oiIYAABeP//////////////////////
+ ///////////////4mZkQZmZ4iIjMzMzMzMzMzMYAAMzMzMzMzMzMzu6IhwAAGP//////////////////
+ /////////////////////4iZmRZmZ4iIfMzMzMzMzMzMAAbMzMzMzMzMzM7oiHAAB4//////////////
+ ////////////////////////////iZmRBmZ4iIfMzMzMzMzMzGAGzMzMzMzMzMzuiIcAAHj/////////
+ //////////////////////////////////iZmRZmZ4iIzMzMzMzMzMxgDMzMzMzMzMzM7ohwAAf/////
+ ////////////////////////////////////////95mRZmaIiHzMzMzMzMzMwEzMzMzMzMzMzuiIEABo
+ //////////////////////////////////////////////95mRZmaIiMzMzMzMzMzMRszMzMzMzMzM7o
+ hwAGj///////////////////////////////////////////////95kQZmeIh8zMzMzMzMzGbMzMzMzM
+ zMzu6HEAB/////////////////////////////////////////////////+ZkQZmiIjMzMzMzMzMxmzM
+ zMzMzMzM7ohwAGj/////////////////////////////////////////////////iZkWZniIfMzMzMzM
+ zMZszMzMzMzMxu6HEAbv/4iI/////////////////////////////////////////4iP//iZEGZoiHzM
+ zMzMzMzGbMzMzMzMzM7uhxAGj/iIiIj//////////////////////////////////////4iIiI//mZFm
+ aIiMzMzMzMzMxszMzMzMzMzO6IEAbv+IiIiIj/////////////////////////////////////iIiIiP
+ /4mRBmeIh8zMzMzMzMbMzMzMzMzMbuhxAG7/iIiIiI////////////////iIj///j//////////////4
+ iIiIiP/5mQZmiIfMzMzMzMzMzMzMzMzMzO7ocQDo+IiIiIiP///////////////u7u7u7u7o////////
+ ////iIiIiIj/+JkWZoiHzMzMzMzMzMzMzMzMzMzu6BEG7/iIiIiIj/////////////+Hd3ju5maO7v//
+ /////////4iIiIiI//iZEGaIh8zMzMzMzMzMzMzMzMzM7ugRBu//iIiIiI//////////////kZmZdmAZ
+ mP/////////////4iIiIiP//mRBmeIjMzMzMzMzMzMzMzMzMzO7nEAbv/4iIiIiP////////////+HiI
+ mZEBd5n/////////////+IiIiIj//4mQZniIzMzMzMzMzMzMzMzMzMzu5xAO7//4iIiI//ju7o//////
+ //j//4mZeP/4//////////////iIiIiP//+JkGZ4iHzMzMzMzMzMzMzMzMzG7ocQDu///4iI//ju7u7u
+ j//////////4mP//////////////7u7uiIiI////iZBmaIh8zMzMzMzMzMzMzMzMzu6HEG7v//////+G
+ ZmZ47u7//////////4//////////////7u7u7u6P/////4mQBmiIfMzMzMzMzMzMzMzMzM7uhRBu7///
+ ///3AAAAF37u7///////////////////////h2AABm7u7v/////5kAZ4iHzMzMzMzMzMzMzMzMzO7oUQ
+ bu//////gQAAZgEG7u//////////////////////+BAAAAAFfu6P////+ZAGeIjMzMzMzMzMzMzMzMzM
+ zu6FEG7v////+JEAAXhwAG7o/////////////////////4gAABEGARbu7/////kQBoiIzMzMzMzMzMzM
+ zMzMzM7uhRBu7/////iZABmZkQBm6P////////////////////+JABGZF2AAbo////+JEGaIiMzMzMzM
+ zMzMzMzMzMzO7ucRbu/////4mRZ4iZkQBu//////////////////////mQB5mZdgAG7/////iRBmiIfM
+ zMzMzMzMzMzMzMzMxu7nEQ7v////+Bl+j/iZEAaP/////////////////////5l2/4mRAABu/////4kQ
+ ZoiHzMzMzMzMzMzMzMzMzMzu5xEO6P//+Phgbu/4kQAI//////////////////////+Zfo/4kQAAeIiP
+ //+JEGaIh8zMzMzMzMzMzMzMzMzM7ucRBu7///iOYHiI+HAAf///////////////////////mYjv+BAA
+ BuiIj///iQBniIfMzMzMzMzMzMzMzMzMzO7nEQbu///3EAAG6IcRF4iP/////////////////////4GP
+ /4cQAAZnbv///5EAaIiMzMzMzMzMzMzMzMzMzMzu5xEW7v//iRF3dmZgAXjmj///////////////////
+ ///3ePiBEQAHdm7///iRAGiIfMzMzMzMzMzMzMzMzMzM7u5xFu6P/5EZmXZmZmbmaP//////////////
+ ///////4/4d2cRAAFwbuj//4kQZoiHzMzMzMzMzMzMzMzMzMzG7ucRDu7/iXiZkQAAZmAH//////////
+ ////////////+IiIdmYABmAX//j/+BAGeIh8zMzMzMzMzMzMzMzMzMzO7nEQbu/4iP+BERkREZf/////
+ //////////////////+JmXdxEBEAB3////kQBoiIzMzMzMzMzMzMzMzMzMzMzu5xEW7o+P//gZmZmZmP
+ ////////////////////////+JmZmZmZl453//+JAGaIh8zMzMzMzMzMzMzMzMzMzM7u5xEO7vj/+IeP
+ iIj////////////////////////////4iZmZmZiPiP//cQBoiIfMzMzMzMzMzMzMzMzMzMzM7ucRFu6P
+ //iP//////////////////////////////////////+Jn/j/+JAAaIiMzMzMzMzMzMzMzMzMzMzMzO7n
+ ERbu7//4/////////////////////////////////////////4j///gQBoiIfMzMzMzMzMzMzMzMzMzM
+ zMzu7nERbuj////////////////////////////////////////////4//+BAAaIiMzMzMzMzMzMzMzM
+ zMzMzMzMzu5xEW7u////////////////////////////////////////////////cQBoiIfMzMzMzMzM
+ zMzMzMzMzMzMzM7u5xEW7u//////////////////////////////////////////////+BAAaIiMzMzM
+ zMzMzMzMzMzMzMzMzMzO7uYREO7o//7v//////////////////////////////////////////cABoiI
+ fMzMzMzMzMzMzMzMzMzMzMzMzO7ucRFu7oj/7o////////////////////////////////////////9x
+ AAeIiMzMzMzMzMzMzMzMzMzMzMzMzMzO7ucRFu7nePju7u7v////////////////////////////////
+ 6P/4EAB4iIfMzMzMzMzMzMzMzMzMzMzMzMzMzu7nERBu7nmIiO7oj///////////////////////////
+ ju7u7o//hwAGiIh8zMzMzMzMzMzMzMzMzMzMzMzMzMzu7nERbu7nmZl5eP//////////////////////
+ ///4iPiO5nj/+HAAaIiIzMzMzMzMzMzMzMzMzMzMzMzMzMzM7u7nERbu7oiZeI//////////////////
+ ////////+ImXd5mP/4cAAHiIh8zMzMzMzMzMzMzMzMzMzMzMzMzMzM7u53ERbu7v////////////////
+ ///////////////4iZl4//hgAAeIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7u53ERBu7v//////////
+ //////////////////////////+GAAB4iI7MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzO7uiHEADujv////
+ ///////////////////////////////3AAAGiIh8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzO7ohwABmP
+ ////////////////////////////////////iREAZniIjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzuiI
+ EAB4f///////////////////////////////////+JmZkWZoiIfMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
+ zO6IhwBo//////////////////////////////////////iImZl2ZoiIzMzMzMzMzMzMzMzMzMzMzMzM
+ zMzMzMzuiHAA7////////////////////////////////////////4iZFmZ4iHzMzMzMzMzMzMzMzMzM
+ zMzMzMzMzMzO6IgQBo/////4j///////////////////////////////////mZFmaIiMzMzMzMzMzMzM
+ zMzMzMzMzMzMzMzMzuiHAA7/////iIiP//////7o//////////////////iI/////4mRZmeIh8zMzMzM
+ zMzMzMzMzMzMzMzMzMzMzO6IcQBo////+IiIiI/////+7u7u7uiIiI7u7v////iIiI/////5mRZmiIjM
+ zMzMzMzMzMzMzMzMzMzMzMzMzMzuiHAA7////4iIiIiIj//3d2bu7u7u7u7u7u7//4iIiIiP////+JkW
+ ZniIfMzMzMzMzMzMzMzMzMzMzMzMzMzO6IcQBo////+IiIiIiI//+ZkAAGZmZmZmZmbv//iIiIiIiP//
+ //+ZkWZoiIzMzMzMzMzMzMzMzMzMzMzMzMzMzuiFAG7////4iIiIiIj///iZABEREREREBAG7//4iIiI
+ iIj/////iZFmaIiMzMzMzMzMzMzMzMzMzMzMzMzMzO6IcQBo////+IiIiIiI///4kQARERERERERDo//
+ +IiIiIiIj/////mZBmeIh8zMzMzMzMzMzMzMzMzMzMzMzMzuiHAG7////4iIiIiIiP//+JFmeHd3d3dx
+ EW6P//iIiIiIiI/////4mRZmiIfMzMzMzMzMzMzMzMzMzMzMzMzO7ocQBo////+IiIiIiIj///iQZoiO
+ 7u7u5xFu7//4iIiIiIiI////+JkWZniIzMzMzMzMzMzMzMzMzMzMzMzMzuiHEA7////4iIiIiIiP///5
+ kGaIju7u7ucRbu///4iIiIiIiP////95kGZ4iHzMzMzMzMzMzMzMzMzMzMzMzM7ogQBu////+IiIiIiI
+ j///+RBmiI7u7u7nEW7v//+IiIiIiIiP////iZFmaIh8zMzMzMzMzMzMzMzMzMzMzMzu6HEAaP////iI
+ iIiIiI////kQZoiHzMzu5xEO6P//iIiIiIiIj////4mRZmiIjMzMzMzMzMzMzMzMzMzMzMzM7ugRBu//
+ ///4iIiIiIj///+JEGaIh8zM7ucRBu7//4iIiIiIiI/////5kQZniIzMzMzMzMzMzMzMzMzMzMzMzO6I
+ EAbv////iIiIiIiI////iQBniIzMzO7oERbu///4iIiIiIiP////+JkGZ4iHzMzMzMzMzMzMzMzMzMzM
+ zMbuhxAGj////4iIiIiIj////3kAaIiMzMzu7nEW7v//+IiIiIiIiP////iZFmaIh8zMzMzMzMzMzMzM
+ zMzMzMzO7oUQbv////+IiIiIiI////+RBmiIfMzMzu5xFu6P//+IiIiIiIj////4mRZmiIfMzMzMzMzM
+ zMzMzMzMzMzMzu6BAG7////4iIiIiIj////4kQZoiHzMzM7ucRDu7///iIiIiIiIj////5kQZoiHzMzM
+ zMzMzMzMzMzMzMzMzM7ocQBu////+IiIiIiI////+JAGeIh8zMzO7nERbu///4iIiIiIiI////95EGaI
+ h8zMzMzMzMzMzMzMzMzMzMxu6HEA7v////iIiIiIiP////cQBoiIzMzMzu7lEW7v///4iIiIiIiP////
+ iRBmeIjMzMzMzMzMzMzMzMzMzMzM7uhxBuj////4iIiIiI/////5EAaIiMzMzMbu5xEO7v//+IiIiIiI
+ j////4kQZniIzMzMzMzMzMzMzMzMzMzMzO7oEQbv////+IiIiIj/////iQBmiIfMzMzM7ucRBu7///iI
+ iIiIiIj///+JkGZ4iMzMzMzMzMzMzMzMzMzMzMzu6BEG7/////iIiIiI/////4EAaIiHzMzMzO7nERbu
+ j///iIiIiIiI////iZBmaIh8zMzMzMzMzMzMzMzMzMzM7ucRBu/////4iIiIj/////+RAGiIjMzMzMzu
+ 7nEQ7u////iIiIiIiP///4mQBmiIfMzMzMzMzMzMzMzMzMzMzO7nEAbv////+IiIiP/////4EAZ4iHzM
+ zMzMzu5xEG7v///4iIiIiIj///+JkAZoiHzMzMzMzMzMxmzMzMzMzMzu5xAO7/////+IiI//////+RAG
+ iIjMzMzMzM7ucRFu7v///4iIiIiI////+ZAGaIh8zMzMzMzMzMZszMzMzMzG7ocQDu//////+I//////
+ /4EAZoiIzMzMzMzO7ucRBu7////4iIiIiP////mQBmiIfMzMzMzMzMzGbMzMzMzMzu6HEA7v////////
+ //////9xAGiIh8zMzMzMzO7nERbu7///+IiIiI/////5kAZoiHzMzMzMzMzMxmzMzMzMzM7uhxAO7///
+ ///////////4EABoiIzMzMzMzMzu7nEQbu////+IiIiP////+ZAGaIh8zMzMzMzMzMZszMzMzMzO7oUQ
+ Du//////////////9xAGiIh8zMzMzMzM7u5xEW7u/////4iI//////mQBmiIfMzMzMzMzMzGTMzMzMzM
+ zu6HEA7v/////////////4EABoiIzMzMzMzMzM7u5xEG7v/////////////5kAZoiHzMzMzMzMzMxAzM
+ zMzMzM7uhxEO7/////////////9wAGiIh8zMzMzMzMzO7ucRFu7v////////////+RAGeIh8zMzMzMzM
+ zMAGzMzMzMzO7ucRDuj////////////4EAB4iIzMzMzMzMzMzO7ucRBu6P///////////4kQBoiIzMzM
+ zMzMzMxgBszMzMzMxu7nEQbo////////////gQAGiIh8zMzMzMzMzMzu7nERDu7///////////+JEAaI
+ iMzMzMzMzMzMYADMzMzMzMzu5xEG7v///////////3EAZ4iIzMzMzMzMzMzMzu7nERbu7///////////
+ gQBmiIfMzMzMzMzMzAAAbMzMzMzM7ucRBu7///////////gQAGiIh8zMzMzMzMzMzM7u5xEQbu7/////
+ /////5EAZ4iHzMzMzMzMzMYAAEzMzMzMzO7nERDu7/////////+HAAaIiIzMzMzMzMzMzMzM7u5xEQ7u
+ 7/////////gQAGiIjMzMzMzMzMzEAAAGzMzMzMzu7nEQbuj////////4cAAHiIh8zMzMzMzMzMzMzO7u
+ dxEW7uj////////3AAZoiHzMzMzMzMzMYAAABMzMzMzM7u5xEG7u////////hgAAeIiHzMzMzMzMzMzM
+ zMzO7ucREW7u7///////gQAGiIh8zMzMzMzMzEAAAABszMzMzM7ucREG7uj/////hmAAB4iI7MzMzMzM
+ zMzMzMzMzu7ucREG7u6P////+AAAB4iIzMzMzMzMzMYAAAAATMzMzMzO7ucREG7u7oiO7mAAAHiIiMzM
+ zMzMzMzMzMzMzMzu7ucREG7u7o//+HYAAHiIh8zMzMzMzMzEAAAAAAbMzMzMzu7nEREG7u7u5mAAAAeI
+ iIfMzMzMzMzMzMzMzMzMzu7ucREQbu7u7uYAAAeIiHzMzMzMzMzMYAAAAAAAbMzMzMzu7nEREAZmZgAA
+ AAF4iI58zMzMzMzMzMzMzMzMzMzu7ncREQZm7mZgAAB4iI7MzMzMzMzMxgAAAAAAAEzMzMzM7u7nEREQ
+ AAAAABF4iI7uzMzMzMzMzMzMzMzMzMzM7u7ucRERAAAAAAAHiIiMzMzMzMzMzMQAAAAAAAAGzMzMzM7u
+ 7nERERERERF3iIju7MzMzMzMzMzMzMzMzMzMzM7u7udREREQAAAReIiIfMzMzMzMzMxgAAAAAAAAAGzM
+ zMzM7u7udRERERV4iI7u7MzMzMzMzMzMzMzMzMzMzMzM7u7u5xEREREReIiO7MzMzMzMzMzGAAAAAAAA
+ AAAGzMzMzM7u7u53d3eIiO7u7szMzMzMzMzMzMzMzMzMzMzMzM7u7u7nd1F3eIiO7uzMzMzMzMzMYAAA
+ AAAAAAAAAGzMzMzM7u7u7u7u7u7u7szMzMzMzMzMzMzMzMzMzMzMzMzMzu7u7u6IiI7u7uzMzMzMzMzM
+ xgAAAAAAAAAAAAAGzMzMzMzu7u7u7u7u5szMzMzMzMzMzMzMzMzMzMzMzMzMzMzO7u7u7u7u7u7MzMzM
+ zMzMzGAAAAAAAAAAAAAAAEbMzMzMzG7u7u7ubMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7u7u7u7uzM
+ zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzG7u
+ 7szMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
+ zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
+ zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
+ zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM
+ zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM
+ zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA
+ AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+
+ AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA
+ B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA
+ AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA
+ AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA
+ AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA
+ AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
+ AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA
+ AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
+ AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
+ AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA
+ AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA
+ AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA
+ AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA
+ AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA
+ AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf/////
+ +AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w==
+
+
+
\ No newline at end of file
diff --git a/TEMUKJD/WXForms/TalkForms/WxTalkForm.Designer.cs b/TEMUKJD/WXForms/TalkForms/WxTalkForm.Designer.cs
index a3a4f44..514c542 100644
--- a/TEMUKJD/WXForms/TalkForms/WxTalkForm.Designer.cs
+++ b/TEMUKJD/WXForms/TalkForms/WxTalkForm.Designer.cs
@@ -45,6 +45,7 @@ namespace TemuKJD.WXForms.TalkForms
this.txtAutoReplyText = new System.Windows.Forms.TextBox();
this.chkIsAutoReply = new System.Windows.Forms.CheckBox();
this.splitContainer4 = new System.Windows.Forms.SplitContainer();
+ this.pbLoading = new System.Windows.Forms.PictureBox();
this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx();
this.colSelect = new TemuKJD.UserComponent.UcDataGridViewCheckBoxColumn(this.components);
this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -69,7 +70,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.pbLoading = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.pbLogo)).BeginInit();
this.panel3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
@@ -84,11 +84,11 @@ namespace TemuKJD.WXForms.TalkForms
this.splitContainer4.Panel1.SuspendLayout();
this.splitContainer4.Panel2.SuspendLayout();
this.splitContainer4.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit();
this.ucTabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
this.SuspendLayout();
//
// pbLogo
@@ -98,7 +98,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(4995, 33);
+ this.lblVersionName.Location = new System.Drawing.Point(5529, 33);
//
// panel3
//
@@ -293,6 +293,18 @@ namespace TemuKJD.WXForms.TalkForms
this.splitContainer4.SplitterDistance = 555;
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, 252);
+ this.pbLoading.Name = "pbLoading";
+ this.pbLoading.Size = new System.Drawing.Size(50, 50);
+ this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pbLoading.TabIndex = 8;
+ this.pbLoading.TabStop = false;
+ this.pbLoading.Visible = false;
+ //
// dgvShop
//
this.dgvShop.AllowUserToAddRows = false;
@@ -322,6 +334,7 @@ namespace TemuKJD.WXForms.TalkForms
this.colMessage});
this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvShop.Location = new System.Drawing.Point(0, 0);
+ this.dgvShop.MultiSelect = false;
this.dgvShop.Name = "dgvShop";
this.dgvShop.ReadOnly = true;
this.dgvShop.RowHeadersWidth = 25;
@@ -548,18 +561,6 @@ namespace TemuKJD.WXForms.TalkForms
this.dataGridViewLinkColumn2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.dataGridViewLinkColumn2.Width = 106;
//
- // 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, 252);
- this.pbLoading.Name = "pbLoading";
- this.pbLoading.Size = new System.Drawing.Size(50, 50);
- this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
- this.pbLoading.TabIndex = 8;
- this.pbLoading.TabStop = false;
- this.pbLoading.Visible = false;
- //
// WxTalkForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -589,11 +590,11 @@ namespace TemuKJD.WXForms.TalkForms
this.splitContainer4.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).EndInit();
this.splitContainer4.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit();
this.ucTabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
this.ResumeLayout(false);
}
diff --git a/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs b/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs
index 7768a31..2e0993c 100644
--- a/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs
+++ b/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs
@@ -50,7 +50,7 @@ namespace TemuKJD.WXForms.TalkForms
///
/// 弹出框列表
///
- //public static List lstChatMessageForm = new List();
+ public static List lstChatMessageForm = new List();
public static Dictionary dicRowColor = new Dictionary();
public int LocationXY = 0;
@@ -260,7 +260,7 @@ namespace TemuKJD.WXForms.TalkForms
Task.Run(() =>
{
var handler = resourceRequestHandler;
- Thread.Sleep(3000);
+ //Thread.Sleep(3000);
handler.ResourceLoadCompleteEvent += RequestHandler_ResourceLoadComplete;
});
cefWebBrowser.RequestHandler = new CustomRequestHandler(resourceRequestHandler);
@@ -283,6 +283,28 @@ namespace TemuKJD.WXForms.TalkForms
Task.Run(() =>
{
ShowChat(shop);
+ while (shop.Chat.IsLoading)
+ {
+ Thread.Sleep(50);
+ }
+ //Thread.Sleep(3000);
+ //var t = shop.Chat.GetMainFrame().EvaluateScriptAsync("document.getElementsByClassName('unread-badge bold').length;");
+ //t.Wait(2000);
+ //if (t.Result?.Result?.ParseToInt() > 0)
+ //{
+ // var row = dgvShop.Rows.Cast().FirstOrDefault(rw => rw.Cells["colShopId"].Value.ParseToString() == shop.ShopId);
+ // if (row != null)
+ // {
+ // Invoke(new Action(() =>
+ // {
+ // row.Cells["colMessage"].Value = "有历史未读消息";
+ // }));
+ // // 进行闪烁
+ // Task.Run(() => { FlashDgvRow(row); });
+ // // 播放声音
+ // playSound();
+ // }
+ //}
});
}
catch (Exception ex)
@@ -296,9 +318,9 @@ namespace TemuKJD.WXForms.TalkForms
private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData)
{
- if (responseData.Contains("你好"))
- {
- }
+ //if (responseData.Contains("你好"))
+ //{
+ //}
if (url.Contains("action=get_nosession_summary") || url.Contains("action=get_open_session_summary") || url.Contains("action=get_session_summary") || url.Contains("action=get_sync_msg"))
{
Task.Run(() =>
@@ -333,7 +355,7 @@ namespace TemuKJD.WXForms.TalkForms
// return;
return;
}
- if (url.Contains("action=get_open_session_summary"))
+ else if (url.Contains("action=get_open_session_summary"))
{
//{"base_resp":{"err_msg":"ok","ret":0},"pin_summary_list":[],"summary_cursor":"4349020771451830279","summary_list":[{"complaint_info":{"complaint_expire_time":0,"complaint_id":"","complaint_status":0},"ext_info":{},"extra_info":"{\"head_img\":\"http:\\/\\/wx.qlogo.cn\\/mmhead\\/PiajxSqBRaEIuS5Aa65qsCwzKFpmSiciazvMbicxfEyHvTmD8MpQibR85wg\\/64\",\"nickname\":\"jtt\",\"list\":[],\"qa_info_list\":[]}","id":"5","is_delete":0,"is_expired":0,"is_pin":0,"is_pin_update_time":"0","kf_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","kf_reply_status":0,"lastest_msg_content":"","lastest_msg_id":"4349029975415865363","lastest_msg_kf_content":"{\"content\":\"你好\"}","lastest_user_msg_time":"1768813986","msg_type":1,"recv_open_account":"wxad4163db54e87b44","recv_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","room_id":"4348999364009132044","room_session_status":0,"scene":6,"send_open_account":"","send_openid":"o9cq800-I4XeS-NiBgsIae1y38Ac","send_scene":6,"session_close_source":0,"star_label":0,"star_label_update_time":"0","sync_id":"78","unread_msg_num":"1","unreplied_msg_time":"1768813988","update_time":"1768813986","user_openid":"o9cq800-I4XeS-NiBgsIae1y38Ac"}]}
//{"base_resp":{"err_msg":"ok","ret":0},"pin_summary_list":[],"summary_cursor":"4349035365970083850","summary_list":[{"complaint_info":{"complaint_expire_time":0,"complaint_id":"","complaint_status":0},"ext_info":{},"extra_info":"{\"head_img\":\"http:\\/\\/wx.qlogo.cn\\/mmhead\\/PiajxSqBRaEIuS5Aa65qsCwzKFpmSiciazvMbicxfEyHvTmD8MpQibR85wg\\/64\",\"nickname\":\"jtt\",\"list\":[],\"qa_info_list\":[]}","id":"160","is_delete":0,"is_expired":0,"is_pin":0,"is_pin_update_time":"0","kf_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","kf_reply_status":1,"lastest_msg_content":"","lastest_msg_id":"4349035365970083850","lastest_msg_kf_content":"{\"content\":\"在的亲\"}","lastest_user_msg_time":"1768814292","msg_type":1,"recv_open_account":"wx2664a142d76831dd","recv_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","room_id":"4349034984388345858","room_session_status":0,"scene":6,"send_open_account":"wx2664a142d76831dd","send_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","send_scene":6,"session_close_source":0,"star_label":0,"star_label_update_time":"0","sync_id":"3186","unread_msg_num":"0","unreplied_msg_time":"0","update_time":"1768814308","user_openid":"o9cq800-I4XeS-NiBgsIae1y38Ac"},{"complaint_info":{"complaint_expire_time":0,"complaint_id":"","complaint_status":0},"ext_info":{},"extra_info":"{\"head_img\":\"http:\\/\\/wx.qlogo.cn\\/mmhead\\/sstLNDibp2U6zXibjfoE1tUiaHCOKX1olnJNZnFGehlibg4liacAAWmj2VQ\\/64\",\"nickname\":\"我是上帝的女儿李善容\",\"list\":[],\"qa_info_list\":[]}","id":"154","is_delete":0,"is_expired":0,"is_pin":0,"is_pin_update_time":"0","kf_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","kf_reply_status":0,"lastest_msg_content":"","lastest_msg_id":"4347360170765271042","lastest_msg_kf_content":"{\"type\":\"SessionTimeoutRedDot\",\"content\":\"你已超过10分钟未回复该会话,请及时处理。\",\"room_id\":\"4339855644638920709\",\"msg_id\":\"4347350053416747021\",\"is_anonymous_msg\":0,\"need_update_summary\":1}","lastest_user_msg_time":"1768713854","msg_type":24,"recv_open_account":"wx2664a142d76831dd","recv_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","room_id":"4339855644638920709","room_session_status":0,"scene":6,"send_open_account":"","send_openid":"o9cq802n8yQWq6bwbx2w8rp_aygk","send_scene":6,"session_close_source":0,"star_label":0,"star_label_update_time":"0","sync_id":"3042","unread_msg_num":"0","unreplied_msg_time":"1768713857","update_time":"1768714458","user_openid":"o9cq802n8yQWq6bwbx2w8rp_aygk"},{"complaint_info":{"complaint_expire_time":0,"complaint_id":"","complaint_status":0},"ext_info":{},"extra_info":"{\"head_img\":\"http:\\/\\/wx.qlogo.cn\\/mmhead\\/IbQhd2Y9oKdcIf3tbP1pciaic0icL271V7iaqWQqGvrrrMbq26tSHnFf9Q\\/64\",\"nickname\":\"素色🍃᭄年华\",\"list\":[],\"qa_info_list\":[]}","id":"155","is_delete":0,"is_expired":0,"is_pin":0,"is_pin_update_time":"0","kf_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","kf_reply_status":1,"lastest_msg_content":"","lastest_msg_id":"4347305586245287937","lastest_msg_kf_content":"{\"type\":\"SessionTimeoutRedDot\",\"content\":\"你已超过10分钟未回复该会话,请及时处理。\",\"room_id\":\"4340576309047115777\",\"msg_id\":\"4347295489464516617\",\"is_anonymous_msg\":0,\"need_update_summary\":1}","lastest_user_msg_time":"1768710602","msg_type":24,"recv_open_account":"wx2664a142d76831dd","recv_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","room_id":"4340576309047115777","room_session_status":0,"scene":6,"send_open_account":"","send_openid":"o9cq80-t4oDOfQD6J6oJ8pp4yA7M","send_scene":6,"session_close_source":0,"star_label":0,"star_label_update_time":"0","sync_id":"3035","unread_msg_num":"0","unreplied_msg_time":"1768710604","update_time":"1768711205","user_openid":"o9cq80-t4oDOfQD6J6oJ8pp4yA7M"}]}
@@ -344,7 +366,46 @@ namespace TemuKJD.WXForms.TalkForms
{
//{"base_resp":{"err_msg":"ok","ret":0},"pin_summary_list":[],"summary_cursor":"4349042918267191303","summary_list":[{"complaint_info":{"complaint_expire_time":0,"complaint_id":"","complaint_status":0},"ext_info":{},"extra_info":"{\"head_img\":\"http:\\/\\/wx.qlogo.cn\\/mmhead\\/PiajxSqBRaEIuS5Aa65qsCwzKFpmSiciazvMbicxfEyHvTmD8MpQibR85wg\\/64\",\"nickname\":\"jtt\",\"list\":[],\"qa_info_list\":[]}","id":"5","is_delete":0,"is_expired":0,"is_pin":0,"is_pin_update_time":"0","kf_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","kf_reply_status":1,"lastest_msg_content":"","lastest_msg_id":"4349042918267191303","lastest_msg_kf_content":"{\"content\":\"您好亲,有什么需要帮助的吗\"}","lastest_user_msg_time":"1768814710","msg_type":1,"recv_open_account":"wxad4163db54e87b44","recv_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","room_id":"4348999364009132044","room_session_status":0,"scene":6,"send_open_account":"wxad4163db54e87b44","send_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","send_scene":6,"session_close_source":0,"star_label":0,"star_label_update_time":"0","sync_id":"87","unread_msg_num":"0","unreplied_msg_time":"0","update_time":"1768814758","user_openid":"o9cq800-I4XeS-NiBgsIae1y38Ac"},{"complaint_info":{"complaint_expire_time":0,"complaint_id":"","complaint_status":0},"ext_info":{},"extra_info":"{\"head_img\":\"http:\\/\\/wx.qlogo.cn\\/mmhead\\/Q3auHgzwzM6vehibAAib9ia4ejxH7ibula7RuH4rTO7H7equgOZPVZl5Ew\\/64\",\"nickname\":\"Vader\",\"list\":[],\"qa_info_list\":[]}","id":"2","is_delete":0,"is_expired":1,"is_pin":0,"is_pin_update_time":"0","kf_reply_status":1,"lastest_msg_content":"","lastest_msg_id":"4348993861855264779","lastest_msg_kf_content":"{\"type\":\"EndRoom\",\"content\":\"用户超时未回,会话已结束,两天内仍可再次联系\",\"room_id\":\"4348684483414425612\",\"msg_id\":\"4348993861855264779\",\"is_anonymous_msg\":0,\"need_update_summary\":1}","lastest_user_msg_time":"1768811222","msg_type":5,"recv_open_account":"wxad4163db54e87b44","recv_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","room_id":"4348684483414425612","scene":6,"send_open_account":"","send_openid":"o9cq802Ue5pCVRmzuzkFUcnoHjcM","send_scene":6,"star_label":0,"star_label_update_time":"0","sync_id":"59","unread_msg_num":"0","unreplied_msg_time":"0","update_time":"1768811834","user_openid":"o9cq802Ue5pCVRmzuzkFUcnoHjcM"},{"complaint_info":{"complaint_expire_time":0,"complaint_id":"","complaint_status":0},"ext_info":{},"extra_info":"{\"head_img\":\"http:\\/\\/wx.qlogo.cn\\/mmhead\\/Q3auHgzwzM61GOTjShX4GX3aSpuNiavic5xxAickB0fxH1Bic8Az5d0LCA\\/64\",\"nickname\":\"春暖花开\",\"list\":[],\"qa_info_list\":[]}","id":"4","is_delete":0,"is_expired":1,"is_pin":0,"is_pin_update_time":"0","kf_reply_status":1,"lastest_msg_content":"","lastest_msg_id":"4348932333527973902","lastest_msg_kf_content":"{\"type\":\"EndRoom\",\"content\":\"用户超时未回,会话已结束,两天内仍可再次联系\",\"room_id\":\"4348906544732405760\",\"msg_id\":\"4348932333527973902\",\"is_anonymous_msg\":0,\"need_update_summary\":1}","lastest_user_msg_time":"1768807466","msg_type":5,"recv_open_account":"wxad4163db54e87b44","recv_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","room_id":"4348906544732405760","scene":6,"send_open_account":"","send_openid":"o9cq807-mRKhlh-MPBpeYyar46HA","send_scene":6,"star_label":0,"star_label_update_time":"0","sync_id":"44","unread_msg_num":"0","unreplied_msg_time":"0","update_time":"1768808166","user_openid":"o9cq807-mRKhlh-MPBpeYyar46HA"},{"complaint_info":{"complaint_expire_time":0,"complaint_id":"","complaint_status":0},"ext_info":{},"extra_info":"{\"head_img\":\"http:\\/\\/wx.qlogo.cn\\/mmhead\\/PdibpV1sFDHeGJDbIwia4cv3UUPxnHqjFQ4piaSFEeJlViaeDPicHuQITkw\\/64\",\"nickname\":\"春雨\",\"list\":[],\"qa_info_list\":[]}","id":"3","is_delete":0,"is_expired":1,"is_pin":0,"is_pin_update_time":"0","kf_reply_status":1,"lastest_msg_content":"","lastest_msg_id":"4348888492147638275","lastest_msg_kf_content":"{\"type\":\"EndRoom\",\"content\":\"用户超时未回,会话已结束,两天内仍可再次联系\",\"room_id\":\"4348715191491690506\",\"msg_id\":\"4348888492147638275\",\"is_anonymous_msg\":0,\"need_update_summary\":1}","lastest_user_msg_time":"1768795504","msg_type":5,"recv_open_account":"wxad4163db54e87b44","recv_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","room_id":"4348715191491690506","scene":6,"send_open_account":"","send_openid":"o9cq805nSmIjHqNthn9QbNimVAsE","send_scene":6,"star_label":0,"star_label_update_time":"0","sync_id":"29","unread_msg_num":"0","unreplied_msg_time":"0","update_time":"1768805553","user_openid":"o9cq805nSmIjHqNthn9QbNimVAsE"},{"complaint_info":{"complaint_expire_time":0,"complaint_id":"","complaint_status":0},"ext_info":{},"extra_info":"{\"head_img\":\"http:\\/\\/wx.qlogo.cn\\/mmhead\\/PiajxSqBRaEJLajvZG4pYqhDrljibs7sNChSx6Cib2mN6KicJgbRESR8Rg\\/64\",\"nickname\":\"喂累了额\",\"list\":[],\"qa_info_list\":[]}","id":"1","is_delete":0,"is_expired":1,"is_pin":0,"is_pin_update_time":"0","kf_reply_status":1,"lastest_msg_content":"","lastest_msg_id":"4348884857446612993","lastest_msg_kf_content":"{\"type\":\"EndRoom\",\"content\":\"用户超时未回,会话已结束,两天内仍可再次联系\",\"room_id\":\"4347660512343588869\",\"msg_id\":\"4348884857446612993\",\"is_anonymous_msg\":0,\"need_update_summary\":1}","lastest_user_msg_time":"1768732601","msg_type":5,"recv_open_account":"wxad4163db54e87b44","recv_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","room_id":"4347660512343588869","scene":6,"send_open_account":"","send_openid":"o9cq8038HnVM43HL44F5yGx6S6P0","send_scene":6,"star_label":0,"star_label_update_time":"0","sync_id":"27","unread_msg_num":"0","unreplied_msg_time":"0","update_time":"1768805337","user_openid":"o9cq8038HnVM43HL44F5yGx6S6P0"}]}
var jObj = JsonHelper.JObjectParse(responseData);
- return;
+ if (jObj.IsNullOrEmpty() || jObj["summary_list"].IsNullOrEmpty())
+ {
+ return;
+ }
+ bool needReply = false;
+ foreach (var summaryObj in jObj["summary_list"])
+ {
+ try
+ {
+ var summary = JsonHelper.SerializeObject(summaryObj);
+ // 会话结束,返回
+ if (summary.Contains("会话已结束"))
+ continue;
+ if (summary.Contains("用户已结束会话") || summary.Contains("客服已结束会话"))
+ continue;
+ // 最后一条是自己回复的,返回
+ var send_open_account = summaryObj["send_open_account"].ParseToString();
+ if (send_open_account == shop.ShopId)
+ continue;
+ // 虽然没有回复,但是最后一条消息是七天以前收到的,返回
+ var lastUpTime = summaryObj["update_time"].ParseToLong();
+ if (lastUpTime < BaseClass.DateTimeToTimestampSeconds(DateTime.Now.AddDays(-7)))
+ continue;
+ // 其他情况,标记需要回复
+ needReply = true;
+ }
+ catch
+ {
+ continue;
+ }
+ }
+ if (!needReply)
+ return;
+ else
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colMessage"].Value = "有历史未读消息";
+ }));
+ }
}
else if (url.Contains("action=get_sync_msg"))
{
@@ -357,12 +418,16 @@ namespace TemuKJD.WXForms.TalkForms
var jObj = JsonHelper.JObjectParse(responseData);
if (jObj["total_num"].ParseToInt() <= 0)
return;
- // 自己发的消息或者客服自动回复消息不闪烁提示 -------------------------------------------------------------------------------------------------------
+ // 自己发的消息或者客服自动回复消息不闪烁提示且将表格颜色还原 -----------------------------------------------------------------------------------------------
// 您好!人工客服目前无法及时回复,您可以留言详细问题,我们会尽快为您服务!
//"send_open_account": "wxad4163db54e87b44",
var send_open_account = jObj["list"].LastOrDefault()?["send_open_account"].ParseToString();
if (send_open_account == shop.ShopId)
+ {
+ row.DefaultCellStyle.BackColor = row.Tag is Color ? (Color)row.Tag : Color.White;
+ row.Cells["colMessage"].Value = "";
return;
+ }
var msg_kf_content = jObj["list"].LastOrDefault()?["msg_kf_content"].ParseToString();
var contentObj = JsonHelper.JObjectParse(msg_kf_content);
var content = contentObj["content"].ParseToString();
@@ -395,9 +460,17 @@ namespace TemuKJD.WXForms.TalkForms
return;
}
}
+ else
+ {
+ return;
+ }
+ // 以上判断需要回复:
+ // 弹框
+ if (!ChatConfig.ChatSettingConfig.IsNotShowMessageWindow)
+ ShowMessageForm(shop);
// 进行闪烁
- Task.Run(() => { FlashDgvRow(row); });
+ FlashDgvRow(row);
// 播放声音
playSound();
// 消息弹框,暂时废弃
@@ -409,17 +482,20 @@ namespace TemuKJD.WXForms.TalkForms
void FlashDgvRow(DataGridViewRow row)
{
- if (row.Tag == null)
- row.Tag = row.DefaultCellStyle.BackColor;
- for (int j = 0; j < 6; j++)
+ Task.Run(() =>
{
- Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.White; }));
- Thread.Sleep(120);
- Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.FromArgb(245, 95, 50); }));
- Thread.Sleep(120);
- Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.FromArgb(245, 45, 10); }));
- Thread.Sleep(120);
- }
+ if (row.Tag == null)
+ row.Tag = row.DefaultCellStyle.BackColor;
+ for (int j = 0; j < 6; j++)
+ {
+ Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.White; }));
+ Thread.Sleep(120);
+ Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.FromArgb(245, 95, 50); }));
+ Thread.Sleep(120);
+ Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.FromArgb(245, 45, 10); }));
+ Thread.Sleep(120);
+ }
+ });
}
private void MainLifeHandler_OnPop(object sender, PopData e)
@@ -667,38 +743,38 @@ namespace TemuKJD.WXForms.TalkForms
private void Chat_SearchResultReceived(ShopLoginInfo shop)
{
- var r = dgvShop.Rows.Cast().FirstOrDefault(x => x.Cells["columnShopId"].Value.ToString() == shop.ShopId);
- if (r != null)
- {
- for (int i = 0; i < dgvShop.Rows.Count; i++)
- {
- var row = dgvShop.Rows[i];
+ //var r = dgvShop.Rows.Cast().FirstOrDefault(x => x.Cells["columnShopId"].Value.ToString() == shop.ShopId);
+ //if (r != null)
+ //{
+ // for (int i = 0; i < dgvShop.Rows.Count; i++)
+ // {
+ // var row = dgvShop.Rows[i];
- if (row.Cells[0].Value.ToString() == shop.ShopId && shop != currentShop)
- {
- if (ShopChatCount.ContainsKey(shop.ShopId) && ShopChatCount[shop.ShopId] > 0)
- {
- Task.Run(() =>
- {
- for (int j = 0; j < 4; j++)
- {
- Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.White; }));
- Thread.Sleep(100);
- Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.FromArgb(245, 95, 50); }));
- Thread.Sleep(100);
- Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.FromArgb(245, 45, 10); }));
- Thread.Sleep(100);
- }
- });
- }
- else if (row.DefaultCellStyle.BackColor != Color.White)
- {
- row.DefaultCellStyle.BackColor = Color.White;
- }
- break;
- }
- }
- }
+ // if (row.Cells[0].Value.ToString() == shop.ShopId && shop != currentShop)
+ // {
+ // if (ShopChatCount.ContainsKey(shop.ShopId) && ShopChatCount[shop.ShopId] > 0)
+ // {
+ // Task.Run(() =>
+ // {
+ // for (int j = 0; j < 4; j++)
+ // {
+ // Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.White; }));
+ // Thread.Sleep(100);
+ // Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.FromArgb(245, 95, 50); }));
+ // Thread.Sleep(100);
+ // Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.FromArgb(245, 45, 10); }));
+ // Thread.Sleep(100);
+ // }
+ // });
+ // }
+ // else if (row.DefaultCellStyle.BackColor != Color.White)
+ // {
+ // row.DefaultCellStyle.BackColor = Color.White;
+ // }
+ // break;
+ // }
+ // }
+ //}
}
private void Collect_InfomationReceived(string infomation)
{
@@ -728,6 +804,28 @@ namespace TemuKJD.WXForms.TalkForms
//catch { }
}
+ ///
+ /// 显示右下角消息弹框
+ ///
+ ///
+ private void ShowMessageForm(ShopLoginInfo shop)
+ {
+ if (!lstChatMessageForm.Any(f => f.shop == shop))
+ {
+ Invoke(new Action(() =>
+ {
+ TalkMessageForm cmf = new TalkMessageForm(shop, this);
+ cmf.Dragable = false;
+ cmf.ShowMinimizedBox = false;
+ lstChatMessageForm.Add(cmf);
+ Point p = new Point(Screen.PrimaryScreen.WorkingArea.Width - cmf.Width, Screen.PrimaryScreen.WorkingArea.Height);
+ cmf.PointToScreen(p);
+ cmf.Location = p;
+ cmf.Show();
+ }));
+ }
+ }
+
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
@@ -747,7 +845,7 @@ namespace TemuKJD.WXForms.TalkForms
// 如需登录,引导至登录窗口,禁止从聊天窗口登录。
Invoke(new Action(() =>
{
- // 登录抖音小店
+ // 登录小店
WXShopLoginForm lf = new WXShopLoginForm(shop);
lf.ShowDialog();
}));
@@ -777,8 +875,10 @@ namespace TemuKJD.WXForms.TalkForms
var row = dgvShop.Rows[e.RowIndex];
row.Cells["colSelect"].Value = true;
- if (row.Tag != null)
- row.DefaultCellStyle.BackColor = row.Tag is Color ? (Color)row.Tag : Color.White;
+ if (row.DefaultCellStyle.BackColor.R == 245 || row.DefaultCellStyle.BackColor == Color.Yellow)
+ row.DefaultCellStyle.BackColor = Color.Yellow;
+ //if (row.Tag != null)
+ // row.DefaultCellStyle.BackColor = row.Tag is Color ? (Color)row.Tag : Color.White;
string shopId = row.Cells["colShopId"].Value?.ToString();
if (string.IsNullOrEmpty(shopId))
@@ -800,6 +900,18 @@ namespace TemuKJD.WXForms.TalkForms
});
}
+ public void DgvShopClick(ShopLoginInfo shop)
+ {
+ var r = dgvShop.Rows.Cast().FirstOrDefault(x => x.Cells["colShopId"].Value.ToString() == shop.ShopId);
+ if (r != null)
+ {
+ r.Cells[0].Selected = true;
+ var sender = this.dgvShop;
+ DataGridViewCellEventArgs e = new DataGridViewCellEventArgs(0, r.Index);
+ dgvShop_CellClick(sender, e);
+ }
+ }
+
private void pnlRefresh_Click(object sender, EventArgs e)
{
pbLoading.Visible = true;