Files
KJD/TEMUKJD/WXForms/TalkForms/WxOrderListForm.cs
T

306 lines
12 KiB
C#

using AllBase;
using AllBase.Helper;
using AllBase.Model.Param;
using AllBase.Model.Result;
using AllBase.Model.Result.PDDResult;
using AllBase.Model.Result.WXResult;
using NaiBa.Util;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using TemuKJD.BLL;
using TemuKJD.Extension;
using TemuKJD.PDDForms.ProductSelectForms;
using TemuKJD.ToolForms;
using Work;
namespace TemuKJD.WXForms.TalkForms
{
public partial class WxOrderListForm : BaseGeneralForm
{
private static WxOrderListForm instance = null;
public static WxOrderListForm Instance { get { if (instance == null || instance.IsDisposed || instance.Disposing) instance = new WxOrderListForm(); return instance; } }
ShopLoginInfo currentShop { get; set; } = null;
ConcurrentList<KJDDBProduct> lstTemuDbProduct { get; set; } = new ConcurrentList<KJDDBProduct>();
public CancellationTokenSource cancellationTokenSource { get; set; } = new CancellationTokenSource();
public WxOrderListForm()
{
InitializeComponent();
instance = this;
}
private void ProductListForm_Load(object sender, EventArgs e)
{
btnSelect.Visible = true;
}
private void btnSearch_Click(object sender, EventArgs e)
{
}
Bitmap defaultBitmap = null;
void ShowDgvImg()
{
Task.Run(() =>
{
foreach (DataGridViewRow row in this.dgvDbProduct.Rows)
{
if (row.Index > 0 && row.Cells["colMainImg"].Displayed == false)
{
Invoke(new Action(() =>
{
try
{
row.Cells["colMainImg"].Value = defaultBitmap;
}
catch
{
}
}));
continue;
}
if (row.Cells["colMainImg"].Value != null && row.Cells["colMainImg"].Value != defaultBitmap)
continue;
Image image = null;
string imgUrl = row.Cells["colImgUrl"]?.Value.ParseToString();
string getImgError = "";
if (!string.IsNullOrWhiteSpace(imgUrl))
image = GetHtml.GetUrlImg(imgUrl, out getImgError);
if (!string.IsNullOrEmpty(getImgError))
//BaseMsgForm.ShowError("图片加载失败 " + getImgError);
image = TemuKJD.Properties.Resources.errpic;
Invoke(new Action(() =>
{
try
{
row.Cells["colMainImg"].Value = image;
}
catch
{
}
}));
}
});
}
private void ProductListForm_VisibleChanged(object sender, EventArgs e)
{
}
private void pnlEmpty_Click(object sender, EventArgs e)
{
this.txtOrderSn.Text = "";
}
private void cmbCat1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void cmbCat2_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void cmbCat3_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void cmbCat1_MultiSelectChanged(object sender, EventArgs e)
{
}
private void cmbCat2_MultiSelectChanged(object sender, EventArgs e)
{
}
private void cmbCat3_MultiSelectChanged(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());
}
private void dgvDbProduct_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string headerText = dgvDbProduct.Columns[e.ColumnIndex].HeaderText;
var dbId = dgvDbProduct.Rows[e.RowIndex].Cells["col_db_id"].Value.ParseToString();
var dbProduct = lstTemuDbProduct.FirstOrDefault(p => p.id.ToString() == dbId);
switch (headerText)
{
case "详情":
case "编辑/详情":
//PDDDBProdEditForm editForm = new PDDDBProdEditForm(dbProduct);
//if (BaseClass.MainPath != "binxixi")
//{
// editForm.pnlSkuOption.Visible = false;
// editForm.txtProductName.ReadOnly = true;
// editForm.txtExtCode.ReadOnly = true;
// editForm.lblSkcId.Text = "仓库编码";
//}
//editForm.ShowDialog();
//dgvDbProduct.Rows[e.RowIndex].Cells["col_notes"].Value = dbProduct.notes;
//dgvDbProduct.Rows[e.RowIndex].Cells["col_ext_code"].Value = dbProduct.ext_code;
//dgvDbProduct.Rows[e.RowIndex].Cells["colHeadWords"].Value = dbProduct.head_words;
//dgvDbProduct.Rows[e.RowIndex].Cells["colEndWords"].Value = dbProduct.end_words;
//dgvDbProduct.Rows[e.RowIndex].Cells["colFissionWords"].Value = dbProduct.fission_words;
//dgvDbProduct.Rows[e.RowIndex].Cells["col_product_name"].Value = dbProduct.product_name;
//dgvDbProduct.Rows[e.RowIndex].Cells["colSkuReplaceImgUrl"].Value = dbProduct.sku_img_replace_url;
break;
case "主图":
ShowImgForm imgFrom = new ShowImgForm(dgvDbProduct.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString().Replace("?imageView2/2/w/90/h/90", ""));
imgFrom.ShowDialog();
break;
case "认领":
//Task.Run(() => { SelectProduct(new KJDDBProduct[] { dbProduct }); });
break;
case "资料编码/真实上家":
try
{
string url = "";
if (string.IsNullOrEmpty(dbProduct.real_spu_id) || string.IsNullOrEmpty(dbProduct.real_coid))
url = "https://sc.scm121.com/manage/goods/qualitySupplier/goodsDetail/" + dbProduct.spu_id + "?itemCoId=" + dbProduct.skc_id + "&noBack=true";
else
url = "https://sc.scm121.com/manage/goods/qualitySupplier/goodsDetail/" + dbProduct.real_spu_id + "?itemCoId=" + dbProduct.real_coid + "&noBack=true";
Process.Start(new ProcessStartInfo(url)
{
UseShellExecute = true
});
}
catch
{
// 可能需要手动指定浏览器路径
Process.Start(new ProcessStartInfo("https://www.baidu.com") { UseShellExecute = true });
}
break;
case "":
dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value;
//rowIndex1 = rowIndex2;
//rowIndex2 = e.RowIndex;
//if (IsShiftDown)
//{
// if (rowIndex1 > -1 && rowIndex2 > -1)
// {
// try
// {
// if (rowIndex1 > rowIndex2)
// {
// for (int i = rowIndex2; i <= rowIndex1; i++)
// {
// dgvDbProduct.Rows[i].Cells["colSelect"].Value = dgvDbProduct.Rows[rowIndex1].Cells["colSelect"].Value;
// }
// }
// else
// {
// for (int i = rowIndex1; i <= rowIndex2; i++)
// {
// dgvDbProduct.Rows[i].Cells["colSelect"].Value = dgvDbProduct.Rows[rowIndex1].Cells["colSelect"].Value;
// }
// }
// }
// catch
// {
// }
// //rowIndex1 = -1;
// //rowIndex2 = -1;
// }
//}
break;
default:
break;
}
}
private void DeleteProduct(string dbId, bool isUpdate = true)
{
var url = BaseClass.BuildPDDObjString("product/del_db_product");
var data = UserLogin.GetSignaturex() +
"&db_id=" + dbId;
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"));
return;
}
else
{
}
}
private void btnSelect_Click(object sender, EventArgs e)
{
}
private void dgvDbProduct_Scroll(object sender, ScrollEventArgs e)
{
ShowDgvImg();
}
private void btnStopStop_Click(object sender, EventArgs e)
{
if (cancellationTokenSource != null)
cancellationTokenSource.Cancel();
Task.Run(() =>
{
Thread.Sleep(3000);
Invoke(new Action(() =>
{
if (cancellationTokenSource == null || cancellationTokenSource.IsCancellationRequested)
pbLoading.Visible = false;
}));
});
}
private void PDDDBProdListForm_KeyDown(object sender, KeyEventArgs e)
{
//switch (e.KeyCode)
//{
// case Keys.Shift:
// case Keys.ShiftKey:
// case Keys.LShiftKey:
// case Keys.RShiftKey:
// IsShiftDown = true;
// break;
//}
}
private void PDDDBProdListForm_KeyUp(object sender, KeyEventArgs e)
{
}
private void WXUserProdListForm_FormClosing(object sender, FormClosingEventArgs e)
{
this.Hide();
e.Cancel = true;
}
}
}