Merge branch 'main' into 增加框架

This commit is contained in:
chfei committed 2026-09-01 12:13:04 +08:00
commit ce828fe467
43 files changed
+2412 -1530

No files matched your search

+1
View File
@@ -12,3 +12,4 @@ bin
/Update/Update/*.user
*.user
/29WxOrderPublish.sln
/29WxOrder Publish.sln
+1
View File
@@ -15,6 +15,7 @@
<converters:VisibleToVisibilityConverter x:Key="visibleToVisibilityConverter" />
<converters:ImageUrlToBitmapImageConverter x:Key="ImageUrlToBitmapImage" />
<converters:ValueMinus24Converter x:Key="ValueMinus24Converter" />
<converters:FenToYuanConverter x:Key="FenToYuanConverter" />
<converters:StatusToColorBrushConverter x:Key="statusToColorBrushConverter" />
<converters:ListBoxIndexConverter x:Key="listBoxIndexConverter" />
<converters:FlagColorConverter x:Key="flagColorConverter" />
@@ -0,0 +1,36 @@
using System;
using System.Globalization;
using System.Windows.Data;
namespace _29WxOrderWpf.Converters
{
/// <summary>
/// 金额转换:分 -> 元(除以 100)。
/// 用于把后台返回的以“分”为单位的金额字段显示为“元”。
/// </summary>
public class FenToYuanConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
decimal fen;
if (value is int intValue)
fen = intValue;
else if (value is long longValue)
fen = longValue;
else if (value is decimal decimalValue)
fen = decimalValue;
else if (value is double doubleValue)
fen = (decimal)doubleValue;
else
return 0m;
return fen / 100m;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
// 单向绑定,反向转换不实现
throw new NotImplementedException();
}
}
}
@@ -2,6 +2,7 @@
using System.Globalization;
using System.Windows.Data;
using Work.ERP.API;
using TaskStatus = Work.ERP.API.TaskStatus;
namespace _29WxOrderWpf.Converters
{
@@ -622,7 +622,22 @@
<TabItem
MinWidth="60"
Header="待发货"
SizeChanged="TabItem_SizeChanged" />
SizeChanged="TabItem_SizeChanged">
<Border
Margin="4,0,4,4"
BorderBrush="#e0e0e0"
BorderThickness="0,0,0,1">
<CheckBox
x:Name="chkDirectSendFailed"
Margin="6,8"
HorizontalAlignment="Left"
VerticalAlignment="Center"
BorderBrush="{StaticResource mainColorBrush}"
Click="chkDirectSendFailed_Click"
Content="直拍发货失败"
FontSize="12" />
</Border>
</TabItem>
<TabItem
MinWidth="60"
Background="Transparent"
@@ -940,7 +955,7 @@
Stroke="{StaticResource mainColorBrush}"
StrokeThickness="2" />
<wpf:TitleContent
Title="中转拒收状态"
Title="中转仓拒收状态"
Margin="4,0,4,0"
VerticalContentAlignment="Center"
FontSize="12"
@@ -952,7 +967,7 @@
Width="80"
Height="23"
SelectedIndex="0"
SelectionChanged="cmbRejectStatus_SelectionChanged"
SelectionChanged="cmbRejectOrReturnStatus_SelectionChanged"
Style="{StaticResource RoundedComboBox}">
<ComboBoxItem Content="请选择" />
<ComboBoxItem Content="未申请" />
@@ -961,7 +976,28 @@
<ComboBoxItem Content="拒收成功" />
</ComboBox>
</wpf:TitleContent>
<wpf:TitleContent
Title="拦截退回总店状态"
Margin="4,0,4,0"
VerticalContentAlignment="Center"
FontSize="12"
Foreground="Black"
Placement="Left"
TitleVerticalAlignment="Center">
<ComboBox
x:Name="cmbReturnPackageStatus"
Width="80"
Height="23"
SelectedIndex="0"
SelectionChanged="cmbRejectOrReturnStatus_SelectionChanged"
Style="{StaticResource RoundedComboBox}">
<ComboBoxItem Content="请选择" />
<ComboBoxItem Content="未拦截" />
<ComboBoxItem Content="拦截中" />
<!--<ComboBoxItem Content="拦截失败" />-->
<ComboBoxItem Content="拦截成功" />
</ComboBox>
</wpf:TitleContent>
<CheckBox
@@ -1014,17 +1050,57 @@
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button
x:Name="btnBatchRefund2"
Grid.Column="1"
Height="20"
MinWidth="48"
Margin="6,6"
Padding="4,0"
Click="btnBatchRefund_Click"
Content="批量申请买手售后"
FontSize="12"
Style="{StaticResource BasePageButtonStyle}" />
<WrapPanel>
<Button
x:Name="btnBatchRefund2"
Grid.Column="1"
Height="20"
MinWidth="48"
Margin="6,6"
Padding="4,0"
Click="btnBatchRefund_Click"
Content="批量申请买手售后"
FontSize="12"
Style="{StaticResource BasePageButtonStyle}" />
<CheckBox
x:Name="chkShopIsRefund"
Grid.Column="0"
Margin="6,8"
VerticalAlignment="Center"
BorderBrush="{StaticResource mainColorBrush}"
Click="chkShopIsRefund_Click"
Content="店铺已退款"
FontSize="12" />
<CheckBox
x:Name="chkShopIsNotRefund"
Grid.Column="1"
Margin="6,8"
VerticalAlignment="Center"
BorderBrush="{StaticResource mainColorBrush}"
Click="chkShopIsRefund_Click"
Content="店铺未退款"
FontSize="12" />
<Polyline
Grid.Column="14"
Width="10"
Margin="5,0"
VerticalAlignment="Center"
Points="5,0 5,8 5,0"
Stroke="{StaticResource mainColorBrush}"
StrokeThickness="2"
Visibility="Visible" />
<CheckBox
x:Name="chkUpShopAddressAnalyseFailed"
Grid.Column="0"
Margin="6,8"
VerticalAlignment="Center"
BorderBrush="{StaticResource mainColorBrush}"
Click="chkUpShopAddressAnalyseFailed_Click"
Content="总店地址解析失败"
FontSize="12" />
</WrapPanel>
</Grid>
</Border>
</TabItem>
@@ -1450,15 +1450,25 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
if (chkNoMapProdOnly.IsChecked == true && order.orderItems.All(oi => oi.BuyMap != null))
return true;
}
if (filterHeadStr.StartsWith("待发货") && !order.IsWaitSend)
if (filterHeadStr.StartsWith("待发货"))
{
return true;
if (!order.IsWaitSend)
return true;
// 直拍发货失败
if (chkDirectSendFailed.IsChecked == true)
{
var rst2 = order.out_shipped == 2 && !string.IsNullOrEmpty(order.out_express_no);
if (!rst2)
return true;
}
}
if (filterHeadStr.StartsWith("待收货"))
{
if (!order.IsWaitReceive)
return true;
// 需核对物流
if (chkNeedCheckExpress.IsChecked == true)
{
var rst1 = order.orderItems.Any(oi => !oi.TransitRefundStatusStr.IsNullOrEmpty() && !oi.TransitRefundStatusStr.Contains("退款成功"));
@@ -1501,6 +1511,20 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
if (cmbRejectStatusText == "拒收失败" && !order.orderItems.Any(oi => oi.AddEditTransitWarehouseRejectStr.StartsWith("申请拒收失败")))
return true;
if (order.order_id == "3738674216947317248")
{
}
var cmbReturnPackageStatusText = cmbReturnPackageStatus.SelectedItem.ParseToString().Replace("System.Windows.Controls.ComboBoxItem: ", "");
if (cmbReturnPackageStatusText == "未拦截" && !order.orderItems.Any(oi => oi.AddEditTransitWarehouseAfterSaleStr == "添加"))
return true;
if (cmbReturnPackageStatusText == "拦截中" && !order.orderItems.Any(oi => oi.AddEditTransitWarehouseAfterSaleStr == "已添加"))
return true;
if (cmbReturnPackageStatusText == "拦截成功" && !order.orderItems.Any(oi => oi.AddEditTransitWarehouseAfterSaleStr.StartsWith("拦截成功")))
return true;
if (cmbReturnPackageStatusText == "拦截失败" && !order.orderItems.Any(oi => oi.AddEditTransitWarehouseAfterSaleStr.StartsWith("拦截失败")))
return true;
if (chkEmergencyBuyerWaitAfterSale.IsChecked == true && order.orderItems.All(oi => !oi.TransitRefundStatusStr.Contains("需手动申请售后")))
return true;
@@ -1547,6 +1571,44 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
if (!order.IsEmergencyDistribReturnOrder)
return true;
// 退款完成(但买手没退)
if (chkShopIsRefund.IsChecked == true && order.DeliveryDeadlineStatusStr != "退款完成")
return true;
// 退款中
else if (chkShopIsNotRefund.IsChecked == true && (order.DeliveryDeadlineStatusStr != "退款中"))
return true;
// 地址解析失败
if (chkUpShopAddressAnalyseFailed.IsChecked == true)
{
if (order.OrderBuyType == "云仓")
{
if (order.orderItems.Any(oi => string.IsNullOrEmpty(oi.PddBuyerAfterSale?.afterSaleAddress)))
return true;
foreach (var orderItem in order.orderItems)
{
for (int i = 0; i < 1000; i++)
{
var receiver = TransitReturnOrderWindow.PddAddressAnalysis(orderItem.PddBuyerAfterSale?.afterSaleAddress);
if (!receiver.receiver_address.IsNullOrEmpty())
return true;
}
}
}
else
{
if (order.orderItems.Any(oi => string.IsNullOrEmpty(oi.DirectPddBuyerAfterSale?.afterSaleAddress)))
return true;
foreach (var orderItem in order.orderItems)
{
var receiver = TransitReturnOrderWindow.PddAddressAnalysis(orderItem.DirectPddBuyerAfterSale?.afterSaleAddress);
if (!receiver.receiver_address.IsNullOrEmpty())
return true;
}
}
}
}
if (filterHeadStr.StartsWith("售后完成单"))
{
@@ -1951,7 +2013,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
// 退货地址不是退货仓,跳过
if (orderItem.ItemRefund?.return_detail != GlobalConfig.TransitReturnOrderReturnAddress)
if (orderItem.ItemRefund?.return_detail.StartsWith(GlobalConfig.TransitReturnOrderReturnAddress) == false)
continue;
if (orderItem.DistribReturnOrderInfo == null || orderItem.DistribReturnOrderInfo.warehouse_status == 0)
@@ -2001,7 +2063,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
// 退货地址不是退货仓,跳过
if (orderItem.ItemRefund?.return_detail != GlobalConfig.TransitReturnOrderReturnAddress)
if (orderItem.ItemRefund?.return_detail.StartsWith(GlobalConfig.TransitReturnOrderReturnAddress) == false)
continue;
// 退货包裹未发货,跳过(仅退货退款已发货的才自动去申请拼多多退货退款)
if ((orderItem.ItemRefund?.return_waybill_id).IsNullOrEmpty())
@@ -2528,7 +2590,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
}
private void cmbRejectStatus_SelectionChanged(object sender, SelectionChangedEventArgs e)
private void cmbRejectOrReturnStatus_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
FilterOrders();
}
@@ -2543,6 +2605,39 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
FilterOrders();
}
private void chkShopIsRefund_Click(object sender, RoutedEventArgs e)
{
if (sender is CheckBox chk)
{
var isCheck = !chk.IsChecked.ParseToBool();
chkShopIsRefund.IsChecked = chkShopIsNotRefund.IsChecked = false;
chk.IsChecked = !isCheck;
}
FilterOrders();
}
private void chkDirectSendFailed_Click(object sender, RoutedEventArgs e)
{
if (sender is CheckBox chk)
{
var isCheck = !chk.IsChecked.ParseToBool();
chkDirectSendFailed.IsChecked = false;
chk.IsChecked = !isCheck;
}
FilterOrders();
}
private void chkUpShopAddressAnalyseFailed_Click(object sender, RoutedEventArgs e)
{
if (sender is CheckBox chk)
{
var isCheck = !chk.IsChecked.ParseToBool();
chkUpShopAddressAnalyseFailed.IsChecked = false;
chk.IsChecked = !isCheck;
}
FilterOrders();
}
}
public class OrderFilterConfig : PropertyNotifyObject
@@ -66,9 +66,9 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
shop.Is29Supplier = false;
for (int i = 0; i < 100; i++)
{
var is29SupplierRst = WxOrderSupplierBLL.GetWxSupplierListV2(shop);
var is29SupplierRst = WxSimOrderSupplierBLL.GetWxSupplierListV2(shop);
if (!is29SupplierRst.Contains("\"code\":0"))
is29SupplierRst = WxOrderSupplierBLL.GetWxSupplierListV2(shop);
is29SupplierRst = WxSimOrderSupplierBLL.GetWxSupplierListV2(shop);
if (is29SupplierRst.Contains("\"code\":0") && is29SupplierRst.Contains("\"name\":\"29供货商\""))
{
shop.Is29Supplier = true;
@@ -159,47 +159,60 @@
TextWrapping="Wrap"
WaterMark="规格" />
<TextBox
Grid.Row="4"
Grid.Column="1"
Margin="0,2,4,2"
VerticalAlignment="Top"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="平台商品ID:" />
<uc:UcWaterMarkTextBox1
Grid.Row="4"
Grid.Column="1"
Margin="72,2,4,2"
VerticalAlignment="Top"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding product_id}"
TextWrapping="Wrap"
WaterMark="平台商品ID" />
<WrapPanel Grid.Row="4">
<TextBox
Grid.Row="4"
Grid.Column="1"
Margin="0,2,4,2"
VerticalAlignment="Top"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="平台商品ID:" />
<uc:UcWaterMarkTextBox1
Grid.Row="4"
Grid.Column="1"
Margin="-9,2,4,2"
VerticalAlignment="Top"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding product_id}"
TextWrapping="Wrap"
WaterMark="平台商品ID" />
<Button
x:Name="btnOptimizeProduct"
MinWidth="48"
MinHeight="16"
Margin="2,0,0,0"
Padding="2,0"
Click="btnOptimizeProduct_Click"
Content="优化订单商品"
Style="{StaticResource BasePageButtonLightStyle}" />
</WrapPanel>
<WrapPanel Grid.Row="5">
<TextBox
Grid.Row="5"
Grid.Column="1"
Margin="0,2,4,2"
VerticalAlignment="Top"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="系统商品ID:" />
<uc:UcWaterMarkTextBox1
Grid.Row="5"
Grid.Column="1"
Margin="-9,2,4,2"
VerticalAlignment="Top"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding out_product_id}"
TextWrapping="Wrap"
WaterMark="系统商品ID" />
</WrapPanel>
<TextBox
Grid.Row="5"
Grid.Column="1"
Margin="0,2,4,2"
VerticalAlignment="Top"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="系统商品ID:" />
<uc:UcWaterMarkTextBox1
Grid.Row="5"
Grid.Column="1"
Margin="72,2,4,2"
VerticalAlignment="Top"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding out_product_id}"
TextWrapping="Wrap"
WaterMark="系统商品ID" />
<TextBox
Grid.Row="6"
Grid.Column="1"
@@ -397,6 +397,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
// 拍单前查询账户余额
if (!isAbnormalOrder)
{
// 强制使用软件而非erp拍单
if (GlobalConfig.BuyConfig.IsUseAppBalance)
{
if (BaseClass.Balance < 10)
@@ -1564,6 +1565,25 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
});
}
}
private void btnOptimizeProduct_Click(object sender, RoutedEventArgs e)
{
if (this.DataContext is oms_wei_order_item_info orderItem)
{
WXOrderListOptimizeForm form = new WXOrderListOptimizeForm(orderItem.Shop);
form.lblOrderId.Text = orderItem.order_id;
form.lblSpuId.Text = orderItem.product_id;
form.lblSkuId.Text = orderItem.sku_id; // skuId
form.txtGoodsName.Text = orderItem.title; // 商品名称
form.txtSkuName.Text = orderItem.sku_attr_str; // sku规格名称
form.txtOrderPrice.Text = "" + (orderItem.real_price.ParseToInt() / 100m / orderItem.sku_cnt); // 订单价格
//form.txtCurrentPrice.Text = row.Cells["colCurrentPrice"].Value.ParseToString(); // 当前商品价格
//form.txtCurrentStock.Text = row.Cells["colCurrentStock"].Value.ParseToString(); // 当前库存;
form.numAddPrice.Value = 0;
form.ShowDialog();
}
}
}
}
@@ -7,6 +7,7 @@
xmlns:vm="clr-namespace:_29WxOrderWpf.Ctrls.Statistics.ViewModels"
d:DataContext="{d:DesignInstance Type=vm:ShopRevenueStatisticsViewModel,
IsDesignTimeCreatable=True}"
d:Width="1200"
mc:Ignorable="d">
<UserControl.Resources>
<!-- 卡片样式(白底、圆角、阴影) -->
@@ -55,26 +56,45 @@
</Border>
<!-- 有效订单 -->
<Border Style="{StaticResource CardBorderStyle}">
<StackPanel>
<TextBlock
FontSize="14"
Foreground="#888888"
Text="有效订单" />
<TextBlock
Margin="0,12,0,0"
FontSize="30"
FontWeight="Bold"
Foreground="#333333"
Text="{Binding Summary.ValidOrderCount, StringFormat={}{0:N0}}" />
<TextBlock
Margin="0,10,0,0"
FontSize="12"
Foreground="#999999"
Text="已扣除退款订单" />
</StackPanel>
</Border>
<Grid>
<Border Style="{StaticResource CardBorderStyle}">
<StackPanel>
<Grid>
<TextBlock
FontSize="14"
Foreground="#888888"
Text="有效订单" />
</Grid>
<TextBlock
Margin="0,12,0,0"
FontSize="30"
FontWeight="Bold"
Foreground="#333333"
Text="{Binding Summary.ValidOrderCount, StringFormat={}{0:N0}}" />
<TextBlock
Margin="0,10,0,0"
FontSize="12"
Foreground="#999999"
Text="已扣除退款订单" />
</StackPanel>
</Border>
<Button
Height="16"
Margin="10"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Command="{Binding ShowOrderListCommand}"
CommandParameter="ValidOrderCount"
Foreground="{StaticResource pageColorBrush}"
Style="{StaticResource IconButtonStyle}">
<TextBlock
FontSize="24"
Style="{StaticResource TextBlockIcon}"
Text="{StaticResource txt-more_horizontal}" />
</Button>
</Grid>
<!-- 采购金额 -->
<Border Style="{StaticResource CardBorderStyle}">
<StackPanel>
@@ -178,7 +198,7 @@
Text="预计技术服务费" />
</StackPanel>
</Border>
<!-- 退款金额 -->
<Border Style="{StaticResource CardBorderStyle}">
<StackPanel>
@@ -201,44 +221,60 @@
</Border>
<!-- 退款订单 -->
<Border Style="{StaticResource CardBorderStyle}">
<StackPanel>
<Grid>
<Border Style="{StaticResource CardBorderStyle}">
<StackPanel>
<TextBlock
FontSize="14"
Foreground="#888888"
Text="退款订单" />
<TextBlock
Margin="0,12,0,0"
FontSize="30"
FontWeight="Bold"
Foreground="#333333"
Text="{Binding Summary.RefundOrderCount, StringFormat={}{0:N0}}" />
<TextBlock
Margin="0,10,0,0"
FontSize="12"
Foreground="#999999"
Text="退款订单" />
</StackPanel>
</Border>
<Button
Height="16"
Margin="10"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Command="{Binding ShowOrderListCommand}"
CommandParameter="RefundOrderCount"
Foreground="{StaticResource pageColorBrush}"
Style="{StaticResource IconButtonStyle}">
<TextBlock
FontSize="14"
Foreground="#888888"
Text="退款订单" />
<TextBlock
Margin="0,12,0,0"
FontSize="30"
FontWeight="Bold"
Foreground="#333333"
Text="{Binding Summary.RefundOrderCount, StringFormat={}{0:N0}}" />
<TextBlock
Margin="0,10,0,0"
FontSize="12"
Foreground="#999999"
Text="退款订单" />
</StackPanel>
</Border>
FontSize="24"
Style="{StaticResource TextBlockIcon}"
Text="{StaticResource txt-more_horizontal}" />
</Button>
</Grid>
<!-- 采购退款成功金额 -->
<Border Style="{StaticResource CardBorderStyle}">
<StackPanel>
<TextBlock
FontSize="14"
Foreground="#888888"
Text="总采购金额" />
FontSize="14"
Foreground="#888888"
Text="总采购金额" />
<TextBlock
Margin="0,12,0,0"
FontSize="30"
FontWeight="Bold"
Foreground="#333333"
Text="{Binding Summary.BuyerRefundAmount, StringFormat={}¥{0:N2}}" />
Margin="0,12,0,0"
FontSize="30"
FontWeight="Bold"
Foreground="#333333"
Text="{Binding Summary.BuyerRefundAmount, StringFormat={}¥{0:N2}}" />
<TextBlock
Margin="0,10,0,0"
FontSize="12"
Foreground="#999999"
Text="售后采购金额" />
Margin="0,10,0,0"
FontSize="12"
Foreground="#999999"
Text="售后采购金额" />
</StackPanel>
</Border>
@@ -263,26 +299,42 @@
</StackPanel>
</Border>
<!-- 采购退款成功金额 -->
<Border Style="{StaticResource CardBorderStyle}">
<StackPanel>
<!-- 待退回采购金额 -->
<Grid>
<Border Style="{StaticResource CardBorderStyle}">
<StackPanel>
<TextBlock
FontSize="14"
Foreground="#888888"
Text="待退回采购金额" />
<TextBlock
Margin="0,12,0,0"
FontSize="30"
FontWeight="Bold"
Foreground="#333333"
Text="{Binding Summary.BuyerRefundRemainingAmount, StringFormat={}¥{0:N2}}" />
<TextBlock
Margin="0,10,0,0"
FontSize="12"
Foreground="#999999"
Text="待退回采购金额" />
</StackPanel>
</Border>
<Button
Height="16"
Margin="10"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Command="{Binding ShowOrderListCommand}"
CommandParameter="BuyerRefundRemainingAmount"
Foreground="{StaticResource pageColorBrush}"
Style="{StaticResource IconButtonStyle}">
<TextBlock
FontSize="14"
Foreground="#888888"
Text="待退回采购金额" />
<TextBlock
Margin="0,12,0,0"
FontSize="30"
FontWeight="Bold"
Foreground="#333333"
Text="{Binding Summary.BuyerRefundRemainingAmount, StringFormat={}¥{0:N2}}" />
<TextBlock
Margin="0,10,0,0"
FontSize="12"
Foreground="#999999"
Text="待退回采购金额" />
</StackPanel>
</Border>
FontSize="24"
Style="{StaticResource TextBlockIcon}"
Text="{StaticResource txt-more_horizontal}" />
</Button>
</Grid>
<!-- 退款率 -->
<Border Style="{StaticResource CardBorderStyle}">
@@ -45,6 +45,9 @@ namespace _29WxOrderWpf.Ctrls.Statistics.Services
/// <summary>获取店铺下拉列表(用于查询条件)</summary>
Task<List<ShopOption>> GetShopOptionsAsync();
}
/// <summary>
@@ -133,8 +136,8 @@ namespace _29WxOrderWpf.Ctrls.Statistics.Services
int totalOrderCount = list.Count();
int refundOrderCount = refunded.Select(r => r.OrderId).Distinct().Count();
Debug.WriteLine($"计算利润:{(salesAmount - buyerPaymentAmount - platformFeeTotal)}");
Debug.WriteLine($"正常订单利润:{valid.Sum(r => (decimal)(r.Profit))/100}");
Debug.WriteLine($"售后订单利润:{refunded.Sum(r => (decimal)(r.Profit))/100}");
Debug.WriteLine($"正常订单利润:{valid.Sum(r => (decimal)(r.Profit)) / 100}");
Debug.WriteLine($"售后订单利润:{refunded.Sum(r => (decimal)(r.Profit)) / 100}");
return new ShopRevenueSummary
{
SalesAmount = salesAmount,
@@ -152,6 +155,41 @@ namespace _29WxOrderWpf.Ctrls.Statistics.Services
BuyerRefundSuccessedAmount = buyerRefundSuccessedAmount,
};
}
/// <summary>
/// 获取有效订单
/// </summary>
/// <param name="rows"></param>
/// <returns></returns>
public static List<ShopRevenueStatisticsRow> GetValidOrder(IEnumerable<ShopRevenueStatisticsRow> rows)
{
var list = GetPaymentOrderList(rows); //买手付钱后的订单数量
return list.Where(IsValidOrder).ToList();
}
/// <summary>
/// 获取退款订单
/// </summary>
/// <param name="rows"></param>
/// <returns></returns>
public static List<ShopRevenueStatisticsRow> GetRefundOrder(IEnumerable<ShopRevenueStatisticsRow> rows)
{
var list = GetPaymentOrderList(rows); //买手付钱后的订单数量
return list.Where(IsRefunded).ToList();
}
/// <summary>
/// 获取退款订单
/// </summary>
/// <param name="rows"></param>
/// <returns></returns>
public static List<ShopRevenueStatisticsRow> GetBuyerRefundRemainingOrder(IEnumerable<ShopRevenueStatisticsRow> rows)
{
var list = GetPaymentOrderList(rows); //买手付钱后的订单数量
var refunded = list.Where(IsRefunded).ToList();
decimal buyerRefundAmount = refunded.Sum(r => (decimal)(r.OutAmount)) / 100m; //买手号退款金额(采购退款金额)
decimal buyerRefundSuccessedAmount = refunded.Where(a => IsBuyerRefundSuccessful(a) == false).Sum(r => (decimal)(r.BuyerRefundAmount)) / 100m; //买手号退款成功金额
return refunded.Where(a => IsBuyerRefundSuccessful(a) == false).ToList();
}
/// <summary>销售趋势(按天,缺失日期补 0,仅统计有效订单)</summary>
public static List<RevenueTrendPoint> GetSalesTrend(IEnumerable<ShopRevenueStatisticsRow> rows, DateTime startDate, DateTime endDate)
@@ -0,0 +1,105 @@
<UserControl
x:Class="_29WxOrderWpf.Ctrls.Statistics.ShowOrderDialogView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:_29WxOrderWpf.Ctrls.Statistics"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:Background="White"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<UserControl.Resources>
<!-- 单元格文字居中 -->
<Style x:Key="CenterCellTextStyle" TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</UserControl.Resources>
<Grid>
<DataGrid
d:ItemsSource="{d:SampleData ItemCount=10}"
AlternatingRowBackground="#FAFAFA"
AutoGenerateColumns="False"
Background="Transparent"
BorderThickness="0"
CanUserAddRows="False"
CanUserDeleteRows="False"
CanUserReorderColumns="False"
CanUserResizeRows="False"
ColumnHeaderStyle="{StaticResource BaseDataGridColumnHeaderStyle}"
GridLinesVisibility="Horizontal"
HeadersVisibility="Column"
HorizontalGridLinesBrush="#EEEEEE"
IsReadOnly="True"
ItemsSource="{Binding Data}"
RowHeight="44"
SelectionMode="Single"
SelectionUnit="FullRow"
VerticalScrollBarVisibility="Auto">
<DataGrid.Columns>
<!-- 店名 -->
<DataGridTextColumn
Width="*"
Binding="{Binding ShopName}"
ElementStyle="{StaticResource CenterCellTextStyle}"
Header="店名" />
<!-- 订单(可复制) -->
<DataGridTemplateColumn Width="2*" Header="订单">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel
HorizontalAlignment="Center"
VerticalAlignment="Center"
Orientation="Horizontal">
<TextBlock
VerticalAlignment="Center"
Text="{Binding OrderId}"
ToolTip="点击“复制”复制订单号" />
<Button
Margin="5,0,0,0"
Click="CopyOrderId_Click"
Foreground="{StaticResource pageColorBrush}"
ToolTip="复制订单号">
<Button.Style>
<Style BasedOn="{StaticResource IconButtonStyle}" TargetType="Button">
<Setter Property="Foreground" Value="{StaticResource pageColorBrush}" />
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=DataGridRow}, Path=IsSelected}" Value="True">
<Setter Property="Foreground" Value="White" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
<TextBlock Style="{StaticResource TextBlockIcon}" Text="{StaticResource txt-copy}" />
</Button>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!-- 金额(分转元) -->
<DataGridTextColumn
Width="*"
Binding="{Binding OrderPrice, Converter={StaticResource FenToYuanConverter}, StringFormat={}¥{0:N2}}"
ElementStyle="{StaticResource CenterCellTextStyle}"
Header="金额" />
<DataGridTextColumn
Width="*"
Binding="{Binding RefundAmount, Converter={StaticResource FenToYuanConverter}, StringFormat={}¥{0:N2}}"
ElementStyle="{StaticResource CenterCellTextStyle}"
Header="退款金额" />
<DataGridTextColumn
Width="*"
Binding="{Binding OutAmount, Converter={StaticResource FenToYuanConverter}, StringFormat={}¥{0:N2}}"
ElementStyle="{StaticResource CenterCellTextStyle}"
Header="外采金额" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</UserControl>
@@ -0,0 +1,50 @@
using _29WxOrderWpf.Ctrls.Statistics.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace _29WxOrderWpf.Ctrls.Statistics;
/// <summary>
/// ShowOrderDialogView.xaml 的交互逻辑
/// </summary>
public partial class ShowOrderDialogView : UserControl
{
public ShowOrderDialogView(List<ShopRevenueStatisticsRow> list)
{
InitializeComponent();
this.DataContext = new ShowOrderDialogViewModel(list);
}
/// <summary>
/// 复制订单号到剪贴板
/// </summary>
private void CopyOrderId_Click(object sender, RoutedEventArgs e)
{
if (sender is FrameworkElement element
&& element.DataContext is ShopRevenueStatisticsRow row
&& !string.IsNullOrEmpty(row.OrderId))
{
Clipboard.SetText(row.OrderId);
}
}
}
class ShowOrderDialogViewModel
{
public List<ShopRevenueStatisticsRow> Data { get; set; }
public ShowOrderDialogViewModel(List<ShopRevenueStatisticsRow> list)
{
Data = list ?? new List<ShopRevenueStatisticsRow>();
}
}
@@ -1,14 +1,15 @@
using System;
using _29WxOrderWpf.Commands;
using _29WxOrderWpf.Common;
using _29WxOrderWpf.Ctrls.Statistics.Models;
using _29WxOrderWpf.Ctrls.Statistics.Services;
using AllBase.Model.MvvmBaseClasses;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Input;
using System.Windows;
using AllBase.Model.MvvmBaseClasses;
using _29WxOrderWpf.Ctrls.Statistics.Models;
using _29WxOrderWpf.Ctrls.Statistics.Services;
using _29WxOrderWpf.Commands;
using System.Windows.Input;
namespace _29WxOrderWpf.Ctrls.Statistics.ViewModels
{
@@ -545,5 +546,42 @@ namespace _29WxOrderWpf.Ctrls.Statistics.ViewModels
}
#endregion
public ICommand ShowOrderListCommand => new AsyncDelegateCommand<string>(ShowOrderList);
private async Task ShowOrderList(string type)
{
var query = new ShopRevenueStatisticsQuery
{
StartDate = StartDate,
EndDate = EndDate,
ShopKeys = BuildSelectedShopKeys(),
};
var rows = await _service.QueryRowsAsync(query);
List<ShopRevenueStatisticsRow> showList = new List<ShopRevenueStatisticsRow>();
switch (type)
{
case "ValidOrderCount":
showList = RevenueStatisticsAggregator.GetValidOrder(rows);
break; //有效订单
case "RefundOrderCount":
showList = RevenueStatisticsAggregator.GetRefundOrder(rows);
break;//退款订单
case "BuyerRefundRemainingAmount":
showList = RevenueStatisticsAggregator.GetBuyerRefundRemainingOrder(rows);
break;//待退回采购金额
default:
break;
}
new DialogWindow()
{
Title = "订单列表",
Content = new ShowOrderDialogView(showList),
DataContext = rows
}.ShowDialog();
}
}
}
@@ -1,14 +1,16 @@
using System;
using _29WxOrderWpf.Commands;
using _29WxOrderWpf.Common;
using _29WxOrderWpf.Ctrls.Statistics.Models;
using _29WxOrderWpf.Ctrls.Statistics.Services;
using AllBase.Model.MvvmBaseClasses;
using CefSharp;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Input;
using AllBase.Model.MvvmBaseClasses;
using _29WxOrderWpf.Ctrls.Statistics.Models;
using _29WxOrderWpf.Ctrls.Statistics.Services;
using CefSharp;
using _29WxOrderWpf.Commands;
namespace _29WxOrderWpf.Ctrls.Statistics.ViewModels
{
@@ -300,5 +302,41 @@ namespace _29WxOrderWpf.Ctrls.Statistics.ViewModels
}
#endregion
public ICommand ShowOrderListCommand => new AsyncDelegateCommand<string>(ShowOrderList);
private async Task ShowOrderList(string type)
{
var query = new ShopRevenueStatisticsQuery
{
StartDate = StartDate,
EndDate = EndDate,
ShopKeys = BuildSelectedShopKeys(),
};
var rows = await _service.QueryRowsAsync(query);
List<ShopRevenueStatisticsRow> showList = new List<ShopRevenueStatisticsRow>();
switch (type)
{
case "ValidOrderCount":
showList = RevenueStatisticsAggregator.GetValidOrder(rows);
break; //有效订单
case "RefundOrderCount":
showList = RevenueStatisticsAggregator.GetRefundOrder(rows);
break;//退款订单
case "BuyerRefundRemainingAmount":
showList = RevenueStatisticsAggregator.GetBuyerRefundRemainingOrder(rows);
break;//待退回采购金额
default:
break;
}
new DialogWindow()
{
Title="订单列表",
Content = new ShowOrderDialogView(showList),
DataContext = rows
}.ShowDialog();
}
}
}
+2 -2
View File
@@ -296,9 +296,9 @@ namespace _29WxOrderWpf
shop.Is29Supplier = false;
for (int i = 0; i < 100; i++)
{
var is29SupplierRst = WxOrderSupplierBLL.GetWxSupplierListV2(shop);
var is29SupplierRst = WxSimOrderSupplierBLL.GetWxSupplierListV2(shop);
if (!is29SupplierRst.Contains("\"code\":0"))
is29SupplierRst = WxOrderSupplierBLL.GetWxSupplierListV2(shop);
is29SupplierRst = WxSimOrderSupplierBLL.GetWxSupplierListV2(shop);
if (is29SupplierRst.Contains("\"code\":0") && is29SupplierRst.Contains("\"name\":\"29供货商\""))
{
shop.Is29Supplier = true;
+3 -2
View File
@@ -22,7 +22,7 @@ namespace _29WxOrderWpf.Services;
public class TaskService : SingleInstance<TaskService>
{
/// <summary>循环查询服务器任务状态的间隔(秒)</summary>
private const int TaskStatusPollIntervalSeconds = 30;
private const int TaskStatusPollIntervalSeconds = 60;
private readonly System.Timers.Timer _timer;
private readonly WxOrderServiceApi _kjdApi = new WxOrderServiceApi();
@@ -56,7 +56,8 @@ public class TaskService : SingleInstance<TaskService>
public event TaskEventHandler<IEnumerable<TaskItem>> TaskChanged;
public DateTime StartDate { get; private set; } = DateTime.Now.AddMonths(-3);
//public DateTime StartDate { get; private set; } = DateTime.Now.AddMonths(-3);
public DateTime StartDate { get; private set; } = DateTime.Now.AddDays(-10);
public DateTime EndDate { get; private set; } = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
public void Start()
+43
View File
@@ -229,4 +229,47 @@
</Setter.Value>
</Setter>
</Style>
<Style x:Key="IconButtonStyle" TargetType="Button">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="Padding" Value="4" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Focusable" Value="False" />
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="Foreground" Value="#0b0b0b" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border
x:Name="border"
Padding="{TemplateBinding Padding}"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ContentPresenter
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
RecognizesAccessKey="True" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Opacity" Value=".9" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Opacity" Value=".6" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.4" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
+2 -1
View File
@@ -19,7 +19,8 @@ namespace _29WxOrderWpf.Utils
/// <returns></returns>
public static T FindVisualChild<T>(DependencyObject obj) where T : DependencyObject
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
{
DependencyObject child = VisualTreeHelper.GetChild(obj, i);
if (child != null && child is T)
+83 -254
View File
@@ -1,256 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.props')" />
<Import Project="..\packages\chromiumembeddedframework.runtime.win-x86.138.0.34\build\chromiumembeddedframework.runtime.win-x86.props" Condition="Exists('..\packages\chromiumembeddedframework.runtime.win-x86.138.0.34\build\chromiumembeddedframework.runtime.win-x86.props')" />
<Import Project="..\packages\chromiumembeddedframework.runtime.win-x64.138.0.34\build\chromiumembeddedframework.runtime.win-x64.props" Condition="Exists('..\packages\chromiumembeddedframework.runtime.win-x64.138.0.34\build\chromiumembeddedframework.runtime.win-x64.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{6461D807-B1C8-45F0-B388-E0CA1A418DE0}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AllBase</RootNamespace>
<AssemblyName>29WxOrderAllBase</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\Bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisLogFile>..\bin\AllBase.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;D:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;D:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<UseVSHostingProcess>false</UseVSHostingProcess>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>..\Bin\</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisLogFile>..\bin\AllBase.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;D:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;D:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<UseVSHostingProcess>false</UseVSHostingProcess>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\Bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\bin\</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>..\bin\</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<ItemGroup>
<Reference Include="BouncyCastle.Crypto, Version=1.8.6.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL">
<HintPath>..\packages\Portable.BouncyCastle.1.8.6\lib\net40\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="CefSharp, Version=138.0.340.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.Common.138.0.340\lib\net462\CefSharp.dll</HintPath>
</Reference>
<Reference Include="CefSharp.Core, Version=138.0.340.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.Common.138.0.340\lib\net462\CefSharp.Core.dll</HintPath>
</Reference>
<Reference Include="CefSharp.WinForms, Version=138.0.340.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.WinForms.138.0.340\lib\net462\CefSharp.WinForms.dll</HintPath>
</Reference>
<Reference Include="CefSharp.Wpf, Version=138.0.340.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.Wpf.138.0.340\lib\net462\CefSharp.Wpf.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.1.9, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.1\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="NaiBa.Util">
<HintPath>..\DllReference\NaiBa.Util.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NPOI, Version=2.5.4.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<HintPath>..\packages\NPOI.2.5.4\lib\net45\NPOI.dll</HintPath>
</Reference>
<Reference Include="NPOI.OOXML, Version=2.5.4.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<HintPath>..\packages\NPOI.2.5.4\lib\net45\NPOI.OOXML.dll</HintPath>
</Reference>
<Reference Include="NPOI.OpenXml4Net, Version=2.5.4.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<HintPath>..\packages\NPOI.2.5.4\lib\net45\NPOI.OpenXml4Net.dll</HintPath>
</Reference>
<Reference Include="NPOI.OpenXmlFormats, Version=2.5.4.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<HintPath>..\packages\NPOI.2.5.4\lib\net45\NPOI.OpenXmlFormats.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Management" />
<Reference Include="System.Web.Services" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="AdslHelper.cs" />
<Compile Include="AutoSizeFormClass.cs" />
<Compile Include="Base64Encode.cs" />
<Compile Include="BaseClass.cs" />
<Compile Include="BaseRegex.cs" />
<Compile Include="BaseWork.cs" />
<Compile Include="CollectBase.cs" />
<Compile Include="DouYinModel\Param\AfterSaleManage\AfterSaleOperateParam.cs" />
<Compile Include="DouYinModel\Param\ConfigManage\SystemSettings.cs" />
<Compile Include="DouYinModel\Param\LoginManage\UserParam.cs" />
<Compile Include="DouYinModel\Param\ShopManage\DouShopSettingParam.cs" />
<Compile Include="DouYinModel\Result\DouGoodsInfo.cs" />
<Compile Include="DouYinModel\Result\DouOrderListInfo.cs" />
<Compile Include="Model\Config\BuyConfig.cs" />
<Compile Include="Model\Config\WarehousePostageInfo.cs" />
<Compile Include="Model\DBModel\distrib_receiver_info.cs" />
<Compile Include="Model\DBModel\distrib_return_order_info.cs" />
<Compile Include="Model\DBModel\ErpMerchantInfo.cs" />
<Compile Include="Model\DBModel\oms_wei_external_procurement_after_sale_info.cs" />
<Compile Include="Model\DBModel\oms_wei_external_procurement_log_info.cs" />
<Compile Include="Model\DBModel\order_item_ext.cs" />
<Compile Include="Model\DBModel\order_pdd_buyer_after_sale.cs" />
<Compile Include="Model\DBModel\order_pdd_buyer_order.cs" />
<Compile Include="Model\DBModel\TransitWarehouseParam.cs" />
<Compile Include="Model\DBModel\user_payment_record.cs" />
<Compile Include="Model\DBModel\TransitWaybillHelper.cs" />
<Compile Include="Model\Division\Division.cs" />
<Compile Include="Model\Division\PddDivision.cs" />
<Compile Include="Model\Result\PddBuyerAfterSaleLiteInfo.cs" />
<Compile Include="Model\Result\PddBuyerOrderLiteInfo.cs" />
<Compile Include="Model\DBModel\ShopLoginInfo.cs" />
<Compile Include="DouYinModel\Result\DouSubAccountModel.cs" />
<Compile Include="DouYinModel\Result\DouYinAfterSaleOrderModel.cs" />
<Compile Include="DouYinModel\Result\DouYinOrderModel.cs" />
<Compile Include="Extension\SortExtension.cs" />
<Compile Include="FileBase.cs" />
<Compile Include="GetHtml.cs" />
<Compile Include="Helper\GlobalConfig.cs" />
<Compile Include="Helper\HttpHelper.cs" />
<Compile Include="HttpUtility.cs" />
<Compile Include="IECookies.cs" />
<Compile Include="ImageBuild.cs" />
<Compile Include="IPLocationSearch.cs" />
<Compile Include="JsonHelper.cs" />
<Compile Include="LogSave.cs" />
<Compile Include="Md5Base.cs" />
<Compile Include="Model\MvvmBaseClasses\PropertyNotifyObject.cs" />
<Compile Include="Model\DBModel\oms_wei_order_info.cs" />
<Compile Include="Model\DBModel\oms_wei_order_item_info.cs" />
<Compile Include="Model\DBModel\oms_wei_refund_info.cs" />
<Compile Include="Model\Old\PddMultiBuyerInfo.cs" />
<Compile Include="Model\Old\PddPifaShopInfo.cs" />
<Compile Include="Model\DBModel\BuyerLoginInfo.cs" />
<Compile Include="Model\DBModel\WXBuyMapInfo.cs" />
<Compile Include="MultiThreadClient.cs" />
<Compile Include="OutExcel.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Randomx.cs" />
<Compile Include="Segment.cs" />
<Compile Include="SqlHelper.cs" />
<Compile Include="TempFileReadWrite.cs" />
<Compile Include="Threadx.cs" />
<Compile Include="TreadTime.cs" />
<Compile Include="Util\ObservableCollectionThreadSafe.cs" />
<Compile Include="WebClientx.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="ZipHelper.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Folder Include="Model\Params\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\chromiumembeddedframework.runtime.win-x64.138.0.34\build\chromiumembeddedframework.runtime.win-x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\chromiumembeddedframework.runtime.win-x64.138.0.34\build\chromiumembeddedframework.runtime.win-x64.props'))" />
<Error Condition="!Exists('..\packages\chromiumembeddedframework.runtime.win-x86.138.0.34\build\chromiumembeddedframework.runtime.win-x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\chromiumembeddedframework.runtime.win-x86.138.0.34\build\chromiumembeddedframework.runtime.win-x86.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.targets'))" />
</Target>
<Import Project="..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net462</TargetFramework>
<Platforms>x86;x64</Platforms>
<OutputType>Library</OutputType>
<RootNamespace>AllBase</RootNamespace>
<AssemblyName>29WxOrderAllBase</AssemblyName>
<PlatformTarget>x64</PlatformTarget>
<UseWindowsForms>true</UseWindowsForms>
<UseWPF>true</UseWPF>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>12</LangVersion>
<!-- Properties\AssemblyInfo.cs already contains assembly attributes,
so disable the SDK's auto-generated AssemblyInfo to avoid duplicates. -->
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<!-- Match original output location -->
<!--<BaseOutputPath>..\Bin\</BaseOutputPath>-->
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendPlatformToOutputPath>false</AppendPlatformToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
</PropertyGroup>
<PropertyGroup Condition="'$(Platform)'=='x86'">
<PlatformTarget>x86</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Platform)'=='x64'">
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<!-- Framework assemblies not already implied by UseWindowsForms/UseWPF -->
<Reference Include="System.Data" />
<Reference Include="System.Management" />
<Reference Include="System.Web.Services" />
</ItemGroup>
<ItemGroup>
<!-- Local (non-NuGet) assembly reference -->
<Reference Include="NaiBa.Util">
<HintPath>..\DllReference\NaiBa.Util.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="CefSharp.Common" Version="138.0.340" />
<PackageReference Include="CefSharp.WinForms" Version="138.0.340" />
<PackageReference Include="CefSharp.Wpf" Version="138.0.340" />
<PackageReference Include="Portable.BouncyCastle" Version="1.8.6" />
<PackageReference Include="SharpZipLib" Version="1.3.1" />
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
<PackageReference Include="NPOI" Version="2.5.4" />
</ItemGroup>
<!--
SDK-style projects glob all .cs files automatically, so the previous
explicit <Compile Include="..."/> list has been removed.
Properties\Resources.resx is also picked up automatically as an
EmbeddedResource by the SDK's default globs. If it needs the strongly
typed designer generator, keep this explicit entry (SDK will merge it
with the auto-included item, no duplicate resource is produced):
-->
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>
+5
View File
@@ -6,4 +6,9 @@
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
<ItemGroup>
<Compile Update="WebClientx.cs">
<SubType>Component</SubType>
</Compile>
</ItemGroup>
</Project>
+1 -1
View File
@@ -36,7 +36,7 @@ namespace AllBase
/// 版本ID
/// </summary>
public static int VersionCount = 265;
public static int VersionCount = 269;
public static string ServerUrl { get; set; } = "http://1.13.195.131:9000";
public static string DebugUrl { get; set; } = "http://localhost:9000";
@@ -106,5 +106,17 @@ namespace AllBase.Model.DBModel
/// 拒收时间
/// </summary>
public DateTime? rejected_time { get; set; }
/// <summary>
/// 拦截退回状态:0未处理,1已退回,2退回失败
/// </summary>
public int? intercept_return_status { get; set; }
/// <summary>
/// 拦截退回时间
/// </summary>
public DateTime? intercept_return_time { get; set; }
/// <summary>
/// 拦截退回操作信息/回调信息
/// </summary>
public string intercept_return_info { get; set; }
}
}
+10 -3
View File
@@ -134,7 +134,8 @@ namespace AllBase.Model.DBModel
get
{
//return this.orderItems.All(oi => !string.IsNullOrEmpty(oi.ItemRefund?.return_waybill_id)) && this.orderItems.All(oi => oi.ItemRefund?.return_detail == GlobalConfig.TransitReturnOrderReturnAddress);
return this.orderItems.All(oi => oi.ItemRefund?.return_detail == GlobalConfig.TransitReturnOrderReturnAddress);
//return this.orderItems.All(oi => oi.ItemRefund?.return_detail == GlobalConfig.TransitReturnOrderReturnAddress);
return this.orderItems.All(oi => oi.ItemRefund?.return_detail.StartsWith(GlobalConfig.TransitReturnOrderReturnAddress) == true);
}
set { }
}
@@ -583,7 +584,7 @@ namespace AllBase.Model.DBModel
/// </summary>
public string supplier_remark_exception { get; set; }
/// <summary>
/// 礼物单状态,默认值0:不存在礼物单,1:礼物单已发货,2:礼物单信息已更正 3 礼物单发货失败
/// 礼物单状态,默认值0:不存在礼物单,1:礼物单已发货,2:礼物单信息已更正 3 礼物单发货失败 4 礼物单已购买但微信发货失败 5 礼物单发货中
/// </summary>
public int? gift_order_status
{
@@ -595,8 +596,12 @@ namespace AllBase.Model.DBModel
GiftOrderStatusStr = "礼品单已购买";
else if (value == 3)
GiftOrderStatusStr = "礼品单购买失败";
else if (value == 4)
GiftOrderStatusStr = "礼物单已购买但微信发货失败";
else if (value == 5)
GiftOrderStatusStr = "礼物单发货中";
else
GiftOrderStatusStr = "";
GiftOrderStatusStr = "礼品单状态错误";
return;
}
}
@@ -773,6 +778,8 @@ namespace AllBase.Model.DBModel
// 直发或者云改直已购买且未退货,从异常单移除
if (orderItems.All(oi => oi.DirectPddBuyerOrder != null && oi.DirectPddBuyerAfterSale == null) /*&& (out_shipped != 2 || string.IsNullOrEmpty(this.out_express_no))*/)
return false;
if (gift_order_status == 1 || gift_order_status == 2)
return false;
if (orderItems.Any(oi => !(oi.OrderItemExt?.abnormal_text).IsNullOrEmpty()))
return true;
@@ -284,8 +284,8 @@ namespace AllBase.Model.DBModel
{
if (AddEditTransitWarehouseRejectStr == "申请")
AddEditTransitWarehouseRejectStr = "";
else if (this.ItemTransitOrderWithVoid.platform == "XDYYWC") // 义务仓已申请拒收的全部显示失败
AddEditTransitWarehouseRejectStr = "申请拒收失败*";
//else if (this.ItemTransitOrderWithVoid.platform == "XDYYWC") // 义务仓已申请拒收的全部显示失败
// AddEditTransitWarehouseRejectStr = "申请拒收失败*";
}
if (order_id == "3738396781943865344")
@@ -297,26 +297,30 @@ namespace AllBase.Model.DBModel
AddEditTransitWarehouseAfterSaleStr = "添加";
if (this.ItemTransitOrderAfterSale != null)
AddEditTransitWarehouseAfterSaleStr = "已添加";
if (this.ItemTransitOrderAfterSale != null && (ItemTransitOrderWithVoid.intercept_return_status == 1 || !string.IsNullOrEmpty(ItemTransitOrderAfterSale.downstream_waybill)))
AddEditTransitWarehouseAfterSaleStr = "拦截成功";
//if (this.ItemTransitOrderAfterSale != null && ItemTransitOrderWithVoid.intercept_return_status == 2)
// AddEditTransitWarehouseAfterSaleStr = "拦截失败";
if (this.ItemTransitOrderWithVoid == null || this.ItemRefund?.type != "REFUND" ||
!(this.ItemRefund?.return_waybill_id).IsNullOrEmpty() || !(this.ItemRefund?.return_detail).IsNullOrEmpty() ||
(!this.ItemOrder.IsEmergency && !this.ItemOrder.isAbnormal && !this.ItemOrder.IsRefund) ||
this.ItemTransitOrderWithVoid.warehouse_status == 0 ||
(this.ItemTransitOrderWithVoid.warehouse_status == 1 && !AddEditTransitWarehouseRejectStr.IsNullOrEmpty() && !AddEditTransitWarehouseRejectStr.StartsWith("申请拒收失败")))
{
if (AddEditTransitWarehouseAfterSaleStr != "已添加")
if (AddEditTransitWarehouseAfterSaleStr == "添加")
AddEditTransitWarehouseAfterSaleStr = "";
}
// 退货退款的,不能拦截退回总店。如果是退到退货仓,则退货仓流程,否则店家自行收货退回总店。
if (!RefundAddressStr.ParseToString().Trim().IsNullOrEmpty() || this.ItemRefund?.type != "REFUND")
{
if (AddEditTransitWarehouseAfterSaleStr != "已添加")
if (AddEditTransitWarehouseAfterSaleStr == "添加")
AddEditTransitWarehouseAfterSaleStr = "";
}
if (this.ItemTransitOrderAfterSale != null)
TransitWarehouseAfterSaleWayBillStr = (this.ItemTransitOrderAfterSale?.downstream_express_code + "-" + this.ItemTransitOrderAfterSale?.downstream_waybill).Trim('-');
AddEditTransitWarehouseReturnOrderStr = "";
if (ItemRefund?.return_detail == GlobalConfig.TransitReturnOrderReturnAddress)
if (ItemRefund?.return_detail.StartsWith(GlobalConfig.TransitReturnOrderReturnAddress) == true)
{
if (order_id == "3738272473468804864")
{
@@ -324,7 +328,7 @@ namespace AllBase.Model.DBModel
}
// 关闭中转包裹退回,改为中转分销退货
if (AddEditTransitWarehouseAfterSaleStr != "已添加")
if (AddEditTransitWarehouseAfterSaleStr == "添加")
AddEditTransitWarehouseAfterSaleStr = "";
AddEditTransitWarehouseReturnOrderStr = DistribReturnOrderInfo == null ? "添加" : "已添加";
if (DistribReturnOrderInfo?.warehouse_status == 1)
+158 -427
View File
@@ -1,428 +1,159 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.props')" />
<Import Project="..\packages\chromiumembeddedframework.runtime.win-x86.138.0.34\build\chromiumembeddedframework.runtime.win-x86.props" Condition="Exists('..\packages\chromiumembeddedframework.runtime.win-x86.138.0.34\build\chromiumembeddedframework.runtime.win-x86.props')" />
<Import Project="..\packages\chromiumembeddedframework.runtime.win-x64.138.0.34\build\chromiumembeddedframework.runtime.win-x64.props" Condition="Exists('..\packages\chromiumembeddedframework.runtime.win-x64.138.0.34\build\chromiumembeddedframework.runtime.win-x64.props')" />
<Import Project="..\packages\cef.redist.x86.79.1.36\build\cef.redist.x86.props" Condition="Exists('..\packages\cef.redist.x86.79.1.36\build\cef.redist.x86.props')" />
<Import Project="..\packages\cef.redist.x64.79.1.36\build\cef.redist.x64.props" Condition="Exists('..\packages\cef.redist.x64.79.1.36\build\cef.redist.x64.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{1AD45D66-6872-4522-ACF0-04E2C0514048}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Work</RootNamespace>
<AssemblyName>29WxOrderWork</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\Bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
<UseWinFormsOutOfProcDesigner>True</UseWinFormsOutOfProcDesigner>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
<UseWinFormsOutOfProcDesigner>True</UseWinFormsOutOfProcDesigner>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\Bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<UseWinFormsOutOfProcDesigner>True</UseWinFormsOutOfProcDesigner>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>..\bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<UseWinFormsOutOfProcDesigner>True</UseWinFormsOutOfProcDesigner>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<UseWinFormsOutOfProcDesigner>True</UseWinFormsOutOfProcDesigner>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>..\bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<UseWinFormsOutOfProcDesigner>True</UseWinFormsOutOfProcDesigner>
</PropertyGroup>
<ItemGroup>
<Reference Include="CefSharp, Version=138.0.340.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.Common.138.0.340\lib\net462\CefSharp.dll</HintPath>
</Reference>
<Reference Include="CefSharp.Core, Version=138.0.340.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.Common.138.0.340\lib\net462\CefSharp.Core.dll</HintPath>
</Reference>
<Reference Include="CefSharp.WinForms, Version=138.0.340.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>..\packages\CefSharp.WinForms.138.0.340\lib\net462\CefSharp.WinForms.dll</HintPath>
</Reference>
<Reference Include="DevComponents.DotNetBar2, Version=14.0.0.3, Culture=neutral, PublicKeyToken=c39c3242a43eee2b, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\DllReference\DevComponents.DotNetBar2.dll</HintPath>
</Reference>
<Reference Include="NaiBa.CefHelper.138, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\DllReference\NaiBa.CefHelper.138.dll</HintPath>
</Reference>
<Reference Include="NaiBa.Util, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\DllReference\NaiBa.Util.dll</HintPath>
</Reference>
<Reference Include="NaiBa.Util.Winform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\DllReference\NaiBa.Util.Winform.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.Management" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="WPFCommon, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\WPFCommon.1.1.0\lib\net462\WPFCommon.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AddressSetIni.cs" />
<Compile Include="Api\DouYinApi.cs" />
<Compile Include="Api\JumpUpProductNew.cs" />
<Compile Include="AutoConfirmExpress.cs" />
<Compile Include="Base64ChangeImgUrl.cs" />
<Compile Include="BaseForms\BaseForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="BaseForms\BaseForm.Designer.cs">
<DependentUpon>BaseForm.cs</DependentUpon>
</Compile>
<Compile Include="BaseForms\BaseGeneralForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="BaseForms\BaseGeneralForm.Designer.cs">
<DependentUpon>BaseGeneralForm.cs</DependentUpon>
</Compile>
<Compile Include="BaseForms\BaseMsgForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="BaseForms\BaseMsgForm.Designer.cs">
<DependentUpon>BaseMsgForm.cs</DependentUpon>
</Compile>
<Compile Include="BaseForms\UserControls\ButtonEx.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="BaseForms\UserControls\CustomDataGridViewTextBoxCell.cs" />
<Compile Include="BaseForms\UserControls\StatusBarUserControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="BaseForms\UserControls\StatusBarUserControl.designer.cs">
<DependentUpon>StatusBarUserControl.cs</DependentUpon>
</Compile>
<Compile Include="BaseForms\UserControls\UcSplitPage.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="BaseForms\UserControls\UcSplitPage.designer.cs">
<DependentUpon>UcSplitPage.cs</DependentUpon>
</Compile>
<Compile Include="BaseForms\UserComponents\ButtonLc.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="BaseForms\UserComponents\DataGridViewCheckBoxColumnSelectAll.cs" />
<Compile Include="BaseForms\UserComponents\DataGridViewEx.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="BaseForms\UserComponents\DataGridViewXEx.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="BaseForms\UserComponents\UcCheckBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="BaseForms\UserComponents\UcCheckBox.designer.cs">
<DependentUpon>UcCheckBox.cs</DependentUpon>
</Compile>
<Compile Include="BaseForms\UserComponents\UcComboBoxBase.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="BaseForms\UserComponents\UcComboBoxMutiSelect .cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="BaseForms\UserComponents\UcComboBoxMutiSelect .designer.cs">
<DependentUpon>UcComboBoxMutiSelect .cs</DependentUpon>
</Compile>
<Compile Include="BaseForms\UserComponents\UcDataGridViewCheckBoxColumn.cs" />
<Compile Include="BaseForms\UserComponents\UcDataGridViewCheckBoxColumn.designer.cs">
<DependentUpon>UcDataGridViewCheckBoxColumn.cs</DependentUpon>
</Compile>
<Compile Include="BaseForms\UserComponents\UcGroupBoxEx.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="BaseForms\UserComponents\UcGroupBoxEx.designer.cs">
<DependentUpon>UcGroupBoxEx.cs</DependentUpon>
</Compile>
<Compile Include="BaseForms\UserComponents\UcTabControl.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="BaseForms\UserComponents\UcTabControl.designer.cs">
<DependentUpon>UcTabControl.cs</DependentUpon>
</Compile>
<Compile Include="BaseForms\UserComponents\UcTabControlMetro.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="BaseForms\UserComponents\UcTabControlMetro.designer.cs">
<DependentUpon>UcTabControlMetro.cs</DependentUpon>
</Compile>
<Compile Include="BaseForms\UserComponents\UcTreeView.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="BaseForms\UserComponents\UcTreeView.designer.cs">
<DependentUpon>UcTreeView.cs</DependentUpon>
</Compile>
<Compile Include="BoundJs.cs" />
<Compile Include="BuyUsers\ALBuyUser.cs" />
<Compile Include="BuyUsers\CookieVisitor.cs" />
<Compile Include="BuyUsers\PddBuyUser.cs" />
<Compile Include="BuyUsers\TaoBaoBuyUser.cs" />
<Compile Include="CheckHecker.cs" />
<Compile Include="CollectionClass.cs" />
<Compile Include="ERP.API\ERPConfig.cs" />
<Compile Include="ERP.API\ERPHttp.cs" />
<Compile Include="ERP.API\Orders\ShipGiftServiceApi.cs" />
<Compile Include="ERP.API\TaskStatus.cs" />
<Compile Include="ERP.API\Orders\PullWXOrderServiceApi.cs" />
<Compile Include="GetPostTaobaoHtml.cs" />
<Compile Include="DouYinHttpWebRequest.cs" />
<Compile Include="Helper\CEFHelper.cs" />
<Compile Include="Helper\Win32.cs" />
<Compile Include="Helper\WindowStyle.cs" />
<Compile Include="ImgConvertToIcon.cs" />
<Compile Include="Initialization.cs" />
<Compile Include="KJDServer.API\Models\OrderTask.cs" />
<Compile Include="Model\BaseModel.cs" />
<Compile Include="Model\ExpressBase.cs" />
<Compile Include="MulitServicerSet.cs" />
<Compile Include="Extension\ControlExtension.cs" />
<Compile Include="Extension\DataGridViewExtension.cs" />
<Compile Include="PayGroupOrder.cs" />
<Compile Include="PinduoduoApiGetProduct.cs" />
<Compile Include="PinduoduoProductCollect.cs" />
<Compile Include="Pinduoduo\DataOpenSSL.cs" />
<Compile Include="Pinduoduo\PddProductDetail.cs" />
<Compile Include="ProductDtailBase.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="ProvinceBase.cs" />
<Compile Include="SearchSame\ProductInfo.cs" />
<Compile Include="ShopChatBase.cs" />
<Compile Include="TaobaoMobileCollect.cs" />
<Compile Include="Taobao\TbHttpReauest.cs" />
<Compile Include="Tips\TokenForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Tips\TokenForm.designer.cs">
<DependentUpon>TokenForm.cs</DependentUpon>
</Compile>
<Compile Include="UserLogin.cs" />
<Compile Include="KJDServer.API\KJDServerHttp.cs" />
<Compile Include="KJDServer.API\WXOrder\WxOrderServiceApi.cs" />
<Compile Include="_29Tools\BLL\HttpResponseBLL.cs" />
<Compile Include="_29Tools\BLL\HttpResponseTransitWorkOrderBLL.cs" />
<Compile Include="_29Tools\BLL\HttpResponseWXBLL.cs" />
<Compile Include="_29Tools\BLL\HttpResponseYkdBLL.cs" />
<Compile Include="_29Tools\BLL\ShopBLL.cs" />
<Compile Include="_29Tools\BLL\WxApiBLL.cs" />
<Compile Include="_29Tools\BLL\WxOrderSupplierBLL.cs" />
<Compile Include="_29Tools\CefTools\LocalCEFBrowser.cs" />
<Compile Include="_29Tools\CefTools\LocalCookieVisitor.cs" />
<Compile Include="_29Tools\CefTools\LocalRequestHandler.cs" />
<Compile Include="_29Tools\CefTools\LocalResourceRequestHandler.cs" />
<Compile Include="_29Tools\CefTools\LocalLifeSpanHandler.cs" />
<Compile Include="_29Tools\CefTools\LocalMenuHandler.cs" />
<Compile Include="_29Tools\Forms\PddMobileBuyOrderForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="_29Tools\Forms\PddMobileBuyOrderForm.designer.cs">
<DependentUpon>PddMobileBuyOrderForm.cs</DependentUpon>
</Compile>
<Compile Include="_29Tools\Forms\PddMobileLoginForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="_29Tools\Forms\PddMobileLoginForm.designer.cs">
<DependentUpon>PddMobileLoginForm.cs</DependentUpon>
</Compile>
<Compile Include="_29Tools\Forms\ShopForms\WXShopLoginForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="_29Tools\Forms\ShopForms\WXShopLoginForm.Designer.cs">
<DependentUpon>WXShopLoginForm.cs</DependentUpon>
</Compile>
<Compile Include="_29Tools\Forms\ToolForms\ShowImgForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="_29Tools\Forms\ToolForms\ShowImgForm.Designer.cs">
<DependentUpon>ShowImgForm.cs</DependentUpon>
</Compile>
<Compile Include="_29Tools\Forms\UserForms\WXGetBalanceQrCodeForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="_29Tools\Forms\UserForms\WXGetBalanceQrCodeForm.Designer.cs">
<DependentUpon>WXGetBalanceQrCodeForm.cs</DependentUpon>
</Compile>
<Compile Include="_29Tools\Forms\UserForms\WXGetTopUpQrCode.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="_29Tools\Forms\UserForms\WXGetTopUpQrCode.Designer.cs">
<DependentUpon>WXGetTopUpQrCode.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AllBase\29WxOrderAllBase.csproj">
<Project>{6461d807-b1c8-45f0-b388-e0ca1a418de0}</Project>
<Name>29WxOrderAllBase</Name>
</ProjectReference>
<ProjectReference Include="..\WxOrder.Framework\WxOrder.Framework.csproj">
<Project>{3123963c-a0ec-4ad5-9916-dc063f73490b}</Project>
<Name>WxOrder.Framework</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\29wx.ico" />
<Content Include="Resources\BaseMsgErr.png" />
<Content Include="Resources\BaseMsgInfo.png" />
<Content Include="Resources\BaseMsgQue.png" />
<Content Include="Resources\btncheckoff1.png" />
<Content Include="Resources\btncheckon1.png" />
<Content Include="Resources\close.hover.png" />
<Content Include="Resources\close.png" />
<None Include="app.config" />
<None Include="packages.config" />
<None Include="Resources\icon.ico" />
<Content Include="Resources\errpic.png" />
<Content Include="Resources\loading_blue.gif" />
<Content Include="Resources\max.hover.png" />
<Content Include="Resources\max.png" />
<Content Include="Resources\min.hover.png" />
<Content Include="Resources\min.png" />
<Content Include="Resources\normal.hover.png" />
<Content Include="Resources\normal.png" />
<Content Include="Resources\weixin_icon.png" />
<Content Include="Resources\x-2.0.png" />
<Content Include="Resources\x-2.1.png" />
<Content Include="Resources\x-3.0.png" />
<Content Include="Resources\x-3.1.png" />
<Content Include="Resources\x-4.0.png" />
<Content Include="Resources\x-4.1.png" />
<Content Include="Resources\x-5.0.png" />
<Content Include="Resources\x-5.1.png" />
<Content Include="Resources\x-6.0.png" />
<Content Include="Resources\x-6.1.png" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="BaseForms\BaseForm.resx">
<DependentUpon>BaseForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BaseForms\BaseGeneralForm.resx">
<DependentUpon>BaseGeneralForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BaseForms\BaseMsgForm.resx">
<DependentUpon>BaseMsgForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BaseForms\UserControls\StatusBarUserControl.resx">
<DependentUpon>StatusBarUserControl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BaseForms\UserControls\UcSplitPage.resx">
<DependentUpon>UcSplitPage.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BaseForms\UserComponents\DataGridViewEx.resx">
<DependentUpon>DataGridViewEx.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Tips\TokenForm.resx">
<DependentUpon>TokenForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="_29Tools\Forms\PddMobileBuyOrderForm.resx">
<DependentUpon>PddMobileBuyOrderForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="_29Tools\Forms\PddMobileLoginForm.resx">
<DependentUpon>PddMobileLoginForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="_29Tools\Forms\ShopForms\WXShopLoginForm.resx">
<DependentUpon>WXShopLoginForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="_29Tools\Forms\ToolForms\ShowImgForm.resx">
<DependentUpon>ShowImgForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="_29Tools\Forms\UserForms\WXGetBalanceQrCodeForm.resx">
<DependentUpon>WXGetBalanceQrCodeForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="_29Tools\Forms\UserForms\WXGetTopUpQrCode.resx">
<DependentUpon>WXGetTopUpQrCode.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\cef.redist.x64.79.1.36\build\cef.redist.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.79.1.36\build\cef.redist.x64.props'))" />
<Error Condition="!Exists('..\packages\cef.redist.x86.79.1.36\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.79.1.36\build\cef.redist.x86.props'))" />
<Error Condition="!Exists('..\packages\chromiumembeddedframework.runtime.win-x64.138.0.34\build\chromiumembeddedframework.runtime.win-x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\chromiumembeddedframework.runtime.win-x64.138.0.34\build\chromiumembeddedframework.runtime.win-x64.props'))" />
<Error Condition="!Exists('..\packages\chromiumembeddedframework.runtime.win-x86.138.0.34\build\chromiumembeddedframework.runtime.win-x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\chromiumembeddedframework.runtime.win-x86.138.0.34\build\chromiumembeddedframework.runtime.win-x86.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.targets'))" />
</Target>
<Import Project="..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.138.0.340\build\CefSharp.Common.targets')" />
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net462</TargetFramework>
<Platforms>x86;x64</Platforms>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Work</RootNamespace>
<AssemblyName>29WxOrderWork</AssemblyName>
<UseWindowsForms>true</UseWindowsForms>
<Deterministic>true</Deterministic>
<!-- Properties\AssemblyInfo.cs already contains assembly attributes,
so disable the SDK's auto-generated AssemblyInfo to avoid duplicates. -->
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<!-- Match original output location -->
<!--<BaseOutputPath>..\Bin\</BaseOutputPath>-->
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendPlatformToOutputPath>false</AppendPlatformToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Platform)'=='x86'">
<PlatformTarget>x86</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Platform)'=='x64'">
<PlatformTarget>x64</PlatformTarget>
<LangVersion>12</LangVersion>
</PropertyGroup>
<ItemGroup>
<!-- Framework assemblies not already implied by UseWindowsForms -->
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.Management" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup>
<!-- Local (non-NuGet) assembly references -->
<Reference Include="DevComponents.DotNetBar2">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\DllReference\DevComponents.DotNetBar2.dll</HintPath>
</Reference>
<Reference Include="NaiBa.CefHelper.138">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\DllReference\NaiBa.CefHelper.138.dll</HintPath>
</Reference>
<Reference Include="NaiBa.Util">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\DllReference\NaiBa.Util.dll</HintPath>
</Reference>
<Reference Include="NaiBa.Util.Winform">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\DllReference\NaiBa.Util.Winform.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="CefSharp.Common" Version="138.0.340" />
<PackageReference Include="CefSharp.WinForms" Version="138.0.340" />
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
<PackageReference Include="WPFCommon" Version="1.1.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AllBase\29WxOrderAllBase.csproj" />
<ProjectReference Include="..\WxOrder.Framework\WxOrder.Framework.csproj" />
</ItemGroup>
<!--
SDK-style projects glob all .cs files (**/*.cs) and .resx files (**/*.resx)
automatically, so the previous explicit <Compile Include="..."/> list and
the per-form <EmbeddedResource Include="..."><DependentUpon>...</DependentUpon>
entries have been removed. Visual Studio still nests Form.cs / Form.Designer.cs /
Form.resx together in Solution Explorer based on the standard naming
convention, with no metadata required.
Properties\Resources.resx keeps its strongly-typed code generator below;
the SDK's default glob already includes the .resx as EmbeddedResource, so
"Update" (not "Include") is used to just attach the generator metadata.
-->
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<!--
Image/icon assets under Resources\ need explicit Build Actions
(Resource / Content / None) that differ from the SDK's default "None"
glob, so the folder is excluded from the default glob first and then
re-added here with the original Build Actions preserved.
-->
<ItemGroup>
<None Remove="Resources\**" />
<Resource Include="Resources\29wx.ico" />
<Content Include="Resources\BaseMsgErr.png" />
<Content Include="Resources\BaseMsgInfo.png" />
<Content Include="Resources\BaseMsgQue.png" />
<Content Include="Resources\btncheckoff1.png" />
<Content Include="Resources\btncheckon1.png" />
<Content Include="Resources\close.hover.png" />
<Content Include="Resources\close.png" />
<Content Include="Resources\errpic.png" />
<Content Include="Resources\loading_blue.gif" />
<Content Include="Resources\max.hover.png" />
<Content Include="Resources\max.png" />
<Content Include="Resources\min.hover.png" />
<Content Include="Resources\min.png" />
<Content Include="Resources\normal.hover.png" />
<Content Include="Resources\normal.png" />
<Content Include="Resources\weixin_icon.png" />
<Content Include="Resources\x-2.0.png" />
<Content Include="Resources\x-2.1.png" />
<Content Include="Resources\x-3.0.png" />
<Content Include="Resources\x-3.1.png" />
<Content Include="Resources\x-4.0.png" />
<Content Include="Resources\x-4.1.png" />
<Content Include="Resources\x-5.0.png" />
<Content Include="Resources\x-5.1.png" />
<Content Include="Resources\x-6.0.png" />
<Content Include="Resources\x-6.1.png" />
<None Include="Resources\icon.ico" />
</ItemGroup>
<!-- app.config is picked up automatically by the SDK's default None glob
and MSBuild's app.config handling (based on the filename), so no
explicit item is needed. packages.config is no longer used since
NuGet packages are declared as PackageReference above. -->
</Project>
+74
View File
@@ -3,4 +3,78 @@
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
<ItemGroup>
<Compile Update="BaseForms\BaseForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="BaseForms\BaseGeneralForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="BaseForms\BaseMsgForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="BaseForms\UserComponents\ButtonLc.cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="BaseForms\UserComponents\DataGridViewEx.cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="BaseForms\UserComponents\DataGridViewXEx.cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="BaseForms\UserComponents\UcCheckBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="BaseForms\UserComponents\UcComboBoxBase.cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="BaseForms\UserComponents\UcComboBoxMutiSelect .cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="BaseForms\UserComponents\UcGroupBoxEx.cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="BaseForms\UserComponents\UcTabControl.cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="BaseForms\UserComponents\UcTabControlMetro.cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="BaseForms\UserComponents\UcTreeView.cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="BaseForms\UserControls\ButtonEx.cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="BaseForms\UserControls\StatusBarUserControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Update="BaseForms\UserControls\UcSplitPage.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Update="Tips\TokenForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="_29Tools\Forms\PddMobileBuyOrderForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="_29Tools\Forms\PddMobileLoginForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="_29Tools\Forms\ProductForms\WXOrderListOptimizeForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="_29Tools\Forms\ShopForms\WXShopLoginForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="_29Tools\Forms\ToolForms\ShowImgForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="_29Tools\Forms\UserForms\WXGetBalanceQrCodeForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="_29Tools\Forms\UserForms\WXGetTopUpQrCode.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
</Project>
+1 -1
View File
@@ -37,7 +37,7 @@ namespace Work.BaseForms
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
//this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "BaseForm";
this.Text = "BaseForm";
this.Load += new System.EventHandler(this.BaseForm_Load);
+1 -1
View File
@@ -150,7 +150,7 @@ namespace Work.BaseForms
this.ClientSize = new System.Drawing.Size(386, 232);
this.Controls.Add(this.pnlTitle);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
//this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "BaseGeneralForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Load += new System.EventHandler(this.LcBaseForm_Load);
+1 -1
View File
@@ -132,7 +132,7 @@ namespace Work.BaseForms
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(152)))), ((int)(((byte)(99)))), ((int)(((byte)(143)))));
this.ClientSize = new System.Drawing.Size(440, 300);
this.Controls.Add(this.panel2);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
//this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "BaseMsgForm";
this.Padding = new System.Windows.Forms.Padding(1);
this.Text = "消息提示框";
-265
View File
@@ -1,265 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AllBase;
using Work.Model;
namespace Work
{
public class ExpressSet
{
public static bool AutoAdd1408Room = false;
public static Dictionary<string, string> ExpressList = new Dictionary<string, string>();
public static Dictionary<string, string> ExpressBuyList = new Dictionary<string, string>();
public static Dictionary<string, string> ExpressBuyList_MTY = new Dictionary<string, string>();
public static Dictionary<string, GiftExp> GiftExpressBuyList = new Dictionary<string, GiftExp>();//礼品网礼品单
public static Dictionary<string, string> GiftExpressEmtyBuyList = new Dictionary<string, string>();//礼品网快递单
public string DeleteId = "";
public int Id = 0;
public ExpressBase Express;
public ExpressSet(string deleteId)
{
DeleteId = deleteId;
}
public ExpressSet(int deleteId)
{
Id = deleteId;
}
public ExpressSet(ExpressBase express)
{
Express = express;
}
public static void Ini()
{
ExpressList.Add("申通速递", "1");
ExpressList.Add("申通快递", "1");
ExpressList.Add("百世快递", "3");
ExpressList.Add("顺丰快递", "44");
ExpressList.Add("圆通快递", "85");
ExpressList.Add("中通快递", "115");
ExpressList.Add("全峰快递", "116");
ExpressList.Add("优速快递", "117");
ExpressList.Add("邮政EMS", "118");
ExpressList.Add("EMS", "118");
ExpressList.Add("百世快运", "229");
ExpressList.Add("天天快递", "119");
ExpressList.Add("京东配送", "120");
ExpressList.Add("韵达快递", "121");
ExpressList.Add("宅急送快递", "129");
ExpressList.Add("德邦快递", "131");
ExpressList.Add("邮政快递包裹", "132");
ExpressList.Add("亚马逊物流", "156");
//ExpressList.Add("中邮速递", "211");
ExpressList.Add("EMS-国际件", "213");
ExpressList.Add("中铁物流", "214");
ExpressList.Add("日日顺物流", "227");
ExpressList.Add("苏宁快递", "228");
ExpressList.Add("德邦物流", "230");
ExpressList.Add("邮政标准快递", "324");
ExpressList.Add("邮政国际包裹", "325");
ExpressList.Add("中铁快运", "332");
ExpressList.Add("赛澳递", "89");
ExpressList.Add("晟邦物流", "90");
ExpressList.Add("快捷快递", "122");
ExpressList.Add("国通快递", "124");
ExpressList.Add("如风达", "130");
//ExpressList.Add("龙邦快递", "133");
//ExpressList.Add("龙邦速递", "133");
ExpressList.Add("亚风速递", "317");
ExpressList.Add("远成快运", "205");
ExpressList.Add("壹米滴答快运", "348");
ExpressList.Add("京广速递", "281");
ExpressList.Add("承诺达特快", "351");
ExpressList.Add("加运美", "275");
ExpressList.Add("安迅物流", "352");
ExpressList.Add("中通快运", "343");
ExpressList.Add("速尔快递", "155");
ExpressList.Add("顺丰快运", "372");
ExpressList.Add("极兔速递", "384");
ExpressList.Add("韵达快运", "344");
////ExpressBuyList.Add("国通快递(0.55元)", "66");
////ExpressBuyList.Add("韵达快递-电子(0.5元)", "30");
////ExpressBuyList.Add("亚风速递-电子(0.5元)", "109");
////ExpressBuyList.Add("京广速递(0.60元)", "94");
//ExpressBuyList.Add("安迅物流-电子(0.60元)", "115");
//ExpressBuyList.Add("天天快递-电子(0.65元)", "127");
////ExpressBuyList.Add("圆通快递-电子(0.90元)", "106");
//ExpressBuyList.Add("申通快递-电子(0.75元)", "113");
//ExpressBuyList.Add("中通快运-电子(0.75元)", "123");
////ExpressBuyList.Add("申通快递(0.75元)", "72");
////ExpressBuyList.Add("京广速递-电子(0.8元)", "116");
//ExpressBuyList.Add("百世快递-电子(0.5元)", "117");
//ExpressBuyList.Add("远成快运(0.95元)", "88");
//ExpressBuyList.Add("龙邦速递(0.95元)", "68");
//ExpressBuyList.Add("亚风速递(1.00元)", "69");
//ExpressBuyList.Add("优速快递(0.85元)", "85");
////ExpressBuyList_MTY.Add("国通快递--拼多多专用(0.5元)", "53");
//ExpressBuyList_MTY.Add("圆通快递--电子面单(0.55元)", "56");
//ExpressBuyList_MTY.Add("承诺达特快--电子面单(0.55元)", "57");
////ExpressBuyList_MTY.Add("亚风速递--拼多多专用(0.65元)", "28");
//ExpressBuyList_MTY.Add("加运美--拼多多专用(0.5元)", "54");
//ExpressBuyList_MTY.Add("申通快递--拼多多专用(0.7元)", "52");
//ExpressBuyList_MTY.Add("百世快递--拼多多专用(0.9元)", "34");
//ExpressBuyList_MTY.Add("中通快递--拼多多专用(0.9元)", "49");
//ExpressBuyList_MTY.Add("百世快递--电子面单(1.05元))", "51");
//从服务端获取猫头鹰快递
if (!BaseClass.IsXiaoNaiNiu)
{
IniMtyExp();
}
}
public static void IniMtyExp()
{
if (ExpressBuyList_MTY.Count > 0)
return;
string url = BaseClass.BuildObjString("empty_bag&act=get");
StringBuilder s = new StringBuilder();
s.Append("&" + UserLogin.GetSignaturex());
string html = GetHtml.PostUtf8(url, s.ToString());
html = GetHtml.UrlDecode(html);
var expArr = BaseRegex.GetMatchRegex(ref html, "{\"name\":\"[\\S\\s]+?\",\"price\":\"\\([\\S\\s]+?\\)\",\"value\":\"[\\d]+?\"}");
for (int i = 0; i < expArr.Count; i++)
{
var item = expArr[i].ToString();
string expName = BaseRegex.GetStringJson(ref item, "name");
string price = BaseRegex.GetStringJson(ref item, "price");
string val = BaseRegex.GetStringJson(ref item, "value");
string keyStr = expName + price;
if (ExpressBuyList_MTY.ContainsKey(keyStr))
{
continue;
}
ExpressBuyList_MTY.Add(keyStr, val);
}
}
public static string Add(string expressName, string expressNo, string name, string mobile, string address)
{
if (string.IsNullOrEmpty(expressName) || string.IsNullOrEmpty(expressNo) || string.IsNullOrEmpty(name) ||
string.IsNullOrEmpty(mobile) || string.IsNullOrEmpty(address) || !ExpressList.ContainsKey(expressName))
{
return "请填写完整的信息";
}
if (AutoAdd1408Room && !address.Contains("1408") && !address.Contains("95278"))
address += "95278"; //"1408";
string expressId = ExpressList[expressName];
StringBuilder s = new StringBuilder();
s.Append("&express_id=" + expressId);
s.Append("&express_no=" + expressNo);
s.Append("&express_name=" + expressName);
s.Append("&name=" + name);
s.Append("&mobile=" + mobile);
s.Append("&address=" + address);
string data = UserLogin.GetSignaturex() + s;
string url = BaseClass.BuildObjString("express&act=add");
string html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html))
{
return "提交异常,请检查网络";
}
if (html == "had")
{
return "已经存在";
}
if (html == "ok")
{
ExpressBase e = new ExpressBase();
e.address = address;
e.express_id = expressId;
e.express_name = expressName;
e.express_no = expressNo;
e.mobile = mobile;
e.name = name;
e.use_times = 0;
e.buy_type = 1;
CollectionClass.ExpressList.Add(e);
CollectionClass.ExpressTempList.Add(e);
return "";
}
return "链接异常";
}
public static string path;
public static void Input()
{
string[] file = FileBase.ReadAllLines(path, Encoding.Default);
Input(file);
}
public static void Input(string[] file)
{
string message = "";
for (int i = 0; i < file.Length; i++)
{
if (string.IsNullOrEmpty(file[i]))
continue;
string[] l = file[i].Replace(",", ",").Split(',');
if (l.Length != 5)
continue;
string expressName = l[0], expressNo = l[1], name = l[2], mobile = l[3], address = l[4];
string msg = Add(expressName, expressNo, name, mobile, address);
if (!string.IsNullOrEmpty(msg))
message += "单号:" + expressNo + " 添加失败:" + msg;
}
if (!string.IsNullOrEmpty(message))
MessageBox.Show(message, "提示");
}
public void Delete()
{
Delete(DeleteId);
}
public string Delete(string no)
{
StringBuilder s = new StringBuilder();
s.Append("&express_no=" + no);
s.Append("&id=" + Id);
string data = UserLogin.GetSignaturex() + s;
string url = BaseClass.BuildObjString("express&act=delete");
string html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || html != "ok")
{
return "提交异常,请检查网络";
}
return "";
}
public void Update()
{
StringBuilder s = new StringBuilder();
s.Append("&name=" + Express.name);
s.Append("&mobile=" + Express.mobile);
s.Append("&address=" + GetHtml.UrlEncodeUtf8(Express.address));
s.Append("&id=" + Express.id);
string data = UserLogin.GetSignaturex() + s;
string url = BaseClass.BuildObjString("express&act=update");
string html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || html != "ok")
{
MessageBox.Show("提交异常,请检查网络");
}
}
}
public class GiftExp
{
public string storeId { get; set; }
public string kdId { get; set; }
}
}
@@ -7,7 +7,7 @@ using AllBase.Model.DBModel;
namespace Work._29Tools.BLL
{
public static class WxOrderSupplierBLL
public static class WxSimOrderSupplierBLL
{
public static string GetWxSupplierList(ShopLoginInfo shop)
{
+109
View File
@@ -0,0 +1,109 @@
using AllBase;
using AllBase.Model.DBModel;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Work._29Tools.BLL
{
public class WxSimProductBLL
{
/// <summary>
/// 获取商品列表
/// </summary>
/// <param name="shop"></param>
/// <param name="pageNum"></param>
/// <param name="pageSize"></param>
/// <param name="prodIds"></param>
/// <param name="status"></param>
/// <param name="sortType"></param>
/// <returns></returns>
public static string searchProduct(ShopLoginInfo shop, int pageNum, int pageSize = 50, string prodIds = null, int status = 5, int? sortType = null)
{
//https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&pageSize=20&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=44&status[]=5&presaleType[]=1
//https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&pageSize=20&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=1&status[]=-1&spuId=1000080961530,10000802736449
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&" +
"pageSize=" + pageSize + "&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=" + pageNum + "&status[]=" + status;
if (prodIds != null)
url += "&spuId=" + prodIds;
if (sortType != null)
url += "&sortType=" + sortType;
string refere = "https://store.weixin.qq.com/shop/goods/list";
var result = HttpResponseWXBLL.WeiXinGetResponse(shop, url, refere);
return result;
}
public static string getSkuBySpu(ShopLoginInfo shop, string spuIds)
{
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/getStockBySpu?token=&lang=zh_CN";
string body = @"{""productIdList"":[" + spuIds + @"]}";
string refere = "https://store.weixin.qq.com/shop/goods/list";
var result = HttpResponseWXBLL.WeiXinPostResponse(shop, url, body, refere);
return result;
}
/// <summary>
/// 下架商品
/// </summary>
/// <param name="shop"></param>
/// <param name="prodId"></param>
/// <returns></returns>
public static string DownProd(ShopLoginInfo shop, string prodIds)
{
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/BatchUnListing?token=&lang=zh_CN";
string referer = "https://store.weixin.qq.com/shop/goods/list";
string body = @"{""ids"":[" + prodIds + @"],""uploadSource"":6}";
var result = HttpResponseWXBLL.WeiXinPostResponse(shop, url, body, referer);
return result;
}
public static string batchUpdateStockAdd(ShopLoginInfo shop, string spuId, string skuId, string num)
{
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/batchUpdateStock?token=&lang=zh_CN";
string body = @"{""skuList"":[{""spuId"":""" + spuId + @""",""skuId"":""" + skuId + @""",""diffType"":1,""num"":" + num + "}]}";
string refere = "https://store.weixin.qq.com/shop/goods/list";
var result = HttpResponseWXBLL.WeiXinPostResponse(shop, url, body, refere);
return result;
}
public static string batchUpdateStockReduce(ShopLoginInfo shop, string spuId, string skuId, string num)
{
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/batchUpdateStock?token=&lang=zh_CN";
string body = @"{""skuList"":[{""spuId"":""" + spuId + @""",""skuId"":""" + skuId + @""",""diffType"":2,""num"":" + num + "}]}";
string refere = "https://store.weixin.qq.com/shop/goods/list";
var result = HttpResponseWXBLL.WeiXinPostResponse(shop, url, body, refere);
return result;
}
/// <summary>
/// 编辑商品价格
/// </summary>
/// <param name="shop"></param>
/// <param name="priceData">@"{""skuList"":[{""spuId"":" + spuId + @",""skuId"":""" + skuId + @""",""salePrice"":" + newPrice + @"}],""uploadSource"":6}";</param>
/// <returns></returns>
public static string EditPrice(ShopLoginInfo shop, JObject priceData)
{
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/listingUpdatePrice?token=&lang=zh_CN";
//string body = @"{""skuList"":[{""spuId"":" + spuId + @",""skuId"":""" + skuId + @""",""salePrice"":" + newPrice + @"}],""uploadSource"":6}";
string body = JsonHelper.SerializeObject(priceData);
string refere = "https://store.weixin.qq.com/shop/goods/list";
var result = HttpResponseWXBLL.WeiXinPostResponse(shop, url, body, refere);
return result;
}
public static string cancelActivity(ShopLoginInfo shop, JObject activityData)
{
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/updateRequestProductList?token=&lang=zh_CN";
string body = JsonHelper.SerializeObject(activityData);
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=1016&curTab=2";
var result = HttpResponseWXBLL.WeiXinPostResponse(shop, url, body, refere);
return result;
}
}
}
+8 -6
View File
@@ -102,13 +102,13 @@ namespace TemuKJD.ToolForms
this.CenterToScreen();
chkAutoChangeWarehouseAddress.Checked = GlobalConfig.BuyConfig.IsAutoChangeWarehouseAddress;
chkUseAppBalance.Checked = GlobalConfig.BuyConfig.IsUseAppBalance;
chkUseAppBalance.Checked = GlobalConfig.BuyConfig.IsUseAppBalance;
//chkUseAppBalance.Checked = false;
//chkUseAppBalance.Visible = false;
//GlobalConfig.BuyConfig.IsUseAppBalance = false;
// 强制使用软件余额而非erp余额拍单
chkUseAppBalance.Checked = true;
GlobalConfig.BuyConfig.IsUseAppBalance = true;
if (CloseAfterSecond > 0)
if (CloseAfterSecond > 0)
{
Task.Run(() =>
{
@@ -1317,7 +1317,9 @@ namespace TemuKJD.ToolForms
if (IsFormLoad)
{
GlobalConfig.BuyConfig.IsUseAppBalance = chkUseAppBalance.Checked;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("buy_config_260708", GlobalConfig.BuyConfig);
GlobalConfig.BuyConfig.IsUseAppBalance = true;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("buy_config_260708", GlobalConfig.BuyConfig);
}
}
+2 -1
View File
@@ -846,6 +846,7 @@
this.chkUseAppBalance.TabIndex = 877;
this.chkUseAppBalance.Text = "使用快递余额拍单";
this.chkUseAppBalance.UseVisualStyleBackColor = true;
this.chkUseAppBalance.Visible = false;
this.chkUseAppBalance.CheckedChanged += new System.EventHandler(this.chkUseAppBalance_CheckedChanged);
//
// txtShopName
@@ -1047,7 +1048,7 @@
this.ClientSize = new System.Drawing.Size(1360, 800);
this.Controls.Add(this.splitContainer2);
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.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.IsShowMaxBox = true;
this.Name = "PddMobileBuyOrderForm";
this.Padding = new System.Windows.Forms.Padding(1);
+1 -1
View File
@@ -344,7 +344,7 @@
this.ClientSize = new System.Drawing.Size(1024, 768);
this.Controls.Add(this.splitContainer2);
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.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.IsShowMaxBox = true;
this.Name = "PddMobileLoginForm";
this.Padding = new System.Windows.Forms.Padding(1);
+27 -205
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
<!--
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
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>
@@ -26,36 +26,36 @@
<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
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
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
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
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
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
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
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
@@ -117,182 +117,4 @@
<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>
AAABAAEAgIAQYAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzM
zMzMzMzMzMx3d4iIiIiIiIh3fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM
zMzMzMzMzMzHeIiIiIj/////////iIiIiId8zMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM
zMzMzMzMzMzMzMeIiI/////////////////////4iIh8zMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAATMzM
zMzMzMzMzMzMzMzMzHiI////////////////////////////iIfMzMzMzMzMzMzMzMzMzMzMxAAAAAAA
AGzMzMzMzMzMzMzMzMzMx3iP///////////////////////////////4iHzMzMzMzMzMzMzMzMzMzMYA
AAAAAAbMzMzMzMzMzMzMzMzMx3iP//////////////////////////////////+IfMzMzMzMzMzMzMzM
zMzMYAAAAABMzMzMzMzMzMzMzMzMx3iP/////////////////////////////////////4h8zMzMzMzM
zMzMzMzMzMQAAAAAbMzMzMzMzMzMzMzMzHiP////////////////////////////////////////h3zM
zMzMzMzMzMzMzMzGAAAABMzMzMzMzMzMzMzMzHiP////////////////////////////////////////
//iHzMzMzMzMzMzMzMzMzEAAAAbMzMzMzMzMzMzMzMeI////////////////////////////////////
////////+IfMzMzMzMzMzMzMzMxgAABMzMzMzMzMzMzMzMx4////////////////////////////////
//////////////+IfMzMzMzMzMzMzMzMxAAAbMzMzMzMzMzMzMzHj///////////////////////////
/////////////////////4fMzMzMzMzMzMzMzMYAAMzMzMzMzMzMzMzMeP//////////////////////
///////////////////////////4fMzMzMzMzMzMzMzMAAbMzMzMzMzMzMzMx4//////////////////
/////////////////////////////////4fMzMzMzMzMzMzMzGAGzMzMzMzMzMzMzHj/////////////
///////////////////////////////////////4fMzMzMzMzMzMzMxgDMzMzMzMzMzMzMyI////////
/////////////////////////////////////////////4zMzMzMzMzMzMzMwEzMzMzMzMzMzMzHj///
//////////////////////////////////////////////////+HzMzMzMzMzMzMzMRszMzMzMzMzMzM
eP//////////////////////////////////////////////////////+HzMzMzMzMzMzMzGbMzMzMzM
zMzMzHj///////////////////////////////////////////////////////+MzMzMzMzMzMzMxmzM
zMzMzMzMzMyP////+IiP////////////////////////////////////////+I//////h8zMzMzMzMzM
zMZszMzMzMzMzMzHj////4iIiI//////////////////////////////////////+IiIj/////jMzMzM
zMzMzMzGbMzMzMzMzMzMyP////iIiIiI/////////////////////////////////////4iIiIj////4
fMzMzMzMzMzMxszMzMzMzMzMzHj////4iIiIiP////////////////////////////////////+IiIiI
j////4zMzMzMzMzMzMbMzMzMzMzMzMx4////iIiIiIj////////////////////////////////////4
iIiIiI////+HzMzMzMzMzMzMzMzMzMzMzMzMj////4iIiIiI//////////////+IiP//iI//////////
////+IiIiIiP////h8zMzMzMzMzMzMzMzMzMzMzMzI/////4iIiIiP/////////////4d3eIiIeIj///
//////////+IiIiIj/////jMzMzMzMzMzMzMzMzMzMzMzMyP////+IiIiIj/////////////iIiId3eI
iI//////////////iIiIiI/////4zMzMzMzMzMzMzMzMzMzMzMzHj/////+IiIiP/////////////4//
/4d4j/+P//////////////iIiIj/////+MzMzMzMzMzMzMzMzMzMzMzMx4//////+IiP////////////
///////4j///////////////////iIiP//////jMzMzMzMzMzMzMzMzMzMzMzMeP//////////+IiIj/
///////////////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzH//////////+H
fMx8eP//////////////////////////iId3iP//////////+HzMzMzMzMzMzMzMzMzMzMzMyP//////
///4fMzHh8eP////////////////////////+MzMzMd4//////////h8zMzMzMzMzMzMzMzMzMzMzMf/
////////+MzMePjMeP///////////////////////4zMzMeHx4/////////4fMzMzMzMzMzMzMzMzMzM
zMzH/////////4fMd3eHzMeP//////////////////////iMzMzIiHx4////////+HzMzMzMzMzMzMzM
zMzMzMzMx/////////+Hx4iIfMzMj//////////////////////4h3d8x4h8yP////////jMzMzMzMzM
zMzMzMzMzMzMzMeP////////+HiP+IfMzI//////////////////////+HiIiHd3zHj////////4zMzM
zMzMzMzMzMzMzMzMzMzHj/////////h4//+HzMeP//////////////////////h4//h8zMyP////////
+MzMzMzMzMzMzMzMzMzMzMzMzI/////////4iP//h8x4///////////////////////4j//4fMzHj///
//////jMzMzMzMzMzMzMzMzMzMzMzMyP///////4iIiP+IfHj///////////////////////+Ij/+HzM
eP/////////4zMzMzMzMzMzMzMzMzMzMzMzMj///////iIiIiIh3eP////////////////////////+I
j4h8x3iI////////h8zMzMzMzMzMzMzMzMzMzMzMzH//////+Hj///iIiI//////////////////////
/////4iId4iIiIj//////4zMzMzMzMzMzMzMzMzMzMzMzMx4//////iP////iP//////////////////
/////////////4iP//iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMyP//////////+I//////////////
///////////////////4eP//iP//////jMzMzMzMzMzMzMzMzMzMzMzMzMj///////////iP////////
/////////////////////////4j/////////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj///////////////
//////////////////////////////+I//////////jMzMzMzMzMzMzMzMzMzMzMzMzMzI//////////
//////////////////////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
eP///////////////////////////////////////////////////////4zMzMzMzMzMzMzMzMzMzMzM
zMzMzMj///////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzM
zMzMzMzMzMzHj//////////////////////////////////////////////////////4zMzMzMzMzMzM
zMzMzMzMzMzMzMzMzI//////////////////////////////////////////////////////h8zMzMzM
zMzMzMzMzMzMzMzMzMzMzMx4////////////////////////////////////////////////////+HzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMyI////+I////////////////////////////////////////////
//h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+Ij/////////////////////////////////////
//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+IiIiIj//////////////////////////4
////iI/////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiP/////4iIiP//////////////////////
////+IiIiIj/////iHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////////////////
///////////4iIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////////////
//////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////
//////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////
///////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////
////////////////////////////////////////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI
j/////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMeP//////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMx4////////+I//////////////////////////////////////jMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMeP///////4iIj///////////////////////////iP///////4fMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMx4////////iIiIiP///////////////////////4iIiP///////4zMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIj///////+HzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIj////////////////////4iIiIiIj///////
+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIiI//
//////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiP////////////////////iIiI
iIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiIj/////iIiIiIiIj/////
/4iIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiI/////4zMzMzMzM
j/////+IiIiIiIiP//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//////+IiIiIiIj/////+MzM
zMzMzI//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iIiIiIiI////
//jMzMzMzMyP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP///////4iIiIiI
iP/////4zMzMzMzMj//////4iIiIiIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iI
iIiIiI//////+MzMzMzMzI//////+IiIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
///4iIiIiIiP//////fMzMzMzMyP//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzH
j///////+IiIiIiI//////+HzMzMzMzMeP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzM
zMzMyP////////iIiIiIiP//////jMzMzMzMzHj///////iIiIiIiI///////4fMzMzMzMzMzMzMzMzM
zMzMzMzMzMj///////+IiIiIiI///////4zMzMzMzMzI///////4iIiIiIiI///////3zMzMzMzMzMzM
zMzMzMzMzMzMzMzI////////iIiIiIiP//////+MzMzMzMzMyP//////+IiIiIiIiP//////+MzMzMzM
zMzMzMzMzMzMzMzMzMzMeP///////4iIiIiIj///////jMzMzMzMzMj///////+IiIiIiIj///////jM
zMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiIiP//////+HzMzMzMzMzHj///////iIiIiIiI////
///4zMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIiI////////jMzMzMzMzMzI///////4iIiIiI
iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMzMj////////4iIiIiP///////4zMzMzMzMzMyP///////4
iIiIiIiP//////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiI////////h8zMzMzMzMzMeP//
/////4iIiIiIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIj////////4fMzMzMzMzM
zHj///////+IiIiIiI//////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////iIiP////////+MzMzM
zMzMzMzI////////+IiIiIiP//////h8zMzMzMzMzMzMxmzMzMzMzMzMx4/////////4iP/////////4
fMzMzMzMzMzMx4////////+IiIiIj//////4fMzMzMzMzMzMzMZszMzMzMzMzMeP////////////////
////+MzMzMzMzMzMzMyP////////iIiIiP//////+HzMzMzMzMzMzMzGbMzMzMzMzMzH////////////
//////////fMzMzMzMzMzMzMeP////////iIiIj///////98zMzMzMzMzMzMxmzMzMzMzMzMyP//////
//////////////+HzMzMzMzMzMzMzHj/////////+IiP////////jMzMzMzMzMzMzMZszMzMzMzMzMj/
////////////////////jMzMzMzMzMzMzMzIj////////////////////4zMzMzMzMzMzMzGTMzMzMzM
zMzH////////////////////+HzMzMzMzMzMzMzMx4////////////////////+MzMzMzMzMzMzMxAzM
zMzMzMzMx/////////////////////jMzMzMzMzMzMzMzMyI///////////////////4fMzMzMzMzMzM
zMAGzMzMzMzMzMeP//////////////////+HzMzMzMzMzMzMzMzMeP//////////////////+HzMzMzM
zMzMzMxgBszMzMzMzMzHj//////////////////4fMzMzMzMzMzMzMzMzMeP//////////////////h8
zMzMzMzMzMzMYADMzMzMzMzMzI//////////////////+HzMzMzMzMzMzMzMzMzHj///////////////
///4zMzMzMzMzMzMzAAAbMzMzMzMzMyP/////////////////4fMzMzMzMzMzMzMzMzMzHj/////////
////////+MzMzMzMzMzMzMYAAEzMzMzMzMzMj/////////////////+MzMzMzMzMzMzMzMzMzMzIj///
/////////////4fMzMzMzMzMzMzEAAAGzMzMzMzMzHj////////////////4fMzMzMzMzMzMzMzMzMzM
x4////////////////+MzMzMzMzMzMzMYAAABMzMzMzMzMx4////////////////h8zMzMzMzMzMzMzM
zMzMzMx4///////////////4fMzMzMzMzMzMzEAAAABszMzMzMzMx4//////////////+HzMzMzMzMzM
zMzMzMzMzMzMx4//////////////+MzMzMzMzMzMzMYAAAAATMzMzMzMzMyP/////////////4fMzMzM
zMzMzMzMzMzMzMzMzMeI/////////////4fMzMzMzMzMzMzEAAAAAAbMzMzMzMzMeP////////////h8
zMzMzMzMzMzMzMzMzMzMzMzMeI////////////h8zMzMzMzMzMzMYAAAAAAAbMzMzMzMzMeP////////
//iHzMzMzMzMzMzMzMzMzMzMzMzMzMyI//////////+HzMzMzMzMzMzMxgAAAAAAAEzMzMzMzMzMeP//
//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMx4/////////4fMzMzMzMzMzMzMQAAAAAAAAGzMzMzMzM
zMeI//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4j//////4h8zMzMzMzMzMzMxgAAAAAAAAAGzM
zMzMzMzMx4iIiIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiIj/+Ih3zMzMzMzMzMzMzGAAAAAAAA
AAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx3iId8zMzMzMzMzMzMzMYAAA
AAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
xgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzGAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA
AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+
AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA
B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA
AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA
AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA
AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA
AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA
AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA
AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA
AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA
AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA
AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA
AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf/////
+AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w==
</value>
</data>
</root>
@@ -0,0 +1,550 @@
namespace Work._29Tools.Forms.ShopForms
{
partial class WXOrderListOptimizeForm
{
/// <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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WXOrderListOptimizeForm));
this.panel1 = new System.Windows.Forms.Panel();
this.pbLoading = new System.Windows.Forms.PictureBox();
this.btnCancel = new DevComponents.DotNetBar.PanelEx();
this.ucGroupBoxEx4 = new Work.UserComponents.UcGroupBoxEx(this.components);
this.btnCancelActivity = new DevComponents.DotNetBar.PanelEx();
this.label5 = new System.Windows.Forms.Label();
this.ucGroupBoxEx1 = new Work.UserComponents.UcGroupBoxEx(this.components);
this.lblOrderId = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.btnSendGift = new DevComponents.DotNetBar.PanelEx();
this.txtGiftOrderWaybillId = new System.Windows.Forms.TextBox();
this.txtCurrentStock = new System.Windows.Forms.TextBox();
this.btnDownProduct = new DevComponents.DotNetBar.PanelEx();
this.btnClearStock = new DevComponents.DotNetBar.PanelEx();
this.txtOrderPrice = new System.Windows.Forms.TextBox();
this.lblSpuId = new System.Windows.Forms.Label();
this.txtCurrentPrice = new System.Windows.Forms.TextBox();
this.lblSkuId = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.商品名 = new System.Windows.Forms.Label();
this.txtGoodsName = new System.Windows.Forms.TextBox();
this.规格名 = new System.Windows.Forms.Label();
this.txtSkuName = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.numAddPrice = new System.Windows.Forms.NumericUpDown();
this.label1 = new System.Windows.Forms.Label();
this.btnAddPrice = new DevComponents.DotNetBar.PanelEx();
((System.ComponentModel.ISupportInitialize)(this.pbCloseBase)).BeginInit();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
this.ucGroupBoxEx4.SuspendLayout();
this.ucGroupBoxEx1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numAddPrice)).BeginInit();
this.SuspendLayout();
//
// pbCloseBase
//
this.pbCloseBase.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.pbCloseBase.Location = new System.Drawing.Point(447, 0);
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Controls.Add(this.pbLoading);
this.panel1.Controls.Add(this.btnCancel);
this.panel1.Controls.Add(this.ucGroupBoxEx4);
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(479, 394);
this.panel1.TabIndex = 1;
//
// pbLoading
//
this.pbLoading.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.pbLoading.Image = global::Work.Properties.Resources.loading_blue;
this.pbLoading.Location = new System.Drawing.Point(8, 356);
this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(24, 24);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pbLoading.TabIndex = 829;
this.pbLoading.TabStop = false;
this.pbLoading.Visible = false;
//
// btnCancel
//
this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnCancel.CanvasColor = System.Drawing.SystemColors.Control;
this.btnCancel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnCancel.DisabledBackColor = System.Drawing.Color.Empty;
this.btnCancel.Location = new System.Drawing.Point(402, 358);
this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(65, 23);
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.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
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 = 5;
this.btnCancel.TabStop = true;
this.btnCancel.Text = "取消";
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// ucGroupBoxEx4
//
this.ucGroupBoxEx4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ucGroupBoxEx4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucGroupBoxEx4.BorderStyle = Work.UserComponents.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
this.ucGroupBoxEx4.Controls.Add(this.btnCancelActivity);
this.ucGroupBoxEx4.Controls.Add(this.label5);
this.ucGroupBoxEx4.Controls.Add(this.ucGroupBoxEx1);
this.ucGroupBoxEx4.Controls.Add(this.txtCurrentStock);
this.ucGroupBoxEx4.Controls.Add(this.btnDownProduct);
this.ucGroupBoxEx4.Controls.Add(this.btnClearStock);
this.ucGroupBoxEx4.Controls.Add(this.txtOrderPrice);
this.ucGroupBoxEx4.Controls.Add(this.lblSpuId);
this.ucGroupBoxEx4.Controls.Add(this.txtCurrentPrice);
this.ucGroupBoxEx4.Controls.Add(this.lblSkuId);
this.ucGroupBoxEx4.Controls.Add(this.label4);
this.ucGroupBoxEx4.Controls.Add(this.商品名);
this.ucGroupBoxEx4.Controls.Add(this.txtGoodsName);
this.ucGroupBoxEx4.Controls.Add(this.规格名);
this.ucGroupBoxEx4.Controls.Add(this.txtSkuName);
this.ucGroupBoxEx4.Controls.Add(this.label2);
this.ucGroupBoxEx4.Controls.Add(this.numAddPrice);
this.ucGroupBoxEx4.Controls.Add(this.label1);
this.ucGroupBoxEx4.Controls.Add(this.btnAddPrice);
this.ucGroupBoxEx4.Location = new System.Drawing.Point(7, 8);
this.ucGroupBoxEx4.Name = "ucGroupBoxEx4";
this.ucGroupBoxEx4.Size = new System.Drawing.Size(464, 342);
this.ucGroupBoxEx4.TabIndex = 828;
this.ucGroupBoxEx4.TabStop = false;
this.ucGroupBoxEx4.Text = "优化订单商品";
//
// btnCancelActivity
//
this.btnCancelActivity.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnCancelActivity.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnCancelActivity.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnCancelActivity.DisabledBackColor = System.Drawing.Color.Empty;
this.btnCancelActivity.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnCancelActivity.Location = new System.Drawing.Point(13, 302);
this.btnCancelActivity.Name = "btnCancelActivity";
this.btnCancelActivity.Size = new System.Drawing.Size(95, 23);
this.btnCancelActivity.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnCancelActivity.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnCancelActivity.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnCancelActivity.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnCancelActivity.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnCancelActivity.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnCancelActivity.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnCancelActivity.Style.GradientAngle = 90;
this.btnCancelActivity.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnCancelActivity.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnCancelActivity.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnCancelActivity.TabIndex = 860;
this.btnCancelActivity.TabStop = true;
this.btnCancelActivity.Text = "取消活动报名";
this.btnCancelActivity.Click += new System.EventHandler(this.btnCancelActivity_Click);
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(286, 171);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(53, 17);
this.label5.TabIndex = 847;
this.label5.Text = "Sku库存";
//
// ucGroupBoxEx1
//
this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucGroupBoxEx1.BorderStyle = Work.UserComponents.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
this.ucGroupBoxEx1.Controls.Add(this.lblOrderId);
this.ucGroupBoxEx1.Controls.Add(this.label3);
this.ucGroupBoxEx1.Controls.Add(this.btnSendGift);
this.ucGroupBoxEx1.Controls.Add(this.txtGiftOrderWaybillId);
this.ucGroupBoxEx1.Location = new System.Drawing.Point(237, 20);
this.ucGroupBoxEx1.Name = "ucGroupBoxEx1";
this.ucGroupBoxEx1.Size = new System.Drawing.Size(212, 95);
this.ucGroupBoxEx1.TabIndex = 829;
this.ucGroupBoxEx1.TabStop = false;
this.ucGroupBoxEx1.Text = "发送礼物单";
this.ucGroupBoxEx1.Visible = false;
//
// lblOrderId
//
this.lblOrderId.AutoSize = true;
this.lblOrderId.Location = new System.Drawing.Point(20, 66);
this.lblOrderId.Name = "lblOrderId";
this.lblOrderId.Size = new System.Drawing.Size(53, 17);
this.lblOrderId.TabIndex = 825;
this.lblOrderId.Text = "orderId";
this.lblOrderId.Visible = false;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(20, 38);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(56, 17);
this.label3.TabIndex = 439;
this.label3.Text = "物流单号";
//
// btnSendGift
//
this.btnSendGift.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnSendGift.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnSendGift.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSendGift.DisabledBackColor = System.Drawing.Color.Empty;
this.btnSendGift.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSendGift.Location = new System.Drawing.Point(123, 35);
this.btnSendGift.Name = "btnSendGift";
this.btnSendGift.Size = new System.Drawing.Size(65, 23);
this.btnSendGift.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnSendGift.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSendGift.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSendGift.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnSendGift.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnSendGift.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnSendGift.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnSendGift.Style.GradientAngle = 90;
this.btnSendGift.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnSendGift.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnSendGift.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnSendGift.TabIndex = 15;
this.btnSendGift.TabStop = true;
this.btnSendGift.Text = "发送";
this.btnSendGift.Click += new System.EventHandler(this.btnSendGift_Click);
//
// txtGiftOrderWaybillId
//
this.txtGiftOrderWaybillId.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtGiftOrderWaybillId.Location = new System.Drawing.Point(77, 35);
this.txtGiftOrderWaybillId.Name = "txtGiftOrderWaybillId";
this.txtGiftOrderWaybillId.Size = new System.Drawing.Size(41, 23);
this.txtGiftOrderWaybillId.TabIndex = 11;
//
// txtCurrentStock
//
this.txtCurrentStock.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtCurrentStock.BackColor = System.Drawing.SystemColors.Window;
this.txtCurrentStock.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.txtCurrentStock.Location = new System.Drawing.Point(342, 171);
this.txtCurrentStock.Name = "txtCurrentStock";
this.txtCurrentStock.ReadOnly = true;
this.txtCurrentStock.Size = new System.Drawing.Size(98, 16);
this.txtCurrentStock.TabIndex = 846;
this.txtCurrentStock.Text = "currentStock";
//
// btnDownProduct
//
this.btnDownProduct.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnDownProduct.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnDownProduct.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnDownProduct.DisabledBackColor = System.Drawing.Color.Empty;
this.btnDownProduct.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnDownProduct.Location = new System.Drawing.Point(386, 302);
this.btnDownProduct.Name = "btnDownProduct";
this.btnDownProduct.Size = new System.Drawing.Size(65, 23);
this.btnDownProduct.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnDownProduct.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnDownProduct.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnDownProduct.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnDownProduct.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnDownProduct.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnDownProduct.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnDownProduct.Style.GradientAngle = 90;
this.btnDownProduct.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnDownProduct.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnDownProduct.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnDownProduct.TabIndex = 836;
this.btnDownProduct.TabStop = true;
this.btnDownProduct.Text = "下架商品";
this.btnDownProduct.Click += new System.EventHandler(this.btnDownProduct_Click);
//
// btnClearStock
//
this.btnClearStock.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnClearStock.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClearStock.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnClearStock.DisabledBackColor = System.Drawing.Color.Empty;
this.btnClearStock.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnClearStock.Location = new System.Drawing.Point(316, 302);
this.btnClearStock.Name = "btnClearStock";
this.btnClearStock.Size = new System.Drawing.Size(65, 23);
this.btnClearStock.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnClearStock.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnClearStock.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnClearStock.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnClearStock.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnClearStock.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnClearStock.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnClearStock.Style.GradientAngle = 90;
this.btnClearStock.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnClearStock.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnClearStock.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnClearStock.TabIndex = 832;
this.btnClearStock.TabStop = true;
this.btnClearStock.Text = "清除库存";
this.btnClearStock.Click += new System.EventHandler(this.btnClearStock_Click);
//
// txtOrderPrice
//
this.txtOrderPrice.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtOrderPrice.BackColor = System.Drawing.SystemColors.Window;
this.txtOrderPrice.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.txtOrderPrice.Location = new System.Drawing.Point(77, 171);
this.txtOrderPrice.Name = "txtOrderPrice";
this.txtOrderPrice.ReadOnly = true;
this.txtOrderPrice.Size = new System.Drawing.Size(129, 16);
this.txtOrderPrice.TabIndex = 821;
this.txtOrderPrice.Text = "orderPrice";
//
// lblSpuId
//
this.lblSpuId.AutoSize = true;
this.lblSpuId.Location = new System.Drawing.Point(35, 53);
this.lblSpuId.Name = "lblSpuId";
this.lblSpuId.Size = new System.Drawing.Size(41, 17);
this.lblSpuId.TabIndex = 810;
this.lblSpuId.Text = "spuId";
this.lblSpuId.Visible = false;
//
// txtCurrentPrice
//
this.txtCurrentPrice.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtCurrentPrice.BackColor = System.Drawing.SystemColors.Window;
this.txtCurrentPrice.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.txtCurrentPrice.Location = new System.Drawing.Point(77, 137);
this.txtCurrentPrice.Name = "txtCurrentPrice";
this.txtCurrentPrice.ReadOnly = true;
this.txtCurrentPrice.Size = new System.Drawing.Size(129, 16);
this.txtCurrentPrice.TabIndex = 820;
this.txtCurrentPrice.Text = "currentPrice";
//
// lblSkuId
//
this.lblSkuId.AutoSize = true;
this.lblSkuId.Location = new System.Drawing.Point(36, 106);
this.lblSkuId.Name = "lblSkuId";
this.lblSkuId.Size = new System.Drawing.Size(40, 17);
this.lblSkuId.TabIndex = 811;
this.lblSkuId.Text = "skuId";
this.lblSkuId.Visible = false;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(32, 171);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(44, 17);
this.label4.TabIndex = 813;
this.label4.Text = "订单价";
//
// 商品名
//
this.商品名.AutoSize = true;
this.商品名.Location = new System.Drawing.Point(32, 28);
this.商品名.Name = "商品名";
this.商品名.Size = new System.Drawing.Size(44, 17);
this.商品名.TabIndex = 440;
this.商品名.Text = "商品名";
//
// txtGoodsName
//
this.txtGoodsName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtGoodsName.BackColor = System.Drawing.SystemColors.Window;
this.txtGoodsName.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.txtGoodsName.Location = new System.Drawing.Point(77, 28);
this.txtGoodsName.Multiline = true;
this.txtGoodsName.Name = "txtGoodsName";
this.txtGoodsName.ReadOnly = true;
this.txtGoodsName.Size = new System.Drawing.Size(361, 42);
this.txtGoodsName.TabIndex = 1;
this.txtGoodsName.Text = "goodsName";
//
// 规格名
//
this.规格名.AutoSize = true;
this.规格名.Location = new System.Drawing.Point(32, 81);
this.规格名.Name = "规格名";
this.规格名.Size = new System.Drawing.Size(44, 17);
this.规格名.TabIndex = 439;
this.规格名.Text = "规格名";
//
// txtSkuName
//
this.txtSkuName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtSkuName.BackColor = System.Drawing.SystemColors.Window;
this.txtSkuName.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.txtSkuName.Location = new System.Drawing.Point(77, 81);
this.txtSkuName.Multiline = true;
this.txtSkuName.Name = "txtSkuName";
this.txtSkuName.ReadOnly = true;
this.txtSkuName.Size = new System.Drawing.Size(361, 42);
this.txtSkuName.TabIndex = 2;
this.txtSkuName.Text = "skuName";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(32, 137);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(44, 17);
this.label2.TabIndex = 438;
this.label2.Text = "当前价";
//
// numAddPrice
//
this.numAddPrice.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.numAddPrice.DecimalPlaces = 2;
this.numAddPrice.Increment = new decimal(new int[] {
1,
0,
0,
65536});
this.numAddPrice.Location = new System.Drawing.Point(171, 302);
this.numAddPrice.Maximum = new decimal(new int[] {
100000,
0,
0,
0});
this.numAddPrice.Name = "numAddPrice";
this.numAddPrice.Size = new System.Drawing.Size(61, 23);
this.numAddPrice.TabIndex = 0;
//
// label1
//
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(138, 305);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(32, 17);
this.label1.TabIndex = 436;
this.label1.Text = "加价";
//
// btnAddPrice
//
this.btnAddPrice.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnAddPrice.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnAddPrice.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnAddPrice.DisabledBackColor = System.Drawing.Color.Empty;
this.btnAddPrice.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAddPrice.Location = new System.Drawing.Point(237, 302);
this.btnAddPrice.Name = "btnAddPrice";
this.btnAddPrice.Size = new System.Drawing.Size(53, 23);
this.btnAddPrice.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddPrice.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddPrice.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddPrice.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnAddPrice.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnAddPrice.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnAddPrice.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnAddPrice.Style.GradientAngle = 90;
this.btnAddPrice.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddPrice.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddPrice.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddPrice.TabIndex = 4;
this.btnAddPrice.TabStop = true;
this.btnAddPrice.Text = "改价";
this.btnAddPrice.Click += new System.EventHandler(this.btnAddPrice_Click);
//
// WXOrderListOptimizeForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(481, 428);
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.Name = "WXOrderListOptimizeForm";
this.Padding = new System.Windows.Forms.Padding(1);
this.Text = "优化订单";
this.TitleText = "优化订单";
this.Load += new System.EventHandler(this.WXOrderListOptimizeForm_Load);
this.Controls.SetChildIndex(this.panel1, 0);
((System.ComponentModel.ISupportInitialize)(this.pbCloseBase)).EndInit();
this.panel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
this.ucGroupBoxEx4.ResumeLayout(false);
this.ucGroupBoxEx4.PerformLayout();
this.ucGroupBoxEx1.ResumeLayout(false);
this.ucGroupBoxEx1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numAddPrice)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
public System.Windows.Forms.TextBox txtSkuName;
public System.Windows.Forms.TextBox txtGoodsName;
private System.Windows.Forms.Label 商品名;
private System.Windows.Forms.Label 规格名;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private DevComponents.DotNetBar.PanelEx btnAddPrice;
public System.Windows.Forms.NumericUpDown numAddPrice;
private DevComponents.DotNetBar.PanelEx btnCancel;
public System.Windows.Forms.Label lblSkuId;
public System.Windows.Forms.Label lblSpuId;
private System.Windows.Forms.Label label4;
public System.Windows.Forms.TextBox txtCurrentPrice;
public System.Windows.Forms.TextBox txtOrderPrice;
private UserComponents.UcGroupBoxEx ucGroupBoxEx4;
private UserComponents.UcGroupBoxEx ucGroupBoxEx1;
private System.Windows.Forms.Label label3;
private DevComponents.DotNetBar.PanelEx btnSendGift;
private System.Windows.Forms.TextBox txtGiftOrderWaybillId;
public System.Windows.Forms.Label lblOrderId;
private System.Windows.Forms.PictureBox pbLoading;
private DevComponents.DotNetBar.PanelEx btnClearStock;
private DevComponents.DotNetBar.PanelEx btnDownProduct;
public System.Windows.Forms.TextBox txtCurrentStock;
private System.Windows.Forms.Label label5;
private DevComponents.DotNetBar.PanelEx btnCancelActivity;
}
}
@@ -0,0 +1,450 @@
using AllBase;
using AllBase.Model.DBModel;
using AllBase.Model.Result;
//using AllBase.Model.Result.WXResult;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using Work._29Tools.BLL;
using Work.BaseForms;
namespace Work._29Tools.Forms.ShopForms
{
public partial class WXOrderListOptimizeForm : BaseForms.BaseGeneralForm
{
public ShopLoginInfo shop;
public WXOrderListOptimizeForm(ShopLoginInfo _shop)
{
InitializeComponent();
shop = _shop;
this.TitleText = "店铺 " + shop.ShopAccount + " 优化订单";
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}
public JObject prodObj = new JObject();
public bool EditPriceSuccess { get; set; } = false;
public bool SendGiftSuccess { get; set; } = false;
public bool ClearStock { get; set; } = false;
public bool IsDownProd { get; set; } = false;
private void btnAddPrice_Click(object sender, EventArgs e)
{
EditPriceSuccess = false;
try
{
var spuId = lblSpuId.Text;
int onSaleStatusCode = -1;
int pageSize = 50;
var getProdOnSaleRst = WxSimProductBLL.searchProduct(shop, 1, pageSize, spuId, onSaleStatusCode);
if (!getProdOnSaleRst.Contains("\"success\":true"))
{
var error = BaseRegex.GetStringJsonByRegs(ref getProdOnSaleRst, getProdOnSaleRst, "err_msg", "error_msg", "errMsg", "errorMsg", "msg");
BaseMsgForm.ShowInfo("改价失败" + error);
return;
}
prodObj = JsonHelper.JObjectParse(getProdOnSaleRst)["productList"].FirstOrDefault() as JObject;
if (prodObj != null)
{
var str = JsonHelper.SerializeObject(prodObj);
}
if (prodObj == null)
{
BaseMsgForm.ShowError("源商品已删除");
return;
}
//var rst = WxSimProductBLL.EditPrice(shop, lblSpuId.Text, lblSkuId.Text, (numAddPrice.Value * 100).ParseToInt());
JObject changePriceObj = new JObject();
JArray skuArr = new JArray();
foreach (var sku in prodObj["skuList"])
{
JObject obj = new JObject();
obj["spuId"] = spuId;
obj["skuId"] = sku["skuId"];
obj["salePrice"] = sku["price"].ParseToInt() + (numAddPrice.Value * 100).ParseToInt();
skuArr.Add(obj);
}
changePriceObj["skuList"] = skuArr;
changePriceObj["uploadSource"] = 6;
// string body = @"{""skuList"":[{""spuId"":" + spuId + @",""skuId"":""" + skuId + @""",""salePrice"":" + newPrice + @"}],""uploadSource"":6}";
var rst = WxSimProductBLL.EditPrice(shop, changePriceObj);
if (rst.Contains("\"code\":0"))
{
EditPriceSuccess = true;
BaseMsgForm.ShowInfo("改价成功");
this.Close();
}
else
{
var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg", "msg");
BaseMsgForm.ShowError("改价失败:" + error);
}
}
catch
{
}
}
/// <summary>
/// 发送礼物单,作废
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSendGift_Click(object sender, EventArgs e)
{
//SendGiftSuccess = false;
//string orderId = lblOrderId.Text.Trim();
//string waybillId = txtGiftOrderWaybillId.Text.Trim();
//pbLoading.Visible = true;
//Task.Run(() =>
//{
// var rst = WXOrderList.initDeliveryInfo(shop, orderId);
// // {"code":0,"orderDetail":{"commonInfo":{"orderId":"3736582386601580032","orderType":0,"statusStr":"待发货","status":20,"originalStatus":11,"openid":"ow5ty7Kyik_dSqtrivr5hY2t4cwY","createTime":1779540820,"createTimeStr":"2026-05-23 20:53","isPayScoreOrder":false,"isPayDone":true,"isVirtualOrder":false,"isAuthorizedAccount":false,"giftOrderType":"","isInspectOrder":false,"isCommissionOrderDone":false,"isRechargeOrder":false,"isExpediteOrder":false,"isOverTimeOrder":2,"isMultiPackage":false,"inspectType":0,"isGiftOrder":false,"isBuyTogetherOrder":false,"isLotteryOrder":false,"isEducationOrder":false,"hideGiftOrderAddressInfo":false,"cosignmentFlag":1,"isNationalSubsidy":0,"isSameCityOrder":false,"isNationalSubsidyMerchant":false,"isSupplyOrder":false},"orderProducts":{"orderProductInfo":[{"productId":"10000863142394","thumbImg":"https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/6a092e3a000107862152a36aa881bc1e000000a100004f50","title":"脂砚斋评石头记(全三册) 烫金珍藏版 彩绘绣像 双色印刷","skuId":"15274875174","saleParam":["默认"],"productType":1,"productCnt":1,"salePrice":"3400","spuCode":"9787555418979","skuCode":"BSEC12302592708637555055A","isPreSale":false,"isIflashbuy":false,"isFreeGift":false,"canAfterSale":true,"realPrice":3350,"perRealPrice":3350,"tags":[{"class":"black","desc":"7天无理由","iconUrl":"","mainUrl":"","tagType":4},{"class":"black","desc":"运费险","iconUrl":"","mainUrl":"","tagType":5}],"icons":[],"perExchangeScore":"","productSource":{"show":false},"afterSaleInfo":{"afterId":"","canAfterSale":true,"canNotAfterSaleReason":"","jumpUrl":"","title":"","content":"","afterSaleDoneStr":"","afterSaleDoneAmountStr":"","afterSaleDoneAmount":0,"afterSaleDoneProductCnt":0,"afterSaleIngProductCnt":0,"isGuaranteeIng":false,"hasFakeOnePayFourDoneGuarantee":false},"changeProduct":0,"afterSaleDoneProductCnt":0,"afterSaleIngProductCnt":0,"supplyProductId":"","supplyNickName":"","supplyOrderId":"","supplyAppid":""}],"priceInfo":{"productPrice":"3400","orderPrice":"3350","freight":0,"originalOrderPrice":"3400","estimateProductPrice":"3350","handingFee":"0","maxUnsplitAmount":"3350","totalDiscountedPrice":"50","merchantReceievePrice":"3350","platformActivityMerchantDiscountedPrice":"50"},"activityInfo":{},"presentFee":{}},"acceptInfo":{"decodeSensitiveTime":0,"editAddrInfo":{"applyEditAddrStatus":0,"applyEditAddrAuditStaff":"","applyEditAddrAuditTimeText":"","negotiationEditTextForB":"","negotiationEditTextForA":"","negotiationEditStatus":0,"negotiationEditHistory":[],"canNegotiation":true,"hasUnResolvedRequest":0,"hasHistoryMerchantEditAddr":0,"editHistory":[]},"customerNotes":"","merchantNotes":"","presentNotes":"","addressInfo":{"cityName":"宝鸡市","countyName":"眉县","provinceName":"陕西省","userName":"刘**","telNumber":"187****9569","detailInfo":"****","virtualOrderTelNumber":""},"virtualNumberInfo":{},"quota":{"code":0,"limit":10,"used":10,"hideSensitiveInfo":true},"rechargeData":{"label":"","content":"","deliverMethod":0},"addressErrType":0},"expressInfo":{"phone":"9569","deliveryProductInfo":[],"orderProductCnt":1,"deliveryCnt":0,"isIntracityOrder":false,"intracityTracking":null,"formatUnshippedProductList":[{"productId":"10000863142394","thumbImg":"https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/6a092e3a000107862152a36aa881bc1e000000a100004f50","title":"脂砚斋评石头记(全三册) 烫金珍藏版 彩绘绣像 双色印刷","skuId":"15274875174","saleParam":["默认"],"productType":1,"productCnt":1,"salePrice":"3400","spuCode":"9787555418979","skuCode":"BSEC12302592708637555055A","isPreSale":false,"isIflashbuy":false,"isFreeGift":false,"canAfterSale":true,"realPrice":3350,"perRealPrice":3350,"tags":[{"class":"black","desc":"7天无理由","iconUrl":"","mainUrl":"","tagType":4},{"class":"black","desc":"运费险","iconUrl":"","mainUrl":"","tagType":5}],"icons":[],"perExchangeScore":"","productSource":1,"afterSaleInfo":{"afterId":"","canAfterSale":true,"canNotAfterSaleReason":"","jumpUrl":"","title":"","content":"","afterSaleDoneStr":"","afterSaleDoneAmountStr":"","afterSaleDoneAmount":0,"afterSaleDoneProductCnt":0,"afterSaleIngProductCnt":0,"isGuaranteeIng":false,"hasFakeOnePayFourDoneGuarantee":false},"changeProduct":0,"afterSaleDoneProductCnt":0,"afterSaleIngProductCnt":0,"supplyProductId":"","supplyNickName":"","supplyOrderId":"","supplyAppid":""}],"product2Img":{"15274875174":"https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/6a092e3a000107862152a36aa881bc1e000000a100004f50"}},"ewaybillInfo":{"isAllPrintOne":false,"isOpen":false,"deliveryId":"","deliveryName":"","waybillId":""}},"sendAddressInfo":{"userName":"陈图书","postalCode":"","provinceName":"安徽省","cityName":"合肥市","countyName":"肥西县","detailInfo":"上派镇中盟电子产业园8栋一单元(东电梯3楼快递指定存放点)","telNumber":"13023098035","lat":0,"lng":0},"deliveryCompanyOptions":[{"laLine truncated
// if (!rst.Contains("\"code\":0"))
// {
// var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg", "msg");
// BaseMsgForm.ShowInfo("发送礼物单失败 " + error);
// Invoke(new Action(() =>
// {
// pbLoading.Visible = false;
// }));
// return;
// }
// var statusStr = BaseRegex.GetStringJson(ref rst, "statusStr");
// if (statusStr == "待发货")
// {
// //{"orderId":"3736580679658008320","deliveryProduct":{"deliveryId":"YUNDA","waybillId":"313023381086999","isAllProduct":true,"deliverType":1}}
// //{"code":0,"errcode":0,"errmsg":"ok"}
// rst = WXOrderList.orderSendOut(shop, orderId, waybillId);
// if (!rst.Contains("\"code\":0"))
// {
// var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg", "msg");
// BaseMsgForm.ShowInfo("发送礼物单失败 " + error);
// Invoke(new Action(() =>
// {
// pbLoading.Visible = false;
// }));
// return;
// }
// Invoke(new Action(() =>
// {
// SendGiftSuccess = true;
// BaseMsgForm.ShowInfo("发送礼物单成功");
// pbLoading.Visible = false;
// this.Close();
// }));
// }
// else
// {
// //{"orderId":"3736580679658008320","changeInfo":[{"old":{"deliveryId":"YUNDA","waybillId":"313023381086999","productInfos":[{"productId":"10000875072190","skuId":"15516018429","productCnt":1}]},"new":{"deliveryId":"OTHER","waybillId":"772064082455686","productInfos":[{"productId":"10000875072190","skuId":"15516018429","productCnt":1}]}}]}
// //{"code":0,"errcode":0,"errmsg":""}
// var orderExpressInfoObj = JsonHelper.JObjectParse(rst)["orderDetail"]["expressInfo"];
// var orderExpressInfo = JsonHelper.DeserializeJsonToObject<WxOrderExpressInfo>(JsonHelper.SerializeObject(orderExpressInfoObj));
// UpdateDeliverInfoParam param = new UpdateDeliverInfoParam();
// param.orderId = orderId;
// param.changeInfo = new List<Dictionary<string, UpdateDeliverChangeInfo>>();
// foreach (var deliveryProductInfo in orderExpressInfo.deliveryProductInfo)
// {
// Dictionary<string, UpdateDeliverChangeInfo> dicChange = new Dictionary<string, UpdateDeliverChangeInfo>();
// dicChange["old"] = new UpdateDeliverChangeInfo();
// dicChange["old"].deliveryId = deliveryProductInfo.deliveryId;
// dicChange["old"].waybillId = deliveryProductInfo.waybillId;
// dicChange["old"].productInfos = new List<UpdateDeliverProductInfo>();
// dicChange["new"] = new UpdateDeliverChangeInfo();
// dicChange["new"].deliveryId = "OTHER";
// dicChange["new"].waybillId = waybillId;
// dicChange["new"].productInfos = new List<UpdateDeliverProductInfo>();
// foreach (var prod in deliveryProductInfo.productInfos)
// {
// dicChange["old"].productInfos.Add(new UpdateDeliverProductInfo() { productCnt = prod.productCnt, productId = prod.productId, skuId = prod.skuId });
// dicChange["new"].productInfos.Add(new UpdateDeliverProductInfo() { productCnt = prod.productCnt, productId = prod.productId, skuId = prod.skuId });
// }
// param.changeInfo.Add(dicChange);
// }
// rst = WXOrderList.updateDeliveryInfo(shop, param);
// var str = JsonHelper.SerializeObject(param);
// if (!rst.Contains("\"code\":0"))
// {
// var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg", "msg");
// BaseMsgForm.ShowInfo("变更发送礼物单失败 " + error);
// Invoke(new Action(() =>
// {
// pbLoading.Visible = false;
// }));
// return;
// }
// Invoke(new Action(() =>
// {
// SendGiftSuccess = true;
// BaseMsgForm.ShowInfo("变更发送礼物单成功");
// pbLoading.Visible = false;
// this.Close();
// }));
// }
//});
}
private void btnClearStock_Click(object sender, EventArgs e)
{
ClearStock = false;
string spuId = lblSpuId.Text.Trim();
string skuId = lblSkuId.Text.Trim();
string num = txtCurrentStock.Text.Trim();
var rst = WxSimProductBLL.batchUpdateStockReduce(shop, spuId, skuId, num);
if (!rst.Contains("\"code\":0"))
{
var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg", "msg");
BaseMsgForm.ShowInfo("清除库存失败 " + error);
Invoke(new Action(() =>
{
pbLoading.Visible = false;
}));
return;
}
Invoke(new Action(() =>
{
ClearStock = true;
BaseMsgForm.ShowInfo("清除库存成功");
pbLoading.Visible = false;
this.Close();
}));
}
private void btnDownProduct_Click(object sender, EventArgs e)
{
if (BaseMsgForm.ShowConfirm("确定下架吗?重新上架需要消耗提审次数").DialogResult != DialogResult.OK)
return;
IsDownProd = false;
string spuId = lblSpuId.Text.Trim();
string skuId = lblSkuId.Text.Trim();
string num = txtCurrentStock.Text.Trim();
var rst = WxSimProductBLL.DownProd(shop, spuId);
if (!rst.Contains("\"code\":0"))
{
var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg", "msg");
BaseMsgForm.ShowInfo("商品下架失败 " + error);
Invoke(new Action(() =>
{
pbLoading.Visible = false;
}));
return;
}
Invoke(new Action(() =>
{
IsDownProd = true;
BaseMsgForm.ShowInfo("商品下架成功");
pbLoading.Visible = false;
this.Close();
}));
}
private void WXOrderListOptimizeForm_Load(object sender, EventArgs e)
{
var spuId = lblSpuId.Text;
var skuId = lblSkuId.Text;
//int onSaleStatusCode = -1;
//int pageSize = 50;
//var getProdOnSaleRst = WxSimProductBLL.searchProduct(shop, 1, pageSize, spuId, onSaleStatusCode);
//if (!getProdOnSaleRst.Contains("\"success\":true"))
//{
// var error = BaseRegex.GetStringJsonByRegs(ref getProdOnSaleRst, getProdOnSaleRst, "err_msg", "error_msg", "errMsg", "errorMsg", "msg");
// BaseMsgForm.ShowInfo("读取原价错误,请重新打开窗口 " + error);
//}
//prodObj = JsonHelper.JObjectParse(getProdOnSaleRst)["productList"].FirstOrDefault() as JObject;
//if (prodObj != null)
//{
// var str = JsonHelper.SerializeObject(prodObj);
//}
//if (prodObj == null)
//{
// //BaseMsgForm.ShowError("源商品已删除");
// return;
//}
////var rst = WXOrderList.EditPrice(shop, lblSpuId.Text, lblSkuId.Text, (numAddPrice.Value * 100).ParseToInt());
//JObject changePriceObj = new JObject();
//JArray skuArr = new JArray();
//foreach (var sku in prodObj["skuList"])
//{
// var str = sku.ParseToString();
// JObject obj = new JObject();
// var skuId1 = sku["skuId"].ParseToString();
// var price = sku["price"].ParseToInt() * 0.01m;
// if (skuId1 == skuId)
// {
// this.txtCurrentPrice.Text = price.ToString();
// break;
// }
//}
var getProductDetailBuSpuRst = WxSimProductBLL.getSkuBySpu(shop, GetHtml.UrlDecode(spuId));
Thread.Sleep(Randomx.GetId(50, 100));
if (!getProductDetailBuSpuRst.Contains("\"success\":true") && !getProductDetailBuSpuRst.Contains("\"code\":0"))
{
return;
}
try
{
var prodObjs = JsonHelper.JObjectParse(getProductDetailBuSpuRst);
var prod = prodObjs["products"].FirstOrDefault(p => p["productKey"]["productId"].ParseToString() == spuId);
if (prod != null)
{
var prodStr = prod.ParseToString();
var sku = prod["productSkus"].FirstOrDefault(p => p["skuKey"]["skuId"].ParseToString() == skuId);
if (sku != null)
{
var skuStr = JsonHelper.SerializeObject(sku);
this.txtCurrentPrice.Text = (BaseRegex.GetIntJson(ref skuStr, "salePrice") * 0.01m).ParseToString();
this.txtCurrentStock.Text = BaseRegex.GetIntJson(ref skuStr, "stockNum").ParseToString();
}
}
}
catch { }
}
private void btnCancelActivity_Click(object sender, EventArgs e)
{
string spuId = lblSpuId.Text.Trim();
var skuId = lblSkuId.Text.Trim();
var price = (this.txtCurrentPrice.Text.Trim().ParseToDecimal() * 100).ParseToInt();
int onSaleStatusCode = -1;
int pageSize = 50;
var getProdOnSaleRst = WxSimProductBLL.searchProduct(shop, 1, pageSize, spuId, onSaleStatusCode);
Thread.Sleep(Randomx.GetId(50, 100));
if (!getProdOnSaleRst.Contains("\"success\":true"))
{
BaseMsgForm.ShowError("取消活动失败" + getProdOnSaleRst);
return;
}
var prodObjs = JsonHelper.JObjectParse(getProdOnSaleRst)["productList"].FirstOrDefault();
if (prodObjs != null)
{
var str = JsonHelper.SerializeObject(prodObjs);
}
var deltaPrice = 0;
while (!price.ToString().EndsWith("66"))
{
deltaPrice++;
price++;
}
JObject changePriceObj = new JObject();
JArray skuArr = new JArray();
foreach (var sku in prodObjs["skuList"])
{
JObject obj = new JObject();
obj["spuId"] = spuId;
obj["skuId"] = sku["skuId"];
obj["salePrice"] = sku["price"].ParseToInt() + deltaPrice;
skuArr.Add(obj);
}
changePriceObj["skuList"] = skuArr;
changePriceObj["uploadSource"] = 6;
// string body = @"{""skuList"":[{""spuId"":" + spuId + @",""skuId"":""" + skuId + @""",""salePrice"":" + newPrice + @"}],""uploadSource"":6}";
var rst = WxSimProductBLL.EditPrice(shop, changePriceObj);
if (!rst.Contains("\"code\":0"))
{
var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg");
BaseMsgForm.ShowError("商品取消活动失败(标记活动价格失败) " + error);
return;
}
{
JObject endActivityObj = new JObject();
endActivityObj["platformActivityId"] = "1269";
JArray arr = new JArray();
foreach (var sku in prodObjs["skuList"])
{
JObject obj = new JObject();
obj["productId"] = spuId;
obj["skuId"] = sku["skuId"];
arr.Add(obj);
}
endActivityObj["productList"] = arr;
endActivityObj["actionType"] = 1;
//{ "platformActivityId":"1016","productList":[{ "productId":"10000879673464","skuId":"15601266074"},{ "productId":"10000879673464","skuId":"15601240593"}],"actionType":1}
rst = WxSimProductBLL.cancelActivity(shop, endActivityObj);
if (!rst.Contains("\"code\":0"))
{
var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg");
BaseMsgForm.ShowError("取消优惠失败 " + error);
return;
}
}
{
JObject endActivityObj = new JObject();
endActivityObj["platformActivityId"] = "1323";
JArray arr = new JArray();
foreach (var sku in prodObjs["skuList"])
{
JObject obj = new JObject();
obj["productId"] = spuId;
obj["skuId"] = sku["skuId"];
arr.Add(obj);
}
endActivityObj["productList"] = arr;
endActivityObj["actionType"] = 1;
//{ "platformActivityId":"1016","productList":[{ "productId":"10000879673464","skuId":"15601266074"},{ "productId":"10000879673464","skuId":"15601240593"}],"actionType":1}
rst = WxSimProductBLL.cancelActivity(shop, endActivityObj);
if (!rst.Contains("\"code\":0"))
{
var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg");
BaseMsgForm.ShowError("取消优惠失败 " + error);
return;
}
}
BaseMsgForm.ShowInfo("取消优惠成功");
}
}
public class UpdateDeliverInfoParam
{
public string orderId { get; set; } // "3736580679658008320",
public List<Dictionary<string, UpdateDeliverChangeInfo>> changeInfo { get; set; }
}
public class UpdateDeliverChangeInfo
{
public string deliveryId { get; set; } // "OTHER",
public string waybillId { get; set; } // "772064082455686",
public List<UpdateDeliverProductInfo> productInfos { get; set; } = new List<UpdateDeliverProductInfo>(); // [ { "productId": "10000875072190", "skuId": "15516018429", "productCnt": 1 } ]
}
public class UpdateDeliverProductInfo
{
public string productId { get; set; } // "10000875072190",
public string skuId { get; set; } // "15516018429",
public int? productCnt { get; set; } // 1
}
}
@@ -0,0 +1,120 @@
<?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>
</root>
+1 -1
View File
@@ -397,7 +397,7 @@
this.ClientSize = new System.Drawing.Size(1440, 800);
this.Controls.Add(this.splitContainer2);
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.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.IsShowMaxBox = true;
this.Name = "WXShopLoginForm";
this.Padding = new System.Windows.Forms.Padding(1);
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
<!--
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
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>
@@ -26,36 +26,36 @@
<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
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
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
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
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
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
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
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
@@ -117,182 +117,4 @@
<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>
AAABAAEAgIAQYAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzM
zMzMzMzMzMx3d4iIiIiIiIh3fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM
zMzMzMzMzMzHeIiIiIj/////////iIiIiId8zMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM
zMzMzMzMzMzMzMeIiI/////////////////////4iIh8zMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAATMzM
zMzMzMzMzMzMzMzMzHiI////////////////////////////iIfMzMzMzMzMzMzMzMzMzMzMxAAAAAAA
AGzMzMzMzMzMzMzMzMzMx3iP///////////////////////////////4iHzMzMzMzMzMzMzMzMzMzMYA
AAAAAAbMzMzMzMzMzMzMzMzMx3iP//////////////////////////////////+IfMzMzMzMzMzMzMzM
zMzMYAAAAABMzMzMzMzMzMzMzMzMx3iP/////////////////////////////////////4h8zMzMzMzM
zMzMzMzMzMQAAAAAbMzMzMzMzMzMzMzMzHiP////////////////////////////////////////h3zM
zMzMzMzMzMzMzMzGAAAABMzMzMzMzMzMzMzMzHiP////////////////////////////////////////
//iHzMzMzMzMzMzMzMzMzEAAAAbMzMzMzMzMzMzMzMeI////////////////////////////////////
////////+IfMzMzMzMzMzMzMzMxgAABMzMzMzMzMzMzMzMx4////////////////////////////////
//////////////+IfMzMzMzMzMzMzMzMxAAAbMzMzMzMzMzMzMzHj///////////////////////////
/////////////////////4fMzMzMzMzMzMzMzMYAAMzMzMzMzMzMzMzMeP//////////////////////
///////////////////////////4fMzMzMzMzMzMzMzMAAbMzMzMzMzMzMzMx4//////////////////
/////////////////////////////////4fMzMzMzMzMzMzMzGAGzMzMzMzMzMzMzHj/////////////
///////////////////////////////////////4fMzMzMzMzMzMzMxgDMzMzMzMzMzMzMyI////////
/////////////////////////////////////////////4zMzMzMzMzMzMzMwEzMzMzMzMzMzMzHj///
//////////////////////////////////////////////////+HzMzMzMzMzMzMzMRszMzMzMzMzMzM
eP//////////////////////////////////////////////////////+HzMzMzMzMzMzMzGbMzMzMzM
zMzMzHj///////////////////////////////////////////////////////+MzMzMzMzMzMzMxmzM
zMzMzMzMzMyP////+IiP////////////////////////////////////////+I//////h8zMzMzMzMzM
zMZszMzMzMzMzMzHj////4iIiI//////////////////////////////////////+IiIj/////jMzMzM
zMzMzMzGbMzMzMzMzMzMyP////iIiIiI/////////////////////////////////////4iIiIj////4
fMzMzMzMzMzMxszMzMzMzMzMzHj////4iIiIiP////////////////////////////////////+IiIiI
j////4zMzMzMzMzMzMbMzMzMzMzMzMx4////iIiIiIj////////////////////////////////////4
iIiIiI////+HzMzMzMzMzMzMzMzMzMzMzMzMj////4iIiIiI//////////////+IiP//iI//////////
////+IiIiIiP////h8zMzMzMzMzMzMzMzMzMzMzMzI/////4iIiIiP/////////////4d3eIiIeIj///
//////////+IiIiIj/////jMzMzMzMzMzMzMzMzMzMzMzMyP////+IiIiIj/////////////iIiId3eI
iI//////////////iIiIiI/////4zMzMzMzMzMzMzMzMzMzMzMzHj/////+IiIiP/////////////4//
/4d4j/+P//////////////iIiIj/////+MzMzMzMzMzMzMzMzMzMzMzMx4//////+IiP////////////
///////4j///////////////////iIiP//////jMzMzMzMzMzMzMzMzMzMzMzMeP//////////+IiIj/
///////////////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzH//////////+H
fMx8eP//////////////////////////iId3iP//////////+HzMzMzMzMzMzMzMzMzMzMzMyP//////
///4fMzHh8eP////////////////////////+MzMzMd4//////////h8zMzMzMzMzMzMzMzMzMzMzMf/
////////+MzMePjMeP///////////////////////4zMzMeHx4/////////4fMzMzMzMzMzMzMzMzMzM
zMzH/////////4fMd3eHzMeP//////////////////////iMzMzIiHx4////////+HzMzMzMzMzMzMzM
zMzMzMzMx/////////+Hx4iIfMzMj//////////////////////4h3d8x4h8yP////////jMzMzMzMzM
zMzMzMzMzMzMzMeP////////+HiP+IfMzI//////////////////////+HiIiHd3zHj////////4zMzM
zMzMzMzMzMzMzMzMzMzHj/////////h4//+HzMeP//////////////////////h4//h8zMyP////////
+MzMzMzMzMzMzMzMzMzMzMzMzI/////////4iP//h8x4///////////////////////4j//4fMzHj///
//////jMzMzMzMzMzMzMzMzMzMzMzMyP///////4iIiP+IfHj///////////////////////+Ij/+HzM
eP/////////4zMzMzMzMzMzMzMzMzMzMzMzMj///////iIiIiIh3eP////////////////////////+I
j4h8x3iI////////h8zMzMzMzMzMzMzMzMzMzMzMzH//////+Hj///iIiI//////////////////////
/////4iId4iIiIj//////4zMzMzMzMzMzMzMzMzMzMzMzMx4//////iP////iP//////////////////
/////////////4iP//iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMyP//////////+I//////////////
///////////////////4eP//iP//////jMzMzMzMzMzMzMzMzMzMzMzMzMj///////////iP////////
/////////////////////////4j/////////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj///////////////
//////////////////////////////+I//////////jMzMzMzMzMzMzMzMzMzMzMzMzMzI//////////
//////////////////////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
eP///////////////////////////////////////////////////////4zMzMzMzMzMzMzMzMzMzMzM
zMzMzMj///////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzM
zMzMzMzMzMzHj//////////////////////////////////////////////////////4zMzMzMzMzMzM
zMzMzMzMzMzMzMzMzI//////////////////////////////////////////////////////h8zMzMzM
zMzMzMzMzMzMzMzMzMzMzMx4////////////////////////////////////////////////////+HzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMyI////+I////////////////////////////////////////////
//h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+Ij/////////////////////////////////////
//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+IiIiIj//////////////////////////4
////iI/////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiP/////4iIiP//////////////////////
////+IiIiIj/////iHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////////////////
///////////4iIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////////////
//////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////
//////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////
///////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////
////////////////////////////////////////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI
j/////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMeP//////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMx4////////+I//////////////////////////////////////jMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMeP///////4iIj///////////////////////////iP///////4fMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMx4////////iIiIiP///////////////////////4iIiP///////4zMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIj///////+HzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIj////////////////////4iIiIiIj///////
+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIiI//
//////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiP////////////////////iIiI
iIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiIj/////iIiIiIiIj/////
/4iIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiI/////4zMzMzMzM
j/////+IiIiIiIiP//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//////+IiIiIiIj/////+MzM
zMzMzI//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iIiIiIiI////
//jMzMzMzMyP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP///////4iIiIiI
iP/////4zMzMzMzMj//////4iIiIiIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iI
iIiIiI//////+MzMzMzMzI//////+IiIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
///4iIiIiIiP//////fMzMzMzMyP//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzH
j///////+IiIiIiI//////+HzMzMzMzMeP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzM
zMzMyP////////iIiIiIiP//////jMzMzMzMzHj///////iIiIiIiI///////4fMzMzMzMzMzMzMzMzM
zMzMzMzMzMj///////+IiIiIiI///////4zMzMzMzMzI///////4iIiIiIiI///////3zMzMzMzMzMzM
zMzMzMzMzMzMzMzI////////iIiIiIiP//////+MzMzMzMzMyP//////+IiIiIiIiP//////+MzMzMzM
zMzMzMzMzMzMzMzMzMzMeP///////4iIiIiIj///////jMzMzMzMzMj///////+IiIiIiIj///////jM
zMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiIiP//////+HzMzMzMzMzHj///////iIiIiIiI////
///4zMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIiI////////jMzMzMzMzMzI///////4iIiIiI
iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMzMj////////4iIiIiP///////4zMzMzMzMzMyP///////4
iIiIiIiP//////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiI////////h8zMzMzMzMzMeP//
/////4iIiIiIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIj////////4fMzMzMzMzM
zHj///////+IiIiIiI//////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////iIiP////////+MzMzM
zMzMzMzI////////+IiIiIiP//////h8zMzMzMzMzMzMxmzMzMzMzMzMx4/////////4iP/////////4
fMzMzMzMzMzMx4////////+IiIiIj//////4fMzMzMzMzMzMzMZszMzMzMzMzMeP////////////////
////+MzMzMzMzMzMzMyP////////iIiIiP//////+HzMzMzMzMzMzMzGbMzMzMzMzMzH////////////
//////////fMzMzMzMzMzMzMeP////////iIiIj///////98zMzMzMzMzMzMxmzMzMzMzMzMyP//////
//////////////+HzMzMzMzMzMzMzHj/////////+IiP////////jMzMzMzMzMzMzMZszMzMzMzMzMj/
////////////////////jMzMzMzMzMzMzMzIj////////////////////4zMzMzMzMzMzMzGTMzMzMzM
zMzH////////////////////+HzMzMzMzMzMzMzMx4////////////////////+MzMzMzMzMzMzMxAzM
zMzMzMzMx/////////////////////jMzMzMzMzMzMzMzMyI///////////////////4fMzMzMzMzMzM
zMAGzMzMzMzMzMeP//////////////////+HzMzMzMzMzMzMzMzMeP//////////////////+HzMzMzM
zMzMzMxgBszMzMzMzMzHj//////////////////4fMzMzMzMzMzMzMzMzMeP//////////////////h8
zMzMzMzMzMzMYADMzMzMzMzMzI//////////////////+HzMzMzMzMzMzMzMzMzHj///////////////
///4zMzMzMzMzMzMzAAAbMzMzMzMzMyP/////////////////4fMzMzMzMzMzMzMzMzMzHj/////////
////////+MzMzMzMzMzMzMYAAEzMzMzMzMzMj/////////////////+MzMzMzMzMzMzMzMzMzMzIj///
/////////////4fMzMzMzMzMzMzEAAAGzMzMzMzMzHj////////////////4fMzMzMzMzMzMzMzMzMzM
x4////////////////+MzMzMzMzMzMzMYAAABMzMzMzMzMx4////////////////h8zMzMzMzMzMzMzM
zMzMzMx4///////////////4fMzMzMzMzMzMzEAAAABszMzMzMzMx4//////////////+HzMzMzMzMzM
zMzMzMzMzMzMx4//////////////+MzMzMzMzMzMzMYAAAAATMzMzMzMzMyP/////////////4fMzMzM
zMzMzMzMzMzMzMzMzMeI/////////////4fMzMzMzMzMzMzEAAAAAAbMzMzMzMzMeP////////////h8
zMzMzMzMzMzMzMzMzMzMzMzMeI////////////h8zMzMzMzMzMzMYAAAAAAAbMzMzMzMzMeP////////
//iHzMzMzMzMzMzMzMzMzMzMzMzMzMyI//////////+HzMzMzMzMzMzMxgAAAAAAAEzMzMzMzMzMeP//
//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMx4/////////4fMzMzMzMzMzMzMQAAAAAAAAGzMzMzMzM
zMeI//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4j//////4h8zMzMzMzMzMzMxgAAAAAAAAAGzM
zMzMzMzMx4iIiIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiIj/+Ih3zMzMzMzMzMzMzGAAAAAAAA
AAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx3iId8zMzMzMzMzMzMzMYAAA
AAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
xgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzGAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA
AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+
AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA
B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA
AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA
AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA
AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA
AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA
AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA
AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA
AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA
AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA
AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA
AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf/////
+AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w==
</value>
</data>
</root>
+1 -1
View File
@@ -202,7 +202,7 @@ namespace Work._29Tools.Forms.ToolForms
this.ClientSize = new System.Drawing.Size(650, 720);
this.Controls.Add(this.splitContainer1);
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.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.IsShowMaxBox = true;
this.KeyPreview = true;
this.Name = "ShowImgForm";