后台增加OEM 审核。

Oem 管理增加 申请提现
This commit is contained in:
chfei committed 2026-08-27 14:47:23 +08:00
1 parent 8874820269
commit cdeedd7246
27 files changed
+4150 -761

No files matched your search

+2
View File
@@ -239,6 +239,7 @@
<Compile Include="Model\Result\PDDResult\PDDFrontProductInfo5.cs" />
<Compile Include="Model\Result\PDDResult\PDDFrontProductInfo4.cs" />
<Compile Include="Model\Result\PlatformType.cs" />
<Compile Include="Model\Result\Result.cs" />
<Compile Include="Model\Result\VDianShopLoginInfo.cs" />
<Compile Include="Model\Result\WXResult\DSRShopScoreInfo.cs" />
<Compile Include="Model\Result\WXResult\WxActivityData.cs" />
@@ -314,6 +315,7 @@
<Compile Include="Model\Result\WXResult\GetProdCateInfo.cs" />
<Compile Include="Model\Result\WXResult\WxCatInfo.cs" />
<Compile Include="Model\Result\WXResult\WXLiveObjectInfo.cs" />
<Compile Include="Model\Result\WXResult\WXOemWithdrawalInfo.cs" />
<Compile Include="Model\Result\WXResult\WxOnlineWaybillDeliveryInfo.cs" />
<Compile Include="Model\Result\WXResult\WxOptimizeExpressInfo.cs" />
<Compile Include="Model\Result\WXResult\WxOptimizeFeedbackOrderInfo.cs" />
+34
View File
@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.Result
{
public class Result
{
public Result()
{
}
public Result(int code, string msg)
{
Code = code;
Msg = msg;
}
public int Code { get; set; }
public string Msg { get; set; }
}
public class Result<TData> : Result
{
public TData Data { get; set; }
}
public class PageResult<TData> : Result<List<TData>>
{
public int Page { get; set; }
public int Total { get; set; }
}
}
@@ -0,0 +1,88 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.Result.WXResult
{
public enum OemWithdrawalStatus
{
Pending = 0, //待审核
Approved = 1, //审核通过
Rejected = 2, //审核拒绝
Paying = 3, //打款中
Paid = 4, //已打款
PayFailed = 5, //打款失败
Cancelled = 6, //已取消
}
public class WXOemWithdrawalInfo
{
/// <summary>主键</summary>
/// <summary>提现单号(业务唯一号)</summary>
public string withdrawal_no { get; set; }
/// <summary>关联oem表id</summary>
public string oem_id { get; set; }
/// <summary>贴牌编号(oem.oem_id)</summary>
/// <summary>贴牌名称</summary>
public string oem_name { get; set; }
/// <summary>发起提现的用户/商户ID</summary>
public string apply_user_name { get; set; }
/// <summary>申请提现金额(分)</summary>
public long amount { get; set; }
/// <summary>手续费(分)</summary>
public long fee { get; set; }
/// <summary>实际到账金额(分) = amount - fee</summary>
public long actual_amount { get; set; }
/// <summary>提现前余额快照(分)</summary>
public long balance_before { get; set; }
/// <summary>提现后余额快照(分)</summary>
public long balance_after { get; set; }
/// <summary>提现方式:1银行卡 2支付宝 3微信 4其他</summary>
public int withdrawal_type { get; set; }
/// <summary>提现方式名称</summary>
public string withdrawal_type_string { get; set; }
/// <summary>收款人姓名</summary>
public string account_name { get; set; }
/// <summary>收款账号(卡号/账号)</summary>
public string account_no { get; set; }
/// <summary>开户行</summary>
public string bank_name { get; set; }
/// <summary>开户支行</summary>
public string bank_branch { get; set; }
/// <summary>状态:0待审核 1审核通过 2审核拒绝 3打款中 4已打款 5打款失败 6已取消</summary>
public int status { get; set; }
/// <summary>状态名称</summary>
public string status_string { get; set; }
/// <summary>审核人ID</summary>
public string audit_by { get; set; }
/// <summary>审核时间</summary>
public DateTime? audit_time { get; set; }
/// <summary>审核备注/拒绝原因</summary>
public string audit_remark { get; set; }
/// <summary>打款成功时间</summary>
public DateTime? pay_time { get; set; }
/// <summary>打款渠道/支付流水来源</summary>
public string pay_channel { get; set; }
/// <summary>第三方打款流水号</summary>
public string pay_trade_no { get; set; }
/// <summary>打款失败原因</summary>
public string fail_reason { get; set; }
/// <summary>备注</summary>
public string remark { get; set; }
/// <summary>发起提现时的客户端IP</summary>
public string client_ip { get; set; }
/// <summary>创建时间</summary>
public DateTime created_at { get; set; }
/// <summary>更新时间</summary>
public DateTime updated_at { get; set; }
}
}
+3 -3
View File
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 18
VisualStudioVersion = 18.8.12023.21 stable
VisualStudioVersion = 18.8.12023.21
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AllBase", "AllBase\AllBase.csproj", "{6461D807-B1C8-45F0-B388-E0CA1A418DE0}"
EndProject
@@ -49,8 +49,8 @@ Global
{38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Release|x86.Build.0 = Release|x86
{B8EE868D-56CD-4647-BBA5-04BEF24FF9F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B8EE868D-56CD-4647-BBA5-04BEF24FF9F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B8EE868D-56CD-4647-BBA5-04BEF24FF9F6}.Debug|x64.ActiveCfg = Debug|x64
{B8EE868D-56CD-4647-BBA5-04BEF24FF9F6}.Debug|x64.Build.0 = Debug|x64
{B8EE868D-56CD-4647-BBA5-04BEF24FF9F6}.Debug|x64.ActiveCfg = Debug|Any CPU
{B8EE868D-56CD-4647-BBA5-04BEF24FF9F6}.Debug|x64.Build.0 = Debug|Any CPU
{B8EE868D-56CD-4647-BBA5-04BEF24FF9F6}.Debug|x86.ActiveCfg = Debug|Any CPU
{B8EE868D-56CD-4647-BBA5-04BEF24FF9F6}.Debug|x86.Build.0 = Debug|Any CPU
{B8EE868D-56CD-4647-BBA5-04BEF24FF9F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+13
View File
@@ -67,4 +67,17 @@
<ProjectReference Include="..\AllBase\AllBase.csproj" />
<ProjectReference Include="..\Work\Work.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>
+6
View File
@@ -48,6 +48,9 @@
<Compile Update="WXForms\AdminForms\WXAdminOemWithdrawal.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="WXForms\AdminForms\WXAdminOemWithdrawalAuditForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="WXForms\AdminForms\WXAdminQualificationImageForm.cs">
<SubType>Form</SubType>
</Compile>
@@ -168,6 +171,9 @@
<Compile Update="WXForms\ShopForms\WXOemAccountForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="WXForms\ShopForms\WXShopOemWithdrawalForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="WXForms\ShopForms\WXTaxManage.cs">
<SubType>Form</SubType>
</Compile>
+173 -169
View File
@@ -28,24 +28,25 @@
/// </summary>
private void InitializeComponent()
{
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("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("快递费用明细");
System.Windows.Forms.TreeNode treeNode17 = new System.Windows.Forms.TreeNode("中转订单管理");
System.Windows.Forms.TreeNode treeNode18 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
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("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("快递费用明细");
System.Windows.Forms.TreeNode treeNode17 = new System.Windows.Forms.TreeNode("中转订单管理");
System.Windows.Forms.TreeNode treeNode18 = new System.Windows.Forms.TreeNode("代理提现记录");
System.Windows.Forms.TreeNode treeNode19 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
treeNode3,
@@ -62,158 +63,161 @@
treeNode14,
treeNode15,
treeNode16,
treeNode17});
this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
this.lblName = new System.Windows.Forms.Label();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tv = new TemuKJD.UserComponent.UcTreeView();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.SuspendLayout();
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Controls.Add(this.panel3);
this.panel1.Controls.Add(this.panel2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(792, 572);
this.panel1.TabIndex = 2;
//
// panel3
//
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(0, 28);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(792, 544);
this.panel3.TabIndex = 1;
//
// panel2
//
this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
this.panel2.Controls.Add(this.lblName);
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(792, 28);
this.panel2.TabIndex = 0;
//
// lblName
//
this.lblName.AutoSize = true;
this.lblName.Location = new System.Drawing.Point(5, 6);
this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(57, 17);
this.lblName.TabIndex = 0;
this.lblName.Text = "lblName";
//
// splitContainer1
//
this.splitContainer1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.tv);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.panel1);
this.splitContainer1.Size = new System.Drawing.Size(933, 572);
this.splitContainer1.SplitterDistance = 140;
this.splitContainer1.SplitterWidth = 1;
this.splitContainer1.TabIndex = 3;
//
// tv
//
this.tv.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(251)))), ((int)(((byte)(251)))));
this.tv.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.tv.ChildNodeSelectedBgColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.tv.Cursor = System.Windows.Forms.Cursors.Hand;
this.tv.Dock = System.Windows.Forms.DockStyle.Fill;
this.tv.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll;
this.tv.ExpandButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.tv.FullRowSelect = true;
this.tv.GroupBgColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249)))));
this.tv.GroupFont = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tv.GroupTitleColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.tv.HideCollapsedGroup = false;
this.tv.ItemHeight = 32;
this.tv.Location = new System.Drawing.Point(0, 0);
this.tv.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tv.Name = "tv";
treeNode1.Name = "超级店铺管理";
treeNode1.Text = "超级店铺管理";
treeNode2.Name = "超级用户管理";
treeNode2.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 = "快递费用明细";
treeNode17.Name = "中转订单管理";
treeNode17.Text = "中转订单管理";
treeNode18.Name = "超级权限管理";
treeNode18.Text = "超级权限管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode17,
treeNode18});
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.tv.Size = new System.Drawing.Size(140, 572);
this.tv.TabIndex = 1;
this.tv.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tv_AfterSelect);
//
// WXAdminForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(933, 572);
this.Controls.Add(this.splitContainer1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "WXAdminForm";
this.Text = "AdminForm";
this.Load += new System.EventHandler(this.ShopForm_Load);
this.panel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
this.lblName = new System.Windows.Forms.Label();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tv = new TemuKJD.UserComponent.UcTreeView();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.SuspendLayout();
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Controls.Add(this.panel3);
this.panel1.Controls.Add(this.panel2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(792, 572);
this.panel1.TabIndex = 2;
//
// panel3
//
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(0, 28);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(792, 544);
this.panel3.TabIndex = 1;
//
// panel2
//
this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
this.panel2.Controls.Add(this.lblName);
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(792, 28);
this.panel2.TabIndex = 0;
//
// lblName
//
this.lblName.AutoSize = true;
this.lblName.Location = new System.Drawing.Point(5, 6);
this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(57, 17);
this.lblName.TabIndex = 0;
this.lblName.Text = "lblName";
//
// splitContainer1
//
this.splitContainer1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.tv);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.panel1);
this.splitContainer1.Size = new System.Drawing.Size(933, 572);
this.splitContainer1.SplitterDistance = 140;
this.splitContainer1.SplitterWidth = 1;
this.splitContainer1.TabIndex = 3;
//
// tv
//
this.tv.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(251)))), ((int)(((byte)(251)))));
this.tv.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.tv.ChildNodeSelectedBgColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.tv.Cursor = System.Windows.Forms.Cursors.Hand;
this.tv.Dock = System.Windows.Forms.DockStyle.Fill;
this.tv.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll;
this.tv.ExpandButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.tv.FullRowSelect = true;
this.tv.GroupBgColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249)))));
this.tv.GroupFont = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tv.GroupTitleColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.tv.HideCollapsedGroup = false;
this.tv.ItemHeight = 32;
this.tv.Location = new System.Drawing.Point(0, 0);
this.tv.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tv.Name = "tv";
treeNode1.Name = "超级店铺管理";
treeNode1.Text = "超级店铺管理";
treeNode2.Name = "超级用户管理";
treeNode2.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 = "快递费用明细";
treeNode17.Name = "中转订单管理";
treeNode17.Text = "中转订单管理";
treeNode18.Name = "代理提现记录";
treeNode18.Text = "代理提现记录";
treeNode19.Name = "超级权限管理";
treeNode19.Text = "超级权限管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode19});
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.tv.Size = new System.Drawing.Size(140, 572);
this.tv.TabIndex = 1;
this.tv.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tv_AfterSelect);
//
// WXAdminForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(933, 572);
this.Controls.Add(this.splitContainer1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "WXAdminForm";
this.Text = "AdminForm";
this.Load += new System.EventHandler(this.ShopForm_Load);
this.panel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
}
+5 -1
View File
@@ -37,8 +37,9 @@ namespace TemuKJD.WXForms.AdminForms
public Lazy<WXAdminSetTopUpQrCodeForm> adminSetTopUpQrCodeForm = new Lazy<WXAdminSetTopUpQrCodeForm>();
public Lazy<WXAdminTransitWarehouseManage> wxAdminTransitWarehouseManage = new Lazy<WXAdminTransitWarehouseManage>();
public Lazy<WXAdminAccountBalanceForm> wxAdminAccountBalanceForm = new Lazy<WXAdminAccountBalanceForm>();
public Lazy<WXAdminOemWithdrawal> wxAdminOemWithdrawalForm = new Lazy<WXAdminOemWithdrawal>();
public WXAdminForm()
public WXAdminForm()
{
InitializeComponent();
@@ -142,6 +143,9 @@ namespace TemuKJD.WXForms.AdminForms
case "中转订单管理":
SetForm(wxAdminTransitWarehouseManage.Value);
break;
case "代理提现记录":
SetForm(wxAdminOemWithdrawalForm.Value);
break;
}
//}));
//}).Start();
@@ -0,0 +1,551 @@
namespace TemuKJD.WXForms.AdminForms
{
partial class WXAdminOemWithdrawal
{
/// <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 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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WXAdminOemWithdrawal));
this.panel3 = new System.Windows.Forms.Panel();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.panel4 = new System.Windows.Forms.Panel();
this.btnSearch = new DevComponents.DotNetBar.PanelEx();
this.labelWithdrawalNo = new System.Windows.Forms.Label();
this.txtWithdrawalNo = new System.Windows.Forms.TextBox();
this.labelOem = new System.Windows.Forms.Label();
this.txtOemIds = new System.Windows.Forms.TextBox();
this.labelStatus = new System.Windows.Forms.Label();
this.cmbStatus = new System.Windows.Forms.ComboBox();
this.labelTime = new System.Windows.Forms.Label();
this.dtpTimeBegin = new System.Windows.Forms.DateTimePicker();
this.labelTo = new System.Windows.Forms.Label();
this.dtpTimeEnd = new System.Windows.Forms.DateTimePicker();
this.btnEmpty = new DevComponents.DotNetBar.PanelEx();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.pbLoading = new System.Windows.Forms.PictureBox();
this.dgvExpress = new TemuKJD.UserComponent.DataGridViewEx();
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.Column10 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column7 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column8 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column9 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column11 = new System.Windows.Forms.DataGridViewLinkColumn();
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.panel3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.tableLayoutPanel2.SuspendLayout();
this.panel4.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
this.splitContainer2.Panel1.SuspendLayout();
this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgvExpress)).BeginInit();
this.SuspendLayout();
//
// panel3
//
this.panel3.BackColor = System.Drawing.Color.White;
this.panel3.Controls.Add(this.splitContainer1);
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(1, 33);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(1208, 589);
this.panel3.TabIndex = 36;
//
// splitContainer1
//
this.splitContainer1.BackColor = System.Drawing.Color.White;
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.tableLayoutPanel2);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
this.splitContainer1.Panel2.Margin = new System.Windows.Forms.Padding(4);
this.splitContainer1.Size = new System.Drawing.Size(1208, 589);
this.splitContainer1.SplitterDistance = 80;
this.splitContainer1.TabIndex = 34;
//
// tableLayoutPanel2
//
this.tableLayoutPanel2.ColumnCount = 1;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Controls.Add(this.panel4, 0, 0);
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 1;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel2.Size = new System.Drawing.Size(1208, 80);
this.tableLayoutPanel2.TabIndex = 37;
//
// panel4
//
this.panel4.Controls.Add(this.btnSearch);
this.panel4.Controls.Add(this.labelWithdrawalNo);
this.panel4.Controls.Add(this.txtWithdrawalNo);
this.panel4.Controls.Add(this.labelOem);
this.panel4.Controls.Add(this.txtOemIds);
this.panel4.Controls.Add(this.labelStatus);
this.panel4.Controls.Add(this.cmbStatus);
this.panel4.Controls.Add(this.labelTime);
this.panel4.Controls.Add(this.dtpTimeBegin);
this.panel4.Controls.Add(this.labelTo);
this.panel4.Controls.Add(this.dtpTimeEnd);
this.panel4.Controls.Add(this.btnEmpty);
this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel4.Location = new System.Drawing.Point(3, 3);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(1202, 74);
this.panel4.TabIndex = 1;
//
// 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(985, 19);
this.btnSearch.Name = "btnSearch";
this.btnSearch.Size = new System.Drawing.Size(60, 23);
this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
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 = 449;
this.btnSearch.Text = "搜索";
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
//
// labelWithdrawalNo
//
this.labelWithdrawalNo.AutoSize = true;
this.labelWithdrawalNo.Location = new System.Drawing.Point(12, 24);
this.labelWithdrawalNo.Name = "labelWithdrawalNo";
this.labelWithdrawalNo.Size = new System.Drawing.Size(68, 17);
this.labelWithdrawalNo.TabIndex = 420;
this.labelWithdrawalNo.Text = "提现单号:";
//
// txtWithdrawalNo
//
this.txtWithdrawalNo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtWithdrawalNo.Location = new System.Drawing.Point(80, 21);
this.txtWithdrawalNo.Name = "txtWithdrawalNo";
this.txtWithdrawalNo.Size = new System.Drawing.Size(150, 23);
this.txtWithdrawalNo.TabIndex = 419;
//
// labelOem
//
this.labelOem.AutoSize = true;
this.labelOem.Location = new System.Drawing.Point(240, 24);
this.labelOem.Name = "labelOem";
this.labelOem.Size = new System.Drawing.Size(73, 17);
this.labelOem.TabIndex = 421;
this.labelOem.Text = "OEM编号:";
//
// txtOemIds
//
this.txtOemIds.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtOemIds.Location = new System.Drawing.Point(313, 21);
this.txtOemIds.Name = "txtOemIds";
this.txtOemIds.Size = new System.Drawing.Size(130, 23);
this.txtOemIds.TabIndex = 422;
//
// labelStatus
//
this.labelStatus.AutoSize = true;
this.labelStatus.Location = new System.Drawing.Point(450, 24);
this.labelStatus.Name = "labelStatus";
this.labelStatus.Size = new System.Drawing.Size(68, 17);
this.labelStatus.TabIndex = 423;
this.labelStatus.Text = "审核状态:";
//
// cmbStatus
//
this.cmbStatus.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbStatus.FormattingEnabled = true;
this.cmbStatus.Items.AddRange(new object[] {
"全部",
"待审核",
"审核通过",
"审核拒绝",
"打款中",
"已打款",
"打款失败",
"已取消"});
this.cmbStatus.Location = new System.Drawing.Point(520, 20);
this.cmbStatus.Name = "cmbStatus";
this.cmbStatus.Size = new System.Drawing.Size(120, 25);
this.cmbStatus.TabIndex = 424;
//
// labelTime
//
this.labelTime.AutoSize = true;
this.labelTime.Location = new System.Drawing.Point(646, 23);
this.labelTime.Name = "labelTime";
this.labelTime.Size = new System.Drawing.Size(68, 17);
this.labelTime.TabIndex = 425;
this.labelTime.Text = "申请时间:";
//
// dtpTimeBegin
//
this.dtpTimeBegin.Location = new System.Drawing.Point(715, 20);
this.dtpTimeBegin.Name = "dtpTimeBegin";
this.dtpTimeBegin.Size = new System.Drawing.Size(110, 23);
this.dtpTimeBegin.TabIndex = 426;
//
// labelTo
//
this.labelTo.AutoSize = true;
this.labelTo.Location = new System.Drawing.Point(830, 23);
this.labelTo.Name = "labelTo";
this.labelTo.Size = new System.Drawing.Size(20, 17);
this.labelTo.TabIndex = 427;
this.labelTo.Text = "至";
//
// dtpTimeEnd
//
this.dtpTimeEnd.Location = new System.Drawing.Point(855, 20);
this.dtpTimeEnd.Name = "dtpTimeEnd";
this.dtpTimeEnd.Size = new System.Drawing.Size(110, 23);
this.dtpTimeEnd.TabIndex = 428;
//
// btnEmpty
//
this.btnEmpty.CanvasColor = System.Drawing.SystemColors.Control;
this.btnEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnEmpty.DisabledBackColor = System.Drawing.Color.Empty;
this.btnEmpty.Location = new System.Drawing.Point(1051, 19);
this.btnEmpty.Name = "btnEmpty";
this.btnEmpty.Size = new System.Drawing.Size(70, 23);
this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.btnEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
this.btnEmpty.Style.GradientAngle = 90;
this.btnEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
this.btnEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
this.btnEmpty.TabIndex = 413;
this.btnEmpty.Text = "清空条件";
this.btnEmpty.Click += new System.EventHandler(this.btnEmpty_Click);
//
// splitContainer2
//
this.splitContainer2.BackColor = System.Drawing.Color.White;
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
this.splitContainer2.Name = "splitContainer2";
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer2.Panel1
//
this.splitContainer2.Panel1.BackColor = System.Drawing.Color.White;
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
this.splitContainer2.Panel1.Controls.Add(this.dgvExpress);
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
//
// splitContainer2.Panel2
//
this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
this.splitContainer2.Panel2.Controls.Add(this.statusBar);
this.splitContainer2.Size = new System.Drawing.Size(1208, 505);
this.splitContainer2.SplitterDistance = 476;
this.splitContainer2.TabIndex = 0;
//
// pbLoading
//
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbLoading.Location = new System.Drawing.Point(555, 219);
this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pbLoading.TabIndex = 1164;
this.pbLoading.TabStop = false;
this.pbLoading.Visible = false;
//
// dgvExpress
//
this.dgvExpress.AllowUserToAddRows = false;
this.dgvExpress.AllowUserToDeleteRows = false;
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvExpress.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
this.dgvExpress.AutoRowNumber = true;
this.dgvExpress.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dgvExpress.BackgroundColor = System.Drawing.Color.White;
this.dgvExpress.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvExpress.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.dgvExpress.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvExpress.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colSelect,
this.Column10,
this.Column1,
this.Column2,
this.Column3,
this.Column4,
this.Column6,
this.Column5,
this.Column7,
this.Column8,
this.Column9,
this.Column11});
this.dgvExpress.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvExpress.Location = new System.Drawing.Point(4, 0);
this.dgvExpress.MultiSelectCheckBox = true;
this.dgvExpress.Name = "dgvExpress";
this.dgvExpress.ReadOnly = true;
this.dgvExpress.RowTemplate.Height = 23;
this.dgvExpress.ShowCellErrors = false;
this.dgvExpress.Size = new System.Drawing.Size(1200, 476);
this.dgvExpress.TabIndex = 7;
//
// colSelect
//
this.colSelect.FillWeight = 4.97937F;
this.colSelect.HeaderText = "选";
this.colSelect.Name = "colSelect";
this.colSelect.ReadOnly = true;
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
// Column10
//
this.Column10.FillWeight = 31.12106F;
this.Column10.HeaderText = "OEM";
this.Column10.Name = "Column10";
this.Column10.ReadOnly = true;
//
// Column1
//
this.Column1.FillWeight = 31.12106F;
this.Column1.HeaderText = "提现单号";
this.Column1.Name = "Column1";
this.Column1.ReadOnly = true;
//
// Column2
//
this.Column2.FillWeight = 31.12106F;
this.Column2.HeaderText = "提现金额";
this.Column2.Name = "Column2";
this.Column2.ReadOnly = true;
//
// Column3
//
this.Column3.FillWeight = 31.12106F;
this.Column3.HeaderText = "提现方式";
this.Column3.Name = "Column3";
this.Column3.ReadOnly = true;
//
// Column4
//
this.Column4.FillWeight = 31.12106F;
this.Column4.HeaderText = "收款账号";
this.Column4.Name = "Column4";
this.Column4.ReadOnly = true;
//
// Column6
//
this.Column6.FillWeight = 31.12106F;
this.Column6.HeaderText = "申请时间";
this.Column6.Name = "Column6";
this.Column6.ReadOnly = true;
//
// Column5
//
this.Column5.FillWeight = 31.12106F;
this.Column5.HeaderText = "审核状态";
this.Column5.Name = "Column5";
this.Column5.ReadOnly = true;
//
// Column7
//
this.Column7.FillWeight = 31.12106F;
this.Column7.HeaderText = "审核消息";
this.Column7.Name = "Column7";
this.Column7.ReadOnly = true;
//
// Column8
//
this.Column8.FillWeight = 31.12106F;
this.Column8.HeaderText = "审核时间";
this.Column8.Name = "Column8";
this.Column8.ReadOnly = true;
//
// Column9
//
this.Column9.FillWeight = 31.12106F;
this.Column9.HeaderText = "打款订单";
this.Column9.Name = "Column9";
this.Column9.ReadOnly = true;
//
// Column11
//
this.Column11.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.Column11.DefaultCellStyle = dataGridViewCellStyle3;
this.Column11.HeaderText = "审核";
this.Column11.Name = "Column11";
this.Column11.ReadOnly = true;
this.Column11.ToolTipText = "审核";
this.Column11.UseColumnTextForLinkValue = true;
this.Column11.Width = 80;
//
// ucSplitPage1
//
this.ucSplitPage1.CurrentPage = 1;
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
this.ucSplitPage1.IsShowPageSize = true;
this.ucSplitPage1.Location = new System.Drawing.Point(819, 0);
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
this.ucSplitPage1.Name = "ucSplitPage1";
this.ucSplitPage1.PageSize = 50;
this.ucSplitPage1.Size = new System.Drawing.Size(389, 25);
this.ucSplitPage1.TabIndex = 4;
this.ucSplitPage1.TotalPage = 1;
this.ucSplitPage1.PageChange += new System.Action<object>(this.ucSplitPage1_PageChange);
//
// statusBar
//
this.statusBar.BackColor = System.Drawing.Color.White;
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.statusBar.Location = new System.Drawing.Point(0, 0);
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
this.statusBar.Name = "statusBar";
this.statusBar.Size = new System.Drawing.Size(1208, 25);
this.statusBar.TabIndex = 1;
//
// WXAdminOemWithdrawal
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(1210, 623);
this.Controls.Add(this.panel3);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.KeyPreview = true;
this.Name = "WXAdminOemWithdrawal";
this.Text = "OEM提现管理";
this.TitleText = "OEM提现管理";
this.Load += new System.EventHandler(this.WXWaybillManageForm_Load);
this.VisibleChanged += new System.EventHandler(this.WXWaybillManageForm_VisibleChanged);
this.Controls.SetChildIndex(this.panel3, 0);
this.panel3.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.tableLayoutPanel2.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.panel4.PerformLayout();
this.splitContainer2.Panel1.ResumeLayout(false);
this.splitContainer2.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
this.splitContainer2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgvExpress)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private System.Windows.Forms.Panel panel4;
private DevComponents.DotNetBar.PanelEx btnSearch;
private System.Windows.Forms.Label labelWithdrawalNo;
private System.Windows.Forms.TextBox txtWithdrawalNo;
private System.Windows.Forms.Label labelOem;
private System.Windows.Forms.TextBox txtOemIds;
private System.Windows.Forms.Label labelStatus;
private System.Windows.Forms.ComboBox cmbStatus;
private System.Windows.Forms.Label labelTime;
private System.Windows.Forms.DateTimePicker dtpTimeBegin;
private System.Windows.Forms.Label labelTo;
private System.Windows.Forms.DateTimePicker dtpTimeEnd;
private DevComponents.DotNetBar.PanelEx btnEmpty;
private System.Windows.Forms.SplitContainer splitContainer2;
private UserComponent.DataGridViewEx dgvExpress;
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
private System.Windows.Forms.DataGridViewTextBoxColumn Column10;
private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
private System.Windows.Forms.DataGridViewTextBoxColumn Column4;
private System.Windows.Forms.DataGridViewTextBoxColumn Column6;
private System.Windows.Forms.DataGridViewTextBoxColumn Column5;
private System.Windows.Forms.DataGridViewTextBoxColumn Column7;
private System.Windows.Forms.DataGridViewTextBoxColumn Column8;
private System.Windows.Forms.DataGridViewTextBoxColumn Column9;
private System.Windows.Forms.DataGridViewLinkColumn Column11;
private UserControls.UcSplitPage ucSplitPage1;
private UserControls.StatusBarUserControl statusBar;
private System.Windows.Forms.PictureBox pbLoading;
}
}
@@ -0,0 +1,256 @@
using AllBase;
using AllBase.Extension;
using AllBase.Model.Result;
using AllBase.Model.Result.PDDResult;
using AllBase.Model.Result.WXResult;
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.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using TemuKJD.Extension;
using Work;
namespace TemuKJD.WXForms.AdminForms
{
public partial class WXAdminOemWithdrawal : BaseForms.BaseGeneralForm
{
private BindingList<WXOemWithdrawalInfo> dataList = new BindingList<WXOemWithdrawalInfo>();
public WXAdminOemWithdrawal()
{
InitializeComponent();
InitBindingDataGridView();
}
private void InitBindingDataGridView()
{
this.dgvExpress.AutoGenerateColumns = false;
this.Column1.DataPropertyName = nameof(WXOemWithdrawalInfo.withdrawal_no);
this.Column2.DataPropertyName = nameof(WXOemWithdrawalInfo.amount);
this.Column3.DataPropertyName = nameof(WXOemWithdrawalInfo.withdrawal_type_string);
this.Column4.DataPropertyName = nameof(WXOemWithdrawalInfo.account_no);
this.Column5.DataPropertyName = nameof(WXOemWithdrawalInfo.status_string);
this.Column6.DataPropertyName = nameof(WXOemWithdrawalInfo.created_at);
this.Column7.DataPropertyName = nameof(WXOemWithdrawalInfo.audit_remark);
this.Column8.DataPropertyName = nameof(WXOemWithdrawalInfo.audit_time);
this.Column9.DataPropertyName = nameof(WXOemWithdrawalInfo.pay_trade_no);
this.Column10.DataPropertyName = nameof(WXOemWithdrawalInfo.oem_name);
// 2. 设置列样式
// 时间列格式化
this.Column6.DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss";
this.Column8.DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss";
// 金额列右对齐
this.Column2.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
this.Column11.Text = "审核";
// 操作列:允许每行单独显示 审核/查看(已审核完毕的行展示审核内容)
this.Column11.UseColumnTextForLinkValue = false;
// 3. 注册金额格式化事件(分→元)
this.dgvExpress.CellFormatting += DgvExpress_CellFormatting;
this.dgvExpress.DataSource = dataList;
this.dgvExpress.CellContentClick += DgvExpress_CellContentClick;
}
private void DgvExpress_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0) return;
var header = this.dgvExpress.Columns[e.ColumnIndex];
if (header.HeaderText == "审核")
{
var data = this.dgvExpress.Rows[e.RowIndex].DataBoundItem as WXOemWithdrawalInfo;
if (data == null) return;
// 待审核 → 可修改提交;已审核完毕(status!=0) → 仅展示审核内容,不允许二次修改和提交
WXAdminOemWithdrawalAuditForm auditForm = new WXAdminOemWithdrawalAuditForm(data);
if (auditForm.ShowDialog(this) == DialogResult.OK)
{
// 审核成功,刷新列表
GetDeliveryAndWaybill(this.ucSplitPage1.CurrentPage);
}
}
}
private void DgvExpress_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
// 操作列:待审核显示"审核",已审核完毕显示"查看"
if (e.ColumnIndex == this.Column11.Index && e.RowIndex >= 0)
{
var data = this.dgvExpress.Rows[e.RowIndex].DataBoundItem as WXOemWithdrawalInfo;
if (data != null)
{
e.Value = data.status == 0 ? "审核" : "查看";
e.FormattingApplied = true;
}
return;
}
// 金额列:将分转换为元
if (e.ColumnIndex == this.Column2.Index && e.Value != null && e.Value != DBNull.Value)
{
if (long.TryParse(e.Value.ToString(), out long amountInFen))
{
e.Value = (amountInFen / 100m).ToString("F2");
e.FormattingApplied = true;
}
}
}
private void WXWaybillManageForm_Load(object sender, EventArgs e)
{
this.dgvExpress.AddSelectorColumn("colSelect");
// 初始化搜索条件默认值:状态默认"全部",时间默认查询全部记录
this.cmbStatus.SelectedIndex = 0;
this.dtpTimeBegin.Value = DateTime.Now.Date.AddYears(-10);
this.dtpTimeEnd.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
}
private void btnSearch_Click(object sender, EventArgs e)
{
GetDeliveryAndWaybill();
}
/// <summary>清空搜索条件并重新加载</summary>
private void btnEmpty_Click(object sender, EventArgs e)
{
this.txtWithdrawalNo.Text = "";
this.txtOemIds.Text = "";
this.cmbStatus.SelectedIndex = 0;
this.dtpTimeBegin.Value = DateTime.Now.Date.AddYears(-10);
this.dtpTimeEnd.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
GetDeliveryAndWaybill();
}
void GetDeliveryAndWaybill()
{
if (this.ucSplitPage1.CurrentPage != 1)
this.ucSplitPage1.CurrentPage = 1;
else
GetDeliveryAndWaybill(1);
}
public void GetDeliveryAndWaybill(int page)
{
this.pbLoading.Visible = true;
this.dgvExpress.Rows.Clear();
dataList.Clear();
int pageCount;
int pageSize = 100;
decimal seconds;
pageSize = this.ucSplitPage1.PageSize;
// 在UI线程上读取搜索条件,避免跨线程访问控件
string withdrawalNo = this.txtWithdrawalNo.Text.Trim();
string oemIds = this.txtOemIds.Text.Trim();
int? status = this.cmbStatus.SelectedIndex <= 0 ? (int?)null : this.cmbStatus.SelectedIndex - 1;
string startTime = this.dtpTimeBegin.Value.ToString("yyyy-MM-dd HH:mm:ss");
string endTime = this.dtpTimeEnd.Value.ToString("yyyy-MM-dd HH:mm:ss");
Task.Run(() =>
{
List<WXOemWithdrawalInfo> list = GetOemWithdrawals(out pageCount, out seconds, page, pageSize, withdrawalNo, oemIds, status, startTime, endTime);
this.ucSplitPage1.TotalPage = pageCount;
Invoke(new Action(() =>
{
list.ForEach(a => dataList.Add(a));
this.pbLoading.Visible = false;
this.statusBar.lblTaskStatus.Text = "运单号查询完毕";
#if DEBUG
this.statusBar.lblTaskStatus.Text += ",耗时:" + seconds;
#endif
}));
});
}
public List<WXOemWithdrawalInfo> GetOemWithdrawals(out int pageCount, out decimal seconds, int page = 1, int pageSize = 200, string withdrawalNo = "", string oemIds = "", int? status = null, string startTime = "", string endTime = "")
{
List<WXOemWithdrawalInfo> list = new List<WXOemWithdrawalInfo>();
pageCount = 1;
seconds = 0;
var url = BaseClass.BuildObjString("user/oem_withdrawals");
string data = "";
var obj = UserLogin.GetSignPostData(new
{
page = page,
page_size = pageSize,
withdrawal_no = string.IsNullOrEmpty(withdrawalNo) ? null : withdrawalNo,
oem_ids = string.IsNullOrEmpty(oemIds) ? null : oemIds,
status = status,
start_time = string.IsNullOrEmpty(startTime) ? null : startTime,
end_time = string.IsNullOrEmpty(endTime) ? null : endTime
});
// GetSignPostData 会把 null 转成空字符串,这里去掉空参数,避免后端收到 status="" 之类的空值
var expando = obj as System.Dynamic.ExpandoObject;
if (expando != null)
{
var dict = expando as IDictionary<string, object>;
var emptyKeys = dict.Where(kv => kv.Value == null || (kv.Value is string s && string.IsNullOrEmpty(s)))
.Select(kv => kv.Key).ToList();
foreach (var key in emptyKeys)
dict.Remove(key);
}
data = JsonHelper.SerializeObject(obj);
var html = GetHtml.PostUtf8(url, data);
var ret = JsonConvert.DeserializeObject<PageResult<WXOemWithdrawalInfo>>(html);
if (ret.Code != 200)
{
Invoke(new Action(() =>
{
BaseMsgForm.ShowError("运单列表获取失败,请重试!" + ret.Msg);
}));
return list;
}
seconds = BaseRegex.GetDecimalJson(ref html, "seconds");
pageCount = Math.Ceiling(1.0 * ret.Total / pageSize).ParseToInt();
pageCount = Math.Max(pageCount, 1);
return ret.Data;
}
private void ucSplitPage1_PageChange(object obj)
{
GetDeliveryAndWaybill(ucSplitPage1.CurrentPage);
}
bool first = true;
private void WXWaybillManageForm_VisibleChanged(object sender, EventArgs e)
{
if (this.Visible == true && first)
{
first = false;
this.pbLoading.Visible = true;
GetDeliveryAndWaybill(ucSplitPage1.CurrentPage);
}
}
public bool IsOperate = false;
}
}
@@ -0,0 +1,334 @@
<?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="Column10.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column11.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ
AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA
OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT
AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj///////
///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP//
//////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4
mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ
mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ
mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ
mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ
mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ
mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY
//+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ
mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf
//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/
//uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv///
//+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP//
if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ
mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz
MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///
iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4
kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP//
/////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ
mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ
mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ
mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ
mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ
//85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ
mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ
mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ
mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT
mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj///////
///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn///
//////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ
mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ
mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ
mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ
mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj///////////
///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY//////
////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP
//////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4
/4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ
mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ
mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7
mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4
eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb////
///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ
mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj/////
/4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/
///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ
mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ
mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ
mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ
mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA
AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA
AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA
AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w
AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA
Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA
AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA
AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA
AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA
AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA
AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA
AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA
AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD/////
wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w==
</value>
</data>
</root>
@@ -0,0 +1,443 @@
namespace TemuKJD.WXForms.AdminForms
{
partial class WXAdminOemWithdrawalAuditForm
{
/// <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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WXAdminOemWithdrawalAuditForm));
this.pnlContent = new System.Windows.Forms.Panel();
this.btnCancel = new DevComponents.DotNetBar.PanelEx();
this.btnSubmit = new DevComponents.DotNetBar.PanelEx();
this.pnlReject = new System.Windows.Forms.Panel();
this.lblRejectHint = new System.Windows.Forms.Label();
this.lblRejectTip = new System.Windows.Forms.Label();
this.txtRejectReason = new System.Windows.Forms.TextBox();
this.pnlAgree = new System.Windows.Forms.Panel();
this.lblAgreeHint = new System.Windows.Forms.Label();
this.lblAgreeTip = new System.Windows.Forms.Label();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.btnUploadImg = new DevComponents.DotNetBar.PanelEx();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.rbReject = new System.Windows.Forms.RadioButton();
this.rbAgree = new System.Windows.Forms.RadioButton();
this.lblAccountCaption = new System.Windows.Forms.Label();
this.lblAccount = new System.Windows.Forms.Label();
this.lblTypeCaption = new System.Windows.Forms.Label();
this.lblType = new System.Windows.Forms.Label();
this.lblAmountCaption = new System.Windows.Forms.Label();
this.lblAmount = new System.Windows.Forms.Label();
this.lblOemCaption = new System.Windows.Forms.Label();
this.lblOem = new System.Windows.Forms.Label();
this.lblNoCaption = new System.Windows.Forms.Label();
this.lblNo = new System.Windows.Forms.Label();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.pnlContent.SuspendLayout();
this.pnlReject.SuspendLayout();
this.pnlAgree.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// pnlContent
//
this.pnlContent.BackColor = System.Drawing.Color.White;
this.pnlContent.Controls.Add(this.linkLabel1);
this.pnlContent.Controls.Add(this.btnCancel);
this.pnlContent.Controls.Add(this.btnSubmit);
this.pnlContent.Controls.Add(this.pnlReject);
this.pnlContent.Controls.Add(this.pnlAgree);
this.pnlContent.Controls.Add(this.groupBox1);
this.pnlContent.Controls.Add(this.lblAccountCaption);
this.pnlContent.Controls.Add(this.lblAccount);
this.pnlContent.Controls.Add(this.lblTypeCaption);
this.pnlContent.Controls.Add(this.lblType);
this.pnlContent.Controls.Add(this.lblAmountCaption);
this.pnlContent.Controls.Add(this.lblAmount);
this.pnlContent.Controls.Add(this.lblOemCaption);
this.pnlContent.Controls.Add(this.lblOem);
this.pnlContent.Controls.Add(this.lblNoCaption);
this.pnlContent.Controls.Add(this.lblNo);
this.pnlContent.Dock = System.Windows.Forms.DockStyle.Fill;
this.pnlContent.Location = new System.Drawing.Point(1, 1);
this.pnlContent.Name = "pnlContent";
this.pnlContent.Size = new System.Drawing.Size(458, 568);
this.pnlContent.TabIndex = 0;
//
// btnCancel
//
this.btnCancel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnCancel.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnCancel.DisabledBackColor = System.Drawing.Color.Empty;
this.btnCancel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnCancel.Location = new System.Drawing.Point(380, 492);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(65, 32);
this.btnCancel.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnCancel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnCancel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnCancel.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.btnCancel.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnCancel.Style.ForeColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnCancel.Style.GradientAngle = 90;
this.btnCancel.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
this.btnCancel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnCancel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnCancel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnCancel.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
this.btnCancel.TabIndex = 101;
this.btnCancel.Text = "取消";
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// btnSubmit
//
this.btnSubmit.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnSubmit.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSubmit.DisabledBackColor = System.Drawing.Color.Empty;
this.btnSubmit.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSubmit.Location = new System.Drawing.Point(290, 492);
this.btnSubmit.Name = "btnSubmit";
this.btnSubmit.Size = new System.Drawing.Size(80, 32);
this.btnSubmit.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnSubmit.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSubmit.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSubmit.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnSubmit.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnSubmit.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnSubmit.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnSubmit.Style.GradientAngle = 90;
this.btnSubmit.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnSubmit.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnSubmit.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnSubmit.TabIndex = 100;
this.btnSubmit.Text = "提交审核";
this.btnSubmit.Click += new System.EventHandler(this.btnSubmit_Click);
//
// pnlReject
//
this.pnlReject.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pnlReject.Controls.Add(this.lblRejectHint);
this.pnlReject.Controls.Add(this.lblRejectTip);
this.pnlReject.Controls.Add(this.txtRejectReason);
this.pnlReject.Location = new System.Drawing.Point(20, 225);
this.pnlReject.Name = "pnlReject";
this.pnlReject.Size = new System.Drawing.Size(420, 250);
this.pnlReject.TabIndex = 0;
this.pnlReject.Visible = false;
//
// lblRejectHint
//
this.lblRejectHint.AutoSize = true;
this.lblRejectHint.ForeColor = System.Drawing.Color.Gray;
this.lblRejectHint.Location = new System.Drawing.Point(14, 195);
this.lblRejectHint.Name = "lblRejectHint";
this.lblRejectHint.Size = new System.Drawing.Size(248, 17);
this.lblRejectHint.TabIndex = 2;
this.lblRejectHint.Text = "请填写拒绝原因,审核结果将展示给申请人。";
//
// lblRejectTip
//
this.lblRejectTip.AutoSize = true;
this.lblRejectTip.Location = new System.Drawing.Point(14, 10);
this.lblRejectTip.Name = "lblRejectTip";
this.lblRejectTip.Size = new System.Drawing.Size(68, 17);
this.lblRejectTip.TabIndex = 1;
this.lblRejectTip.Text = "拒绝理由:";
//
// txtRejectReason
//
this.txtRejectReason.AcceptsReturn = true;
this.txtRejectReason.Location = new System.Drawing.Point(14, 36);
this.txtRejectReason.Multiline = true;
this.txtRejectReason.Name = "txtRejectReason";
this.txtRejectReason.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.txtRejectReason.Size = new System.Drawing.Size(392, 150);
this.txtRejectReason.TabIndex = 0;
//
// pnlAgree
//
this.pnlAgree.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pnlAgree.Controls.Add(this.lblAgreeHint);
this.pnlAgree.Controls.Add(this.lblAgreeTip);
this.pnlAgree.Controls.Add(this.pictureBox1);
this.pnlAgree.Controls.Add(this.btnUploadImg);
this.pnlAgree.Location = new System.Drawing.Point(20, 225);
this.pnlAgree.Name = "pnlAgree";
this.pnlAgree.Size = new System.Drawing.Size(420, 250);
this.pnlAgree.TabIndex = 0;
//
// lblAgreeHint
//
this.lblAgreeHint.AutoSize = true;
this.lblAgreeHint.ForeColor = System.Drawing.Color.Gray;
this.lblAgreeHint.Location = new System.Drawing.Point(268, 110);
this.lblAgreeHint.Name = "lblAgreeHint";
this.lblAgreeHint.Size = new System.Drawing.Size(158, 17);
this.lblAgreeHint.TabIndex = 3;
this.lblAgreeHint.Text = "支持 jpg / jpeg / png 格式";
//
// lblAgreeTip
//
this.lblAgreeTip.AutoSize = true;
this.lblAgreeTip.Location = new System.Drawing.Point(14, 10);
this.lblAgreeTip.Name = "lblAgreeTip";
this.lblAgreeTip.Size = new System.Drawing.Size(200, 17);
this.lblAgreeTip.TabIndex = 2;
this.lblAgreeTip.Text = "打款凭证图片(审核通过后展示):";
//
// pictureBox1
//
this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pictureBox1.Location = new System.Drawing.Point(14, 36);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(240, 170);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBox1.TabIndex = 1;
this.pictureBox1.TabStop = false;
//
// btnUploadImg
//
this.btnUploadImg.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnUploadImg.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnUploadImg.DisabledBackColor = System.Drawing.Color.Empty;
this.btnUploadImg.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnUploadImg.Location = new System.Drawing.Point(268, 70);
this.btnUploadImg.Name = "btnUploadImg";
this.btnUploadImg.Size = new System.Drawing.Size(138, 30);
this.btnUploadImg.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnUploadImg.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnUploadImg.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnUploadImg.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnUploadImg.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnUploadImg.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnUploadImg.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnUploadImg.Style.GradientAngle = 90;
this.btnUploadImg.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnUploadImg.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnUploadImg.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnUploadImg.TabIndex = 0;
this.btnUploadImg.Text = "上传凭证图片";
this.btnUploadImg.Click += new System.EventHandler(this.btnUploadImg_Click);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.rbReject);
this.groupBox1.Controls.Add(this.rbAgree);
this.groupBox1.Location = new System.Drawing.Point(20, 165);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(420, 52);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "审核结果";
//
// rbReject
//
this.rbReject.AutoSize = true;
this.rbReject.Location = new System.Drawing.Point(110, 20);
this.rbReject.Name = "rbReject";
this.rbReject.Size = new System.Drawing.Size(50, 21);
this.rbReject.TabIndex = 1;
this.rbReject.TabStop = true;
this.rbReject.Text = "拒绝";
this.rbReject.UseVisualStyleBackColor = true;
this.rbReject.CheckedChanged += new System.EventHandler(this.rbAgree_CheckedChanged);
//
// rbAgree
//
this.rbAgree.AutoSize = true;
this.rbAgree.Checked = true;
this.rbAgree.Location = new System.Drawing.Point(20, 20);
this.rbAgree.Name = "rbAgree";
this.rbAgree.Size = new System.Drawing.Size(50, 21);
this.rbAgree.TabIndex = 0;
this.rbAgree.TabStop = true;
this.rbAgree.Text = "同意";
this.rbAgree.UseVisualStyleBackColor = true;
this.rbAgree.CheckedChanged += new System.EventHandler(this.rbAgree_CheckedChanged);
//
// lblAccountCaption
//
this.lblAccountCaption.AutoSize = true;
this.lblAccountCaption.Location = new System.Drawing.Point(20, 134);
this.lblAccountCaption.Name = "lblAccountCaption";
this.lblAccountCaption.Size = new System.Drawing.Size(68, 17);
this.lblAccountCaption.TabIndex = 0;
this.lblAccountCaption.Text = "收款账号:";
//
// lblAccount
//
this.lblAccount.AutoSize = true;
this.lblAccount.Location = new System.Drawing.Point(100, 134);
this.lblAccount.Name = "lblAccount";
this.lblAccount.Size = new System.Drawing.Size(13, 17);
this.lblAccount.TabIndex = 0;
this.lblAccount.Text = "-";
//
// lblTypeCaption
//
this.lblTypeCaption.AutoSize = true;
this.lblTypeCaption.Location = new System.Drawing.Point(20, 106);
this.lblTypeCaption.Name = "lblTypeCaption";
this.lblTypeCaption.Size = new System.Drawing.Size(68, 17);
this.lblTypeCaption.TabIndex = 0;
this.lblTypeCaption.Text = "提现方式:";
//
// lblType
//
this.lblType.AutoSize = true;
this.lblType.Location = new System.Drawing.Point(100, 106);
this.lblType.Name = "lblType";
this.lblType.Size = new System.Drawing.Size(13, 17);
this.lblType.TabIndex = 0;
this.lblType.Text = "-";
//
// lblAmountCaption
//
this.lblAmountCaption.AutoSize = true;
this.lblAmountCaption.Location = new System.Drawing.Point(20, 76);
this.lblAmountCaption.Name = "lblAmountCaption";
this.lblAmountCaption.Size = new System.Drawing.Size(92, 17);
this.lblAmountCaption.TabIndex = 0;
this.lblAmountCaption.Text = "申请提现金额:";
//
// lblAmount
//
this.lblAmount.AutoSize = true;
this.lblAmount.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblAmount.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(77)))), ((int)(((byte)(79)))));
this.lblAmount.Location = new System.Drawing.Point(120, 70);
this.lblAmount.Name = "lblAmount";
this.lblAmount.Size = new System.Drawing.Size(61, 30);
this.lblAmount.TabIndex = 0;
this.lblAmount.Text = "0.00";
//
// lblOemCaption
//
this.lblOemCaption.AutoSize = true;
this.lblOemCaption.Location = new System.Drawing.Point(20, 46);
this.lblOemCaption.Name = "lblOemCaption";
this.lblOemCaption.Size = new System.Drawing.Size(73, 17);
this.lblOemCaption.TabIndex = 0;
this.lblOemCaption.Text = "OEM名称:";
//
// lblOem
//
this.lblOem.AutoSize = true;
this.lblOem.Location = new System.Drawing.Point(100, 46);
this.lblOem.Name = "lblOem";
this.lblOem.Size = new System.Drawing.Size(13, 17);
this.lblOem.TabIndex = 0;
this.lblOem.Text = "-";
//
// lblNoCaption
//
this.lblNoCaption.AutoSize = true;
this.lblNoCaption.Location = new System.Drawing.Point(20, 18);
this.lblNoCaption.Name = "lblNoCaption";
this.lblNoCaption.Size = new System.Drawing.Size(68, 17);
this.lblNoCaption.TabIndex = 0;
this.lblNoCaption.Text = "提现单号:";
//
// lblNo
//
this.lblNo.AutoSize = true;
this.lblNo.Location = new System.Drawing.Point(100, 18);
this.lblNo.Name = "lblNo";
this.lblNo.Size = new System.Drawing.Size(13, 17);
this.lblNo.TabIndex = 0;
this.lblNo.Text = "-";
//
// linkLabel1
//
this.linkLabel1.AutoSize = true;
this.linkLabel1.Location = new System.Drawing.Point(380, 134);
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new System.Drawing.Size(32, 17);
this.linkLabel1.TabIndex = 115;
this.linkLabel1.TabStop = true;
this.linkLabel1.Text = "查看";
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
//
// WXAdminOemWithdrawalAuditForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(460, 570);
this.Controls.Add(this.pnlContent);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.KeyPreview = true;
this.MaximizeBox = false;
this.Name = "WXAdminOemWithdrawalAuditForm";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "提现审核";
this.TitleText = "提现审核";
this.Load += new System.EventHandler(this.WXAdminOemWithdrawalAuditForm_Load);
this.Controls.SetChildIndex(this.pnlContent, 0);
this.pnlContent.ResumeLayout(false);
this.pnlContent.PerformLayout();
this.pnlReject.ResumeLayout(false);
this.pnlReject.PerformLayout();
this.pnlAgree.ResumeLayout(false);
this.pnlAgree.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel pnlContent;
private System.Windows.Forms.Label lblNoCaption;
private System.Windows.Forms.Label lblNo;
private System.Windows.Forms.Label lblOemCaption;
private System.Windows.Forms.Label lblOem;
private System.Windows.Forms.Label lblAmountCaption;
private System.Windows.Forms.Label lblAmount;
private System.Windows.Forms.Label lblTypeCaption;
private System.Windows.Forms.Label lblType;
private System.Windows.Forms.Label lblAccountCaption;
private System.Windows.Forms.Label lblAccount;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.RadioButton rbAgree;
private System.Windows.Forms.RadioButton rbReject;
private System.Windows.Forms.Panel pnlAgree;
private System.Windows.Forms.Label lblAgreeHint;
private System.Windows.Forms.Label lblAgreeTip;
private System.Windows.Forms.PictureBox pictureBox1;
private DevComponents.DotNetBar.PanelEx btnUploadImg;
private System.Windows.Forms.Panel pnlReject;
private System.Windows.Forms.Label lblRejectHint;
private System.Windows.Forms.Label lblRejectTip;
private System.Windows.Forms.TextBox txtRejectReason;
private DevComponents.DotNetBar.PanelEx btnSubmit;
private DevComponents.DotNetBar.PanelEx btnCancel;
private System.Windows.Forms.LinkLabel linkLabel1;
}
}
@@ -0,0 +1,240 @@
using AllBase;
using AllBase.Model.Result;
using AllBase.Model.Result.WXResult;
using Newtonsoft.Json;
using System;
using System.Drawing;
using System.IO;
using System.Text;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using TemuKJD.ToolForms;
using Work;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace TemuKJD.WXForms.AdminForms
{
/// <summary>
/// OEM提现审核窗体
/// 同意:需上传打款凭证图片;拒绝:需填写拒绝理由
/// </summary>
public partial class WXAdminOemWithdrawalAuditForm : BaseGeneralForm
{
/// <summary>当前审核的提现记录</summary>
private readonly WXOemWithdrawalInfo withdrawalInfo;
/// <summary>打款凭证图片(base64)</summary>
private string payImageBase64 = "";
public WXAdminOemWithdrawalAuditForm(WXOemWithdrawalInfo withdrawalInfo)
{
InitializeComponent();
this.withdrawalInfo = withdrawalInfo;
}
private void WXAdminOemWithdrawalAuditForm_Load(object sender, EventArgs e)
{
// 默认同意模式
this.rbAgree.Checked = true;
UpdateMode();
if (this.withdrawalInfo == null)
return;
this.lblNo.Text = this.withdrawalInfo.withdrawal_no;
this.lblOem.Text = this.withdrawalInfo.oem_name;
this.lblType.Text = this.withdrawalInfo.withdrawal_type_string;
this.lblAccount.Text = this.withdrawalInfo.account_no;
// 金额(分) → 元
this.lblAmount.Text = (this.withdrawalInfo.amount / 100m).ToString("F2");
// 凭证图片占位
this.pictureBox1.Image = Properties.Resources.nopic;
// 已审核完毕:仅展示审核内容,不允许二次修改和提交
if (this.withdrawalInfo.status != (int)OemWithdrawalStatus.Pending)
ShowAuditedView();
}
/// <summary>
/// 审核已完毕:仅展示审核内容(审核结果/拒绝理由/打款凭证),禁止再次修改与提交
/// </summary>
private void ShowAuditedView()
{
int status = this.withdrawalInfo.status;
if (status == (int)OemWithdrawalStatus.Rejected)
{
// 拒绝:展示拒绝理由
this.rbReject.Checked = true;
this.txtRejectReason.Text = this.withdrawalInfo.audit_remark ?? "";
}
else
{
// 同意(审核通过及其后续打款状态):展示打款凭证图片
this.rbAgree.Checked = true;
// 路径拼接规则与"收款账号-查看"一致:LoginApiUrl + 字段,字段为 pay_trade_no
if (!string.IsNullOrEmpty(this.withdrawalInfo.pay_trade_no))
LoadVoucherImage(BaseClass.LoginApiUrl + this.withdrawalInfo.pay_trade_no);
}
UpdateMode();
// 禁止二次修改与提交
this.rbAgree.Enabled = false;
this.rbReject.Enabled = false;
this.btnUploadImg.Visible = false;
this.txtRejectReason.ReadOnly = true;
this.btnSubmit.Visible = false;
this.Text = "审核详情";
this.TitleText = "审核详情";
}
/// <summary>
/// 加载打款凭证图片
/// </summary>
private void LoadVoucherImage(string voucherUrl)
{
try
{
if (voucherUrl.Contains("wxapp"))
{
string getImgError = "";
Image img = ImageBuild.LoadBitmapLoadBitmipImageFromUrl(voucherUrl, out getImgError);
this.pictureBox1.Image = img ?? Properties.Resources.nopic;
}
else
{
this.pictureBox1.ImageLocation = voucherUrl.Replace("https", "http");
}
}
catch
{
this.pictureBox1.Image = Properties.Resources.nopic;
}
}
/// <summary>根据选择的模式切换 同意/拒绝 面板</summary>
private void UpdateMode()
{
bool agree = this.rbAgree.Checked;
this.pnlAgree.Visible = agree;
this.pnlReject.Visible = !agree;
}
private void rbAgree_CheckedChanged(object sender, EventArgs e)
{
UpdateMode();
}
/// <summary>上传打款凭证图片</summary>
private void btnUploadImg_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Multiselect = false;
openFileDialog.Filter = "图片文件 (*.jpeg;*.jpg;*.png)|*.jpeg;*.jpg;*.png|All files (*.*)|*.*";
if (openFileDialog.ShowDialog() != DialogResult.OK)
return;
try
{
using (Image imageSource = Image.FromFile(openFileDialog.FileName))
{
using (MemoryStream memoryStream = new MemoryStream())
{
// 统一转成 jpg 压缩后提交,避免原图过大
Image image = new Bitmap(imageSource);
image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
image.Dispose();
byte[] imageBytes = memoryStream.ToArray();
payImageBase64 = Convert.ToBase64String(imageBytes);
}
this.pictureBox1.Image = new Bitmap(imageSource);
}
}
catch (Exception ex)
{
payImageBase64 = "";
this.pictureBox1.Image = Properties.Resources.nopic;
BaseMsgForm.ShowError("打开凭证图片失败 " + ex.Message);
}
}
/// <summary>提交审核</summary>
private void btnSubmit_Click(object sender, EventArgs e)
{
if (this.withdrawalInfo == null)
{
BaseMsgForm.ShowError("提现记录数据异常,请重试!");
return;
}
bool agree = this.rbAgree.Checked;
string rejectReason = this.txtRejectReason.Text.Trim();
if (agree && string.IsNullOrEmpty(payImageBase64))
{
BaseMsgForm.ShowError("请先上传打款凭证图片!");
return;
}
if (!agree && string.IsNullOrEmpty(rejectReason))
{
BaseMsgForm.ShowError("请填写拒绝理由!");
return;
}
if (BaseMsgForm.ShowConfirm(agree ? "确定审核通过该提现申请?" : "确定拒绝该提现申请?", "提示").DialogResult != DialogResult.OK)
return;
this.btnSubmit.Enabled = false;
try
{
var obj = UserLogin.GetSignPostData(new
{
withdrawal_no= withdrawalInfo.withdrawal_no,
audit_result = (agree ? 1 : 2),
pay_trade_no = payImageBase64,
audit_remark= GetHtml.UrlEncodeUtf8(rejectReason)
});
string data = JsonHelper.SerializeObject(obj);
var url = BaseClass.BuildObjString("user/oem_audit_withdrawal");
string html = GetHtml.PostUtf8(url, data);
var ret = JsonConvert.DeserializeObject<Result<OemAuditResult>>(html);
if (ret.Code != 200)
{
BaseMsgForm.ShowError("审核提交失败:" + ret.Msg);
return;
}
BaseMsgForm.ShowInfo(agree ? "审核通过成功!" : "已拒绝该提现申请!");
this.DialogResult = DialogResult.OK;
this.Close();
}
catch (Exception ex)
{
BaseMsgForm.ShowError("审核提交异常:" + ex.Message);
}
finally
{
this.btnSubmit.Enabled = true;
}
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
ShowImgForm img = new ShowImgForm(BaseClass.LoginApiUrl + withdrawalInfo.account_no);
img.ShowDialog();
}
class OemAuditResult
{
public string withdrawal_no { get; set; }
public int status { get; set; }
}
}
}
@@ -0,0 +1,170 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAQEAQHAAAAABoCgAAFgAAACgAAABAAAAAgAAAAAEABAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAV3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3UAAAAAAHd3d3d3d3d3d3d3d3d3d3d3d3d3
d3d3d3d3d3cAAABXd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3UAAHd3d3d3d3d3d3d3d3d3d3d3
d3d3d3d3d3d3d3d3dwAHd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3cAd3d3d3d4/4d3d3d3d3
d3d3d3d3d3d3d3d4/4d3d3dwV3d3d3d/iI/3d3d3d3d3d3d3d3d3d3d3d4+Ij3d3d3V3d3d3d/h3d/h3
d3d3d3d3d3d3d3d3d3d493d/93d3d3d4iIiH+Hd3f4iIiIiIiIiIiP///////4j3d3iIiId3d4////93
d3d/////////////h3d3d3d4iPd3f3j4/3d3d3d3f4d3d493d3d3d3d3d3d3d3d3d3f3j4j4f3d/h3d3
d3d4+Hd3+HeIiIiIiIiIiIiIiIiId/h4/4ePd3iHd3d3d3eP+I+HeP/////////////////4f4d3ePh3
f4d3d3d3d3eIh3d3d3d3d3d3d3d3d3d3d493j4j/h3eIh3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f4d4
iId3d3d3d3+I93d3j3j3j///iP+Hf3iHj///h3d/h3d3d3d3f4d3f4f/d3j4d/iIiIj/iId/+P/4iIh3
d3+Hd3d3d3d/h3d/h3+Hf4d3j3d3d493d3+Hj3d/h3d3f4d3d3d3d3iHd3+HeId4d3ePd/h4j3d3f4eP
iI+Id3d/h3d3d3d4j4d3f4j/////h493949/h3f/+I+Ij/h3d3+Hd3iI//iPh3d/h4+Ij4h3j3j3j3j3
d4+Hj3d/h3d3f4d4/4iHd3+HeP+Hf4d/h3ePj4f4d/h3f4f/j///d3d/h3iHd3d3j4d3/4d/h3+Hd4+I
d/h3+HeP+IiPj4d3d3+HeId3d3f4d3ePh/////93j4d3d3d3ePd3d3iId3d3f4d4h3d3ePd3d3j3j/iP
iHeP//////+H//iPj/iPd3d/h3iHd3d/h3d3d/h/h3+Hd3iIiP+IiHePh/h4/4h3d3+HePiIh493d3d3
iHiHeId3d3d3+Hd3d3h3h3eId3d3f4d3iIh393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d/+IiIiI+H
d3d3d3d3d3d3d4+Hd3d3d3d3d3d3d3d3d3+IiIiIh3d3d3d3d3d3d3d3ePh3d3d3d3d3d3d3d3d3f4d3
d3d3d3d3d4/////////4ePd3d3d3d3d3d3d3d3d/h3d3d3d3d3d3d3d3d3j///+Hj4d4iIj/////iIiI
iPh3d3d3d3d3d3d3d3d3eIiIiHj4d3iIiIj/iP+IiIiIh3d3d3d3d3d3d3d3d3d3d3d3j4d3d3d3d4+H
j4d3d3d3d3d3d3d3d3d3d3d3d3f///////////h3ePh4+Hd3d3d3d3d3d3d3d3d3d3d3d/+IiIiIiIiI
h3d3j4ePh3d3d3d3d3d3d3d3d3d3d3d3+Hd3d3d3d3d3d3d493/3d3d3d3d3d3d3d3d3d3d3d3ePh4//
//////h3d3f/d/93d3d3d3d3d3d3d3d3d3d3d3j4eP+IiIiIh3d3d3/3f/d3d3d3d3d3d3d3d3d3d3d3
d4+Hj4d3d3d3d3d3d/h4+Hd3d3d3d3d3d3d3d3d3d3d3ePh4/3d3d3d3d3d3f4ePh3d3d3d3d3d3d3d3
d3d3d3d3j4d/93d3d3d3d4j/+Hj4d3d3d3d3d3d3d3d3d3d3d3d4+Hf/d3d3d3eP/4iIh4+Hd3d3d3d3
d3d3d3d3d3d3d3eP93j4d3d3eP+Hd3d3ePd3d3d3d3d3d3d3d3d3d3d3d3f/d4+Hd3ePh3j//4d3/3d3
d3d3d3d3d3d3d3d3d3d3d3j4ePh3d/93/4iI/4ePh3d3d3d3d3d3d3d3d3d3d3d3d4+Hj4d4+H/4d3d/
+H/4d3d3d3d3d3d3d3d3d3d3d3d3ePd/h3/3j4d3d3f4ePh3d3d3d3d3d3d3d3d3d3d3d3d3/3j3f4f/
d3d3d494+Hd3d3d3d3d3d3d3d3d3d3d3d3ePePh/h/93d3d3j3f4d3d3d3d3d3d3d3d3d3d4h3d3d493
+H/3j3d3d3ePePh3d3d3d3d3d3d3d3d3eHj4d3d3j3j4ePePh3d3d/h4+Hd3d3d3d3d3d3d3d3d/h4+H
d3j4ePd3+Hj4d3eP93+Hd3d3d3d3d3d3d3d3d3j4eP+I/4d/h3ePh4/4j/93j3d3d3d3d3d3d3d3d3d3
d4+HeIiId/93d3j4d4/4h3j4d3d3d3d3d3d3d3d3d3d3ePiHd3eP93d3d4+Id3d4/4d3d3d3d3d3d3d3
d3d3d3d3j/////h3d3d3eP/4j//4d3d3d3d3d3d3V3d3d3d3d3d3iP+Ih3d3d3d3eI//iHd3d3d3d3d3
d3UHd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3cAd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3
d3d3d3dwAHd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dwAAV3d3d3d3d3d3d3d3d3d3d3d3d3d3
d3d3d3d3d3d1AAAAd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dwAAAAAAV3d3d3d3d3d3d3d3d3d3
d3d3d3d3d3d3d3UAAAD/gAAAAAAB//gAAAAAAAAf4AAAAAAAAAfAAAAAAAAAA8AAAAAAAAADgAAAAAAA
AAGAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAA
AAAAAAABwAAAAAAAAAPAAAAAAAAAA+AAAAAAAAAH+AAAAAAAAB//gAAAAAAB/w==
</value>
</data>
</root>
+9 -5
View File
@@ -1,4 +1,4 @@
namespace TemuKJD.WXForms.ShopForms
namespace TemuKJD.WXForms.ShopForms
{
partial class WXShopForm
{
@@ -38,12 +38,14 @@
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("店铺管理", new System.Windows.Forms.TreeNode[] {
System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("OEM提现管理");
System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
treeNode3,
treeNode4,
treeNode5,
treeNode11,
treeNode6,
treeNode7,
treeNode8,
@@ -160,10 +162,12 @@
treeNode9.Text = "税务申报";
treeNode10.Name = "积分充值";
treeNode10.Text = "积分充值";
treeNode11.Name = "店铺管理";
treeNode11.Text = "店铺管理";
treeNode11.Name = "OEM提现管理";
treeNode11.Text = "OEM提现管理";
treeNode12.Name = "店铺管理";
treeNode12.Text = "店铺管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode11});
treeNode12});
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;
+7 -2
View File
@@ -1,4 +1,4 @@
using AllBase;
using AllBase;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -33,6 +33,7 @@ namespace TemuKJD.WXForms.ShopForms
public Lazy<WXOemAccountForm> oemAccountForm = new Lazy<WXOemAccountForm>();
public Lazy<WXOemAccountBalanceForm> oemAccountBalanceForm = new Lazy<WXOemAccountBalanceForm>();
public Lazy<WXOemPointsTopUpListForm> oemAccountPointsForm = new Lazy<WXOemPointsTopUpListForm>();
public Lazy<WXShopOemWithdrawalForm> oemWithdrawalForm = new Lazy<WXShopOemWithdrawalForm>();
public WXShopForm()
@@ -60,7 +61,7 @@ namespace TemuKJD.WXForms.ShopForms
public List<string> getHideTreeNodes()
{
List<string> hideNames = new List<string>() { "积分充值", "OEM账号管理", "OEM返现明细", "OEM积分明细", "店铺地址管理", "评分考核", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
List<string> hideNames = new List<string>() { "积分充值", "OEM账号管理", "OEM返现明细", "OEM积分明细", "OEM提现管理", "店铺地址管理", "评分考核", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
if (BaseClass.SaLevel == 1)
{
@@ -85,6 +86,7 @@ namespace TemuKJD.WXForms.ShopForms
hideNames.Remove("OEM账号管理");
hideNames.Remove("OEM返现明细");
hideNames.Remove("OEM积分明细");
hideNames.Remove("OEM提现管理");
}
foreach (var forbiddenPage in BaseClass.ForbiddenPage.Split(','))
@@ -145,6 +147,9 @@ namespace TemuKJD.WXForms.ShopForms
case "OEM积分明细":
SetForm(oemAccountPointsForm.Value);
break;
case "OEM提现管理":
SetForm(oemWithdrawalForm.Value);
break;
}
}));
}).Start();
@@ -0,0 +1,615 @@
namespace TemuKJD.WXForms.ShopForms
{
partial class WXShopOemWithdrawalForm
{
/// <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()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WXShopOemWithdrawalForm));
this.panel1 = new System.Windows.Forms.Panel();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.ucGroupBox1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.btnRefreshBalance = new DevComponents.DotNetBar.PanelEx();
this.lblWithdrawnLabel = new System.Windows.Forms.Label();
this.lblTotalWithdrawn = new System.Windows.Forms.Label();
this.lblRebateLabel = new System.Windows.Forms.Label();
this.lblTotalRebate = new System.Windows.Forms.Label();
this.lblWithdrawableLabel = new System.Windows.Forms.Label();
this.lblWithdrawable = new System.Windows.Forms.Label();
this.ucGroupBox2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.btnSubmit = new DevComponents.DotNetBar.PanelEx();
this.btnSelectImage = new DevComponents.DotNetBar.PanelEx();
this.pictureBoxQr = new System.Windows.Forms.PictureBox();
this.lblQrLabel = new System.Windows.Forms.Label();
this.lblAmountLabel = new System.Windows.Forms.Label();
this.numAmount = new System.Windows.Forms.NumericUpDown();
this.lblTypeLabel = new System.Windows.Forms.Label();
this.cmbType = new System.Windows.Forms.ComboBox();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.pbLoading = new System.Windows.Forms.PictureBox();
this.dgvWithdrawal = new TemuKJD.UserComponent.DataGridViewEx();
this.colNo = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colAmount = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colAccount = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colApplyTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colAuditRemark = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colAuditTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colPayTradeNo = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.ucGroupBox1.SuspendLayout();
this.ucGroupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxQr)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numAmount)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
this.splitContainer2.Panel1.SuspendLayout();
this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgvWithdrawal)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Controls.Add(this.splitContainer1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(1, 33);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1222, 586);
this.panel1.TabIndex = 0;
//
// splitContainer1
//
this.splitContainer1.BackColor = System.Drawing.Color.White;
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.tableLayoutPanel1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
this.splitContainer1.Panel2.Padding = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.splitContainer1.Size = new System.Drawing.Size(1222, 586);
this.splitContainer1.SplitterDistance = 196;
this.splitContainer1.SplitterWidth = 3;
this.splitContainer1.TabIndex = 0;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.ucGroupBox1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.ucGroupBox2, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 45F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 55F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(1222, 196);
this.tableLayoutPanel1.TabIndex = 0;
//
// ucGroupBox1
//
this.ucGroupBox1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucGroupBox1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
this.ucGroupBox1.Controls.Add(this.btnRefreshBalance);
this.ucGroupBox1.Controls.Add(this.lblWithdrawnLabel);
this.ucGroupBox1.Controls.Add(this.lblTotalWithdrawn);
this.ucGroupBox1.Controls.Add(this.lblRebateLabel);
this.ucGroupBox1.Controls.Add(this.lblTotalRebate);
this.ucGroupBox1.Controls.Add(this.lblWithdrawableLabel);
this.ucGroupBox1.Controls.Add(this.lblWithdrawable);
this.ucGroupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucGroupBox1.Location = new System.Drawing.Point(0, 2);
this.ucGroupBox1.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.ucGroupBox1.Name = "ucGroupBox1";
this.ucGroupBox1.Size = new System.Drawing.Size(1222, 84);
this.ucGroupBox1.TabIndex = 0;
this.ucGroupBox1.TabStop = false;
this.ucGroupBox1.Text = "账户统计";
//
// btnRefreshBalance
//
this.btnRefreshBalance.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnRefreshBalance.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnRefreshBalance.DisabledBackColor = System.Drawing.Color.Empty;
this.btnRefreshBalance.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnRefreshBalance.Location = new System.Drawing.Point(1130, 41);
this.btnRefreshBalance.Name = "btnRefreshBalance";
this.btnRefreshBalance.Size = new System.Drawing.Size(60, 23);
this.btnRefreshBalance.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnRefreshBalance.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnRefreshBalance.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnRefreshBalance.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnRefreshBalance.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnRefreshBalance.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnRefreshBalance.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnRefreshBalance.Style.GradientAngle = 90;
this.btnRefreshBalance.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnRefreshBalance.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnRefreshBalance.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnRefreshBalance.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
this.btnRefreshBalance.TabIndex = 6;
this.btnRefreshBalance.Text = "刷新";
this.btnRefreshBalance.Click += new System.EventHandler(this.btnRefreshBalance_Click);
//
// lblWithdrawnLabel
//
this.lblWithdrawnLabel.AutoSize = true;
this.lblWithdrawnLabel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblWithdrawnLabel.Location = new System.Drawing.Point(476, 47);
this.lblWithdrawnLabel.Name = "lblWithdrawnLabel";
this.lblWithdrawnLabel.Size = new System.Drawing.Size(112, 17);
this.lblWithdrawnLabel.TabIndex = 5;
this.lblWithdrawnLabel.Text = "历史累计提现(元):";
//
// lblTotalWithdrawn
//
this.lblTotalWithdrawn.AutoSize = true;
this.lblTotalWithdrawn.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblTotalWithdrawn.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(233)))), ((int)(((byte)(72)))), ((int)(((byte)(66)))));
this.lblTotalWithdrawn.Location = new System.Drawing.Point(596, 42);
this.lblTotalWithdrawn.Name = "lblTotalWithdrawn";
this.lblTotalWithdrawn.Size = new System.Drawing.Size(45, 22);
this.lblTotalWithdrawn.TabIndex = 4;
this.lblTotalWithdrawn.Text = "0.00";
//
// lblRebateLabel
//
this.lblRebateLabel.AutoSize = true;
this.lblRebateLabel.Location = new System.Drawing.Point(239, 47);
this.lblRebateLabel.Name = "lblRebateLabel";
this.lblRebateLabel.Size = new System.Drawing.Size(112, 17);
this.lblRebateLabel.TabIndex = 3;
this.lblRebateLabel.Text = "历史累计返利(元):";
//
// lblTotalRebate
//
this.lblTotalRebate.AutoSize = true;
this.lblTotalRebate.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblTotalRebate.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(140)))), ((int)(((byte)(0)))));
this.lblTotalRebate.Location = new System.Drawing.Point(359, 42);
this.lblTotalRebate.Name = "lblTotalRebate";
this.lblTotalRebate.Size = new System.Drawing.Size(45, 22);
this.lblTotalRebate.TabIndex = 2;
this.lblTotalRebate.Text = "0.00";
//
// lblWithdrawableLabel
//
this.lblWithdrawableLabel.AutoSize = true;
this.lblWithdrawableLabel.Location = new System.Drawing.Point(20, 47);
this.lblWithdrawableLabel.Name = "lblWithdrawableLabel";
this.lblWithdrawableLabel.Size = new System.Drawing.Size(100, 17);
this.lblWithdrawableLabel.TabIndex = 1;
this.lblWithdrawableLabel.Text = "可提现总额(元):";
//
// lblWithdrawable
//
this.lblWithdrawable.AutoSize = true;
this.lblWithdrawable.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblWithdrawable.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.lblWithdrawable.Location = new System.Drawing.Point(140, 42);
this.lblWithdrawable.Name = "lblWithdrawable";
this.lblWithdrawable.Size = new System.Drawing.Size(45, 22);
this.lblWithdrawable.TabIndex = 0;
this.lblWithdrawable.Text = "0.00";
//
// ucGroupBox2
//
this.ucGroupBox2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucGroupBox2.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
this.ucGroupBox2.Controls.Add(this.btnSubmit);
this.ucGroupBox2.Controls.Add(this.btnSelectImage);
this.ucGroupBox2.Controls.Add(this.pictureBoxQr);
this.ucGroupBox2.Controls.Add(this.lblQrLabel);
this.ucGroupBox2.Controls.Add(this.lblAmountLabel);
this.ucGroupBox2.Controls.Add(this.numAmount);
this.ucGroupBox2.Controls.Add(this.lblTypeLabel);
this.ucGroupBox2.Controls.Add(this.cmbType);
this.ucGroupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucGroupBox2.Location = new System.Drawing.Point(0, 90);
this.ucGroupBox2.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.ucGroupBox2.Name = "ucGroupBox2";
this.ucGroupBox2.Size = new System.Drawing.Size(1222, 104);
this.ucGroupBox2.TabIndex = 1;
this.ucGroupBox2.TabStop = false;
this.ucGroupBox2.Text = "申请提现";
//
// btnSubmit
//
this.btnSubmit.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnSubmit.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSubmit.DisabledBackColor = System.Drawing.Color.Empty;
this.btnSubmit.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSubmit.Location = new System.Drawing.Point(850, 58);
this.btnSubmit.Name = "btnSubmit";
this.btnSubmit.Size = new System.Drawing.Size(86, 27);
this.btnSubmit.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnSubmit.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSubmit.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSubmit.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnSubmit.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnSubmit.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnSubmit.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnSubmit.Style.GradientAngle = 90;
this.btnSubmit.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnSubmit.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnSubmit.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnSubmit.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
this.btnSubmit.TabIndex = 7;
this.btnSubmit.Text = "提交申请";
this.btnSubmit.Click += new System.EventHandler(this.btnSubmit_Click);
//
// btnSelectImage
//
this.btnSelectImage.CanvasColor = System.Drawing.SystemColors.Control;
this.btnSelectImage.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnSelectImage.DisabledBackColor = System.Drawing.Color.Empty;
this.btnSelectImage.Location = new System.Drawing.Point(742, 58);
this.btnSelectImage.Name = "btnSelectImage";
this.btnSelectImage.Size = new System.Drawing.Size(86, 27);
this.btnSelectImage.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnSelectImage.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnSelectImage.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnSelectImage.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.btnSelectImage.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSelectImage.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
this.btnSelectImage.Style.GradientAngle = 90;
this.btnSelectImage.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
this.btnSelectImage.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnSelectImage.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSelectImage.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSelectImage.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
this.btnSelectImage.TabIndex = 6;
this.btnSelectImage.Text = "选择图片";
this.btnSelectImage.Click += new System.EventHandler(this.btnSelectImage_Click);
//
// pictureBoxQr
//
this.pictureBoxQr.BackColor = System.Drawing.Color.White;
this.pictureBoxQr.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pictureBoxQr.Image = global::TemuKJD.Properties.Resources.nopic;
this.pictureBoxQr.Location = new System.Drawing.Point(660, 32);
this.pictureBoxQr.Name = "pictureBoxQr";
this.pictureBoxQr.Size = new System.Drawing.Size(76, 56);
this.pictureBoxQr.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBoxQr.TabIndex = 5;
this.pictureBoxQr.TabStop = false;
//
// lblQrLabel
//
this.lblQrLabel.AutoSize = true;
this.lblQrLabel.Location = new System.Drawing.Point(570, 52);
this.lblQrLabel.Name = "lblQrLabel";
this.lblQrLabel.Size = new System.Drawing.Size(80, 17);
this.lblQrLabel.TabIndex = 4;
this.lblQrLabel.Text = "收款二维码:";
//
// lblAmountLabel
//
this.lblAmountLabel.AutoSize = true;
this.lblAmountLabel.Location = new System.Drawing.Point(250, 52);
this.lblAmountLabel.Name = "lblAmountLabel";
this.lblAmountLabel.Size = new System.Drawing.Size(88, 17);
this.lblAmountLabel.TabIndex = 3;
this.lblAmountLabel.Text = "提现金额(元):";
//
// numAmount
//
this.numAmount.DecimalPlaces = 2;
this.numAmount.Location = new System.Drawing.Point(365, 48);
this.numAmount.Maximum = new decimal(new int[] {
100000000,
0,
0,
0});
this.numAmount.Name = "numAmount";
this.numAmount.Size = new System.Drawing.Size(140, 23);
this.numAmount.TabIndex = 2;
this.numAmount.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
this.numAmount.ThousandsSeparator = true;
this.numAmount.Value = new decimal(new int[] {
10,
0,
0,
0});
//
// lblTypeLabel
//
this.lblTypeLabel.AutoSize = true;
this.lblTypeLabel.Location = new System.Drawing.Point(20, 52);
this.lblTypeLabel.Name = "lblTypeLabel";
this.lblTypeLabel.Size = new System.Drawing.Size(68, 17);
this.lblTypeLabel.TabIndex = 1;
this.lblTypeLabel.Text = "提现方式:";
//
// cmbType
//
this.cmbType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbType.FormattingEnabled = true;
this.cmbType.Items.AddRange(new object[] {
"支付宝"});
this.cmbType.Location = new System.Drawing.Point(100, 48);
this.cmbType.Name = "cmbType";
this.cmbType.Size = new System.Drawing.Size(120, 25);
this.cmbType.TabIndex = 0;
//
// splitContainer2
//
this.splitContainer2.BackColor = System.Drawing.Color.White;
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer2.Location = new System.Drawing.Point(2, 0);
this.splitContainer2.Name = "splitContainer2";
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer2.Panel1
//
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
this.splitContainer2.Panel1.Controls.Add(this.dgvWithdrawal);
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
//
// splitContainer2.Panel2
//
this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
this.splitContainer2.Panel2.Controls.Add(this.statusBar);
this.splitContainer2.Size = new System.Drawing.Size(1218, 387);
this.splitContainer2.SplitterDistance = 358;
this.splitContainer2.TabIndex = 0;
//
// pbLoading
//
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbLoading.Location = new System.Drawing.Point(584, 154);
this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pbLoading.TabIndex = 6;
this.pbLoading.TabStop = false;
this.pbLoading.Visible = false;
//
// dgvWithdrawal
//
this.dgvWithdrawal.AllowUserToAddRows = false;
this.dgvWithdrawal.AllowUserToDeleteRows = false;
dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvWithdrawal.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
this.dgvWithdrawal.AutoRowNumber = true;
this.dgvWithdrawal.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dgvWithdrawal.BackgroundColor = System.Drawing.Color.White;
this.dgvWithdrawal.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvWithdrawal.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
this.dgvWithdrawal.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvWithdrawal.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colNo,
this.colAmount,
this.colType,
this.colAccount,
this.colStatus,
this.colApplyTime,
this.colAuditRemark,
this.colAuditTime,
this.colPayTradeNo});
this.dgvWithdrawal.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvWithdrawal.Location = new System.Drawing.Point(4, 0);
this.dgvWithdrawal.MultiSelectCheckBox = false;
this.dgvWithdrawal.Name = "dgvWithdrawal";
this.dgvWithdrawal.ReadOnly = true;
this.dgvWithdrawal.RowTemplate.Height = 23;
this.dgvWithdrawal.ShowCellErrors = false;
this.dgvWithdrawal.Size = new System.Drawing.Size(1210, 358);
this.dgvWithdrawal.TabIndex = 5;
//
// colNo
//
this.colNo.FillWeight = 38F;
this.colNo.HeaderText = "提现单号";
this.colNo.Name = "colNo";
this.colNo.ReadOnly = true;
//
// colAmount
//
this.colAmount.FillWeight = 22F;
this.colAmount.HeaderText = "提现金额";
this.colAmount.Name = "colAmount";
this.colAmount.ReadOnly = true;
//
// colType
//
this.colType.FillWeight = 20F;
this.colType.HeaderText = "提现方式";
this.colType.Name = "colType";
this.colType.ReadOnly = true;
//
// colAccount
//
this.colAccount.FillWeight = 26F;
this.colAccount.HeaderText = "收款账号";
this.colAccount.Name = "colAccount";
this.colAccount.ReadOnly = true;
//
// colStatus
//
this.colStatus.FillWeight = 20F;
this.colStatus.HeaderText = "审核状态";
this.colStatus.Name = "colStatus";
this.colStatus.ReadOnly = true;
//
// colApplyTime
//
this.colApplyTime.FillWeight = 30F;
this.colApplyTime.HeaderText = "申请时间";
this.colApplyTime.Name = "colApplyTime";
this.colApplyTime.ReadOnly = true;
//
// colAuditRemark
//
this.colAuditRemark.FillWeight = 38F;
this.colAuditRemark.HeaderText = "审核消息";
this.colAuditRemark.Name = "colAuditRemark";
this.colAuditRemark.ReadOnly = true;
//
// colAuditTime
//
this.colAuditTime.FillWeight = 30F;
this.colAuditTime.HeaderText = "审核时间";
this.colAuditTime.Name = "colAuditTime";
this.colAuditTime.ReadOnly = true;
//
// colPayTradeNo
//
this.colPayTradeNo.FillWeight = 30F;
this.colPayTradeNo.HeaderText = "打款订单";
this.colPayTradeNo.Name = "colPayTradeNo";
this.colPayTradeNo.ReadOnly = true;
//
// ucSplitPage1
//
this.ucSplitPage1.CurrentPage = 1;
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
this.ucSplitPage1.IsShowPageSize = true;
this.ucSplitPage1.Location = new System.Drawing.Point(829, 0);
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
this.ucSplitPage1.Name = "ucSplitPage1";
this.ucSplitPage1.PageSize = 50;
this.ucSplitPage1.Size = new System.Drawing.Size(389, 25);
this.ucSplitPage1.TabIndex = 4;
this.ucSplitPage1.TotalPage = 1;
this.ucSplitPage1.PageChange += new System.Action<object>(this.ucSplitPage1_PageChange);
//
// statusBar
//
this.statusBar.BackColor = System.Drawing.Color.White;
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.statusBar.Location = new System.Drawing.Point(0, 0);
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
this.statusBar.Name = "statusBar";
this.statusBar.Size = new System.Drawing.Size(1218, 25);
this.statusBar.TabIndex = 1;
//
// WXShopOemWithdrawalForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(1224, 620);
this.Controls.Add(this.panel1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.KeyPreview = true;
this.Name = "WXShopOemWithdrawalForm";
this.Text = "OEM提现管理";
this.TitleText = "OEM提现管理";
this.VisibleChanged += new System.EventHandler(this.WXShopOemWithdrawalForm_VisibleChanged);
this.Controls.SetChildIndex(this.panel1, 0);
this.panel1.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.ucGroupBox1.ResumeLayout(false);
this.ucGroupBox1.PerformLayout();
this.ucGroupBox2.ResumeLayout(false);
this.ucGroupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxQr)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numAmount)).EndInit();
this.splitContainer2.Panel1.ResumeLayout(false);
this.splitContainer2.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
this.splitContainer2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgvWithdrawal)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private UserComponent.UcGroupBoxEx ucGroupBox1;
private DevComponents.DotNetBar.PanelEx btnRefreshBalance;
private System.Windows.Forms.Label lblWithdrawnLabel;
private System.Windows.Forms.Label lblTotalWithdrawn;
private System.Windows.Forms.Label lblRebateLabel;
private System.Windows.Forms.Label lblTotalRebate;
private System.Windows.Forms.Label lblWithdrawableLabel;
private System.Windows.Forms.Label lblWithdrawable;
private UserComponent.UcGroupBoxEx ucGroupBox2;
private DevComponents.DotNetBar.PanelEx btnSubmit;
private DevComponents.DotNetBar.PanelEx btnSelectImage;
private System.Windows.Forms.PictureBox pictureBoxQr;
private System.Windows.Forms.Label lblQrLabel;
private System.Windows.Forms.Label lblAmountLabel;
private System.Windows.Forms.NumericUpDown numAmount;
private System.Windows.Forms.Label lblTypeLabel;
private System.Windows.Forms.ComboBox cmbType;
private System.Windows.Forms.SplitContainer splitContainer2;
private System.Windows.Forms.PictureBox pbLoading;
private UserComponent.DataGridViewEx dgvWithdrawal;
private UserControls.UcSplitPage ucSplitPage1;
private UserControls.StatusBarUserControl statusBar;
private System.Windows.Forms.DataGridViewTextBoxColumn colNo;
private System.Windows.Forms.DataGridViewTextBoxColumn colAmount;
private System.Windows.Forms.DataGridViewTextBoxColumn colType;
private System.Windows.Forms.DataGridViewTextBoxColumn colAccount;
private System.Windows.Forms.DataGridViewTextBoxColumn colStatus;
private System.Windows.Forms.DataGridViewTextBoxColumn colApplyTime;
private System.Windows.Forms.DataGridViewTextBoxColumn colAuditRemark;
private System.Windows.Forms.DataGridViewTextBoxColumn colAuditTime;
private System.Windows.Forms.DataGridViewTextBoxColumn colPayTradeNo;
}
}
@@ -0,0 +1,358 @@
using AllBase;
using AllBase.Extension;
using AllBase.Model.Result;
using AllBase.Model.Result.WXResult;
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.Drawing.Printing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using TemuKJD.Extension;
using Work;
using Work.Api;
using Work.BLL.Tools;
namespace TemuKJD.WXForms.ShopForms
{
/// <summary>
/// 商户(OEM)提现管理:
/// 上半部分:账户统计(可提现总额 / 历史累计返利 / 历史累计提现) + 申请提现(上传收款二维码图片);
/// 下半部分:已申请的提现记录列表(DataGridView 绑定方式,参考 WXAdminOemWithdrawal)。
/// 接口约定(与后台 user/* 系列一致):
/// user/oem_withdrawal_summary → data: { withdrawable_amount(分), total_rebate(分), total_withdrawn(分) }
/// user/oem_withdrawal_apply → 参数 amount(分) / withdrawal_type / qrcode_base64
/// user/oem_withdrawals → 分页返回提现记录列表
/// </summary>
public partial class WXShopOemWithdrawalForm : BaseForms.BaseGeneralForm
{
private BindingList<WXOemWithdrawalInfo> dataList = new BindingList<WXOemWithdrawalInfo>();
/// <summary>收款二维码图片(base64)</summary>
private string qrCodeBase64 = "";
public WXShopOemWithdrawalForm()
{
InitializeComponent();
InitBindingDataGridView();
this.cmbType.SelectedIndex = 0;
}
#region 提现记录列表(DataGridView 绑定方式)
/// <summary>
/// 初始化 DataGridView 绑定:列与模型字段绑定(参考 WXAdminOemWithdrawal.InitBindingDataGridView)
/// </summary>
private void InitBindingDataGridView()
{
this.dgvWithdrawal.AutoGenerateColumns = false;
this.colNo.DataPropertyName = nameof(WXOemWithdrawalInfo.withdrawal_no);
this.colAmount.DataPropertyName = nameof(WXOemWithdrawalInfo.amount);
this.colType.DataPropertyName = nameof(WXOemWithdrawalInfo.withdrawal_type_string);
this.colAccount.DataPropertyName = nameof(WXOemWithdrawalInfo.account_no);
this.colStatus.DataPropertyName = nameof(WXOemWithdrawalInfo.status_string);
this.colApplyTime.DataPropertyName = nameof(WXOemWithdrawalInfo.created_at);
this.colAuditRemark.DataPropertyName = nameof(WXOemWithdrawalInfo.audit_remark);
this.colAuditTime.DataPropertyName = nameof(WXOemWithdrawalInfo.audit_time);
this.colPayTradeNo.DataPropertyName = nameof(WXOemWithdrawalInfo.pay_trade_no);
// 时间列格式化
this.colApplyTime.DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss";
this.colAuditTime.DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss";
// 金额列右对齐
this.colAmount.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
// 注册金额格式化事件(分→元)
this.dgvWithdrawal.CellFormatting += DgvWithdrawal_CellFormatting;
this.dgvWithdrawal.DataSource = dataList;
}
private void DgvWithdrawal_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
// 金额列:将分转换为元
if (e.ColumnIndex == this.colAmount.Index && e.Value != null && e.Value != DBNull.Value)
{
if (long.TryParse(e.Value.ToString(), out long amountInFen))
{
e.Value = (amountInFen / 100m).ToString("F2");
e.FormattingApplied = true;
}
}
}
#endregion
#region 数据加载
private void WXShopOemWithdrawalForm_VisibleChanged(object sender, EventArgs e)
{
if (this.Visible && first)
{
first = false;
RefreshAll();
}
}
bool first = true;
/// <summary>
/// 刷新账户统计 + 提现记录
/// </summary>
private void RefreshAll()
{
LoadSummary();
GetWithdrawals(ucSplitPage1.CurrentPage);
}
/// <summary>
/// 加载账户统计:可提现总额 / 历史累计返利 / 历史累计提现
/// </summary>
public void LoadSummary()
{
this.btnRefreshBalance.Enabled = false;
Task.Run(() =>
{
try
{
var url = BaseClass.BuildObjString("user/oem_settle_flows");
var obj = UserLogin.GetSignPostData(new { });
string data = JsonHelper.SerializeObject(obj);
var html = GetHtml.PostUtf8(url, data);
var ret = JsonConvert.DeserializeObject<Result<oemflowsStatistics>>(html);
Invoke(new Action(() =>
{
if (ret.Code != 200)
{
BaseMsgForm.ShowError("刷新失败:" + ret.Msg);
return;
}
this.lblWithdrawable.Text = (ret.Data.available_balance / 100m).ToString("F2");
this.lblTotalRebate.Text = (ret.Data.total_rebate_amount / 100m).ToString("F2");
this.lblTotalWithdrawn.Text = (ret.Data.total_withdraw_amount / 100m).ToString("F2");
}));
}
finally
{
Invoke(new Action(() => this.btnRefreshBalance.Enabled = true));
}
});
}
/// <summary>
/// 加载提现记录(分页)
/// </summary>
public void GetWithdrawals(int page)
{
this.pbLoading.Visible = true;
this.dgvWithdrawal.Rows.Clear();
dataList.Clear();
int pageSize = this.ucSplitPage1.PageSize;
Task.Run(() =>
{
int pageCount;
decimal seconds;
List<WXOemWithdrawalInfo> list = GetOemWithdrawals(out pageCount, out seconds, page, pageSize);
Invoke(new Action(() =>
{
this.ucSplitPage1.TotalPage = pageCount;
list.ForEach(a => dataList.Add(a));
this.pbLoading.Visible = false;
this.statusBar.lblTaskStatus.Text = "提现记录查询完毕";
#if DEBUG
this.statusBar.lblTaskStatus.Text += ",耗时:" + seconds;
#endif
}));
});
}
public List<WXOemWithdrawalInfo> GetOemWithdrawals(out int pageCount, out decimal seconds, int page = 1, int pageSize = 200)
{
List<WXOemWithdrawalInfo> list = new List<WXOemWithdrawalInfo>();
pageCount = 1;
seconds = 0;
var url = BaseClass.BuildObjString("user/oem_withdrawals");
var obj = UserLogin.GetSignPostData(new
{
page = page,
page_size = pageSize
});
string data = JsonHelper.SerializeObject(obj);
var html = GetHtml.PostUtf8(url, data);
var ret = JsonConvert.DeserializeObject<PageResult<WXOemWithdrawalInfo>>(html);
if (ret.Code != 200)
{
Invoke(new Action(() =>
{
BaseMsgForm.ShowError("提现记录获取失败,请重试!" + ret.Msg);
}));
return list;
}
seconds = BaseRegex.GetDecimalJson(ref html, "seconds");
pageCount = Math.Ceiling(1.0 * ret.Total / pageSize).ParseToInt();
pageCount = Math.Max(pageCount, 1);
return ret.Data;
}
#endregion
#region 事件
/// <summary>刷新可提现总额等账户统计</summary>
private void btnRefreshBalance_Click(object sender, EventArgs e)
{
LoadSummary();
}
/// <summary>选择收款二维码图片</summary>
private void btnSelectImage_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Multiselect = false;
openFileDialog.Filter = "图片文件 (*.jpeg;*.jpg;*.png;*.bmp)|*.jpeg;*.jpg;*.png;*.bmp|All files (*.*)|*.*";
if (openFileDialog.ShowDialog() != DialogResult.OK)
return;
try
{
using (Image imageSource = Image.FromFile(openFileDialog.FileName))
{
using (MemoryStream memoryStream = new MemoryStream())
{
// 统一转成 jpg 压缩后提交,避免原图过大
Image image = new Bitmap(imageSource);
image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
image.Dispose();
byte[] imageBytes = memoryStream.ToArray();
qrCodeBase64 = Convert.ToBase64String(imageBytes);
}
this.pictureBoxQr.Image = new Bitmap(imageSource);
}
}
catch (Exception ex)
{
qrCodeBase64 = "";
this.pictureBoxQr.Image = Properties.Resources.nopic;
BaseMsgForm.ShowError("打开二维码图片失败 " + ex.Message);
}
}
/// <summary>提交提现申请</summary>
private void btnSubmit_Click(object sender, EventArgs e)
{
decimal amountYuan = this.numAmount.Value;
if (amountYuan <= 0)
{
BaseMsgForm.ShowError("请输入提现金额!");
return;
}
if (string.IsNullOrEmpty(qrCodeBase64))
{
BaseMsgForm.ShowError("请先上传收款二维码图片!");
return;
}
if (BaseMsgForm.ShowConfirm("确定提交提现申请?提现金额:" + amountYuan.ToString("F2") + " 元", "提示").DialogResult != DialogResult.OK)
return;
this.btnSubmit.Enabled = false;
try
{
// 金额(元) → 分
long amountFen = (long)(amountYuan * 100m);
// 提现方式:1银行卡 2支付宝 3微信 4其他
int withdrawalType = GetWithdrawalType(this.cmbType.Text);
string data = "";
var obj = UserLogin.GetSignPostData(new
{
amount = amountFen,
withdrawal_type = withdrawalType,
account_no = qrCodeBase64,
});
data = JsonHelper.SerializeObject(obj);
//data.Append(UserLogin.GetSignaturex());
//data.Append("&amount=" + amountFen);
//data.Append("&withdrawal_type=" + withdrawalType);
//data.Append("&qrcode_base64=" + GetHtml.UrlEncodeUtf8(qrCodeBase64));
var url = BaseClass.BuildObjString("user/apply_oem_withdrawal");
string html = GetHtml.PostUtf8(url, data.ToString());
var ret = JsonConvert.DeserializeObject<Result>(html);
if (ret.Code != 200)
{
BaseMsgForm.ShowError("提现申请提交失败:" + ret.Msg);
return;
}
BaseMsgForm.ShowInfo("提现申请提交成功!");
// 提交成功后:清空输入、刷新统计与记录
this.numAmount.Value = 0;
this.qrCodeBase64 = "";
this.pictureBoxQr.Image = Properties.Resources.nopic;
RefreshAll();
}
catch (Exception ex)
{
BaseMsgForm.ShowError("提现申请提交异常:" + ex.Message);
}
finally
{
this.btnSubmit.Enabled = true;
}
}
/// <summary>
/// 提现方式名称 → 类型值:1银行卡 2支付宝 3微信 4其他
/// </summary>
private static int GetWithdrawalType(string typeName)
{
switch (typeName)
{
case "支付宝": return 2;
case "银行卡": return 1;
case "其他": return 4;
default: return 3; // 微信收款
}
}
private void ucSplitPage1_PageChange(object obj)
{
GetWithdrawals(ucSplitPage1.CurrentPage);
}
#endregion
}
class oemflowsStatistics
{
/// <summary>
/// 当前可提现
/// </summary>
public long available_balance { get; set; }
/// <summary>
/// 历史累计返利
/// </summary>
public long total_rebate_amount { get; set; }
/// <summary>
/// 历史累计提现
/// </summary>
public long total_withdraw_amount { get; set; }
}
}
@@ -0,0 +1,170 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAQEAQAAAAAABoCgAAFgAAACgAAABAAAAAgAAAAAEABAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAV3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3UAAAAAAHd3d3d3d3d3d3d3d3d3d3d3d3d3
d3d3d3d3d3cAAABXd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3UAAHd3d3d3d3d3d3d3d3d3d3d3
d3d3d3d3d3d3d3d3dwAHd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3cAd3d3d3d4/4d3d3d3d3
d3d3d3d3d3d3d3d4/4d3d3dwV3d3d3d/iI/3d3d3d3d3d3d3d3d3d3d3d4+Ij3d3d3V3d3d3d/h3d/h3
d3d3d3d3d3d3d3d3d3d493d/93d3d3d4iIiH+Hd3f4iIiIiIiIiIiP///////4j3d3iIiId3d4////93
d3d/////////////h3d3d3d4iPd3f3j4/3d3d3d3f4d3d493d3d3d3d3d3d3d3d3d3f3j4j4f3d/h3d3
d3d4+Hd3+HeIiIiIiIiIiIiIiIiId/h4/4ePd3iHd3d3d3eP+I+HeP/////////////////4f4d3ePh3
f4d3d3d3d3eIh3d3d3d3d3d3d3d3d3d3d493j4j/h3eIh3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f4d4
iId3d3d3d3+I93d3j3j3j///iP+Hf3iHj///h3d/h3d3d3d3f4d3f4f/d3j4d/iIiIj/iId/+P/4iIh3
d3+Hd3d3d3d/h3d/h3+Hf4d3j3d3d493d3+Hj3d/h3d3f4d3d3d3d3iHd3+HeId4d3ePd/h4j3d3f4eP
iI+Id3d/h3d3d3d4j4d3f4j/////h493949/h3f/+I+Ij/h3d3+Hd3iI//iPh3d/h4+Ij4h3j3j3j3j3
d4+Hj3d/h3d3f4d4/4iHd3+HeP+Hf4d/h3ePj4f4d/h3f4f/j///d3d/h3iHd3d3j4d3/4d/h3+Hd4+I
d/h3+HeP+IiPj4d3d3+HeId3d3f4d3ePh/////93j4d3d3d3ePd3d3iId3d3f4d4h3d3ePd3d3j3j/iP
iHeP//////+H//iPj/iPd3d/h3iHd3d/h3d3d/h/h3+Hd3iIiP+IiHePh/h4/4h3d3+HePiIh493d3d3
iHiHeId3d3d3+Hd3d3h3h3eId3d3f4d3iIh393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d/+IiIiI+H
d3d3d3d3d3d3d4+Hd3d3d3d3d3d3d3d3d3+IiIiIh3d3d3d3d3d3d3d3ePh3d3d3d3d3d3d3d3d3f4d3
d3d3d3d3d4/////////4ePd3d3d3d3d3d3d3d3d/h3d3d3d3d3d3d3d3d3j///+Hj4d4iIj/////iIiI
iPh3d3d3d3d3d3d3d3d3eIiIiHj4d3iIiIj/iP+IiIiIh3d3d3d3d3d3d3d3d3d3d3d3j4d3d3d3d4+H
j4d3d3d3d3d3d3d3d3d3d3d3d3f///////////h3ePh4+Hd3d3d3d3d3d3d3d3d3d3d3d/+IiIiIiIiI
h3d3j4ePh3d3d3d3d3d3d3d3d3d3d3d3+Hd3d3d3d3d3d3d493/3d3d3d3d3d3d3d3d3d3d3d3ePh4//
//////h3d3f/d/93d3d3d3d3d3d3d3d3d3d3d3j4eP+IiIiIh3d3d3/3f/d3d3d3d3d3d3d3d3d3d3d3
d4+Hj4d3d3d3d3d3d/h4+Hd3d3d3d3d3d3d3d3d3d3d3ePh4/3d3d3d3d3d3f4ePh3d3d3d3d3d3d3d3
d3d3d3d3j4d/93d3d3d3d4j/+Hj4d3d3d3d3d3d3d3d3d3d3d3d4+Hf/d3d3d3eP/4iIh4+Hd3d3d3d3
d3d3d3d3d3d3d3eP93j4d3d3eP+Hd3d3ePd3d3d3d3d3d3d3d3d3d3d3d3f/d4+Hd3ePh3j//4d3/3d3
d3d3d3d3d3d3d3d3d3d3d3j4ePh3d/93/4iI/4ePh3d3d3d3d3d3d3d3d3d3d3d3d4+Hj4d4+H/4d3d/
+H/4d3d3d3d3d3d3d3d3d3d3d3d3ePd/h3/3j4d3d3f4ePh3d3d3d3d3d3d3d3d3d3d3d3d3/3j3f4f/
d3d3d494+Hd3d3d3d3d3d3d3d3d3d3d3d3ePePh/h/93d3d3j3f4d3d3d3d3d3d3d3d3d3d4h3d3d493
+H/3j3d3d3ePePh3d3d3d3d3d3d3d3d3eHj4d3d3j3j4ePePh3d3d/h4+Hd3d3d3d3d3d3d3d3d/h4+H
d3j4ePd3+Hj4d3eP93+Hd3d3d3d3d3d3d3d3d3j4eP+I/4d/h3ePh4/4j/93j3d3d3d3d3d3d3d3d3d3
d4+HeIiId/93d3j4d4/4h3j4d3d3d3d3d3d3d3d3d3d3ePiHd3eP93d3d4+Id3d4/4d3d3d3d3d3d3d3
d3d3d3d3j/////h3d3d3eP/4j//4d3d3d3d3d3d3V3d3d3d3d3d3iP+Ih3d3d3d3eI//iHd3d3d3d3d3
d3UHd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3cAd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3
d3d3d3dwAHd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dwAAV3d3d3d3d3d3d3d3d3d3d3d3d3d3
d3d3d3d3d3d1AAAAd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dwAAAAAAV3d3d3d3d3d3d3d3d3d3
d3d3d3d3d3d3d3UAAAD/gAAAAAAB//gAAAAAAAAf4AAAAAAAAAfAAAAAAAAAA8AAAAAAAAADgAAAAAAA
AAGAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAA
AAAAAAABwAAAAAAAAAPAAAAAAAAAA+AAAAAAAAAH+AAAAAAAAB//gAAAAAAB/w==
</value>
</data>
</root>
+1 -1
View File
@@ -19,7 +19,7 @@ namespace Update.Properties {
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
+1 -1
View File
@@ -12,7 +12,7 @@ namespace Update.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "18.9.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+1 -1
View File
@@ -8,7 +8,7 @@
<OutputType>WinExe</OutputType>
<RootNamespace>Update</RootNamespace>
<AssemblyName>Update</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
+1 -1
View File
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/></startup></configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/></startup></configuration>
@@ -10,6 +10,7 @@ using System.Linq;
//using JavaScriptEngineSwitcher.V8;
//using JavaScriptEngineSwitcher.Core;
using Work.ManageClass;
using static Work.GoodInfo;
namespace Work.CollectClass
{
+34 -31
View File
@@ -178,37 +178,40 @@ namespace Work
///
/// </summary>
public string reject_reason { get; set; }
}
public class Result
{
/// <summary>
/// Total
/// </summary>
public int? total { get; set; }
/// <summary>
/// Goods_list
/// </summary>
public List<GoodInfo> goods_list { get; set; }
}
public class GoodReturnResult
{
/// <summary>
/// Success
/// </summary>
public bool success { get; set; }
/// <summary>
/// ErrorCode
/// </summary>
public int? errorCode { get; set; }
/// <summary>
/// ErrorMsg
/// </summary>
public string errorMsg { get; set; }
/// <summary>
/// Result
/// </summary>
public Result result { get; set; }
}
public class Result
{
/// <summary>
/// Total
/// </summary>
public int? total { get; set; }
/// <summary>
/// Goods_list
/// </summary>
public List<GoodInfo> goods_list { get; set; }
}
public class GoodReturnResult
{
/// <summary>
/// Success
/// </summary>
public bool success { get; set; }
/// <summary>
/// ErrorCode
/// </summary>
public int? errorCode { get; set; }
/// <summary>
/// ErrorMsg
/// </summary>
public string errorMsg { get; set; }
/// <summary>
/// Result
/// </summary>
public Result result { get; set; }
}
}
}
+602 -544
View File
File diff suppressed because it is too large. Load diff
+32 -2
View File
@@ -1,6 +1,8 @@
using System.Text;
using AllBase.Model.Result.PDDResult;
using System.Text;
using TemuKJD.BLL;
using TemuKJD.BLL.ImportConverts;
using Work;
using Work.GoodDetail;
namespace KJD.Test
@@ -104,9 +106,37 @@ namespace KJD.Test
[Test]
public void TestWXToPDDV3()
{
string filePath = @"C:\Users\chaih\Documents\xwechat_files\hongfei357_a567\msg\file\2026-08\10000528322732(1).json";
string filePath = @"C:\Users\chaih\Documents\xwechat_files\hongfei357_a567\msg\file\2026-08\10000247042728(1).json";
var frontProdInfo = ConverterToPddFactory.Convert(filePath);
var isMatch = frontProdInfo != null;
PDDProductInfo prodInfo = new PDDProductInfo();
prodInfo.detail = new PDDProductDetailInfo();
prodInfo.detail.sku = new List<sku_item>();
foreach (var skuItem in frontProdInfo.Skus)
{
sku_item skuInfo = new sku_item()
{
spec = new List<spec_item>()
};
var specList = skuItem.Spec.Split([';'], StringSplitOptions.RemoveEmptyEntries).ToList();
foreach (var spec in specList)
{
string specKey = spec.Split(':')[0];
string specValue = spec.Split(':')[1];
var specItem = frontProdInfo.Specs.FirstOrDefault(a => a.SpecKey == specKey && a.SpecValue == specValue);
if (specItem == null) continue;
skuInfo.spec.Add(new spec_item()
{
parent_name = specItem.SpecKey,
spec_name = specItem.SpecValue,
});
}
prodInfo.detail.sku.Add(skuInfo);
}
}
}