Browse Source

白条领用支持扫描通用码。

加白条发货客户端,跟B3联通。
master
yibo 7 years ago
parent
commit
2b5dd94124
38 changed files with 4388 additions and 72 deletions
  1. +104
    -0
      ButcherFactory.BO/Bill/CarcassSaleOut_Detail.cs
  2. +4
    -0
      ButcherFactory.BO/ButcherFactory.BO.csproj
  3. +1
    -0
      ButcherFactory.BO/Enums/DriveType.cs
  4. +183
    -0
      ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs
  5. +35
    -0
      ButcherFactory.BO/LocalBL/DialogBL.cs
  6. +2
    -0
      ButcherFactory.BO/Utils/AppContext.cs
  7. +21
    -0
      ButcherFactory.BO/Utils/ButcherFactoryUtil.cs
  8. +125
    -0
      ButcherFactory.BO/Utils/ClientRpc.cs
  9. +16
    -5
      ButcherFactory.BO/Utils/LoginUtil.cs
  10. +63
    -0
      ButcherFactory.Form/ButcherFactory.Form.csproj
  11. +1
    -1
      ButcherFactory.Form/CarcassInStore_/CarcassInStoreForm.cs
  12. +981
    -0
      ButcherFactory.Form/CarcassSaleOut_/CarcassSaleOutForm.Designer.cs
  13. +254
    -0
      ButcherFactory.Form/CarcassSaleOut_/CarcassSaleOutForm.cs
  14. +235
    -0
      ButcherFactory.Form/CarcassSaleOut_/CarcassSaleOutForm.resx
  15. +0
    -26
      ButcherFactory.Form/CarcassTakeOut_/CarcassTakeOutForm.Designer.cs
  16. +28
    -22
      ButcherFactory.Form/CarcassTakeOut_/CarcassTakeOutForm.cs
  17. +0
    -8
      ButcherFactory.Form/CarcassTakeOut_/CarcassTakeOutForm.resx
  18. +730
    -0
      ButcherFactory.Form/Dialogs/CalendarSelecter.xaml
  19. +61
    -0
      ButcherFactory.Form/Dialogs/CalendarSelecter.xaml.cs
  20. +155
    -0
      ButcherFactory.Form/Dialogs/SelectBillStateDialog.Designer.cs
  21. +30
    -0
      ButcherFactory.Form/Dialogs/SelectBillStateDialog.cs
  22. +153
    -0
      ButcherFactory.Form/Dialogs/SelectBillStateDialog.resx
  23. +170
    -0
      ButcherFactory.Form/Dialogs/SelectCustomerDialog.Designer.cs
  24. +82
    -0
      ButcherFactory.Form/Dialogs/SelectCustomerDialog.cs
  25. +137
    -0
      ButcherFactory.Form/Dialogs/SelectCustomerDialog.resx
  26. +66
    -0
      ButcherFactory.Form/Dialogs/SelectDeliverGoodsLineDialog.Designer.cs
  27. +62
    -0
      ButcherFactory.Form/Dialogs/SelectDeliverGoodsLineDialog.cs
  28. +120
    -0
      ButcherFactory.Form/Dialogs/SelectDeliverGoodsLineDialog.resx
  29. +49
    -0
      ButcherFactory.Form/Dialogs/SelectStoreDialog.Designer.cs
  30. +40
    -0
      ButcherFactory.Form/Dialogs/SelectStoreDialog.cs
  31. +120
    -0
      ButcherFactory.Form/Dialogs/SelectStoreDialog.resx
  32. +176
    -0
      ButcherFactory.Form/Dialogs/WeightRecordDialog.Designer.cs
  33. +25
    -0
      ButcherFactory.Form/Dialogs/WeightRecordDialog.cs
  34. +141
    -0
      ButcherFactory.Form/Dialogs/WeightRecordDialog.resx
  35. +1
    -1
      ButcherFactory.Form/SegmentProduction_/SegmentProductionForm.cs
  36. +4
    -3
      ButcherFactory.Login/Login.xaml.cs
  37. +8
    -6
      ButcherFactory.Tools/MainWindow.xaml
  38. +5
    -0
      ButcherFactory.Tools/MainWindow.xaml.cs

+ 104
- 0
ButcherFactory.BO/Bill/CarcassSaleOut_Detail.cs View File

@ -0,0 +1,104 @@
using Forks.EnterpriseServices.DomainObjects2;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ButcherFactory.BO
{
[MapToTable("Butcher_CarcassSaleOut_Detail")]
[KeyField("ID", KeyGenType.identity)]
public class CarcassSaleOut_Detail
{
public CarcassSaleOut_Detail()
{
Time = DateTime.Now;
}
public long ID { get; set; }
public long? BillID { get; set; }
public long? DetailID { get; set; }
public string BarCode { get; set; }
public long? Goods_ID { get; set; }
public string Goods_Name { get; set; }
public string Goods_Code { get; set; }
public long? ProductBatch_ID { get; set; }
[NonDmoProperty]
public int Number { get; set; }
public decimal? InStoreWeight { get; set; }
public decimal Weight { get; set; }
[NonDmoProperty]
public decimal? DiffWeight
{
get
{
if (InStoreWeight.HasValue)
return InStoreWeight.Value - Weight;
return null;
}
}
public DateTime Time { get; set; }
public bool Filled { get; set; }
}
public class SaleOutStore
{
public long ID { get; set; }
public string Customer_Name { get; set; }
public DateTime? SendTime { get; set; }
public string DeliverGoodsLine_Name { get; set; }
public string Address { get; set; }
public string CarNumber { get; set; }
}
public class SaleOutStore_Detail
{
public long SaleOutStore_ID { get; set; }
public long ID { get; set; }
public string Customer_Name { get; set; }
public string Goods_Code { get; set; }
public string Goods_Name { get; set; }
public decimal? SecondNumber { get; set; }
public decimal? Number { get; set; }
public decimal? SSecondNumber { get; set; }
public decimal? SNumber { get; set; }
public decimal? DiffNumber
{
get
{
if (Number.HasValue && SNumber.HasValue)
return Number.Value - SNumber.Value;
return null;
}
}
}
}

+ 4
- 0
ButcherFactory.BO/ButcherFactory.BO.csproj View File

@ -61,6 +61,7 @@
<Compile Include="Base\BaseInfo.cs" />
<Compile Include="BaseInfo\ProductBatch.cs" />
<Compile Include="Base\ExtensionObj.cs" />
<Compile Include="Bill\CarcassSaleOut_Detail.cs" />
<Compile Include="Bill\CarcassTakeOut.cs" />
<Compile Include="Bill\CarcassTakeOutWeightTemp.cs" />
<Compile Include="Bill\SegmentProduction.cs" />
@ -73,13 +74,16 @@
<Compile Include="Bill\CarcassInStore.cs" />
<Compile Include="LocalBL\BaseInfoBL.cs" />
<Compile Include="LocalBL\CarcassInStoreBL.cs" />
<Compile Include="LocalBL\CarcassSaleOutBL.cs" />
<Compile Include="LocalBL\CarcassTakeOutBL.cs" />
<Compile Include="LocalBL\DialogBL.cs" />
<Compile Include="LocalBL\FormClientGoodsSetBL.cs" />
<Compile Include="LocalBL\SegmentProductionBL.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Rpcs\BaseInfoSyncRpc.cs" />
<Compile Include="Utils\AppContext.cs" />
<Compile Include="Utils\ButcherFactoryUtil.cs" />
<Compile Include="Utils\ClientRpc.cs" />
<Compile Include="Utils\DbUtil.cs" />
<Compile Include="Utils\Extensions.cs" />
<Compile Include="Utils\FormUtil.cs" />


+ 1
- 0
ButcherFactory.BO/Enums/DriveType.cs View File

@ -8,6 +8,7 @@ namespace ButcherFactory.BO
{
public enum
{
= -1,
= 0,
= 1,
= 2,


+ 183
- 0
ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs View File

@ -0,0 +1,183 @@
using ButcherFactory.BO.Utils;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.JsonRpc.Client;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ButcherFactory.BO.LocalBL
{
public static class CarcassSaleOutBL
{
const string RpcPath = @"/MainSystem/B3Sale/Rpcs/";
const string MESPath = @"/MainSystem/B3ClientService/Rpcs/";
public static BindingList<SaleOutStore> GetSaleOutStoreList(DateTime sendDate, long? deliverGoodsLineID, long? customerID, int billState, long? storeID)
{
var json = RpcFacade.Call<string>(RpcPath + "SaleOutStoreRpc/GetSaleOutStoreList", sendDate, billState, deliverGoodsLineID, customerID, storeID);
var list = JsonConvert.DeserializeObject<List<SaleOutStore>>(json);
return new BindingList<SaleOutStore>(list);
}
public static BindingList<SaleOutStore_Detail> GetSaleOutStoreDetailList(long id)
{
var json = RpcFacade.Call<string>(RpcPath + "SaleOutStoreRpc/GetSaleOutStoreDetailList", id);
var list = JsonConvert.DeserializeObject<List<SaleOutStore_Detail>>(json);
return new BindingList<SaleOutStore_Detail>(list);
}
public static BindingList<CarcassSaleOut_Detail> GetWeightRecord(long detailID)
{
var query = new DmoQuery(typeof(CarcassSaleOut_Detail));
query.Where.Conditions.Add(DQCondition.EQ("DetailID", detailID));
query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID", true));
var list = query.EExecuteList().Cast<CarcassSaleOut_Detail>().ToList();
return new BindingList<CarcassSaleOut_Detail>(list);
}
public static CarcassSaleOut_Detail Insert(decimal weight)
{
using (var session = DmoSession.New())
{
var detail = new CarcassSaleOut_Detail() { Weight = weight };
session.Insert(detail);
session.Commit();
return detail;
}
}
public static BindingList<CarcassSaleOut_Detail> GetUnSubmitWeightRecord()
{
var query = new DmoQuery(typeof(CarcassSaleOut_Detail));
query.Where.Conditions.Add(DQCondition.IsNull(DQExpression.Field("DetailID")));
query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID", true));
var list = query.EExecuteList().Cast<CarcassSaleOut_Detail>().ToList();
return new BindingList<CarcassSaleOut_Detail>(list);
}
static Dictionary<long, Tuple<string, string>> goodsInfos = new Dictionary<long, Tuple<string, string>>();
public static void FillDetail(CarcassSaleOut_Detail first, string barCode, long? batchID)
{
using (var session = DmoSession.New())
{
var list = new List<Tuple<string, object>>();
if (barCode.StartsWith("G"))
{
var gid = long.Parse(barCode.TrimStart('G'));
var gInfo = GetGoodsInfo(gid);
first.Goods_ID = gid;
first.Goods_Name = gInfo.Item1;
first.Goods_Code = gInfo.Item2;
first.ProductBatch_ID = batchID;
list.Add(new Tuple<string, object>("ProductBatch_ID", first.ProductBatch_ID));
}
else
{
var json = ButcherFactoryUtil.SimpleMESCall<string>(MESPath + "CarcassSaleOutStoreRpc/GetCarcassInstoreInfo", barCode);
var mesInfo = JsonConvert.DeserializeObject<SaleOutCarcassObj>(json);
if (!string.IsNullOrEmpty(mesInfo.Goods_Code))
{
var gInfo = GetGoodsInfo(mesInfo.Goods_Code);
first.Goods_Code = mesInfo.Goods_Code;
first.InStoreWeight = mesInfo.InStoreWeight;
first.Goods_ID = gInfo.Item1;
first.Goods_Name = gInfo.Item2;
}
first.BarCode = barCode;
list.Add(new Tuple<string, object>("BarCode", first.BarCode));
list.Add(new Tuple<string, object>("InStoreWeight", first.InStoreWeight));
}
first.Filled = true;
list.Add(new Tuple<string, object>("Goods_ID", first.Goods_ID));
list.Add(new Tuple<string, object>("Goods_Name", first.Goods_Name));
list.Add(new Tuple<string, object>("Goods_Code", first.Goods_Code));
list.Add(new Tuple<string, object>("Filled", first.Filled));
Update(session, first.ID, list.ToArray());
session.Commit();
}
}
static void Update(IDmoSession session, long id, params Tuple<string, object>[] pops)
{
var update = new DQUpdateDom(typeof(CarcassSaleOut_Detail));
foreach (var item in pops)
update.Columns.Add(new DQUpdateColumn(item.Item1, item.Item2));
update.Where.Conditions.Add(DQCondition.EQ("ID", id));
session.ExecuteNonQuery(update);
}
static Tuple<string, string> GetGoodsInfo(long id)
{
if (!goodsInfos.ContainsKey(id))
{
var json = RpcFacade.Call<string>(RpcPath + "BaseInfoSelectRpc/GetGoodsInfo", "ID", id);
var g = JsonConvert.DeserializeObject<ExtensionObj>(json);
if (g.LongExt1 == null)
throw new Exception("没有找到存货No." + id);
goodsInfos.Add(id, new Tuple<string, string>(g.StringExt1, g.StringExt2));
}
return goodsInfos[id];
}
public static Tuple<long, string> GetGoodsInfo(string code)
{
long id = 0;
if (!goodsInfos.Any(x => x.Value.Item2 == code))
{
var json = RpcFacade.Call<string>(RpcPath + "BaseInfoSelectRpc/GetGoodsInfo", "Code", code);
var g = JsonConvert.DeserializeObject<ExtensionObj>(json);
if (g.LongExt1 == null)
throw new Exception("没有找到存货编码 " + code);
id = g.LongExt1.Value;
goodsInfos.Add(id, new Tuple<string, string>(g.StringExt1, g.StringExt2));
}
return new Tuple<long, string>(id, goodsInfos[id].Item1);
}
public static List<ProductBatch> GetBatchFromEMS()
{
var json = ButcherFactoryUtil.SimpleMESCall<string>(MESPath + "SyncBaseInfoRpc/GetProductBatch", 9);
return JsonConvert.DeserializeObject<List<ProductBatch>>(json);
}
public static void SubmitDetails(BindingList<CarcassSaleOut_Detail> details, SaleOutStore_Detail detail)
{
var arr = details.Select(x => new WeightRecord { WeightTime = x.Time, MainUnitNum = x.Weight, ProductBatch_ID = x.ProductBatch_ID, BarCode = x.BarCode });
RpcFacade.Call<int>(RpcPath + "SaleOutStoreRpc/SaveWeightRecord", JsonConvert.SerializeObject(arr), detail.ID);
var update = new DQUpdateDom(typeof(CarcassSaleOut_Detail));
update.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("ID"), details.Select(x => DQExpression.Value(x.ID)).ToArray()));
update.Columns.Add(new DQUpdateColumn("BillID", detail.SaleOutStore_ID));
update.Columns.Add(new DQUpdateColumn("DetailID", detail.ID));
update.EExecute();
detail.SNumber = (detail.SNumber ?? 0) + details.Sum(x => x.Weight);
detail.SSecondNumber = (detail.SSecondNumber ?? 0) + details.Count();
}
public static void SetGoodsFinish(long id)
{
RpcFacade.Call<int>(RpcPath + "SaleOutStoreRpc/SetFinishAssignState", id);
}
}
class SaleOutCarcassObj
{
public string Goods_Code { get; set; }
public decimal? InStoreWeight { get; set; }
}
class WeightRecord
{
public string BarCode { get; set; }
public long? ProductBatch_ID { get; set; }
public DateTime WeightTime { get; set; }
public decimal? MainUnitNum { get; set; }
}
}

+ 35
- 0
ButcherFactory.BO/LocalBL/DialogBL.cs View File

@ -0,0 +1,35 @@
using Forks.JsonRpc.Client;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ButcherFactory.BO.LocalBL
{
public static class DialogBL
{
const string RpcPath = @"/MainSystem/B3Sale/Rpcs/BaseInfoSelectRpc/";
public static IEnumerable<ExtensionObj> GetStoreList()
{
return GetBaseInfoList("GetStoreList");
}
public static IEnumerable<ExtensionObj> GetDeliverGoodsLineList()
{
return GetBaseInfoList("GetDeliverGoodsLineList");
}
public static IEnumerable<ExtensionObj> GetCustomerList(string spell)
{
return GetBaseInfoList("GetCustomerList", spell);
}
static IEnumerable<ExtensionObj> GetBaseInfoList(string method, params string[] spell)
{
var json = RpcFacade.Call<string>(RpcPath + method, spell);
return JsonConvert.DeserializeObject<IEnumerable<ExtensionObj>>(json);
}
}
}

+ 2
- 0
ButcherFactory.BO/Utils/AppContext.cs View File

@ -31,6 +31,8 @@ namespace ButcherFactory.BO.Utils
return XmlUtil.DeserializeFromFile<ServerUrlConfig>();
}
public int ServerMode { get; set; }
public string ServerUrl { get; set; }
public string SqlConnection { get; set; }


+ 21
- 0
ButcherFactory.BO/Utils/ButcherFactoryUtil.cs View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -28,5 +29,25 @@ namespace ButcherFactory.BO.Utils
}
return result;
}
static ClientRpc clientRpc;
public static T SimpleMESCall<T>(string method, params object[] args)
{
InitClientRpc();
return clientRpc.Call<T>(method, args);
}
static void InitClientRpc()
{
if (clientRpc != null)
return;
if (!File.Exists("MESUrl.cfg"))
throw new Exception("缺少配置文件MESUrl.cfg");
var url = File.ReadAllText("MESUrl.cfg");
if (string.IsNullOrEmpty(url))
throw new Exception("MESUrl.cfg 配置文件错误");
clientRpc = new ClientRpc(url);
}
}
}

+ 125
- 0
ButcherFactory.BO/Utils/ClientRpc.cs View File

@ -0,0 +1,125 @@
using Forks.JsonRpc.Client;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace ButcherFactory.BO.Utils
{
public class ClientRpc
{
public ClientRpc(string url)
{
mUrl = url;
}
class _Error
{
public int? code { get; set; }
public string message { get; set; }
}
class _ErrorResposne
{
public _Error error { get; set; }
}
string mUrl;
public string Url
{
get
{
return mUrl;
}
}
public T Call<T>(string method, params object[] args)
{
var resp = DoCall<T>(method, args);
if (resp.error != null)
{
throw new Exception(string.Format("{0}:{1}", resp.error.code, resp.error.message));
}
return resp.result;
}
LRestClientReponse<T> DoCall<T>(string method, object[] args)
{
var request = (HttpWebRequest)WebRequest.Create(mUrl);
request.Method = "POST";
request.ContentType = "application/json";
var dic = new Dictionary<string, object>();
dic.Add("method", method);
dic.Add("id", 1);
dic.Add("params", args);
var json = JsonConvert.SerializeObject(dic);
var buffer = Encoding.UTF8.GetBytes(json);
var requestStream = request.GetRequestStream();
requestStream.Write(buffer, 0, buffer.Length);
var responseJson = GetResponseJSON(request);
try
{
var result = JsonConvert.DeserializeObject<LRestClientReponse<T>>(responseJson);
return result;
}
catch
{
try
{
var errorResponse = JsonConvert.DeserializeObject<_ErrorResposne>(responseJson);
if (errorResponse.error != null)
{
throw new JsonRpcException(errorResponse.error.message);
}
}
catch
{
throw new Exception("JSON反序列化失败:" + responseJson);
}
throw new Exception("JSON反序列化失败:" + responseJson);
}
}
public class LRestClientReponseError
{
public string code { get; set; }
public string message { get; set; }
public override string ToString()
{
return string.Format("{0}:{1}", code, message);
}
}
public class LRestClientReponse<T>
{
public long id { get; set; }
public LRestClientReponseError error { get; set; }
public T result { get; set; }
}
private static string GetResponseJSON(HttpWebRequest request)
{
var response = request.GetResponse();
using (var stream = response.GetResponseStream())
{
using (var reader = new StreamReader(stream, Encoding.UTF8))
{
return reader.ReadToEnd();
}
}
}
}
}

+ 16
- 5
ButcherFactory.BO/Utils/LoginUtil.cs View File

@ -47,7 +47,9 @@ namespace ButcherFactory.BO.Utils
public static string GetWorkerNameByCode(string code)
{
const string method = "/MainSystem/B3ClientService/Rpcs/LoginRpc/GetWorkerNameByCode";
string method = "/MainSystem/B3ClientService/Rpcs/LoginRpc/GetWorkerNameByCode";
if (AppContext.ConnectInfo.ServerMode == 1)
method = "/MainSystem/B3ButcherManage/Rpcs/ClientRpc/GetUserName";
var result = RpcFacade.Call<string>(method, code);
int r;
if (int.TryParse(result, out r))
@ -63,11 +65,12 @@ namespace ButcherFactory.BO.Utils
}
}
public static void Login(string userName, string pwd)
public static void Login(string userName, string pwd, int mode)
{
RpcLogin(userName, pwd);
const string wpfUserMethod = "/MainSystem/B3ClientService/Rpcs/LoginRpc/GetWorkerBindDrive";
AppContext.Worker.Role = RpcFacade.Call<string>(wpfUserMethod, AppContext.Worker.ID);
if (mode == 0)
RpcLogin(userName, pwd);
else
FacedLogin(userName, pwd);
AppContext.Worker.Name = userName;
AppContext.Worker.Password = EncodePwd(pwd);
@ -81,6 +84,12 @@ namespace ButcherFactory.BO.Utils
}
}
static void FacedLogin(string userName, string pwd)
{
RpcFacade.Login(userName, pwd);
AppContext.Worker.Role = ((short).).ToString();
}
static void RpcLogin(string name, string pwd)
{
const string loginMethod = "/MainSystem/B3ClientService/Rpcs/LoginRpc/Login";
@ -90,6 +99,8 @@ namespace ButcherFactory.BO.Utils
else if (r == -1)
throw new Exception("账号被停用");
AppContext.Worker.ID = r;
const string wpfUserMethod = "/MainSystem/B3ClientService/Rpcs/LoginRpc/GetWorkerBindDrive";
AppContext.Worker.Role = RpcFacade.Call<string>(wpfUserMethod, AppContext.Worker.ID);
}
public static byte[] EncodePwd(string pwd)


+ 63
- 0
ButcherFactory.Form/ButcherFactory.Form.csproj View File

@ -58,13 +58,52 @@
<DependentUpon>CarcassInStoreForm.cs</DependentUpon>
</Compile>
<Compile Include="CarcassInStore_\CarcassInStoreFormConfig.cs" />
<Compile Include="CarcassSaleOut_\CarcassSaleOutForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="CarcassSaleOut_\CarcassSaleOutForm.Designer.cs">
<DependentUpon>CarcassSaleOutForm.cs</DependentUpon>
</Compile>
<Compile Include="CarcassTakeOut_\CarcassTakeOutFormConfig.cs" />
<Compile Include="Dialogs\CalendarSelecter.xaml.cs">
<DependentUpon>CalendarSelecter.xaml</DependentUpon>
</Compile>
<Compile Include="Dialogs\ClientGoodsSetDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Dialogs\ClientGoodsSetDialog.Designer.cs">
<DependentUpon>ClientGoodsSetDialog.cs</DependentUpon>
</Compile>
<Compile Include="Dialogs\SelectBillStateDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Dialogs\SelectBillStateDialog.Designer.cs">
<DependentUpon>SelectBillStateDialog.cs</DependentUpon>
</Compile>
<Compile Include="Dialogs\SelectCustomerDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Dialogs\SelectCustomerDialog.Designer.cs">
<DependentUpon>SelectCustomerDialog.cs</DependentUpon>
</Compile>
<Compile Include="Dialogs\SelectDeliverGoodsLineDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Dialogs\SelectDeliverGoodsLineDialog.Designer.cs">
<DependentUpon>SelectDeliverGoodsLineDialog.cs</DependentUpon>
</Compile>
<Compile Include="Dialogs\SelectStoreDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Dialogs\SelectStoreDialog.Designer.cs">
<DependentUpon>SelectStoreDialog.cs</DependentUpon>
</Compile>
<Compile Include="Dialogs\WeightRecordDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Dialogs\WeightRecordDialog.Designer.cs">
<DependentUpon>WeightRecordDialog.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="CarcassTakeOut_\CarcassTakeOutForm.cs">
<SubType>Form</SubType>
@ -97,12 +136,30 @@
<EmbeddedResource Include="CarcassInStore_\CarcassInStoreForm.resx">
<DependentUpon>CarcassInStoreForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="CarcassSaleOut_\CarcassSaleOutForm.resx">
<DependentUpon>CarcassSaleOutForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="CarcassTakeOut_\CarcassTakeOutForm.resx">
<DependentUpon>CarcassTakeOutForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\ClientGoodsSetDialog.resx">
<DependentUpon>ClientGoodsSetDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\SelectBillStateDialog.resx">
<DependentUpon>SelectBillStateDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\SelectCustomerDialog.resx">
<DependentUpon>SelectCustomerDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\SelectDeliverGoodsLineDialog.resx">
<DependentUpon>SelectDeliverGoodsLineDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\SelectStoreDialog.resx">
<DependentUpon>SelectStoreDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\WeightRecordDialog.resx">
<DependentUpon>WeightRecordDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SegmentProduction_\SegmentProductionForm.resx">
<DependentUpon>SegmentProductionForm.cs</DependentUpon>
</EmbeddedResource>
@ -110,6 +167,12 @@
<DependentUpon>TrunOutDialog.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Page Include="Dialogs\CalendarSelecter.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.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.


+ 1
- 1
ButcherFactory.Form/CarcassInStore_/CarcassInStoreForm.cs View File

@ -114,7 +114,7 @@ namespace ButcherFactory.CarcassInStore_
BaseInfoSyncRpc.SyncBaseInfo<WorkUnit>();
BaseInfoSyncRpc.SyncBaseInfo<ProductBatch>();
}
productBatchSelect.EBindComboBox<ProductBatch>(x => x.Date == DateTime.Today, 3, "Date");
productBatchSelect.EBindComboBox<ProductBatch>(x => x.Date == DateTime.Today, 6, "Date");
var config = XmlUtil.DeserializeFromFile<CarcassInStoreFormConfig>();
if (!string.IsNullOrEmpty(config.Weight))
{


+ 981
- 0
ButcherFactory.Form/CarcassSaleOut_/CarcassSaleOutForm.Designer.cs View File

@ -0,0 +1,981 @@
namespace ButcherFactory.CarcassSaleOut_
{
partial class CarcassSaleOutForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CarcassSaleOutForm));
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle();
this.uWeightControl1 = new WinFormControl.UWeightControl();
this.panel1 = new System.Windows.Forms.Panel();
this.carNumberLabel = new WinFormControl.ULabel();
this.customerLabel = new WinFormControl.ULabel();
this.addressLabel = new WinFormControl.ULabel();
this.billIDLabel = new WinFormControl.ULabel();
this.uLabel9 = new WinFormControl.ULabel();
this.uLabel10 = new WinFormControl.ULabel();
this.uLabel7 = new WinFormControl.ULabel();
this.uLabel8 = new WinFormControl.ULabel();
this.productBatchSelect = new System.Windows.Forms.ComboBox();
this.uLabel2 = new WinFormControl.ULabel();
this.closeBtn = new WinFormControl.UButton();
this.uTimerLabel1 = new WinFormControl.UTimerLabel();
this.uScanPanel1 = new WinFormControl.UScanPanel();
this.panel2 = new System.Windows.Forms.Panel();
this.clearBtn = new WinFormControl.UButton();
this.billStateBox = new System.Windows.Forms.TextBox();
this.storeBox = new System.Windows.Forms.TextBox();
this.customerBox = new System.Windows.Forms.TextBox();
this.deliverGoodsLineBox = new System.Windows.Forms.TextBox();
this.refreshBtn = new WinFormControl.UButton();
this.sendDateBox = new System.Windows.Forms.TextBox();
this.uLabel5 = new WinFormControl.ULabel();
this.uLabel6 = new WinFormControl.ULabel();
this.uLabel4 = new WinFormControl.ULabel();
this.uLabel3 = new WinFormControl.ULabel();
this.uLabel1 = new WinFormControl.ULabel();
this.panel3 = new System.Windows.Forms.Panel();
this.goodsFinishBtn = new WinFormControl.UButton();
this.weightRecordBtn = new WinFormControl.UButton();
this.mainGridView = new WinFormControl.UDataGridView();
this.M_ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.M_Customer_Name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.M_SendTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.M_DeliverGoodsLine_Name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.panel4 = new System.Windows.Forms.Panel();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.orderGridView = new WinFormControl.UDataGridView();
this.D_ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.D_SaleOutStore_ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.D_Customer_Name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.D_Goods_Code = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.D_Goods_Name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.D_SecondNumber = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.D_Number = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.D_SSecondNumber = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.D_SNumber = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.D_DiffNumber = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.sendGridView = new WinFormControl.UDataGridView();
this.F_BarCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.F_GoodsCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.F_Goods_Name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.F_Number = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.F_InStoreWeight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.F_Weight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.F_DiffWeight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.F_Time = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.commitBtn = new WinFormControl.UButton();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
this.panel3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.mainGridView)).BeginInit();
this.panel4.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.orderGridView)).BeginInit();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.sendGridView)).BeginInit();
this.SuspendLayout();
//
// uWeightControl1
//
this.uWeightControl1.BackColor = System.Drawing.Color.Transparent;
this.uWeightControl1.Location = new System.Drawing.Point(1, 1);
this.uWeightControl1.Name = "uWeightControl1";
this.uWeightControl1.Size = new System.Drawing.Size(349, 78);
this.uWeightControl1.TabIndex = 1;
this.uWeightControl1.WeightFalg = null;
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel1.Controls.Add(this.carNumberLabel);
this.panel1.Controls.Add(this.customerLabel);
this.panel1.Controls.Add(this.addressLabel);
this.panel1.Controls.Add(this.billIDLabel);
this.panel1.Controls.Add(this.uLabel9);
this.panel1.Controls.Add(this.uLabel10);
this.panel1.Controls.Add(this.uLabel7);
this.panel1.Controls.Add(this.uLabel8);
this.panel1.Controls.Add(this.productBatchSelect);
this.panel1.Controls.Add(this.uLabel2);
this.panel1.Controls.Add(this.closeBtn);
this.panel1.Controls.Add(this.uTimerLabel1);
this.panel1.Controls.Add(this.uScanPanel1);
this.panel1.Controls.Add(this.uWeightControl1);
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1305, 84);
this.panel1.TabIndex = 2;
//
// carNumberLabel
//
this.carNumberLabel.AutoSize = true;
this.carNumberLabel.BackColor = System.Drawing.Color.Transparent;
this.carNumberLabel.Location = new System.Drawing.Point(688, 52);
this.carNumberLabel.Name = "carNumberLabel";
this.carNumberLabel.Size = new System.Drawing.Size(41, 12);
this.carNumberLabel.TabIndex = 28;
this.carNumberLabel.Text = "车牌号";
//
// customerLabel
//
this.customerLabel.AutoSize = true;
this.customerLabel.BackColor = System.Drawing.Color.Transparent;
this.customerLabel.Font = new System.Drawing.Font("宋体", 13F);
this.customerLabel.ForeColor = System.Drawing.Color.Red;
this.customerLabel.Location = new System.Drawing.Point(688, 14);
this.customerLabel.Name = "customerLabel";
this.customerLabel.Size = new System.Drawing.Size(80, 18);
this.customerLabel.TabIndex = 27;
this.customerLabel.Text = "购货客户";
//
// addressLabel
//
this.addressLabel.AutoSize = true;
this.addressLabel.BackColor = System.Drawing.Color.Transparent;
this.addressLabel.Location = new System.Drawing.Point(428, 52);
this.addressLabel.Name = "addressLabel";
this.addressLabel.Size = new System.Drawing.Size(53, 12);
this.addressLabel.TabIndex = 26;
this.addressLabel.Text = "送货地址";
//
// billIDLabel
//
this.billIDLabel.AutoSize = true;
this.billIDLabel.BackColor = System.Drawing.Color.Transparent;
this.billIDLabel.Location = new System.Drawing.Point(428, 17);
this.billIDLabel.Name = "billIDLabel";
this.billIDLabel.Size = new System.Drawing.Size(53, 12);
this.billIDLabel.TabIndex = 25;
this.billIDLabel.Text = "出库单号";
//
// uLabel9
//
this.uLabel9.AutoSize = true;
this.uLabel9.BackColor = System.Drawing.Color.Transparent;
this.uLabel9.Location = new System.Drawing.Point(637, 53);
this.uLabel9.Name = "uLabel9";
this.uLabel9.Size = new System.Drawing.Size(41, 12);
this.uLabel9.TabIndex = 24;
this.uLabel9.Text = "车牌号";
//
// uLabel10
//
this.uLabel10.AutoSize = true;
this.uLabel10.BackColor = System.Drawing.Color.Transparent;
this.uLabel10.Location = new System.Drawing.Point(625, 18);
this.uLabel10.Name = "uLabel10";
this.uLabel10.Size = new System.Drawing.Size(53, 12);
this.uLabel10.TabIndex = 23;
this.uLabel10.Text = "购货客户";
//
// uLabel7
//
this.uLabel7.AutoSize = true;
this.uLabel7.BackColor = System.Drawing.Color.Transparent;
this.uLabel7.Location = new System.Drawing.Point(368, 52);
this.uLabel7.Name = "uLabel7";
this.uLabel7.Size = new System.Drawing.Size(53, 12);
this.uLabel7.TabIndex = 22;
this.uLabel7.Text = "送货地址";
//
// uLabel8
//
this.uLabel8.AutoSize = true;
this.uLabel8.BackColor = System.Drawing.Color.Transparent;
this.uLabel8.Location = new System.Drawing.Point(368, 17);
this.uLabel8.Name = "uLabel8";
this.uLabel8.Size = new System.Drawing.Size(53, 12);
this.uLabel8.TabIndex = 21;
this.uLabel8.Text = "出库单号";
//
// productBatchSelect
//
this.productBatchSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.productBatchSelect.Font = new System.Drawing.Font("宋体", 15F);
this.productBatchSelect.FormattingEnabled = true;
this.productBatchSelect.Location = new System.Drawing.Point(979, 43);
this.productBatchSelect.Name = "productBatchSelect";
this.productBatchSelect.Size = new System.Drawing.Size(170, 28);
this.productBatchSelect.TabIndex = 20;
//
// uLabel2
//
this.uLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.uLabel2.AutoSize = true;
this.uLabel2.BackColor = System.Drawing.Color.Transparent;
this.uLabel2.Font = new System.Drawing.Font("宋体", 15F);
this.uLabel2.Location = new System.Drawing.Point(878, 46);
this.uLabel2.Name = "uLabel2";
this.uLabel2.Size = new System.Drawing.Size(109, 20);
this.uLabel2.TabIndex = 19;
this.uLabel2.Text = "生产批次:";
//
// closeBtn
//
this.closeBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.closeBtn.AsClicked = false;
this.closeBtn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("closeBtn.BackgroundImage")));
this.closeBtn.EnableGroup = false;
this.closeBtn.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.closeBtn.FlatAppearance.BorderSize = 0;
this.closeBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.closeBtn.Font = new System.Drawing.Font("宋体", 15F);
this.closeBtn.ForeColor = System.Drawing.Color.Black;
this.closeBtn.Location = new System.Drawing.Point(1189, 3);
this.closeBtn.Name = "closeBtn";
this.closeBtn.PlaySound = false;
this.closeBtn.SelfControlEnable = false;
this.closeBtn.Size = new System.Drawing.Size(111, 34);
this.closeBtn.SoundType = WinFormControl.SoundType.Click;
this.closeBtn.TabIndex = 12;
this.closeBtn.Text = "关 闭";
this.closeBtn.UseVisualStyleBackColor = true;
this.closeBtn.WithStataHode = false;
this.closeBtn.Click += new System.EventHandler(this.closeBtn_Click);
//
// uTimerLabel1
//
this.uTimerLabel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.uTimerLabel1.AutoSize = true;
this.uTimerLabel1.BackColor = System.Drawing.Color.Transparent;
this.uTimerLabel1.Font = new System.Drawing.Font("黑体", 12F);
this.uTimerLabel1.Format = "M月d日 H:mm:ss";
this.uTimerLabel1.Location = new System.Drawing.Point(1167, 49);
this.uTimerLabel1.Name = "uTimerLabel1";
this.uTimerLabel1.Size = new System.Drawing.Size(128, 16);
this.uTimerLabel1.TabIndex = 11;
this.uTimerLabel1.Text = "5月8日 17:27:48";
//
// uScanPanel1
//
this.uScanPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.uScanPanel1.BackColor = System.Drawing.Color.Transparent;
this.uScanPanel1.Location = new System.Drawing.Point(878, 4);
this.uScanPanel1.Name = "uScanPanel1";
this.uScanPanel1.Size = new System.Drawing.Size(303, 32);
this.uScanPanel1.TabIndex = 2;
//
// panel2
//
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel2.Controls.Add(this.clearBtn);
this.panel2.Controls.Add(this.billStateBox);
this.panel2.Controls.Add(this.storeBox);
this.panel2.Controls.Add(this.customerBox);
this.panel2.Controls.Add(this.deliverGoodsLineBox);
this.panel2.Controls.Add(this.refreshBtn);
this.panel2.Controls.Add(this.sendDateBox);
this.panel2.Controls.Add(this.uLabel5);
this.panel2.Controls.Add(this.uLabel6);
this.panel2.Controls.Add(this.uLabel4);
this.panel2.Controls.Add(this.uLabel3);
this.panel2.Controls.Add(this.uLabel1);
this.panel2.Location = new System.Drawing.Point(0, 83);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(499, 135);
this.panel2.TabIndex = 3;
//
// clearBtn
//
this.clearBtn.AsClicked = false;
this.clearBtn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("clearBtn.BackgroundImage")));
this.clearBtn.EnableGroup = false;
this.clearBtn.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.clearBtn.FlatAppearance.BorderSize = 0;
this.clearBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.clearBtn.ForeColor = System.Drawing.Color.Black;
this.clearBtn.Location = new System.Drawing.Point(357, 93);
this.clearBtn.Name = "clearBtn";
this.clearBtn.PlaySound = false;
this.clearBtn.SelfControlEnable = false;
this.clearBtn.Size = new System.Drawing.Size(90, 30);
this.clearBtn.SoundType = WinFormControl.SoundType.Click;
this.clearBtn.TabIndex = 15;
this.clearBtn.Text = "清除条件";
this.clearBtn.UseVisualStyleBackColor = true;
this.clearBtn.WithStataHode = false;
this.clearBtn.Click += new System.EventHandler(this.clearBtn_Click);
//
// billStateBox
//
this.billStateBox.Location = new System.Drawing.Point(299, 56);
this.billStateBox.Name = "billStateBox";
this.billStateBox.ReadOnly = true;
this.billStateBox.Size = new System.Drawing.Size(148, 21);
this.billStateBox.TabIndex = 14;
this.billStateBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.queryControl_MouseDown);
//
// storeBox
//
this.storeBox.Location = new System.Drawing.Point(71, 96);
this.storeBox.Name = "storeBox";
this.storeBox.ReadOnly = true;
this.storeBox.Size = new System.Drawing.Size(148, 21);
this.storeBox.TabIndex = 13;
this.storeBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.queryControl_MouseDown);
//
// customerBox
//
this.customerBox.Location = new System.Drawing.Point(71, 56);
this.customerBox.Name = "customerBox";
this.customerBox.ReadOnly = true;
this.customerBox.Size = new System.Drawing.Size(148, 21);
this.customerBox.TabIndex = 12;
this.customerBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.queryControl_MouseDown);
//
// deliverGoodsLineBox
//
this.deliverGoodsLineBox.Location = new System.Drawing.Point(299, 19);
this.deliverGoodsLineBox.Name = "deliverGoodsLineBox";
this.deliverGoodsLineBox.ReadOnly = true;
this.deliverGoodsLineBox.Size = new System.Drawing.Size(148, 21);
this.deliverGoodsLineBox.TabIndex = 11;
this.deliverGoodsLineBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.queryControl_MouseDown);
//
// refreshBtn
//
this.refreshBtn.AsClicked = false;
this.refreshBtn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("refreshBtn.BackgroundImage")));
this.refreshBtn.EnableGroup = false;
this.refreshBtn.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.refreshBtn.FlatAppearance.BorderSize = 0;
this.refreshBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.refreshBtn.ForeColor = System.Drawing.Color.Black;
this.refreshBtn.Location = new System.Drawing.Point(242, 93);
this.refreshBtn.Name = "refreshBtn";
this.refreshBtn.PlaySound = false;
this.refreshBtn.SelfControlEnable = false;
this.refreshBtn.Size = new System.Drawing.Size(90, 30);
this.refreshBtn.SoundType = WinFormControl.SoundType.Click;
this.refreshBtn.TabIndex = 10;
this.refreshBtn.Text = "刷新";
this.refreshBtn.UseVisualStyleBackColor = true;
this.refreshBtn.WithStataHode = false;
this.refreshBtn.Click += new System.EventHandler(this.refreshBtn_Click);
//
// sendDateBox
//
this.sendDateBox.Location = new System.Drawing.Point(71, 19);
this.sendDateBox.Name = "sendDateBox";
this.sendDateBox.ReadOnly = true;
this.sendDateBox.Size = new System.Drawing.Size(148, 21);
this.sendDateBox.TabIndex = 5;
this.sendDateBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.queryControl_MouseDown);
//
// uLabel5
//
this.uLabel5.AutoSize = true;
this.uLabel5.BackColor = System.Drawing.Color.Transparent;
this.uLabel5.Location = new System.Drawing.Point(240, 59);
this.uLabel5.Name = "uLabel5";
this.uLabel5.Size = new System.Drawing.Size(53, 12);
this.uLabel5.TabIndex = 4;
this.uLabel5.Text = "单据状态";
//
// uLabel6
//
this.uLabel6.AutoSize = true;
this.uLabel6.BackColor = System.Drawing.Color.Transparent;
this.uLabel6.Location = new System.Drawing.Point(240, 22);
this.uLabel6.Name = "uLabel6";
this.uLabel6.Size = new System.Drawing.Size(53, 12);
this.uLabel6.TabIndex = 3;
this.uLabel6.Text = "送货线路";
//
// uLabel4
//
this.uLabel4.AutoSize = true;
this.uLabel4.BackColor = System.Drawing.Color.Transparent;
this.uLabel4.Location = new System.Drawing.Point(12, 99);
this.uLabel4.Name = "uLabel4";
this.uLabel4.Size = new System.Drawing.Size(29, 12);
this.uLabel4.TabIndex = 2;
this.uLabel4.Text = "仓库";
//
// uLabel3
//
this.uLabel3.AutoSize = true;
this.uLabel3.BackColor = System.Drawing.Color.Transparent;
this.uLabel3.Location = new System.Drawing.Point(12, 59);
this.uLabel3.Name = "uLabel3";
this.uLabel3.Size = new System.Drawing.Size(29, 12);
this.uLabel3.TabIndex = 1;
this.uLabel3.Text = "客户";
//
// uLabel1
//
this.uLabel1.AutoSize = true;
this.uLabel1.BackColor = System.Drawing.Color.Transparent;
this.uLabel1.Location = new System.Drawing.Point(12, 22);
this.uLabel1.Name = "uLabel1";
this.uLabel1.Size = new System.Drawing.Size(53, 12);
this.uLabel1.TabIndex = 0;
this.uLabel1.Text = "发货日期";
//
// panel3
//
this.panel3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.panel3.Controls.Add(this.goodsFinishBtn);
this.panel3.Controls.Add(this.weightRecordBtn);
this.panel3.Location = new System.Drawing.Point(2, 263);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(492, 59);
this.panel3.TabIndex = 4;
//
// goodsFinishBtn
//
this.goodsFinishBtn.AsClicked = false;
this.goodsFinishBtn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("goodsFinishBtn.BackgroundImage")));
this.goodsFinishBtn.EnableGroup = false;
this.goodsFinishBtn.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.goodsFinishBtn.FlatAppearance.BorderSize = 0;
this.goodsFinishBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.goodsFinishBtn.ForeColor = System.Drawing.Color.Black;
this.goodsFinishBtn.Location = new System.Drawing.Point(268, 13);
this.goodsFinishBtn.Name = "goodsFinishBtn";
this.goodsFinishBtn.PlaySound = false;
this.goodsFinishBtn.SelfControlEnable = false;
this.goodsFinishBtn.Size = new System.Drawing.Size(100, 30);
this.goodsFinishBtn.SoundType = WinFormControl.SoundType.Click;
this.goodsFinishBtn.TabIndex = 13;
this.goodsFinishBtn.Text = "配货完成";
this.goodsFinishBtn.UseVisualStyleBackColor = true;
this.goodsFinishBtn.WithStataHode = false;
this.goodsFinishBtn.Click += new System.EventHandler(this.goodsFinishBtn_Click);
//
// weightRecordBtn
//
this.weightRecordBtn.AsClicked = false;
this.weightRecordBtn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("weightRecordBtn.BackgroundImage")));
this.weightRecordBtn.EnableGroup = false;
this.weightRecordBtn.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.weightRecordBtn.FlatAppearance.BorderSize = 0;
this.weightRecordBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.weightRecordBtn.ForeColor = System.Drawing.Color.Black;
this.weightRecordBtn.Location = new System.Drawing.Point(90, 13);
this.weightRecordBtn.Name = "weightRecordBtn";
this.weightRecordBtn.PlaySound = false;
this.weightRecordBtn.SelfControlEnable = false;
this.weightRecordBtn.Size = new System.Drawing.Size(100, 30);
this.weightRecordBtn.SoundType = WinFormControl.SoundType.Click;
this.weightRecordBtn.TabIndex = 12;
this.weightRecordBtn.Text = "称重记录";
this.weightRecordBtn.UseVisualStyleBackColor = true;
this.weightRecordBtn.WithStataHode = false;
this.weightRecordBtn.Click += new System.EventHandler(this.weightRecordBtn_Click);
//
// mainGridView
//
this.mainGridView.AllowUserToAddRows = false;
this.mainGridView.AllowUserToDeleteRows = false;
this.mainGridView.AllowUserToResizeColumns = false;
this.mainGridView.AllowUserToResizeRows = false;
dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.mainGridView.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
this.mainGridView.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.mainGridView.BackgroundColor = System.Drawing.Color.White;
this.mainGridView.BorderStyle = System.Windows.Forms.BorderStyle.None;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F);
dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.mainGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.mainGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.mainGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.M_ID,
this.M_Customer_Name,
this.M_SendTime,
this.M_DeliverGoodsLine_Name});
this.mainGridView.Location = new System.Drawing.Point(1, 3);
this.mainGridView.MultiSelect = false;
this.mainGridView.Name = "mainGridView";
this.mainGridView.ReadOnly = true;
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F);
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.mainGridView.RowHeadersDefaultCellStyle = dataGridViewCellStyle3;
this.mainGridView.RowHeadersVisible = false;
dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F);
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(66)))), ((int)(((byte)(163)))), ((int)(((byte)(218)))));
this.mainGridView.RowsDefaultCellStyle = dataGridViewCellStyle4;
this.mainGridView.RowTemplate.Height = 40;
this.mainGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.mainGridView.Size = new System.Drawing.Size(493, 254);
this.mainGridView.TabIndex = 5;
this.mainGridView.CellMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.mainGridView_CellMouseClick);
//
// M_ID
//
this.M_ID.DataPropertyName = "ID";
this.M_ID.HeaderText = "单号";
this.M_ID.Name = "M_ID";
this.M_ID.ReadOnly = true;
this.M_ID.Width = 90;
//
// M_Customer_Name
//
this.M_Customer_Name.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.M_Customer_Name.DataPropertyName = "Customer_Name";
this.M_Customer_Name.HeaderText = "客户名称";
this.M_Customer_Name.Name = "M_Customer_Name";
this.M_Customer_Name.ReadOnly = true;
//
// M_SendTime
//
this.M_SendTime.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.M_SendTime.DataPropertyName = "SendTime";
this.M_SendTime.HeaderText = "发货时间";
this.M_SendTime.Name = "M_SendTime";
this.M_SendTime.ReadOnly = true;
//
// M_DeliverGoodsLine_Name
//
this.M_DeliverGoodsLine_Name.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.M_DeliverGoodsLine_Name.DataPropertyName = "DeliverGoodsLine_Name";
this.M_DeliverGoodsLine_Name.HeaderText = "送货线路";
this.M_DeliverGoodsLine_Name.Name = "M_DeliverGoodsLine_Name";
this.M_DeliverGoodsLine_Name.ReadOnly = true;
//
// panel4
//
this.panel4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel4.Controls.Add(this.mainGridView);
this.panel4.Controls.Add(this.panel3);
this.panel4.Location = new System.Drawing.Point(0, 217);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(499, 394);
this.panel4.TabIndex = 6;
//
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.orderGridView);
this.groupBox1.Location = new System.Drawing.Point(505, 90);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(795, 220);
this.groupBox1.TabIndex = 7;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "订货明细";
//
// orderGridView
//
this.orderGridView.AllowUserToAddRows = false;
this.orderGridView.AllowUserToDeleteRows = false;
this.orderGridView.AllowUserToResizeColumns = false;
this.orderGridView.AllowUserToResizeRows = false;
dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.orderGridView.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle5;
this.orderGridView.BackgroundColor = System.Drawing.Color.White;
this.orderGridView.BorderStyle = System.Windows.Forms.BorderStyle.None;
dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle6.Font = new System.Drawing.Font("宋体", 9F);
dataGridViewCellStyle6.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.orderGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle6;
this.orderGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.orderGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.D_ID,
this.D_SaleOutStore_ID,
this.D_Customer_Name,
this.D_Goods_Code,
this.D_Goods_Name,
this.D_SecondNumber,
this.D_Number,
this.D_SSecondNumber,
this.D_SNumber,
this.D_DiffNumber});
this.orderGridView.Dock = System.Windows.Forms.DockStyle.Fill;
this.orderGridView.Location = new System.Drawing.Point(3, 17);
this.orderGridView.MultiSelect = false;
this.orderGridView.Name = "orderGridView";
this.orderGridView.ReadOnly = true;
this.orderGridView.RowHeadersVisible = false;
dataGridViewCellStyle12.Font = new System.Drawing.Font("宋体", 9F);
dataGridViewCellStyle12.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(66)))), ((int)(((byte)(163)))), ((int)(((byte)(218)))));
this.orderGridView.RowsDefaultCellStyle = dataGridViewCellStyle12;
this.orderGridView.RowTemplate.Height = 40;
this.orderGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.orderGridView.Size = new System.Drawing.Size(789, 200);
this.orderGridView.TabIndex = 0;
//
// D_ID
//
this.D_ID.DataPropertyName = "ID";
this.D_ID.HeaderText = "ID";
this.D_ID.Name = "D_ID";
this.D_ID.ReadOnly = true;
this.D_ID.Visible = false;
//
// D_SaleOutStore_ID
//
this.D_SaleOutStore_ID.DataPropertyName = "SaleOutStore_ID";
this.D_SaleOutStore_ID.HeaderText = "单号";
this.D_SaleOutStore_ID.Name = "D_SaleOutStore_ID";
this.D_SaleOutStore_ID.ReadOnly = true;
this.D_SaleOutStore_ID.Width = 90;
//
// D_Customer_Name
//
this.D_Customer_Name.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.D_Customer_Name.DataPropertyName = "Customer_Name";
this.D_Customer_Name.HeaderText = "客户名称";
this.D_Customer_Name.MinimumWidth = 100;
this.D_Customer_Name.Name = "D_Customer_Name";
this.D_Customer_Name.ReadOnly = true;
//
// D_Goods_Code
//
this.D_Goods_Code.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.D_Goods_Code.DataPropertyName = "Goods_Code";
this.D_Goods_Code.HeaderText = "产品编码";
this.D_Goods_Code.MinimumWidth = 100;
this.D_Goods_Code.Name = "D_Goods_Code";
this.D_Goods_Code.ReadOnly = true;
//
// D_Goods_Name
//
this.D_Goods_Name.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
this.D_Goods_Name.DataPropertyName = "Goods_Name";
this.D_Goods_Name.HeaderText = "产品名称";
this.D_Goods_Name.MinimumWidth = 100;
this.D_Goods_Name.Name = "D_Goods_Name";
this.D_Goods_Name.ReadOnly = true;
//
// D_SecondNumber
//
this.D_SecondNumber.DataPropertyName = "SecondNumber";
dataGridViewCellStyle7.Format = "#0.######";
this.D_SecondNumber.DefaultCellStyle = dataGridViewCellStyle7;
this.D_SecondNumber.HeaderText = "辅数量";
this.D_SecondNumber.Name = "D_SecondNumber";
this.D_SecondNumber.ReadOnly = true;
//
// D_Number
//
this.D_Number.DataPropertyName = "Number";
dataGridViewCellStyle8.Format = "#0.######";
this.D_Number.DefaultCellStyle = dataGridViewCellStyle8;
this.D_Number.HeaderText = "报价数量";
this.D_Number.Name = "D_Number";
this.D_Number.ReadOnly = true;
//
// D_SSecondNumber
//
this.D_SSecondNumber.DataPropertyName = "SSecondNumber";
dataGridViewCellStyle9.Format = "#0.######";
this.D_SSecondNumber.DefaultCellStyle = dataGridViewCellStyle9;
this.D_SSecondNumber.HeaderText = "配货辅数量";
this.D_SSecondNumber.Name = "D_SSecondNumber";
this.D_SSecondNumber.ReadOnly = true;
//
// D_SNumber
//
this.D_SNumber.DataPropertyName = "SNumber";
dataGridViewCellStyle10.Format = "#0.######";
this.D_SNumber.DefaultCellStyle = dataGridViewCellStyle10;
this.D_SNumber.HeaderText = "配货数量";
this.D_SNumber.Name = "D_SNumber";
this.D_SNumber.ReadOnly = true;
//
// D_DiffNumber
//
this.D_DiffNumber.DataPropertyName = "DiffNumber";
dataGridViewCellStyle11.Format = "#0.######";
this.D_DiffNumber.DefaultCellStyle = dataGridViewCellStyle11;
this.D_DiffNumber.HeaderText = "差异数量";
this.D_DiffNumber.Name = "D_DiffNumber";
this.D_DiffNumber.ReadOnly = true;
//
// groupBox2
//
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.groupBox2.Controls.Add(this.sendGridView);
this.groupBox2.Location = new System.Drawing.Point(505, 323);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(795, 220);
this.groupBox2.TabIndex = 8;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "发货明细";
//
// sendGridView
//
this.sendGridView.AllowUserToAddRows = false;
this.sendGridView.AllowUserToDeleteRows = false;
this.sendGridView.AllowUserToResizeColumns = false;
this.sendGridView.AllowUserToResizeRows = false;
dataGridViewCellStyle13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.sendGridView.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle13;
this.sendGridView.BackgroundColor = System.Drawing.Color.White;
this.sendGridView.BorderStyle = System.Windows.Forms.BorderStyle.None;
dataGridViewCellStyle14.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle14.Font = new System.Drawing.Font("宋体", 9F);
dataGridViewCellStyle14.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.sendGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle14;
this.sendGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.sendGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.F_BarCode,
this.F_GoodsCode,
this.F_Goods_Name,
this.F_Number,
this.F_InStoreWeight,
this.F_Weight,
this.F_DiffWeight,
this.F_Time});
this.sendGridView.Dock = System.Windows.Forms.DockStyle.Fill;
this.sendGridView.Location = new System.Drawing.Point(3, 17);
this.sendGridView.MultiSelect = false;
this.sendGridView.Name = "sendGridView";
this.sendGridView.ReadOnly = true;
this.sendGridView.RowHeadersVisible = false;
dataGridViewCellStyle19.Font = new System.Drawing.Font("宋体", 9F);
dataGridViewCellStyle19.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(66)))), ((int)(((byte)(163)))), ((int)(((byte)(218)))));
this.sendGridView.RowsDefaultCellStyle = dataGridViewCellStyle19;
this.sendGridView.RowTemplate.Height = 23;
this.sendGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.sendGridView.Size = new System.Drawing.Size(789, 200);
this.sendGridView.TabIndex = 1;
//
// F_BarCode
//
this.F_BarCode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
this.F_BarCode.DataPropertyName = "BarCode";
this.F_BarCode.HeaderText = "存货条码";
this.F_BarCode.MinimumWidth = 100;
this.F_BarCode.Name = "F_BarCode";
this.F_BarCode.ReadOnly = true;
//
// F_GoodsCode
//
this.F_GoodsCode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.F_GoodsCode.DataPropertyName = "Goods_Code";
this.F_GoodsCode.HeaderText = "产品编码";
this.F_GoodsCode.MinimumWidth = 100;
this.F_GoodsCode.Name = "F_GoodsCode";
this.F_GoodsCode.ReadOnly = true;
//
// F_Goods_Name
//
this.F_Goods_Name.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
this.F_Goods_Name.DataPropertyName = "Goods_Name";
this.F_Goods_Name.HeaderText = "产品名称";
this.F_Goods_Name.MinimumWidth = 100;
this.F_Goods_Name.Name = "F_Goods_Name";
this.F_Goods_Name.ReadOnly = true;
//
// F_Number
//
this.F_Number.DataPropertyName = "Number";
this.F_Number.HeaderText = "数量";
this.F_Number.Name = "F_Number";
this.F_Number.ReadOnly = true;
//
// F_InStoreWeight
//
this.F_InStoreWeight.DataPropertyName = "InStoreWeight";
dataGridViewCellStyle15.Format = "#0.######";
this.F_InStoreWeight.DefaultCellStyle = dataGridViewCellStyle15;
this.F_InStoreWeight.HeaderText = "入库重量";
this.F_InStoreWeight.Name = "F_InStoreWeight";
this.F_InStoreWeight.ReadOnly = true;
//
// F_Weight
//
this.F_Weight.DataPropertyName = "Weight";
dataGridViewCellStyle16.Format = "#0.######";
this.F_Weight.DefaultCellStyle = dataGridViewCellStyle16;
this.F_Weight.HeaderText = "重量";
this.F_Weight.Name = "F_Weight";
this.F_Weight.ReadOnly = true;
//
// F_DiffWeight
//
this.F_DiffWeight.DataPropertyName = "DiffWeight";
dataGridViewCellStyle17.Format = "#0.######";
this.F_DiffWeight.DefaultCellStyle = dataGridViewCellStyle17;
this.F_DiffWeight.HeaderText = "差异";
this.F_DiffWeight.Name = "F_DiffWeight";
this.F_DiffWeight.ReadOnly = true;
//
// F_Time
//
this.F_Time.DataPropertyName = "Time";
dataGridViewCellStyle18.Format = "MM/dd HH:mm:ss";
this.F_Time.DefaultCellStyle = dataGridViewCellStyle18;
this.F_Time.HeaderText = "时间";
this.F_Time.Name = "F_Time";
this.F_Time.ReadOnly = true;
this.F_Time.Width = 120;
//
// commitBtn
//
this.commitBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.commitBtn.AsClicked = false;
this.commitBtn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("commitBtn.BackgroundImage")));
this.commitBtn.EnableGroup = false;
this.commitBtn.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.commitBtn.FlatAppearance.BorderSize = 0;
this.commitBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.commitBtn.ForeColor = System.Drawing.Color.Black;
this.commitBtn.Location = new System.Drawing.Point(1197, 566);
this.commitBtn.Name = "commitBtn";
this.commitBtn.PlaySound = false;
this.commitBtn.SelfControlEnable = false;
this.commitBtn.Size = new System.Drawing.Size(100, 30);
this.commitBtn.SoundType = WinFormControl.SoundType.Click;
this.commitBtn.TabIndex = 15;
this.commitBtn.Text = "提交";
this.commitBtn.UseVisualStyleBackColor = true;
this.commitBtn.WithStataHode = false;
this.commitBtn.Click += new System.EventHandler(this.commitBtn_Click);
//
// CarcassSaleOutForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1305, 611);
this.Controls.Add(this.commitBtn);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.panel4);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.ImeMode = System.Windows.Forms.ImeMode.Disable;
this.KeyPreview = true;
this.MinimumSize = new System.Drawing.Size(1321, 650);
this.Name = "CarcassSaleOutForm";
this.Text = "白条发货";
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.panel3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.mainGridView)).EndInit();
this.panel4.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.orderGridView)).EndInit();
this.groupBox2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.sendGridView)).EndInit();
this.ResumeLayout(false);
}
#endregion
private WinFormControl.UWeightControl uWeightControl1;
private System.Windows.Forms.Panel panel1;
private WinFormControl.UScanPanel uScanPanel1;
private WinFormControl.UButton closeBtn;
private WinFormControl.UTimerLabel uTimerLabel1;
private System.Windows.Forms.ComboBox productBatchSelect;
private WinFormControl.ULabel uLabel2;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.TextBox sendDateBox;
private WinFormControl.ULabel uLabel5;
private WinFormControl.ULabel uLabel6;
private WinFormControl.ULabel uLabel4;
private WinFormControl.UButton refreshBtn;
private System.Windows.Forms.Panel panel3;
private WinFormControl.UButton goodsFinishBtn;
private WinFormControl.UButton weightRecordBtn;
private WinFormControl.UDataGridView mainGridView;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.GroupBox groupBox2;
private WinFormControl.UDataGridView orderGridView;
private WinFormControl.UDataGridView sendGridView;
private WinFormControl.ULabel uLabel7;
private WinFormControl.ULabel uLabel8;
private WinFormControl.ULabel uLabel3;
private WinFormControl.ULabel uLabel1;
private WinFormControl.ULabel uLabel9;
private WinFormControl.ULabel uLabel10;
private WinFormControl.ULabel addressLabel;
private WinFormControl.ULabel billIDLabel;
private WinFormControl.ULabel carNumberLabel;
private WinFormControl.ULabel customerLabel;
private System.Windows.Forms.TextBox deliverGoodsLineBox;
private WinFormControl.UButton commitBtn;
private System.Windows.Forms.TextBox billStateBox;
private System.Windows.Forms.TextBox storeBox;
private System.Windows.Forms.TextBox customerBox;
private System.Windows.Forms.DataGridViewTextBoxColumn M_ID;
private System.Windows.Forms.DataGridViewTextBoxColumn M_Customer_Name;
private System.Windows.Forms.DataGridViewTextBoxColumn M_SendTime;
private System.Windows.Forms.DataGridViewTextBoxColumn M_DeliverGoodsLine_Name;
private WinFormControl.UButton clearBtn;
private System.Windows.Forms.DataGridViewTextBoxColumn D_ID;
private System.Windows.Forms.DataGridViewTextBoxColumn D_SaleOutStore_ID;
private System.Windows.Forms.DataGridViewTextBoxColumn D_Customer_Name;
private System.Windows.Forms.DataGridViewTextBoxColumn D_Goods_Code;
private System.Windows.Forms.DataGridViewTextBoxColumn D_Goods_Name;
private System.Windows.Forms.DataGridViewTextBoxColumn D_SecondNumber;
private System.Windows.Forms.DataGridViewTextBoxColumn D_Number;
private System.Windows.Forms.DataGridViewTextBoxColumn D_SSecondNumber;
private System.Windows.Forms.DataGridViewTextBoxColumn D_SNumber;
private System.Windows.Forms.DataGridViewTextBoxColumn D_DiffNumber;
private System.Windows.Forms.DataGridViewTextBoxColumn F_BarCode;
private System.Windows.Forms.DataGridViewTextBoxColumn F_GoodsCode;
private System.Windows.Forms.DataGridViewTextBoxColumn F_Goods_Name;
private System.Windows.Forms.DataGridViewTextBoxColumn F_Number;
private System.Windows.Forms.DataGridViewTextBoxColumn F_InStoreWeight;
private System.Windows.Forms.DataGridViewTextBoxColumn F_Weight;
private System.Windows.Forms.DataGridViewTextBoxColumn F_DiffWeight;
private System.Windows.Forms.DataGridViewTextBoxColumn F_Time;
}
}

+ 254
- 0
ButcherFactory.Form/CarcassSaleOut_/CarcassSaleOutForm.cs View File

@ -0,0 +1,254 @@
using ButcherFactory.BO;
using ButcherFactory.BO.LocalBL;
using ButcherFactory.BO.Utils;
using ButcherFactory.Dialogs;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WinFormControl;
namespace ButcherFactory.CarcassSaleOut_
{
public partial class CarcassSaleOutForm : Form, IWithRoleForm
{
#region IWithRoleForm
public List<short> RoleName
{
get { return new List<short> { (short). }; }
}
public Form Generate()
{
return this;
}
#endregion
BindingList<SaleOutStore> saleOutStoreList;
BindingList<SaleOutStore_Detail> details;
BindingList<CarcassSaleOut_Detail> weightRecord;
internal DateTime sendTime = DateTime.Today;
internal long? deliverGoodsLineID;
internal long? customerID;
internal int billState;
internal long? storeID;
long? batchID;
public CarcassSaleOutForm()
{
InitializeComponent();
this.Resize += CarcassSaleOutForm_Resize;
uWeightControl1.ReceivedValue += uWeightControl1_ReceivedValue;
uScanPanel1.AfterScan += uScanPanel1_AfterScan;
productBatchSelect.SelectedIndexChanged += delegate
{
if (productBatchSelect.SelectedValue == null)
batchID = null;
else
batchID = (long)productBatchSelect.SelectedValue;
};
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
billState = 0;
billStateBox.Text = "未审核";
sendDateBox.Text = sendTime.ToString("yyyy-MM-dd");
this.mainGridView.BorderStyle = BorderStyle.FixedSingle;
weightRecord = CarcassSaleOutBL.GetUnSubmitWeightRecord();
sendGridView.DataSource = weightRecord;
sendGridView.Refresh();
BindProductBatch();
}
private void BindProductBatch()
{
var batchs = CarcassSaleOutBL.GetBatchFromEMS();
productBatchSelect.DisplayMember = "Name";
productBatchSelect.ValueMember = "ID";
productBatchSelect.DataSource = batchs;
var idx = batchs.FindIndex(x => x.Date == DateTime.Today);
if (idx > 0)
productBatchSelect.SelectedIndex = idx;
productBatchSelect.Refresh();
}
void CarcassSaleOutForm_Resize(object sender, EventArgs e)
{
groupBox1.Height = (this.Height - 200) / 2;
groupBox2.Height = groupBox1.Height;
groupBox2.Location = new Point(groupBox2.Location.X, groupBox1.Height + 100);
}
static object _lock = new object();
void uWeightControl1_ReceivedValue(decimal weight)
{
lock (_lock)
{
this.Invoke(new Action(() =>
{
var detail = CarcassSaleOutBL.Insert(weight);
weightRecord.Insert(0, detail);
sendGridView.FirstDisplayedScrollingRowIndex = 0;
sendGridView.Refresh();
}));
}
}
void uScanPanel1_AfterScan()
{
var barCode = uScanPanel1.TextBox.Text.Trim();
if (string.IsNullOrEmpty(barCode))
throw new Exception("条码错误");
var first = weightRecord.LastOrDefault(x => !x.Filled);
if (first == null)
throw new Exception("请先过磅");
CarcassSaleOutBL.FillDetail(first, barCode, batchID);
sendGridView.Refresh();
}
private void refreshBtn_Click(object sender, EventArgs e)
{
saleOutStoreList = CarcassSaleOutBL.GetSaleOutStoreList(sendTime, deliverGoodsLineID, customerID, billState, storeID);
mainGridView.DataSource = saleOutStoreList;
mainGridView.Refresh();
}
private void weightRecordBtn_Click(object sender, EventArgs e)
{
if (orderGridView.CurrentRow == null)
throw new Exception("请选择配货明细");
var detailID = (long)orderGridView.CurrentRow.Cells[0].Value;
new WeightRecordDialog(detailID).ShowDialog();
}
private void goodsFinishBtn_Click(object sender, EventArgs e)
{
if (mainGridView.CurrentRow == null)
throw new Exception("请选择要配货完成的发货单");
var id = (long)mainGridView.CurrentRow.Cells[0].Value;
CarcassSaleOutBL.SetGoodsFinish(id);
saleOutStoreList.Remove(saleOutStoreList.First(x => x.ID == id));
mainGridView.Refresh();
details.Clear();
orderGridView.Refresh();
UMessageBox.Show("配货完成!");
}
private void commitBtn_Click(object sender, EventArgs e)
{
if (orderGridView.CurrentRow == null)
throw new Exception("请选择配货明细");
if (weightRecord.Count == 0)
throw new Exception("没有发货明细");
if (weightRecord.Any(x => !x.Filled))
throw new Exception("有未扫码的明细");
var detailID = (long)orderGridView.CurrentRow.Cells[0].Value;
var detail = details.First(x => x.ID == detailID);
CarcassSaleOutBL.SubmitDetails(weightRecord, detail);
weightRecord.Clear();
sendGridView.Refresh();
orderGridView.Refresh();
UMessageBox.Show("提交成功!");
}
private void closeBtn_Click(object sender, EventArgs e)
{
Close();
}
private void queryControl_MouseDown(object sender, MouseEventArgs e)
{
var textBox = sender as TextBox;
switch (textBox.Name)
{
case "sendDateBox":
var cs = new CalendarSelecter();
if (cs.ShowDialog() == true)
{
sendTime = cs.Result;
sendDateBox.Text = sendTime.ToString("yyyy-MM-dd");
}
break;
case "deliverGoodsLineBox":
var dgl = new SelectDeliverGoodsLineDialog();
if (dgl.ShowDialog() == DialogResult.OK)
{
textBox.Text = dgl.Result.Item1;
deliverGoodsLineID = dgl.Result.Item2;
}
break;
case "customerBox":
var cb = new SelectCustomerDialog();
if (cb.ShowDialog() == DialogResult.OK)
{
textBox.Text = cb.Result.Item1;
customerID = cb.Result.Item2;
}
break;
case "billStateBox":
var bs = new SelectBillStateDialog();
if (bs.ShowDialog() == DialogResult.OK)
{
textBox.Text = bs.Result.Item1;
billState = bs.Result.Item2;
}
break;
case "storeBox":
var sb = new SelectStoreDialog();
if (sb.ShowDialog() == DialogResult.OK)
{
textBox.Text = sb.Result.Item1;
storeID = sb.Result.Item2;
}
break;
}
}
private void clearBtn_Click(object sender, EventArgs e)
{
billState = 0;
billStateBox.Text = "未审核";
sendTime = DateTime.Today;
sendDateBox.Text = sendTime.ToString("yyyy-MM-dd");
deliverGoodsLineBox.Clear();
deliverGoodsLineID = null;
customerBox.Clear();
customerID = null;
storeBox.Clear();
storeID = null;
}
private void mainGridView_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
var id = (long)mainGridView.CurrentRow.Cells[0].Value;
var first = saleOutStoreList.First(x => x.ID == id);
billIDLabel.Text = id.ToString();
customerLabel.Text = first.Customer_Name;
addressLabel.Text = first.Address;
carNumberLabel.Text = first.CarNumber;
details = CarcassSaleOutBL.GetSaleOutStoreDetailList(id);
foreach (var item in details)
{
item.SaleOutStore_ID = id;
item.Customer_Name = first.Customer_Name;
}
orderGridView.DataSource = details;
if (details.Any())
orderGridView.FirstDisplayedScrollingRowIndex = 0;
orderGridView.Refresh();
}
}
}

+ 235
- 0
ButcherFactory.Form/CarcassSaleOut_/CarcassSaleOutForm.resx View File

@ -0,0 +1,235 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="closeBtn.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
<data name="clearBtn.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
<data name="refreshBtn.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
<data name="goodsFinishBtn.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
<data name="weightRecordBtn.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
<metadata name="M_ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_Customer_Name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_SendTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="M_DeliverGoodsLine_Name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="D_ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="D_SaleOutStore_ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="D_Customer_Name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="D_Goods_Code.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="D_Goods_Name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="D_SecondNumber.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="D_Number.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="D_SSecondNumber.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="D_SNumber.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="D_DiffNumber.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="F_BarCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="F_GoodsCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="F_Goods_Name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="F_Number.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="F_InStoreWeight.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="F_Weight.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="F_DiffWeight.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="F_Time.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="commitBtn.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
</root>

+ 0
- 26
ButcherFactory.Form/CarcassTakeOut_/CarcassTakeOutForm.Designer.cs View File

@ -45,7 +45,6 @@
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.productBatchSelect = new System.Windows.Forms.ComboBox();
this.uLabel2 = new WinFormControl.ULabel();
this.noBarCode = new WinFormControl.UButton();
this.closeBtn = new WinFormControl.UButton();
this.uTimerLabel1 = new WinFormControl.UTimerLabel();
this.uScanPanel1 = new WinFormControl.UScanPanel();
@ -118,7 +117,6 @@
this.splitContainer1.Panel1.BackColor = System.Drawing.Color.Transparent;
this.splitContainer1.Panel1.Controls.Add(this.productBatchSelect);
this.splitContainer1.Panel1.Controls.Add(this.uLabel2);
this.splitContainer1.Panel1.Controls.Add(this.noBarCode);
this.splitContainer1.Panel1.Controls.Add(this.closeBtn);
this.splitContainer1.Panel1.Controls.Add(this.uTimerLabel1);
this.splitContainer1.Panel1.Controls.Add(this.workUnitSelect);
@ -158,29 +156,6 @@
this.uLabel2.TabIndex = 16;
this.uLabel2.Text = "生产批次:";
//
// noBarCode
//
this.noBarCode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.noBarCode.AsClicked = false;
this.noBarCode.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("noBarCode.BackgroundImage")));
this.noBarCode.EnableGroup = false;
this.noBarCode.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.noBarCode.FlatAppearance.BorderSize = 0;
this.noBarCode.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.noBarCode.Font = new System.Drawing.Font("宋体", 15F);
this.noBarCode.ForeColor = System.Drawing.Color.Black;
this.noBarCode.Location = new System.Drawing.Point(591, 45);
this.noBarCode.Name = "noBarCode";
this.noBarCode.PlaySound = false;
this.noBarCode.SelfControlEnable = false;
this.noBarCode.Size = new System.Drawing.Size(114, 34);
this.noBarCode.SoundType = WinFormControl.SoundType.Click;
this.noBarCode.TabIndex = 2;
this.noBarCode.Text = "无 码";
this.noBarCode.UseVisualStyleBackColor = true;
this.noBarCode.WithStataHode = true;
this.noBarCode.Click += new System.EventHandler(this.noBarCode_Click);
//
// closeBtn
//
this.closeBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@ -658,7 +633,6 @@
private System.Windows.Forms.SplitContainer splitContainer2;
private System.Windows.Forms.DataGridViewTextBoxColumn W_ID;
private System.Windows.Forms.DataGridViewTextBoxColumn W_Weight;
private WinFormControl.UButton noBarCode;
private System.Windows.Forms.ComboBox productBatchSelect;
private WinFormControl.ULabel uLabel2;
private System.Windows.Forms.DataGridViewTextBoxColumn U_ID;


+ 28
- 22
ButcherFactory.Form/CarcassTakeOut_/CarcassTakeOutForm.cs View File

@ -91,7 +91,7 @@ namespace ButcherFactory.CarcassTakeOut_
BaseInfoSyncRpc.SyncBaseInfo<ProductBatch>();
}
productBatchSelect.EBindComboBox<ProductBatch>(x => x.Date == DateTime.Today, 3, "Date");
productBatchSelect.EBindComboBox<ProductBatch>(x => x.Date == DateTime.Today, 6, "Date");
var config = XmlUtil.DeserializeFromFile<CarcassTakeOutFormConfig>();
workUnitSelect.EBindComboBox<WorkUnit>(x => x.ID == config.WorkUnitID);
@ -100,28 +100,27 @@ namespace ButcherFactory.CarcassTakeOut_
}));
}
bool noCode = false;
List<UButton> goodsBtns = new List<UButton>();
void BindGoods()
{
var goods = FormClientGoodsSetBL.GetGoodsList();
foreach (var item in goods)
{
var btn = new UButton() { Width = 120, Height = 75, Text = item.Goods_Name, Tag = item.Goods_ID, Font = new Font("宋体", 15), Margin = new Padding(22, 10, 22, 30), PlaySound = true };
btn.Click += (sender, e) =>
{
if (batchID == null)
throw new Exception("请先选择批次");
if (!noCode)
throw new Exception("如果无码请先点击无码按钮");
var c = sender as UButton;
Insert(null, (long)c.Tag, c.Text);
noBarCode_Click(sender, EventArgs.Empty);
noBarCode.AsClicked = false;
};
btn.Click += GoodsBtnClick;
goodsBtns.Add(btn);
flowLayoutPanel1.Controls.Add(btn);
}
}
void GoodsBtnClick(object sender, EventArgs e)
{
if (batchID == null)
throw new Exception("请先选择批次");
var c = sender as UButton;
Insert(null, (long)c.Tag, c.Text);
}
void BindGrid()
{
weightList = CarcassTakeOutBL.GetWeightList();
@ -199,9 +198,20 @@ namespace ButcherFactory.CarcassTakeOut_
var barCode = uScanPanel1.TextBox.Text.Trim();
if (string.IsNullOrEmpty(barCode))
throw new Exception("请先扫码");
if (barCode.Length != 23)
throw new Exception("条码格式不正确");
Insert(barCode, null, null);
if (barCode.StartsWith("G"))
{
var gId = barCode.TrimStart('G');
var first = goodsBtns.FirstOrDefault(x => x.Tag.ToString() == gId);
if (first == null)
throw new Exception(string.Format("没找到ID为{0}的存货", gId));
GoodsBtnClick(first, EventArgs.Empty);
}
else
{
if (barCode.Length != 23)
throw new Exception("条码格式不正确");
Insert(barCode, null, null);
}
}
void Insert(string barCode, long? goodsID, string goodsName)
@ -212,7 +222,9 @@ namespace ButcherFactory.CarcassTakeOut_
if (string.IsNullOrEmpty(barCode))
entity.Goods_Name = goodsName;
needSubmitedList.Insert(0, entity);
needSubmitGrid.FirstDisplayedScrollingRowIndex = 0;
needSubmitGrid.Refresh();
uScanPanel1.TextBox.Clear();
}
private void closeBtn_Click(object sender, EventArgs e)
@ -253,11 +265,5 @@ namespace ButcherFactory.CarcassTakeOut_
weightGrid.FirstDisplayedScrollingRowIndex = 0;
weightGrid.Refresh();
}
private void noBarCode_Click(object sender, EventArgs e)
{
noCode = !noCode;
noBarCode.Text = noCode ? "等待插入" : "无 码";
}
}
}

+ 0
- 8
ButcherFactory.Form/CarcassTakeOut_/CarcassTakeOutForm.resx View File

@ -118,14 +118,6 @@
<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="noBarCode.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
<data name="closeBtn.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO


+ 730
- 0
ButcherFactory.Form/Dialogs/CalendarSelecter.xaml View File

@ -0,0 +1,730 @@
<Window x:Class="ButcherFactory.Dialogs.CalendarSelecter"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowStartupLocation="CenterOwner"
Title="MainWindow"
Width="500"
Height="500"
WindowStyle="None" Background="{x:Null}"
AllowsTransparency="True"
MouseLeftButtonDown="DragWindow"
>
<Window.Resources>
<Style x:Key="CalendarStyle1"
TargetType="{x:Type Calendar}">
<!--日历控件的背景色,也可以改成绑定的-->
<Setter Property="Background"
Value="#f6f6f6" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Calendar}">
<StackPanel x:Name="PART_Root"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<!--这个是日历控件的主体元件,也是内部元件PART_CalendarItem名称不要更改,可以改它的其它样式属性-->
<CalendarItem x:Name="PART_CalendarItem"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Style="{TemplateBinding CalendarItemStyle}"
Height="{TemplateBinding Height}"
Width="{TemplateBinding Width}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!--日历主体样式表-->
<Style x:Key="CalendarItemStyle1"
TargetType="{x:Type CalendarItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CalendarItem}">
<ControlTemplate.Resources>
<DataTemplate x:Key="{x:Static CalendarItem.DayTitleTemplateResourceKey}">
<!--日历星期几的绑定样式,我格式化成周一,周二等-->
<TextBlock Foreground="#666666"
FontSize="16"
FontFamily="微软雅黑"
HorizontalAlignment="Center"
Margin="0 15"
Text="{Binding StringFormat=周{0} }"
VerticalAlignment="Center" />
</DataTemplate>
</ControlTemplate.Resources>
<Grid x:Name="PART_Root">
<Grid.Resources>
<!--设置日历控件 IsEnable=false 时的不可用遮罩层颜色,并且会播放过渡动画-->
<SolidColorBrush x:Key="DisabledColor"
Color="#A5FFFFFF" />
</Grid.Resources>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled">
<!--设置日历控件 IsEnable=false 时遮罩层透明度0-1变色动画-->
<Storyboard>
<DoubleAnimation Duration="0"
To="1"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="PART_DisabledVisual" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border BorderBrush="#cfcfcf"
BorderThickness="0"
Background="{TemplateBinding Background}"
CornerRadius="2">
<Border>
<Grid>
<Grid.Resources>
<!--日历头左箭头按钮样式模版-->
<ControlTemplate x:Key="PreviousButtonTemplate"
TargetType="{x:Type Button}">
<!--鼠标悬停在左箭头按钮上时改变鼠标指针样式-->
<Grid Cursor="Hand">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="MouseOver">
<!--鼠标悬停在左箭头按钮上时左箭头颜色变化动画-->
<Storyboard>
<ColorAnimation Duration="0"
To="#FF73A9D8"
Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)"
Storyboard.TargetName="path" />
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled">
<Storyboard>
<DoubleAnimation Duration="0"
To=".5"
Storyboard.TargetProperty="(Shape.Fill).(Brush.Opacity)"
Storyboard.TargetName="path" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<!--左箭头整个区域矩形块-->
<Rectangle Fill="#363636"
Opacity="1"
Stretch="Fill" />
<Grid>
<!--左箭头-->
<Path x:Name="path"
Data="M288.75,232.25 L288.75,240.625 L283,236.625 z"
Fill="#e0e0e0"
HorizontalAlignment="Left"
Height="15"
Width="15"
Margin="20,0,0,0"
Stretch="Fill"
VerticalAlignment="Center" />
</Grid>
</Grid>
</ControlTemplate>
<!--日历头右箭头按钮样式模版,这块跟左箭头样式模版没什么区别-->
<ControlTemplate x:Key="NextButtonTemplate"
TargetType="{x:Type Button}">
<Grid Cursor="Hand">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="MouseOver">
<Storyboard>
<ColorAnimation Duration="0"
To="#FF73A9D8"
Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)"
Storyboard.TargetName="path" />
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled">
<Storyboard>
<DoubleAnimation Duration="0"
To=".5"
Storyboard.TargetProperty="(Shape.Fill).(Brush.Opacity)"
Storyboard.TargetName="path" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Rectangle Fill="#363636"
Opacity="1"
Stretch="Fill" />
<Grid>
<Path x:Name="path"
Data="M282.875,231.875 L282.875,240.375 L288.625,236 z"
Fill="#e0e0e0"
HorizontalAlignment="Right"
Height="15"
Width="15"
Margin="0,0,20,0"
Stretch="Fill"
VerticalAlignment="Center" />
</Grid>
</Grid>
</ControlTemplate>
<!--日历头中间年按钮样式模版-->
<ControlTemplate x:Key="HeaderButtonTemplate"
TargetType="{x:Type Button}">
<Grid Cursor="Hand">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="MouseOver">
<Storyboard>
<ColorAnimation Duration="0"
To="#FF73A9D8"
Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)"
Storyboard.TargetName="buttonContent" />
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled">
<Storyboard>
<DoubleAnimation Duration="0"
To=".5"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="buttonContent" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<ContentPresenter x:Name="buttonContent"
ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}"
TextElement.Foreground="#e0e0e0"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="1,4,1,9"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
</Grid>
</ControlTemplate>
</Grid.Resources>
<Grid.RowDefinitions>
<!--日历头,左箭头,年,右箭头-->
<RowDefinition Height="Auto" />
<!--日历内容,星期几和具体的日期几号几号-->
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<!--左箭头-->
<ColumnDefinition Width="Auto" />
<!--年-->
<ColumnDefinition Width="*" />
<!--右箭头-->
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<!--头,左箭头,年,右箭头,整体的背景色-->
<Border Grid.Row="0"
Grid.ColumnSpan="3"
Background="#363636"></Border>
<!--左箭头-->
<Button x:Name="PART_PreviousButton"
Grid.Column="0"
Focusable="False"
HorizontalAlignment="Left"
Grid.Row="0"
Template="{StaticResource PreviousButtonTemplate}" />
<!--年-->
<Button x:Name="PART_HeaderButton"
Grid.Column="1"
FontFamily="微软雅黑"
Focusable="False"
FontSize="26"
HorizontalAlignment="Center"
Grid.Row="0"
Template="{StaticResource HeaderButtonTemplate}"
VerticalAlignment="Center" />
<!--右箭头-->
<Button x:Name="PART_NextButton"
Grid.Column="2"
Focusable="False"
HorizontalAlignment="Right"
Grid.Row="0"
Template="{StaticResource NextButtonTemplate}" />
<!--日期几号几号内容显示-->
<Border Grid.Row="1"
Grid.ColumnSpan="3"
Margin="0"
BorderBrush="#cfcfcf"
BorderThickness="3,0,3,3">
<Grid x:Name="PART_MonthView"
HorizontalAlignment="Center"
Visibility="Visible">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
</Grid>
</Border>
<!--月和年内容显示-->
<Grid x:Name="PART_YearView"
Grid.ColumnSpan="3"
HorizontalAlignment="Center"
Margin="6,-3,7,6"
Grid.Row="1"
Visibility="Hidden"
VerticalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
</Grid>
</Grid>
</Border>
</Border>
<!--日历不可用的遮罩层-->
<Rectangle x:Name="PART_DisabledVisual"
Fill="{StaticResource DisabledColor}"
Opacity="0"
RadiusY="2"
RadiusX="2"
Stretch="Fill"
Stroke="{StaticResource DisabledColor}"
StrokeThickness="1"
Visibility="Collapsed" />
</Grid>
<!--触发器属性-->
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled"
Value="False">
<Setter Property="Visibility"
TargetName="PART_DisabledVisual"
Value="Visible" />
</Trigger>
<DataTrigger Binding="{Binding DisplayMode, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Calendar}}}"
Value="Year">
<Setter Property="Visibility"
TargetName="PART_MonthView"
Value="Hidden" />
<Setter Property="Visibility"
TargetName="PART_YearView"
Value="Visible" />
</DataTrigger>
<DataTrigger Binding="{Binding DisplayMode, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Calendar}}}"
Value="Decade">
<Setter Property="Visibility"
TargetName="PART_MonthView"
Value="Hidden" />
<Setter Property="Visibility"
TargetName="PART_YearView"
Value="Visible" />
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!--单个几号几号按钮的样式模版-->
<Style x:Key="CalendarDayButtonStyle1"
TargetType="{x:Type CalendarDayButton}" >
<Setter Property="Margin"
Value="1" />
<Setter Property="MinWidth"
Value="5" />
<Setter Property="MinHeight"
Value="5" />
<Setter Property="FontSize"
Value="22" />
<Setter Property="FontFamily"
Value="微软雅黑" />
<Setter Property="HorizontalContentAlignment"
Value="Center" />
<Setter Property="VerticalContentAlignment"
Value="Center" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CalendarDayButton}">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:0.1" />
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal" />
<!--悬停的颜色动画-->
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimation Duration="0"
To="0.5"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="HighlightBackground" />
</Storyboard>
</VisualState>
<!--按下后动画-->
<VisualState x:Name="Pressed">
<Storyboard>
<DoubleAnimation Duration="0"
To="0.5"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="HighlightBackground" />
</Storyboard>
</VisualState>
<!--不可用动画-->
<VisualState x:Name="Disabled">
<Storyboard>
<DoubleAnimation Duration="0"
To="0"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="HighlightBackground" />
<DoubleAnimation Duration="0"
To=".35"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="NormalText" />
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="SelectionStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0" />
</VisualStateGroup.Transitions>
<VisualState x:Name="Unselected" />
<!--选中某日期的样式-->
<VisualState x:Name="Selected">
<Storyboard>
<DoubleAnimation Duration="0"
To=".75"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="SelectedBackground" />
<ColorAnimation Duration="0"
To="white"
Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)"
Storyboard.TargetName="NormalText" />
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="CalendarButtonFocusStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0" />
</VisualStateGroup.Transitions>
<VisualState x:Name="CalendarButtonFocused">
<Storyboard>
<ObjectAnimationUsingKeyFrames Duration="0"
Storyboard.TargetProperty="Visibility"
Storyboard.TargetName="DayButtonFocusVisual">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="CalendarButtonUnfocused">
<Storyboard>
<ObjectAnimationUsingKeyFrames Duration="0"
Storyboard.TargetProperty="Visibility"
Storyboard.TargetName="DayButtonFocusVisual">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Collapsed</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="ActiveStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0" />
</VisualStateGroup.Transitions>
<VisualState x:Name="Active" />
<VisualState x:Name="Inactive">
<Storyboard>
<ColorAnimation Duration="0"
To="#b4b3b3"
Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)"
Storyboard.TargetName="NormalText" />
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="DayStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0" />
</VisualStateGroup.Transitions>
<VisualState x:Name="RegularDay" />
<!--今天的样式-->
<VisualState x:Name="Today">
<Storyboard>
<DoubleAnimation Duration="0"
To="1"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="TodayBackground" />
<ColorAnimation Duration="0"
To="#666666"
Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)"
Storyboard.TargetName="NormalText" />
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility"
Storyboard.TargetName="imgToday">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
<!--过期日期的-->
<VisualStateGroup x:Name="BlackoutDayStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0" />
</VisualStateGroup.Transitions>
<VisualState x:Name="NormalDay" />
<VisualState x:Name="BlackoutDay">
<Storyboard>
<DoubleAnimation Duration="0"
To=".2"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="Blackout" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border BorderBrush="#bbbbbb"
BorderThickness="1">
<Border BorderBrush="white"
BorderThickness="2,2,0,0"
Margin="1,1,0,0"></Border>
</Border>
<Rectangle x:Name="TodayBackground"
Fill="#c6c6c6"
Opacity="0"
RadiusY="1"
RadiusX="1" />
<Rectangle x:Name="SelectedBackground"
Fill="#6eafbf"
Opacity="0"
RadiusY="1"
RadiusX="1" />
<Border BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}" />
<Rectangle x:Name="HighlightBackground"
Fill="#FFBADDE9"
Opacity="0"
RadiusY="1"
RadiusX="1" />
<ContentPresenter x:Name="NormalText"
TextElement.Foreground="#666666"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
<Path x:Name="Blackout"
Data="M8.1772461,11.029181 L10.433105,11.029181 L11.700684,12.801641 L12.973633,11.029181 L15.191895,11.029181 L12.844727,13.999395 L15.21875,17.060919 L12.962891,17.060919 L11.673828,15.256231 L10.352539,17.060919 L8.1396484,17.060919 L10.519043,14.042364 z"
Fill="#FF000000"
HorizontalAlignment="Stretch"
Margin="3"
Opacity="0"
RenderTransformOrigin="0.5,0.5"
Stretch="Fill"
VerticalAlignment="Stretch" />
<Rectangle x:Name="DayButtonFocusVisual"
IsHitTestVisible="false"
RadiusY="1"
RadiusX="1"
Stroke="#FF45D6FA"
Visibility="Collapsed" />
<Image x:Name="imgToday"
Width="44"
Height="34"
VerticalAlignment="Top"
HorizontalAlignment="Left"
Initialized="imgToday_Initialized"
Visibility="Hidden" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="CalendarButtonStyle1"
TargetType="{x:Type CalendarButton}" >
<Setter Property="Background"
Value="#FFBADDE9" />
<Setter Property="MinWidth"
Value="80" />
<Setter Property="MinHeight"
Value="80" />
<Setter Property="Margin"
Value="20" />
<Setter Property="FontSize"
Value="25" />
<Setter Property="HorizontalContentAlignment"
Value="Center" />
<Setter Property="VerticalContentAlignment"
Value="Center" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CalendarButton}">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:0.1" />
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal" />
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimation Duration="0"
To=".5"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="Background" />
</Storyboard>
</VisualState>
<VisualState x:Name="Pressed">
<Storyboard>
<DoubleAnimation Duration="0"
To=".5"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="Background" />
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="SelectionStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0" />
</VisualStateGroup.Transitions>
<VisualState x:Name="Unselected" />
<VisualState x:Name="Selected">
<Storyboard>
<DoubleAnimation Duration="0"
To=".75"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="SelectedBackground" />
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="ActiveStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0" />
</VisualStateGroup.Transitions>
<VisualState x:Name="Active" />
<VisualState x:Name="Inactive">
<Storyboard>
<ColorAnimation Duration="0"
To="#FF777777"
Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)"
Storyboard.TargetName="NormalText" />
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="CalendarButtonFocusStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0" />
</VisualStateGroup.Transitions>
<VisualState x:Name="CalendarButtonFocused">
<Storyboard>
<ObjectAnimationUsingKeyFrames Duration="0"
Storyboard.TargetProperty="Visibility"
Storyboard.TargetName="CalendarButtonFocusVisual">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="CalendarButtonUnfocused">
<Storyboard>
<ObjectAnimationUsingKeyFrames Duration="0"
Storyboard.TargetProperty="Visibility"
Storyboard.TargetName="CalendarButtonFocusVisual">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Collapsed</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Rectangle x:Name="SelectedBackground"
Fill="{TemplateBinding Background}"
Opacity="0"
RadiusY="1"
RadiusX="1" />
<Rectangle x:Name="Background"
Fill="{TemplateBinding Background}"
Opacity="0"
RadiusY="1"
RadiusX="1" />
<ContentPresenter x:Name="NormalText"
TextElement.Foreground="#FF333333"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="1,0,1,1"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
<Rectangle x:Name="CalendarButtonFocusVisual"
IsHitTestVisible="false"
RadiusY="1"
RadiusX="1"
Stroke="#FF45D6FA"
Visibility="Collapsed" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused"
Value="True">
<Setter Property="Visibility"
TargetName="CalendarButtonFocusVisual"
Value="Visible" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid x:Name="LayoutRoot">
<Calendar x:Name="MC" Style="{DynamicResource CalendarStyle1}"
CalendarItemStyle="{DynamicResource CalendarItemStyle1}"
CalendarDayButtonStyle="{DynamicResource CalendarDayButtonStyle1}"
CalendarButtonStyle="{DynamicResource CalendarButtonStyle1}"
SelectedDatesChanged="MC_SelectedDatesChanged"
Width="500"
Height="500">
</Calendar>
</Grid>
</Window>

+ 61
- 0
ButcherFactory.Form/Dialogs/CalendarSelecter.xaml.cs View File

@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
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 ButcherFactory.Dialogs
{
/// <summary>
/// CalendarSelecter.xaml 的交互逻辑
/// </summary>
public partial class CalendarSelecter : Window, INotifyPropertyChanged
{
public CalendarSelecter()
{
InitializeComponent();
}
public void DragWindow(object sender, MouseButtonEventArgs args)
{
this.DragMove();
}
private DateTime _result;
public DateTime Result
{
get { return _result; }
private set { _result = value; OnPropertyChanged("Result"); }
}
private void MC_SelectedDatesChanged(object sender, EventArgs e)
{
Result = MC.SelectedDate.Value;
DialogResult = true;
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
private void imgToday_Initialized(object sender, EventArgs e)
{
var imagePanel = (sender as Image);
var path = System.IO.Path.Combine(Environment.CurrentDirectory, "Images", "today.png");
imagePanel.Source = new BitmapImage(new Uri(path, UriKind.Absolute)); ;
}
}
}

+ 155
- 0
ButcherFactory.Form/Dialogs/SelectBillStateDialog.Designer.cs View File

@ -0,0 +1,155 @@
namespace ButcherFactory.Dialogs
{
partial class SelectBillStateDialog
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SelectBillStateDialog));
this.uButton1 = new WinFormControl.UButton();
this.uButton2 = new WinFormControl.UButton();
this.uButton3 = new WinFormControl.UButton();
this.uButton4 = new WinFormControl.UButton();
this.SuspendLayout();
//
// uButton1
//
this.uButton1.AsClicked = false;
this.uButton1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("uButton1.BackgroundImage")));
this.uButton1.EnableGroup = false;
this.uButton1.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.uButton1.FlatAppearance.BorderSize = 0;
this.uButton1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.uButton1.Font = new System.Drawing.Font("宋体", 12F);
this.uButton1.ForeColor = System.Drawing.Color.Black;
this.uButton1.Location = new System.Drawing.Point(63, 36);
this.uButton1.Name = "uButton1";
this.uButton1.PlaySound = false;
this.uButton1.SelfControlEnable = false;
this.uButton1.Size = new System.Drawing.Size(120, 75);
this.uButton1.SoundType = WinFormControl.SoundType.Click;
this.uButton1.TabIndex = 0;
this.uButton1.Tag = "0";
this.uButton1.Text = "未审核";
this.uButton1.UseVisualStyleBackColor = true;
this.uButton1.WithStataHode = false;
this.uButton1.Click += new System.EventHandler(this.BtnClick);
//
// uButton2
//
this.uButton2.AsClicked = false;
this.uButton2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("uButton2.BackgroundImage")));
this.uButton2.EnableGroup = false;
this.uButton2.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.uButton2.FlatAppearance.BorderSize = 0;
this.uButton2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.uButton2.Font = new System.Drawing.Font("宋体", 12F);
this.uButton2.ForeColor = System.Drawing.Color.Black;
this.uButton2.Location = new System.Drawing.Point(255, 36);
this.uButton2.Name = "uButton2";
this.uButton2.PlaySound = false;
this.uButton2.SelfControlEnable = false;
this.uButton2.Size = new System.Drawing.Size(120, 75);
this.uButton2.SoundType = WinFormControl.SoundType.Click;
this.uButton2.TabIndex = 1;
this.uButton2.Tag = "20";
this.uButton2.Text = "已审核";
this.uButton2.UseVisualStyleBackColor = true;
this.uButton2.WithStataHode = false;
this.uButton2.Click += new System.EventHandler(this.BtnClick);
//
// uButton3
//
this.uButton3.AsClicked = false;
this.uButton3.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("uButton3.BackgroundImage")));
this.uButton3.EnableGroup = false;
this.uButton3.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.uButton3.FlatAppearance.BorderSize = 0;
this.uButton3.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.uButton3.Font = new System.Drawing.Font("宋体", 12F);
this.uButton3.ForeColor = System.Drawing.Color.Black;
this.uButton3.Location = new System.Drawing.Point(63, 151);
this.uButton3.Name = "uButton3";
this.uButton3.PlaySound = false;
this.uButton3.SelfControlEnable = false;
this.uButton3.Size = new System.Drawing.Size(120, 75);
this.uButton3.SoundType = WinFormControl.SoundType.Click;
this.uButton3.TabIndex = 2;
this.uButton3.Tag = "30";
this.uButton3.Text = "已完毕";
this.uButton3.UseVisualStyleBackColor = true;
this.uButton3.WithStataHode = false;
this.uButton3.Click += new System.EventHandler(this.BtnClick);
//
// uButton4
//
this.uButton4.AsClicked = false;
this.uButton4.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("uButton4.BackgroundImage")));
this.uButton4.EnableGroup = false;
this.uButton4.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.uButton4.FlatAppearance.BorderSize = 0;
this.uButton4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.uButton4.Font = new System.Drawing.Font("宋体", 12F);
this.uButton4.ForeColor = System.Drawing.Color.Black;
this.uButton4.Location = new System.Drawing.Point(255, 151);
this.uButton4.Name = "uButton4";
this.uButton4.PlaySound = false;
this.uButton4.SelfControlEnable = false;
this.uButton4.Size = new System.Drawing.Size(120, 75);
this.uButton4.SoundType = WinFormControl.SoundType.Click;
this.uButton4.TabIndex = 3;
this.uButton4.Tag = "1";
this.uButton4.Text = "已作废";
this.uButton4.UseVisualStyleBackColor = true;
this.uButton4.WithStataHode = false;
this.uButton4.Click += new System.EventHandler(this.BtnClick);
//
// SelectBillStateDialog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(445, 263);
this.Controls.Add(this.uButton4);
this.Controls.Add(this.uButton3);
this.Controls.Add(this.uButton2);
this.Controls.Add(this.uButton1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "SelectBillStateDialog";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "单据状态";
this.ResumeLayout(false);
}
#endregion
private WinFormControl.UButton uButton1;
private WinFormControl.UButton uButton2;
private WinFormControl.UButton uButton3;
private WinFormControl.UButton uButton4;
}
}

+ 30
- 0
ButcherFactory.Form/Dialogs/SelectBillStateDialog.cs View File

@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WinFormControl;
namespace ButcherFactory.Dialogs
{
public partial class SelectBillStateDialog : Form
{
public Tuple<string, int> Result;
public SelectBillStateDialog()
{
InitializeComponent();
}
void BtnClick(object sender, EventArgs e)
{
var btn = sender as UButton;
Result = new Tuple<string, int>(btn.Text, Convert.ToInt32(btn.Tag));
DialogResult = DialogResult.OK;
this.Close();
}
}
}

+ 153
- 0
ButcherFactory.Form/Dialogs/SelectBillStateDialog.resx View File

@ -0,0 +1,153 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="uButton1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
<data name="uButton2.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
<data name="uButton3.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
<data name="uButton4.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
</root>

+ 170
- 0
ButcherFactory.Form/Dialogs/SelectCustomerDialog.Designer.cs View File

@ -0,0 +1,170 @@
namespace ButcherFactory.Dialogs
{
partial class SelectCustomerDialog
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SelectCustomerDialog));
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
this.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel();
this.flowLayoutPanel4 = new System.Windows.Forms.FlowLayoutPanel();
this.textBox1 = new System.Windows.Forms.TextBox();
this.uButton1 = new WinFormControl.UButton();
this.searchBtn = new WinFormControl.UButton();
this.panel1 = new System.Windows.Forms.Panel();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// flowLayoutPanel1
//
this.flowLayoutPanel1.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.flowLayoutPanel1.AutoScroll = true;
this.flowLayoutPanel1.Location = new System.Drawing.Point(2, 2);
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
this.flowLayoutPanel1.Size = new System.Drawing.Size(1000, 278);
this.flowLayoutPanel1.TabIndex = 0;
//
// flowLayoutPanel2
//
this.flowLayoutPanel2.Location = new System.Drawing.Point(0, 47);
this.flowLayoutPanel2.Name = "flowLayoutPanel2";
this.flowLayoutPanel2.Size = new System.Drawing.Size(1000, 54);
this.flowLayoutPanel2.TabIndex = 1;
//
// flowLayoutPanel3
//
this.flowLayoutPanel3.Location = new System.Drawing.Point(26, 114);
this.flowLayoutPanel3.Name = "flowLayoutPanel3";
this.flowLayoutPanel3.Size = new System.Drawing.Size(974, 54);
this.flowLayoutPanel3.TabIndex = 2;
//
// flowLayoutPanel4
//
this.flowLayoutPanel4.Location = new System.Drawing.Point(62, 179);
this.flowLayoutPanel4.Name = "flowLayoutPanel4";
this.flowLayoutPanel4.Size = new System.Drawing.Size(938, 54);
this.flowLayoutPanel4.TabIndex = 3;
//
// textBox1
//
this.textBox1.Font = new System.Drawing.Font("宋体", 14F);
this.textBox1.Location = new System.Drawing.Point(14, 9);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(194, 29);
this.textBox1.TabIndex = 4;
//
// uButton1
//
this.uButton1.AsClicked = false;
this.uButton1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("uButton1.BackgroundImage")));
this.uButton1.EnableGroup = false;
this.uButton1.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.uButton1.FlatAppearance.BorderSize = 0;
this.uButton1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.uButton1.Font = new System.Drawing.Font("宋体", 12F);
this.uButton1.ForeColor = System.Drawing.Color.Black;
this.uButton1.Location = new System.Drawing.Point(233, 9);
this.uButton1.Name = "uButton1";
this.uButton1.PlaySound = false;
this.uButton1.SelfControlEnable = false;
this.uButton1.Size = new System.Drawing.Size(80, 30);
this.uButton1.SoundType = WinFormControl.SoundType.Click;
this.uButton1.TabIndex = 5;
this.uButton1.Text = "退格";
this.uButton1.UseVisualStyleBackColor = true;
this.uButton1.WithStataHode = false;
this.uButton1.Click += new System.EventHandler(this.uButton1_Click);
//
// searchBtn
//
this.searchBtn.AsClicked = false;
this.searchBtn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("searchBtn.BackgroundImage")));
this.searchBtn.EnableGroup = false;
this.searchBtn.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(155)))), ((int)(((byte)(214)))));
this.searchBtn.FlatAppearance.BorderSize = 0;
this.searchBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.searchBtn.Font = new System.Drawing.Font("宋体", 12F);
this.searchBtn.ForeColor = System.Drawing.Color.Black;
this.searchBtn.Location = new System.Drawing.Point(340, 9);
this.searchBtn.Name = "searchBtn";
this.searchBtn.PlaySound = false;
this.searchBtn.SelfControlEnable = false;
this.searchBtn.Size = new System.Drawing.Size(80, 30);
this.searchBtn.SoundType = WinFormControl.SoundType.Click;
this.searchBtn.TabIndex = 6;
this.searchBtn.Text = "检索";
this.searchBtn.UseVisualStyleBackColor = true;
this.searchBtn.WithStataHode = false;
this.searchBtn.Click += new System.EventHandler(this.searchBtn_Click);
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.panel1.Controls.Add(this.textBox1);
this.panel1.Controls.Add(this.searchBtn);
this.panel1.Controls.Add(this.flowLayoutPanel2);
this.panel1.Controls.Add(this.uButton1);
this.panel1.Controls.Add(this.flowLayoutPanel3);
this.panel1.Controls.Add(this.flowLayoutPanel4);
this.panel1.Location = new System.Drawing.Point(2, 286);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1000, 238);
this.panel1.TabIndex = 7;
//
// SelectCustomerDialog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1005, 536);
this.Controls.Add(this.panel1);
this.Controls.Add(this.flowLayoutPanel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "SelectCustomerDialog";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "选择客户";
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2;
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel3;
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel4;
private System.Windows.Forms.TextBox textBox1;
private WinFormControl.UButton uButton1;
private WinFormControl.UButton searchBtn;
private System.Windows.Forms.Panel panel1;
}
}

+ 82
- 0
ButcherFactory.Form/Dialogs/SelectCustomerDialog.cs View File

@ -0,0 +1,82 @@
using ButcherFactory.BO.LocalBL;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WinFormControl;
namespace ButcherFactory.Dialogs
{
public partial class SelectCustomerDialog : Form
{
public Tuple<string, long> Result;
public SelectCustomerDialog()
{
InitializeComponent();
InitKeyBoard();
}
void InitKeyBoard()
{
var chars = new char[][] {
new char[] { 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P' },
new char[] { 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L' },
new char[] { 'Z', 'X', 'C', 'V', 'B', 'N', 'M' } };
var panel = new FlowLayoutPanel[] { flowLayoutPanel2, flowLayoutPanel3, flowLayoutPanel4 };
var idx = 0;
foreach (var v in chars)
{
foreach (var c in v)
{
var btn = new UButton() { Width = 80, Height = 50, Text = c.ToString(), Font = new Font("宋体", 15), Margin = new Padding(10) };
btn.Click += CharClick;
panel[idx].Controls.Add(btn);
}
idx++;
}
}
void CharClick(object sender, EventArgs e)
{
textBox1.Text += ((UButton)sender).Text;
}
private void uButton1_Click(object sender, EventArgs e)
{
if (textBox1.Text.Length > 0)
textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);
}
void InitCustomerBtn()
{
flowLayoutPanel1.Controls.Clear();
if (string.IsNullOrEmpty(textBox1.Text))
return;
var customers = DialogBL.GetCustomerList(textBox1.Text.ToLower());
foreach (var item in customers)
{
var btn = new UButton() { Width = 100, Height = 60, Text = item.StringExt1.ToString(), Tag = item.LongExt1, Font = new Font("宋体", 10), Margin = new Padding(12) };
btn.Click += CustomerClick;
flowLayoutPanel1.Controls.Add(btn);
}
}
void CustomerClick(object sender, EventArgs e)
{
var btn = sender as UButton;
Result = new Tuple<string, long>(btn.Text, Convert.ToInt64(btn.Tag));
DialogResult = DialogResult.OK;
this.Close();
}
private void searchBtn_Click(object sender, EventArgs e)
{
InitCustomerBtn();
}
}
}

+ 137
- 0
ButcherFactory.Form/Dialogs/SelectCustomerDialog.resx View File

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="uButton1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
<data name="searchBtn.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAIAAABhdOiYAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAHNJREFUaEPt0AENACAMwDAkowVB14aDz0CTKui5b1gICoKCoCAoCAqCgqAgKAgK
goKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAgKAgKgoKgICgICoKCoCAoCAqCgqAg
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value>
</data>
</root>

+ 66
- 0
ButcherFactory.Form/Dialogs/SelectDeliverGoodsLineDialog.Designer.cs View File

@ -0,0 +1,66 @@
namespace ButcherFactory.Dialogs
{
partial class SelectDeliverGoodsLineDialog
{
/// <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.tabControl1 = new System.Windows.Forms.TabControl();
this.SuspendLayout();
//
// tabControl1
//
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.ItemSize = new System.Drawing.Size(0, 60);
this.tabControl1.Location = new System.Drawing.Point(0, 0);
this.tabControl1.Multiline = true;
this.tabControl1.Name = "tabControl1";
this.tabControl1.Padding = new System.Drawing.Point(20, 3);
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(1005, 536);
this.tabControl1.TabIndex = 0;
//
// SelectDeliverGoodsLineDialog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1005, 536);
this.Controls.Add(this.tabControl1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "SelectDeliverGoodsLineDialog";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "送货线路";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TabControl tabControl1;
}
}

+ 62
- 0
ButcherFactory.Form/Dialogs/SelectDeliverGoodsLineDialog.cs View File

@ -0,0 +1,62 @@
using ButcherFactory.BO;
using ButcherFactory.BO.LocalBL;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WinFormControl;
namespace ButcherFactory.Dialogs
{
public partial class SelectDeliverGoodsLineDialog : Form
{
public Tuple<string, long> Result;
IEnumerable<ExtensionObj> list;
public SelectDeliverGoodsLineDialog()
{
InitializeComponent();
list = DialogBL.GetDeliverGoodsLineList();
tabControl1.Selected += tabControl_Selected;
foreach (var c in list.GroupBy(x => x.StringExt2))
{
tabControl1.TabPages.Add(c.Key);
}
if (tabControl1.TabPages.Count > 0)
AddButtons(tabControl1.TabPages[0]);
}
void tabControl_Selected(object sender, TabControlEventArgs e)
{
if (tabControl1.SelectedTab.Controls.Count == 0)
AddButtons(tabControl1.SelectedTab);
}
private void AddButtons(TabPage tabPage)
{
tabPage.BackColor = Color.White;
var flw = new FlowLayoutPanel() { Dock = DockStyle.Fill, AutoScroll = true };
var arr = list.Where(x => x.StringExt2 == tabPage.Text);
foreach (var item in arr)
{
var btn = new UButton() { Width = 100, Height = 60, Text = item.StringExt1.ToString(), Tag = item.LongExt1, Font = new Font("宋体", 10), Margin = new Padding(12) };
btn.Click += btnClick;
flw.Controls.Add(btn);
}
tabPage.Controls.Add(flw);
}
private void btnClick(object sender, EventArgs e)
{
var btn = sender as UButton;
Result = new Tuple<string, long>(btn.Text, Convert.ToInt64(btn.Tag));
DialogResult = DialogResult.OK;
this.Close();
}
}
}

+ 120
- 0
ButcherFactory.Form/Dialogs/SelectDeliverGoodsLineDialog.resx View File

@ -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>

+ 49
- 0
ButcherFactory.Form/Dialogs/SelectStoreDialog.Designer.cs View File

@ -0,0 +1,49 @@
namespace ButcherFactory.Dialogs
{
partial class SelectStoreDialog
{
/// <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.SuspendLayout();
//
// SelectStoreDialog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1005, 536);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "SelectStoreDialog";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "仓库";
this.ResumeLayout(false);
}
#endregion
}
}

+ 40
- 0
ButcherFactory.Form/Dialogs/SelectStoreDialog.cs View File

@ -0,0 +1,40 @@
using ButcherFactory.BO.LocalBL;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WinFormControl;
namespace ButcherFactory.Dialogs
{
public partial class SelectStoreDialog : Form
{
public Tuple<string, long> Result;
public SelectStoreDialog()
{
InitializeComponent();
var stores = DialogBL.GetStoreList();
var flw = new FlowLayoutPanel() { Dock = DockStyle.Fill };
foreach (var item in stores)
{
var btn = new UButton() { Width = 100, Height = 60, Text = item.StringExt1.ToString(), Tag = item.LongExt1, Font = new Font("宋体", 10), Margin = new Padding(12) };
btn.Click += BtnClick;
flw.Controls.Add(btn);
}
this.Controls.Add(flw);
}
private void BtnClick(object sender, EventArgs e)
{
var btn = sender as UButton;
Result = new Tuple<string, long>(btn.Text, Convert.ToInt64(btn.Tag));
DialogResult = DialogResult.OK;
this.Close();
}
}
}

+ 120
- 0
ButcherFactory.Form/Dialogs/SelectStoreDialog.resx View File

@ -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>

+ 176
- 0
ButcherFactory.Form/Dialogs/WeightRecordDialog.Designer.cs View File

@ -0,0 +1,176 @@
namespace ButcherFactory.Dialogs
{
partial class WeightRecordDialog
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
this.uDataGridView1 = new WinFormControl.UDataGridView();
this.R_BarCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.R_Goods_Code = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.R_Goods_Name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.R_InStoreWeight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.R_Weight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.R_DiffWeight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.R_Time = new System.Windows.Forms.DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.uDataGridView1)).BeginInit();
this.SuspendLayout();
//
// uDataGridView1
//
this.uDataGridView1.AllowUserToAddRows = false;
this.uDataGridView1.AllowUserToDeleteRows = false;
this.uDataGridView1.AllowUserToResizeColumns = false;
this.uDataGridView1.AllowUserToResizeRows = false;
dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.uDataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
this.uDataGridView1.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.uDataGridView1.BackgroundColor = System.Drawing.Color.White;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 12F);
dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.uDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.uDataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.uDataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.R_BarCode,
this.R_Goods_Code,
this.R_Goods_Name,
this.R_InStoreWeight,
this.R_Weight,
this.R_DiffWeight,
this.R_Time});
this.uDataGridView1.Location = new System.Drawing.Point(21, 22);
this.uDataGridView1.MultiSelect = false;
this.uDataGridView1.Name = "uDataGridView1";
this.uDataGridView1.ReadOnly = true;
this.uDataGridView1.RowHeadersVisible = false;
dataGridViewCellStyle6.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(66)))), ((int)(((byte)(163)))), ((int)(((byte)(218)))));
this.uDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle6;
this.uDataGridView1.RowTemplate.Height = 23;
this.uDataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.uDataGridView1.Size = new System.Drawing.Size(782, 470);
this.uDataGridView1.TabIndex = 0;
//
// R_BarCode
//
this.R_BarCode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
this.R_BarCode.DataPropertyName = "BarCode";
this.R_BarCode.HeaderText = "存货条码";
this.R_BarCode.MinimumWidth = 100;
this.R_BarCode.Name = "R_BarCode";
this.R_BarCode.ReadOnly = true;
//
// R_Goods_Code
//
this.R_Goods_Code.DataPropertyName = "Goods_Code";
this.R_Goods_Code.HeaderText = "产品编码";
this.R_Goods_Code.Name = "R_Goods_Code";
this.R_Goods_Code.ReadOnly = true;
//
// R_Goods_Name
//
this.R_Goods_Name.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
this.R_Goods_Name.DataPropertyName = "Goods_Name";
this.R_Goods_Name.HeaderText = "产品名称";
this.R_Goods_Name.MinimumWidth = 100;
this.R_Goods_Name.Name = "R_Goods_Name";
this.R_Goods_Name.ReadOnly = true;
//
// R_InStoreWeight
//
this.R_InStoreWeight.DataPropertyName = "InStoreWeight";
dataGridViewCellStyle3.Format = "#0.######";
this.R_InStoreWeight.DefaultCellStyle = dataGridViewCellStyle3;
this.R_InStoreWeight.HeaderText = "入库重量";
this.R_InStoreWeight.Name = "R_InStoreWeight";
this.R_InStoreWeight.ReadOnly = true;
//
// R_Weight
//
this.R_Weight.DataPropertyName = "Weight";
dataGridViewCellStyle4.Format = "#0.######";
this.R_Weight.DefaultCellStyle = dataGridViewCellStyle4;
this.R_Weight.HeaderText = "重量";
this.R_Weight.Name = "R_Weight";
this.R_Weight.ReadOnly = true;
//
// R_DiffWeight
//
this.R_DiffWeight.DataPropertyName = "DiffWeight";
dataGridViewCellStyle5.Format = "#0.######";
this.R_DiffWeight.DefaultCellStyle = dataGridViewCellStyle5;
this.R_DiffWeight.HeaderText = "差异";
this.R_DiffWeight.Name = "R_DiffWeight";
this.R_DiffWeight.ReadOnly = true;
//
// R_Time
//
this.R_Time.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
this.R_Time.DataPropertyName = "Time";
this.R_Time.HeaderText = "时间";
this.R_Time.MinimumWidth = 120;
this.R_Time.Name = "R_Time";
this.R_Time.ReadOnly = true;
this.R_Time.Width = 120;
//
// WeightRecordDialog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(832, 519);
this.Controls.Add(this.uDataGridView1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "WeightRecordDialog";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "称重记录";
((System.ComponentModel.ISupportInitialize)(this.uDataGridView1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private WinFormControl.UDataGridView uDataGridView1;
private System.Windows.Forms.DataGridViewTextBoxColumn R_BarCode;
private System.Windows.Forms.DataGridViewTextBoxColumn R_Goods_Code;
private System.Windows.Forms.DataGridViewTextBoxColumn R_Goods_Name;
private System.Windows.Forms.DataGridViewTextBoxColumn R_InStoreWeight;
private System.Windows.Forms.DataGridViewTextBoxColumn R_Weight;
private System.Windows.Forms.DataGridViewTextBoxColumn R_DiffWeight;
private System.Windows.Forms.DataGridViewTextBoxColumn R_Time;
}
}

+ 25
- 0
ButcherFactory.Form/Dialogs/WeightRecordDialog.cs View File

@ -0,0 +1,25 @@
using ButcherFactory.BO.LocalBL;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ButcherFactory.Dialogs
{
public partial class WeightRecordDialog : Form
{
public WeightRecordDialog(long detailID)
{
InitializeComponent();
uDataGridView1.BorderStyle = BorderStyle.FixedSingle;
var list = CarcassSaleOutBL.GetWeightRecord(detailID);
uDataGridView1.DataSource = list;
uDataGridView1.Refresh();
}
}
}

+ 141
- 0
ButcherFactory.Form/Dialogs/WeightRecordDialog.resx View File

@ -0,0 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="R_BarCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="R_Goods_Code.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="R_Goods_Name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="R_InStoreWeight.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="R_Weight.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="R_DiffWeight.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="R_Time.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

+ 1
- 1
ButcherFactory.Form/SegmentProduction_/SegmentProductionForm.cs View File

@ -98,7 +98,7 @@ namespace ButcherFactory.SegmentProduction_
BaseInfoSyncRpc.SyncBaseInfo<WorkUnit>();
BaseInfoSyncRpc.SyncBaseInfo<ProductBatch>();
}
productBatchSelect.EBindComboBox<ProductBatch>(x => x.Date == DateTime.Today, 3, "Date");
productBatchSelect.EBindComboBox<ProductBatch>(x => x.Date == DateTime.Today, 6, "Date");
var config = XmlUtil.DeserializeFromFile<SegmentProductionFormConfig>();
workUnitSelect.EBindComboBox<WorkUnit>(x => x.ID == config.WorkUnitID);


+ 4
- 3
ButcherFactory.Login/Login.xaml.cs View File

@ -16,7 +16,7 @@ namespace ButcherFactory.Login
{
InitializeComponent();
#if DEBUG
pwdInput.Password = "123";
pwdInput.Password = "bwp2017";
#endif
try
@ -44,15 +44,16 @@ namespace ButcherFactory.Login
LoginUtil.InitRpcFacade();
if (LoginUtil.TestConnection(1000))
{
await Task.Factory.StartNew(() => LoginUtil.Login(username, pwd));
await Task.Factory.StartNew(() => LoginUtil.Login(username, pwd, AppContext.ConnectInfo.ServerMode));
}
else
{
if (AppContext.ConnectInfo.ServerMode == 1)
throw new Exception("网络错误");
if (AppContext.Worker.Name != username || string.Join("", LoginUtil.EncodePwd(pwd)) != string.Join("", AppContext.Worker.Password))
throw new Exception("离线时只能使用上次登录信息登录");
}
var form = FormUtil.CreateFrom();
if (form == null)
throw new Exception("权限不符");


+ 8
- 6
ButcherFactory.Tools/MainWindow.xaml View File

@ -1,14 +1,16 @@
<Window x:Class="ButcherFactory.Tools.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="BWP_Tools" Height="350" Width="525" ResizeMode="NoResize" >
Title="BWP_Tools" Height="380" Width="525" ResizeMode="NoResize" >
<Grid Margin="0,0,2,0">
<Label Content="服务器:" HorizontalAlignment="Left" VerticalContentAlignment="Center" FontSize="18px" Margin="84,30,0,0" VerticalAlignment="Top" Height="47"/>
<TextBox Name="serverUrlBox" HorizontalAlignment="Left" Height="80" Margin="179,34,0,0" TextWrapping="Wrap" FontSize="15px" Text="" VerticalAlignment="Top" Width="229" PreviewMouseLeftButtonDown="ServerUrlTextBoxClick"/>
<Label Content="数据库:" HorizontalAlignment="Left" VerticalContentAlignment="Center" FontSize="18px" Margin="84,136,0,0" VerticalAlignment="Top" Height="47"/>
<ComboBox Name="dbComboBox" HorizontalAlignment="Left" Margin="179,142,0,0" FontSize="18px" VerticalContentAlignment="Center" VerticalAlignment="Top" Width="229" Height="37"/>
<Button Content="保存" FontSize="18px" Margin="72,217,0,0" Height="50" Width="94" HorizontalAlignment="Left" VerticalAlignment="Top" Click="SaveBtnClick"/>
<Button Content="升级" FontSize="18px" Margin="197,217,0,0" Height="50" Width="94" HorizontalAlignment="Left" VerticalAlignment="Top" Click="Button_Click"/>
<Button Content="关闭" FontSize="18px" Margin="320,217,0,0" Height="50" Width="94" HorizontalAlignment="Left" VerticalAlignment="Top" Click="CloseBtnClick"/>
<Label Content="服务模式:" HorizontalAlignment="Left" VerticalContentAlignment="Center" FontSize="18px" Margin="69,123,0,0" VerticalAlignment="Top" Height="47"/>
<ComboBox Name="modeComboBox" HorizontalAlignment="Left" Margin="179,127,0,0" FontSize="18px" VerticalContentAlignment="Center" VerticalAlignment="Top" Width="229" Height="37"/>
<Label Content="数据库:" HorizontalAlignment="Left" VerticalContentAlignment="Center" FontSize="18px" Margin="84,173,0,0" VerticalAlignment="Top" Height="47"/>
<ComboBox Name="dbComboBox" HorizontalAlignment="Left" Margin="179,179,0,0" FontSize="18px" VerticalContentAlignment="Center" VerticalAlignment="Top" Width="229" Height="37"/>
<Button Content="保存" FontSize="18px" Margin="72,254,0,0" Height="50" Width="94" HorizontalAlignment="Left" VerticalAlignment="Top" Click="SaveBtnClick"/>
<Button Content="升级" FontSize="18px" Margin="197,254,0,0" Height="50" Width="94" HorizontalAlignment="Left" VerticalAlignment="Top" Click="Button_Click"/>
<Button Content="关闭" FontSize="18px" Margin="320,254,0,0" Height="50" Width="94" HorizontalAlignment="Left" VerticalAlignment="Top" Click="CloseBtnClick"/>
</Grid>
</Window>

+ 5
- 0
ButcherFactory.Tools/MainWindow.xaml.cs View File

@ -24,6 +24,9 @@ namespace ButcherFactory.Tools
public MainWindow()
{
InitializeComponent();
modeComboBox.Items.Add("MES");
modeComboBox.Items.Add("B3");
modeComboBox.SelectedIndex = AppContext.ConnectInfo.ServerMode;
var list = XmlUtil.DeserializeFromFile<List<DbSelectEntity>>("DbSelectList.xml");
dbComboBox.SelectedValuePath = "Value";
dbComboBox.DisplayMemberPath = "Name";
@ -56,6 +59,7 @@ namespace ButcherFactory.Tools
throw new Exception("请先设置服务器地址");
AppContext.ConnectInfo.ServerUrl = uri;
AppContext.ConnectInfo.SqlConnection = (string)dbComboBox.SelectedValue;
AppContext.ConnectInfo.ServerMode = modeComboBox.SelectedIndex;
AppContext.ConnectInfo.Save();
MessageBox.Show("设置保存成功!");
@ -68,6 +72,7 @@ namespace ButcherFactory.Tools
private void ServerUrlTextBoxClick(object sender, MouseButtonEventArgs e)
{
serverUrlBox.Focus();
var keyBoard = new VirtualKeyPad();
if (keyBoard.ShowDialog() == true)
serverUrlBox.Text = keyBoard.Result;


Loading…
Cancel
Save