306 lines
12 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|