551 lines
26 KiB
C#
551 lines
26 KiB
C#
using AllBase.Helper;
|
||
using AllBase.Model.Result;
|
||
using TemuKJD.BaseForms;
|
||
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 AllBase;
|
||
using Work;
|
||
using TemuKJD.ToolForms;
|
||
using Newtonsoft.Json.Linq;
|
||
using System.IO;
|
||
using TemuKJD.BLL;
|
||
using NaiBa.Util.Extension;
|
||
using AllBase.Model.Result.WXResult;
|
||
using TemuKJD.PDDForms.ProductSelectForms;
|
||
|
||
namespace TemuKJD.WXForms.ProductForms
|
||
{
|
||
public partial class WXUserCollectAuthProdEditNotesForm : BaseGeneralForm
|
||
{
|
||
KJDDBProduct dbProd = null;
|
||
KJDDBProduct dbProdDetail = null;
|
||
|
||
List<WxCatInfo> selectCate1 = new List<WxCatInfo>();
|
||
List<WxCatInfo> selectCate2 = new List<WxCatInfo>();
|
||
List<WxCatInfo> selectCate3 = new List<WxCatInfo>();
|
||
List<WxCatInfo> selectCate4 = new List<WxCatInfo>();
|
||
|
||
public WXUserCollectAuthProdEditNotesForm(KJDDBProduct prod)
|
||
{
|
||
InitializeComponent();
|
||
|
||
dbProd = prod;
|
||
}
|
||
|
||
private void ProductSelectListForm_Load(object sender, EventArgs e)
|
||
{
|
||
lstSelectCateList.Height = 180;
|
||
if (dbProd != null)
|
||
{
|
||
txtProductName.Text = dbProd.product_name;
|
||
txtSpuId.Text = dbProd.spu_id;
|
||
this.pictureBox1.Tag = dbProd.main_img.Replace("https", "http");
|
||
if (dbProd.main_img.Contains("wxapp"))
|
||
{
|
||
string getImgError = "";
|
||
this.pictureBox1.Image = ImageBuild.LoadBitmapLoadBitmipImageFromUrl(dbProd.main_img, out getImgError);
|
||
}
|
||
else
|
||
this.pictureBox1.ImageLocation = dbProd.main_img.Replace("https", "http");
|
||
this.txtNotes.Text = dbProd.notes;
|
||
this.txtFissionWords.Text = dbProd.fission_words.Replace("fission_goods_names:", "");
|
||
|
||
if (string.IsNullOrWhiteSpace(dbProd?.product_json))
|
||
{
|
||
dbProdDetail = GetPddProductDetail(dbProd.id.ToString());
|
||
//if (prodTmp != null)
|
||
//{
|
||
// dbProd = prodTmp;
|
||
//}
|
||
}
|
||
|
||
fillWxCate();
|
||
string catName = (dbProd.cat_name ?? dbProd.cat_id) + "(未识别)";
|
||
if (dbProd.wx_cat_1 != null)
|
||
{
|
||
var catN = GlobalConfig.WxCatList.FirstOrDefault(c => c.cat_id == dbProd.wx_cat_1.ParseToString())?.name;
|
||
cmbCateFilter1.Text = catN.ParseToString();
|
||
if (!string.IsNullOrEmpty(catN))
|
||
{
|
||
catName = catN;
|
||
}
|
||
}
|
||
if (dbProd.wx_cat_2 != null)
|
||
{
|
||
var catN = GlobalConfig.WxCatList.FirstOrDefault(c => c.cat_id == dbProd.wx_cat_2.ParseToString())?.name;
|
||
cmbCateFilter2.Text = catN.ParseToString();
|
||
if (!string.IsNullOrEmpty(catN))
|
||
{
|
||
catName = catName + " >> " + catN;
|
||
}
|
||
}
|
||
if (dbProd.wx_cat_3 != null)
|
||
{
|
||
var catN = GlobalConfig.WxCatList.FirstOrDefault(c => c.cat_id == dbProd.wx_cat_3.ParseToString())?.name;
|
||
cmbCateFilter3.Text = catN.ParseToString();
|
||
if (!string.IsNullOrEmpty(catN))
|
||
{
|
||
catName = catName + " >> " + catN;
|
||
}
|
||
}
|
||
if (dbProd.wx_cat_leaf != null)
|
||
{
|
||
var catN = GlobalConfig.WxCatList.FirstOrDefault(c => c.cat_id == dbProd.wx_cat_leaf.ParseToString())?.name;
|
||
cmbCateFilter4Leaf.Text = catN.ParseToString();
|
||
if (!string.IsNullOrEmpty(catN))
|
||
{
|
||
catName = catName + " >> " + catN;
|
||
}
|
||
}
|
||
txtCateSearch.WatermarkText = catName.Replace(">>", ">");
|
||
if (!dbProd.wx_cat_1.IsNullOrZero() && !dbProd.wx_cat_2.IsNullOrZero() && !dbProd.wx_cat_3.IsNullOrZero() && !dbProd.wx_cat_leaf.IsNullOrZero())
|
||
{
|
||
//this.cmbCateFilter1.Text =
|
||
}
|
||
}
|
||
}
|
||
|
||
void fillWxCate()
|
||
{
|
||
cmbCateFilter1.Items.Clear();
|
||
cmbCateFilter2.Items.Clear();
|
||
cmbCateFilter3.Items.Clear();
|
||
cmbCateFilter4Leaf.Items.Clear();
|
||
cmbCateFilter1.Text = "";
|
||
cmbCateFilter2.Text = "";
|
||
cmbCateFilter3.Text = "";
|
||
cmbCateFilter4Leaf.Text = "";
|
||
foreach (var cate in GlobalConfig.WxCatList.Where(c => c.level == 1).ToList())
|
||
{
|
||
cmbCateFilter1.Items.Add(cate.name);
|
||
}
|
||
}
|
||
|
||
private void btnOk_Click(object sender, EventArgs e)
|
||
{
|
||
var url = BaseClass.BuildPDDObjString("product/mdy_db_product");
|
||
var data = UserLogin.GetSignaturex() +
|
||
"&db_id=" + dbProd.id + "¬es=" + this.txtNotes.Text.Trim();
|
||
data += "&product_name=" + this.txtProductName.Text.Trim();
|
||
|
||
data += "&wx_cat_1=" + (selectCate1.FirstOrDefault()?.cat_id == null ? "null" : selectCate1.FirstOrDefault()?.cat_id.ParseToString());
|
||
data += "&wx_cat_2=" + (selectCate2.FirstOrDefault()?.cat_id == null ? "null" : selectCate2.FirstOrDefault()?.cat_id.ParseToString());
|
||
data += "&wx_cat_3=" + (selectCate3.FirstOrDefault()?.cat_id == null ? "null" : selectCate3.FirstOrDefault()?.cat_id.ParseToString());
|
||
data += "&wx_cat_leaf=" + (selectCate4.FirstOrDefault()?.cat_id == null ? "null" : selectCate4.FirstOrDefault()?.cat_id.ParseToString());
|
||
|
||
if (selectCate1.FirstOrDefault()?.cat_id != null)
|
||
{
|
||
data += "&main_cat_id=" + selectCate1.FirstOrDefault()?.cat_id +
|
||
"&main_cat_name=" + HttpUtility.UrlEncode(selectCate1.FirstOrDefault()?.name, Encoding.UTF8);
|
||
}
|
||
if (selectCate4.FirstOrDefault()?.cat_id != null)
|
||
{
|
||
data += "&cat_id=" + selectCate4.FirstOrDefault()?.cat_id +
|
||
"&cat_name=" + HttpUtility.UrlEncode(selectCate4.FirstOrDefault()?.name, Encoding.UTF8);
|
||
}
|
||
|
||
if (string.IsNullOrEmpty(this.txtFissionWords.Text.Trim()))
|
||
data += "&fission_words=";
|
||
else
|
||
data += "&fission_words=" + "fission_goods_names:" + this.txtFissionWords.Text.Trim();
|
||
var html = GetHtml.PostUtf8(url, data);
|
||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||
html = GetHtml.PostUtf8(url, data);
|
||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||
html = GetHtml.PostUtf8(url, data);
|
||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||
{
|
||
BaseMsgForm.ShowError("商品备注编辑失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
|
||
}
|
||
else
|
||
{
|
||
dbProd.notes = this.txtNotes.Text.Trim();
|
||
dbProd.product_name = this.txtProductName.Text.Trim();
|
||
dbProd.wx_cat_1 = selectCate1.FirstOrDefault()?.cat_id == null ? null : selectCate1.FirstOrDefault()?.cat_id.ParseToLong();
|
||
dbProd.wx_cat_2 = selectCate2.FirstOrDefault()?.cat_id == null ? null : selectCate2.FirstOrDefault()?.cat_id.ParseToLong();
|
||
dbProd.wx_cat_3 = selectCate3.FirstOrDefault()?.cat_id == null ? null : selectCate3.FirstOrDefault()?.cat_id.ParseToLong();
|
||
dbProd.wx_cat_leaf = selectCate4.FirstOrDefault()?.cat_id == null ? null : selectCate4.FirstOrDefault()?.cat_id.ParseToLong();
|
||
if (selectCate1.FirstOrDefault()?.cat_id != null)
|
||
{
|
||
dbProd.main_cat_id = selectCate1.FirstOrDefault()?.cat_id;
|
||
dbProd.main_cat_name = selectCate1.FirstOrDefault()?.name;
|
||
}
|
||
if (selectCate4.FirstOrDefault()?.cat_id != null)
|
||
{
|
||
dbProd.cat_id = selectCate4.FirstOrDefault()?.cat_id;
|
||
dbProd.cat_name = selectCate4.FirstOrDefault()?.name;
|
||
}
|
||
|
||
if (string.IsNullOrEmpty(this.txtFissionWords.Text.Trim()))
|
||
dbProd.fission_words = "";
|
||
else
|
||
dbProd.fission_words = "fission_goods_names:" + this.txtFissionWords.Text.Trim();
|
||
this.Close();
|
||
}
|
||
}
|
||
|
||
private void pictureBox1_Click(object sender, EventArgs e)
|
||
{
|
||
ShowImgForm imgFrom = new ShowImgForm(pictureBox1.ImageLocation.IsNullOrEmpty() ? pictureBox1.Tag.ParseToString() : pictureBox1.ImageLocation);
|
||
imgFrom.ShowDialog();
|
||
}
|
||
|
||
public static KJDDBProduct GetPddProductDetail(string prodDbId)
|
||
{
|
||
if (string.IsNullOrEmpty(prodDbId))
|
||
return new KJDDBProduct();
|
||
|
||
List<KJDDBProduct> list = new List<KJDDBProduct>();
|
||
|
||
var url = BaseClass.BuildPDDObjString("product/get_product_detail_list");
|
||
var data = "";
|
||
|
||
data = UserLogin.GetSignaturex() + "&search_db_ids=" + prodDbId;
|
||
if (BaseClass.SaLevel > 0 || BaseClass.UserAuthority.Contains("爆款数据"))
|
||
data += "&special_prod_type=普通商品,书籍,爆款数据";
|
||
|
||
var html = GetHtml.PostUtf8(url, data);
|
||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||
html = GetHtml.PostUtf8(url, data);
|
||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||
html = GetHtml.PostUtf8(url, data);
|
||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||
{
|
||
return null;
|
||
}
|
||
|
||
var jArr = JObject.Parse(html)["data"];
|
||
if (jArr.Count() == 0)
|
||
return null;
|
||
var sProd = JsonHelper.SerializeObject(jArr);
|
||
|
||
try
|
||
{
|
||
list = JsonHelper.DeserializeJsonToList<KJDDBProduct>(sProd);
|
||
var item = list.FirstOrDefault();
|
||
if (item == null)
|
||
item = new KJDDBProduct();
|
||
return item;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return null;
|
||
}
|
||
}
|
||
|
||
private void btnEditDetail_Click(object sender, EventArgs e)
|
||
{
|
||
bool canEdit = true;
|
||
var kjdDbProd = JsonHelper.DeserializeJsonToObject<KJDDBProduct>(JsonHelper.SerializeObject(dbProdDetail));
|
||
//{"goodsId":"2032007952082477057","warehouseGoodsId":"171C2881E8C6491CA65728683483EDE9","spuCode":"987651321321","skus":[{"skuId":"2032007952837451777","warehouseSkuId":"6B710CE261B240C38B5245006F3622A3","skuCode":"20190311002"},{"skuId":"2032007953839890434","warehouseSkuId":"2FA14AAB600541CAA72DDE7697D8D27A","skuCode":"201607090622"}]}
|
||
if (kjdDbProd.product_get_type_text == "厂商直采")
|
||
{
|
||
canEdit = true;
|
||
string convertRst = "";
|
||
var pInfo = new PDDProdFormConverter().JstPddProdToPddConvert(out convertRst, kjdDbProd);
|
||
if (!string.IsNullOrEmpty(convertRst))
|
||
{
|
||
BaseMsgForm.ShowError("商品结构获取失败 " + convertRst);
|
||
return;
|
||
}
|
||
}
|
||
if (kjdDbProd.product_get_type_text == "微信店采")
|
||
{
|
||
canEdit = true;
|
||
string convertRst = "";
|
||
var pInfo = new PDDProdFormConverter().WXProdToPddConvert(out convertRst, kjdDbProd);
|
||
if (!string.IsNullOrEmpty(convertRst))
|
||
{
|
||
BaseMsgForm.ShowError("商品结构获取失败");
|
||
return;
|
||
}
|
||
}
|
||
#region 微信小店app
|
||
if (dbProd.product_get_type_text == "微信小店")
|
||
{
|
||
canEdit = true;
|
||
string convertRst = "";
|
||
var pInfo = new PDDProdFormConverter().WXClientToPddConvert(out convertRst, kjdDbProd);
|
||
if (!string.IsNullOrEmpty(convertRst))
|
||
{
|
||
BaseMsgForm.ShowError("商品结构获取失败");
|
||
return;
|
||
}
|
||
}
|
||
#endregion
|
||
if (kjdDbProd.product_get_type_text == "1688厂家")
|
||
{
|
||
canEdit = true;
|
||
string convertRst = "";
|
||
var pInfo = new PDDProdFormConverter()._1688ClientToPddConvert(out convertRst, kjdDbProd);
|
||
if (!string.IsNullOrEmpty(convertRst))
|
||
{
|
||
BaseMsgForm.ShowError("商品结构获取失败");
|
||
return;
|
||
}
|
||
}
|
||
if (kjdDbProd.product_get_type_text == "1688外部数据")
|
||
{
|
||
canEdit = true;
|
||
string convertRst = "";
|
||
var pInfo = new PDDProdFormConverter()._1688OutToPddConvert(out convertRst, kjdDbProd);
|
||
if (!string.IsNullOrEmpty(convertRst))
|
||
{
|
||
BaseMsgForm.ShowError("商品结构获取失败");
|
||
return;
|
||
}
|
||
}
|
||
|
||
PDDDBProdEditDetailForm editDetailForm = new PDDDBProdEditDetailForm(kjdDbProd);
|
||
if (!canEdit)
|
||
{
|
||
editDetailForm.btnRestoreAll.Visible = false;
|
||
editDetailForm.btnSaveSkuLst.Visible = false;
|
||
}
|
||
editDetailForm.ShowDialog();
|
||
if (editDetailForm.IsSave)
|
||
this.Close();
|
||
}
|
||
|
||
private void btnBookImg_Click(object sender, EventArgs e)
|
||
{
|
||
var prodJson = this.dbProd.product_json;
|
||
var prodInfo = JsonHelper.DeserializeJsonToObject<AllBase.Model.Result.PDDResult.PDDProductInfo>(prodJson);
|
||
if (prodInfo != null)
|
||
{
|
||
string publisher = "出版社:" + new List<string> () { "技术出版社", "文化出版社", "美术出版社" }[Randomx.GetId(3)];
|
||
string isbn = "ISBN:";
|
||
string bookName = "书名:";
|
||
string bookPrice = "定价:" + prodInfo.detail.sku.Max(s => s.multi_price) * 0.01;
|
||
string author = "作者:王老师";
|
||
string publishTime = "出版时间:" + DateTime.Now.AddMonths(-3);
|
||
string edition = "版次:1";
|
||
string binding = "装帧:平装";
|
||
|
||
foreach (var propInfo in prodInfo.property.goods_properties)
|
||
{
|
||
if (propInfo.name.Contains("出版社名称"))
|
||
publisher = "出版社:" + propInfo.values.FirstOrDefault()?.value;
|
||
else if (propInfo.name.Contains("ISBN"))
|
||
isbn = "ISBN:" + propInfo.values.FirstOrDefault()?.value;
|
||
else if (propInfo.name.Contains("书名"))
|
||
bookName = "书名:" + propInfo.values.FirstOrDefault()?.value;
|
||
else if (propInfo.name.Contains("定价"))
|
||
bookPrice = "定价:" + propInfo.values.FirstOrDefault()?.value;
|
||
else if (propInfo.name.Contains("作者"))
|
||
author = "作者:" + propInfo.values.FirstOrDefault()?.value;
|
||
else if (propInfo.name.Contains("出版时间"))
|
||
publishTime = "出版时间:" + propInfo.values.FirstOrDefault()?.value;
|
||
else if (propInfo.name.Contains("版次"))
|
||
edition = "版次:" + propInfo.values.FirstOrDefault()?.value;
|
||
else if (propInfo.name.Contains("装帧"))
|
||
binding = "装帧:" + propInfo.values.FirstOrDefault()?.value;
|
||
}
|
||
|
||
var bookStr = publisher + "\r\n" + "\r\n" +
|
||
isbn + "\r\n" + "\r\n" +
|
||
bookName + "\r\n" + "\r\n" +
|
||
bookPrice + "\r\n" + "\r\n" +
|
||
author + "\r\n" + "\r\n" +
|
||
publishTime + "\r\n" + "\r\n" +
|
||
edition + "\r\n" + "\r\n" +
|
||
binding;
|
||
|
||
var imageBg = new Bitmap(800, 800);
|
||
using (Graphics g = Graphics.FromImage(imageBg))
|
||
{
|
||
g.Clear(Color.White);
|
||
//Font font = new Font("宋体", 15, FontStyle.Bold);
|
||
Font font = new Font("微软雅黑", 15, FontStyle.Regular);
|
||
Brush textBrush = Brushes.Black;
|
||
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
|
||
RectangleF rectF = new RectangleF(80, 80, 800 - 80, 800 - 80);
|
||
g.DrawString(bookStr, font, textBrush, rectF);
|
||
}
|
||
ShowImgForm imgFrom = new ShowImgForm(imageBg);
|
||
imgFrom.ShowDialog();
|
||
}
|
||
}
|
||
|
||
private void cmbCateFilter1_TextChanged(object sender, EventArgs e)
|
||
{
|
||
//if (cmbSourceType.Text != "厂商直采" && cmbSourceType.Text != "1688厂家" && cmbSourceType.Text != "微信店采" && cmbSourceType.Text != "微信小店")
|
||
//if (btnSwitchCatType.Text != "W")
|
||
// return;
|
||
|
||
cmbCateFilter2.Text = "";
|
||
cmbCateFilter2.Items.Clear();
|
||
cmbCateFilter3.Text = "";
|
||
cmbCateFilter3.Items.Clear();
|
||
selectCate1 = GlobalConfig.WxCatList
|
||
.Where(c => c.level == 1 && (";" + cmbCateFilter1.Text.Trim() + ";").Contains(";" + c.name + ";")).ToList();
|
||
var cates2 = GlobalConfig.WxCatList.Where(c => selectCate1.Any(c1 => c.f_cat_id == c1.cat_id)).ToList();
|
||
cmbCateFilter2.Items.AddRange(cates2.Select(c => c.name).ToArray());
|
||
}
|
||
|
||
private void cmbCateFilter2_TextChanged(object sender, EventArgs e)
|
||
{
|
||
//if (cmbSourceType.Text != "厂商直采" && cmbSourceType.Text != "1688厂家" && cmbSourceType.Text != "微信店采" && cmbSourceType.Text != "微信小店")
|
||
//if (btnSwitchCatType.Text != "W")
|
||
// return;
|
||
|
||
cmbCateFilter3.Text = "";
|
||
cmbCateFilter3.Items.Clear();
|
||
selectCate1 = GlobalConfig.WxCatList
|
||
.Where(c => c.level == 1 && (";" + cmbCateFilter1.Text.Trim() + ";").Contains(";" + c.name + ";")).ToList();
|
||
var cates2 = GlobalConfig.WxCatList.Where(c => selectCate1.Any(c1 => c.f_cat_id == c1.cat_id)).ToList();
|
||
selectCate2 = cates2
|
||
.Where(c => c.level == 2 && (";" + cmbCateFilter2.Text.Trim() + ";").Contains(";" + c.name + ";")).ToList();
|
||
var cates3 = GlobalConfig.WxCatList.Where(c => selectCate2.Any(c2 => c.f_cat_id == c2.cat_id)).ToList();
|
||
cmbCateFilter3.Items.AddRange(cates3.Select(c => c.name).ToArray());
|
||
}
|
||
|
||
private void cmbCateFilter3_TextChanged(object sender, EventArgs e)
|
||
{
|
||
//var cate1 = GlobalConfig.WxCatList.FirstOrDefault(c => c.level == 1 && c.name == cmbCat1.Text.Trim());
|
||
//var cates2 = GlobalConfig.WxCatList.Where(c => c.f_cat_id == cate1?.cat_id).ToList();
|
||
//var cate2 = cates2.FirstOrDefault(c => c.level == 2 && c.name == cmbCat1.Text.Trim());
|
||
//var cates3 = GlobalConfig.WxCatList.Where(c => c.f_cat_id == cate2?.cat_id).ToList();
|
||
//var cate3 = cates3.FirstOrDefault(c => c.level == 3 && c.name == cmbCat1.Text.Trim());
|
||
|
||
cmbCateFilter4Leaf.Text = "";
|
||
cmbCateFilter4Leaf.Items.Clear();
|
||
|
||
selectCate1 = GlobalConfig.WxCatList
|
||
.Where(c => c.level == 1 && (";" + cmbCateFilter1.Text.Trim() + ";").Contains(";" + c.name + ";")).ToList();
|
||
var cates2 = GlobalConfig.WxCatList.Where(c => selectCate1.Any(c1 => c.f_cat_id == c1.cat_id)).ToList();
|
||
selectCate2 = cates2
|
||
.Where(c => c.level == 2 && (";" + cmbCateFilter2.Text.Trim() + ";").Contains(";" + c.name + ";")).ToList();
|
||
var cates3 = GlobalConfig.WxCatList.Where(c => selectCate2.Any(c2 => c.f_cat_id == c2.cat_id)).ToList();
|
||
selectCate3 = cates3
|
||
.Where(c => c.level == 3 && (";" + cmbCateFilter3.Text.Trim() + ";").Contains(";" + c.name + ";")).ToList();
|
||
var cates4 = GlobalConfig.WxCatList.Where(c => selectCate3.Any(c3 => c.f_cat_id == c3.cat_id) || selectCate3.Any(c3 => c.cat_id == c3.cat_id && c.leaf)).ToList();
|
||
if (cates4.Count == 1)
|
||
cmbCateFilter4Leaf.Text = cates4.FirstOrDefault().name;
|
||
cmbCateFilter4Leaf.Items.AddRange(cates4.Select(c => c.name).ToArray());
|
||
}
|
||
|
||
private void cmbCateFilter4Leaf_TextChanged(object sender, EventArgs e)
|
||
{
|
||
selectCate1 = GlobalConfig.WxCatList
|
||
.Where(c => c.level == 1 && (";" + cmbCateFilter1.Text.Trim() + ";").Contains(";" + c.name + ";")).ToList();
|
||
var cates2 = GlobalConfig.WxCatList.Where(c => selectCate1.Any(c1 => c.f_cat_id == c1.cat_id)).ToList();
|
||
selectCate2 = cates2
|
||
.Where(c => c.level == 2 && (";" + cmbCateFilter2.Text.Trim() + ";").Contains(";" + c.name + ";")).ToList();
|
||
var cates3 = GlobalConfig.WxCatList.Where(c => selectCate2.Any(c2 => c.f_cat_id == c2.cat_id)).ToList();
|
||
selectCate3 = cates3
|
||
.Where(c => c.level == 3 && (";" + cmbCateFilter3.Text.Trim() + ";").Contains(";" + c.name + ";")).ToList();
|
||
var cates4 = GlobalConfig.WxCatList.Where(c => selectCate3.Any(c3 => c.f_cat_id == c3.cat_id) || selectCate3.Any(c3 => c.cat_id == c3.cat_id && c.leaf)).ToList();
|
||
selectCate4 = cates4
|
||
.Where(c => c.leaf && (";" + cmbCateFilter4Leaf.Text.Trim() + ";").Contains(";" + c.name + ";")).ToList();
|
||
var selCat = selectCate4.FirstOrDefault();
|
||
lblBound.Text ="保证金:" + GlobalConfig.WxCatBoundList.FirstOrDefault(cb => cb.leaf_id == selCat?.cat_id.ParseToLong())?.cat_bound;
|
||
}
|
||
|
||
private void cmbCateFilter1_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
|
||
}
|
||
|
||
private void cmbCateFilter2_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
|
||
}
|
||
|
||
private void cmbCateFilter3_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
|
||
}
|
||
|
||
private void cmbCateFilter4Leaf_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
|
||
}
|
||
|
||
private void btnDelCate_Click(object sender, EventArgs e)
|
||
{
|
||
cmbCateFilter1.Text = "";
|
||
txtCateSearch.WatermarkText = "(未识别)";
|
||
//cmbCateFilter2.Text = "";
|
||
//cmbCateFilter3.Text = "";
|
||
//cmbCateFilter4Leaf.Text = "";
|
||
}
|
||
|
||
|
||
private void txtCateSearch_TextChanged(object sender, EventArgs e)
|
||
{
|
||
var searchTxt = txtCateSearch.Text.Trim();
|
||
List<WxCatInfo> wxCatList = new List<WxCatInfo>();
|
||
if (!string.IsNullOrEmpty(searchTxt))
|
||
{
|
||
wxCatList.AddRange(GlobalConfig.WxCatList.Where(c => c.leaf && c.name.Contains(searchTxt)));
|
||
wxCatList.AddRange(GlobalConfig.WxCatList.Where(c => c.level == 3 && !c.leaf && c.name.Contains(searchTxt)));
|
||
wxCatList.AddRange(GlobalConfig.WxCatList.Where(c => c.level == 2 && !c.leaf && c.name.Contains(searchTxt)));
|
||
wxCatList.AddRange(GlobalConfig.WxCatList.Where(c => c.level == 1 && !c.leaf && c.name.Contains(searchTxt)));
|
||
}
|
||
wxCatList = wxCatList.Take(50).ToList();
|
||
|
||
lstSelectCateList.Items.Clear();
|
||
foreach (var cate in wxCatList)
|
||
{
|
||
var cateTmp = cate;
|
||
string cateName = cateTmp.name;
|
||
var parent = GlobalConfig.WxCatList.FirstOrDefault(c => c.cat_id == cateTmp.f_cat_id);
|
||
while (parent != null)
|
||
{
|
||
cateTmp = parent;
|
||
cateName = cateTmp.name + " >> " + cateName;
|
||
parent = GlobalConfig.WxCatList.FirstOrDefault(c => c.cat_id == cateTmp.f_cat_id);
|
||
}
|
||
string bountStr = " 保证金:" + GlobalConfig.WxCatBoundList.FirstOrDefault(cb => cb.leaf_id == cate.cat_id.ParseToLong())?.cat_bound;
|
||
lstSelectCateList.Items.Add(cateName + bountStr);
|
||
}
|
||
|
||
if (lstSelectCateList.Items.Count > 0)
|
||
{
|
||
lstSelectCateList.Visible = true;
|
||
btnCloseLst.Visible = true;
|
||
lstSelectCateList.BringToFront();
|
||
btnCloseLst.BringToFront();
|
||
}
|
||
else
|
||
{
|
||
lstSelectCateList.Visible = false;
|
||
btnCloseLst.Visible = false;
|
||
}
|
||
}
|
||
|
||
private void lstSelectCateList_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
var cateStr = lstSelectCateList.SelectedItem.ParseToString().Split(new string[] { "保证金" }, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault()?.Trim();
|
||
var cateItems = cateStr.Split(new string[] { ">", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||
if (cateItems.Count > 0)
|
||
cmbCateFilter1.Text = cateItems[0];
|
||
if (cateItems.Count > 1)
|
||
cmbCateFilter2.Text = cateItems[1];
|
||
if (cateItems.Count > 2)
|
||
cmbCateFilter3.Text = cateItems[2];
|
||
if (cateItems.Count > 3)
|
||
cmbCateFilter4Leaf.Text = cateItems[3];
|
||
|
||
txtCateSearch.WatermarkText = lstSelectCateList.SelectedItem.ParseToString();
|
||
|
||
lstSelectCateList.Visible = false;
|
||
btnCloseLst.Visible = false;
|
||
}
|
||
|
||
private void btnCloseLst_Click(object sender, EventArgs e)
|
||
{
|
||
lstSelectCateList.Visible = false;
|
||
btnCloseLst.Visible = false;
|
||
}
|
||
}
|
||
}
|