订单消费统计 商品标题筛选逻辑优化
This commit is contained in:
1 parent
ec9a856bc5
commit
261d580407
6 files changed
+98
-31
No files matched your search
@@ -25,17 +25,18 @@
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="0.8*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="0.8*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="0.75*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="0.75*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="1.2*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
@@ -45,14 +46,28 @@
|
||||
<usercontrols:UcWaterMarkTextBox Grid.Column="0" x:Name="txtOrderId" Margin="0,0,8,0" Height="28" WaterMark="店铺单号" />
|
||||
|
||||
<usercontrols:UcWaterMarkTextBox Grid.Column="1" x:Name="txtSearchAll" Margin="0,0,8,0" Height="28" WaterMark="买手/仓库/退货物流 采购/退款单号" TextChanged="txtSearchAll_TextChanged"/>
|
||||
|
||||
<usercontrols:UcWaterMarkTextBox Grid.Column="2" x:Name="txtGoodsName" Margin="0,0,8,0" Height="28" WaterMark="商品标题" />
|
||||
|
||||
<usercontrols:UcWaterMarkTextBox x:Name="txtShopName" Grid.Column="3" Margin="0,0,-6,0" Height="28" WaterMark="全部店铺" TextWrapping="NoWrap"/>
|
||||
<Button Grid.Column="4" x:Name="btnMultiShopChoice" Style="{StaticResource BasePageButtonLeftSquareStyle}" HorizontalAlignment="Left" VerticalAlignment="Center"
|
||||
<!-- 选择标题筛选类型 -->
|
||||
<Border Grid.Column="2" Margin="0,0,0,0" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1,1,1,1" Height="28" VerticalAlignment="Center" CornerRadius="4,0,0,4"/>
|
||||
<ComboBox Grid.Column="2" x:Name="cmbFilterGoodsNameType" Margin="4,0,4,0" VerticalContentAlignment="Center" BorderBrush="Transparent" Style="{StaticResource RoundedComboBox}"
|
||||
Width="70" Height="28" Text="标题包含" SelectedIndex="0" SelectionChanged="cmbFilterGoodsNameType_SelectionChanged">
|
||||
<ComboBoxItem>
|
||||
<TextBlock>标题包含</TextBlock>
|
||||
</ComboBoxItem>
|
||||
<ComboBoxItem>
|
||||
<TextBlock>标题不含</TextBlock>
|
||||
</ComboBoxItem>
|
||||
</ComboBox>
|
||||
<Border Grid.Column="3" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="0,1,1,1" Height="28" VerticalAlignment="Center" CornerRadius="0,4,4,0" Margin="0,0,8,0" />
|
||||
<usercontrols:UcWaterMarkTextBox Grid.Column="3" TextBorderThickness="0" x:Name="txtFilterGoodsName" Height="28" Margin="0,0,8,0" WaterMark="商品标题" TextChanged="txtGoodsNameFilter_TextChanged"/>
|
||||
|
||||
<usercontrols:UcWaterMarkTextBox Grid.Column="4" x:Name="txtShopName" Margin="0,0,-6,0" Height="28" WaterMark="全部店铺" TextWrapping="NoWrap"/>
|
||||
<Button Grid.Column="5" x:Name="btnMultiShopChoice" Style="{StaticResource BasePageButtonLeftSquareStyle}" HorizontalAlignment="Left" VerticalAlignment="Center"
|
||||
Margin="0,0,8,0" Content=" ... " Width="28" Height="28" Click="btnMultiShopChoice_Click"/>
|
||||
|
||||
<ComboBox Grid.Column="5" x:Name="cmbTimeType" Margin="4,0,4,0" VerticalContentAlignment="Center" BorderBrush="Transparent" Style="{StaticResource RoundedComboBox}"
|
||||
<!-- 选择时间 -->
|
||||
<Border Grid.Column="6" Margin="0,0,0,0" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1,1,1,1" Height="28" VerticalAlignment="Center" CornerRadius="4,0,0,4"/>
|
||||
<ComboBox Grid.Column="6" x:Name="cmbTimeType" Margin="4,0,4,0" VerticalContentAlignment="Center" BorderBrush="Transparent" Style="{StaticResource RoundedComboBox}"
|
||||
Width="70" Height="28" Text="更新时间" SelectedIndex="0">
|
||||
<ComboBoxItem>
|
||||
<TextBlock>更新时间</TextBlock>
|
||||
@@ -61,18 +76,20 @@
|
||||
<TextBlock>成交时间</TextBlock>
|
||||
</ComboBoxItem>
|
||||
</ComboBox>
|
||||
<Border Grid.Column="5" Margin="0,0,0,0" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1,1,1,1" Height="28" VerticalAlignment="Center" CornerRadius="4,0,0,4"/>
|
||||
<Border Grid.Column="6" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="0,1,1,1" Height="28" VerticalAlignment="Center" CornerRadius="0,0,0,0" Margin="0,0,10,0"/>
|
||||
<DatePicker Grid.Column="6" x:Name="dateStart" Margin="0,0,14,0" VerticalAlignment="Center" BorderThickness="0" />
|
||||
|
||||
<Border Grid.Column="7" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="0,1,1,1" Height="28" VerticalAlignment="Center" CornerRadius="0,4,4,0" Margin="-10,0,0,0"/>
|
||||
<DatePicker Grid.Column="7" x:Name="dateEnd" Margin="10,0,4,0" VerticalAlignment="Center" BorderThickness="0" />
|
||||
<CheckBox Grid.Column="7" x:Name="chkEndDate" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="-6,0"/>
|
||||
<!-- 开始时间 -->
|
||||
<Border Grid.Column="7" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="0,1,1,1" Height="28" VerticalAlignment="Center" CornerRadius="0,0,0,0" Margin="0,0,10,0"/>
|
||||
<DatePicker Grid.Column="7" x:Name="dateStart" Margin="0,0,14,0" VerticalAlignment="Center" BorderThickness="0" />
|
||||
|
||||
<Button Grid.Column="8" x:Name="btnFilter" Style="{StaticResource BasePageButtonStyle}" Margin="8,0,0,0" Content="过滤" MinWidth="48" Height="28" Click="btnFilter_Click" Padding="4"/>
|
||||
<Button Grid.Column="9" x:Name="btnSearch" Style="{StaticResource BasePageButtonStyle}" Margin="4,0,4,0" Content="读单" MinWidth="78" Height="28" Click="btnSearch_Click" Padding="4" IsEnabled="False"/>
|
||||
<!-- 结束时间 -->
|
||||
<Border Grid.Column="8" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="0,1,1,1" Height="28" VerticalAlignment="Center" CornerRadius="0,4,4,0" Margin="-10,0,0,0"/>
|
||||
<DatePicker Grid.Column="8" x:Name="dateEnd" Margin="10,0,4,0" VerticalAlignment="Center" BorderThickness="0" />
|
||||
<CheckBox Grid.Column="8" x:Name="chkEndDate" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="-6,0"/>
|
||||
|
||||
<WrapPanel Grid.Column="10" VerticalAlignment="Center" Width="92">
|
||||
<Button Grid.Column="9" x:Name="btnFilter" Style="{StaticResource BasePageButtonStyle}" Margin="8,0,0,0" Content="过滤" MinWidth="48" Height="28" Click="btnFilter_Click" Padding="4"/>
|
||||
<Button Grid.Column="10" x:Name="btnSearch" Style="{StaticResource BasePageButtonStyle}" Margin="4,0,4,0" Content="读单" MinWidth="78" Height="28" Click="btnSearch_Click" Padding="4" IsEnabled="False"/>
|
||||
|
||||
<WrapPanel Grid.Column="11" VerticalAlignment="Center" Width="92">
|
||||
<Image x:Name="imgLoading" Grid.Column="10" Source="{StaticResource imgLoadingPic}" Width="20" Height="20" Margin="0" IsEnabled="False">
|
||||
<Image.RenderTransform>
|
||||
<RotateTransform Angle="45" CenterX="10" CenterY="10"/>
|
||||
@@ -98,7 +115,7 @@
|
||||
|
||||
</WrapPanel>
|
||||
|
||||
<Button Grid.Column="11" Content="利润统计" Style="{StaticResource BasePageButtonStyle}" Width="60" Height="28" Click="btn_ShowShopRevenueStatisticsView" Padding="4">
|
||||
<Button Grid.Column="12" Content="利润统计" Style="{StaticResource BasePageButtonStyle}" HorizontalAlignment="Center" Width="60" Height="28" Click="btn_ShowShopRevenueStatisticsView" Padding="4">
|
||||
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
@@ -45,6 +45,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
public partial class OrderListCtrl : UserControl
|
||||
{
|
||||
public CheckBox chkSelectAll = null;
|
||||
public OrderFilterConfig orderFilterConfig = null;
|
||||
|
||||
public bool IsAutoReadOrder = true;
|
||||
public DateTime nextGetOrderTime = DateTime.MinValue;
|
||||
@@ -62,6 +63,12 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
{
|
||||
lbxOrder.ItemsSource = GlobalConfig.lstFilterOrder;
|
||||
|
||||
orderFilterConfig = NaiBa.Util.Helper.ConfigHelper.LoadConfig<OrderFilterConfig>("wx_order_filter_config");
|
||||
if (orderFilterConfig == null)
|
||||
orderFilterConfig = new OrderFilterConfig();
|
||||
this.txtFilterGoodsName.Text = string.Join(";", orderFilterConfig.FilterGoodsName);
|
||||
this.cmbFilterGoodsNameType.SelectedItem = cmbFilterGoodsNameType.Items.Cast<ComboBoxItem>().FirstOrDefault(tb => (tb.Content as TextBlock)?.Text == orderFilterConfig.FilterGoodsNameType);
|
||||
|
||||
dateStart.SelectedDate = DateTime.Now.Date.AddDays(-7);
|
||||
dateEnd.SelectedDate = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
|
||||
|
||||
@@ -950,9 +957,12 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
return true;
|
||||
}
|
||||
// 过滤商品名称
|
||||
if (!string.IsNullOrEmpty(txtGoodsName.Text.Trim()) && !order.orderItems.Any(it => it.title.Contains(txtGoodsName.Text.Trim())))
|
||||
if (!string.IsNullOrEmpty(txtFilterGoodsName.Text.Trim()))
|
||||
{
|
||||
return true;
|
||||
if (orderFilterConfig.FilterGoodsNameType == "标题包含" && !orderFilterConfig.FilterGoodsName.Any(name => order.orderItems.Any(it => it.title.Contains(name))))
|
||||
return true;
|
||||
else if (orderFilterConfig.FilterGoodsNameType == "标题不含" && orderFilterConfig.FilterGoodsName.Any(name => order.orderItems.Any(it => it.title.Contains(name))))
|
||||
return true;
|
||||
}
|
||||
// 过滤id
|
||||
if (!string.IsNullOrEmpty(txtOrderId.Text.Trim()) && !(";" + txtOrderId.Text.Trim().Replace(' ', ';').Replace(',', ';') + ";").Contains(";" + order.order_id + ";"))
|
||||
@@ -1783,5 +1793,35 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
|
||||
return HttpResponseYkdBLL.YangkeduoPostResponse(buyer, url, body, referer);
|
||||
}
|
||||
|
||||
private void txtGoodsNameFilter_TextChanged(object sender, TextChangedEventArgs e)
|
||||
{
|
||||
if (IsLoaded)
|
||||
{
|
||||
if (string.Join(";", orderFilterConfig.FilterGoodsName) != txtFilterGoodsName.Text)
|
||||
{
|
||||
orderFilterConfig.FilterGoodsName = txtFilterGoodsName.Text.Split(new string[] { ";", ";", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_order_filter_config", orderFilterConfig);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void cmbFilterGoodsNameType_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
if (IsLoaded)
|
||||
{
|
||||
if (orderFilterConfig.FilterGoodsNameType != ((cmbFilterGoodsNameType.SelectedItem as ComboBoxItem)?.Content as TextBlock)?.Text)
|
||||
{
|
||||
orderFilterConfig.FilterGoodsNameType = ((cmbFilterGoodsNameType.SelectedItem as ComboBoxItem)?.Content as TextBlock)?.Text;
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_order_filter_config", orderFilterConfig);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class OrderFilterConfig
|
||||
{
|
||||
public string FilterGoodsNameType { get; set; } = "标题包含";
|
||||
public List<string> FilterGoodsName { get; set; } = new List<string>();
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,8 @@
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Grid>
|
||||
<TextBox x:Name="txt" Text="{Binding Text, Mode=TwoWay}" Style="{StaticResource BaseRoundCornerTextBoxStyle}" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1"
|
||||
<TextBox x:Name="txt" Text="{Binding Text, Mode=TwoWay}" Style="{StaticResource BaseRoundCornerTextBoxStyle}" BorderBrush="{StaticResource pageColorBrush}"
|
||||
BorderThickness="{Binding TextBorderThickness}"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" VerticalContentAlignment="Center" TextWrapping="{Binding TextWrapping}" TextChanged="txt_TextChanged"/>
|
||||
<TextBlock x:Name="tbWaterMark" Text="{Binding WaterMark}" Margin="4,0,4,0" VerticalAlignment="Center" IsHitTestVisible="False" Foreground="DarkGray"
|
||||
Visibility="{Binding ElementName=txt,Path=Text,Converter={StaticResource WaterMarkVisibility}}"></TextBlock>
|
||||
|
||||
@@ -45,16 +45,24 @@ namespace _29WxOrderWpf.UserControls
|
||||
{
|
||||
get { return (string)GetValue(WaterMarkProperty) == null ? "" : (string)GetValue(WaterMarkProperty); }
|
||||
set { SetValue(WaterMarkProperty, value); }
|
||||
}
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty TextWrappingProperty = DependencyProperty.Register("TextWrapping", typeof(TextWrapping), typeof(UcWaterMarkTextBox), null);
|
||||
public TextWrapping TextWrapping
|
||||
{
|
||||
get { return (TextWrapping)GetValue(TextWrappingProperty); }
|
||||
set { SetValue(TextWrappingProperty, value); }
|
||||
}
|
||||
public static readonly DependencyProperty TextWrappingProperty = DependencyProperty.Register("TextWrapping", typeof(TextWrapping), typeof(UcWaterMarkTextBox), null);
|
||||
public TextWrapping TextWrapping
|
||||
{
|
||||
get { return (TextWrapping)GetValue(TextWrappingProperty); }
|
||||
set { SetValue(TextWrappingProperty, value); }
|
||||
}
|
||||
|
||||
private void txt_TextChanged(object sender, TextChangedEventArgs e)
|
||||
public static readonly DependencyProperty TextBorderThicknessProperty = DependencyProperty.Register("TextBorderThickness", typeof(Thickness), typeof(UcWaterMarkTextBox),
|
||||
new PropertyMetadata(new Thickness(1)));
|
||||
public Thickness TextBorderThickness
|
||||
{
|
||||
get { return (Thickness)GetValue(TextBorderThicknessProperty); }
|
||||
set { SetValue(TextBorderThicknessProperty, value); }
|
||||
}
|
||||
|
||||
private void txt_TextChanged(object sender, TextChangedEventArgs e)
|
||||
{
|
||||
this.Text = txt.Text;
|
||||
TextChanged?.Invoke(this, e);
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace AllBase
|
||||
/// 版本ID
|
||||
/// </summary>
|
||||
|
||||
public static int VersionCount = 219;
|
||||
public static int VersionCount = 221;
|
||||
|
||||
public static string ServerUrl { get; set; } = "http://1.13.195.131:9000";
|
||||
public static string DebugUrl { get; set; } = "http://localhost:9000";
|
||||
|
||||
+2
-1
@@ -135,7 +135,8 @@ namespace Work
|
||||
BaseClass.ShopPointsPerMonth = BaseRegex.GetStringJson(ref html, "shop_points_per_month").ParseToInt();
|
||||
BaseClass.Balance = BaseRegex.GetDecimalJson(ref html, "balance");
|
||||
BaseClass.PostagePerOrder = Math.Max(2.2m, BaseRegex.GetDecimalJson(ref html, "postage_per_order"));
|
||||
BaseClass.OemId = BaseRegex.GetStringJson(ref html, "oem_id");
|
||||
BaseClass.RechargeAmountTotal = BaseRegex.GetDecimalJson(ref html, "recharge_amount_total");
|
||||
BaseClass.OemId = BaseRegex.GetStringJson(ref html, "oem_id");
|
||||
BaseClass.OemName = BaseRegex.GetStringJson(ref html, "oem_name");
|
||||
BaseClass.IsOemOwner = BaseRegex.GetBoolJson(ref html, "is_oem_owner");
|
||||
|
||||
|
||||
Reference in new issue
Block a user