1代理改名字 2代理管理功能 3订单流水统计功能(方便报税) 4 商品预售界面-商品改价支持加减乘除四种模式

This commit is contained in:
wule committed 2026-07-18 18:29:06 +08:00
1 parent 457a8acee6
commit ba502650ab
69 files changed
+27720 -720

No files matched your search

@@ -446,8 +446,6 @@ namespace TemuKJD.BLL.Wx
"&special_prod_type=爆款数据" +
"&is_not_count=true";
var html = GetHtml.PostUtf8(url, data);
if (!html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (!html.Contains("\"code\":200"))
{
info.failReason = "读取失败,库存商品查询失败";
+2
View File
@@ -17,6 +17,8 @@ namespace TemuKJD.BaseForms
{
public partial class BaseForm : Form
{
public bool IsFirstVisibile { get; set; } = true;
public bool IsFormLoad { get; set; } = false;
public bool IsSetFontScaleNone { get; set; } = true;
public float FormDpi
{
+27
View File
@@ -213,6 +213,12 @@
<Compile Include="WXForms\AdminForms\WXAdminTransitWarehouseManage.Designer.cs">
<DependentUpon>WXAdminTransitWarehouseManage.cs</DependentUpon>
</Compile>
<Compile Include="WXForms\AdminForms\WxOemManageForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="WXForms\AdminForms\WxOemManageForm.Designer.cs">
<DependentUpon>WxOemManageForm.cs</DependentUpon>
</Compile>
<Compile Include="WXForms\AiTalkForms\WxAiTalkForm.cs">
<SubType>Form</SubType>
</Compile>
@@ -406,6 +412,18 @@
<Compile Include="WXForms\ProductForms\WXFinderSquareForm.Designer.cs">
<DependentUpon>WXFinderSquareForm.cs</DependentUpon>
</Compile>
<Compile Include="WXForms\ShopForms\WXOemAccountForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="WXForms\ShopForms\WXOemAccountForm.Designer.cs">
<DependentUpon>WXOemAccountForm.cs</DependentUpon>
</Compile>
<Compile Include="WXForms\ShopForms\WXTaxManage.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="WXForms\ShopForms\WXTaxManage.Designer.cs">
<DependentUpon>WXTaxManage.cs</DependentUpon>
</Compile>
<Compile Include="WXForms\ShopForms\WXPDDShopLoginForm.cs">
<SubType>Form</SubType>
</Compile>
@@ -1382,6 +1400,9 @@
<EmbeddedResource Include="WXForms\AdminForms\WXAdminTransitWarehouseManage.resx">
<DependentUpon>WXAdminTransitWarehouseManage.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WXForms\AdminForms\WxOemManageForm.resx">
<DependentUpon>WxOemManageForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WXForms\AiTalkForms\WxAiTalkForm.resx">
<DependentUpon>WxAiTalkForm.cs</DependentUpon>
</EmbeddedResource>
@@ -1508,6 +1529,12 @@
<EmbeddedResource Include="WXForms\ProductForms\WXProductForm.resx">
<DependentUpon>WXProductForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WXForms\ShopForms\WXOemAccountForm.resx">
<DependentUpon>WXOemAccountForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WXForms\ShopForms\WXTaxManage.resx">
<DependentUpon>WXTaxManage.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WXForms\ShopForms\WXPDDShopLoginForm.resx">
<DependentUpon>WXPDDShopLoginForm.cs</DependentUpon>
</EmbeddedResource>
@@ -423,7 +423,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
}
else
{
data += "&send_to_out_server=0,1,2";
data += "&send_to_out_server=0,1,2,127";
}
if (cmbSourceType.Text.Trim() != "全部")
@@ -475,8 +475,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
data += "&is_relation=1";
}));
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
File diff suppressed because it is too large. Load diff
+106 -18
View File
@@ -55,6 +55,10 @@ namespace TemuKJD.WXForms.AdminForms
data.Append("&add_user_name=" + GetHtml.UrlEncodeUtf8(txtMobile.Text));
data.Append("&add_mobile=" + GetHtml.UrlEncodeUtf8(txtMobile.Text));
data.Append("&add_company=" + GetHtml.UrlEncodeUtf8(txtCompany.Text));
if (!string.IsNullOrEmpty(txtOemId.Text.Trim()))
{
data.Append("&oem_id=" + GetHtml.UrlEncodeUtf8(txtOemId.Text.Trim()));
}
data.Append("&card_id=");
if (cmbGroup.Text == "主账户")
{
@@ -166,10 +170,14 @@ namespace TemuKJD.WXForms.AdminForms
user.points = BaseRegex.GetIntJson(ref oStr, "points");
user.balance = BaseRegex.GetDecimalJson(ref oStr, "balance");
user.shop_points_per_month = BaseRegex.GetIntJson(ref oStr, "shop_points_per_month");
user.postage_per_order = BaseRegex.GetDecimalJson(ref oStr, "postage_per_order");
user.oem_id = BaseRegex.GetStringJson(ref oStr, "oem_id");
user.oem_name = BaseRegex.GetStringJson(ref oStr, "oem_name");
var parent_user_name = BaseRegex.GetStringJson(ref oStr, "parent_user_name");
AllUsers.Add(user);
dgvUser.Rows.Add(
false,
user.id,
user.nick_name,
user.user_name,
@@ -181,12 +189,16 @@ namespace TemuKJD.WXForms.AdminForms
user.sa_level,
user.sa_level_name /*+ (user.group_id == "4" ? "(客服)" : "")*/,
user.authority,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.shop_points_per_month : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "改" : null,
user.oem_id,
user.oem_name,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.points : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "+" : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.shop_points_per_month : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "改" : null,
user.balance.ParseToDecimal(),
"+",
Math.Max(2.2m, user.postage_per_order.ParseToDecimal()),
(user.group_id == "3") ? "改" : null,
user.group_id == "3" ? "添加店铺" : "",
"编辑",
"删除");
@@ -209,6 +221,7 @@ namespace TemuKJD.WXForms.AdminForms
txtRePass.Clear();
txtMobile.Clear();
txtCompany.Clear();
txtOemId.Clear();
cmbGroup.Text = "主账户";
cmbSaLevel.Text = "普通用户";
chkWXComplateProd.Checked = false;
@@ -242,6 +255,8 @@ namespace TemuKJD.WXForms.AdminForms
string saLevelName = dgvUser.Rows[e.RowIndex].Cells["colSaLevelName"].Value.ToString();
string authority = dgvUser.Rows[e.RowIndex].Cells["colAuthority"].Value.ParseToString();
int shopPointsPerMonth = dgvUser.Rows[e.RowIndex].Cells["colShopPointsPerMonth"].Value.ParseToInt();
decimal postagePerOrder = dgvUser.Rows[e.RowIndex].Cells["colPostagePerOrder"].Value.ParseToDecimal();
string oemId = dgvUser.Rows[e.RowIndex].Cells["colOemId"].Value.ParseToString();
var row = dgvUser.Rows[e.RowIndex];
if (columText == "编辑")
{
@@ -255,6 +270,8 @@ namespace TemuKJD.WXForms.AdminForms
btnOpUser.Text = "保存用户";
btnCancel.Visible = true;
cmbSaLevel.Text = saLevelName;
txtOemId.Text = oemId;
chkWXComplateProd.Checked = authority.Contains(chkWXComplateProd.Text);
chkShopPoints.Checked = authority.Contains(chkShopPoints.Text);
chkProdFission.Checked = authority.Contains(chkProdFission.Text);
@@ -289,6 +306,7 @@ namespace TemuKJD.WXForms.AdminForms
this.numAddTopUp.Value = 0;
this.pnlTopUp.Tag = row;
this.pnlTopUp.Visible = true;
this.pnlTopUp.BringToFront();
}
if (columName == "colBalancePlus")
{
@@ -296,15 +314,29 @@ namespace TemuKJD.WXForms.AdminForms
this.numAddBalance.Value = 0;
this.pnlBalance.Tag = row;
this.pnlBalance.Visible = true;
this.pnlBalance.BringToFront();
}
}
if (columText == "改")
{
this.lblShopPointsPerMonthUserInfo.Text = mobile + " - " + nickName;
this.numShopPointsPerMonth.Value = shopPointsPerMonth;
this.pnlShopPointsPerMonth.Tag = row;
this.pnlShopPointsPerMonth.Visible = true;
this.lblShopPointsPerMonthUserId.Text = uid;
if (columName == "colChangePointsPerMonth")
{
this.lblShopPointsPerMonthUserInfo.Text = mobile + " - " + nickName;
this.numShopPointsPerMonth.Value = shopPointsPerMonth;
this.pnlShopPointsPerMonth.Tag = row;
this.pnlShopPointsPerMonth.Visible = true;
this.pnlShopPointsPerMonth.BringToFront();
this.lblShopPointsPerMonthUserId.Text = uid;
}
if (columName == "colChangePostagePerOrder")
{
this.lblPostagePerOrderUserInfo.Text = mobile + " - " + nickName;
this.numPostagePerOrder.Value = postagePerOrder;
this.pnlPostagePerOrder.Tag = row;
this.pnlPostagePerOrder.Visible = true;
this.pnlPostagePerOrder.BringToFront();
this.lblPostagePerOrderUserId.Text = uid;
}
}
}
@@ -342,8 +374,11 @@ namespace TemuKJD.WXForms.AdminForms
private void MainAccountForm_Load(object sender, EventArgs e)
{
this.dgvUser.AddSelectorColumn("colCheck");
pnlShopPointsPerMonth.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
pnlBalance.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
pnlPostagePerOrder.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
this.cmbGroup.Items.Clear();
this.cmbGroup.Items.Add("主账户");
@@ -357,12 +392,14 @@ namespace TemuKJD.WXForms.AdminForms
this.txtSearch.GotFocus += TxtSearch_GotFocus;
this.txtSearch.LostFocus += TxtSearch_LostFocus;
this.dgvUser.AddMergeColumn(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" }, "月费耗点");
this.dgvUser.AddMergeColumn(new List<string> { "colPoints", "colPlus" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colPoints", "colPlus" }, "积分点数");
this.dgvUser.AddMergeColumn(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" }, "月费耗点");
this.dgvUser.AddMergeColumn(new List<string> { "colBalance", "colBalancePlus" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colBalance", "colBalancePlus" }, "快递余额");
this.dgvUser.AddMergeColumn(new List<string> { "colPostagePerOrder", "colChangePostagePerOrder" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colPostagePerOrder", "colChangePostagePerOrder" }, "每单快递费");
}
private void TxtSearch_LostFocus(object sender, EventArgs e)
@@ -415,6 +452,7 @@ namespace TemuKJD.WXForms.AdminForms
data += "&update_user_name=" + lblUserInfo.Text.Split('-')[0].Trim();
data += "&update_user_nick=" + lblUserInfo.Text.Split('-')[1].Trim();
data += "&option_type=" + "充值";
data += "&operator_type=" + "管理员";
data += "&operator_name=" + BaseClass.UserName;
data += "&delta_points=" + numAddTopUp.Value;
@@ -446,32 +484,43 @@ namespace TemuKJD.WXForms.AdminForms
}
}
private void btnShopPointsPerMonthCancel_Click(object sender, EventArgs e)
private void btnShopPointsPerMonth_Click(object sender, EventArgs e)
{
pnlShopPointsPerMonth.Visible = false;
if (updateShopPointsPerMonth(lblShopPointsPerMonthUserId.Text))
{
pnlShopPointsPerMonth.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
}
}
private void btnShopPointsPerMonth_Click(object sender, EventArgs e)
public bool updateShopPointsPerMonth(string userDbId, bool showFailBox = true)
{
string url = BaseClass.BuildObjString("user/update_user");
string data = UserLogin.GetSignaturex();
data += "&id=" + lblShopPointsPerMonthUserId.Text;
data += "&id=" + userDbId;
data += "&shop_points_per_month=" + numShopPointsPerMonth.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
BaseMsgForm.ShowError(msg);
return;
if (showFailBox)
{
Invoke(new Action(() => { BaseMsgForm.ShowError(msg); }));
}
return false;
}
var row = pnlShopPointsPerMonth.Tag as DataGridViewRow;
var row = dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["UserIdColumn"].Value.ParseToString() == userDbId);
if (row != null)
{
row.Cells["colShopPointsPerMonth"].Value = numShopPointsPerMonth.Value;
Invoke(new Action(() => { row.Cells["colShopPointsPerMonth"].Value = numShopPointsPerMonth.Value; }));
}
return true;
}
private void btnShopPointsPerMonthCancel_Click(object sender, EventArgs e)
{
pnlShopPointsPerMonth.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
}
private void btnChangeBalanceOK_Click(object sender, EventArgs e)
@@ -504,5 +553,44 @@ namespace TemuKJD.WXForms.AdminForms
{
pnlBalance.Visible = false;
}
private void btnPostagePerOrder_Click(object sender, EventArgs e)
{
if (updatePostagePerOrder(lblPostagePerOrderUserId.Text))
{
pnlPostagePerOrder.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
}
}
public bool updatePostagePerOrder(string userDbId, bool showFailBox = true)
{
string url = BaseClass.BuildObjString("user/update_user");
string data = UserLogin.GetSignaturex();
data += "&id=" + userDbId;
data += "&postage_per_order=" + numPostagePerOrder.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
if (showFailBox)
{
Invoke(new Action(() => { BaseMsgForm.ShowError(msg); }));
}
return false;
}
var row = dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["UserIdColumn"].Value.ParseToString() == userDbId);
if (row != null)
{
Invoke(new Action(() => { row.Cells["colPostagePerOrder"].Value = numPostagePerOrder.Value; }));
}
return true;
}
private void btnPostagePerOrderCancel_Click(object sender, EventArgs e)
{
pnlPostagePerOrder.Visible = false;
}
}
}
@@ -117,6 +117,9 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="UserIdColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -150,10 +153,10 @@
<metadata name="colAuthority.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopPointsPerMonth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="colOemId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colChangePointsPerMonth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="colOemName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPoints.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@@ -162,12 +165,24 @@
<metadata name="colPlus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopPointsPerMonth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colChangePointsPerMonth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colBalance.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colBalancePlus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPostagePerOrder.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colChangePostagePerOrder.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colAddShop.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
+45 -41
View File
@@ -30,19 +30,20 @@
{
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("超级店铺管理");
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("超级用户管理");
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("PDD产品库");
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("设置禁售");
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("厂家商品采集");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("Sku采集回传");
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("1688厂家采集");
System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("随机厂商商品");
System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("地址管理");
System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("带货助手");
System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("图片工具");
System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("运单管理");
System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("充值二维码");
System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("中转订单管理");
System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("OEM贴牌管理");
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("产品数据库");
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("设置禁售");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("厂家商品采集");
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("Sku采集回传");
System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("1688厂家采集");
System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("随机厂商商品");
System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("地址管理");
System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("带货助手");
System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("图片工具");
System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("运单管理");
System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("充值二维码");
System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("中转订单管理");
System.Windows.Forms.TreeNode treeNode16 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
treeNode3,
@@ -56,7 +57,8 @@
treeNode11,
treeNode12,
treeNode13,
treeNode14});
treeNode14,
treeNode15});
this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
@@ -151,34 +153,36 @@
treeNode1.Text = "超级店铺管理";
treeNode2.Name = "超级用户管理";
treeNode2.Text = "超级用户管理";
treeNode3.Name = "PDD产品库";
treeNode3.Text = "PDD产品库";
treeNode4.Name = "设置禁售";
treeNode4.Text = "设置禁售";
treeNode5.Name = "厂家商品采集";
treeNode5.Text = "厂家商品采集";
treeNode6.Name = "Sku采集回传";
treeNode6.Text = "Sku采集回传";
treeNode7.Name = "1688厂家采集";
treeNode7.Text = "1688厂家采集";
treeNode8.Name = "随机厂商商品";
treeNode8.Text = "随机厂商商品";
treeNode9.Name = "地址管理";
treeNode9.Text = "地址管理";
treeNode10.Name = "带货助手";
treeNode10.Text = "带货助手";
treeNode11.Name = "图片工具";
treeNode11.Text = "图片工具";
treeNode12.Name = "运单管理";
treeNode12.Text = "运单管理";
treeNode13.Name = "充值二维码";
treeNode13.Text = "充值二维码";
treeNode14.Name = "中转订单管理";
treeNode14.Text = "中转订单管理";
treeNode15.Name = "超级权限管理";
treeNode15.Text = "超级权限管理";
treeNode3.Name = "OEM贴牌管理";
treeNode3.Text = "OEM贴牌管理";
treeNode4.Name = "产品数据库";
treeNode4.Text = "产品数据库";
treeNode5.Name = "设置禁售";
treeNode5.Text = "设置禁售";
treeNode6.Name = "厂家商品采集";
treeNode6.Text = "厂家商品采集";
treeNode7.Name = "Sku采集回传";
treeNode7.Text = "Sku采集回传";
treeNode8.Name = "1688厂家采集";
treeNode8.Text = "1688厂家采集";
treeNode9.Name = "随机厂商商品";
treeNode9.Text = "随机厂商商品";
treeNode10.Name = "地址管理";
treeNode10.Text = "地址管理";
treeNode11.Name = "带货助手";
treeNode11.Text = "带货助手";
treeNode12.Name = "图片工具";
treeNode12.Text = "图片工具";
treeNode13.Name = "运单管理";
treeNode13.Text = "运单管理";
treeNode14.Name = "充值二维码";
treeNode14.Text = "充值二维码";
treeNode15.Name = "中转订单管理";
treeNode15.Text = "中转订单管理";
treeNode16.Name = "超级权限管理";
treeNode16.Text = "超级权限管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode15});
treeNode16});
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.tv.Size = new System.Drawing.Size(140, 446);
this.tv.TabIndex = 1;
+8 -3
View File
@@ -20,6 +20,7 @@ namespace TemuKJD.WXForms.AdminForms
{
public Lazy<WXAdminAccountForm> adminAccountForm = new Lazy<WXAdminAccountForm>();
public Lazy<WXAdminShopListForm> adminShopForm = new Lazy<WXAdminShopListForm>();
public Lazy<WxOemManageForm> oemManageForm = new Lazy<WxOemManageForm>();
public Lazy<PDDDBProdListForm> pddDbProdListForm = new Lazy<PDDDBProdListForm>();
public Lazy<GetJuShuitanProdForm> getJuShuitanProdForm = new Lazy<GetJuShuitanProdForm>();
public Lazy<GetJuShuitanProductSKUListForm> getJuShuitanProductSKUListForm = new Lazy<GetJuShuitanProductSKUListForm>();
@@ -43,7 +44,7 @@ namespace TemuKJD.WXForms.AdminForms
tv.ExpandGroup(tv.Nodes[0].Name);
List<string> hideName = new List<string>() { "运单管理", "地址管理1", "1688厂家采集1", "图片工具", "Sku采集回传1",
"超级用户管理", "超级店铺管理", "PDD产品库", "SKU替换图", "选品加价管理", "认领待上传", "库存上传", "商品核价" };
"超级用户管理", "超级店铺管理", "OEM贴牌管理", "产品数据库", "SKU替换图", "选品加价管理", "认领待上传", "库存上传", "商品核价" };
if (BaseClass.GroupId == 3)
{
@@ -52,7 +53,8 @@ namespace TemuKJD.WXForms.AdminForms
{
hideName.Remove("超级用户管理");
hideName.Remove("超级店铺管理");
hideName.Remove("PDD产品库");
hideName.Remove("OEM贴牌管理");
hideName.Remove("产品数据库");
//hideName.Remove("SKU替换图");
}
if (BaseClass.SaLevel==2)
@@ -90,7 +92,10 @@ namespace TemuKJD.WXForms.AdminForms
case "超级店铺管理":
SetForm(adminShopForm.Value);
break;
case "PDD产品库":
case "OEM贴牌管理":
SetForm(oemManageForm.Value);
break;
case "产品数据库":
SetForm(pddDbProdListForm.Value);
break;
case "设置禁售":
+576
View File
@@ -0,0 +1,576 @@
namespace TemuKJD.WXForms.AdminForms
{
partial class WxOemManageForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
this.splitContainer5 = new System.Windows.Forms.SplitContainer();
this.btnCancelEdit = new DevComponents.DotNetBar.PanelEx();
this.btnAddMdy = new DevComponents.DotNetBar.PanelEx();
this.lblRandomOemId = new System.Windows.Forms.LinkLabel();
this.lblChoice = new System.Windows.Forms.LinkLabel();
this.label7 = new System.Windows.Forms.Label();
this.txtOemOwner = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.btnClear = new DevComponents.DotNetBar.PanelEx();
this.txtSearchOemName = new System.Windows.Forms.TextBox();
this.btnSearch = new DevComponents.DotNetBar.PanelEx();
this.line2 = new DevComponents.DotNetBar.Controls.Line();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.txtSearchOemId = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.label35 = new System.Windows.Forms.Label();
this.label36 = new System.Windows.Forms.Label();
this.txtOemName = new System.Windows.Forms.TextBox();
this.label39 = new System.Windows.Forms.Label();
this.txtOemId = new System.Windows.Forms.TextBox();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.dgvOem = new TemuKJD.UserComponent.DataGridViewEx();
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colOemId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colOemName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colOemOwner = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colIco = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colImg = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.editColumn = new System.Windows.Forms.DataGridViewLinkColumn();
this.deleteColumn = new System.Windows.Forms.DataGridViewLinkColumn();
this.btnExportShopErp = new DevComponents.DotNetBar.PanelEx();
((System.ComponentModel.ISupportInitialize)(this.splitContainer5)).BeginInit();
this.splitContainer5.Panel1.SuspendLayout();
this.splitContainer5.Panel2.SuspendLayout();
this.splitContainer5.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvOem)).BeginInit();
this.SuspendLayout();
//
// splitContainer5
//
this.splitContainer5.BackColor = System.Drawing.Color.Transparent;
this.splitContainer5.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer5.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer5.Location = new System.Drawing.Point(0, 0);
this.splitContainer5.Name = "splitContainer5";
//
// splitContainer5.Panel1
//
this.splitContainer5.Panel1.BackColor = System.Drawing.Color.WhiteSmoke;
this.splitContainer5.Panel1.Controls.Add(this.btnCancelEdit);
this.splitContainer5.Panel1.Controls.Add(this.btnAddMdy);
this.splitContainer5.Panel1.Controls.Add(this.lblRandomOemId);
this.splitContainer5.Panel1.Controls.Add(this.lblChoice);
this.splitContainer5.Panel1.Controls.Add(this.label7);
this.splitContainer5.Panel1.Controls.Add(this.txtOemOwner);
this.splitContainer5.Panel1.Controls.Add(this.label6);
this.splitContainer5.Panel1.Controls.Add(this.label3);
this.splitContainer5.Panel1.Controls.Add(this.btnClear);
this.splitContainer5.Panel1.Controls.Add(this.txtSearchOemName);
this.splitContainer5.Panel1.Controls.Add(this.btnSearch);
this.splitContainer5.Panel1.Controls.Add(this.line2);
this.splitContainer5.Panel1.Controls.Add(this.label5);
this.splitContainer5.Panel1.Controls.Add(this.label4);
this.splitContainer5.Panel1.Controls.Add(this.txtSearchOemId);
this.splitContainer5.Panel1.Controls.Add(this.label2);
this.splitContainer5.Panel1.Controls.Add(this.label35);
this.splitContainer5.Panel1.Controls.Add(this.label36);
this.splitContainer5.Panel1.Controls.Add(this.txtOemName);
this.splitContainer5.Panel1.Controls.Add(this.label39);
this.splitContainer5.Panel1.Controls.Add(this.txtOemId);
//
// splitContainer5.Panel2
//
this.splitContainer5.Panel2.Controls.Add(this.splitContainer1);
this.splitContainer5.Panel2.Padding = new System.Windows.Forms.Padding(0, 5, 5, 5);
this.splitContainer5.Size = new System.Drawing.Size(1184, 623);
this.splitContainer5.SplitterDistance = 340;
this.splitContainer5.SplitterWidth = 1;
this.splitContainer5.TabIndex = 4;
//
// btnCancelEdit
//
this.btnCancelEdit.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnCancelEdit.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnCancelEdit.DisabledBackColor = System.Drawing.Color.Empty;
this.btnCancelEdit.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnCancelEdit.Location = new System.Drawing.Point(52, 248);
this.btnCancelEdit.Name = "btnCancelEdit";
this.btnCancelEdit.Size = new System.Drawing.Size(68, 23);
this.btnCancelEdit.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnCancelEdit.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnCancelEdit.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnCancelEdit.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnCancelEdit.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnCancelEdit.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnCancelEdit.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnCancelEdit.Style.GradientAngle = 90;
this.btnCancelEdit.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnCancelEdit.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnCancelEdit.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnCancelEdit.TabIndex = 861;
this.btnCancelEdit.Text = "取消编辑";
this.btnCancelEdit.Click += new System.EventHandler(this.btnCancelEdit_Click);
//
// btnAddMdy
//
this.btnAddMdy.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnAddMdy.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnAddMdy.DisabledBackColor = System.Drawing.Color.Empty;
this.btnAddMdy.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAddMdy.Location = new System.Drawing.Point(169, 248);
this.btnAddMdy.Name = "btnAddMdy";
this.btnAddMdy.Size = new System.Drawing.Size(68, 23);
this.btnAddMdy.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddMdy.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddMdy.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddMdy.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnAddMdy.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnAddMdy.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnAddMdy.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnAddMdy.Style.GradientAngle = 90;
this.btnAddMdy.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddMdy.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddMdy.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddMdy.TabIndex = 857;
this.btnAddMdy.Text = "添加贴牌";
this.btnAddMdy.Click += new System.EventHandler(this.btnAddMdy_Click);
//
// lblRandomOemId
//
this.lblRandomOemId.AutoSize = true;
this.lblRandomOemId.Location = new System.Drawing.Point(257, 125);
this.lblRandomOemId.Name = "lblRandomOemId";
this.lblRandomOemId.Size = new System.Drawing.Size(56, 17);
this.lblRandomOemId.TabIndex = 853;
this.lblRandomOemId.TabStop = true;
this.lblRandomOemId.Text = "随机生成";
this.lblRandomOemId.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lblRandomOemId_LinkClicked);
//
// lblChoice
//
this.lblChoice.AutoSize = true;
this.lblChoice.Location = new System.Drawing.Point(257, 192);
this.lblChoice.Name = "lblChoice";
this.lblChoice.Size = new System.Drawing.Size(56, 17);
this.lblChoice.TabIndex = 852;
this.lblChoice.TabStop = true;
this.lblChoice.Text = "选择用户";
this.lblChoice.Visible = false;
//
// label7
//
this.label7.AutoSize = true;
this.label7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
this.label7.Location = new System.Drawing.Point(243, 192);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(13, 17);
this.label7.TabIndex = 851;
this.label7.Text = "*";
//
// txtOemOwner
//
this.txtOemOwner.Location = new System.Drawing.Point(89, 189);
this.txtOemOwner.Name = "txtOemOwner";
this.txtOemOwner.Size = new System.Drawing.Size(148, 23);
this.txtOemOwner.TabIndex = 850;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label6.Location = new System.Drawing.Point(21, 190);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(65, 20);
this.label6.TabIndex = 849;
this.label6.Text = "主体账户";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.Location = new System.Drawing.Point(21, 123);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(65, 20);
this.label3.TabIndex = 848;
this.label3.Text = "贴牌编码";
//
// btnClear
//
this.btnClear.CanvasColor = System.Drawing.SystemColors.Control;
this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClear.DisabledBackColor = System.Drawing.Color.Empty;
this.btnClear.Location = new System.Drawing.Point(246, 40);
this.btnClear.Name = "btnClear";
this.btnClear.Size = new System.Drawing.Size(69, 23);
this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnClear.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.btnClear.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnClear.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
this.btnClear.Style.GradientAngle = 90;
this.btnClear.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
this.btnClear.TabIndex = 847;
this.btnClear.Text = "置空";
//
// txtSearchOemName
//
this.txtSearchOemName.Location = new System.Drawing.Point(89, 40);
this.txtSearchOemName.Name = "txtSearchOemName";
this.txtSearchOemName.Size = new System.Drawing.Size(148, 23);
this.txtSearchOemName.TabIndex = 843;
//
// btnSearch
//
this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty;
this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSearch.Location = new System.Drawing.Point(247, 8);
this.btnSearch.Name = "btnSearch";
this.btnSearch.Size = new System.Drawing.Size(68, 23);
this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnSearch.Style.GradientAngle = 90;
this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnSearch.TabIndex = 836;
this.btnSearch.Text = "查询/刷新";
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
//
// line2
//
this.line2.Location = new System.Drawing.Point(18, 67);
this.line2.Name = "line2";
this.line2.Size = new System.Drawing.Size(307, 10);
this.line2.TabIndex = 825;
this.line2.Text = "line2";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label5.Location = new System.Drawing.Point(21, 41);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(65, 20);
this.label5.TabIndex = 43;
this.label5.Text = "贴牌名称";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label4.Location = new System.Drawing.Point(21, 9);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(65, 20);
this.label4.TabIndex = 42;
this.label4.Text = "贴牌编码";
//
// txtSearchOemId
//
this.txtSearchOemId.Location = new System.Drawing.Point(89, 8);
this.txtSearchOemId.Name = "txtSearchOemId";
this.txtSearchOemId.Size = new System.Drawing.Size(148, 23);
this.txtSearchOemId.TabIndex = 41;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.ForeColor = System.Drawing.SystemColors.ButtonShadow;
this.label2.Location = new System.Drawing.Point(96, 92);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(135, 20);
this.label2.TabIndex = 38;
this.label2.Text = "添加或编辑贴牌信息";
//
// label35
//
this.label35.AutoSize = true;
this.label35.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
this.label35.Location = new System.Drawing.Point(243, 157);
this.label35.Name = "label35";
this.label35.Size = new System.Drawing.Size(13, 17);
this.label35.TabIndex = 28;
this.label35.Text = "*";
//
// label36
//
this.label36.AutoSize = true;
this.label36.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
this.label36.Location = new System.Drawing.Point(243, 125);
this.label36.Name = "label36";
this.label36.Size = new System.Drawing.Size(13, 17);
this.label36.TabIndex = 27;
this.label36.Text = "*";
//
// txtOemName
//
this.txtOemName.Location = new System.Drawing.Point(89, 154);
this.txtOemName.Name = "txtOemName";
this.txtOemName.Size = new System.Drawing.Size(148, 23);
this.txtOemName.TabIndex = 21;
//
// label39
//
this.label39.AutoSize = true;
this.label39.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label39.Location = new System.Drawing.Point(21, 155);
this.label39.Name = "label39";
this.label39.Size = new System.Drawing.Size(65, 20);
this.label39.TabIndex = 20;
this.label39.Text = "贴牌名称";
//
// txtOemId
//
this.txtOemId.Location = new System.Drawing.Point(89, 122);
this.txtOemId.Name = "txtOemId";
this.txtOemId.Size = new System.Drawing.Size(148, 23);
this.txtOemId.TabIndex = 19;
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer1.Location = new System.Drawing.Point(0, 5);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.dgvOem);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.btnExportShopErp);
this.splitContainer1.Size = new System.Drawing.Size(838, 613);
this.splitContainer1.SplitterDistance = 582;
this.splitContainer1.TabIndex = 2;
//
// dgvOem
//
this.dgvOem.AllowUserToAddRows = false;
this.dgvOem.AllowUserToDeleteRows = false;
dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249)))));
this.dgvOem.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle5;
this.dgvOem.AutoRowNumber = true;
this.dgvOem.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dgvOem.BackgroundColor = System.Drawing.Color.White;
this.dgvOem.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvOem.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle6;
this.dgvOem.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvOem.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colCheck,
this.colId,
this.colOemId,
this.colOemName,
this.colOemOwner,
this.colIco,
this.colImg,
this.editColumn,
this.deleteColumn});
this.dgvOem.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvOem.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229)))));
this.dgvOem.Location = new System.Drawing.Point(0, 0);
this.dgvOem.MultiSelectCheckBox = true;
this.dgvOem.Name = "dgvOem";
this.dgvOem.ReadOnly = true;
this.dgvOem.RowTemplate.Height = 23;
this.dgvOem.Size = new System.Drawing.Size(838, 582);
this.dgvOem.TabIndex = 1;
this.dgvOem.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvOem_CellContentClick);
//
// colCheck
//
this.colCheck.FillWeight = 30F;
this.colCheck.HeaderText = "选择";
this.colCheck.Name = "colCheck";
this.colCheck.ReadOnly = true;
//
// colId
//
this.colId.HeaderText = "id";
this.colId.Name = "colId";
this.colId.ReadOnly = true;
this.colId.Visible = false;
//
// colOemId
//
this.colOemId.HeaderText = "贴牌编码";
this.colOemId.Name = "colOemId";
this.colOemId.ReadOnly = true;
//
// colOemName
//
this.colOemName.HeaderText = "贴牌名称";
this.colOemName.Name = "colOemName";
this.colOemName.ReadOnly = true;
//
// colOemOwner
//
this.colOemOwner.HeaderText = "主体账号";
this.colOemOwner.Name = "colOemOwner";
this.colOemOwner.ReadOnly = true;
//
// colIco
//
this.colIco.HeaderText = "图标";
this.colIco.Name = "colIco";
this.colIco.ReadOnly = true;
//
// colImg
//
this.colImg.HeaderText = "题图";
this.colImg.Name = "colImg";
this.colImg.ReadOnly = true;
//
// editColumn
//
this.editColumn.FillWeight = 50F;
this.editColumn.HeaderText = "编辑";
this.editColumn.Name = "editColumn";
this.editColumn.ReadOnly = true;
this.editColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.editColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
// deleteColumn
//
this.deleteColumn.FillWeight = 50F;
this.deleteColumn.HeaderText = "删除";
this.deleteColumn.Name = "deleteColumn";
this.deleteColumn.ReadOnly = true;
//
// btnExportShopErp
//
this.btnExportShopErp.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnExportShopErp.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnExportShopErp.DisabledBackColor = System.Drawing.Color.Empty;
this.btnExportShopErp.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnExportShopErp.Location = new System.Drawing.Point(0, 1);
this.btnExportShopErp.Name = "btnExportShopErp";
this.btnExportShopErp.Size = new System.Drawing.Size(140, 25);
this.btnExportShopErp.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnExportShopErp.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnExportShopErp.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnExportShopErp.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnExportShopErp.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnExportShopErp.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnExportShopErp.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnExportShopErp.Style.GradientAngle = 90;
this.btnExportShopErp.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnExportShopErp.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnExportShopErp.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnExportShopErp.TabIndex = 439;
this.btnExportShopErp.Text = "导出用户到后台系统";
this.btnExportShopErp.Visible = false;
//
// WxOemManageForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(1184, 623);
this.Controls.Add(this.splitContainer5);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.KeyPreview = true;
this.Name = "WxOemManageForm";
this.Text = "OEM贴牌管理";
this.Load += new System.EventHandler(this.WxOemManageForm_Load);
this.VisibleChanged += new System.EventHandler(this.WxOemManageForm_VisibleChanged);
this.splitContainer5.Panel1.ResumeLayout(false);
this.splitContainer5.Panel1.PerformLayout();
this.splitContainer5.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer5)).EndInit();
this.splitContainer5.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgvOem)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer5;
private DevComponents.DotNetBar.PanelEx btnSearch;
private DevComponents.DotNetBar.Controls.Line line2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox txtSearchOemId;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label35;
private System.Windows.Forms.Label label36;
private System.Windows.Forms.TextBox txtOemName;
private System.Windows.Forms.Label label39;
private System.Windows.Forms.TextBox txtOemId;
private System.Windows.Forms.SplitContainer splitContainer1;
private UserComponent.DataGridViewEx dgvOem;
private DevComponents.DotNetBar.PanelEx btnExportShopErp;
private System.Windows.Forms.TextBox txtSearchOemName;
private DevComponents.DotNetBar.PanelEx btnClear;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.LinkLabel lblRandomOemId;
private System.Windows.Forms.LinkLabel lblChoice;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox txtOemOwner;
private System.Windows.Forms.Label label6;
private DevComponents.DotNetBar.PanelEx btnAddMdy;
private DevComponents.DotNetBar.PanelEx btnCancelEdit;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
private System.Windows.Forms.DataGridViewTextBoxColumn colId;
private System.Windows.Forms.DataGridViewTextBoxColumn colOemId;
private System.Windows.Forms.DataGridViewTextBoxColumn colOemName;
private System.Windows.Forms.DataGridViewTextBoxColumn colOemOwner;
private System.Windows.Forms.DataGridViewTextBoxColumn colIco;
private System.Windows.Forms.DataGridViewTextBoxColumn colImg;
private System.Windows.Forms.DataGridViewLinkColumn editColumn;
private System.Windows.Forms.DataGridViewLinkColumn deleteColumn;
}
}
@@ -0,0 +1,198 @@
using AllBase;
using AllBase.Model.DBModel;
using AllBase.Model.Result;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using Work;
namespace TemuKJD.WXForms.AdminForms
{
public partial class WxOemManageForm : BaseForm
{
public CancellationTokenSource cancellationTokenSource { get; set; } = null;
public WxOemManageForm()
{
InitializeComponent();
}
private void WxOemManageForm_Load(object sender, EventArgs e)
{
IsFormLoad = true;
}
private void WxOemManageForm_VisibleChanged(object sender, EventArgs e)
{
if (IsFirstVisibile)
{
btnSearch_Click(null, null);
IsFirstVisibile = false;
}
}
private void btnAddMdy_Click(object sender, EventArgs e)
{
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&oem_id=" + GetHtml.UrlEncodeUtf8(txtOemId.Text.Trim()));
data.Append("&oem_name=" + GetHtml.UrlEncodeUtf8(txtOemName.Text.Trim()));
data.Append("&oem_owner=" + GetHtml.UrlEncodeUtf8(txtOemOwner.Text));
string url = BaseClass.BuildWXObjString("user/add_mdy_oem");
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
if (btnAddMdy.Text != "添加贴牌")
btnCancelEdit_Click(null, null);
btnSearch_Click(null, null);
}
private void btnCancelEdit_Click(object sender, EventArgs e)
{
txtOemId.Text = "";
txtOemName.Text = "";
txtOemOwner.Text = "";
txtOemId.ReadOnly = false;
btnAddMdy.Text = "添加贴牌";
}
private void lblRandomOemId_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
this.txtOemId.Text = DateTime.Now.ToString("yy") + Randomx.GetNumber(2) + Randomx.GetWordWithNumber(4);
}
public string DbId = "";
private void dgvOem_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string columText = dgvOem.Columns[e.ColumnIndex].HeaderText;
string columName = dgvOem.Columns[e.ColumnIndex].Name;
string id = dgvOem.Rows[e.RowIndex].Cells["colId"].Value.ToString();
string oemId = dgvOem.Rows[e.RowIndex].Cells["colOemId"].Value.ToString();
string oemName = dgvOem.Rows[e.RowIndex].Cells["colOemName"].Value.ToString();
string oemOwner = dgvOem.Rows[e.RowIndex].Cells["colOemOwner"].Value.ToString();
var row = dgvOem.Rows[e.RowIndex];
if (columText == "编辑")
{
DbId = id;
txtOemId.ReadOnly = true;
txtOemId.Text = oemId;
txtOemName.Text = oemName;
txtOemOwner.Text = oemOwner;
btnAddMdy.Text = "编辑贴牌";
}
if (columText == "删除")
{
if (BaseMsgForm.ShowConfirm("是否删除,删除后无法再次添加", "提示").DialogResult == DialogResult.OK)
{
DeleteOem(id);
}
}
}
private void DeleteOem(string dbId)
{
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&db_id=" + dbId);
string url = BaseClass.BuildWXObjString("user/del_oem");
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
btnSearch_Click(null, null);
}
private void btnSearch_Click(object sender, EventArgs e)
{
if (cancellationTokenSource != null)
cancellationTokenSource.Cancel();
dgvOem.Rows.Clear();
cancellationTokenSource = new CancellationTokenSource();
Task.Run(() => {
var cancelToken = cancellationTokenSource;
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&oem_id=" + GetHtml.UrlEncodeUtf8(txtSearchOemId.Text.Trim()));
data.Append("&oem_name=" + GetHtml.UrlEncodeUtf8(txtSearchOemName.Text.Trim()));
string url = BaseClass.BuildWXObjString("user/get_oem");
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
var jArr = JObject.Parse(html)["data"];
try
{
var list = JsonHelper.DeserializeJsonToList<oem>(JsonHelper.SerializeObject(jArr)).ToList();
Invoke(new Action(() => { dgvOem.Rows.Clear(); }));
foreach (var item in list)
{
if (cancelToken.IsCancellationRequested)
return;
Invoke(new Action(() =>
{
this.dgvOem.Rows.Add(
false,
item.id,
item.oem_id,
item.oem_name,
item.oem_owner,
"",
"",
"编辑",
"删除"
);
}));
}
}
catch (Exception ex)
{
}
}, cancellationTokenSource.Token);
}
}
}
@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOemName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOemOwner.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colIco.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colImg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="editColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="deleteColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
+7 -5
View File
@@ -1304,13 +1304,15 @@ namespace TemuKJD.WXForms.AiTalkForms
//if (BaseClass.ParentUserName == "15288888888" || BaseClass.UserName == "15288888888")
{
#if DEBUG
if (File.Exists(System.Environment.CurrentDirectory + "\\choice.debug.tools"))
if (File.Exists(System.Environment.CurrentDirectory + "\\choice.debug.tools"))
{
if (dgvShop.Parent.Controls[0] != dgvShop)
dgvShop.BringToFront();
else
dgvShop.SendToBack();
}
dgvShop.BringToFront();
else
dgvShop.SendToBack();
}
#endif
}
}
private void btnBatchBindShop_Click(object sender, EventArgs e)
@@ -69,6 +69,11 @@ namespace TemuKJD.WXForms.ProductForms
dgvSelectProduct.AddImgColumn("colProductSkcPic", "colImgUrl");
IsLoadComplate = true;
cmbType.Enabled = false;
cmbType.Text = "价格比例";
txtPercent.Text = "10";
}
private void chkSelectAll_CheckedChanged(object sender, EventArgs e)
@@ -899,7 +904,7 @@ namespace TemuKJD.WXForms.ProductForms
//{"cosignmentOrderId":"4436464658179189760","cosignmentProductList":[{"spuId":"10000826730228","skuId":"14511204738","cancelScene":2}],"orderId":"3736464645960385280"}
JObject signActivityObj = new JObject();
signActivityObj["platformActivityId"] = "1016";
signActivityObj["platformActivityId"] = "1163";
var jArr = new JArray();
bool hasProdForActivity = false;
foreach (var row in rowLstTmp)
@@ -1073,7 +1078,7 @@ namespace TemuKJD.WXForms.ProductForms
//{"cosignmentOrderId":"4436464658179189760","cosignmentProductList":[{"spuId":"10000826730228","skuId":"14511204738","cancelScene":2}],"orderId":"3736464645960385280"}
JObject signActivityObj = new JObject();
signActivityObj["platformActivityId"] = "1016";
signActivityObj["platformActivityId"] = "1163";
var jArr = new JArray();
bool hasProdForCancelActivity = false;
foreach (var row in rowLstTmp)
@@ -1313,7 +1318,8 @@ namespace TemuKJD.WXForms.ProductForms
public class WXActivity
{
public static string getShopCanActivity(ShopLoginInfo shop, string activityId = "1016")
//1016 618活动 1163入夏好物
public static string getShopCanActivity(ShopLoginInfo shop, string activityId = "1163")
{
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/queryShopPlatformActivity?token=&lang=zh_CN&platformActivityId=" + activityId;
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&curTab=2";
@@ -1322,7 +1328,7 @@ namespace TemuKJD.WXForms.ProductForms
return result;
}
public static string applyShopActivity(ShopLoginInfo shop, string activityId = "1016")
public static string applyShopActivity(ShopLoginInfo shop, string activityId = "1163")
{
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/applyShopPlatformActivity?token=&lang=zh_CN";
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&curTab=2";
@@ -1331,7 +1337,7 @@ namespace TemuKJD.WXForms.ProductForms
return result;
}
public static string getActivityProdList(ShopLoginInfo shop, int page, int pageSize = 10, string activityId = "1016")
public static string getActivityProdList(ShopLoginInfo shop, int page, int pageSize = 10, string activityId = "1163")
{
//{"keyword":"","pageNum":1,"pageSize":10,"platformActivityId":"1016"}
@@ -1342,7 +1348,7 @@ namespace TemuKJD.WXForms.ProductForms
return result;
}
public static string signWxActivity(ShopLoginInfo shop, JObject prodData, string activityId = "1016")
public static string signWxActivity(ShopLoginInfo shop, JObject prodData, string activityId = "1163")
{
//{"keyword":"","pageNum":1,"pageSize":10,"platformActivityId":"1016"}
@@ -1353,7 +1359,7 @@ namespace TemuKJD.WXForms.ProductForms
return result;
}
public static string getProdInActivityList(ShopLoginInfo shop, int page, int pageSize = 10, string activityId = "1016")
public static string getProdInActivityList(ShopLoginInfo shop, int page, int pageSize = 10, string activityId = "1163")
{
//{"keyword":"","pageNum":1,"pageSize":10,"platformActivityId":"1016"}
+173 -115
View File
@@ -32,14 +32,14 @@ namespace TemuKJD.WXForms.ProductForms
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.txtShippingPriceTimes = new System.Windows.Forms.TextBox();
@@ -69,23 +69,27 @@ namespace TemuKJD.WXForms.ProductForms
this.chkStepAddPrice = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.ucTabControlMetro1 = new TemuKJD.UserControls.UcTabControlMetro();
this.上传参数 = new System.Windows.Forms.TabPage();
this.chkSameSpecPriceDown = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkLowestPriceSku = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkUseWXComplateProd = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.txtMaxPrice = new System.Windows.Forms.TextBox();
this.chkUseRecommand = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkPreSale = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.txtDefaultBestBefore = new System.Windows.Forms.TextBox();
this.chkDefaultBestBefore = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.txtMinPrice = new System.Windows.Forms.TextBox();
this.btnFilterBound = new DevComponents.DotNetBar.PanelEx();
this.txtFilterBoundMin = new System.Windows.Forms.TextBox();
this.chkUseWXComplateProd = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkUpDraft = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.label25 = new System.Windows.Forms.Label();
this.chkSkipUploaded = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkSameSpecPrice = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkSameSpecPriceUp = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.txtPreDays = new System.Windows.Forms.TextBox();
this.txtReplaceText = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.chkSaveBound = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkAiShortTitle = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.label5 = new System.Windows.Forms.Label();
this.chkPreSale = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkHighestPriceSku = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.txtFilterBoundMax = new System.Windows.Forms.TextBox();
this.label18 = new System.Windows.Forms.Label();
@@ -95,6 +99,7 @@ namespace TemuKJD.WXForms.ProductForms
this.txtTitleHeadWord = new System.Windows.Forms.TextBox();
this.label22 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label39 = new System.Windows.Forms.Label();
this.佣金上货 = new System.Windows.Forms.TabPage();
this.label31 = new System.Windows.Forms.Label();
this.txtCommissionChangeValue = new System.Windows.Forms.TextBox();
@@ -235,7 +240,6 @@ namespace TemuKJD.WXForms.ProductForms
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.btnClear = new DevComponents.DotNetBar.PanelEx();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.chkUseRecommand = new TemuKJD.UserComponent.UcCheckBox(this.components);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@@ -286,7 +290,7 @@ namespace TemuKJD.WXForms.ProductForms
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.splitContainer3);
this.splitContainer1.Size = new System.Drawing.Size(1684, 641);
this.splitContainer1.Size = new System.Drawing.Size(1710, 641);
this.splitContainer1.SplitterDistance = 165;
this.splitContainer1.TabIndex = 11;
//
@@ -322,7 +326,7 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx2.Controls.Add(this.ucTabControlMetro1);
this.ucGroupBoxEx2.Location = new System.Drawing.Point(595, 2);
this.ucGroupBoxEx2.Name = "ucGroupBoxEx2";
this.ucGroupBoxEx2.Size = new System.Drawing.Size(1087, 165);
this.ucGroupBoxEx2.Size = new System.Drawing.Size(1113, 165);
this.ucGroupBoxEx2.TabIndex = 667;
this.ucGroupBoxEx2.TabStop = false;
this.ucGroupBoxEx2.Text = "商品上传";
@@ -354,7 +358,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnStop.CanvasColor = System.Drawing.SystemColors.Control;
this.btnStop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnStop.DisabledBackColor = System.Drawing.Color.Empty;
this.btnStop.Location = new System.Drawing.Point(1015, 44);
this.btnStop.Location = new System.Drawing.Point(1041, 44);
this.btnStop.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.btnStop.Name = "btnStop";
this.btnStop.Size = new System.Drawing.Size(64, 23);
@@ -378,7 +382,7 @@ namespace TemuKJD.WXForms.ProductForms
//
this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(993, 15);
this.label7.Location = new System.Drawing.Point(1019, 15);
this.label7.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(20, 17);
@@ -390,7 +394,7 @@ namespace TemuKJD.WXForms.ProductForms
this.chkRandomCompanyProd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.chkRandomCompanyProd.Checked = true;
this.chkRandomCompanyProd.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkRandomCompanyProd.Location = new System.Drawing.Point(819, 13);
this.chkRandomCompanyProd.Location = new System.Drawing.Point(845, 13);
this.chkRandomCompanyProd.Name = "chkRandomCompanyProd";
this.chkRandomCompanyProd.Size = new System.Drawing.Size(87, 21);
this.chkRandomCompanyProd.TabIndex = 889;
@@ -416,7 +420,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearDgv.CanvasColor = System.Drawing.SystemColors.Control;
this.btnClearDgv.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClearDgv.DisabledBackColor = System.Drawing.Color.Empty;
this.btnClearDgv.Location = new System.Drawing.Point(1015, 72);
this.btnClearDgv.Location = new System.Drawing.Point(1041, 72);
this.btnClearDgv.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.btnClearDgv.Name = "btnClearDgv";
this.btnClearDgv.Size = new System.Drawing.Size(64, 23);
@@ -573,7 +577,7 @@ namespace TemuKJD.WXForms.ProductForms
//
this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(913, 15);
this.label6.Location = new System.Drawing.Point(939, 15);
this.label6.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(56, 17);
@@ -596,7 +600,7 @@ namespace TemuKJD.WXForms.ProductForms
// txtWaitSeconds
//
this.txtWaitSeconds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.txtWaitSeconds.Location = new System.Drawing.Point(969, 12);
this.txtWaitSeconds.Location = new System.Drawing.Point(995, 12);
this.txtWaitSeconds.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtWaitSeconds.Name = "txtWaitSeconds";
this.txtWaitSeconds.Size = new System.Drawing.Size(24, 23);
@@ -644,7 +648,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnUpload.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnUpload.DisabledBackColor = System.Drawing.Color.Empty;
this.btnUpload.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnUpload.Location = new System.Drawing.Point(1015, 16);
this.btnUpload.Location = new System.Drawing.Point(1041, 16);
this.btnUpload.Name = "btnUpload";
this.btnUpload.Size = new System.Drawing.Size(64, 23);
this.btnUpload.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -721,7 +725,7 @@ namespace TemuKJD.WXForms.ProductForms
this.ucTabControlMetro1.Name = "ucTabControlMetro1";
this.ucTabControlMetro1.SelectedIndex = 0;
this.ucTabControlMetro1.ShowCloseButton = false;
this.ucTabControlMetro1.Size = new System.Drawing.Size(591, 150);
this.ucTabControlMetro1.Size = new System.Drawing.Size(617, 150);
this.ucTabControlMetro1.TabIndex = 822;
this.ucTabControlMetro1.TabSelectColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucTabControlMetro1.TabSelectTextColor = System.Drawing.Color.Gray;
@@ -729,7 +733,10 @@ namespace TemuKJD.WXForms.ProductForms
//
// 上传参数
//
this.上传参数.Controls.Add(this.chkSameSpecPriceDown);
this.上传参数.Controls.Add(this.chkLowestPriceSku);
this.上传参数.Controls.Add(this.chkUseWXComplateProd);
this.上传参数.Controls.Add(this.txtMaxPrice);
this.上传参数.Controls.Add(this.chkUseRecommand);
this.上传参数.Controls.Add(this.chkPreSale);
this.上传参数.Controls.Add(this.txtDefaultBestBefore);
@@ -740,7 +747,7 @@ namespace TemuKJD.WXForms.ProductForms
this.上传参数.Controls.Add(this.chkUpDraft);
this.上传参数.Controls.Add(this.label25);
this.上传参数.Controls.Add(this.chkSkipUploaded);
this.上传参数.Controls.Add(this.chkSameSpecPrice);
this.上传参数.Controls.Add(this.chkSameSpecPriceUp);
this.上传参数.Controls.Add(this.txtPreDays);
this.上传参数.Controls.Add(this.txtReplaceText);
this.上传参数.Controls.Add(this.label8);
@@ -756,14 +763,80 @@ namespace TemuKJD.WXForms.ProductForms
this.上传参数.Controls.Add(this.txtTitleHeadWord);
this.上传参数.Controls.Add(this.label22);
this.上传参数.Controls.Add(this.label3);
this.上传参数.Controls.Add(this.label39);
this.上传参数.Location = new System.Drawing.Point(4, 28);
this.上传参数.Name = "上传参数";
this.上传参数.Padding = new System.Windows.Forms.Padding(3);
this.上传参数.Size = new System.Drawing.Size(583, 118);
this.上传参数.Size = new System.Drawing.Size(609, 118);
this.上传参数.TabIndex = 1;
this.上传参数.Text = "上传参数";
this.上传参数.UseVisualStyleBackColor = true;
//
// chkSameSpecPriceDown
//
this.chkSameSpecPriceDown.AutoSize = true;
this.chkSameSpecPriceDown.Checked = true;
this.chkSameSpecPriceDown.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkSameSpecPriceDown.Location = new System.Drawing.Point(548, 3);
this.chkSameSpecPriceDown.Name = "chkSameSpecPriceDown";
this.chkSameSpecPriceDown.Size = new System.Drawing.Size(131, 21);
this.chkSameSpecPriceDown.TabIndex = 917;
this.chkSameSpecPriceDown.Text = "颜色规格同价(下浮)";
this.chkSameSpecPriceDown.UseVisualStyleBackColor = true;
//
// chkLowestPriceSku
//
this.chkLowestPriceSku.AutoSize = true;
this.chkLowestPriceSku.Checked = true;
this.chkLowestPriceSku.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkLowestPriceSku.Location = new System.Drawing.Point(433, 3);
this.chkLowestPriceSku.Name = "chkLowestPriceSku";
this.chkLowestPriceSku.Size = new System.Drawing.Size(119, 21);
this.chkLowestPriceSku.TabIndex = 916;
this.chkLowestPriceSku.Text = "只保留最低价sku";
this.chkLowestPriceSku.UseVisualStyleBackColor = true;
//
// chkUseWXComplateProd
//
this.chkUseWXComplateProd.Location = new System.Drawing.Point(529, 28);
this.chkUseWXComplateProd.Name = "chkUseWXComplateProd";
this.chkUseWXComplateProd.Size = new System.Drawing.Size(87, 21);
this.chkUseWXComplateProd.TabIndex = 876;
this.chkUseWXComplateProd.Text = "使用回采数据";
this.chkUseWXComplateProd.UseVisualStyleBackColor = true;
this.chkUseWXComplateProd.Visible = false;
this.chkUseWXComplateProd.CheckedChanged += new System.EventHandler(this.chkUseWXComplateProd_CheckedChanged);
//
// txtMaxPrice
//
this.txtMaxPrice.Location = new System.Drawing.Point(117, 2);
this.txtMaxPrice.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.txtMaxPrice.Name = "txtMaxPrice";
this.txtMaxPrice.Size = new System.Drawing.Size(36, 23);
this.txtMaxPrice.TabIndex = 912;
this.txtMaxPrice.Text = "9999";
//
// chkUseRecommand
//
this.chkUseRecommand.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.chkUseRecommand.AutoSize = true;
this.chkUseRecommand.Location = new System.Drawing.Point(490, 51);
this.chkUseRecommand.Name = "chkUseRecommand";
this.chkUseRecommand.Size = new System.Drawing.Size(123, 21);
this.chkUseRecommand.TabIndex = 907;
this.chkUseRecommand.Text = "使用推荐属性数值";
this.chkUseRecommand.UseVisualStyleBackColor = true;
//
// chkPreSale
//
this.chkPreSale.Location = new System.Drawing.Point(281, 28);
this.chkPreSale.Name = "chkPreSale";
this.chkPreSale.Size = new System.Drawing.Size(65, 21);
this.chkPreSale.TabIndex = 789;
this.chkPreSale.Text = "预售天数";
this.chkPreSale.UseVisualStyleBackColor = true;
this.chkPreSale.CheckedChanged += new System.EventHandler(this.chkPreSale_CheckedChanged);
//
// txtDefaultBestBefore
//
this.txtDefaultBestBefore.Location = new System.Drawing.Point(529, 93);
@@ -830,21 +903,11 @@ namespace TemuKJD.WXForms.ProductForms
this.txtFilterBoundMin.Text = "1000";
this.txtFilterBoundMin.TextChanged += new System.EventHandler(this.txtFilterBoundMin_TextChanged);
//
// chkUseWXComplateProd
//
this.chkUseWXComplateProd.Location = new System.Drawing.Point(541, 28);
this.chkUseWXComplateProd.Name = "chkUseWXComplateProd";
this.chkUseWXComplateProd.Size = new System.Drawing.Size(87, 21);
this.chkUseWXComplateProd.TabIndex = 876;
this.chkUseWXComplateProd.Text = "使用回采数据";
this.chkUseWXComplateProd.UseVisualStyleBackColor = true;
this.chkUseWXComplateProd.Visible = false;
this.chkUseWXComplateProd.CheckedChanged += new System.EventHandler(this.chkUseWXComplateProd_CheckedChanged);
//
// chkUpDraft
//
this.chkUpDraft.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.chkUpDraft.AutoSize = true;
this.chkUpDraft.Location = new System.Drawing.Point(447, 3);
this.chkUpDraft.Location = new System.Drawing.Point(490, 72);
this.chkUpDraft.Name = "chkUpDraft";
this.chkUpDraft.Size = new System.Drawing.Size(87, 21);
this.chkUpDraft.TabIndex = 769;
@@ -867,7 +930,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(341, 3);
this.chkSkipUploaded.Location = new System.Drawing.Point(424, 28);
this.chkSkipUploaded.Name = "chkSkipUploaded";
this.chkSkipUploaded.Size = new System.Drawing.Size(111, 21);
this.chkSkipUploaded.TabIndex = 755;
@@ -875,18 +938,18 @@ namespace TemuKJD.WXForms.ProductForms
this.chkSkipUploaded.UseVisualStyleBackColor = true;
this.chkSkipUploaded.CheckedChanged += new System.EventHandler(this.chkSkipUploaded_CheckedChanged);
//
// chkSameSpecPrice
// chkSameSpecPriceUp
//
this.chkSameSpecPrice.AutoSize = true;
this.chkSameSpecPrice.Checked = true;
this.chkSameSpecPrice.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkSameSpecPrice.Location = new System.Drawing.Point(246, 3);
this.chkSameSpecPrice.Name = "chkSameSpecPrice";
this.chkSameSpecPrice.Size = new System.Drawing.Size(99, 21);
this.chkSameSpecPrice.TabIndex = 745;
this.chkSameSpecPrice.Text = "颜色规格同价";
this.chkSameSpecPrice.UseVisualStyleBackColor = true;
this.chkSameSpecPrice.CheckedChanged += new System.EventHandler(this.chkSameSpecPrice_CheckedChanged);
this.chkSameSpecPriceUp.AutoSize = true;
this.chkSameSpecPriceUp.Checked = true;
this.chkSameSpecPriceUp.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkSameSpecPriceUp.Location = new System.Drawing.Point(308, 3);
this.chkSameSpecPriceUp.Name = "chkSameSpecPriceUp";
this.chkSameSpecPriceUp.Size = new System.Drawing.Size(131, 21);
this.chkSameSpecPriceUp.TabIndex = 745;
this.chkSameSpecPriceUp.Text = "颜色规格同价(上浮)";
this.chkSameSpecPriceUp.UseVisualStyleBackColor = true;
this.chkSameSpecPriceUp.CheckedChanged += new System.EventHandler(this.chkSameSpecPriceUp_CheckedChanged);
//
// txtPreDays
//
@@ -904,9 +967,10 @@ namespace TemuKJD.WXForms.ProductForms
| System.Windows.Forms.AnchorStyles.Right)));
this.txtReplaceText.Location = new System.Drawing.Point(65, 52);
this.txtReplaceText.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.txtReplaceText.MaxLength = 1000000;
this.txtReplaceText.Multiline = true;
this.txtReplaceText.Name = "txtReplaceText";
this.txtReplaceText.Size = new System.Drawing.Size(510, 40);
this.txtReplaceText.Size = new System.Drawing.Size(420, 40);
this.txtReplaceText.TabIndex = 740;
this.txtReplaceText.Text = "真丝,蚕丝,香云纱,羊绒,羊毛,羊羔绒,羊羔毛,羽绒,皮草";
this.txtReplaceText.TextChanged += new System.EventHandler(this.txtReplaceText_TextChanged);
@@ -949,29 +1013,19 @@ namespace TemuKJD.WXForms.ProductForms
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(89, 5);
this.label5.Location = new System.Drawing.Point(153, 5);
this.label5.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(40, 17);
this.label5.TabIndex = 744;
this.label5.Text = "元sku";
//
// chkPreSale
//
this.chkPreSale.Location = new System.Drawing.Point(281, 28);
this.chkPreSale.Name = "chkPreSale";
this.chkPreSale.Size = new System.Drawing.Size(65, 21);
this.chkPreSale.TabIndex = 789;
this.chkPreSale.Text = "预售天数";
this.chkPreSale.UseVisualStyleBackColor = true;
this.chkPreSale.CheckedChanged += new System.EventHandler(this.chkPreSale_CheckedChanged);
//
// chkHighestPriceSku
//
this.chkHighestPriceSku.AutoSize = true;
this.chkHighestPriceSku.Checked = true;
this.chkHighestPriceSku.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkHighestPriceSku.Location = new System.Drawing.Point(129, 3);
this.chkHighestPriceSku.Location = new System.Drawing.Point(193, 3);
this.chkHighestPriceSku.Name = "chkHighestPriceSku";
this.chkHighestPriceSku.Size = new System.Drawing.Size(119, 21);
this.chkHighestPriceSku.TabIndex = 739;
@@ -1061,6 +1115,16 @@ namespace TemuKJD.WXForms.ProductForms
this.label3.TabIndex = 741;
this.label3.Text = "移除敏感词";
//
// label39
//
this.label39.AutoSize = true;
this.label39.Location = new System.Drawing.Point(90, 5);
this.label39.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.label39.Name = "label39";
this.label39.Size = new System.Drawing.Size(32, 17);
this.label39.TabIndex = 911;
this.label39.Text = "或>";
//
// 佣金上货
//
this.佣金上货.Controls.Add(this.label31);
@@ -1078,7 +1142,7 @@ namespace TemuKJD.WXForms.ProductForms
this.佣金上货.Location = new System.Drawing.Point(4, 28);
this.佣金上货.Name = "佣金上货";
this.佣金上货.Padding = new System.Windows.Forms.Padding(3);
this.佣金上货.Size = new System.Drawing.Size(583, 118);
this.佣金上货.Size = new System.Drawing.Size(609, 118);
this.佣金上货.TabIndex = 2;
this.佣金上货.Text = "佣金上货";
this.佣金上货.UseVisualStyleBackColor = true;
@@ -1246,7 +1310,7 @@ namespace TemuKJD.WXForms.ProductForms
this.裂变调试.Location = new System.Drawing.Point(4, 28);
this.裂变调试.Name = "裂变调试";
this.裂变调试.Padding = new System.Windows.Forms.Padding(3);
this.裂变调试.Size = new System.Drawing.Size(583, 118);
this.裂变调试.Size = new System.Drawing.Size(609, 118);
this.裂变调试.TabIndex = 3;
this.裂变调试.Text = "裂变调试";
this.裂变调试.UseVisualStyleBackColor = true;
@@ -1260,7 +1324,7 @@ namespace TemuKJD.WXForms.ProductForms
this.txtFissionTitle.Multiline = true;
this.txtFissionTitle.Name = "txtFissionTitle";
this.txtFissionTitle.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.txtFissionTitle.Size = new System.Drawing.Size(496, 79);
this.txtFissionTitle.Size = new System.Drawing.Size(522, 79);
this.txtFissionTitle.TabIndex = 0;
this.txtFissionTitle.TextChanged += new System.EventHandler(this.txtFissionTitle_TextChanged);
//
@@ -1375,7 +1439,7 @@ namespace TemuKJD.WXForms.ProductForms
//
this.label32.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.label32.AutoSize = true;
this.label32.Location = new System.Drawing.Point(549, 57);
this.label32.Location = new System.Drawing.Point(575, 57);
this.label32.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label32.Name = "label32";
this.label32.Size = new System.Drawing.Size(20, 17);
@@ -1386,7 +1450,7 @@ namespace TemuKJD.WXForms.ProductForms
// txtAiImgCount
//
this.txtAiImgCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.txtAiImgCount.Location = new System.Drawing.Point(524, 54);
this.txtAiImgCount.Location = new System.Drawing.Point(550, 54);
this.txtAiImgCount.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtAiImgCount.Name = "txtAiImgCount";
this.txtAiImgCount.Size = new System.Drawing.Size(24, 23);
@@ -1398,7 +1462,7 @@ namespace TemuKJD.WXForms.ProductForms
//
this.chkAiImage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.chkAiImage.AutoSize = true;
this.chkAiImage.Location = new System.Drawing.Point(455, 55);
this.chkAiImage.Location = new System.Drawing.Point(481, 55);
this.chkAiImage.Name = "chkAiImage";
this.chkAiImage.Size = new System.Drawing.Size(74, 21);
this.chkAiImage.TabIndex = 892;
@@ -2325,7 +2389,7 @@ namespace TemuKJD.WXForms.ProductForms
// splitContainer3.Panel2
//
this.splitContainer3.Panel2.Controls.Add(this.splitContainer4);
this.splitContainer3.Size = new System.Drawing.Size(1684, 472);
this.splitContainer3.Size = new System.Drawing.Size(1710, 472);
this.splitContainer3.SplitterDistance = 442;
this.splitContainer3.TabIndex = 1;
//
@@ -2355,7 +2419,7 @@ namespace TemuKJD.WXForms.ProductForms
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(1684, 442);
this.splitContainer2.Size = new System.Drawing.Size(1710, 442);
this.splitContainer2.SplitterDistance = 410;
this.splitContainer2.TabIndex = 0;
//
@@ -2422,19 +2486,19 @@ namespace TemuKJD.WXForms.ProductForms
//
this.dgvShop.AllowUserToAddRows = false;
this.dgvShop.AllowUserToDeleteRows = false;
dataGridViewCellStyle9.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9;
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)))));
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.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10;
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,
@@ -2582,7 +2646,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(610, 196);
this.pbLoading.Location = new System.Drawing.Point(623, 196);
this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -2597,7 +2661,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(1144, 30);
this.并发上传.Location = new System.Drawing.Point(1170, 30);
this.并发上传.Name = "并发上传";
this.并发上传.Size = new System.Drawing.Size(118, 23);
this.并发上传.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -2666,19 +2730,19 @@ namespace TemuKJD.WXForms.ProductForms
//
this.dgvSelectProduct.AllowUserToAddRows = false;
this.dgvSelectProduct.AllowUserToDeleteRows = false;
dataGridViewCellStyle11.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11;
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)))));
dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle12.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle12;
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,
@@ -2709,7 +2773,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(1266, 442);
this.dgvSelectProduct.Size = new System.Drawing.Size(1292, 442);
this.dgvSelectProduct.TabIndex = 187;
this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick);
//
@@ -2740,8 +2804,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colSupplierName
//
dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle13;
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
this.colSupplierName.Frozen = true;
this.colSupplierName.HeaderText = "店铺名称";
this.colSupplierName.Name = "colSupplierName";
@@ -2821,8 +2885,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colProductName
//
dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductName.DefaultCellStyle = dataGridViewCellStyle14;
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
this.colProductName.HeaderText = "商品标题";
this.colProductName.Name = "colProductName";
this.colProductName.ReadOnly = true;
@@ -2830,8 +2894,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colProductCat
//
dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle15;
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle7;
this.colProductCat.HeaderText = "商品类目";
this.colProductCat.Name = "colProductCat";
this.colProductCat.ReadOnly = true;
@@ -2886,8 +2950,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colAddTime
//
dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle16;
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle8;
this.colAddTime.HeaderText = "上传时间";
this.colAddTime.Name = "colAddTime";
this.colAddTime.ReadOnly = true;
@@ -2915,8 +2979,8 @@ namespace TemuKJD.WXForms.ProductForms
//
this.splitContainer4.Panel2.Controls.Add(this.btnClear);
this.splitContainer4.Panel2.Controls.Add(this.panelEx1);
this.splitContainer4.Size = new System.Drawing.Size(1684, 26);
this.splitContainer4.SplitterDistance = 993;
this.splitContainer4.Size = new System.Drawing.Size(1710, 26);
this.splitContainer4.SplitterDistance = 1019;
this.splitContainer4.TabIndex = 3;
//
// statusBar
@@ -2927,7 +2991,7 @@ namespace TemuKJD.WXForms.ProductForms
this.statusBar.Location = new System.Drawing.Point(0, 0);
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
this.statusBar.Name = "statusBar";
this.statusBar.Size = new System.Drawing.Size(993, 26);
this.statusBar.Size = new System.Drawing.Size(1019, 26);
this.statusBar.TabIndex = 2;
//
// btnClear
@@ -2980,21 +3044,11 @@ namespace TemuKJD.WXForms.ProductForms
this.panelEx1.Text = "停止当前操作";
this.panelEx1.Visible = false;
//
// chkUseRecommand
//
this.chkUseRecommand.AutoSize = true;
this.chkUseRecommand.Location = new System.Drawing.Point(422, 28);
this.chkUseRecommand.Name = "chkUseRecommand";
this.chkUseRecommand.Size = new System.Drawing.Size(123, 21);
this.chkUseRecommand.TabIndex = 907;
this.chkUseRecommand.Text = "使用推荐属性数值";
this.chkUseRecommand.UseVisualStyleBackColor = true;
//
// WXDBProdUploadForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1684, 641);
this.ClientSize = new System.Drawing.Size(1710, 641);
this.Controls.Add(this.splitContainer1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.KeyPreview = true;
@@ -3105,7 +3159,7 @@ namespace TemuKJD.WXForms.ProductForms
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox txtMinPrice;
private System.Windows.Forms.Label label8;
private UserComponent.UcCheckBox chkSameSpecPrice;
private UserComponent.UcCheckBox chkSameSpecPriceUp;
private System.Windows.Forms.ComboBox cmbSourceType;
private System.Windows.Forms.Label lblSourceType;
private System.Windows.Forms.ComboBox cmbWxSafe;
@@ -3245,5 +3299,9 @@ namespace TemuKJD.WXForms.ProductForms
private System.Windows.Forms.TextBox txtRandomFissionProductCount;
private UserComponent.UcCheckBox chkRandomFissionProduct;
private UserComponent.UcCheckBox chkUseRecommand;
private System.Windows.Forms.TextBox txtMaxPrice;
private System.Windows.Forms.Label label39;
private UserComponent.UcCheckBox chkSameSpecPriceDown;
private UserComponent.UcCheckBox chkLowestPriceSku;
}
}
@@ -186,9 +186,12 @@ namespace TemuKJD.WXForms.ProductForms
this.txtPreDays.TextChanged -= txtPreDays_TextChanged;
this.txtReplaceText.TextChanged -= txtReplaceText_TextChanged;
this.txtMinPrice.TextChanged -= txtMinPrice_TextChanged;
this.txtMaxPrice.TextChanged -= txtMaxPrice_TextChanged;
this.txtWaitSeconds.TextChanged -= txtWaitSeconds_TextChanged;
this.chkHighestPriceSku.CheckedChanged -= chkHighestPriceSku_CheckedChanged;
this.chkSameSpecPrice.CheckedChanged -= chkSameSpecPrice_CheckedChanged;
this.chkLowestPriceSku.CheckedChanged -= chkLowestPriceSku_CheckedChanged;
this.chkSameSpecPriceUp.CheckedChanged -= chkSameSpecPriceUp_CheckedChanged;
this.chkSameSpecPriceDown.CheckedChanged -= chkSameSpecPriceDown_CheckedChanged;
this.chkSkipUploaded.CheckedChanged -= chkSkipUploaded_CheckedChanged;
this.chkUpDraft.CheckedChanged -= chkUpDraft_CheckedChanged;
this.chkPreSale.CheckedChanged -= chkPreSale_CheckedChanged;
@@ -204,7 +207,9 @@ namespace TemuKJD.WXForms.ProductForms
this.txtMinPrice.Text = wxUploadRule.SkuMinPrice.ParseToString();
this.txtWaitSeconds.Text = wxUploadRule.WaitSeconds.ParseToString();
this.chkHighestPriceSku.Checked = wxUploadRule.OnlyHighestPriceSku.ParseToBool();
this.chkSameSpecPrice.Checked = wxUploadRule.SameSpecSamePrice.ParseToBool();
this.chkLowestPriceSku.Checked = wxUploadRule.OnlyLowestPriceSku.ParseToBool();
this.chkSameSpecPriceUp.Checked = wxUploadRule.SameSpecSamePriceUp.ParseToBool();
this.chkSameSpecPriceDown.Checked = wxUploadRule.SameSpecSamePriceDown.ParseToBool();
this.chkSkipUploaded.Checked = wxUploadRule.SkipUploaded.ParseToBool();
this.chkUpDraft.Checked = wxUploadRule.UpDraft.ParseToBool();
this.chkPreSale.Checked = wxUploadRule.IsPreSale.ParseToBool();
@@ -223,7 +228,9 @@ namespace TemuKJD.WXForms.ProductForms
this.txtMinPrice.TextChanged += txtMinPrice_TextChanged;
this.txtWaitSeconds.TextChanged += txtWaitSeconds_TextChanged;
this.chkHighestPriceSku.CheckedChanged += chkHighestPriceSku_CheckedChanged;
this.chkSameSpecPrice.CheckedChanged += chkSameSpecPrice_CheckedChanged;
this.chkLowestPriceSku.CheckedChanged += chkLowestPriceSku_CheckedChanged;
this.chkSameSpecPriceUp.CheckedChanged += chkSameSpecPriceUp_CheckedChanged;
this.chkSameSpecPriceDown.CheckedChanged += chkSameSpecPriceDown_CheckedChanged;
this.chkSkipUploaded.CheckedChanged += chkSkipUploaded_CheckedChanged;
this.chkUpDraft.CheckedChanged += chkUpDraft_CheckedChanged;
this.chkPreSale.CheckedChanged += chkPreSale_CheckedChanged;
@@ -1254,9 +1261,15 @@ namespace TemuKJD.WXForms.ProductForms
if (result.Contains("今日提审次数已用尽,请明日再试") || result.Contains("如需上架请先缴纳足额保证金") || result.Contains("在架商品数已达到上限") ||
result.Contains("提审次数已达上限") || result.Contains("拥金上货失败:需要开通优选联盟") || result.Contains("本店铺近期提审失败比例较高,已被限"))
{
var shopRow = dgvShop.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId);
if (shopRow != null)
Invoke(new Action(() => { shopRow.Cells["colSelect"].Value = false; }));
shop.upLimitRetryCount++;
if (shop.upLimitRetryCount > 3)
{
shop.upLimitRetryCount = 0;
var shopRow = dgvShop.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId);
if (shopRow != null)
Invoke(new Action(() => { shopRow.Cells["colSelect"].Value = false; }));
}
}
// 图片重复的,修改图片缓存为空再传一次
if (result.Contains("10020225") || result.Contains("10020226"))
@@ -1828,7 +1841,8 @@ namespace TemuKJD.WXForms.ProductForms
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品数据初始化失败" + ex.Message + "\"}";
}
}
if (chkSameSpecPrice.Checked)
// 同颜色规格向上浮动同价格
if (chkSameSpecPriceUp.Checked)
{
var priceTextLst = dbProd.price_text.Split('-');
if (priceTextLst.Length != 2 || priceTextLst[0] != priceTextLst[1])
@@ -1865,6 +1879,45 @@ namespace TemuKJD.WXForms.ProductForms
}
}
}
// 同颜色规格向下浮动同价格
if (chkSameSpecPriceDown.Checked)
{
var priceTextLst = dbProd.price_text.Split('-');
if (priceTextLst.Length != 2 || priceTextLst[0] != priceTextLst[1])
{
Dictionary<string, int> specPriceDic = new Dictionary<string, int>();
Dictionary<string, int> specMultiPriceDic = new Dictionary<string, int>();
var skuJArr = prodJObj["detail"]["sku"] as JArray;
try
{
// 计算主spec的最低价
foreach (var skuJObj in skuJArr)
{
var specJArr = skuJObj["spec"] as JArray;
if (!specPriceDic.ContainsKey(specJArr[0]["spec_name"].ParseToString()) || skuJObj["price"].ParseToInt() < specPriceDic[specJArr[0]["spec_name"].ParseToString()])
{
specPriceDic[specJArr[0]["spec_name"].ParseToString()] = skuJObj["price"].ParseToInt();
}
if (!specMultiPriceDic.ContainsKey(specJArr[0]["spec_name"].ParseToString()) || skuJObj["multi_price"].ParseToInt() < specMultiPriceDic[specJArr[0]["spec_name"].ParseToString()])
{
specMultiPriceDic[specJArr[0]["spec_name"].ParseToString()] = skuJObj["multi_price"].ParseToInt();
}
}
// 统一按最低价设置
foreach (var skuJObj in skuJArr)
{
var specJArr = skuJObj["spec"] as JArray;
skuJObj["price"] = specPriceDic[specJArr[0]["spec_name"].ParseToString()];
skuJObj["multi_price"] = specMultiPriceDic[specJArr[0]["spec_name"].ParseToString()];
}
}
catch (Exception ex)
{
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品数据初始化失败" + ex.Message + "\"}";
}
}
}
// 只保留最高价
if (chkHighestPriceSku.Checked)
{
int price = 0;
@@ -1901,6 +1954,43 @@ namespace TemuKJD.WXForms.ProductForms
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品数据初始化失败" + ex.Message + "\"}";
}
}
// 只保留最低价
if (chkLowestPriceSku.Checked)
{
int price = 99999999;
var skuJArr = prodJObj["detail"]["sku"] as JArray;
try
{
// 计算主spec的最低价
foreach (var skuJObj in skuJArr)
{
if (price > skuJObj["multi_price"].ParseToInt())
price = skuJObj["multi_price"].ParseToInt();
}
var product_json_tmp = JsonHelper.SerializeObject(prodJObj);
// 移除第一组所有sku
skuJArr.RemoveAll();
// 序列化第二组,从组中挑选符合价格条件的sku往第一组内填写
var prodJObj2 = JObject.Parse(product_json_tmp);
var skuJArr2 = prodJObj2["detail"]["sku"] as JArray;
foreach (var skuJObj2 in skuJArr2)
{
if (skuJObj2["multi_price"].ParseToInt() <= price)
skuJArr.Add(skuJObj2);
}
if (skuJArr.Count == 0)
{
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品sku差价不满足上货条件,跳过\"}";
}
}
catch (Exception ex)
{
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品数据初始化失败" + ex.Message + "\"}";
}
}
// 过滤低价sku,如果所有sku都不达标,跳过商品
if (!string.IsNullOrEmpty(txtMinPrice.Text))
{
@@ -1915,11 +2005,11 @@ namespace TemuKJD.WXForms.ProductForms
var skuJArr2 = prodJObj2["detail"]["sku"] as JArray;
foreach (var skuJObj2 in skuJArr2)
{
var limitPrice = this.txtMinPrice.Text.Trim().ParseToDecimal() * 100;
var limitMinPrice = this.txtMinPrice.Text.Trim().ParseToDecimal() * 100;
// 供应商价加价10%(最低1元)赚取差价 先加价后过滤,过滤条件也要相应增加10%
//if (dbProd.product_get_type_text == "厂商直采")
// limitPrice += Math.Max(100m, limitPrice * 0.1m);
if (skuJObj2["multi_price"].ParseToInt() >= limitPrice)
if (skuJObj2["multi_price"].ParseToInt() >= limitMinPrice)
skuJArr.Add(skuJObj2);
}
if (skuJArr.Count == 0)
@@ -1927,6 +2017,33 @@ namespace TemuKJD.WXForms.ProductForms
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品sku价格不满足上货条件,跳过\"}";
}
}
// 过滤高价sku,如果所有sku都不达标,跳过商品
if (!string.IsNullOrEmpty(txtMaxPrice.Text))
{
var product_json_tmp = JsonHelper.SerializeObject(prodJObj);
// 移除第一组所有sku
var skuJArr = prodJObj["detail"]["sku"] as JArray;
skuJArr.RemoveAll();
// 序列化第二组,从组中挑选符合价格条件的sku往第一组内填写
var prodJObj2 = JObject.Parse(product_json_tmp);
var skuJArr2 = prodJObj2["detail"]["sku"] as JArray;
foreach (var skuJObj2 in skuJArr2)
{
var limitMaxPrice = this.txtMaxPrice.Text.Trim().ParseToDecimal() * 100;
// 供应商价加价10%(最低1元)赚取差价 先加价后过滤,过滤条件也要相应增加10%
//if (dbProd.product_get_type_text == "厂商直采")
// limitPrice += Math.Max(100m, limitPrice * 0.1m);
if (skuJObj2["multi_price"].ParseToInt() <= limitMaxPrice)
skuJArr.Add(skuJObj2);
}
if (skuJArr.Count == 0)
{
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品sku价格不满足上货条件,跳过\"}";
}
}
dbProd.product_json = JsonHelper.SerializeObject(prodJObj);
}
catch (Exception ex)
@@ -5937,6 +6054,12 @@ namespace TemuKJD.WXForms.ProductForms
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
}
private void txtMaxPrice_TextChanged(object sender, EventArgs e)
{
wxUploadRule.SkuMaxPrice = txtMaxPrice.Text.Trim().ParseToInt();
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
}
private void txtWaitSeconds_TextChanged(object sender, EventArgs e)
{
wxUploadRule.WaitSeconds = txtWaitSeconds.Text.Trim().ParseToInt();
@@ -5946,12 +6069,30 @@ namespace TemuKJD.WXForms.ProductForms
private void chkHighestPriceSku_CheckedChanged(object sender, EventArgs e)
{
wxUploadRule.OnlyHighestPriceSku = chkHighestPriceSku.Checked;
if (chkHighestPriceSku.Checked)
chkLowestPriceSku.Checked = false;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
}
private void chkLowestPriceSku_CheckedChanged(object sender, EventArgs e)
{
wxUploadRule.OnlyLowestPriceSku = chkLowestPriceSku.Checked;
if (chkLowestPriceSku.Checked)
chkHighestPriceSku.Checked = false;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
}
private void chkSameSpecPrice_CheckedChanged(object sender, EventArgs e)
private void chkSameSpecPriceUp_CheckedChanged(object sender, EventArgs e)
{
wxUploadRule.SameSpecSamePrice = chkSameSpecPrice.Checked;
wxUploadRule.SameSpecSamePriceUp = chkSameSpecPriceUp.Checked;
if (chkSameSpecPriceUp.Checked)
chkSameSpecPriceDown.Checked = false;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
}
private void chkSameSpecPriceDown_CheckedChanged(object sender, EventArgs e)
{
wxUploadRule.SameSpecSamePriceDown = chkSameSpecPriceDown.Checked;
if (chkSameSpecPriceDown.Checked)
chkSameSpecPriceUp.Checked = false;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
}
@@ -6372,6 +6513,11 @@ namespace TemuKJD.WXForms.ProductForms
fillWxCate();
}
}
private void chkSameSpecPrice_CheckedChanged(object sender, EventArgs e)
{
}
}
public class WXUpload
@@ -6823,11 +6969,14 @@ Content-Type: application/octet-stream
public string FilterWords { get; set; } = "顶级,之王,二手,亏本,冲量,白菜价,跳楼价,xx,xxx,最大,最小,低价,降价,成本,赔钱,甩卖,真丝,蚕丝,香云纱,羊绒,羊毛,羊羔绒,羊羔毛,羽绒,皮草";
public int SkuMinPrice { get; set; } = 10;
public int SkuMaxPrice { get; set; } = 9999;
public int WaitSeconds { get; set; } = 10;
public bool OnlyHighestPriceSku { get; set; } = true;
public bool SameSpecSamePrice { get; set; } = true;
public bool OnlyHighestPriceSku { get; set; } = false;
public bool OnlyLowestPriceSku { get; set; } = false;
public bool SameSpecSamePriceUp { get; set; } = false;
public bool SameSpecSamePriceDown { get; set; } = false;
public bool SkipUploaded { get; set; } = true;
public bool UpDraft { get; set; } = false;
public bool IsPreSale { get; set; } = false;
+57 -39
View File
@@ -55,6 +55,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearList = new DevComponents.DotNetBar.PanelEx();
this.btnDown = new DevComponents.DotNetBar.PanelEx();
this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.cmbChangePriceType = new System.Windows.Forms.ComboBox();
this.btnRestorePrice = new DevComponents.DotNetBar.PanelEx();
this.label7 = new System.Windows.Forms.Label();
this.txtPrice = new System.Windows.Forms.TextBox();
@@ -71,12 +72,9 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearDgv = new DevComponents.DotNetBar.PanelEx();
this.btnSetPreSale = new DevComponents.DotNetBar.PanelEx();
this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.label9 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.chkSearchPromotionLink = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.cmbOnSaleStatus = new System.Windows.Forms.ComboBox();
this.dtpEndTime = new System.Windows.Forms.DateTimePicker();
this.chkProdTime = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.dtpStartTime = new System.Windows.Forms.DateTimePicker();
this.cmbPreType = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
@@ -85,6 +83,7 @@ namespace TemuKJD.WXForms.ProductForms
this.label2 = new System.Windows.Forms.Label();
this.btnClearFilter = new DevComponents.DotNetBar.PanelEx();
this.btnSearchProd = new DevComponents.DotNetBar.PanelEx();
this.chkProdTime = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.cmbFilterShopGroup = new TemuKJD.UserComponent.UcComboBoxMutiSelect();
this.label24 = new System.Windows.Forms.Label();
@@ -102,9 +101,11 @@ namespace TemuKJD.WXForms.ProductForms
this.label17 = new System.Windows.Forms.Label();
this.splitContainer3 = new System.Windows.Forms.SplitContainer();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.label9 = new System.Windows.Forms.Label();
this.pbLoadingShop = new System.Windows.Forms.PictureBox();
this.txtPageBegin = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.dtpEndTime = new System.Windows.Forms.DateTimePicker();
this.txtIdFilter = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label();
this.lblIdFilter = new System.Windows.Forms.Label();
@@ -454,6 +455,7 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.ucGroupBoxEx2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucGroupBoxEx2.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
this.ucGroupBoxEx2.Controls.Add(this.cmbChangePriceType);
this.ucGroupBoxEx2.Controls.Add(this.btnRestorePrice);
this.ucGroupBoxEx2.Controls.Add(this.label7);
this.ucGroupBoxEx2.Controls.Add(this.txtPrice);
@@ -476,13 +478,28 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx2.TabStop = false;
this.ucGroupBoxEx2.Text = "设置预售/价格";
//
// cmbChangePriceType
//
this.cmbChangePriceType.FormattingEnabled = true;
this.cmbChangePriceType.Items.AddRange(new object[] {
"指定价格",
"原价×",
"原价÷",
"原价+",
"原价−"});
this.cmbChangePriceType.Location = new System.Drawing.Point(107, 128);
this.cmbChangePriceType.Name = "cmbChangePriceType";
this.cmbChangePriceType.Size = new System.Drawing.Size(74, 25);
this.cmbChangePriceType.TabIndex = 870;
this.cmbChangePriceType.Text = "固定价格";
//
// btnRestorePrice
//
this.btnRestorePrice.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnRestorePrice.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnRestorePrice.DisabledBackColor = System.Drawing.Color.Empty;
this.btnRestorePrice.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnRestorePrice.Location = new System.Drawing.Point(242, 129);
this.btnRestorePrice.Location = new System.Drawing.Point(309, 129);
this.btnRestorePrice.Name = "btnRestorePrice";
this.btnRestorePrice.Size = new System.Drawing.Size(84, 23);
this.btnRestorePrice.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -513,7 +530,7 @@ namespace TemuKJD.WXForms.ProductForms
//
// txtPrice
//
this.txtPrice.Location = new System.Drawing.Point(113, 129);
this.txtPrice.Location = new System.Drawing.Point(184, 129);
this.txtPrice.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.txtPrice.Name = "txtPrice";
this.txtPrice.Size = new System.Drawing.Size(33, 23);
@@ -525,7 +542,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnSetPrice.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSetPrice.DisabledBackColor = System.Drawing.Color.Empty;
this.btnSetPrice.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSetPrice.Location = new System.Drawing.Point(152, 129);
this.btnSetPrice.Location = new System.Drawing.Point(221, 129);
this.btnSetPrice.Name = "btnSetPrice";
this.btnSetPrice.Size = new System.Drawing.Size(84, 23);
this.btnSetPrice.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -731,17 +748,6 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx4.TabStop = false;
this.ucGroupBoxEx4.Text = "商品查询";
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(17, 144);
this.label9.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(32, 17);
this.label9.TabIndex = 988;
this.label9.Text = "结束";
this.label9.Visible = false;
//
// label5
//
this.label5.AutoSize = true;
@@ -782,28 +788,6 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbOnSaleStatus.SelectedIndexChanged += new System.EventHandler(this.cmbOnSaleStatus_SelectedIndexChanged);
this.cmbOnSaleStatus.TextChanged += new System.EventHandler(this.cmbOnSaleStatus_TextChanged);
//
// dtpEndTime
//
this.dtpEndTime.CustomFormat = "yyyy-MM-dd HH:mm";
this.dtpEndTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpEndTime.Location = new System.Drawing.Point(49, 141);
this.dtpEndTime.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.dtpEndTime.Name = "dtpEndTime";
this.dtpEndTime.Size = new System.Drawing.Size(134, 23);
this.dtpEndTime.TabIndex = 986;
this.dtpEndTime.Visible = false;
//
// chkProdTime
//
this.chkProdTime.AutoSize = true;
this.chkProdTime.Location = new System.Drawing.Point(211, 59);
this.chkProdTime.Name = "chkProdTime";
this.chkProdTime.Size = new System.Drawing.Size(60, 21);
this.chkProdTime.TabIndex = 837;
this.chkProdTime.Text = "时间>";
this.chkProdTime.UseVisualStyleBackColor = true;
this.chkProdTime.CheckedChanged += new System.EventHandler(this.chkProdTime_CheckedChanged);
//
// dtpStartTime
//
this.dtpStartTime.CustomFormat = "yyyy-MM-dd HH:mm";
@@ -936,6 +920,17 @@ namespace TemuKJD.WXForms.ProductForms
this.btnSearchProd.Text = "商品查询";
this.btnSearchProd.Click += new System.EventHandler(this.btnSearchProd_Click);
//
// chkProdTime
//
this.chkProdTime.AutoSize = true;
this.chkProdTime.Location = new System.Drawing.Point(211, 59);
this.chkProdTime.Name = "chkProdTime";
this.chkProdTime.Size = new System.Drawing.Size(60, 21);
this.chkProdTime.TabIndex = 837;
this.chkProdTime.Text = "时间>";
this.chkProdTime.UseVisualStyleBackColor = true;
this.chkProdTime.CheckedChanged += new System.EventHandler(this.chkProdTime_CheckedChanged);
//
// ucGroupBoxEx1
//
this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@@ -1273,6 +1268,17 @@ namespace TemuKJD.WXForms.ProductForms
this.splitContainer2.SplitterDistance = 350;
this.splitContainer2.TabIndex = 0;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(17, 144);
this.label9.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(32, 17);
this.label9.TabIndex = 988;
this.label9.Text = "结束";
this.label9.Visible = false;
//
// pbLoadingShop
//
this.pbLoadingShop.Anchor = System.Windows.Forms.AnchorStyles.None;
@@ -1309,6 +1315,17 @@ namespace TemuKJD.WXForms.ProductForms
this.label1.Text = "开始页";
this.label1.Visible = false;
//
// dtpEndTime
//
this.dtpEndTime.CustomFormat = "yyyy-MM-dd HH:mm";
this.dtpEndTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpEndTime.Location = new System.Drawing.Point(49, 141);
this.dtpEndTime.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.dtpEndTime.Name = "dtpEndTime";
this.dtpEndTime.Size = new System.Drawing.Size(134, 23);
this.dtpEndTime.TabIndex = 986;
this.dtpEndTime.Visible = false;
//
// txtIdFilter
//
this.txtIdFilter.Font = new System.Drawing.Font("微软雅黑", 10F);
@@ -2020,5 +2037,6 @@ namespace TemuKJD.WXForms.ProductForms
private System.Windows.Forms.DateTimePicker dtpStartTime;
private System.Windows.Forms.DateTimePicker dtpEndTime;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.ComboBox cmbChangePriceType;
}
}
@@ -1753,7 +1753,16 @@ namespace TemuKJD.WXForms.ProductForms
return;
}
var downProdRst = changePrice(shop, prodId, skuPricesStr, (newPrice * 100).ParseToInt());
var ChangePriceType = "固定价格";
Invoke(new Action(() =>
{
ChangePriceType = cmbChangePriceType.Text.Trim();
// 提前保存防止修改时出错/闪退导致保存失败。
dicProductBasePrice[prodId] = skuPricesStr;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_product_base_price", dicProductBasePrice);
}));
var downProdRst = changePrice(shop, prodId, skuPricesStr, (newPrice * 100).ParseToInt(), false, ChangePriceType);
Thread.Sleep(Randomx.GetId(200, 500));
if (!downProdRst.Contains("\"code\":0"))
{
@@ -1783,10 +1792,46 @@ namespace TemuKJD.WXForms.ProductForms
{
Invoke(new Action(() =>
{
dicProductBasePrice[prodId] = skuPricesStr;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_product_base_price", dicProductBasePrice);
row.Cells["colOpResult"].Value = "修改价格成功";
row.Cells["colPrice"].Value = newPrice;
if (ChangePriceType == "原价×")
{
var priceArr = JArray.Parse(skuPricesStr);
var oldLowPrice = priceArr.Min(p => p["price"].ParseToInt());
var oldHighPrice = priceArr.Max(p => p["price"].ParseToInt());
var lowPrice = (oldLowPrice * newPrice).ParseToInt() * 0.01m;
var highPrice = (oldHighPrice * newPrice).ParseToInt() * 0.01m;
row.Cells["colPrice"].Value = "" + lowPrice + " - " + highPrice;
}
else if (ChangePriceType == "原价÷")
{
var priceArr = JArray.Parse(skuPricesStr);
var oldLowPrice = priceArr.Min(p => p["price"].ParseToInt());
var oldHighPrice = priceArr.Max(p => p["price"].ParseToInt());
var lowPrice = (oldLowPrice / newPrice).ParseToInt() * 0.01m;
var highPrice = (oldHighPrice / newPrice).ParseToInt() * 0.01m;
row.Cells["colPrice"].Value = "" + lowPrice + " - " + highPrice;
}
else if (ChangePriceType == "原价+")
{
var priceArr = JArray.Parse(skuPricesStr);
var oldLowPrice = priceArr.Min(p => p["price"].ParseToInt());
var oldHighPrice = priceArr.Max(p => p["price"].ParseToInt());
var lowPrice = (oldLowPrice + (newPrice * 100).ParseToInt()) * 0.01m;
var highPrice = (oldHighPrice + (newPrice * 100).ParseToInt()) * 0.01m;
row.Cells["colPrice"].Value = "" + lowPrice + " - " + highPrice;
}
else if (ChangePriceType == "原价−")
{
var priceArr = JArray.Parse(skuPricesStr);
var oldLowPrice = priceArr.Min(p => p["price"].ParseToInt());
var oldHighPrice = priceArr.Max(p => p["price"].ParseToInt());
var lowPrice = (oldLowPrice - (newPrice * 100).ParseToInt()) * 0.01m;
var highPrice = (oldHighPrice - (newPrice * 100).ParseToInt()) * 0.01m;
row.Cells["colPrice"].Value = "" + lowPrice + " - " + highPrice;
}
else
row.Cells["colPrice"].Value = newPrice;
}));
}
});
@@ -1814,7 +1859,7 @@ namespace TemuKJD.WXForms.ProductForms
/// <param name="newPrice">新价格 单位分</param>
/// <param name="isRestore">是否是还原价格</param>
/// <returns></returns>
private string changePrice(ShopLoginInfo shop, string spuId, string skuPrices, int newPrice, bool isRestore = false)
private string changePrice(ShopLoginInfo shop, string spuId, string skuPrices, int newPrice, bool isRestore = false, string newPriceType = "固定价格")
{
try
{
@@ -1829,7 +1874,18 @@ namespace TemuKJD.WXForms.ProductForms
if (isRestore)
obj["salePrice"] = sku["price"].ParseToInt();
else
obj["salePrice"] = newPrice;
{
if (newPriceType == "原价×")
obj["salePrice"] = sku["price"].ParseToInt() * newPrice / 100;
else if (newPriceType == "原价÷")
obj["salePrice"] = sku["price"].ParseToInt() * 100 / newPrice;
else if (newPriceType == "原价+")
obj["salePrice"] = sku["price"].ParseToInt() + newPrice;
else if (newPriceType == "原价−")
obj["salePrice"] = sku["price"].ParseToInt() - newPrice;
else
obj["salePrice"] = newPrice;
}
skuArr.Add(obj);
}
changePriceObj["skuList"] = skuArr;
@@ -169,13 +169,21 @@ namespace TemuKJD.WXForms.ProductForms
this.dgvDbProduct.Rows.Clear();
lstTemuDbProduct.Clear();
}
bool isNotCount = true;
if (BaseClass.UserName == "13313717678" || BaseClass.ParentUserName == "13313717678")
{
ucSplitPage1.lblTotal.Visible = true;
isNotCount = false;
}
Task.Run(() =>
{
int pageCount;
int pageSize = 100;
decimal seconds;
Invoke(new Action(() => { pageSize = this.ucSplitPage1.PageSize; }));
var list = GetProductList(out pageCount, out seconds, page, pageSize);
var list = GetProductList(out pageCount, out seconds, page, pageSize, isNotCount);
lstTemuDbProduct.AddRange(list);
this.ucSplitPage1.TotalPage = pageCount;
@@ -485,8 +493,6 @@ namespace TemuKJD.WXForms.ProductForms
data += "&is_not_count=true";
}));
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
+148 -6
View File
@@ -33,25 +33,34 @@ namespace TemuKJD.WXForms.ShopForms
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.btnRefresh = new DevComponents.DotNetBar.PanelEx();
this.pbLoading = new System.Windows.Forms.PictureBox();
this.numAddTopUp = new System.Windows.Forms.NumericUpDown();
this.label8 = new System.Windows.Forms.Label();
this.btnAddPoints = new DevComponents.DotNetBar.PanelEx();
this.btnAddBalance = new DevComponents.DotNetBar.PanelEx();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.label2 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numAddTopUp)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.Font = new System.Drawing.Font("微软雅黑", 11F);
this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.label1.Location = new System.Drawing.Point(30, 420);
this.label1.Location = new System.Drawing.Point(27, 283);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(384, 44);
this.label1.Size = new System.Drawing.Size(228, 72);
this.label1.TabIndex = 1;
this.label1.Text = "支付宝扫码充值,备注软件登录账户。如忘记备注,请联系购买方充值。";
//
// pictureBox1
//
this.pictureBox1.Location = new System.Drawing.Point(30, 30);
this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pictureBox1.Location = new System.Drawing.Point(30, 31);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(384, 384);
this.pictureBox1.Size = new System.Drawing.Size(212, 212);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBox1.TabIndex = 3;
this.pictureBox1.TabStop = false;
@@ -62,7 +71,7 @@ namespace TemuKJD.WXForms.ShopForms
this.btnRefresh.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnRefresh.DisabledBackColor = System.Drawing.Color.Empty;
this.btnRefresh.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnRefresh.Location = new System.Drawing.Point(330, 467);
this.btnRefresh.Location = new System.Drawing.Point(158, 358);
this.btnRefresh.Name = "btnRefresh";
this.btnRefresh.Size = new System.Drawing.Size(84, 23);
this.btnRefresh.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -83,7 +92,7 @@ namespace TemuKJD.WXForms.ShopForms
// pbLoading
//
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbLoading.Location = new System.Drawing.Point(197, 197);
this.pbLoading.Location = new System.Drawing.Point(111, 112);
this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -91,11 +100,135 @@ namespace TemuKJD.WXForms.ShopForms
this.pbLoading.TabStop = false;
this.pbLoading.Visible = false;
//
// numAddTopUp
//
this.numAddTopUp.DecimalPlaces = 2;
this.numAddTopUp.Location = new System.Drawing.Point(116, 418);
this.numAddTopUp.Maximum = new decimal(new int[] {
100000,
0,
0,
0});
this.numAddTopUp.Minimum = new decimal(new int[] {
1,
0,
0,
131072});
this.numAddTopUp.Name = "numAddTopUp";
this.numAddTopUp.Size = new System.Drawing.Size(66, 23);
this.numAddTopUp.TabIndex = 1140;
this.numAddTopUp.Value = new decimal(new int[] {
1,
0,
0,
131072});
this.numAddTopUp.Visible = false;
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(33, 421);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(92, 17);
this.label8.TabIndex = 1141;
this.label8.Text = "积分充值金额:";
this.label8.Visible = false;
//
// btnAddPoints
//
this.btnAddPoints.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnAddPoints.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnAddPoints.DisabledBackColor = System.Drawing.Color.Empty;
this.btnAddPoints.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAddPoints.Location = new System.Drawing.Point(186, 418);
this.btnAddPoints.Name = "btnAddPoints";
this.btnAddPoints.Size = new System.Drawing.Size(56, 23);
this.btnAddPoints.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddPoints.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddPoints.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddPoints.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnAddPoints.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnAddPoints.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnAddPoints.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnAddPoints.Style.GradientAngle = 90;
this.btnAddPoints.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddPoints.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddPoints.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddPoints.TabIndex = 1145;
this.btnAddPoints.Text = "充值";
this.btnAddPoints.Visible = false;
this.btnAddPoints.Click += new System.EventHandler(this.btnAddPoints_Click);
//
// btnAddBalance
//
this.btnAddBalance.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnAddBalance.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnAddBalance.DisabledBackColor = System.Drawing.Color.Empty;
this.btnAddBalance.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAddBalance.Location = new System.Drawing.Point(186, 452);
this.btnAddBalance.Name = "btnAddBalance";
this.btnAddBalance.Size = new System.Drawing.Size(56, 23);
this.btnAddBalance.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddBalance.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddBalance.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddBalance.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnAddBalance.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnAddBalance.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnAddBalance.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnAddBalance.Style.GradientAngle = 90;
this.btnAddBalance.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddBalance.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddBalance.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddBalance.TabIndex = 1151;
this.btnAddBalance.Text = "充值";
this.btnAddBalance.Visible = false;
this.btnAddBalance.Click += new System.EventHandler(this.btnAddBalance_Click);
//
// numericUpDown1
//
this.numericUpDown1.DecimalPlaces = 2;
this.numericUpDown1.Location = new System.Drawing.Point(116, 452);
this.numericUpDown1.Maximum = new decimal(new int[] {
100000,
0,
0,
0});
this.numericUpDown1.Minimum = new decimal(new int[] {
1,
0,
0,
131072});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(66, 23);
this.numericUpDown1.TabIndex = 1149;
this.numericUpDown1.Value = new decimal(new int[] {
1,
0,
0,
131072});
this.numericUpDown1.Visible = false;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(33, 455);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(92, 17);
this.label2.TabIndex = 1150;
this.label2.Text = "余额充值金额:";
this.label2.Visible = false;
//
// WXGetTopUpQrCode
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(800, 522);
this.Controls.Add(this.btnAddBalance);
this.Controls.Add(this.numericUpDown1);
this.Controls.Add(this.label2);
this.Controls.Add(this.btnAddPoints);
this.Controls.Add(this.numAddTopUp);
this.Controls.Add(this.label8);
this.Controls.Add(this.pbLoading);
this.Controls.Add(this.btnRefresh);
this.Controls.Add(this.pictureBox1);
@@ -106,7 +239,10 @@ namespace TemuKJD.WXForms.ShopForms
this.Load += new System.EventHandler(this.WXGetTopUpQrCode_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numAddTopUp)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
@@ -115,5 +251,11 @@ namespace TemuKJD.WXForms.ShopForms
private System.Windows.Forms.PictureBox pictureBox1;
private DevComponents.DotNetBar.PanelEx btnRefresh;
private System.Windows.Forms.PictureBox pbLoading;
private System.Windows.Forms.NumericUpDown numAddTopUp;
private System.Windows.Forms.Label label8;
private DevComponents.DotNetBar.PanelEx btnAddPoints;
private DevComponents.DotNetBar.PanelEx btnAddBalance;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.Label label2;
}
}
@@ -3,12 +3,15 @@ using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using TemuKJD.KJDForms.ShopForms;
using Work;
using Work.BLL.Tools;
@@ -60,6 +63,27 @@ namespace TemuKJD.WXForms.ShopForms
{
Task.Run(() => { refreshQrcode(); });
}
private void btnAddPoints_Click(object sender, EventArgs e)
{
try
{
Process.Start(new ProcessStartInfo("https://excashier.alipay.com/standard/auth.htm?payOrderId=5afc56d40af64001ad2a486cce1ca579.25") { UseShellExecute = true });
}
catch (Exception ex)
{
// 处理可能出现的异常,例如找不到浏览器等
MessageBox.Show("无法打开浏览器: " + ex.Message);
}
}
private void btnAddBalance_Click(object sender, EventArgs e)
{
ShopLoginForm loginForm = new ShopLoginForm(new AllBase.Model.Result.ShopLoginInfo());
loginForm.InitUrl = "https://excashier.alipay.com/standard/auth.htm?payOrderId=5afc56d40af64001ad2a486cce1ca579.25";
loginForm.openType = KJDForms.ShopForms.EnumOpenType.manage;
loginForm.ShowDialog();
}
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,508 @@
using AllBase;
using AllBase.Helper;
using AllBase.Model.Result;
using NaiBa.Util.Extension;
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;
using TemuKJD.BLL;
using TemuKJD.Extension;
using Work;
namespace TemuKJD.WXForms.ShopForms
{
public partial class WXOemAccountForm
: BaseForm
{
public static List<UserSubAccountInfo> AllUsers { get; set; } = new List<UserSubAccountInfo>();
public MainForm Mf { get; set; } = null;
public string Uid { get; set; } = "";
public WXOemAccountForm()
{
InitializeComponent();
}
private void btnOpUser_Click(object sender, EventArgs e)
{
if (txtPassword.Text != txtRePass.Text)
{
BaseMsgForm.ShowInfo("两次密码不正确", "提示");
return;
}
if (btnOpUser.Text == "添加用户" && txtPassword.Text.Length < 6)
{
BaseMsgForm.ShowInfo("密码最少6位", "提示");
return;
}
if (string.IsNullOrEmpty(txtNickName.Text) || string.IsNullOrEmpty(txtMobile.Text) ||
txtMobile.Text.Length != 11)
{
BaseMsgForm.ShowInfo("信息不正确", "提示");
return;
}
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&add_nick_name=" + GetHtml.UrlEncodeUtf8(txtNickName.Text));
data.Append("&add_user_name=" + GetHtml.UrlEncodeUtf8(txtMobile.Text));
data.Append("&add_mobile=" + GetHtml.UrlEncodeUtf8(txtMobile.Text));
data.Append("&add_company=" + GetHtml.UrlEncodeUtf8(txtCompany.Text));
data.Append("&oem_id=" + GetHtml.UrlEncodeUtf8(BaseClass.OemId.Trim()));
if (!string.IsNullOrEmpty(txtPassword.Text))
data.Append("&add_password=" + Md5Base.GetMd5(txtPassword.Text).ToLower());
// 主账户
data.Append("&group_id=3");
string url = BaseClass.BuildObjString("user/add_user");
if (btnOpUser.Text != "添加用户" && !string.IsNullOrEmpty(Uid))
{
data.Append("&id=" + Uid);
url = BaseClass.BuildObjString("user/update_user");
}
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!string.IsNullOrEmpty(html))
{
if (html.Contains("\"code\":200"))
{
btnOpUser.Text = "添加用户";
EmptyInput();
btnCancel.Visible = false;
GetUser();
return;
}
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
BaseMsgForm.ShowError("出现异常,添加失败", "错误");
}
private void GetUser()
{
dgvUser.Rows.Clear();
AllUsers.Clear();
if (BaseClass.OemId.IsNullOrEmpty() || BaseClass.IsOemOwner == false)
return;
string url = BaseClass.BuildObjString("user/get_all_user");
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
// 主账户
data.Append("&group_id=3");
data.Append("&oem_id=" + BaseClass.OemId);
if (!string.IsNullOrWhiteSpace(txtSearch.Text))
data.Append("&search=" + txtSearch.Text.Replace("'","'"));
string html = GetHtml.PostUtf8(url, data.ToString());
if (string.IsNullOrEmpty(html))
return;
if (html.Contains("\"data\""))
{
var userObj = Newtonsoft.Json.Linq.JObject.Parse(html);
foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"])
{
string oStr = JsonHelper.SerializeObject(obj);
UserSubAccountInfo user = new UserSubAccountInfo();
user.id = BaseRegex.GetIntJson(ref oStr, "id");
user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name");
user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name");
user.mobile = BaseRegex.GetStringJson(ref oStr, "mobile");
user.group_id = BaseRegex.GetStringJson(ref oStr, "group_id");
user.shop_count = BaseRegex.GetIntJson(ref oStr, "shop_count");
user.company_name = BaseRegex.GetStringJson(ref oStr, "company_name");
user.sa_level = BaseRegex.GetIntJson(ref oStr, "sa_level");
user.authority = BaseRegex.GetStringJson(ref oStr, "authority");
user.points = BaseRegex.GetIntJson(ref oStr, "points");
user.balance = BaseRegex.GetDecimalJson(ref oStr, "balance");
user.shop_points_per_month = BaseRegex.GetIntJson(ref oStr, "shop_points_per_month");
user.postage_per_order = BaseRegex.GetDecimalJson(ref oStr, "postage_per_order");
user.oem_id = BaseRegex.GetStringJson(ref oStr, "oem_id");
user.oem_name = BaseRegex.GetStringJson(ref oStr, "oem_name");
var parent_user_name = BaseRegex.GetStringJson(ref oStr, "parent_user_name");
AllUsers.Add(user);
dgvUser.Rows.Add(
false,
user.id,
user.nick_name,
user.user_name,
parent_user_name,
user.group_id,
user.group_name,
user.company_name,
user.shop_count,
user.sa_level,
user.sa_level_name /*+ (user.group_id == "4" ? "(客服)" : "")*/,
user.authority,
user.oem_id,
user.oem_name,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.points : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "+" : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.shop_points_per_month : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "改" : null,
user.balance.ParseToDecimal(),
"+",
Math.Max(2.2m, user.postage_per_order.ParseToDecimal()),
(user.group_id == "3") ? "改" : null,
user.group_id == "3" ? "添加店铺" : "",
"编辑",
"删除");
}
}
}
private void btnCancel_Click(object sender, EventArgs e)
{
btnOpUser.Text = "添加用户";
Uid = "";
EmptyInput();
btnCancel.Visible = false;
}
private void EmptyInput()
{
txtNickName.Clear();
txtPassword.Clear();
txtRePass.Clear();
txtMobile.Clear();
txtCompany.Clear();
}
private void btnRefresh_Click(object sender, EventArgs e)
{
GetUser();
}
private void dgvUser_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string columText = dgvUser.Columns[e.ColumnIndex].HeaderText;
string columName = dgvUser.Columns[e.ColumnIndex].Name;
string uid = dgvUser.Rows[e.RowIndex].Cells["UseridColumn"].Value.ToString();
string nickName = dgvUser.Rows[e.RowIndex].Cells["UserNickNameColumn"].Value.ToString();
string mobile = dgvUser.Rows[e.RowIndex].Cells["mobileColumn"].Value.ToString();
string groupName = dgvUser.Rows[e.RowIndex].Cells["groupNameColumn"].Value.ToString();
string company = dgvUser.Rows[e.RowIndex].Cells["colCompany"].Value.ToString();
string saLevelName = dgvUser.Rows[e.RowIndex].Cells["colSaLevelName"].Value.ToString();
string authority = dgvUser.Rows[e.RowIndex].Cells["colAuthority"].Value.ParseToString();
int shopPointsPerMonth = dgvUser.Rows[e.RowIndex].Cells["colShopPointsPerMonth"].Value.ParseToInt();
decimal postagePerOrder = dgvUser.Rows[e.RowIndex].Cells["colPostagePerOrder"].Value.ParseToDecimal();
var row = dgvUser.Rows[e.RowIndex];
if (columText == "编辑")
{
Uid = uid;
txtNickName.Text = nickName;
txtMobile.Text = mobile;
txtPassword.Text = "";
txtRePass.Text = "";
txtCompany.Text = company;
btnOpUser.Text = "保存用户";
btnCancel.Visible = true;
}
if (columText == "删除")
{
if (BaseMsgForm.ShowConfirm("是否删除,删除后无法再次添加", "提示").DialogResult == DialogResult.OK)
{
Delete(uid);
}
}
if (columText == "+")
{
if (columName == "colPlus")
{
this.lblUserInfo.Text = mobile + " - " + nickName;
this.numAddTopUp.Value = 0;
this.pnlTopUp.Tag = row;
this.pnlTopUp.Visible = true;
this.pnlTopUp.BringToFront();
}
if (columName == "colBalancePlus")
{
this.lblUserBalanceInfo.Text = mobile + " - " + nickName;
this.numAddBalance.Value = 0;
this.pnlBalance.Tag = row;
this.pnlBalance.Visible = true;
this.pnlBalance.BringToFront();
}
}
if (columText == "改")
{
if (columName == "colChangePointsPerMonth")
{
this.lblShopPointsPerMonthUserInfo.Text = mobile + " - " + nickName;
this.numShopPointsPerMonth.Value = shopPointsPerMonth;
this.pnlShopPointsPerMonth.Tag = row;
this.pnlShopPointsPerMonth.Visible = true;
this.pnlShopPointsPerMonth.BringToFront();
this.lblShopPointsPerMonthUserId.Text = uid;
}
if (columName == "colChangePostagePerOrder")
{
this.lblPostagePerOrderUserInfo.Text = mobile + " - " + nickName;
this.numPostagePerOrder.Value = postagePerOrder;
this.pnlPostagePerOrder.Tag = row;
this.pnlPostagePerOrder.Visible = true;
this.pnlPostagePerOrder.BringToFront();
this.lblPostagePerOrderUserId.Text = uid;
}
}
if (columText == "")
row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
}
public void Delete(string uid)
{
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&id=" + uid);
string url = BaseClass.BuildObjString("user/delete_user");
string html = GetHtml.PostUtf8(url, data.ToString());
if (!string.IsNullOrEmpty(html))
{
if (html.Contains("\"code\":200"))
{
BaseMsgForm.ShowInfo("删除成功", "提示");
GetUser();
return;
}
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
BaseMsgForm.ShowError("返回异常", "错误");
}
private void MainAccountForm_VisibleChanged(object sender, EventArgs e)
{
if (this.Visible)
{
GetUser();
}
}
private void MainAccountForm_Load(object sender, EventArgs e)
{
this.dgvUser.AddSelectorColumn("colCheck");
pnlShopPointsPerMonth.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
pnlBalance.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
pnlPostagePerOrder.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
this.txtSearch.GotFocus += TxtSearch_GotFocus;
this.txtSearch.LostFocus += TxtSearch_LostFocus;
this.dgvUser.AddMergeColumn(new List<string> { "colPoints", "colPlus" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colPoints", "colPlus" }, "积分点数");
this.dgvUser.AddMergeColumn(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" }, "月费耗点");
this.dgvUser.AddMergeColumn(new List<string> { "colBalance", "colBalancePlus" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colBalance", "colBalancePlus" }, "快递余额");
this.dgvUser.AddMergeColumn(new List<string> { "colPostagePerOrder", "colChangePostagePerOrder" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colPostagePerOrder", "colChangePostagePerOrder" }, "每单快递费");
}
private void TxtSearch_LostFocus(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.txtSearch.Text))
lblWatermark.Visible = true;
}
private void TxtSearch_GotFocus(object sender, EventArgs e)
{
lblWatermark.Visible = false;
}
private void lblWatermark_Click(object sender, EventArgs e)
{
this.txtSearch.Focus();
this.lblWatermark.Visible = false;
}
private void btnExportShopErp_Click(object sender, EventArgs e)
{
foreach (var user in AllUsers)
{
//if (user.group_id != "3")
// continue;
//string prodDataStr = "{\"userName\":\"15288888888\",\"password\":\"Andy@1984\",\"phonenumber\":\"15288888888\",\"status\": \"0\",\"remark\":\"a15288888888.\",\"roleIds\":[\"5\"]}";
//prodDataStr = "{\"userName\":\"" + user.user_name + "\",\"password\":\"" + user.user_name + "\",\"phonenumber\":\"" + user.mobile +
// "\",\"status\": \"0\",\"nickName\":\"" + user.nick_name + "\",\"roleIds\":[\"5\"]}";
//string url = "https://po.e57.cn/prod-api/api/sys-api/system/user";
//var exportRst = WXHttpResponseBLL.e57PostResponse(url, prodDataStr, "", "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjFlODI2ZjNiLTFhMzItNDEwOS04ODlmLTIzYmEwOTUyMDYxYiJ9.L68qzzZZxaQoxrUeB8pBt4TWB7UbTwHkxlmQduzy-VEFkBI4oxtj4VrH-2yJpSD--ZdM-5Wm3VtTvy57nMaFMQ");
//Thread.Sleep(500);
//if (!exportRst.Contains("\"code\":200"))
//{
//}
}
}
private void pnlCancel_Click(object sender, EventArgs e)
{
pnlTopUp.Visible = false;
}
private void btnTopUpOK_Click(object sender, EventArgs e)
{
var userName = lblUserInfo.Text.Split('-')[0].Trim();
var userNick = lblUserInfo.Text.Split('-')[1].Trim();
string url = BaseClass.BuildObjString("user/update_user_points");
string data = UserLogin.GetSignaturex();
data += "&update_user_name=" + userName;
data += "&update_user_nick=" + userNick;
data += "&option_type=转移";
data += "&operator_type=代理商";
data += "&operator_name=" + BaseClass.UserName;
data += "&operator_nick=" + BaseClass.NickName;
data += "&delta_points=" + numAddTopUp.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
BaseMsgForm.ShowError(msg);
return;
}
BaseClass.Points = BaseRegex.GetIntJson(ref html, "newOperatorPoints");
MainForm.instance.lblPoints.Text = "账户积分:" + BaseClass.Points;
var operatorRow = this.dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["mobileColumn"].Value.ParseToString() == BaseClass.UserName);
if (operatorRow != null)
operatorRow.Cells["colPoints"].Value = BaseClass.Points;
var newUserPoints = BaseRegex.GetIntJson(ref html, "newUserPoints");
var row = this.dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["mobileColumn"].Value.ParseToString() == userName);
if (row != null)
{
row.Cells["colPoints"].Value = newUserPoints;
}
pnlTopUp.Visible = false;
BaseMsgForm.ShowInfo("充值成功");
}
private void btnShopPointsPerMonth_Click(object sender, EventArgs e)
{
if (updateShopPointsPerMonth(lblShopPointsPerMonthUserId.Text))
{
pnlShopPointsPerMonth.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
}
}
public bool updateShopPointsPerMonth(string userDbId, bool showFailBox = true)
{
string url = BaseClass.BuildObjString("user/update_user");
string data = UserLogin.GetSignaturex();
data += "&id=" + userDbId;
data += "&shop_points_per_month=" + numShopPointsPerMonth.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
if (showFailBox)
{
Invoke(new Action(() => { BaseMsgForm.ShowError(msg); }));
}
return false;
}
var row = dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["UserIdColumn"].Value.ParseToString() == userDbId);
if (row != null)
{
Invoke(new Action(() => { row.Cells["colShopPointsPerMonth"].Value = numShopPointsPerMonth.Value; }));
}
return true;
}
private void btnShopPointsPerMonthCancel_Click(object sender, EventArgs e)
{
pnlShopPointsPerMonth.Visible = false;
}
private void btnChangeBalanceOK_Click(object sender, EventArgs e)
{
string url = BaseClass.BuildObjString("user/update_user_balance");
string data = UserLogin.GetSignaturex();
data += "&update_user_name=" + lblUserBalanceInfo.Text.Split('-')[0].Trim();
data += "&update_user_nick=" + lblUserBalanceInfo.Text.Split('-')[1].Trim();
data += "&option_type=" + "充值";
data += "&operator_name=" + BaseClass.UserName;
data += "&delta_balance=" + numAddBalance.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
BaseMsgForm.ShowError(msg);
return;
}
var row = pnlBalance.Tag as DataGridViewRow;
if (row != null)
{
row.Cells["colBalance"].Value = row.Cells["colBalance"].Value.ParseToDecimal() + numAddBalance.Value;
}
pnlBalance.Visible = false;
BaseMsgForm.ShowInfo("充值成功");
}
private void btnChangeBalanceCancel_Click(object sender, EventArgs e)
{
pnlBalance.Visible = false;
}
private void btnPostagePerOrder_Click(object sender, EventArgs e)
{
if (updatePostagePerOrder(lblPostagePerOrderUserId.Text))
{
pnlPostagePerOrder.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
}
}
public bool updatePostagePerOrder(string userDbId, bool showFailBox = true)
{
string url = BaseClass.BuildObjString("user/update_user");
string data = UserLogin.GetSignaturex();
data += "&id=" + userDbId;
data += "&postage_per_order=" + numPostagePerOrder.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
if (showFailBox)
{
Invoke(new Action(() => { BaseMsgForm.ShowError(msg); }));
}
return false;
}
var row = dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["UserIdColumn"].Value.ParseToString() == userDbId);
if (row != null)
{
Invoke(new Action(() => { row.Cells["colPostagePerOrder"].Value = numPostagePerOrder.Value; }));
}
return true;
}
private void btnPostagePerOrderCancel_Click(object sender, EventArgs e)
{
pnlPostagePerOrder.Visible = false;
}
}
}
@@ -0,0 +1,192 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="UserIdColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="UserNickNameColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="mobileColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colParentUserName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupIdColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupNameColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCompany.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="shopCountColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colSaLevel.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colSaLevelName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colAuthority.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOemId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOemName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPoints.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPlus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopPointsPerMonth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colChangePointsPerMonth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colBalance.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colBalancePlus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPostagePerOrder.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colChangePostagePerOrder.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="editColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="deleteColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
+25 -17
View File
@@ -30,17 +30,21 @@
{
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("店铺列表");
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("子账号管理");
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("店铺地址管理");
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("店铺经营统计");
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("评分考核");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("充值二维码");
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] {
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("OEM账号管理");
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("店铺地址管理");
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("店铺经营统计");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("评分考核");
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("税务申报");
System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("充值二维码");
System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
treeNode3,
treeNode4,
treeNode5,
treeNode6});
treeNode6,
treeNode7,
treeNode8});
this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
@@ -136,18 +140,22 @@
treeNode1.Text = "店铺列表";
treeNode2.Name = "子账号管理";
treeNode2.Text = "子账号管理";
treeNode3.Name = "店铺地址管理";
treeNode3.Text = "店铺地址管理";
treeNode4.Name = "店铺经营统计";
treeNode4.Text = "店铺经营统计";
treeNode5.Name = "评分考核";
treeNode5.Text = "评分考核";
treeNode6.Name = "充值二维码";
treeNode6.Text = "充值二维码";
treeNode7.Name = "店铺管理";
treeNode7.Text = "店铺管理";
treeNode3.Name = "OEM账号管理";
treeNode3.Text = "OEM账号管理";
treeNode4.Name = "店铺地址管理";
treeNode4.Text = "店铺地址管理";
treeNode5.Name = "店铺经营统计";
treeNode5.Text = "店铺经营统计";
treeNode6.Name = "评分考核";
treeNode6.Text = "评分考核";
treeNode7.Name = "税务申报";
treeNode7.Text = "税务申报";
treeNode8.Name = "充值二维码";
treeNode8.Text = "充值二维码";
treeNode9.Name = "店铺管理";
treeNode9.Text = "店铺管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode7});
treeNode9});
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.tv.Size = new System.Drawing.Size(140, 461);
this.tv.TabIndex = 1;
+14 -1
View File
@@ -14,6 +14,7 @@ using TemuKJD.BaseForms;
using TemuKJD.KJDForms.ProductSelectForms;
using TemuKJD.KJDForms.ProductThirdSelectForms;
using TemuKJD.KJDForms.ShopForms.Statistics;
using NaiBa.Util.Extension;
namespace TemuKJD.WXForms.ShopForms
{
@@ -24,9 +25,11 @@ namespace TemuKJD.WXForms.ShopForms
public Lazy<WXShopListForm> shopListForm = new Lazy<WXShopListForm>();
public Lazy<WXSubAccountListForm> sbuAccountForm = new Lazy<WXSubAccountListForm>();
public Lazy<WxShopStatisticsForm> shopStatisticsForm = new Lazy<WxShopStatisticsForm>();
public Lazy<WXTaxManage> taxManageForm = new Lazy<WXTaxManage>();
public Lazy<WXShopOptimizeForm> shopOptimizeForm = new Lazy<WXShopOptimizeForm>();
public Lazy<WXShopDefaultAddressListForm> shopAfterSaleAddressListForm = new Lazy<WXShopDefaultAddressListForm>();
public Lazy<WXGetTopUpQrCode> getTopUpQrCode = new Lazy<WXGetTopUpQrCode>();
public Lazy<WXOemAccountForm> oemAccountForm = new Lazy<WXOemAccountForm>();
public WXShopForm()
@@ -54,7 +57,7 @@ namespace TemuKJD.WXForms.ShopForms
public List<string> getHideTreeNodes()
{
List<string> hideNames = new List<string>() { "充值二维码", "店铺地址管理", "评分考核", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
List<string> hideNames = new List<string>() { "OEM账号管理", "充值二维码", "店铺地址管理", "评分考核", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
if (BaseClass.SaLevel == 1)
{
@@ -74,6 +77,10 @@ namespace TemuKJD.WXForms.ShopForms
{
hideNames.Remove("充值二维码");
}
if (!BaseClass.OemId.IsNullOrEmpty() && BaseClass.IsOemOwner)
{
hideNames.Remove("OEM账号管理");
}
foreach (var forbiddenPage in BaseClass.ForbiddenPage.Split(','))
{
@@ -112,6 +119,9 @@ namespace TemuKJD.WXForms.ShopForms
case "店铺经营统计":
SetForm(shopStatisticsForm.Value);
break;
case "税务申报":
SetForm(taxManageForm.Value);
break;
case "店铺地址管理":
SetForm(shopAfterSaleAddressListForm.Value);
break;
@@ -121,6 +131,9 @@ namespace TemuKJD.WXForms.ShopForms
case "充值二维码":
SetForm(getTopUpQrCode.Value);
break;
case "OEM账号管理":
SetForm(oemAccountForm.Value);
break;
}
}));
}).Start();
File diff suppressed because it is too large. Load diff
+850
View File
@@ -0,0 +1,850 @@
using AllBase;
using AllBase.Helper;
using AllBase.Model.Config;
using AllBase.Model.Param.WXParam;
using AllBase.Model.Result;
using AllBase.Model.Result.PDDResult;
using AllBase.Model.Result.WXResult;
using CefSharp;
using CefSharp.WinForms;
using NaiBa.CefHelper;
using NaiBa.CefHelper.Handler;
using NaiBa.Util;
using NaiBa.Util.Extension;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using TemuKJD.BLL;
using TemuKJD.Extension;
using TemuKJD.Helper;
using TemuKJD.PDDForms.ProductSelectForms;
using TemuKJD.ToolForms;
using TemuKJD.WXForms.ShopForms;
using Work;
using static TemuKJD.WXForms.ShopForms.WXTaxManage;
namespace TemuKJD.WXForms.ShopForms
{
public partial class WXTaxManage : BaseForm
{
public CancellationTokenSource cancellationTokenSource { get; set; } = null;
public bool IsLoadComplate { get; set; } = false;
CheckBox chkSelectAll = null;
ConcurrentList<WxTaxMoneyInfo> lstWxTaxMoneyInfo = new ConcurrentList<WxTaxMoneyInfo>();
public WXTaxManage()
{
InitializeComponent();
}
private void UserSelectDbProductForm_Load(object sender, EventArgs e)
{
this.splitContainer1.Dock = DockStyle.Fill;
chkSelectAll = dgvShop.Columns["colSelect"].AddHeaderCheckBox(HorizontalAlignment.Center, 0, 0, null, null, false);
dgvShop.Columns["colSelect"].HeaderText = "";
chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged;
this.dgvTaxMoney.AddSelectorColumn("colCheck");
//dgvTaxMoney.AddImgColumn("colLiveObjectImg", "colLiveObjectImgUrl");
//dgvTaxMoney.AddImgColumn("colDgvProdImg", "colDgvProdImgUrl");
dtpTimeBegin.Value = DateTime.Now.Date.AddDays(-7);
dtpTimeEnd.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
IsLoadComplate = true;
}
private void chkSelectAll_CheckedChanged(object sender, EventArgs e)
{
if (!chkSelectAll.Checked)
{
foreach (DataGridViewRow row in dgvShop.Rows)
{
row.Cells["colSelect"].Value = false;
}
}
else
{
//var list = GlobalConfig.ValidShopLoginList.Where(s => s.LoginStatus == "登录成功").Select(ss => ss.ShopId);
foreach (DataGridViewRow row in dgvShop.Rows)
{
//if (list.Any(l => l == row.Cells["colShopId"]?.Value?.ToString()))
if (row.Visible == true)
row.Cells["colSelect"].Value = true;
}
}
}
private void btnRefreshShop_Click(object sender, EventArgs e)
{
pbLoadingShop.Visible = true;
RefreshShopLogin();
}
private void UserSelectDbProductForm_VisibleChanged(object sender, EventArgs e)
{
if (Visible == true)
{
RefreshShopLogin();
}
}
private void RefreshShopLogin()
{
// 店铺Id
var selectIds = dgvShop.Rows.Cast<DataGridViewRow>().Where(row
=> row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
// 获取被删除的店铺
List<DataGridViewRow> dgvRowList = dgvShop.Rows.Cast<DataGridViewRow>().Where(row
=> !GlobalConfig.ValidShopLoginList.Any(s => s.ShopId == row.Cells["colShopId"]?.Value?.ToString())).ToList();
// 更新被删除的店铺列表
foreach (var row in dgvRowList)
{
dgvShop.Rows.Remove(row);
}
// 绑定其他店铺(含新导入的店铺)
foreach (ShopLoginInfo shopEntity in GlobalConfig.ValidShopLoginList)
{
if (!string.IsNullOrEmpty(shopEntity.ShopId))
BindShop(shopEntity, selectIds);
}
cmbFilterShopNotes.Items.Clear();
foreach (var note in GlobalConfig.ValidShopLoginList.Select(s => s.Notes).Where(s => !s.IsNullOrEmpty()).Distinct())
{
cmbFilterShopNotes.Items.Add(note);
}
cmbFilterShopGroup.Items.Clear();
foreach (var group in GlobalConfig.ValidShopLoginList.Select(s => s.GroupName).Where(s => !s.IsNullOrEmpty()).Distinct())
{
cmbFilterShopGroup.Items.Add(group);
}
pbLoadingShop.Visible = false;
}
private void BindShop(ShopLoginInfo shopEntity, List<string> selectShopId = null, string msg = "")
{
if (shopEntity == null)
return;
if (shopEntity.is_point_shop_expire)
return;
if (selectShopId == null)
selectShopId = new List<string>();
bool canUse = shopEntity.LoginStatus == "登录成功";
//canUse = true; // 内部库不需要校验登录状态
var row = dgvShop.Rows.Cast<DataGridViewRow>().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId);
var day = DateTime.Now.ToString("yyyyMMdd").ParseToInt();
if (row == null)
{
this.dgvShop.Rows.Add(
false, //dgvShop.Rows.Count == 0 ? true : (selectShopId.Contains(shopEntity.ShopId) && canUse),
shopEntity.LoginName,
shopEntity.ShopId,
shopEntity.ShopAccount,
shopEntity.Notes,
shopEntity.GroupName,
"选择商品",
canUse ? "在线" : "掉线",
GlobalConfig.lstWxShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期",
canUse,
GlobalConfig.dicWxShopUploadInfo.ContainsKey(shopEntity.ShopId) ? GlobalConfig.dicWxShopUploadInfo[shopEntity.ShopId].DicDayUploadCount[day] : 0,
GlobalConfig.dicWxShopUploadInfo.ContainsKey(shopEntity.ShopId) ? GlobalConfig.dicWxShopUploadInfo[shopEntity.ShopId].OnSaleCount : 0,
shopEntity.AddProductRemaining,
msg
);
}
else
{
row.Cells["colSelect"].Value = selectShopId.Contains(shopEntity.ShopId) && canUse;
row.Cells["colShopLoginName"].Value = shopEntity.LoginName;
row.Cells["colShopName"].Value = shopEntity.ShopAccount;
row.Cells["colShopNotes"].Value = shopEntity.Notes;
row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线";
row.Cells["colLoginStatus"].Style.ForeColor = canUse ? Color.Green : Color.Red;
row.Cells["colCanUse"].Value = canUse;
row.Cells["colApi"].Value = GlobalConfig.lstWxShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期";
row.Cells["colRemaining"].Value = shopEntity.AddProductRemaining;
row.Cells["colUploadCount"].Value = GlobalConfig.dicWxShopUploadInfo.ContainsKey(shopEntity.ShopId) ? GlobalConfig.dicWxShopUploadInfo[shopEntity.ShopId].DicDayUploadCount[day] : 0;
row.Cells["colOnSaleNum"].Value = GlobalConfig.dicWxShopUploadInfo.ContainsKey(shopEntity.ShopId) ? GlobalConfig.dicWxShopUploadInfo[shopEntity.ShopId].OnSaleCount : 0;
row.Cells["colMessage"].Value = msg;
}
displayAuthStatus(shopEntity);
}
void displayAuthStatus(ShopLoginInfo shop)
{
var rows = this.dgvShop.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colShopId"].Value.ParseToString() == shop?.ShopId);
foreach (var row in rows)
{
bool canUse = row.Cells["colLoginStatus"].Value.ParseToString() == "在线";
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red;
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red;
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed;
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed;
canUse = row.Cells["colApi"].Value.ParseToString() == "可用";
(row.Cells["colApi"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red;
(row.Cells["colApi"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red;
(row.Cells["colApi"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed;
(row.Cells["colApi"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed;
}
}
private void dgvShop_CellClick(object sender, DataGridViewCellEventArgs e)
{
//if (e.ColumnIndex < 0 || e.RowIndex < 0)
// return;
//string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText;
//string columnName = dgvShop.Columns[e.ColumnIndex].Name;
//string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString();
//string shopAccount = dgvShop.Rows[e.RowIndex].Cells["colShopName"].Value.ToString();
//var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId.ToString());
//var row = dgvShop.Rows[e.RowIndex];
//foreach(DataGridViewRow r in dgvShop.Rows)
//{
// if (r == row)
// continue;
// if (r.Cells["colSelect"].Value.ParseToBool() == true)
// r.Cells["colSelect"].Value = false;
//}
//row.Cells["colSelect"].Value = true;
}
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText;
string columnName = dgvShop.Columns[e.ColumnIndex].Name;
string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString();
string shopAccount = dgvShop.Rows[e.RowIndex].Cells["colShopName"].Value.ToString();
var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId.ToString());
var row = dgvShop.Rows[e.RowIndex];
switch (columnName)
{
case "colSelect":
////if (row.Cells["colCanUse"].Value.ParseToBool())
//{
// row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
// chkSelectAll.CheckedChanged -= chkSelectAll_CheckedChanged;
// if (dgvShop.Rows.Cast<DataGridViewRow>().All(r => r.Cells["colSelect"].Value.ParseToBool()))
// chkSelectAll.Checked = true;
// else
// chkSelectAll.Checked = false;
// chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged;
//}
////else
////{
//// //BaseMsgForm.ShowInfo("店铺未登录!");
////}
//dicCheckedShopId[row.Cells["colShopId"].Value.ParseToString()] = row.Cells["colSelect"].Value.ParseToBool();
row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
break;
case "colLoginStatus":
{
if (WXShopListForm.Instance == null)
WXShopListForm.Instance = new WXShopListForm();
WXShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false);
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
//shopLoginForm.prodUserSelectForm = this;
if (shop.LoginStatus != "登录成功")
{
shopLoginForm.openType = EnumOpenType.login;
shopLoginForm.ShowDialog();
RefreshShopLogin();
}
else
{
shopLoginForm.openType = EnumOpenType.manage;
shopLoginForm.WindowState = FormWindowState.Maximized;
shopLoginForm.Show();
}
}
break;
case "colApi":
{
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
shopLoginForm.openType = EnumOpenType.manage;
shopLoginForm.WindowState = FormWindowState.Maximized;
shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/servicemarket/detail?serviceId=3984039898079707139";
shopLoginForm.Show();
}
break;
}
}
private void btnStop_Click(object sender, EventArgs e)
{
if (this.cancellationTokenSource != null)
this.cancellationTokenSource.Cancel();
}
private void btnSearchOrderLst_Click(object sender, EventArgs e)
{
var selectRows = dgvShop.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colSelect"].Value.ParseToBool() == true).ToList();
if (selectRows.Count == 0)
{
BaseMsgForm.ShowError("请选择店铺");
return;
}
pictureBox1.Visible = true;
this.btnExport.Enabled = false;
this.btnSearch.Enabled = false;
Task.Run(() => {
Thread.Sleep(5000);
Invoke(new Action(() =>
{
this.btnExport.Enabled = true;
this.btnSearch.Enabled = true;
}));
});
dgvTaxMoney.Rows.Clear();
lstWxTaxMoneyInfo.Clear();
var createTimeBegin = 0;
if (chkTimeBegin.Checked)
createTimeBegin = BaseClass.DateTimeToTimestampSeconds(dtpTimeBegin.Value.Date);
var createTimeEnd = BaseClass.DateTimeToTimestampSeconds(DateTime.Now.Date.AddDays(1).AddSeconds(-1));
if (chkTimeEnd.Checked)
createTimeEnd = BaseClass.DateTimeToTimestampSeconds(dtpTimeEnd.Value.Date.AddDays(1).AddSeconds(-1));
enumOrderSettleState orderSettleState = enumOrderSettleState.全部;
if (cmbOrderSettleState.Text == "无需结算")
orderSettleState = enumOrderSettleState.无需结算;
if (cmbOrderSettleState.Text == "已结算")
orderSettleState = enumOrderSettleState.已结算;
if (cmbOrderSettleState.Text == "待结算")
orderSettleState = enumOrderSettleState.待结算;
if (cmbOrderSettleState.Text == "部分结算")
orderSettleState = enumOrderSettleState.部分结算;
enumSearchOrderState orderState = enumSearchOrderState.全部;
if (cmbOrderState.Text == "已完成")
orderState = enumSearchOrderState.已完成;
if (cmbOrderState.Text == "已取消")
orderState = enumSearchOrderState.已取消;
if (cmbOrderState.Text == "已发货")
orderState = enumSearchOrderState.已发货;
if (cmbOrderState.Text == "待发货")
orderState = enumSearchOrderState.待发货;
enumOrderPayMethod orderPayMethod = enumOrderPayMethod.全部;
if (cmbOrderPayMethod.Text == "微信支付")
orderPayMethod = enumOrderPayMethod.微信支付;
if (cmbOrderPayMethod.Text == "先付后用")
orderPayMethod = enumOrderPayMethod.先付后用;
if (cancellationTokenSource != null)
cancellationTokenSource.Cancel();
cancellationTokenSource = new CancellationTokenSource();
Task.Run(() =>
{
int num = 0;
foreach (var row in selectRows)
{
num++;
Invoke(new Action(() =>
{
this.statusBar.lblTaskStatus.Text = "店铺订单流水查询 第 " + num + " 个店铺,共 " + selectRows.Count + " 个店铺";
row.Cells["colMessage"].Value = "";
}));
if (this.cancellationTokenSource.IsCancellationRequested)
break;
var shopId = row.Cells["colShopId"].Value.ParseToString();
var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
if (shop != null)
{
// 短视频带货
//if (chkFeed.Checked)
{
int page = 0;
int pageSize = 20;
while (true)
{
if (this.cancellationTokenSource.IsCancellationRequested)
break;
page++;
var getTaxMoneyRst = WXTaxBLL.getListOrderFlow(shop, page, orderSettleState.ParseToInt(), orderState.ParseToInt(), orderPayMethod.ParseToInt(), createTimeBegin, createTimeEnd);
Thread.Sleep(Randomx.GetId(300, 600));
if (!getTaxMoneyRst.ParseToString().Contains("\"code\":0"))
{
var error = BaseRegex.GetStringJsonByRegs(ref getTaxMoneyRst, getTaxMoneyRst, "errmsg");
if (error.ParseToString().Contains("biz magic invalid"))
{
shop.LoginStatus = "未登录";
var selectIds = dgvShop.Rows.Cast<DataGridViewRow>().Where(r
=> r.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
Invoke(new Action(() => { BindShop(shop, selectIds, "店铺掉线"); }));
error = "店铺掉线";
}
Invoke(new Action(() =>
{
row.Cells["colMessage"].Value = "店铺流水查询失败 " + error;
}));
break;
}
var wxTaxMoneyList = JsonHelper.DeserializeJsonToList<WxTaxMoneyInfo>(JsonHelper.JObjectParse(getTaxMoneyRst)["dataList"].ParseToString());
if (wxTaxMoneyList == null)
wxTaxMoneyList = new List<WxTaxMoneyInfo>();
this.lstWxTaxMoneyInfo.AddRange(wxTaxMoneyList);
foreach (var tax in wxTaxMoneyList)
{
Invoke(new Action(() =>
{
//if (prod.spuMonthSales.ParseToInt() >= txtSaleCount.Text.Trim().ParseToInt() &&
// !dgvDaRenProd.Rows.Cast<DataGridViewRow>().Any(r => r.Cells["colTalentSpuId"].Value.ParseToString() == prod.spuId))
{
var rowIndex = dgvTaxMoney.Rows.Add(
true,
shop.ShopId,
shop.ShopAccount,
"登录",
"进店",
tax.orderId, // 订单号
BaseClass.StampToDateTime(tax.orderCreateTime.ParseToInt()).ToString("yyyy年MM月dd日 HH:mm:ss"),
(enumRstOrderState)tax.orderState,
(enumOrderSettleState)tax.orderSettleState,
tax.buyerPaidAmount.IsNullOrZero() ? "-" : "¥" + (tax.buyerPaidAmount * 0.01m).ParseToDecimal().ToString("0.00"),
tax.mchReceivedAmount.IsNullOrZero() ? "-" : "¥" + (tax.mchReceivedAmount * 0.01m).ParseToDecimal().ToString("0.00"),
tax.platformCommissionAmount.IsNullOrZero() ? "-" : "-¥" + (tax.platformCommissionAmount * 0.01m).ParseToDecimal().ToString("0.00"),
tax.buyerRefundAmount.IsNullOrZero() ? "-" : "-¥" + (tax.buyerRefundAmount * 0.01m).ParseToDecimal().ToString("0.00"),
tax.otherExpenseAmount.IsNullOrZero() ? "-" : "-¥" + (tax.otherExpenseAmount * 0.01m).ParseToDecimal().ToString("0.00"),
tax.mchSettleAmount.IsNullOrZero() ? "-" : "¥" + (tax.mchSettleAmount * 0.01m).ParseToDecimal().ToString("0.00"),
shop.ShopAccount
);
dgvTaxMoney.Rows[rowIndex].Height = 60;
}
}));
}
var total = BaseRegex.GetIntJson(ref getTaxMoneyRst, "totalCount").ParseToInt();
var totalPage = Math.Ceiling(total * 1m / pageSize).ParseToInt();
if (page >= totalPage)
break;
}
}
}
}
Invoke(new Action(() =>
{
pictureBox1.Visible = false;
if (cancellationTokenSource.IsCancellationRequested)
{
this.statusBar.lblTaskStatus.Text += " 查询操作中断";
BaseMsgForm.ShowInfo("查询操作中断");
}
else
{
this.statusBar.lblTaskStatus.Text += " 查询操作结束";
BaseMsgForm.ShowInfo("查询操作结束");
}
}));
}, cancellationTokenSource.Token);
}
private void btnClearFilter_Click(object sender, EventArgs e)
{
}
private void btnFilterShop_Click(object sender, EventArgs e)
{
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
if (notes == "全部")
notes = "";
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
string group = cmbFilterShopGroup.Text.Trim().Trim(';');
if (group == "全部")
group = "";
List<string> groupLst = group.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
foreach (DataGridViewRow row in dgvShop.Rows)
{
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
{
row.Visible = false;
row.Cells["colSelect"].Value = false;
continue;
}
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
{
row.Visible = false;
row.Cells["colSelect"].Value = false;
continue;
}
if (!string.IsNullOrWhiteSpace(group) && !groupLst.Contains(row.Cells["colGroup"].Value.ParseToString()))
{
row.Visible = false;
row.Cells["colSelect"].Value = false;
continue;
}
row.Visible = true;
}
}
private void btnEmptyShop_Click(object sender, EventArgs e)
{
txtFilterShopName.Text = "";
cmbFilterShopNotes.Text = "全部";
cmbFilterShopGroup.Text = "全部";
btnFilterShop_Click(null, null);
}
private void btnReverse_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dgvShop.Rows)
{
if (row.Visible == true)
row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
}
}
private void btnAddSelect_Click(object sender, EventArgs e)
{
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
if (notes == "全部")
notes = "";
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
string group = cmbFilterShopGroup.Text.Trim().Trim(';');
if (group == "全部")
group = "";
List<string> groupLst = group.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
foreach (DataGridViewRow row in dgvShop.Rows)
{
if (row.Visible == false)
continue;
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
continue;
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
continue;
if (!string.IsNullOrWhiteSpace(group) && !groupLst.Contains(row.Cells["colGroup"].Value.ParseToString()))
continue;
row.Cells["colSelect"].Value = true;
}
}
private void btnAddUnSelect_Click(object sender, EventArgs e)
{
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
if (notes == "全部")
notes = "";
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
string group = cmbFilterShopGroup.Text.Trim().Trim(';');
if (group == "全部")
group = "";
List<string> groupLst = group.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
foreach (DataGridViewRow row in dgvShop.Rows)
{
if (row.Visible == false)
continue;
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
continue;
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
continue;
if (!string.IsNullOrWhiteSpace(group) && !groupLst.Contains(row.Cells["colGroup"].Value.ParseToString()))
continue;
row.Cells["colSelect"].Value = false;
}
}
private void btnSelectOnline_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dgvShop.Rows)
{
if (row.Visible == true)
{
if (row.Cells["colLoginStatus"].Value.ParseToString() == "在线")
{
row.Cells["colSelect"].Value = true;
}
else
{
row.Cells["colSelect"].Value = false;
}
}
}
}
private void btnSelectOffline_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dgvShop.Rows)
{
if (row.Visible == true)
{
if (row.Cells["colLoginStatus"].Value.ParseToString() != "在线")
{
row.Cells["colSelect"].Value = true;
}
else
{
row.Cells["colSelect"].Value = false;
}
}
}
}
private void btnExportCSV_Click(object sender, EventArgs e)
{
var selectRows = dgvShop.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colSelect"].Value.ParseToBool() == true).ToList();
if (selectRows.Count == 0)
{
BaseMsgForm.ShowError("请选择店铺");
return;
}
var selectTaxRows = dgvTaxMoney.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList();
if (selectTaxRows.Count == 0)
{
BaseMsgForm.ShowError("请选择要导出的流水");
return;
}
SaveFileDialog dialog = new SaveFileDialog();
dialog.Title = "保存文件...";
dialog.Filter = "CSV文件 (*.csv)|*.csv|All files (*.*)|*.*";
dialog.RestoreDirectory = true;
dialog.FileName = "用户 " + BaseClass.NickName + DateTime.Now.ToString(" 订单流水yyyyMMddHHmmss") + ".csv";
if (dialog.ShowDialog() != DialogResult.OK)
return;
var path = dialog.FileName;
//FolderBrowserDialog dialog = new FolderBrowserDialog();
//if (dialog.ShowDialog() != DialogResult.OK)
// return;
//var path = dialog.SelectedPath;
//string fileName = path + "\\用户 " + base + DateTime.Now.ToString("订单流水yyyyMMddHHmmss") + ".csv";
pictureBox1.Visible = true;
this.btnExport.Enabled = false;
this.btnSearch.Enabled = false;
Task.Run(() => {
Thread.Sleep(5000);
Invoke(new Action(() =>
{
this.btnExport.Enabled = true;
this.btnSearch.Enabled = true;
}));
});
Task.Run(() =>
{
int num = 0;
foreach (var row in selectRows)
{
num++;
Invoke(new Action(() =>
{
this.statusBar.lblTaskStatus.Text = "正在导出 第 " + num + " 个店铺,共 " + selectRows.Count + " 个店铺";
row.Cells["colMessage"].Value = "";
}));
if (this.cancellationTokenSource.IsCancellationRequested)
break;
var shopId = row.Cells["colShopId"].Value.ParseToString();
var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
if (shop != null)
{
var rows = dgvTaxMoney.Rows.Cast<DataGridViewRow>()
.Where(r => r.Cells["colDgvTaxShopId"].Value.ParseToString() == shop.ShopId && r.Cells["colCheck"].Value.ParseToBool() == true).ToList();
var rst = OutExcel.SaveFile(path, num == 1, true, rows, "", "登录", "进店", "店铺");
}
}
Invoke(new Action(() =>
{
pictureBox1.Visible = false;
if (cancellationTokenSource.IsCancellationRequested)
{
this.statusBar.lblTaskStatus.Text += " 导出操作中断";
BaseMsgForm.ShowInfo("导出操作中断");
}
else
{
this.statusBar.lblTaskStatus.Text += " 导出操作结束";
BaseMsgForm.ShowInfo("导出操作结束");
}
}));
}, cancellationTokenSource.Token);
}
private void dgvDaRenProd_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string headerText = dgvTaxMoney.Columns[e.ColumnIndex].HeaderText;
var shopId = dgvTaxMoney.Rows[e.RowIndex].Cells["colDgvTaxShopId"].Value.ParseToString();
var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
switch (headerText)
{
case "删除":
break;
case "登录":
{
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
shopLoginForm.openType = EnumOpenType.login;
shopLoginForm.ShowDialog();
RefreshShopLogin();
}
break;
case "进店":
{
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
if (shop.LoginStatus == "登录成功")
{
shopLoginForm.openType = EnumOpenType.manage;
shopLoginForm.WindowState = FormWindowState.Maximized;
shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/home";
shopLoginForm.Show();
}
else
{
shopLoginForm.openType = EnumOpenType.login;
shopLoginForm.ShowDialog();
RefreshShopLogin();
}
}
break;
//case "商品图片":
// {
// ShowImgForm imgFrom = new ShowImgForm(dgvTaxMoney.Rows[e.RowIndex].Cells["colDgvProdImgUrl"].Value.ParseToString());
// imgFrom.ShowDialog();
// break;
// }
//case "带货题图":
// {
// ShowImgForm imgFrom = new ShowImgForm(dgvTaxMoney.Rows[e.RowIndex].Cells["colLiveObjectImgUrl"].Value.ParseToString());
// imgFrom.ShowDialog();
// break;
// }
case "":
dgvTaxMoney.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvTaxMoney.Rows[e.RowIndex].Cells["colCheck"].Value;
break;
default:
break;
}
}
public enum enumOrderSettleState
{
全部 = 0,
待结算 = 1,
无需结算 = 2,
已结算 = 60,
部分结算 = 100,
}
public enum enumSearchOrderState
{
全部 = 0,
待发货 = 20,
已发货 = 30,
已完成 = 100,
已取消 = 250,
}
public enum enumRstOrderState
{
全部 = 0,
礼物待收下 = 12,
待发货 = 20,
已发货 = 30,
已完成 = 100,
已取消 = 200,
}
public enum enumOrderPayMethod
{
全部 = 0,
微信支付 = 1,
先付后用 = 3,
}
}
public class WXTaxBLL
{
/// <summary>
///
/// </summary>
/// <param name="shop"></param>
/// <param name="orderSettleState">结算状态 0全部 1待结算 2无需结算 60已结算 100部分结算</param>
/// <param name="orderState">订单状态 0全部 20待发货 30已发货 100已完成 250已取消</param>
/// <param name="orderPayMethod">支付方式 0全部 1微信支付 3先用后付</param>
/// <param name="createTimeBegin">开始时间</param>
/// <param name="createTimeEnd">结束时间</param>
/// <param name="page"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
public static string getListOrderFlow(ShopLoginInfo shop, int page = 1, int orderSettleState = 60, int orderState = 100, int orderPayMethod = 1,
int createTimeBegin = 0, int createTimeEnd = 0, int pageSize = 20)
{
if (createTimeEnd == 0)
createTimeEnd = BaseClass.DateTimeToTimestampSeconds(DateTime.Now.Date.AddDays(1).AddSeconds(-1));
pageSize = 20;
var offset = Math.Max(page - 1, 0) * pageSize;
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradefunds/cgi/listOrderFlow?token=&lang=zh_CN";
string body = @"{""orderSettleState"":" + orderSettleState + @",""orderState"":" + orderState + @",""orderPayMethod"":" + orderPayMethod +
@",""createTimeBegin"":""" + createTimeBegin + @""",""createTimeEnd"":""" + createTimeEnd + @""",""paginationInfo"":{""limit"":20,""offset"":" + offset + "}}";
string referer = "https://store.weixin.qq.com/shop/funds/moneyManage?section=3";
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
return result;
}
}
public class WXAddFinderParam
{
public string ContactPerson { get; set; }
public string WxNumber { get; set; }
public string Mobile { get; set; }
public string Explain { get; set; }
}
public class WXProdIdWithListingTime
{
public string spuId { get; set; } // "10000538960743"
public string productName { get; set; } // "点教英语 《高中英语听力精听训练》强化版"
public int? listingTime { get; set; } // 1773912220
public int? soldNum { get; set; }
}
}
+207
View File
@@ -0,0 +1,207 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopLoginName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopNotes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colGroup.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colSelectProduct.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colLoginStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colApi.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCanUse.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colUploadCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOnSaleNum.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colRemaining.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colMessage.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgvTaxShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgvTaxShopName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgvProdLogin.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgvProdInShop.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCreateTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOrderState.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOrderSettleState.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colBuyerPaidAmount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colMchReceivedAmount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPlatformCommissionAmount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colBuyerRefundAmount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOtherExpenseAmount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colMchSettleAmount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colTaxMoneyShopName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>