1拼多多sku货号价格 2拼多多sku增删改功能(70%)
This commit is contained in:
1 parent
4dde0936ed
commit
ad238cd241
31 files changed
+3155
-348
No files matched your search
@@ -27,7 +27,7 @@ namespace AllBase
|
||||
/// <summary>
|
||||
/// 版本ID
|
||||
/// </summary>
|
||||
public static int VersionCount = 718;
|
||||
public static int VersionCount = 722;
|
||||
//public static int VersionCount = 613;
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -24,9 +24,17 @@ namespace AllBase.Model.Result
|
||||
/// </summary>
|
||||
public string price_text { get; set; }
|
||||
public string ext_code { get; set; }
|
||||
/// <summary>
|
||||
/// 拼多多货号价格
|
||||
/// </summary>
|
||||
public int? ext_code_price { get; set; }
|
||||
public string product_name { get; set; }
|
||||
public string product_json { get; set; }
|
||||
public string size_json { get; set; }
|
||||
/// <summary>
|
||||
/// sku编辑后存储列表
|
||||
/// </summary>
|
||||
public string sku_edit_json { get; set; }
|
||||
public int sku_img_replace_id { get; set; }
|
||||
public string sku_img_replace_base64 { get; set; }
|
||||
public string sku_img_replace_url { get; set; }
|
||||
|
||||
@@ -227,6 +227,11 @@ namespace AllBase.Model.Result.PDDResult
|
||||
public string mall_name { get; set; }
|
||||
}
|
||||
|
||||
public class sku_edit_item : sku_item
|
||||
{
|
||||
public string thumb_md5 { get; set; }
|
||||
}
|
||||
|
||||
public class sku_item
|
||||
{
|
||||
public long? id { get; set; }
|
||||
@@ -235,7 +240,7 @@ namespace AllBase.Model.Result.PDDResult
|
||||
public int? carnival_price { get; set; }
|
||||
public int? init_quantity { get; set; }
|
||||
public int? is_onsale { get; set; }
|
||||
public int? limit_quantity { get; set; } // 999999 max
|
||||
public int? limit_quantity { get; set; } = 999999; // 999999 max
|
||||
public int? multi_price { get; set; }
|
||||
public object multi_price_in_yuan { get; set; }
|
||||
public int? price { get; set; }
|
||||
|
||||
@@ -596,5 +596,256 @@ namespace KJD_Web.BLL.BXX
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public string AddExtCodePrice(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt();
|
||||
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
|
||||
if (time1 != EncrypUtil.Encryption(time))
|
||||
return "{\"code\":50000,\"msg\":\"校验失败\"}";
|
||||
|
||||
string user_name = RegexUtils.GetStringQuery(ref inputData, "user_name");
|
||||
string ext_code = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "ext_code")).ParseToString();
|
||||
int ext_code_price = RegexUtils.GetStringQuery(ref inputData, "ext_code_price").ParseToInt();
|
||||
|
||||
if (string.IsNullOrEmpty(user_name))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"没有用户名\"}";
|
||||
}
|
||||
if (string.IsNullOrEmpty(ext_code))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"没有货号\"}";
|
||||
}
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
List<MySqlParameter> paramLst = new List<MySqlParameter>();
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@ext_code", Value = ext_code, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "@ext_code_price", Value = ext_code_price, });
|
||||
|
||||
string sql= "select count(ext_code) from bxx.ext_code_price where ext_code=@ext_code";
|
||||
var count = mySql.ExecuteRowCount(sql, paramLst.ToArray());
|
||||
if (count.ParseToInt() > 0)
|
||||
{
|
||||
sql = "update bxx.ext_code_price set ext_code_price=@ext_code_price where ext_code=@ext_code";
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "insert into bxx.ext_code_price (ext_code,ext_code_price) values (@ext_code,@ext_code_price);";
|
||||
}
|
||||
|
||||
var rst = mySql.ExecuteNonQuery(sql, paramLst.ToArray());
|
||||
mySql.Close();
|
||||
if (rst)
|
||||
{
|
||||
return "{\"code\":200,\"msg\":\"success\"}";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "{\"code\":502,\"msg\":\"" + mySql.Message + "\"}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string GetExtCodePriceList(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt();
|
||||
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
|
||||
if (time1 != EncrypUtil.Encryption(time))
|
||||
return "{\"code\":50000,\"msg\":\"校验失败\"}";
|
||||
|
||||
var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name");
|
||||
var password = RegexUtils.GetStringQuery(ref inputData, "password");
|
||||
|
||||
string start_ext_price = RegexUtils.GetStringQuery(ref inputData, "start_ext_price");
|
||||
string end_ext_price = RegexUtils.GetStringQuery(ref inputData, "end_ext_price");
|
||||
var search_ext_code = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "search_ext_code"));
|
||||
var in_ext_code = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "in_ext_code"));
|
||||
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
||||
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50);
|
||||
if (string.IsNullOrEmpty(user_name))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"没有用户名\"}";
|
||||
}
|
||||
|
||||
|
||||
List<MySqlParameter> paramLst = new List<MySqlParameter>();
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@search_ext_code", Value = "%" + search_ext_code + "%", });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "@start_ext_price", Value = start_ext_price.ParseToInt(), });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "@end_ext_price", Value = end_ext_price.ParseToInt(), });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@in_ext_code", Value = in_ext_code.ParseToString() });
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
string sql = "select count(id) from bxx.ext_code_price p where 1=1";
|
||||
|
||||
string where = "";
|
||||
if (!string.IsNullOrWhiteSpace(search_ext_code))
|
||||
where += " and p.ext_code like @search_ext_code";
|
||||
if (!string.IsNullOrWhiteSpace(start_ext_price))
|
||||
where += " and p.ext_code_price >= @start_ext_price";
|
||||
if (!string.IsNullOrWhiteSpace(end_ext_price))
|
||||
where += " and p.ext_code_price <= @end_ext_price";
|
||||
if (!string.IsNullOrEmpty(in_ext_code))
|
||||
where += " and p.ext_code in ('" + in_ext_code?.Replace(",", "','") + "')";
|
||||
sql += where;
|
||||
|
||||
var count = mySql.ExecuteRowCount(sql, paramLst.ToArray());
|
||||
|
||||
DataTable dt;
|
||||
if (count == 0)
|
||||
{
|
||||
dt = new DataTable();
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "select * from bxx.ext_code_price p where 1=1";
|
||||
|
||||
//where子句
|
||||
sql += where;
|
||||
|
||||
sql += " order by p.id desc";
|
||||
sql += " limit " + Math.Max(page - 1, 0) * page_size + "," + page_size;
|
||||
dt = mySql.ExecuteDataTable(sql, paramLst.ToArray());
|
||||
}
|
||||
|
||||
mySql.Close();
|
||||
if (dt != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
List<DBExtCodePriceResult> priceList = new List<DBExtCodePriceResult>();
|
||||
foreach (DataRow row in dt.Rows)
|
||||
{
|
||||
DBExtCodePriceResult price = new DBExtCodePriceResult
|
||||
{
|
||||
id = row["id"].ParseToInt(),
|
||||
ext_code_price = row["ext_code_price"].ParseToInt(),
|
||||
ext_code = row["ext_code"].ParseToString(),
|
||||
add_time = Convert.ToDateTime(row["add_time"]),
|
||||
mdy_time = Convert.ToDateTime(row["mdy_time"]),
|
||||
};
|
||||
priceList.Add(price);
|
||||
}
|
||||
var data = JsonUtils.SerializerObjectToString(priceList);
|
||||
return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + "}";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"" + ex.Message + "\",\"data\":[],\"count\":" + 0 + "}";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"data\":[],\"count\":" + 0 + "}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string DelDbExtCodePrice(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt();
|
||||
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
|
||||
if (time1 != EncrypUtil.Encryption(time))
|
||||
return "{\"code\":50000,\"msg\":\"校验失败\"}";
|
||||
|
||||
var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'");
|
||||
var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'");
|
||||
|
||||
if (string.IsNullOrEmpty(user_name))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"没有用户名\"}";
|
||||
}
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "delete from bxx.ext_code_price where id='" + id + "'";
|
||||
|
||||
var rst = mySql.ExecuteNonQuery(sql);
|
||||
mySql.Close();
|
||||
if (rst)
|
||||
{
|
||||
return "{\"code\":200,\"msg\":\"success\"}";
|
||||
}
|
||||
else
|
||||
return "{\"code\":500,\"msg\":\"删除失败:" + mySql.Message + "\"}";
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string MdyDBExtCodePrice(string inputData, bool isAdmin = false)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt();
|
||||
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
|
||||
if (time1 != EncrypUtil.Encryption(time))
|
||||
return "{\"code\":50000,\"msg\":\"校验失败\"}";
|
||||
|
||||
var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name");
|
||||
var db_id = RegexUtils.GetStringQuery(ref inputData, "db_id");
|
||||
string ext_code = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "ext_code"));
|
||||
string ext_code_price = RegexUtils.GetStringQuery(ref inputData, "original_price");
|
||||
|
||||
if (string.IsNullOrEmpty(user_name))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"没有用户名\"}";
|
||||
}
|
||||
|
||||
List<MySqlParameter> paramLst = new List<MySqlParameter>();
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@ext_code", Value = ext_code, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "@ext_code_price", Value = ext_code_price.ParseToInt(), });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "@db_id", Value = db_id, });
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
//string sqlExist = "select count(ext_code) from bxx.ext_code_price where ext_code=@ext_code and id!=@db_id";
|
||||
//var has = mySql.ExecuteFirst(sqlExist, paramLst.ToArray());
|
||||
//if (has != "0")
|
||||
//{
|
||||
// mySql.Close();
|
||||
// return "{\"code\":501,\"msg\":\"货号 " + ext_code + " 价格数据已存在\"}";
|
||||
//}
|
||||
|
||||
string sql = "update bxx.ext_code_price set";
|
||||
if (ext_code != null)
|
||||
sql += " ext_code=@ext_code,";
|
||||
if (ext_code_price != null)
|
||||
sql += " ext_code_price=@ext_code_price,";
|
||||
sql = sql.TrimEnd(',');
|
||||
sql += " where id=@db_id;";
|
||||
|
||||
var rst = mySql.ExecuteNonQuery(sql, paramLst.ToArray());
|
||||
mySql.Close();
|
||||
if (rst)
|
||||
{
|
||||
return "{\"code\":200,\"msg\":\"success\"}";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"更新失败:" + mySql.Message + "\"}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -211,16 +211,24 @@ namespace KJD_Web.BLL.BXX
|
||||
else
|
||||
{
|
||||
if (isDetail)
|
||||
sql = "select p.*,s.img_base64,s.img_url from bxx.product p left join bxx.sku_img_replace s ON p.sku_img_replace_id=s.id where p.is_del=0";
|
||||
sql = "select p.*,s.img_base64,s.img_url,e.ext_code_price from bxx.product p" +
|
||||
" left join bxx.sku_img_replace s ON p.sku_img_replace_id=s.id" +
|
||||
" LEFT JOIN bxx.ext_code_price e ON p.ext_code=e.ext_code" +
|
||||
" where p.is_del=0";
|
||||
else if (string.IsNullOrEmpty(get_select_count))
|
||||
sql = "select p.id,p.from_shop_id,p.spu_id,p.skc_id,p.main_cat_id,p.main_cat_name,p.cat_id,p.cat_name,p.price_text,p.ext_code,p.product_name,p.main_img,p.notes," +
|
||||
"p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,p.sku_img_replace_id,p.group,s.img_url from bxx.product p " +
|
||||
"left join bxx.sku_img_replace s ON p.sku_img_replace_id=s.id where p.is_del=0";
|
||||
" p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,p.sku_img_replace_id,p.group,s.img_url,e.ext_code_price" +
|
||||
" FROM bxx.product p " +
|
||||
" left join bxx.sku_img_replace s ON p.sku_img_replace_id=s.id" +
|
||||
" LEFT JOIN bxx.ext_code_price e ON p.ext_code=e.ext_code" +
|
||||
" where p.is_del=0";
|
||||
else
|
||||
sql = "SELECT p.id,p.from_shop_id,p.spu_id,p.skc_id,p.main_cat_id,p.main_cat_name,p.cat_id,p.cat_name,p.price_text,p.ext_code,p.product_name,p.main_img,p.notes," +
|
||||
"p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,p.sku_img_replace_id,p.group,s.img_url,COUNT(se.id) AS select_count " +
|
||||
"FROM bxx.product p left join bxx.sku_img_replace s ON p.sku_img_replace_id=s.id LEFT JOIN bxx.product_select se ON p.id=se.out_product_id AND se.shop_id='" + select_shop_id + "' " +
|
||||
"WHERE p.is_del=0";
|
||||
" p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,p.sku_img_replace_id,p.group,s.img_url,COUNT(se.id) AS select_count," +
|
||||
" e.ext_code_price" +
|
||||
" FROM bxx.product p left join bxx.sku_img_replace s ON p.sku_img_replace_id=s.id LEFT JOIN bxx.product_select se ON p.id=se.out_product_id AND se.shop_id='" + select_shop_id + "' " +
|
||||
" LEFT JOIN bxx.ext_code_price e ON p.ext_code=e.ext_code" +
|
||||
" WHERE p.is_del=0";
|
||||
|
||||
//where子句
|
||||
sql += where;
|
||||
@@ -253,7 +261,8 @@ namespace KJD_Web.BLL.BXX
|
||||
cat_name = row["cat_name"].ToString(),
|
||||
product_name = row["product_name"].ToString(),
|
||||
main_img = row["main_img"].ToString(),
|
||||
ext_code = row["ext_code"].ToString(),
|
||||
ext_code = row["ext_code"].ToString(),
|
||||
ext_code_price = row["ext_code_price"].IsNullOrEmpty() ? new int?() : row["ext_code_price"].ParseToInt(),
|
||||
price_text = row["price_text"].ToString(),
|
||||
//product_json = row["product_json"].ToString(),
|
||||
//size_json = row["size_json"].ToString(),
|
||||
@@ -272,6 +281,7 @@ namespace KJD_Web.BLL.BXX
|
||||
{
|
||||
prod.product_json = row["product_json"].ToString();
|
||||
prod.size_json = row["size_json"].ToString();
|
||||
prod.sku_edit_json = row["sku_edit_json"].ToString();
|
||||
prod.sku_img_replace_base64 = row["img_base64"].ToString();
|
||||
//prod.sku_img_replace_url = row["img_url"].ToString();
|
||||
}
|
||||
|
||||
@@ -145,5 +145,54 @@ namespace KJD_Web
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
//AddExtCodePrice
|
||||
[WebMethod]
|
||||
public void add_ext_code_price()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new BXXPriceManage().AddExtCodePrice(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void get_ext_code_price_list()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new BXXPriceManage().GetExtCodePriceList(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void del_db_ext_code_price()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new BXXPriceManage().DelDbExtCodePrice(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void mdy_db_ext_code_price()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new BXXPriceManage().MdyDBExtCodePrice(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@
|
||||
<IISExpressWindowsAuthentication />
|
||||
<IISExpressUseClassicPipelineMode />
|
||||
<UseGlobalApplicationHostFile />
|
||||
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
|
||||
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
|
||||
@@ -16,4 +16,13 @@ namespace KJD_Web.Model
|
||||
public DateTime add_time { get; set; }
|
||||
public DateTime mdy_time { get; set; }
|
||||
}
|
||||
|
||||
public class DBExtCodePriceResult
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string ext_code { get; set; }
|
||||
public int ext_code_price { get; set; }
|
||||
public DateTime add_time { get; set; }
|
||||
public DateTime mdy_time { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,15 +23,15 @@ namespace KJD_Web.Model
|
||||
/// </summary>
|
||||
public string price_text { get; set; }
|
||||
/// <summary>
|
||||
/// 成本价格
|
||||
/// jit成本价格
|
||||
/// </summary>
|
||||
public string cost_price { get; set; }
|
||||
/// <summary>
|
||||
/// 快递费
|
||||
/// jit快递费
|
||||
/// </summary>
|
||||
public string delivery_fee { get; set; }
|
||||
/// <summary>
|
||||
/// 贴单费
|
||||
/// jit贴单费
|
||||
/// </summary>
|
||||
public string mark_fee { get; set; }
|
||||
/// <summary>
|
||||
@@ -43,9 +43,14 @@ namespace KJD_Web.Model
|
||||
/// </summary>
|
||||
public string change_cat_name { get; set; }
|
||||
public string ext_code { get; set; }
|
||||
/// <summary>
|
||||
/// 拼多多 设置类目价格
|
||||
/// </summary>
|
||||
public int? ext_code_price { get; set; }
|
||||
public string product_name { get; set; }
|
||||
public string product_json { get; set; }
|
||||
public string size_json { get; set; }
|
||||
public string sku_edit_json { get; set; }
|
||||
public int sku_img_replace_id { get; set; }
|
||||
public string sku_img_replace_base64 { get; set; }
|
||||
public string sku_img_replace_url { get; set; }
|
||||
|
||||
+29
-5
@@ -571,6 +571,12 @@
|
||||
<Compile Include="PDDForms\ProductForms\PDDProductUpDownForm.Designer.cs">
|
||||
<DependentUpon>PDDProductUpDownForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdEditDetailForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdEditDetailForm.Designer.cs">
|
||||
<DependentUpon>PDDDBProdEditDetailForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdImgListForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -601,11 +607,11 @@
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdListForm.Designer.cs">
|
||||
<DependentUpon>PDDDBProdListForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdEditNotesForm.cs">
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdEditForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdEditNotesForm.Designer.cs">
|
||||
<DependentUpon>PDDDBProdEditNotesForm.cs</DependentUpon>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdEditForm.Designer.cs">
|
||||
<DependentUpon>PDDDBProdEditForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDThirdProdSelectAddShopForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
@@ -619,6 +625,12 @@
|
||||
<Compile Include="PDDForms\ProductSelectForms\UcAddPrice.Designer.cs">
|
||||
<DependentUpon>UcAddPrice.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\UcPddSpecEdit.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\UcPddSpecEdit.Designer.cs">
|
||||
<DependentUpon>UcPddSpecEdit.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ShopForms\PDDShopUpdateFddlCookieForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -839,6 +851,12 @@
|
||||
<Compile Include="UserComponent\UcComboBoxBase.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UserComponent\UcComboBoxMutiSelect .cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UserComponent\UcComboBoxMutiSelect .Designer.cs">
|
||||
<DependentUpon>UcComboBoxMutiSelect .cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UserComponent\UcDataGridViewCheckBoxColumn.cs" />
|
||||
<Compile Include="UserComponent\UcDataGridViewCheckBoxColumn.Designer.cs">
|
||||
<DependentUpon>UcDataGridViewCheckBoxColumn.cs</DependentUpon>
|
||||
@@ -1129,6 +1147,9 @@
|
||||
<EmbeddedResource Include="PDDForms\ProductForms\PDDProductUpDownForm.resx">
|
||||
<DependentUpon>PDDProductUpDownForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDDBProdEditDetailForm.resx">
|
||||
<DependentUpon>PDDDBProdEditDetailForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDDBProdImgListForm.resx">
|
||||
<DependentUpon>PDDDBProdImgListForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -1144,8 +1165,8 @@
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDDBProdListForm.resx">
|
||||
<DependentUpon>PDDDBProdListForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDDBProdEditNotesForm.resx">
|
||||
<DependentUpon>PDDDBProdEditNotesForm.cs</DependentUpon>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDDBProdEditForm.resx">
|
||||
<DependentUpon>PDDDBProdEditForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDThirdProdSelectAddShopForm.resx">
|
||||
<DependentUpon>PDDThirdProdSelectAddShopForm.cs</DependentUpon>
|
||||
@@ -1153,6 +1174,9 @@
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\UcAddPrice.resx">
|
||||
<DependentUpon>UcAddPrice.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\UcPddSpecEdit.resx">
|
||||
<DependentUpon>UcPddSpecEdit.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ShopForms\PDDShopUpdateFddlCookieForm.resx">
|
||||
<DependentUpon>PDDShopUpdateFddlCookieForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
+171
-22
@@ -38,6 +38,8 @@
|
||||
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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DbProductSelectListManageForm));
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.numMaxWaitSecond = new System.Windows.Forms.NumericUpDown();
|
||||
@@ -127,6 +129,15 @@
|
||||
this.label14 = new System.Windows.Forms.Label();
|
||||
this.btnCustomImg = new DevComponents.DotNetBar.PanelEx();
|
||||
this.chkCustomPic = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.dgvMapDraftIds = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.dataGridViewCheckBoxColumn1 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colMapId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMapShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMapDraftId = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colToPorductPage = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colToDraftPage = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
@@ -184,6 +195,8 @@
|
||||
this.pnlError.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numSeconds)).BeginInit();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvMapDraftIds)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
@@ -1437,6 +1450,7 @@
|
||||
this.splitContainer2.Panel1.Controls.Add(this.label14);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.btnCustomImg);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.chkCustomPic);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.panel2);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.dgvSelectProduct);
|
||||
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
//
|
||||
@@ -1570,15 +1584,52 @@
|
||||
this.chkCustomPic.UseVisualStyleBackColor = true;
|
||||
this.chkCustomPic.Visible = false;
|
||||
//
|
||||
// dgvSelectProduct
|
||||
// panel2
|
||||
//
|
||||
this.dgvSelectProduct.AllowUserToAddRows = false;
|
||||
this.dgvSelectProduct.AllowUserToDeleteRows = false;
|
||||
this.panel2.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel2.Controls.Add(this.panelEx1);
|
||||
this.panel2.Controls.Add(this.dgvMapDraftIds);
|
||||
this.panel2.Location = new System.Drawing.Point(661, 72);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(196, 341);
|
||||
this.panel2.TabIndex = 499;
|
||||
this.panel2.Visible = false;
|
||||
//
|
||||
// panelEx1
|
||||
//
|
||||
this.panelEx1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.panelEx1.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.panelEx1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.panelEx1.Location = new System.Drawing.Point(151, 313);
|
||||
this.panelEx1.Name = "panelEx1";
|
||||
this.panelEx1.Size = new System.Drawing.Size(42, 24);
|
||||
this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.panelEx1.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.panelEx1.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.panelEx1.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.panelEx1.Style.GradientAngle = 90;
|
||||
this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.TabIndex = 453;
|
||||
this.panelEx1.Text = "关闭";
|
||||
this.panelEx1.Click += new System.EventHandler(this.btnCloseDgvMapDraftIds_Click);
|
||||
//
|
||||
// dgvMapDraftIds
|
||||
//
|
||||
this.dgvMapDraftIds.AllowUserToAddRows = false;
|
||||
this.dgvMapDraftIds.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvSelectProduct.AutoRowNumber = true;
|
||||
this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.dgvMapDraftIds.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvMapDraftIds.AutoRowNumber = true;
|
||||
this.dgvMapDraftIds.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvMapDraftIds.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
@@ -1586,7 +1637,94 @@
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgvMapDraftIds.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgvMapDraftIds.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvMapDraftIds.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.dataGridViewCheckBoxColumn1,
|
||||
this.colMapId,
|
||||
this.colMapShopId,
|
||||
this.colMapDraftId,
|
||||
this.colToPorductPage,
|
||||
this.colToDraftPage});
|
||||
this.dgvMapDraftIds.Location = new System.Drawing.Point(1, 1);
|
||||
this.dgvMapDraftIds.Name = "dgvMapDraftIds";
|
||||
this.dgvMapDraftIds.ReadOnly = true;
|
||||
this.dgvMapDraftIds.RowHeadersWidth = 40;
|
||||
this.dgvMapDraftIds.RowTemplate.Height = 23;
|
||||
this.dgvMapDraftIds.Size = new System.Drawing.Size(192, 310);
|
||||
this.dgvMapDraftIds.TabIndex = 192;
|
||||
this.dgvMapDraftIds.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvMapDraftIds_CellContentClick);
|
||||
//
|
||||
// dataGridViewCheckBoxColumn1
|
||||
//
|
||||
this.dataGridViewCheckBoxColumn1.HeaderText = "选择";
|
||||
this.dataGridViewCheckBoxColumn1.Name = "dataGridViewCheckBoxColumn1";
|
||||
this.dataGridViewCheckBoxColumn1.ReadOnly = true;
|
||||
this.dataGridViewCheckBoxColumn1.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.dataGridViewCheckBoxColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.dataGridViewCheckBoxColumn1.Visible = false;
|
||||
this.dataGridViewCheckBoxColumn1.Width = 30;
|
||||
//
|
||||
// colMapId
|
||||
//
|
||||
this.colMapId.HeaderText = "映射Id";
|
||||
this.colMapId.Name = "colMapId";
|
||||
this.colMapId.ReadOnly = true;
|
||||
this.colMapId.Visible = false;
|
||||
this.colMapId.Width = 125;
|
||||
//
|
||||
// colMapShopId
|
||||
//
|
||||
this.colMapShopId.HeaderText = "映射店铺Id";
|
||||
this.colMapShopId.Name = "colMapShopId";
|
||||
this.colMapShopId.ReadOnly = true;
|
||||
this.colMapShopId.Visible = false;
|
||||
this.colMapShopId.Width = 120;
|
||||
//
|
||||
// colMapDraftId
|
||||
//
|
||||
this.colMapDraftId.HeaderText = "已上传商品ID";
|
||||
this.colMapDraftId.Name = "colMapDraftId";
|
||||
this.colMapDraftId.ReadOnly = true;
|
||||
this.colMapDraftId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colMapDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colMapDraftId.Width = 120;
|
||||
//
|
||||
// colToPorductPage
|
||||
//
|
||||
this.colToPorductPage.HeaderText = "访问商品页";
|
||||
this.colToPorductPage.Name = "colToPorductPage";
|
||||
this.colToPorductPage.ReadOnly = true;
|
||||
this.colToPorductPage.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colToPorductPage.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colToPorductPage.Visible = false;
|
||||
this.colToPorductPage.Width = 62;
|
||||
//
|
||||
// colToDraftPage
|
||||
//
|
||||
this.colToDraftPage.HeaderText = "访问草稿页";
|
||||
this.colToDraftPage.Name = "colToDraftPage";
|
||||
this.colToDraftPage.ReadOnly = true;
|
||||
this.colToDraftPage.Visible = false;
|
||||
this.colToDraftPage.Width = 38;
|
||||
//
|
||||
// dgvSelectProduct
|
||||
//
|
||||
this.dgvSelectProduct.AllowUserToAddRows = false;
|
||||
this.dgvSelectProduct.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.dgvSelectProduct.AutoRowNumber = true;
|
||||
this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
@@ -1653,8 +1791,8 @@
|
||||
//
|
||||
// colSupplierName
|
||||
//
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.colSupplierName.HeaderText = "店铺名称";
|
||||
this.colSupplierName.Name = "colSupplierName";
|
||||
this.colSupplierName.ReadOnly = true;
|
||||
@@ -1734,8 +1872,8 @@
|
||||
//
|
||||
// colProductName
|
||||
//
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.colProductName.HeaderText = "商品标题";
|
||||
this.colProductName.Name = "colProductName";
|
||||
this.colProductName.ReadOnly = true;
|
||||
@@ -1743,8 +1881,8 @@
|
||||
//
|
||||
// colProductCat
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.colProductCat.HeaderText = "商品类目";
|
||||
this.colProductCat.Name = "colProductCat";
|
||||
this.colProductCat.ReadOnly = true;
|
||||
@@ -1775,8 +1913,8 @@
|
||||
//
|
||||
// colAddTime
|
||||
//
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
this.colAddTime.HeaderText = "认领时间";
|
||||
this.colAddTime.Name = "colAddTime";
|
||||
this.colAddTime.ReadOnly = true;
|
||||
@@ -1784,8 +1922,8 @@
|
||||
//
|
||||
// colMdyTime
|
||||
//
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colMdyTime.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colMdyTime.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.colMdyTime.HeaderText = "上传时间";
|
||||
this.colMdyTime.Name = "colMdyTime";
|
||||
this.colMdyTime.ReadOnly = true;
|
||||
@@ -1800,8 +1938,8 @@
|
||||
//
|
||||
// colSubSaNick
|
||||
//
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSubSaNick.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSubSaNick.DefaultCellStyle = dataGridViewCellStyle10;
|
||||
this.colSubSaNick.HeaderText = "二级超管";
|
||||
this.colSubSaNick.Name = "colSubSaNick";
|
||||
this.colSubSaNick.ReadOnly = true;
|
||||
@@ -1816,8 +1954,8 @@
|
||||
//
|
||||
// colNotes
|
||||
//
|
||||
dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colNotes.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colNotes.DefaultCellStyle = dataGridViewCellStyle11;
|
||||
this.colNotes.HeaderText = "备注";
|
||||
this.colNotes.Name = "colNotes";
|
||||
this.colNotes.ReadOnly = true;
|
||||
@@ -1914,6 +2052,8 @@
|
||||
this.pnlError.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numSeconds)).EndInit();
|
||||
this.panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvMapDraftIds)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
@@ -2039,5 +2179,14 @@
|
||||
private DevComponents.DotNetBar.PanelEx btnForceEnable;
|
||||
private System.Windows.Forms.NumericUpDown numMaxWaitSecond;
|
||||
private System.Windows.Forms.Label label22;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private DevComponents.DotNetBar.PanelEx panelEx1;
|
||||
private UserComponent.DataGridViewEx dgvMapDraftIds;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn1;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMapId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMapShopId;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colMapDraftId;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colToPorductPage;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colToDraftPage;
|
||||
}
|
||||
}
|
||||
@@ -479,35 +479,72 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
case "草稿箱Id":
|
||||
if (!string.IsNullOrEmpty(draftId))
|
||||
{
|
||||
if (!IsClientJit)
|
||||
{
|
||||
var shop = GetShop(shopId);
|
||||
AdminShopLoginForm adminLoginForm = new AdminShopLoginForm(shop);
|
||||
//adminLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
adminLoginForm.InitUrl = "https://agentseller.temu.com/goods/edit?productDraftId=" +
|
||||
draftId + "&from=productDraftList";
|
||||
adminLoginForm.openType = EnumOpenType.manage;
|
||||
adminLoginForm.WindowState = FormWindowState.Maximized;
|
||||
adminLoginForm.ShowDialog();
|
||||
}
|
||||
bool flag = true;
|
||||
// 查看map映射列表
|
||||
//return;
|
||||
//var url = BaseClass.BuildObjString("product/get_select_prod_db_id_map_draft_id_list");
|
||||
//var data = UserLogin.GetSignaturex() + "&select_db_id=" + dbId;
|
||||
//if (IsClientJit)
|
||||
// data += "&is_client_jit=true";
|
||||
var url = BaseClass.BuildObjString("product/get_select_prod_db_id_map_draft_id_list");
|
||||
var data = UserLogin.GetSignaturex() + "&select_db_id=" + dbId;
|
||||
if (IsClientJit)
|
||||
data += "&is_client_jit=true";
|
||||
|
||||
//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"))
|
||||
//{
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
//}
|
||||
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"))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var jArr = JObject.Parse(html)["data"];
|
||||
var dbIdMapSpuIdLst = JsonHelper.DeserializeJsonToList<DBProdDbIdMapProductIdInfo>(jArr.ToString());
|
||||
this.dgvMapDraftIds.Rows.Clear();
|
||||
if (dbIdMapSpuIdLst.Count > 0)
|
||||
{
|
||||
flag = false;
|
||||
foreach (var item in dbIdMapSpuIdLst)
|
||||
{
|
||||
this.dgvMapDraftIds.Rows.Add(
|
||||
false,
|
||||
item.product_select_db_id,
|
||||
item.shop_id,
|
||||
item.product_id
|
||||
);
|
||||
}
|
||||
panel2.Visible = true;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
BaseMsgForm.ShowError("获取商品Id列表失败 " + ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
if (flag)
|
||||
{
|
||||
if (!IsClientJit)
|
||||
{
|
||||
var shop = GetShop(shopId);
|
||||
AdminShopLoginForm adminLoginForm = new AdminShopLoginForm(shop);
|
||||
//adminLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
adminLoginForm.InitUrl = "https://agentseller.temu.com/goods/edit?productDraftId=" +
|
||||
draftId + "&from=productDraftList";
|
||||
adminLoginForm.openType = EnumOpenType.manage;
|
||||
adminLoginForm.WindowState = FormWindowState.Maximized;
|
||||
adminLoginForm.ShowDialog();
|
||||
}
|
||||
else
|
||||
{
|
||||
var shop = GetShop(shopId);
|
||||
ShopLoginForm loginForm = new ShopLoginForm(shop);
|
||||
//adminLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
loginForm.InitUrl = "https://agentseller.temu.com/goods/edit?productDraftId=" +
|
||||
draftId + "&from=productDraftList";
|
||||
loginForm.openType = EnumOpenType.manage;
|
||||
loginForm.WindowState = FormWindowState.Maximized;
|
||||
loginForm.ShowDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "进店":
|
||||
@@ -3585,5 +3622,50 @@ Content-Disposition: form-data; name=""sign""
|
||||
{
|
||||
this.timeOutSeconds = numMaxWaitSecond.Value.ParseToInt();
|
||||
}
|
||||
|
||||
private void btnCloseDgvMapDraftIds_Click(object sender, EventArgs e)
|
||||
{
|
||||
panel2.Visible = false;
|
||||
}
|
||||
|
||||
private void dgvMapDraftIds_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
string headerText = dgvMapDraftIds.Columns[e.ColumnIndex].HeaderText;
|
||||
var shopId = dgvMapDraftIds.Rows[e.RowIndex].Cells["colMapShopId"].Value.ParseToString();
|
||||
var draftId = dgvMapDraftIds.Rows[e.RowIndex].Cells["colMapDraftId"].Value.ParseToString();
|
||||
|
||||
switch (headerText)
|
||||
{
|
||||
case "已上传商品ID":
|
||||
{
|
||||
var shop = GetShop(shopId);
|
||||
if (!IsClientJit)
|
||||
{
|
||||
AdminShopLoginForm adminLoginForm = new AdminShopLoginForm(shop);
|
||||
//adminLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
adminLoginForm.InitUrl = "https://agentseller.temu.com/goods/edit?productDraftId=" +
|
||||
draftId + "&from=productDraftList";
|
||||
adminLoginForm.openType = EnumOpenType.manage;
|
||||
adminLoginForm.WindowState = FormWindowState.Maximized;
|
||||
adminLoginForm.ShowDialog();
|
||||
}
|
||||
else
|
||||
{
|
||||
ShopLoginForm loginForm = new ShopLoginForm(shop);
|
||||
//adminLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
loginForm.InitUrl = "https://agentseller.temu.com/goods/edit?productDraftId=" +
|
||||
draftId + "&from=productDraftList";
|
||||
loginForm.openType = EnumOpenType.manage;
|
||||
loginForm.WindowState = FormWindowState.Maximized;
|
||||
loginForm.ShowDialog();
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -117,6 +117,24 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="dataGridViewCheckBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colMapId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colMapShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colMapDraftId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colToPorductPage.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colToDraftPage.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
||||
@@ -225,11 +225,7 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
string.Empty
|
||||
);
|
||||
row = dgvShop.Rows[id];
|
||||
//row.Cells["colLoginStatus"].Style.ForeColor = canUse ? Color.Green : Color.Red;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Green : Color.Red;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Green : Color.Red;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightGreen : Color.OrangeRed;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkGreen : Color.DarkRed;
|
||||
DisplayLoginStatus(row, canUse);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -238,12 +234,8 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
row.Cells["colShopName"].Value = shopEntity.ShopAccount;
|
||||
row.Cells["colShopNotes"].Value = shopEntity.Notes;
|
||||
row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线";
|
||||
//row.Cells["colLoginStatus"].Style.ForeColor = canUse ? Color.Green : Color.Red;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Green : Color.Red;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Green : Color.Red;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightGreen : Color.OrangeRed;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkGreen : Color.DarkRed;
|
||||
row.Cells["colCanUse"].Value = canUse;
|
||||
DisplayLoginStatus(row, canUse);
|
||||
}
|
||||
if (soloActivityShop != null && row != null)
|
||||
{
|
||||
@@ -260,6 +252,14 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
}
|
||||
}
|
||||
|
||||
private void DisplayLoginStatus(DataGridViewRow row, bool canUse)
|
||||
{
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Green : Color.Red;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Green : Color.Red;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightGreen : Color.OrangeRed;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkGreen : Color.DarkRed;
|
||||
}
|
||||
|
||||
private void dgvShop_CellClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
@@ -308,10 +308,24 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
}
|
||||
break;
|
||||
case "colLoginStatus":
|
||||
ShopLoginForm shopLoginForm = new ShopLoginForm(shop);
|
||||
shopLoginForm.openType = EnumOpenType.login;
|
||||
shopLoginForm.ShowDialog();
|
||||
RefreshShop();
|
||||
{
|
||||
ShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
if (shop.LoginStatus2 == "国际版在线")
|
||||
{
|
||||
ShopLoginForm adminLoginForm = new ShopLoginForm(shop);
|
||||
adminLoginForm.openType = EnumOpenType.manage;
|
||||
adminLoginForm.WindowState = FormWindowState.Maximized;
|
||||
adminLoginForm.InitUrl = "https://agentseller.temu.com";
|
||||
adminLoginForm.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
ShopLoginForm shopLoginForm = new ShopLoginForm(shop);
|
||||
shopLoginForm.openType = EnumOpenType.login;
|
||||
shopLoginForm.ShowDialog();
|
||||
RefreshShop();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -444,8 +458,9 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
foreach (var row in rows)
|
||||
{
|
||||
row.Cells["colMessage"].Value = "店铺掉线";
|
||||
row.Cells["colLoginStatus"].Value = "国际版未登录";
|
||||
row.Cells["colLoginStatus"].Value = "掉线";
|
||||
row.Cells["colCanUse"].Value = false;
|
||||
DisplayLoginStatus(row, false);
|
||||
}
|
||||
}));
|
||||
errMsg = "店铺可能已掉线,指定的值含有无效的控制字符";
|
||||
@@ -714,8 +729,9 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
foreach (var r in shopRows)
|
||||
{
|
||||
r.Cells["colMessage"].Value = "店铺掉线";
|
||||
r.Cells["colLoginStatus"].Value = "国际版未登录";
|
||||
r.Cells["colLoginStatus"].Value = "掉线";
|
||||
r.Cells["colCanUse"].Value = false;
|
||||
DisplayLoginStatus(r, false);
|
||||
}
|
||||
}));
|
||||
continue;
|
||||
@@ -1013,6 +1029,7 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
continue;
|
||||
|
||||
int tryCount = 0;
|
||||
string searchScrollContext = "";
|
||||
tryAgain:
|
||||
Thread.Sleep(100 + Randomx.GetId(200));
|
||||
if (chkNoSaleProd.Checked && noSaleProdIdLst.Count == 0)
|
||||
@@ -1024,7 +1041,7 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
noSaleProdIdLst.Clear();
|
||||
noSaleProdIdLst.Add(soloActivityProduct.productId.ToString());
|
||||
}
|
||||
var jsonRst = GetActivityMatch(shop, activity.activityType, activity.activityThematicId, string.Join(",", noSaleProdIdLst));
|
||||
var jsonRst = GetActivityMatch(shop, activity.activityType, activity.activityThematicId, searchScrollContext, string.Join(", ", noSaleProdIdLst));
|
||||
|
||||
if (jsonRst.Contains("指定的值含有无效的控制字符") || jsonRst.Contains("login") || jsonRst.Contains("Login"))
|
||||
{
|
||||
@@ -1034,8 +1051,9 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
foreach (var r in shopRows)
|
||||
{
|
||||
r.Cells["colMessage"].Value = "店铺掉线";
|
||||
r.Cells["colLoginStatus"].Value = "国际版未登录";
|
||||
r.Cells["colLoginStatus"].Value = "掉线";
|
||||
r.Cells["colCanUse"].Value = false;
|
||||
DisplayLoginStatus(r, false);
|
||||
}
|
||||
}));
|
||||
continue;
|
||||
@@ -1072,7 +1090,19 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
}
|
||||
catch (Exception ex) { BaseMsgForm.ShowError(ex.Message); }
|
||||
|
||||
if (jArr.Count() == 0)
|
||||
int stillCount = BaseRegex.GetIntJson(ref jsonRst, "stillCount");
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "正在报名活动商品... 剩余 " + stillCount + " 件";
|
||||
}));
|
||||
searchScrollContext = BaseRegex.GetStringJson(ref jsonRst, "searchScrollContext");
|
||||
if (jArr.Count() == 0 && stillCount > 0 && tryCount < 5)
|
||||
{
|
||||
tryCount++;
|
||||
goto tryAgain;
|
||||
}
|
||||
|
||||
if (jArr.Count() == 0 && stillCount == 0)
|
||||
{
|
||||
if (soloActivityShop != null && soloActivityProduct != null)
|
||||
{
|
||||
@@ -1246,8 +1276,9 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
foreach (var row in rows)
|
||||
{
|
||||
row.Cells["colMessage"].Value = "店铺掉线";
|
||||
row.Cells["colLoginStatus"].Value = "国际版未登录";
|
||||
row.Cells["colLoginStatus"].Value = "掉线";
|
||||
row.Cells["colCanUse"].Value = false;
|
||||
DisplayLoginStatus(row, false);
|
||||
}
|
||||
}));
|
||||
return false;
|
||||
@@ -1282,21 +1313,26 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
/// <param name="thematicId"></param>
|
||||
/// <param name="spuIds">多个用逗号隔开</param>
|
||||
/// <returns></returns>
|
||||
private string GetActivityMatch(ShopLoginInfo shop,int? activityType, long? thematicId, string spuIds="")
|
||||
private string GetActivityMatch(ShopLoginInfo shop,int? activityType, long? thematicId, string searchScrollContext = "", string spuIds="")
|
||||
{
|
||||
string url = "https://agentseller.temu.com/api/kiana/gamblers/marketing/enroll/scroll/match";
|
||||
string body;
|
||||
body = "{\"activityType\":" + activityType;
|
||||
if (thematicId != activityType)
|
||||
body += ",\"activityThematicId\":" + thematicId;
|
||||
body += ",\"rowCount\":50}";
|
||||
body += ",\"rowCount\":50";
|
||||
if (!string.IsNullOrWhiteSpace(searchScrollContext))
|
||||
body += ",\"searchScrollContext\":\"" + searchScrollContext + "\"";
|
||||
if (!string.IsNullOrWhiteSpace(spuIds))
|
||||
{
|
||||
body = "{\"activityType\":" + activityType;
|
||||
if (thematicId != activityType)
|
||||
body += ",\"activityThematicId\":" + thematicId;
|
||||
body += ",\"rowCount\":50,\"productIds\":[" + spuIds + "],\"productSkcExtCodes\":[]}";
|
||||
}
|
||||
body += ",\"productIds\":[" + spuIds + "],\"productSkcExtCodes\":[]";
|
||||
body += "}";
|
||||
//if (!string.IsNullOrWhiteSpace(spuIds))
|
||||
//{
|
||||
// body = "{\"activityType\":" + activityType;
|
||||
// if (thematicId != activityType)
|
||||
// body += ",\"activityThematicId\":" + thematicId;
|
||||
// body += ",\"rowCount\":50,\"productIds\":[" + spuIds + "],\"productSkcExtCodes\":[]}";
|
||||
//}
|
||||
string refere = "https://agentseller.temu.com/activity/marketing-activity/detail-new?type=" + activityType;
|
||||
if (thematicId != activityType)
|
||||
refere += "&thematicId=" + thematicId;
|
||||
|
||||
@@ -70,11 +70,11 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
this.lblName.Text = e.Node.Text;
|
||||
// 如果是一级菜单,不做任何动作
|
||||
if (e.Node.Parent == null) return;
|
||||
new Thread(() =>
|
||||
{
|
||||
Thread.Sleep(200);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
//new Thread(() =>
|
||||
//{
|
||||
//Thread.Sleep(200);
|
||||
//Invoke(new Action(() =>
|
||||
//{
|
||||
switch (e.Node.Name)
|
||||
{
|
||||
case "超级用户管理":
|
||||
@@ -102,8 +102,8 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
// SetForm(adminProductPriceCheckForm.Value);
|
||||
// break;
|
||||
}
|
||||
}));
|
||||
}).Start();
|
||||
//}));
|
||||
//}).Start();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -0,0 +1,638 @@
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
partial class PDDDBProdEditDetailForm
|
||||
{
|
||||
/// <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 dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdEditDetailForm));
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.pnlSpec1 = new System.Windows.Forms.Panel();
|
||||
this.btnAddSpec1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.ucPddSpecEdit1 = new TemuKJD.PDDForms.ProductSelectForms.UcPddSpecEdit();
|
||||
this.pnlSpec2 = new System.Windows.Forms.Panel();
|
||||
this.btnAddSpec2 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.ucPddSpecEdit2 = new TemuKJD.PDDForms.ProductSelectForms.UcPddSpecEdit();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.flowLayoutPanel4 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.cmbSpec1 = new TemuKJD.UserComponent.UcComboBoxMutiSelect();
|
||||
this.cmbSpec2 = new TemuKJD.UserComponent.UcComboBoxMutiSelect();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.btnBatchSetValue = new DevComponents.DotNetBar.PanelEx();
|
||||
this.textBox2 = new System.Windows.Forms.TextBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.txtPrice = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.dgvDbProduct = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colSpec1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSpec2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMultiPrice = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colPrice = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSkuImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSkuImg = new System.Windows.Forms.DataGridViewImageColumn();
|
||||
this.colSkuSn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.btnCancel = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSave = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.flowLayoutPanel3.SuspendLayout();
|
||||
this.pnlSpec1.SuspendLayout();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
this.pnlSpec2.SuspendLayout();
|
||||
this.flowLayoutPanel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
|
||||
this.flowLayoutPanel4.SuspendLayout();
|
||||
this.panel3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.Controls.Add(this.splitContainer1);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(1, 33);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(1278, 666);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.flowLayoutPanel3);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnCancel);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnSave);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1278, 666);
|
||||
this.splitContainer1.SplitterDistance = 630;
|
||||
this.splitContainer1.TabIndex = 0;
|
||||
//
|
||||
// flowLayoutPanel3
|
||||
//
|
||||
this.flowLayoutPanel3.AutoScroll = true;
|
||||
this.flowLayoutPanel3.Controls.Add(this.pnlSpec1);
|
||||
this.flowLayoutPanel3.Controls.Add(this.flowLayoutPanel1);
|
||||
this.flowLayoutPanel3.Controls.Add(this.pnlSpec2);
|
||||
this.flowLayoutPanel3.Controls.Add(this.flowLayoutPanel2);
|
||||
this.flowLayoutPanel3.Controls.Add(this.pbLoading);
|
||||
this.flowLayoutPanel3.Controls.Add(this.label3);
|
||||
this.flowLayoutPanel3.Controls.Add(this.flowLayoutPanel4);
|
||||
this.flowLayoutPanel3.Controls.Add(this.dgvDbProduct);
|
||||
this.flowLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.flowLayoutPanel3.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
|
||||
this.flowLayoutPanel3.Location = new System.Drawing.Point(0, 0);
|
||||
this.flowLayoutPanel3.Name = "flowLayoutPanel3";
|
||||
this.flowLayoutPanel3.Size = new System.Drawing.Size(1278, 630);
|
||||
this.flowLayoutPanel3.TabIndex = 1;
|
||||
this.flowLayoutPanel3.WrapContents = false;
|
||||
//
|
||||
// pnlSpec1
|
||||
//
|
||||
this.pnlSpec1.Controls.Add(this.btnAddSpec1);
|
||||
this.pnlSpec1.Controls.Add(this.label1);
|
||||
this.pnlSpec1.Location = new System.Drawing.Point(3, 3);
|
||||
this.pnlSpec1.Name = "pnlSpec1";
|
||||
this.pnlSpec1.Size = new System.Drawing.Size(204, 23);
|
||||
this.pnlSpec1.TabIndex = 11;
|
||||
//
|
||||
// btnAddSpec1
|
||||
//
|
||||
this.btnAddSpec1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnAddSpec1.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnAddSpec1.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnAddSpec1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnAddSpec1.Location = new System.Drawing.Point(51, 1);
|
||||
this.btnAddSpec1.Name = "btnAddSpec1";
|
||||
this.btnAddSpec1.Size = new System.Drawing.Size(51, 21);
|
||||
this.btnAddSpec1.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnAddSpec1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnAddSpec1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnAddSpec1.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnAddSpec1.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnAddSpec1.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnAddSpec1.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnAddSpec1.Style.GradientAngle = 90;
|
||||
this.btnAddSpec1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnAddSpec1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnAddSpec1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnAddSpec1.TabIndex = 1010;
|
||||
this.btnAddSpec1.Tag = "";
|
||||
this.btnAddSpec1.Text = "新增";
|
||||
this.btnAddSpec1.Click += new System.EventHandler(this.btnAddSpec1_Click);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(3, 3);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(5, 5, 3, 3);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(51, 17);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "属性1:";
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
this.flowLayoutPanel1.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.flowLayoutPanel1.AutoSize = true;
|
||||
this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.flowLayoutPanel1.Controls.Add(this.ucPddSpecEdit1);
|
||||
this.flowLayoutPanel1.Location = new System.Drawing.Point(4, 29);
|
||||
this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
|
||||
this.flowLayoutPanel1.MaximumSize = new System.Drawing.Size(1240, 9999);
|
||||
this.flowLayoutPanel1.MinimumSize = new System.Drawing.Size(1240, 10);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
this.flowLayoutPanel1.Size = new System.Drawing.Size(1240, 55);
|
||||
this.flowLayoutPanel1.TabIndex = 0;
|
||||
this.flowLayoutPanel1.Tag = "";
|
||||
//
|
||||
// ucPddSpecEdit1
|
||||
//
|
||||
this.ucPddSpecEdit1.AutoSize = true;
|
||||
this.ucPddSpecEdit1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.ucPddSpecEdit1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.ucPddSpecEdit1.Location = new System.Drawing.Point(3, 3);
|
||||
this.ucPddSpecEdit1.Name = "ucPddSpecEdit1";
|
||||
this.ucPddSpecEdit1.Size = new System.Drawing.Size(295, 49);
|
||||
this.ucPddSpecEdit1.TabIndex = 0;
|
||||
//
|
||||
// pnlSpec2
|
||||
//
|
||||
this.pnlSpec2.Controls.Add(this.btnAddSpec2);
|
||||
this.pnlSpec2.Controls.Add(this.label2);
|
||||
this.pnlSpec2.Location = new System.Drawing.Point(3, 90);
|
||||
this.pnlSpec2.Name = "pnlSpec2";
|
||||
this.pnlSpec2.Size = new System.Drawing.Size(204, 23);
|
||||
this.pnlSpec2.TabIndex = 12;
|
||||
//
|
||||
// btnAddSpec2
|
||||
//
|
||||
this.btnAddSpec2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnAddSpec2.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnAddSpec2.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnAddSpec2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnAddSpec2.Location = new System.Drawing.Point(51, 1);
|
||||
this.btnAddSpec2.Name = "btnAddSpec2";
|
||||
this.btnAddSpec2.Size = new System.Drawing.Size(51, 21);
|
||||
this.btnAddSpec2.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnAddSpec2.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnAddSpec2.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnAddSpec2.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnAddSpec2.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnAddSpec2.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnAddSpec2.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnAddSpec2.Style.GradientAngle = 90;
|
||||
this.btnAddSpec2.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnAddSpec2.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnAddSpec2.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnAddSpec2.TabIndex = 1014;
|
||||
this.btnAddSpec2.Tag = "";
|
||||
this.btnAddSpec2.Text = "新增";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(3, 3);
|
||||
this.label2.Margin = new System.Windows.Forms.Padding(5, 5, 3, 3);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(51, 17);
|
||||
this.label2.TabIndex = 1;
|
||||
this.label2.Text = "属性2:";
|
||||
//
|
||||
// flowLayoutPanel2
|
||||
//
|
||||
this.flowLayoutPanel2.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.flowLayoutPanel2.AutoSize = true;
|
||||
this.flowLayoutPanel2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.flowLayoutPanel2.Controls.Add(this.ucPddSpecEdit2);
|
||||
this.flowLayoutPanel2.Location = new System.Drawing.Point(4, 116);
|
||||
this.flowLayoutPanel2.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
|
||||
this.flowLayoutPanel2.MaximumSize = new System.Drawing.Size(1240, 9999);
|
||||
this.flowLayoutPanel2.MinimumSize = new System.Drawing.Size(1240, 10);
|
||||
this.flowLayoutPanel2.Name = "flowLayoutPanel2";
|
||||
this.flowLayoutPanel2.Size = new System.Drawing.Size(1240, 55);
|
||||
this.flowLayoutPanel2.TabIndex = 1;
|
||||
//
|
||||
// ucPddSpecEdit2
|
||||
//
|
||||
this.ucPddSpecEdit2.AutoSize = true;
|
||||
this.ucPddSpecEdit2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.ucPddSpecEdit2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.ucPddSpecEdit2.Location = new System.Drawing.Point(3, 3);
|
||||
this.ucPddSpecEdit2.Name = "ucPddSpecEdit2";
|
||||
this.ucPddSpecEdit2.Size = new System.Drawing.Size(295, 49);
|
||||
this.ucPddSpecEdit2.TabIndex = 0;
|
||||
//
|
||||
// pbLoading
|
||||
//
|
||||
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
|
||||
this.pbLoading.Location = new System.Drawing.Point(599, 177);
|
||||
this.pbLoading.Name = "pbLoading";
|
||||
this.pbLoading.Size = new System.Drawing.Size(50, 50);
|
||||
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pbLoading.TabIndex = 8;
|
||||
this.pbLoading.TabStop = false;
|
||||
this.pbLoading.Visible = false;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(5, 235);
|
||||
this.label3.Margin = new System.Windows.Forms.Padding(5, 5, 3, 3);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(68, 17);
|
||||
this.label3.TabIndex = 9;
|
||||
this.label3.Text = "SKU列表:";
|
||||
//
|
||||
// flowLayoutPanel4
|
||||
//
|
||||
this.flowLayoutPanel4.Controls.Add(this.cmbSpec1);
|
||||
this.flowLayoutPanel4.Controls.Add(this.cmbSpec2);
|
||||
this.flowLayoutPanel4.Controls.Add(this.panel3);
|
||||
this.flowLayoutPanel4.Location = new System.Drawing.Point(3, 258);
|
||||
this.flowLayoutPanel4.Name = "flowLayoutPanel4";
|
||||
this.flowLayoutPanel4.Size = new System.Drawing.Size(1242, 31);
|
||||
this.flowLayoutPanel4.TabIndex = 13;
|
||||
//
|
||||
// cmbSpec1
|
||||
//
|
||||
this.cmbSpec1.DefaultText = "全部";
|
||||
this.cmbSpec1.FormattingEnabled = true;
|
||||
this.cmbSpec1.Location = new System.Drawing.Point(3, 3);
|
||||
this.cmbSpec1.Name = "cmbSpec1";
|
||||
this.cmbSpec1.Size = new System.Drawing.Size(121, 25);
|
||||
this.cmbSpec1.TabIndex = 1;
|
||||
this.cmbSpec1.Text = "全部";
|
||||
//
|
||||
// cmbSpec2
|
||||
//
|
||||
this.cmbSpec2.DefaultText = "全部";
|
||||
this.cmbSpec2.FormattingEnabled = true;
|
||||
this.cmbSpec2.Location = new System.Drawing.Point(132, 3);
|
||||
this.cmbSpec2.Margin = new System.Windows.Forms.Padding(5, 3, 3, 3);
|
||||
this.cmbSpec2.Name = "cmbSpec2";
|
||||
this.cmbSpec2.Size = new System.Drawing.Size(121, 25);
|
||||
this.cmbSpec2.TabIndex = 2;
|
||||
this.cmbSpec2.Text = "全部";
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
this.panel3.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.panel3.Controls.Add(this.btnBatchSetValue);
|
||||
this.panel3.Controls.Add(this.textBox2);
|
||||
this.panel3.Controls.Add(this.label6);
|
||||
this.panel3.Controls.Add(this.txtPrice);
|
||||
this.panel3.Controls.Add(this.label5);
|
||||
this.panel3.Controls.Add(this.textBox1);
|
||||
this.panel3.Controls.Add(this.label4);
|
||||
this.panel3.Location = new System.Drawing.Point(256, 2);
|
||||
this.panel3.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0);
|
||||
this.panel3.MinimumSize = new System.Drawing.Size(10, 10);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.Size = new System.Drawing.Size(458, 27);
|
||||
this.panel3.TabIndex = 10;
|
||||
//
|
||||
// btnBatchSetValue
|
||||
//
|
||||
this.btnBatchSetValue.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnBatchSetValue.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.btnBatchSetValue.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnBatchSetValue.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnBatchSetValue.Location = new System.Drawing.Point(-320, 2);
|
||||
this.btnBatchSetValue.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
|
||||
this.btnBatchSetValue.Name = "btnBatchSetValue";
|
||||
this.btnBatchSetValue.Size = new System.Drawing.Size(71, 23);
|
||||
this.btnBatchSetValue.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnBatchSetValue.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnBatchSetValue.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnBatchSetValue.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.btnBatchSetValue.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnBatchSetValue.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.btnBatchSetValue.Style.GradientAngle = 90;
|
||||
this.btnBatchSetValue.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnBatchSetValue.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnBatchSetValue.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnBatchSetValue.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnBatchSetValue.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnBatchSetValue.TabIndex = 616;
|
||||
this.btnBatchSetValue.Text = "批量填写";
|
||||
this.btnBatchSetValue.Click += new System.EventHandler(this.btnBatchSetValue_Click);
|
||||
//
|
||||
// textBox2
|
||||
//
|
||||
this.textBox2.Location = new System.Drawing.Point(294, 2);
|
||||
this.textBox2.Name = "textBox2";
|
||||
this.textBox2.Size = new System.Drawing.Size(158, 23);
|
||||
this.textBox2.TabIndex = 7;
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(236, 5);
|
||||
this.label6.Margin = new System.Windows.Forms.Padding(5, 5, 3, 3);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(68, 17);
|
||||
this.label6.TabIndex = 8;
|
||||
this.label6.Text = "规格编码:";
|
||||
//
|
||||
// txtPrice
|
||||
//
|
||||
this.txtPrice.Location = new System.Drawing.Point(165, 2);
|
||||
this.txtPrice.Name = "txtPrice";
|
||||
this.txtPrice.Size = new System.Drawing.Size(62, 23);
|
||||
this.txtPrice.TabIndex = 5;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(119, 5);
|
||||
this.label5.Margin = new System.Windows.Forms.Padding(5, 5, 3, 3);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(56, 17);
|
||||
this.label5.TabIndex = 6;
|
||||
this.label5.Text = "单买价:";
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Location = new System.Drawing.Point(49, 2);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(62, 23);
|
||||
this.textBox1.TabIndex = 3;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(3, 5);
|
||||
this.label4.Margin = new System.Windows.Forms.Padding(5, 5, 3, 3);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(56, 17);
|
||||
this.label4.TabIndex = 4;
|
||||
this.label4.Text = "拼单价:";
|
||||
//
|
||||
// dgvDbProduct
|
||||
//
|
||||
this.dgvDbProduct.AllowUserToAddRows = false;
|
||||
this.dgvDbProduct.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvDbProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvDbProduct.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.dgvDbProduct.AutoRowNumber = true;
|
||||
this.dgvDbProduct.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
|
||||
this.dgvDbProduct.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvDbProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvDbProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgvDbProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvDbProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
this.colSpec1,
|
||||
this.colSpec2,
|
||||
this.colMultiPrice,
|
||||
this.colPrice,
|
||||
this.colSkuImgUrl,
|
||||
this.colSkuImg,
|
||||
this.colSkuSn});
|
||||
this.dgvDbProduct.Location = new System.Drawing.Point(5, 295);
|
||||
this.dgvDbProduct.Margin = new System.Windows.Forms.Padding(5, 3, 3, 3);
|
||||
this.dgvDbProduct.Name = "dgvDbProduct";
|
||||
this.dgvDbProduct.RowTemplate.Height = 23;
|
||||
this.dgvDbProduct.Size = new System.Drawing.Size(1240, 28);
|
||||
this.dgvDbProduct.TabIndex = 7;
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.FillWeight = 26F;
|
||||
this.colSelect.HeaderText = "选";
|
||||
this.colSelect.Name = "colSelect";
|
||||
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colSelect.Visible = false;
|
||||
//
|
||||
// colSpec1
|
||||
//
|
||||
this.colSpec1.HeaderText = "属性1";
|
||||
this.colSpec1.Name = "colSpec1";
|
||||
this.colSpec1.ReadOnly = true;
|
||||
//
|
||||
// colSpec2
|
||||
//
|
||||
this.colSpec2.HeaderText = "属性2";
|
||||
this.colSpec2.Name = "colSpec2";
|
||||
this.colSpec2.ReadOnly = true;
|
||||
//
|
||||
// colMultiPrice
|
||||
//
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colMultiPrice.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.colMultiPrice.HeaderText = "拼单价";
|
||||
this.colMultiPrice.Name = "colMultiPrice";
|
||||
this.colMultiPrice.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||
//
|
||||
// colPrice
|
||||
//
|
||||
this.colPrice.HeaderText = "单买价";
|
||||
this.colPrice.Name = "colPrice";
|
||||
this.colPrice.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||
//
|
||||
// colSkuImgUrl
|
||||
//
|
||||
this.colSkuImgUrl.HeaderText = "sku预览图路径";
|
||||
this.colSkuImgUrl.Name = "colSkuImgUrl";
|
||||
this.colSkuImgUrl.ReadOnly = true;
|
||||
this.colSkuImgUrl.Visible = false;
|
||||
//
|
||||
// colSkuImg
|
||||
//
|
||||
this.colSkuImg.FillWeight = 50F;
|
||||
this.colSkuImg.HeaderText = "sku预览图";
|
||||
this.colSkuImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
|
||||
this.colSkuImg.Name = "colSkuImg";
|
||||
this.colSkuImg.ReadOnly = true;
|
||||
this.colSkuImg.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
//
|
||||
// colSkuSn
|
||||
//
|
||||
this.colSkuSn.HeaderText = "规格编码";
|
||||
this.colSkuSn.Name = "colSkuSn";
|
||||
this.colSkuSn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.btnCancel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnCancel.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnCancel.Location = new System.Drawing.Point(1167, 4);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(45, 23);
|
||||
this.btnCancel.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnCancel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnCancel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnCancel.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.btnCancel.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnCancel.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.btnCancel.Style.GradientAngle = 90;
|
||||
this.btnCancel.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnCancel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnCancel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnCancel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnCancel.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnCancel.TabIndex = 1007;
|
||||
this.btnCancel.Text = "取消";
|
||||
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
|
||||
//
|
||||
// btnSave
|
||||
//
|
||||
this.btnSave.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnSave.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSave.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSave.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSave.Location = new System.Drawing.Point(1214, 4);
|
||||
this.btnSave.Name = "btnSave";
|
||||
this.btnSave.Size = new System.Drawing.Size(57, 23);
|
||||
this.btnSave.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSave.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSave.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSave.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnSave.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnSave.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnSave.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnSave.Style.GradientAngle = 90;
|
||||
this.btnSave.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSave.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSave.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSave.TabIndex = 1006;
|
||||
this.btnSave.Tag = "";
|
||||
this.btnSave.Text = "保存";
|
||||
//
|
||||
// PDDDBProdEditDetailForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(1280, 700);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "PDDDBProdEditDetailForm";
|
||||
this.Text = "编辑商品SKU详情";
|
||||
this.TitleText = "编辑商品SKU详情";
|
||||
this.Load += new System.EventHandler(this.PDDDBProdEditDetailForm_Load);
|
||||
this.Controls.SetChildIndex(this.panel2, 0);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.flowLayoutPanel3.ResumeLayout(false);
|
||||
this.flowLayoutPanel3.PerformLayout();
|
||||
this.pnlSpec1.ResumeLayout(false);
|
||||
this.pnlSpec1.PerformLayout();
|
||||
this.flowLayoutPanel1.ResumeLayout(false);
|
||||
this.flowLayoutPanel1.PerformLayout();
|
||||
this.pnlSpec2.ResumeLayout(false);
|
||||
this.pnlSpec2.PerformLayout();
|
||||
this.flowLayoutPanel2.ResumeLayout(false);
|
||||
this.flowLayoutPanel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
|
||||
this.flowLayoutPanel4.ResumeLayout(false);
|
||||
this.panel3.ResumeLayout(false);
|
||||
this.panel3.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2;
|
||||
private DevComponents.DotNetBar.PanelEx btnCancel;
|
||||
private DevComponents.DotNetBar.PanelEx btnSave;
|
||||
private UserComponent.DataGridViewEx dgvDbProduct;
|
||||
private System.Windows.Forms.PictureBox pbLoading;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel3;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSpec1;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSpec2;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMultiPrice;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colPrice;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSkuImgUrl;
|
||||
private System.Windows.Forms.DataGridViewImageColumn colSkuImg;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSkuSn;
|
||||
private System.Windows.Forms.Panel panel3;
|
||||
private UserComponent.UcComboBoxMutiSelect cmbSpec1;
|
||||
private UserComponent.UcComboBoxMutiSelect cmbSpec2;
|
||||
private System.Windows.Forms.TextBox textBox2;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.TextBox txtPrice;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private DevComponents.DotNetBar.PanelEx btnBatchSetValue;
|
||||
private UcPddSpecEdit ucPddSpecEdit1;
|
||||
private UcPddSpecEdit ucPddSpecEdit2;
|
||||
private System.Windows.Forms.Panel pnlSpec1;
|
||||
private DevComponents.DotNetBar.PanelEx btnAddSpec1;
|
||||
private System.Windows.Forms.Panel pnlSpec2;
|
||||
private DevComponents.DotNetBar.PanelEx btnAddSpec2;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel4;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,414 @@
|
||||
using AllBase;
|
||||
using AllBase.Model.Param.PDDProdParam;
|
||||
using AllBase.Model.Result;
|
||||
using AllBase.Model.Result.PDDResult;
|
||||
using DevComponents.DotNetBar;
|
||||
using NaiBa.Util.Extension;
|
||||
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 TemuKJD.BaseForms;
|
||||
using TemuKJD.Extension;
|
||||
using TemuKJD.UserComponent;
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
public partial class PDDDBProdEditDetailForm : LRBaseForm
|
||||
{
|
||||
public KJDDBProduct DbProd { get; set; }
|
||||
public KJDDBProduct DbProdDetail { get; set; }
|
||||
List<sku_edit_item> lstSkuEditItem { get; set; } = new List<sku_edit_item>();
|
||||
sku_edit_item defaultSkuEditItem { get; set; }
|
||||
int addSpecIndex1 = 1;
|
||||
int addSpecIndex2 = 1;
|
||||
public PDDDBProdEditDetailForm(KJDDBProduct dbProd)
|
||||
{
|
||||
InitializeComponent();
|
||||
DbProd = dbProd;
|
||||
}
|
||||
|
||||
private void PDDDBProdEditDetailForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.ActiveControl = dgvDbProduct;
|
||||
this.dgvDbProduct.AddImgColumn("colSkuImg", "colSkuImgUrl");
|
||||
flowLayoutPanel1.Controls.Clear();
|
||||
flowLayoutPanel2.Controls.Clear();
|
||||
|
||||
pbLoading.Visible = true;
|
||||
Task.Run(() =>
|
||||
{
|
||||
if (DbProd != null)
|
||||
DbProdDetail = PDDDBProdUserSelectForm.GetProductDetail(DbProd.id.ParseToString());
|
||||
if (DbProdDetail == null)
|
||||
return;
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(DbProdDetail.sku_edit_json))
|
||||
{
|
||||
lstSkuEditItem = JsonHelper.DeserializeJsonToList<sku_edit_item>(DbProdDetail.sku_edit_json);
|
||||
}
|
||||
else
|
||||
{
|
||||
var prodInfo = JsonHelper.DeserializeJsonToObject<PDDProductInfo>(DbProdDetail.product_json);
|
||||
lstSkuEditItem = JsonHelper.DeserializeJsonToList<sku_edit_item>(JsonHelper.SerializeObject(prodInfo.detail.sku));
|
||||
}
|
||||
defaultSkuEditItem = lstSkuEditItem.FirstOrDefault();
|
||||
if (defaultSkuEditItem == null)
|
||||
defaultSkuEditItem = new sku_edit_item();
|
||||
|
||||
if (lstSkuEditItem.All(s => s.spec.Count < 2))
|
||||
{
|
||||
this.pnlSpec2.Visible = flowLayoutPanel2.Visible = cmbSpec2.Visible = false;
|
||||
this.dgvDbProduct.Columns["colSpec2"].Visible = false;
|
||||
}
|
||||
|
||||
flowLayoutPanel1.Tag = lstSkuEditItem.FirstOrDefault()?.spec?.FirstOrDefault();
|
||||
flowLayoutPanel2.Tag = lstSkuEditItem.FirstOrDefault()?.spec?.LastOrDefault();
|
||||
if (flowLayoutPanel2.Tag == flowLayoutPanel1.Tag)
|
||||
flowLayoutPanel2.Tag = null;
|
||||
this.cmbSpec1.Text = "全部" + lstSkuEditItem.FirstOrDefault()?.spec?.FirstOrDefault().parent_name;
|
||||
this.cmbSpec1.DefaultText = "全部" + lstSkuEditItem.FirstOrDefault()?.spec?.FirstOrDefault().parent_name;
|
||||
this.cmbSpec2.Text = "全部" + lstSkuEditItem.FirstOrDefault()?.spec?.LastOrDefault().parent_name;
|
||||
this.cmbSpec2.DefaultText = "全部" + lstSkuEditItem.FirstOrDefault()?.spec?.LastOrDefault().parent_name;
|
||||
if (cmbSpec2.Text == cmbSpec1.Text)
|
||||
{
|
||||
this.cmbSpec2.Text = "";
|
||||
this.cmbSpec2.DefaultText = "";
|
||||
}
|
||||
foreach (var skuEditItem in lstSkuEditItem)
|
||||
{
|
||||
//第一组spec
|
||||
if (skuEditItem.spec.Count > 0 && !flowLayoutPanel1.Controls.Cast<Control>().Any(c=>c.Name == skuEditItem.spec[0].spec_name))
|
||||
{
|
||||
AddSpec1(skuEditItem.spec[0]);
|
||||
}
|
||||
//第二组spec
|
||||
if (skuEditItem.spec.Count > 1 && !flowLayoutPanel2.Controls.Cast<Control>().Any(c => c.Name == skuEditItem.spec[1].spec_name))
|
||||
{
|
||||
AddSpec2(skuEditItem.spec[1]);
|
||||
}
|
||||
|
||||
//var rowId = this.dgvDbProduct.Rows.Add
|
||||
//(
|
||||
// false,
|
||||
// skuEditItem.spec.Count > 0 ? skuEditItem.spec[0].spec_name : "",
|
||||
// skuEditItem.spec.Count > 1 ? skuEditItem.spec[1].spec_name : "",
|
||||
// skuEditItem.multi_price * 0.01m,
|
||||
// skuEditItem.price * 0.01m,
|
||||
// skuEditItem.thumb_url,
|
||||
// DataGridViewExtension.defaultBitmap,
|
||||
// skuEditItem.out_sku_sn
|
||||
//);
|
||||
//this.dgvDbProduct.Rows[rowId].Height = 60;
|
||||
//this.dgvDbProduct.Height += 60;
|
||||
|
||||
//var skuParam = new sku_param()
|
||||
//{
|
||||
// id = skuEditItem.id,
|
||||
// is_onsale = skuEditItem.is_onsale,
|
||||
// limit_quantity = skuEditItem.limit_quantity,
|
||||
// multi_price = skuEditItem.multi_price,
|
||||
// out_sku_sn = skuEditItem.out_sku_sn,
|
||||
// oversea_sku = skuEditItem.oversea_sku,
|
||||
// price = skuEditItem.price,
|
||||
// quantity_delta = skuEditItem.quantity_delta.ParseToInt(), // 商品数量
|
||||
// shipment_limit_second_list = skuEditItem.shipment_limit_second_list,
|
||||
// sku69_code = skuEditItem.sku69_code,
|
||||
// sku_srv_templates = skuEditItem.sku_srv_templates.ParseToString(),
|
||||
// spec = JsonHelper.DeserializeJsonToList<spec_param>(JsonHelper.SerializeObject(skuEditItem.spec)),
|
||||
// thumb_url = skuEditItem.thumb_url,
|
||||
// weight = skuEditItem.weight,
|
||||
// length = skuEditItem.length,
|
||||
// price_in_yuan = "", // 内部计算直接置空
|
||||
// multi_price_in_yuan = "", // 内部计算直接置空
|
||||
// pre_sale_time = skuEditItem.pre_sale_time,
|
||||
// sku_id = skuEditItem.sku_id,
|
||||
// thumb_url_file_id = skuEditItem.thumb_url_file_id,
|
||||
//};
|
||||
}
|
||||
|
||||
RefreshRows();
|
||||
|
||||
pbLoading.Visible = false;
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
private void thumbImg_Click(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
private void TxtSpecName_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
var txt = sender as TextBox;
|
||||
if (txt == null)
|
||||
return;
|
||||
var edit = txt.Tag as UcPddSpecEdit;
|
||||
if (edit == null)
|
||||
return;
|
||||
var spec = edit.Tag as spec_item;
|
||||
if (spec == null)
|
||||
return;
|
||||
|
||||
edit.lblErr.Text = "";
|
||||
edit.btnSave.Enabled = true;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(edit.txtSpecName.Text))
|
||||
{
|
||||
edit.lblErr.Text = "请输入规格名称!";
|
||||
edit.btnSave.Enabled = false;
|
||||
return;
|
||||
}
|
||||
|
||||
var flowLayoutPanel = flowLayoutPanel1;
|
||||
if (edit.pictureBox1.Visible == false)
|
||||
flowLayoutPanel = flowLayoutPanel2;
|
||||
foreach (var control in flowLayoutPanel.Controls)
|
||||
{
|
||||
var loopEdit = control as UcPddSpecEdit;
|
||||
if (loopEdit == null)
|
||||
continue;
|
||||
var loopSpec = loopEdit.Tag as spec_item;
|
||||
if (loopSpec == null)
|
||||
continue;
|
||||
if (loopSpec != spec && edit.txtSpecName.Text.Trim() == loopSpec.spec_name)
|
||||
{
|
||||
edit.lblErr.Text = "规格名称重复!";
|
||||
edit.btnSave.Enabled = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
var btn = sender as PanelEx;
|
||||
if (btn == null)
|
||||
return;
|
||||
var edit = btn.Tag as UcPddSpecEdit;
|
||||
if (edit == null)
|
||||
return;
|
||||
var spec = edit.Tag as spec_item;
|
||||
if (spec == null)
|
||||
return;
|
||||
string oldSpecName = spec.spec_name;
|
||||
string newSpecName = edit.txtSpecName.Text.Trim();
|
||||
|
||||
if (edit.pictureBox1.Visible == true)
|
||||
{
|
||||
foreach (DataGridViewRow row in dgvDbProduct.Rows)
|
||||
{
|
||||
if (row.Cells["colSpec1"].Value.ParseToString() == spec.spec_name)
|
||||
{
|
||||
row.Cells["colSpec1"].Value = edit.txtSpecName.Text.Trim();
|
||||
}
|
||||
}
|
||||
if (lstSkuEditItem.All(s => s.spec.Count > 0))
|
||||
{
|
||||
foreach (var sku in lstSkuEditItem)
|
||||
{
|
||||
if (sku.spec[0].spec_name == oldSpecName)
|
||||
{
|
||||
sku.spec[0].spec_name = newSpecName;
|
||||
sku.spec[0].spec_id = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (DataGridViewRow row in dgvDbProduct.Rows)
|
||||
{
|
||||
if (row.Cells["colSpec2"].Value.ParseToString() == spec.spec_name)
|
||||
{
|
||||
row.Cells["colSpec2"].Value = edit.txtSpecName.Text.Trim();
|
||||
}
|
||||
}
|
||||
if (lstSkuEditItem.All(s => s.spec.Count > 1))
|
||||
{
|
||||
foreach (var sku in lstSkuEditItem)
|
||||
{
|
||||
if (sku.spec[1].spec_name == oldSpecName)
|
||||
{
|
||||
sku.spec[1].spec_name = newSpecName;
|
||||
sku.spec[1].spec_id = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnDel_Click(object sender, EventArgs e)
|
||||
{
|
||||
var btn = sender as PanelEx;
|
||||
if (btn == null)
|
||||
return;
|
||||
var edit = btn.Tag as UcPddSpecEdit;
|
||||
if (edit == null)
|
||||
return;
|
||||
var spec = edit.Tag as spec_item;
|
||||
if (spec == null)
|
||||
return;
|
||||
|
||||
if (edit.pictureBox1.Visible == true) // 第一组属性
|
||||
{
|
||||
if (lstSkuEditItem.All(s => s.spec.Count > 0))
|
||||
{
|
||||
var rows = this.dgvDbProduct.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colSpec1"].Value.ParseToString() == spec.spec_name).ToList();
|
||||
foreach (var row in rows)
|
||||
{
|
||||
this.dgvDbProduct.Rows.Remove(row);
|
||||
}
|
||||
this.lstSkuEditItem.RemoveAll(s => s.spec[0].spec_name == spec.spec_name);
|
||||
this.flowLayoutPanel1.Controls.Remove(edit);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (lstSkuEditItem.All(s => s.spec.Count > 1)) // 第二组属性
|
||||
{
|
||||
var rows = this.dgvDbProduct.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colSpec2"].Value.ParseToString() == spec.spec_name).ToList();
|
||||
foreach (var row in rows)
|
||||
{
|
||||
this.dgvDbProduct.Rows.Remove(row);
|
||||
}
|
||||
this.lstSkuEditItem.RemoveAll(s => s.spec[1].spec_name == spec.spec_name);
|
||||
this.flowLayoutPanel2.Controls.Remove(edit);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnBatchSetValue_Click(object sender, EventArgs e)
|
||||
{
|
||||
var specNameItems1 = this.cmbSpec1.SelectItems.Select(i => i.ParseToString()).ToList();
|
||||
var specNameItems2 = this.cmbSpec2.SelectItems.Select(i => i.ParseToString()).ToList();
|
||||
if (specNameItems2.Count == 0)
|
||||
specNameItems2.Add("");
|
||||
foreach (var specNameStr1 in specNameItems1)
|
||||
{
|
||||
foreach (var specNameStr2 in specNameItems2)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void btnAddSpec1_Click(object sender, EventArgs e)
|
||||
{
|
||||
var spec = this.flowLayoutPanel1.Tag as spec_item;
|
||||
if (spec == null)
|
||||
return;
|
||||
|
||||
var newSpec1 = JsonHelper.DeserializeJsonToObject<spec_item>(JsonHelper.SerializeObject(spec));
|
||||
newSpec1.spec_id = null;
|
||||
newSpec1.spec_name = newSpec1.parent_name + this.addSpecIndex1;
|
||||
AddSpec1(newSpec1);
|
||||
this.addSpecIndex1++;
|
||||
|
||||
var spec2Lst = new List<spec_item>();
|
||||
if (this.lstSkuEditItem.All(s => s.spec.Count == 2))
|
||||
{
|
||||
foreach (var sku in lstSkuEditItem)
|
||||
{
|
||||
if (spec2Lst.Any(s => s.spec_name == sku.spec[1].spec_name))
|
||||
continue;
|
||||
|
||||
spec2Lst.Add(sku.spec[1]);
|
||||
}
|
||||
}
|
||||
if (spec2Lst.Count == 0)
|
||||
spec2Lst.Add(new spec_item());
|
||||
|
||||
foreach (var sp in spec2Lst)
|
||||
{
|
||||
var newSku = JsonHelper.DeserializeJsonToObject<sku_edit_item>(JsonHelper.SerializeObject(defaultSkuEditItem));
|
||||
newSku.price = null;
|
||||
newSku.thumb_url = null;
|
||||
newSku.thumb_url_file_id = null;
|
||||
newSku.multi_price = null;
|
||||
if (this.lstSkuEditItem.All(s => s.spec.Count == 1))
|
||||
newSku.spec = new List<spec_item>() { newSpec1 };
|
||||
else
|
||||
newSku.spec = new List<spec_item>() { newSpec1, sp };
|
||||
lstSkuEditItem.Add(newSku);
|
||||
}
|
||||
|
||||
RefreshRows();
|
||||
}
|
||||
|
||||
void RefreshRows()
|
||||
{
|
||||
this.dgvDbProduct.Rows.Clear();
|
||||
foreach (var skuEditItem in lstSkuEditItem)
|
||||
{
|
||||
var rowId = this.dgvDbProduct.Rows.Add
|
||||
(
|
||||
false,
|
||||
skuEditItem.spec.Count > 0 ? skuEditItem.spec[0].spec_name : "",
|
||||
skuEditItem.spec.Count > 1 ? skuEditItem.spec[1].spec_name : "",
|
||||
skuEditItem.multi_price * 0.01m,
|
||||
skuEditItem.price * 0.01m,
|
||||
skuEditItem.thumb_url,
|
||||
DataGridViewExtension.defaultBitmap,
|
||||
skuEditItem.out_sku_sn
|
||||
);
|
||||
this.dgvDbProduct.Rows[rowId].Height = 60;
|
||||
this.dgvDbProduct.Height += 60;
|
||||
}
|
||||
}
|
||||
|
||||
void AddSpec1(spec_item specEditItem1)
|
||||
{
|
||||
UcPddSpecEdit edit = new UcPddSpecEdit();
|
||||
edit.Name = specEditItem1.spec_name;
|
||||
edit.Tag = specEditItem1;
|
||||
edit.txtSpecName.Text = specEditItem1.spec_name;
|
||||
edit.lblErr.Text = "";
|
||||
edit.pictureBox1.Image = Properties.Resources.nopic;
|
||||
this.flowLayoutPanel1.Controls.Add(edit);
|
||||
|
||||
edit.btnDel.Tag = edit;
|
||||
edit.btnDel.Click += btnDel_Click;
|
||||
edit.btnSave.Tag = edit;
|
||||
edit.btnSave.Click += btnSave_Click;
|
||||
edit.txtSpecName.Tag = edit;
|
||||
edit.txtSpecName.TextChanged += TxtSpecName_TextChanged;
|
||||
edit.pictureBox1.Click += thumbImg_Click;
|
||||
|
||||
this.cmbSpec1.Items.Add(specEditItem1.spec_name);
|
||||
}
|
||||
|
||||
void AddSpec2(spec_item specEditItem2)
|
||||
{
|
||||
UcPddSpecEdit edit = new UcPddSpecEdit();
|
||||
edit.Name = specEditItem2.spec_name;
|
||||
edit.Tag = specEditItem2;
|
||||
edit.txtSpecName.Text = specEditItem2.spec_name;
|
||||
edit.lblErr.Text = "";
|
||||
edit.pictureBox1.Visible = false;
|
||||
edit.txtSpecName.Width += 1 + edit.pictureBox1.Width;
|
||||
this.flowLayoutPanel2.Controls.Add(edit);
|
||||
|
||||
edit.btnDel.Tag = edit;
|
||||
edit.btnDel.Click += btnDel_Click;
|
||||
edit.btnSave.Tag = edit;
|
||||
edit.btnSave.Click += btnSave_Click;
|
||||
edit.txtSpecName.Tag = edit;
|
||||
edit.txtSpecName.TextChanged += TxtSpecName_TextChanged;
|
||||
|
||||
this.cmbSpec2.Items.Add(specEditItem2.spec_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,322 @@
|
||||
<?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="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSpec1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSpec2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colMultiPrice.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colPrice.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSkuImgUrl.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSkuImg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSkuSn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
|
||||
AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA
|
||||
OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT
|
||||
AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj///////
|
||||
///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP//
|
||||
//////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
|
||||
mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4
|
||||
mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ
|
||||
mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY
|
||||
//+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ
|
||||
mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf
|
||||
//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/
|
||||
//uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv///
|
||||
//+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP//
|
||||
if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ
|
||||
mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz
|
||||
MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///
|
||||
iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
|
||||
mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4
|
||||
kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP//
|
||||
/////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ
|
||||
mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ
|
||||
mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ
|
||||
mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ
|
||||
mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ
|
||||
//85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ
|
||||
mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ
|
||||
mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ
|
||||
mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT
|
||||
mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj///////
|
||||
///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn///
|
||||
//////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ
|
||||
mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ
|
||||
mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ
|
||||
mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ
|
||||
mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj///////////
|
||||
///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY//////
|
||||
////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP
|
||||
//////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4
|
||||
/4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ
|
||||
mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ
|
||||
mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7
|
||||
mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4
|
||||
eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb////
|
||||
///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ
|
||||
mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj/////
|
||||
/4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/
|
||||
///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ
|
||||
mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ
|
||||
mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ
|
||||
mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA
|
||||
AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA
|
||||
AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz
|
||||
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA
|
||||
AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w
|
||||
AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA
|
||||
Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA
|
||||
AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA
|
||||
AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA
|
||||
AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA
|
||||
AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA
|
||||
AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA
|
||||
AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA
|
||||
AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD/////
|
||||
wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
+35
-8
@@ -1,6 +1,6 @@
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
partial class PDDDBProdEditNotesForm
|
||||
partial class PDDDBProdEditForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
@@ -28,8 +28,9 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdEditNotesForm));
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdEditForm));
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.btnEditDetail = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSelect = new TemuKJD.UserControls.ButtonEx();
|
||||
this.buttonEx1 = new TemuKJD.UserControls.ButtonEx();
|
||||
this.pictureBox2 = new System.Windows.Forms.PictureBox();
|
||||
@@ -60,6 +61,7 @@
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.Controls.Add(this.btnEditDetail);
|
||||
this.panel2.Controls.Add(this.btnSelect);
|
||||
this.panel2.Controls.Add(this.buttonEx1);
|
||||
this.panel2.Controls.Add(this.pictureBox2);
|
||||
@@ -85,9 +87,33 @@
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(1, 33);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(464, 686);
|
||||
this.panel2.Size = new System.Drawing.Size(464, 651);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// btnEditDetail
|
||||
//
|
||||
this.btnEditDetail.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnEditDetail.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnEditDetail.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnEditDetail.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnEditDetail.Location = new System.Drawing.Point(341, 491);
|
||||
this.btnEditDetail.Name = "btnEditDetail";
|
||||
this.btnEditDetail.Size = new System.Drawing.Size(85, 25);
|
||||
this.btnEditDetail.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEditDetail.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEditDetail.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEditDetail.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnEditDetail.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnEditDetail.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnEditDetail.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnEditDetail.Style.GradientAngle = 90;
|
||||
this.btnEditDetail.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEditDetail.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnEditDetail.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnEditDetail.TabIndex = 647;
|
||||
this.btnEditDetail.Text = "编辑商品SKU";
|
||||
this.btnEditDetail.Click += new System.EventHandler(this.btnEditDetail_Click);
|
||||
//
|
||||
// btnSelect
|
||||
//
|
||||
this.btnSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
@@ -113,7 +139,7 @@
|
||||
this.buttonEx1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.buttonEx1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.buttonEx1.ForeColor = System.Drawing.Color.White;
|
||||
this.buttonEx1.Location = new System.Drawing.Point(90, 601);
|
||||
this.buttonEx1.Location = new System.Drawing.Point(90, 600);
|
||||
this.buttonEx1.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.buttonEx1.Name = "buttonEx1";
|
||||
this.buttonEx1.Size = new System.Drawing.Size(70, 26);
|
||||
@@ -334,7 +360,7 @@
|
||||
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnOk.ForeColor = System.Drawing.Color.White;
|
||||
this.btnOk.Location = new System.Drawing.Point(372, 640);
|
||||
this.btnOk.Location = new System.Drawing.Point(387, 601);
|
||||
this.btnOk.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnOk.Name = "btnOk";
|
||||
this.btnOk.Size = new System.Drawing.Size(55, 26);
|
||||
@@ -343,14 +369,14 @@
|
||||
this.btnOk.UseVisualStyleBackColor = false;
|
||||
this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
|
||||
//
|
||||
// PDDDBProdEditNotesForm
|
||||
// PDDDBProdEditForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(466, 720);
|
||||
this.ClientSize = new System.Drawing.Size(466, 685);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "PDDDBProdEditNotesForm";
|
||||
this.Name = "PDDDBProdEditForm";
|
||||
this.Text = "编辑商品备注/货号";
|
||||
this.TitleText = "编辑商品备注/货号";
|
||||
this.Load += new System.EventHandler(this.ProductSelectListForm_Load);
|
||||
@@ -388,5 +414,6 @@
|
||||
private System.Windows.Forms.Label label9;
|
||||
private UserControls.ButtonEx buttonEx1;
|
||||
private UserControls.ButtonEx btnSelect;
|
||||
private DevComponents.DotNetBar.PanelEx btnEditDetail;
|
||||
}
|
||||
}
|
||||
+8
-2
@@ -19,11 +19,11 @@ using Work.BLL.Tools;
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
public partial class PDDDBProdEditNotesForm : LRBaseForm
|
||||
public partial class PDDDBProdEditForm : LRBaseForm
|
||||
{
|
||||
KJDDBProduct dbProd = null;
|
||||
|
||||
public PDDDBProdEditNotesForm(KJDDBProduct prod)
|
||||
public PDDDBProdEditForm(KJDDBProduct prod)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
@@ -228,5 +228,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnEditDetail_Click(object sender, EventArgs e)
|
||||
{
|
||||
PDDDBProdEditDetailForm editDetailForm = new PDDDBProdEditDetailForm(this.dbProd);
|
||||
editDetailForm.ShowDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
File renamed without changes.
+144
-2
@@ -59,6 +59,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.lblGroup = new System.Windows.Forms.Label();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.pnlEditExtCodePrice = new System.Windows.Forms.Panel();
|
||||
this.lblExtCode = new System.Windows.Forms.Label();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.txtExtCodePrice = new System.Windows.Forms.TextBox();
|
||||
this.pnlCancel = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnEditExtCodePriceOK = new DevComponents.DotNetBar.PanelEx();
|
||||
this.lblExtCodePrice = new System.Windows.Forms.Label();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.txtSKC = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
@@ -79,6 +86,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.col_ext_code = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colGroup = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colPriceText = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colExtCodePrice = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colAddTimes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSelectTotalCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.col_notes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
@@ -98,6 +107,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
this.pnlEditExtCodePrice.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
@@ -397,6 +408,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.pnlEditExtCodePrice);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.txtSKC);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.label1);
|
||||
@@ -411,6 +423,104 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.splitContainer2.SplitterDistance = 600;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// pnlEditExtCodePrice
|
||||
//
|
||||
this.pnlEditExtCodePrice.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.pnlEditExtCodePrice.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.pnlEditExtCodePrice.Controls.Add(this.lblExtCode);
|
||||
this.pnlEditExtCodePrice.Controls.Add(this.panel2);
|
||||
this.pnlEditExtCodePrice.Controls.Add(this.lblExtCodePrice);
|
||||
this.pnlEditExtCodePrice.Location = new System.Drawing.Point(445, 96);
|
||||
this.pnlEditExtCodePrice.Name = "pnlEditExtCodePrice";
|
||||
this.pnlEditExtCodePrice.Size = new System.Drawing.Size(474, 146);
|
||||
this.pnlEditExtCodePrice.TabIndex = 434;
|
||||
this.pnlEditExtCodePrice.Visible = false;
|
||||
//
|
||||
// lblExtCode
|
||||
//
|
||||
this.lblExtCode.AutoSize = true;
|
||||
this.lblExtCode.Location = new System.Drawing.Point(20, 19);
|
||||
this.lblExtCode.Name = "lblExtCode";
|
||||
this.lblExtCode.Size = new System.Drawing.Size(56, 17);
|
||||
this.lblExtCode.TabIndex = 455;
|
||||
this.lblExtCode.Text = "ExtCode";
|
||||
this.lblExtCode.Visible = false;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.panel2.Controls.Add(this.txtExtCodePrice);
|
||||
this.panel2.Controls.Add(this.pnlCancel);
|
||||
this.panel2.Controls.Add(this.btnEditExtCodePriceOK);
|
||||
this.panel2.Location = new System.Drawing.Point(23, 80);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(424, 29);
|
||||
this.panel2.TabIndex = 454;
|
||||
//
|
||||
// txtExtCodePrice
|
||||
//
|
||||
this.txtExtCodePrice.Location = new System.Drawing.Point(96, 3);
|
||||
this.txtExtCodePrice.Name = "txtExtCodePrice";
|
||||
this.txtExtCodePrice.Size = new System.Drawing.Size(117, 23);
|
||||
this.txtExtCodePrice.TabIndex = 465;
|
||||
//
|
||||
// pnlCancel
|
||||
//
|
||||
this.pnlCancel.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.pnlCancel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.pnlCancel.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pnlCancel.Location = new System.Drawing.Point(273, 2);
|
||||
this.pnlCancel.Name = "pnlCancel";
|
||||
this.pnlCancel.Size = new System.Drawing.Size(56, 24);
|
||||
this.pnlCancel.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlCancel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.pnlCancel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.pnlCancel.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.pnlCancel.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlCancel.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.pnlCancel.Style.GradientAngle = 90;
|
||||
this.pnlCancel.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlCancel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlCancel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlCancel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlCancel.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.pnlCancel.TabIndex = 458;
|
||||
this.pnlCancel.Text = "取消";
|
||||
this.pnlCancel.Click += new System.EventHandler(this.pnlCancel_Click);
|
||||
//
|
||||
// btnEditExtCodePriceOK
|
||||
//
|
||||
this.btnEditExtCodePriceOK.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnEditExtCodePriceOK.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnEditExtCodePriceOK.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnEditExtCodePriceOK.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnEditExtCodePriceOK.Location = new System.Drawing.Point(215, 2);
|
||||
this.btnEditExtCodePriceOK.Name = "btnEditExtCodePriceOK";
|
||||
this.btnEditExtCodePriceOK.Size = new System.Drawing.Size(56, 24);
|
||||
this.btnEditExtCodePriceOK.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEditExtCodePriceOK.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEditExtCodePriceOK.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEditExtCodePriceOK.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnEditExtCodePriceOK.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnEditExtCodePriceOK.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnEditExtCodePriceOK.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnEditExtCodePriceOK.Style.GradientAngle = 90;
|
||||
this.btnEditExtCodePriceOK.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEditExtCodePriceOK.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnEditExtCodePriceOK.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnEditExtCodePriceOK.TabIndex = 453;
|
||||
this.btnEditExtCodePriceOK.Text = "确定";
|
||||
this.btnEditExtCodePriceOK.Click += new System.EventHandler(this.btnEditExtCodePriceOK_Click);
|
||||
//
|
||||
// lblExtCodePrice
|
||||
//
|
||||
this.lblExtCodePrice.Location = new System.Drawing.Point(23, 36);
|
||||
this.lblExtCodePrice.Name = "lblExtCodePrice";
|
||||
this.lblExtCodePrice.Size = new System.Drawing.Size(424, 17);
|
||||
this.lblExtCodePrice.TabIndex = 0;
|
||||
this.lblExtCodePrice.Text = "ExtCodePrice";
|
||||
this.lblExtCodePrice.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// pbLoading
|
||||
//
|
||||
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
@@ -446,6 +556,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.dgvDbProduct.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvDbProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvDbProduct.AutoRowNumber = true;
|
||||
this.dgvDbProduct.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
|
||||
this.dgvDbProduct.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvDbProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
@@ -473,6 +584,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.col_ext_code,
|
||||
this.colGroup,
|
||||
this.colPriceText,
|
||||
this.colExtCodePrice,
|
||||
this.colEdit,
|
||||
this.colAddTimes,
|
||||
this.colSelectTotalCount,
|
||||
this.col_notes,
|
||||
@@ -547,7 +660,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.col_product_name.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.col_product_name.FillWeight = 150F;
|
||||
this.col_product_name.FillWeight = 140F;
|
||||
this.col_product_name.HeaderText = "标题";
|
||||
this.col_product_name.Name = "col_product_name";
|
||||
this.col_product_name.ReadOnly = true;
|
||||
@@ -619,11 +732,27 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// colPriceText
|
||||
//
|
||||
this.colPriceText.FillWeight = 60F;
|
||||
this.colPriceText.FillWeight = 65F;
|
||||
this.colPriceText.HeaderText = "母店价格";
|
||||
this.colPriceText.Name = "colPriceText";
|
||||
this.colPriceText.ReadOnly = true;
|
||||
//
|
||||
// colExtCodePrice
|
||||
//
|
||||
this.colExtCodePrice.FillWeight = 55F;
|
||||
this.colExtCodePrice.HeaderText = "货号价格";
|
||||
this.colExtCodePrice.Name = "colExtCodePrice";
|
||||
this.colExtCodePrice.ReadOnly = true;
|
||||
//
|
||||
// colEdit
|
||||
//
|
||||
this.colEdit.FillWeight = 35F;
|
||||
this.colEdit.HeaderText = "编辑";
|
||||
this.colEdit.Name = "colEdit";
|
||||
this.colEdit.ReadOnly = true;
|
||||
this.colEdit.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colEdit.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// colAddTimes
|
||||
//
|
||||
this.colAddTimes.FillWeight = 52F;
|
||||
@@ -737,6 +866,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
this.pnlEditExtCodePrice.ResumeLayout(false);
|
||||
this.pnlEditExtCodePrice.PerformLayout();
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
@@ -773,6 +906,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
private DevComponents.DotNetBar.PanelEx btnSelect;
|
||||
private DevComponents.DotNetBar.PanelEx btnDelSelect;
|
||||
private System.Windows.Forms.ComboBox cmbGroupFilter;
|
||||
private System.Windows.Forms.Panel pnlEditExtCodePrice;
|
||||
private System.Windows.Forms.Label lblExtCode;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private DevComponents.DotNetBar.PanelEx pnlCancel;
|
||||
private DevComponents.DotNetBar.PanelEx btnEditExtCodePriceOK;
|
||||
private System.Windows.Forms.Label lblExtCodePrice;
|
||||
private System.Windows.Forms.TextBox txtExtCodePrice;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_db_id;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colFromShopId;
|
||||
@@ -787,6 +927,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_ext_code;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colGroup;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colPriceText;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colExtCodePrice;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colEdit;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTimes;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSelectTotalCount;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_notes;
|
||||
|
||||
@@ -93,6 +93,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.dgvDbProduct.AddSelectorColumn("colSelect");
|
||||
|
||||
this.dgvDbProduct.AddImgColumn("colSkuReplaceImg", "colSkuReplaceImgUrl");
|
||||
|
||||
|
||||
this.dgvDbProduct.AddMergeColumnHeader(new List<string>() { "colExtCodePrice", "colEdit" }, "货号价格");
|
||||
this.dgvDbProduct.AddMergeColumn(new List<string>() { "colExtCodePrice", "colEdit" });
|
||||
}
|
||||
|
||||
private void btnSearch_Click(object sender, EventArgs e)
|
||||
@@ -153,7 +157,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
prod.cat_name,
|
||||
prod.ext_code,
|
||||
prod.group,
|
||||
prod.price_text,
|
||||
prod.price_text, // 母店价格
|
||||
prod.ext_code_price * 0.01m, // 货号价格
|
||||
"编辑",
|
||||
prod.select_count,
|
||||
prod.select_total_count,
|
||||
prod.notes,
|
||||
@@ -334,7 +340,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
DeleteProduct(dbId);
|
||||
break;
|
||||
case "编辑/详情":
|
||||
PDDDBProdEditNotesForm editForm = new PDDDBProdEditNotesForm(dbProduct);
|
||||
PDDDBProdEditForm editForm = new PDDDBProdEditForm(dbProduct);
|
||||
editForm.ShowDialog();
|
||||
dgvDbProduct.Rows[e.RowIndex].Cells["col_notes"].Value = dbProduct.notes;
|
||||
dgvDbProduct.Rows[e.RowIndex].Cells["col_ext_code"].Value = dbProduct.ext_code;
|
||||
@@ -351,6 +357,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
case "认领":
|
||||
Task.Run(() => { SelectProduct(new KJDDBProduct[] { dbProduct }); });
|
||||
break;
|
||||
case "编辑":
|
||||
this.lblExtCodePrice.Text = "调整货号 " + dgvDbProduct.Rows[e.RowIndex].Cells["col_ext_code"].Value.ParseToString() + " 价格";
|
||||
this.lblExtCode.Text = dgvDbProduct.Rows[e.RowIndex].Cells["col_ext_code"].Value.ParseToString();
|
||||
this.txtExtCodePrice.Text = dgvDbProduct.Rows[e.RowIndex].Cells["colExtCodePrice"].Value?.ParseToDecimal().ToString();
|
||||
this.pnlEditExtCodePrice.Visible = true;
|
||||
break;
|
||||
case "":
|
||||
dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value;
|
||||
break;
|
||||
@@ -663,5 +675,46 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
private void btnEditExtCodePriceOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
var url = BaseClass.BuildObjString("price/add_ext_code_price");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&ext_code=" + lblExtCode.Text.Trim() +
|
||||
"&ext_code_price=" + (txtExtCodePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt();
|
||||
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 (html.Contains("\"code\":200"))
|
||||
{
|
||||
foreach (DataGridViewRow row in this.dgvDbProduct.Rows)
|
||||
{
|
||||
if (row.Cells["col_ext_code"].Value.ParseToString() == lblExtCode.Text.Trim())
|
||||
{
|
||||
row.Cells["colExtCodePrice"].Value = txtExtCodePrice.Text.Trim().ParseToDecimal();
|
||||
}
|
||||
}
|
||||
foreach (var prod in lstTemuDbProduct)
|
||||
{
|
||||
if (prod.ext_code == lblExtCode.Text.Trim())
|
||||
prod.ext_code_price = (txtExtCodePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt();
|
||||
}
|
||||
this.pnlEditExtCodePrice.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
var msg = BaseRegex.GetStringJson(ref html, "msg");
|
||||
if (string.IsNullOrEmpty(msg))
|
||||
msg = "商品货号价格修改失败!";
|
||||
BaseMsgForm.ShowError(msg);
|
||||
}
|
||||
}
|
||||
|
||||
private void pnlCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.pnlEditExtCodePrice.Visible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -159,6 +159,12 @@
|
||||
<metadata name="colPriceText.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colExtCodePrice.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colEdit.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colAddTimes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
||||
@@ -30,12 +30,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
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 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 dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.pbUpgradeVersion = new System.Windows.Forms.PictureBox();
|
||||
@@ -144,6 +144,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.btnClear = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.chkUseExtCodePrice = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@@ -201,6 +202,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ucGroupBoxEx2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.ucGroupBoxEx2.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
|
||||
this.ucGroupBoxEx2.Controls.Add(this.chkUseExtCodePrice);
|
||||
this.ucGroupBoxEx2.Controls.Add(this.pbUpgradeVersion);
|
||||
this.ucGroupBoxEx2.Controls.Add(this.lblUpgradeVersion);
|
||||
this.ucGroupBoxEx2.Controls.Add(this.label3);
|
||||
@@ -258,7 +260,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.pbUpgradeVersion.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.pbUpgradeVersion.TabIndex = 706;
|
||||
this.pbUpgradeVersion.TabStop = false;
|
||||
this.pbUpgradeVersion.Visible = false;
|
||||
this.pbUpgradeVersion.Click += new System.EventHandler(this.pbUpgradeVersion_Click);
|
||||
//
|
||||
// lblUpgradeVersion
|
||||
@@ -272,7 +273,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.lblUpgradeVersion.Size = new System.Drawing.Size(56, 17);
|
||||
this.lblUpgradeVersion.TabIndex = 707;
|
||||
this.lblUpgradeVersion.Text = "传叠加图";
|
||||
this.lblUpgradeVersion.Visible = false;
|
||||
this.lblUpgradeVersion.Click += new System.EventHandler(this.lblUpgradeVersion_Click);
|
||||
//
|
||||
// label3
|
||||
@@ -285,7 +285,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.label3.Size = new System.Drawing.Size(20, 17);
|
||||
this.label3.TabIndex = 696;
|
||||
this.label3.Text = "元";
|
||||
this.label3.Visible = false;
|
||||
//
|
||||
// txtUpgradeVersionAddPrice
|
||||
//
|
||||
@@ -296,7 +295,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.txtUpgradeVersionAddPrice.Size = new System.Drawing.Size(31, 23);
|
||||
this.txtUpgradeVersionAddPrice.TabIndex = 695;
|
||||
this.txtUpgradeVersionAddPrice.Text = "1.0";
|
||||
this.txtUpgradeVersionAddPrice.Visible = false;
|
||||
this.txtUpgradeVersionAddPrice.TextChanged += new System.EventHandler(this.txtUpgradeVersionAddPrice_TextChanged);
|
||||
//
|
||||
// label5
|
||||
@@ -309,7 +307,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.label5.Size = new System.Drawing.Size(56, 17);
|
||||
this.label5.TabIndex = 694;
|
||||
this.label5.Text = "额外多加";
|
||||
this.label5.Visible = false;
|
||||
//
|
||||
// txtUpgradeVersionName
|
||||
//
|
||||
@@ -320,7 +317,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.txtUpgradeVersionName.Size = new System.Drawing.Size(88, 23);
|
||||
this.txtUpgradeVersionName.TabIndex = 693;
|
||||
this.txtUpgradeVersionName.Text = "升级版";
|
||||
this.txtUpgradeVersionName.Visible = false;
|
||||
this.txtUpgradeVersionName.TextChanged += new System.EventHandler(this.txtUpgradeVersionName_TextChanged);
|
||||
//
|
||||
// chkUpgradeVersion
|
||||
@@ -334,7 +330,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.chkUpgradeVersion.TabIndex = 692;
|
||||
this.chkUpgradeVersion.Text = "升级sku名";
|
||||
this.chkUpgradeVersion.UseVisualStyleBackColor = true;
|
||||
this.chkUpgradeVersion.Visible = false;
|
||||
this.chkUpgradeVersion.CheckedChanged += new System.EventHandler(this.chkUpgradeVersion_CheckedChanged);
|
||||
//
|
||||
// btnStop
|
||||
@@ -1171,19 +1166,19 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
this.dgvShop.AllowUserToAddRows = false;
|
||||
this.dgvShop.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
dataGridViewCellStyle7.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.dgvShop.AutoRowNumber = true;
|
||||
this.dgvShop.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8;
|
||||
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
@@ -1351,19 +1346,19 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
this.dgvSelectProduct.AllowUserToAddRows = false;
|
||||
this.dgvSelectProduct.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
|
||||
dataGridViewCellStyle9.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.dgvSelectProduct.AutoRowNumber = true;
|
||||
this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
|
||||
dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10;
|
||||
this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colCheck,
|
||||
@@ -1424,8 +1419,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// colSupplierName
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle11;
|
||||
this.colSupplierName.Frozen = true;
|
||||
this.colSupplierName.HeaderText = "店铺名称";
|
||||
this.colSupplierName.Name = "colSupplierName";
|
||||
@@ -1504,8 +1499,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// colProductName
|
||||
//
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle12;
|
||||
this.colProductName.HeaderText = "商品标题";
|
||||
this.colProductName.Name = "colProductName";
|
||||
this.colProductName.ReadOnly = true;
|
||||
@@ -1657,6 +1652,19 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.panelEx1.Text = "停止当前操作";
|
||||
this.panelEx1.Visible = false;
|
||||
//
|
||||
// chkUseExtCodePrice
|
||||
//
|
||||
this.chkUseExtCodePrice.AutoSize = true;
|
||||
this.chkUseExtCodePrice.Checked = true;
|
||||
this.chkUseExtCodePrice.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkUseExtCodePrice.Location = new System.Drawing.Point(780, 22);
|
||||
this.chkUseExtCodePrice.Name = "chkUseExtCodePrice";
|
||||
this.chkUseExtCodePrice.Size = new System.Drawing.Size(147, 21);
|
||||
this.chkUseExtCodePrice.TabIndex = 717;
|
||||
this.chkUseExtCodePrice.Text = "使用货号价格做基础价";
|
||||
this.chkUseExtCodePrice.UseVisualStyleBackColor = true;
|
||||
this.chkUseExtCodePrice.CheckedChanged += new System.EventHandler(this.chkUseExtCodePrice_CheckedChanged);
|
||||
//
|
||||
// PDDDBProdUserSelectForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
@@ -1814,5 +1822,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
private UserComponent.UcCheckBox chkUpgradeVersion;
|
||||
private System.Windows.Forms.PictureBox pbUpgradeVersion;
|
||||
private System.Windows.Forms.Label lblUpgradeVersion;
|
||||
private UserComponent.UcCheckBox chkUseExtCodePrice;
|
||||
}
|
||||
}
|
||||
@@ -46,7 +46,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
public bool IsLoadComplate { get; set; } = false;
|
||||
|
||||
bool isInit = false;
|
||||
bool isActivityFake = true;
|
||||
bool isChanceApi = false;
|
||||
bool isKeepChanceGoodsImg = false;
|
||||
bool isLowPriceSku = false;
|
||||
@@ -125,6 +124,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.chkUpgradeVersion.Checked = pddUploadRule.IsUpgradeVersion;
|
||||
this.txtUpgradeVersionName.Text = pddUploadRule.UpgradeVersionName;
|
||||
this.txtUpgradeVersionAddPrice.Text = pddUploadRule.UpgradeVersionAddPrice.ParseToString();
|
||||
this.chkUseExtCodePrice.Checked = pddUploadRule.IsUseExtCodePrice;
|
||||
|
||||
|
||||
this.lblWaitToUp.Text = "待上传商品 " + lstTemuDBProductSelect.Count + " 件";
|
||||
@@ -148,7 +148,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
isChanceApi = chkChance.Checked;
|
||||
isKeepChanceGoodsImg = chkKeepChanceGoodsImg.Checked;
|
||||
isLowPriceSku = chkLowPriceSku.Checked;
|
||||
isActivityFake = chkActivity.Checked;
|
||||
|
||||
dgvSelectProduct.Columns["colSkuFakeImg"].Visible = false;
|
||||
//#if DEBUG
|
||||
@@ -1559,7 +1558,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
prodParam.showGoodsInstruction = true;
|
||||
prodParam.size_parent_spec_id = prodInfo.detail.size_parent_spec_id; //尝试使用上家的尺码表,不行则下面再修改
|
||||
prodParam.size_spec_id = prodInfo.detail.size_spec_id; //尝试使用上家的尺码表,不行则下面再修改
|
||||
|
||||
// 生成商品sku
|
||||
prodParam.skus = new List<sku_param>();
|
||||
|
||||
// 生成基准未改价的sku列表
|
||||
string[] upgradeTxt = new string[] { "升级款#", "升级版#", "精品款#", "精品版#", "升级款", "升级版", "精品款", "精品版" };
|
||||
List<sku_param> baseSkuParamLst = new List<sku_param>();
|
||||
foreach (var skuInfo in prodInfo.detail.sku)
|
||||
{
|
||||
var skuParam = new sku_param()
|
||||
@@ -1567,11 +1572,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
id = skuInfo.id,
|
||||
is_onsale = skuInfo.is_onsale,
|
||||
limit_quantity = skuInfo.limit_quantity,
|
||||
multi_price = (skuInfo.multi_price * this.txtAddTimes.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(),
|
||||
multi_price = skuInfo.multi_price,
|
||||
out_sku_sn = skuInfo.out_sku_sn,
|
||||
oversea_sku = skuInfo.oversea_sku,
|
||||
price = (skuInfo.price * this.txtAddTimes.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(),
|
||||
quantity_delta = txtStockNum.Text.Trim().ParseToInt(), //skuInfo.quantity,
|
||||
price = skuInfo.price,
|
||||
quantity_delta = txtStockNum.Text.Trim().ParseToInt(), // 商品数量
|
||||
shipment_limit_second_list = skuInfo.shipment_limit_second_list,
|
||||
sku69_code = skuInfo.sku69_code,
|
||||
sku_srv_templates = skuInfo.sku_srv_templates.ParseToString(),
|
||||
@@ -1585,26 +1590,73 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
sku_id = skuInfo.sku_id,
|
||||
thumb_url_file_id = skuInfo.thumb_url_file_id,
|
||||
};
|
||||
if (chkUseExtCodePrice.Checked && dbProd.ext_code_price > 0)
|
||||
{
|
||||
skuParam.price = dbProd.ext_code_price + skuParam.price - skuParam.multi_price;
|
||||
skuParam.multi_price = dbProd.ext_code_price;
|
||||
}
|
||||
|
||||
if (pddUploadRule.IsUpgradeVersion)
|
||||
{
|
||||
// 查找原sku内是否有升级款类似字样
|
||||
if (upgradeTxt.Any(t => skuParam.spec[0].spec_name.Contains(t)))
|
||||
{
|
||||
foreach (var txt in upgradeTxt)
|
||||
{
|
||||
skuParam.spec[0].spec_name = skuParam.spec[0].spec_name.Replace(txt, "").Trim();
|
||||
}
|
||||
// 如果删除升级款字样后有相同sku了就跳过
|
||||
if (prodInfo.detail.sku.Any(s => s.spec[0].spec_name == skuParam.spec[0].spec_name) || string.IsNullOrWhiteSpace(skuParam.spec[0].spec_name))
|
||||
continue;
|
||||
|
||||
// 根据修改过的spec_name获取spec_id
|
||||
var changeSpecRst = get_spec_by_name(shop, skuParam.spec[0].spec_name, skuParam.spec[0].parent_id.ParseToLong(), prodInfo.detail.cat_id.ParseToInt(),
|
||||
prodParam.goods_id.ParseToString(), prodParam.goods_commit_id, prodInfo.chance_tab);
|
||||
Thread.Sleep(Randomx.GetId(50, 100));
|
||||
if (!changeSpecRst.Contains("\"success\":true"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref changeSpecRst, "error_msg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = changeSpecRst;
|
||||
return "设置原商品sku失败 " + error;
|
||||
}
|
||||
else
|
||||
{
|
||||
skuParam.spec[0].spec_id = BaseRegex.GetLongJson(ref changeSpecRst, "result");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
baseSkuParamLst.Add(skuParam);
|
||||
}
|
||||
|
||||
// 生成正常加价的sku列表
|
||||
foreach (var skuParamInfo in baseSkuParamLst)
|
||||
{
|
||||
var skuParam = JsonHelper.DeserializeJsonToObject<sku_param>(JsonHelper.SerializeObject(skuParamInfo));
|
||||
skuParam.multi_price = (skuParamInfo.multi_price * this.txtAddTimes.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt();
|
||||
skuParam.price = (skuParamInfo.price * this.txtAddTimes.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt();
|
||||
skuParam.quantity_delta = txtStockNum.Text.Trim().ParseToInt();
|
||||
|
||||
if (isAddMorePriceFirst) // 先加后乘
|
||||
skuParam.multi_price = ((skuInfo.multi_price + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100) * this.txtAddTimes.Text.Trim().ParseToDecimal()).ParseToInt();
|
||||
skuParam.multi_price = ((skuParamInfo.multi_price + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100) * this.txtAddTimes.Text.Trim().ParseToDecimal()).ParseToInt();
|
||||
skuParam.price = skuParam.multi_price + Math.Max(100, this.txtSinglePriceAdd.Text.Trim().ParseToDecimal() * 100).ParseToInt();
|
||||
//阶梯式加价,如果命中则按阶梯式加价进行
|
||||
if (isStepAddPrice)
|
||||
{
|
||||
foreach (var addPrice in lstAddPriceRule)
|
||||
{
|
||||
if (skuInfo.multi_price > addPrice.MoreThanPrice * 100 && skuInfo.multi_price <= addPrice.LessThanPrice * 100)
|
||||
if (skuParamInfo.multi_price > addPrice.MoreThanPrice * 100 && skuParamInfo.multi_price <= addPrice.LessThanPrice * 100)
|
||||
{
|
||||
if (isAddMorePriceFirst) // 先加后乘
|
||||
skuParam.multi_price = ((skuInfo.multi_price + addPrice.AddMorePrice * 100) * addPrice.AddPriceTimes).ParseToInt();
|
||||
skuParam.multi_price = ((skuParamInfo.multi_price + addPrice.AddMorePrice * 100) * addPrice.AddPriceTimes).ParseToInt();
|
||||
else
|
||||
skuParam.multi_price = (skuInfo.multi_price * addPrice.AddPriceTimes + addPrice.AddMorePrice * 100).ParseToInt();
|
||||
skuParam.multi_price = (skuParamInfo.multi_price * addPrice.AddPriceTimes + addPrice.AddMorePrice * 100).ParseToInt();
|
||||
skuParam.price = skuParam.multi_price + Math.Max(100, addPrice.SinglePriceAdd * 100).ParseToInt(); ;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (prodParam.market_price < skuParam.price + 1000)
|
||||
{
|
||||
prodParam.market_price = skuParam.price + 1000;
|
||||
@@ -1613,14 +1665,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
prodParam.skus.Add(skuParam);
|
||||
}
|
||||
|
||||
#region // 添加升级版sku
|
||||
#region 添加升级版sku
|
||||
List<spec_param> upgrade_First_spec_lst = new List<spec_param>();
|
||||
List<sku_param> upgrade_Sku_Lst = new List<sku_param>();
|
||||
Dictionary<string, string> upgrade_Sku_Img_Dic = new Dictionary<string, string>();
|
||||
if (pddUploadRule.IsUpgradeVersion)
|
||||
{
|
||||
List<sku_param> upgrade_Sku_Lst = new List<sku_param>();
|
||||
foreach (var skuParam in prodParam.skus)
|
||||
{
|
||||
var skuParamUpgrade = JsonHelper.DeserializeJsonToObject<sku_param>(JsonHelper.SerializeObject(skuParam));
|
||||
upgrade_Sku_Lst.Add(skuParamUpgrade);
|
||||
|
||||
skuParamUpgrade.multi_price += (txtUpgradeVersionAddPrice.Text.ParseToDecimal() * 100).ParseToInt();
|
||||
skuParamUpgrade.price += (txtUpgradeVersionAddPrice.Text.ParseToDecimal() * 100).ParseToInt();
|
||||
if (prodParam.market_price < skuParamUpgrade.price + 1000)
|
||||
@@ -1633,7 +1688,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
if (specUpgrade != null)
|
||||
{
|
||||
specUpgrade.spec_name = this.txtUpgradeVersionName.Text.Trim() + specUpgrade.spec_name;
|
||||
upgrade_Sku_Lst.Add(skuParamUpgrade);
|
||||
var specUpgradeExist = upgrade_First_spec_lst.FirstOrDefault(s => s.spec_name == specUpgrade.spec_name);
|
||||
if (specUpgradeExist == null)
|
||||
{
|
||||
@@ -1652,9 +1706,50 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
specUpgradeExist.spec_id = BaseRegex.GetLongJson(ref upgradeSpecRst, "result");
|
||||
}
|
||||
upgrade_First_spec_lst.Add(specUpgradeExist);
|
||||
}
|
||||
specUpgrade.spec_id = specUpgradeExist.spec_id;
|
||||
}
|
||||
|
||||
if (!upgrade_Sku_Img_Dic.Keys.Contains(skuParamUpgrade.thumb_url))
|
||||
{
|
||||
string getImgError;
|
||||
var image = GetHtml.GetUrlImg(skuParamUpgrade.thumb_url.Replace("https://", "http://"), out getImgError);
|
||||
var imageBg = new Bitmap(image.Width, image.Height);
|
||||
if (!string.IsNullOrEmpty(getImgError) || image == null)
|
||||
{
|
||||
return "设置升级款sku失败 图片上传失败";
|
||||
}
|
||||
try
|
||||
{
|
||||
using (Graphics g = Graphics.FromImage(imageBg))
|
||||
{
|
||||
g.DrawImage(image, new Rectangle(0, 0, image.Width, image.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel);
|
||||
var imageUp = pbUpgradeVersion.Image;
|
||||
// 将升级版图片绘制到sku图片上
|
||||
g.DrawImage(imageUp, new Rectangle(0, 0, image.Width, image.Height), 0, 0, imageUp.Width, imageUp.Height, GraphicsUnit.Pixel);
|
||||
}
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
return "设置升级款sku失败 " + ex.Message;
|
||||
}
|
||||
string uploadUpgradeSkuImgRst = UploadProdSkuImg(shop, imageBg, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id, prodInfo.chance_tab);
|
||||
if (!uploadUpgradeSkuImgRst.Contains("\"url\":\"https:"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref uploadUpgradeSkuImgRst, "error_msg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = uploadUpgradeSkuImgRst;
|
||||
return "上传升级款sku图片失败 " + error;
|
||||
}
|
||||
else
|
||||
{
|
||||
var upgrid_thumb_url = BaseRegex.GetStringJson(ref uploadUpgradeSkuImgRst, "url");
|
||||
upgrade_Sku_Img_Dic[skuParamUpgrade.thumb_url] = upgrid_thumb_url;
|
||||
}
|
||||
}
|
||||
skuParamUpgrade.thumb_url = upgrade_Sku_Img_Dic[skuParamUpgrade.thumb_url];
|
||||
skuParamUpgrade.thumb_url_file_id = null;
|
||||
}
|
||||
foreach (var skuParam in upgrade_Sku_Lst)
|
||||
{
|
||||
@@ -1663,7 +1758,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region // 添加一个申请活动低价sku
|
||||
#region // 添加一个申请活动的低价sku
|
||||
//申请skuSpec
|
||||
var spec = prodInfo.detail.sku.FirstOrDefault().spec.FirstOrDefault(s => !s.spec_name.Contains("码"));
|
||||
var newSpecItem = JsonHelper.DeserializeJsonToObject<spec_item>(JsonHelper.SerializeObject(spec));
|
||||
@@ -1835,7 +1930,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
sleepTimeTotal += sleepTime;
|
||||
Thread.Sleep(sleepTime);
|
||||
}
|
||||
if (!isActivityFake)
|
||||
if (!pddUploadRule.IsSignActivity)
|
||||
{
|
||||
sleepTime = Randomx.GetId(5000, 15000);
|
||||
sleepTimeTotal += sleepTime;
|
||||
@@ -1960,7 +2055,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
|
||||
string lowPriceSkuImg = "";
|
||||
string lowPriceSkuImgBase64 = "";
|
||||
if (isLowPriceSku) // 活动可以给sku报不同的价格,给商品添加一个低价sku
|
||||
if (isLowPriceSku) // 上传低价sku图 (活动可以给sku报不同的价格,给商品添加一个低价sku)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
@@ -2070,7 +2165,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
if (!string.IsNullOrEmpty(dbProd.sku_img_replace_url) && !string.IsNullOrEmpty(dbProd.sku_img_replace_base64))
|
||||
fakeImgUrl = dbProd.sku_img_replace_url;
|
||||
|
||||
if (isActivityFake && string.IsNullOrEmpty(dbProd.sku_img_replace_url) && !string.IsNullOrEmpty(dbProd.sku_img_replace_base64) && 1 == 1)
|
||||
if (pddUploadRule.IsSignActivity && string.IsNullOrEmpty(dbProd.sku_img_replace_url) && !string.IsNullOrEmpty(dbProd.sku_img_replace_base64) && 1 == 1)
|
||||
{
|
||||
string uploadSkuImgRst = UploadProdSkuImg(shop, dbProd.sku_img_replace_base64, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id, prodInfo.chance_tab);
|
||||
if (!uploadSkuImgRst.Contains("\"url\":\"https:"))
|
||||
@@ -2102,33 +2197,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
|
||||
var prodParamHighPrice = JsonHelper.DeserializeJsonToObject<PDDProductUploadParam>(JsonHelper.SerializeObject(prodParam));
|
||||
prodParamHighPrice.skus = new List<sku_param>();
|
||||
foreach (var skuInfo in prodInfo.detail.sku)
|
||||
foreach (var skuParamInfo in baseSkuParamLst)
|
||||
{
|
||||
var skuParam = new sku_param()
|
||||
{
|
||||
id = skuInfo.id,
|
||||
is_onsale = skuInfo.is_onsale,
|
||||
limit_quantity = skuInfo.limit_quantity,
|
||||
multi_price = (skuInfo.multi_price * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt(),
|
||||
out_sku_sn = skuInfo.out_sku_sn,
|
||||
oversea_sku = skuInfo.oversea_sku,
|
||||
price = (skuInfo.price * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt(),
|
||||
quantity_delta = txtStockNum.Text.Trim().ParseToInt(), //skuInfo.quantity,
|
||||
shipment_limit_second_list = skuInfo.shipment_limit_second_list,
|
||||
sku69_code = skuInfo.sku69_code,
|
||||
sku_srv_templates = skuInfo.sku_srv_templates.ParseToString(),
|
||||
spec = JsonHelper.DeserializeJsonToList<spec_param>(JsonHelper.SerializeObject(skuInfo.spec)),
|
||||
thumb_url = skuInfo.thumb_url,
|
||||
weight = skuInfo.weight,
|
||||
length = skuInfo.length,
|
||||
price_in_yuan = "", // 内部计算直接置空
|
||||
multi_price_in_yuan = "", // 内部计算直接置空
|
||||
pre_sale_time = skuInfo.pre_sale_time,
|
||||
sku_id = skuInfo.sku_id,
|
||||
thumb_url_file_id = skuInfo.thumb_url_file_id,
|
||||
};
|
||||
var skuParam = JsonHelper.DeserializeJsonToObject<sku_param>(JsonHelper.SerializeObject(skuParamInfo));
|
||||
|
||||
skuParam.multi_price = (skuParamInfo.multi_price * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt();
|
||||
skuParam.price = (skuParamInfo.price * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt();
|
||||
skuParam.quantity_delta = txtStockNum.Text.Trim().ParseToInt(); // 库存
|
||||
|
||||
if (isAddMorePriceFirst) // 先加后乘
|
||||
skuParam.multi_price = ((skuInfo.multi_price) * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt();
|
||||
skuParam.multi_price = ((skuParamInfo.multi_price) * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt();
|
||||
skuParam.price = skuParam.multi_price + Math.Max(100, this.txtSinglePriceAdd.Text.Trim().ParseToDecimal() * 100).ParseToInt();
|
||||
|
||||
if (prodParamHighPrice.market_price < skuParam.price + 1000)
|
||||
@@ -2142,9 +2220,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
#region 添加升级版sku
|
||||
if (pddUploadRule.IsUpgradeVersion)
|
||||
{
|
||||
List<sku_param> upgrade_Sku_Lst = new List<sku_param>();
|
||||
foreach (var skuParam in prodParamHighPrice.skus)
|
||||
{
|
||||
var skuParamUpgrade = JsonHelper.DeserializeJsonToObject<sku_param>(JsonHelper.SerializeObject(skuParam));
|
||||
upgrade_Sku_Lst.Add(skuParamUpgrade);
|
||||
|
||||
skuParamUpgrade.multi_price += (txtUpgradeVersionAddPrice.Text.ParseToDecimal() * 100).ParseToInt();
|
||||
skuParamUpgrade.price += (txtUpgradeVersionAddPrice.Text.ParseToDecimal() * 100).ParseToInt();
|
||||
if (prodParamHighPrice.market_price < skuParamUpgrade.price + 1000)
|
||||
@@ -2157,7 +2238,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
if (specUpgrade != null)
|
||||
{
|
||||
specUpgrade.spec_name = this.txtUpgradeVersionName.Text.Trim() + specUpgrade.spec_name;
|
||||
upgrade_Sku_Lst.Add(skuParamUpgrade);
|
||||
var specUpgradeExist = upgrade_First_spec_lst.FirstOrDefault(s => s.spec_name == specUpgrade.spec_name);
|
||||
if (specUpgradeExist == null)
|
||||
{
|
||||
@@ -2176,9 +2256,50 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
specUpgradeExist.spec_id = BaseRegex.GetLongJson(ref upgradeSpecRst, "result");
|
||||
}
|
||||
upgrade_First_spec_lst.Add(specUpgradeExist);
|
||||
}
|
||||
specUpgrade.spec_id = specUpgradeExist.spec_id;
|
||||
}
|
||||
|
||||
if (!upgrade_Sku_Img_Dic.Keys.Contains(skuParamUpgrade.thumb_url))
|
||||
{
|
||||
string getImgError;
|
||||
var image = GetHtml.GetUrlImg(skuParamUpgrade.thumb_url.Replace("https://", "http://"), out getImgError);
|
||||
var imageBg = new Bitmap(image.Width, image.Height);
|
||||
if (!string.IsNullOrEmpty(getImgError) || image == null)
|
||||
{
|
||||
return "设置升级款sku失败 图片上传失败";
|
||||
}
|
||||
try
|
||||
{
|
||||
using (Graphics g = Graphics.FromImage(imageBg))
|
||||
{
|
||||
g.DrawImage(image, new Rectangle(0, 0, image.Width, image.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel);
|
||||
var imageUp = pbUpgradeVersion.Image;
|
||||
// 将升级版图片绘制到sku图片上
|
||||
g.DrawImage(imageUp, new Rectangle(0, 0, image.Width, image.Height), 0, 0, imageUp.Width, imageUp.Height, GraphicsUnit.Pixel);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "设置升级款sku失败 " + ex.Message;
|
||||
}
|
||||
string uploadUpgradeSkuImgRst = UploadProdSkuImg(shop, imageBg, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id, prodInfo.chance_tab);
|
||||
if (!uploadUpgradeSkuImgRst.Contains("\"url\":\"https:"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref uploadUpgradeSkuImgRst, "error_msg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = uploadUpgradeSkuImgRst;
|
||||
return "上传升级款sku图片失败 " + error;
|
||||
}
|
||||
else
|
||||
{
|
||||
var upgrid_thumb_url = BaseRegex.GetStringJson(ref uploadUpgradeSkuImgRst, "url");
|
||||
upgrade_Sku_Img_Dic[skuParamUpgrade.thumb_url] = upgrid_thumb_url;
|
||||
}
|
||||
}
|
||||
skuParamUpgrade.thumb_url = upgrade_Sku_Img_Dic[skuParamUpgrade.thumb_url];
|
||||
skuParamUpgrade.thumb_url_file_id = null;
|
||||
}
|
||||
foreach (var skuParam in upgrade_Sku_Lst)
|
||||
{
|
||||
@@ -2187,7 +2308,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 添加低价sku
|
||||
#region // 添加一个申请活动的低价sku
|
||||
if (isLowPriceSku)
|
||||
{
|
||||
List<spec_param> first_spec_lst = new List<spec_param>();
|
||||
@@ -2235,141 +2356,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
}
|
||||
#endregion
|
||||
|
||||
var prodParamHighPriceFakeSkuImg = JsonHelper.DeserializeJsonToObject<PDDProductUploadParam>(JsonHelper.SerializeObject(prodParam));
|
||||
prodParamHighPriceFakeSkuImg.skus = new List<sku_param>();
|
||||
foreach (var skuInfo in prodInfo.detail.sku)
|
||||
// 复制一份商品使用sku替换图片
|
||||
var prodParamHighPriceFakeSkuImg = JsonHelper.DeserializeJsonToObject<PDDProductUploadParam>(JsonHelper.SerializeObject(prodParamHighPrice));
|
||||
foreach (var skuParam in prodParamHighPriceFakeSkuImg.skus)
|
||||
{
|
||||
var skuParam = new sku_param()
|
||||
{
|
||||
id = skuInfo.id,
|
||||
is_onsale = skuInfo.is_onsale,
|
||||
limit_quantity = skuInfo.limit_quantity,
|
||||
multi_price = (skuInfo.multi_price * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt(),
|
||||
out_sku_sn = skuInfo.out_sku_sn,
|
||||
oversea_sku = skuInfo.oversea_sku,
|
||||
price = (skuInfo.price * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt(),
|
||||
quantity_delta = txtStockNum.Text.Trim().ParseToInt(), //skuInfo.quantity,
|
||||
shipment_limit_second_list = skuInfo.shipment_limit_second_list,
|
||||
sku69_code = skuInfo.sku69_code,
|
||||
sku_srv_templates = skuInfo.sku_srv_templates.ParseToString(),
|
||||
spec = JsonHelper.DeserializeJsonToList<spec_param>(JsonHelper.SerializeObject(skuInfo.spec)),
|
||||
thumb_url = fakeImgUrl, //skuInfo.thumb_url,
|
||||
weight = skuInfo.weight,
|
||||
length = skuInfo.length,
|
||||
price_in_yuan = "", // 内部计算直接置空
|
||||
multi_price_in_yuan = "", // 内部计算直接置空
|
||||
pre_sale_time = skuInfo.pre_sale_time,
|
||||
sku_id = skuInfo.sku_id,
|
||||
thumb_url_file_id = null, // skuInfo.thumb_url_file_id,
|
||||
};
|
||||
if (isAddMorePriceFirst) // 先加后乘
|
||||
skuParam.multi_price = ((skuInfo.multi_price) * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt();
|
||||
skuParam.price = skuParam.multi_price + Math.Max(100, this.txtSinglePriceAdd.Text.Trim().ParseToDecimal() * 100).ParseToInt();
|
||||
|
||||
if (prodParamHighPriceFakeSkuImg.market_price < skuParam.price + 1000)
|
||||
{
|
||||
prodParamHighPriceFakeSkuImg.market_price = skuParam.price + 1000;
|
||||
prodParamHighPriceFakeSkuImg.market_price_in_yuan = (prodParamHighPriceFakeSkuImg.market_price * 0.01).ParseToString();
|
||||
}
|
||||
prodParamHighPriceFakeSkuImg.skus.Add(skuParam);
|
||||
skuParam.thumb_url = fakeImgUrl;
|
||||
skuParam.thumb_url_file_id = null;
|
||||
}
|
||||
|
||||
|
||||
#region 添加升级版sku
|
||||
if (pddUploadRule.IsUpgradeVersion)
|
||||
{
|
||||
foreach (var skuParam in prodParamHighPriceFakeSkuImg.skus)
|
||||
{
|
||||
var skuParamUpgrade = JsonHelper.DeserializeJsonToObject<sku_param>(JsonHelper.SerializeObject(skuParam));
|
||||
skuParamUpgrade.multi_price += (txtUpgradeVersionAddPrice.Text.ParseToDecimal() * 100).ParseToInt();
|
||||
skuParamUpgrade.price += (txtUpgradeVersionAddPrice.Text.ParseToDecimal() * 100).ParseToInt();
|
||||
if (prodParamHighPriceFakeSkuImg.market_price < skuParamUpgrade.price + 1000)
|
||||
{
|
||||
prodParamHighPriceFakeSkuImg.market_price = skuParamUpgrade.price + 1000;
|
||||
prodParamHighPriceFakeSkuImg.market_price_in_yuan = (prodParamHighPriceFakeSkuImg.market_price * 0.01).ParseToString();
|
||||
}
|
||||
var spec1 = skuParamUpgrade.spec.FirstOrDefault();
|
||||
var specUpgrade = spec1;
|
||||
if (specUpgrade != null)
|
||||
{
|
||||
specUpgrade.spec_name = this.txtUpgradeVersionName.Text.Trim() + specUpgrade.spec_name;
|
||||
upgrade_Sku_Lst.Add(skuParamUpgrade);
|
||||
var specUpgradeExist = upgrade_First_spec_lst.FirstOrDefault(s => s.spec_name == specUpgrade.spec_name);
|
||||
if (specUpgradeExist == null)
|
||||
{
|
||||
specUpgradeExist = specUpgrade;
|
||||
var upgradeSpecRst = get_spec_by_name(shop, specUpgradeExist.spec_name, spec1.parent_id.ParseToLong(), prodInfo.detail.cat_id.ParseToInt(),
|
||||
prodParamHighPriceFakeSkuImg.goods_id.ParseToString(), prodParamHighPriceFakeSkuImg.goods_commit_id, prodInfo.chance_tab);
|
||||
Thread.Sleep(Randomx.GetId(50, 100));
|
||||
if (!upgradeSpecRst.Contains("\"success\":true"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref upgradeSpecRst, "error_msg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = upgradeSpecRst;
|
||||
return "设置升级款sku失败 " + error;
|
||||
}
|
||||
else
|
||||
{
|
||||
specUpgradeExist.spec_id = BaseRegex.GetLongJson(ref upgradeSpecRst, "result");
|
||||
}
|
||||
}
|
||||
specUpgrade.spec_id = specUpgradeExist.spec_id;
|
||||
}
|
||||
}
|
||||
foreach (var skuParam in upgrade_Sku_Lst)
|
||||
{
|
||||
prodParamHighPriceFakeSkuImg.skus.Add(skuParam);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 添加低价Sku
|
||||
if (isLowPriceSku)
|
||||
{
|
||||
List<spec_param> first_spec_lst = new List<spec_param>();
|
||||
List<spec_param> second_spec_lst = new List<spec_param>();
|
||||
List<sku_param> new_sku_lst = new List<sku_param>();
|
||||
foreach (var sku in prodParamHighPriceFakeSkuImg.skus)
|
||||
{
|
||||
if (sku.spec.Count > 0)
|
||||
{
|
||||
if (sku.spec[0].parent_id != newSpecItem.parent_id && !first_spec_lst.Any(s => s.spec_id == sku.spec[0].spec_id))
|
||||
{
|
||||
first_spec_lst.Add(sku.spec[0]);
|
||||
new_sku_lst.Add(JsonHelper.DeserializeJsonToObject<sku_param>(JsonHelper.SerializeObject(sku)));
|
||||
}
|
||||
}
|
||||
if (sku.spec.Count > 1)
|
||||
{
|
||||
if (sku.spec[1].parent_id != newSpecItem.parent_id && !second_spec_lst.Any(s => s.spec_id == sku.spec[1].spec_id))
|
||||
{
|
||||
second_spec_lst.Add(sku.spec[1]);
|
||||
new_sku_lst.Add(JsonHelper.DeserializeJsonToObject<sku_param>(JsonHelper.SerializeObject(sku)));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (new_sku_lst.Count == 0)
|
||||
{
|
||||
new_sku_lst.Add(JsonHelper.DeserializeJsonToObject<sku_param>(JsonHelper.SerializeObject(prodParamHighPriceFakeSkuImg.skus.LastOrDefault())));
|
||||
}
|
||||
foreach (var sku in new_sku_lst)
|
||||
{
|
||||
if (sku.spec.Count > 0 && sku.spec[0].parent_id == newSpecItem.parent_id)
|
||||
{
|
||||
sku.spec[0] = JsonHelper.DeserializeJsonToObject<spec_param>(JsonHelper.SerializeObject(newSpecItem));
|
||||
}
|
||||
else if (sku.spec.Count > 1 && sku.spec[1].parent_id == newSpecItem.parent_id)
|
||||
{
|
||||
sku.spec[1] = JsonHelper.DeserializeJsonToObject<spec_param>(JsonHelper.SerializeObject(newSpecItem));
|
||||
}
|
||||
|
||||
sku.multi_price = sku.multi_price - 200;
|
||||
sku.price = sku.price - 200;
|
||||
prodParamHighPriceFakeSkuImg.skus.Add(sku);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
if (cell != null)
|
||||
@@ -2456,14 +2449,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
|
||||
Thread.Sleep(Randomx.GetId(20, 100));
|
||||
var saveProdRst = "";
|
||||
if (isActivityFake)
|
||||
if (pddUploadRule.IsSignActivity)
|
||||
saveProdRst = save_goods_edit(shop, prodParamHighPriceFakeSkuImg, prodParamHighPriceFakeSkuImg.goods_id.ParseToString(), prodParamHighPriceFakeSkuImg.goods_commit_id, isChanceApi);
|
||||
else
|
||||
saveProdRst = save_goods_edit(shop, prodParam, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id, isChanceApi);
|
||||
for (int i = 0; i < 3 && saveProdRst.Contains("http error:500"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(2500 * (i+1), 3500 * (i + 1)));
|
||||
if (isActivityFake)
|
||||
if (pddUploadRule.IsSignActivity)
|
||||
saveProdRst = save_goods_edit(shop, prodParamHighPriceFakeSkuImg, prodParamHighPriceFakeSkuImg.goods_id.ParseToString(), prodParamHighPriceFakeSkuImg.goods_commit_id, isChanceApi);
|
||||
else
|
||||
saveProdRst = save_goods_edit(shop, prodParam, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id, isChanceApi);
|
||||
@@ -2500,12 +2493,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
return "提交失败 " + error;
|
||||
}
|
||||
|
||||
if(!isActivityFake)
|
||||
if(!pddUploadRule.IsSignActivity)
|
||||
{
|
||||
//Thread.Sleep(Randomx.GetId(5000, 20000));
|
||||
}
|
||||
//如果是活动报高价
|
||||
if (isActivityFake)
|
||||
if (pddUploadRule.IsSignActivity)
|
||||
{
|
||||
Thread.Sleep(10000);
|
||||
if (cell != null)
|
||||
@@ -3454,6 +3447,25 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
/// <param name="goods_commit_id"></param>
|
||||
/// <returns></returns>
|
||||
public string UploadProdSkuImg(ShopLoginInfo shop, string img_base64, string goods_id, string goods_commit_id, string chanceTab)
|
||||
{
|
||||
Image image = null;
|
||||
byte[] imageBytes = Convert.FromBase64String(img_base64);
|
||||
// 使用MemoryStream创建图片对象
|
||||
using (MemoryStream ms = new MemoryStream(imageBytes))
|
||||
{
|
||||
try
|
||||
{
|
||||
image = Image.FromStream(ms);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "存图失败 " + ex.Message;
|
||||
}
|
||||
}
|
||||
return UploadProdSkuImg(shop, image, goods_id, goods_commit_id, chanceTab);
|
||||
}
|
||||
|
||||
public string UploadProdSkuImg(ShopLoginInfo shop, Image image, string goods_id, string goods_commit_id, string chanceTab)
|
||||
{
|
||||
string img_signature = "";
|
||||
var img_signature_rst = get_upload_sku_img_signature(shop, goods_id, goods_commit_id, chanceTab);
|
||||
@@ -3480,20 +3492,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
img_signature = BaseRegex.GetStringJson(ref img_signature_rst, "signature");
|
||||
}
|
||||
|
||||
//if (string.IsNullOrEmpty(img_base64))
|
||||
// img_base64 = "/9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAgFBgcGBQgHBgcJCAgJDBMMDAsLDBgREg4THBgdHRsYGxofIywlHyEqIRobJjQnKi4vMTIxHiU2OjYwOiwwMTD/2wBDAQgJCQwKDBcMDBcwIBsgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDD/wAARCAMgAyADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1kdeKU9OaQHmkLUyxccUqnHekB46UZ9qAHUlGaKAF70tJSnpQAhyR1oxgY3U0DB5pxA9KAF3YpC2e9N74ozg8CgB/OKQnApaRh0oAYeeT1prttFPY4pGIKgmgAgPBpT1NEPQ0HqaYCYoalxQaAI2OQ3POOlc3bn/iYy+xromOWfjnHWuatjjUpc9jUjOptP8AV1PUFr/qx9KnoAKKKKAAniox/rjTjTB/rjQBDqJIhPYVx+vk/wBq23c7a7HUVLWp74Ncd4jz/bNqOnyUAbmkk7RmtpRnFY+lkeWK2Y+QKAHYpRQTSA0xCmkpaUCgBq8ZpGPHWnfhTSOOlACKeaWhVwelIevSgBaM0ZoxQAcUYFGKMUALxn0obHZqKQjIoAB060HH96hQaUDnlaAEA70EZNL0PNB60ALR3pOlNAIfJ5FADqTnvQx5zSg5FABnigHnrQSR2pMc5oAWhulJ3pT0oABRSUUAGaVTmjHFIKADHNLSE0gJNADse9HWkxQeOlAC9O9ITSAZ60v40AGc96UGk4ozQApPpSUZpM+tABk80o5NB6UmTjigB1HIxmkGe/WlHTmgAopKKBi0UlFAC0UUUAJSbfSilzQAdKN1JnNLQAZoyaOKM0ALnIpKD0puaAHE0UlB4oAU0lG6k3UAOpMUZpOaAFPNKBTcmjNACmgNikzR1oAbuJPAo570BgTxQSR1oEGcClUkmm7xilB5oAdSikPWl7UAKKM0lJQA4HJ5o6ng00nFCnPIFADsY5NIRnoaDnHNIOBQA4D3pG68UqnikPtQAMAQM01hxilPSkOcc0ALD0P1o70kPQ/WlHX8aYCGlNIaX0oAjIxuPtXMWx/4mMp9/wCtdQx+8PauWtOdRlHvUjOqtf8AVj6VPUFr/qx9KmpiCiiikMQ1Gv8ArvwqQ1Gv+u/CgBt4N6ba4rxBn+3Ic9kxXYytl9orj/Ebbtejx2GKAN/Th8i1rxA4FZOln5FFbCHGKAHFaAtLuoBpiExSigmkzigBemeaTtTQ2c8UoPHSgBQeetNxyaXoelG6gBKKM0UAFGKKOaAFNGBimknPNP4/vUAIBjvQOvWlPTgUgzQAUdTQRxR2oAD1pc800+1Gc0ABPNKG4oxRQApNJmjAxSYOaAFpaSigAoopRQAlAoY0A8UALTcgGlzSYGaADdntRij8KMZ7UAB9qM/7NHAozQAYoFGaMigBCdtG4N2pSAaTAWgBc4PtS96M9KSgBc5pOc80UuaACikooGLRSUUALnmimksCBjI9qGJ28DmgBTxQCDQD60EgUALwKQ0mc0tABRRmjNABQaDSUALR3opO9ACkCkwKXNJQAUhJp1JQAZzSYoAoNABijOKAaU4oA8St/EGvwfOl074AUIVyoxWna/ELW7dlW6hhnXv/AA8Vyf2LxImxFEh74DcCmz2WvwMPMiaQkc5wadkQelWfxN0/cFvrWaJs8sg3L/jXUaZ4k0jU1Bsr6FmP8Bbaw/A814FLNfRyBZrPJHcKRUS3SNJ86mJs9+o/GlYD6Wz8vy8j1pa8d8J+Nb3TGSFrgXtuP+WUh+cD/ZavUtF1i01e2Etq4J7oeGH1FAzRooooGLilFAOaTpQA6k4ozTWoAUUGgUGgBG7U1iaVuopCetACwH5T9aCfmpID8p+tBPzUwHUmKKTdQA07f3hA5I61y9lzqUo/2jzXSsc7+eMVzWnjN9L9T/OpGdVbf6sVKaitf9WtSmmIKKKKAAd6jT/XH6VIO9Rx/wCuP0pDGSw/vFdfxri/Eg2+II/m6Lmu6NcdrljJca55q4wqYxSbsBr6SS0YIFa6r8mScVj6QHRPm6DitlRuXJpgOQfKTSEng0qDGfSjPPtTAAc0jClyKaz0AKopw6U1TmnA0CEz60hJ7LSkjvSAjs1ABilpOaMGgBfwo/Cj8aPxoAPwpMe3FJzTl96AAcduKduHpSHFAx60AKQCMimk4pwIHQ0EDrQAzcKX6Um3NIcjgCgBTQKAp9aCD6UALR+NJRQAc0ZAow1IQfSgBeDS9KaMilz/ALNAAetLjimnOOlHOKAFHHWgH86Og5phZR1YA0APJNGfWkDccc0mcmgBRilpuc9qOcUAKaQc0DrzS96AFpDSc5pQRQAmaWg0mQBQAp46GkLcUA0ZHc0ACkEdaTI9aUEetMZATnNAEg4o3c00elLg+lAC5oBNJig0DHHmkAApBR+FACkcUgBHfNLzSA0AJvx95aXIPQ0vXrTSP7ooAcWwKFbI96YN2fmFLz2FAC5pc9qQNk+9KfegANFITQelAC0Mfl96aeBkml6rQAfjS/WmUuaAFI9KTBoz6UZagDw6Hw7qMtuW/tiYRggAhflP61PH4f1p4/k1xXJ+QYXPH9KfDM+U3RBsHO9GKNwOAAePxrUsrt0hH73bkhYgCSFPck4x+JqrEGJJpniSDfD5ltOI2xlhnJ+tZGri7t8C50w27IcPInzKSf5V27Tny5NhxAB5ZIcbZG5yw6dKpzFWjET/ALtA2CXbIIweAOtIDgWCOVaE+XL7dD+FbvhvXrmwugkkhjlU4D9vx9RTdQ06BsyKoSSI4GByST3rI1J5Jrv94u1xgHa3B96lge7+F/EMerxNDIQLyIAyAHgj1FboavnbQ9XutI1WG8jfaYyFkBPBXuK95sr1L62gu4GzHIARimM0TSim7t1AzQMfnApM5NL1pCuKACg0UGgBrHgUOOKhkfa4CrmpC277ymgBbb7p+tL/ABUlt9w/WlpgJTWPy04mmMw20ARRlisuenb3rndNP+ny/WuhhbKzZ544PpXPaYM30ueTk1Azq7f7g+lSd6jt/uCpO9UIWiiigBvY1HH/AK4/SpO1Rxf60/SkMlNc1NPt1mZd21sADNdNVGbRrG4mMsiNvbqQcUmAljafu87uep9KvKjIo/iogt44FwjHb7nNTblA5NMCA5zgdfSgggcjBqQlSfl60pYEc8mkBCSw6ikDjutSttbvTPJQ/wAVMCNXIkJYYWpXjKKGJOGpVjQDBbFSSHcqguMCmSQEj0pBj0qUqv8AepNq+tAyHJB61IGAFIYATnfT/LOPvUAN3r6UeYvpS+Uf71Hkn+9QABx1xSFx6GneSfWk8lv71AAGB9aDj0o8lh/FR5TH+KgBRTSSaPJf1/WlELj/APXQAKcUH1xS+U57D86PLf0/WgA/hyaTPvSTtOWRUiyB1IIFKUfjKUAJkUuRSbX9DRsf+7QAuR60A+9N2P6UFJP7tADiaTdjvTdr/wB00m1v7tAEi4x1NGRmo8H0NADdcUASEA/SmOg74P4UHOOV4pASR0oAcBxwMUYwelIaXNAC/hSdvSk3HsKTd6igBT060cetJnB5FGQe1AC49DR0ptGaADPPU07qKbmjJoAUikIUdaQknvQSB15oAd8uOlAINNDjP/1qN3pQA7ilzTC3pRuwOtADw2aQmmhh2NAOaBjwaUHFRlqQk+tAEu5aQkVGDS59aAHZ9aWoyaXdx1oAcT7Unf5fypu7Pel3Y+tADt208rg+tLuBqMsT3zQWIGc0ASHFGKi3Z70b8dTk0ASEDqRQxOcAVE0hA6U2ORsnd+FAFjFIcd6jLj1pN4oAk47UmPembvSjeaAPHIImuHaJJ5JNxOVAO4L1+9wK0LMxRpvS5f7wBhnGA2eygdveqkTrI+2TmPkhGGxiMcHceP61bVlwrMJ4Qucq6hkVMdBjkmtCBb19u6RmjEuCqqgBQKc9B6j1NZc8mzP2eHy+gjdyHJXu3tV24eBPmiSKW4ZfkMJKqqHJOc9aoSZkByVVSf3ar6DqDSAikdY0VV3Oo+YYH3ievNY2pFUV8Ju3jaGPbvWqjfxRfNniNSMY9cVS1SNWQD7yhf3Sk88feqGBlxHzE2+gwT716f8ACTVjNo8tlK2Wt3yFLc7TXl8DxB5P7zYIVeldH8PL37F4qSNjhJ1I+9xntQgPbYpAe9TK46ZqhBIMDNW0IyCKCifNLmmginDFAAeelJz1xRnBoLc0wGDqTigkgU7Iz0pjDINADrb/AFZ+tLSW3+rP1paADGR0qtOMKcGppCQODVGe429RmgBbNWW3fd6Hk9axNJ/4/Zfr/WumU2xtS6yDbiuY0Y5u5D75qBnWW/3BUneo7c5QGpOLine truncated
|
||||
byte[] imageBytes = Convert.FromBase64String(img_base64);
|
||||
// 使用MemoryStream创建图片对象
|
||||
using (MemoryStream ms = new MemoryStream(imageBytes))
|
||||
// 保存图片到文件系统
|
||||
try
|
||||
{
|
||||
Image image = Image.FromStream(ms);
|
||||
// 保存图片到文件系统
|
||||
try
|
||||
{
|
||||
image.Save("D:\\图片1.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
|
||||
}
|
||||
catch (Exception ex) { return "存图失败 " + ex.Message; }
|
||||
image.Save("D:\\图片1.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "存图失败 " + ex.Message;
|
||||
}
|
||||
|
||||
string boundary = "----WebKitFormBoundaryi5f9ydbgu8bo3yVD";
|
||||
string body = @"------WebKitFormBoundaryi5f9ydbgu8bo3yVD
|
||||
Content-Disposition: form-data; name=""upload_sign""
|
||||
@@ -3515,7 +3523,7 @@ Content-Disposition: form-data; name=""pic_operations""
|
||||
return uploadImgRst;
|
||||
}
|
||||
|
||||
public KJDDBProduct GetProductDetail(string prodDbId)
|
||||
public static KJDDBProduct GetProductDetail(string prodDbId)
|
||||
{
|
||||
if (string.IsNullOrEmpty(prodDbId))
|
||||
return new KJDDBProduct();
|
||||
@@ -4945,7 +4953,6 @@ Content-Type: image/jpeg
|
||||
|
||||
private void chkActivity_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
isActivityFake = chkActivity.Checked;
|
||||
if (chkActivity.Checked)
|
||||
{
|
||||
chk15996.Checked = chk20981.Checked = chk21365.Checked = chk22347.Checked = true;
|
||||
@@ -5174,6 +5181,15 @@ Content-Type: image/jpeg
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_upload_rule", pddUploadRule);
|
||||
}
|
||||
}
|
||||
|
||||
private void chkUseExtCodePrice_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (IsLoadComplate)
|
||||
{
|
||||
pddUploadRule.IsUseExtCodePrice = chkUseExtCodePrice.Checked;
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_upload_rule", pddUploadRule);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class AddPriceRule
|
||||
@@ -5212,6 +5228,9 @@ Content-Type: image/jpeg
|
||||
{
|
||||
public bool IsUseUpperSizeSpec { get; set; } = true;
|
||||
public bool IsKeepChanceGoodImg { get; set; } = true;
|
||||
/// <summary>
|
||||
/// 是否报名活动(提交一个虚拟高倍率加价再通过活动价格实现商品原价)
|
||||
/// </summary>
|
||||
public bool IsSignActivity { get; set; } = true;
|
||||
/// <summary>
|
||||
/// 准备报名活动的商品原价加价倍率
|
||||
@@ -5230,5 +5249,7 @@ Content-Type: image/jpeg
|
||||
/// 升级版额外加价
|
||||
/// </summary>
|
||||
public decimal UpgradeVersionAddPrice { get; set; } = 1m;
|
||||
|
||||
public bool IsUseExtCodePrice { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,173 @@
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
partial class UcPddSpecEdit
|
||||
{
|
||||
/// <summary>
|
||||
/// 必需的设计器变量。
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 清理所有正在使用的资源。
|
||||
/// </summary>
|
||||
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region 组件设计器生成的代码
|
||||
|
||||
/// <summary>
|
||||
/// 设计器支持所需的方法 - 不要修改
|
||||
/// 使用代码编辑器修改此方法的内容。
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.txtSpecName = new System.Windows.Forms.TextBox();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.btnSave = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnDel = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.lblErr = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.panel1.SuspendLayout();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// txtSpecName
|
||||
//
|
||||
this.txtSpecName.Location = new System.Drawing.Point(1, 3);
|
||||
this.txtSpecName.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.txtSpecName.Name = "txtSpecName";
|
||||
this.txtSpecName.Size = new System.Drawing.Size(200, 23);
|
||||
this.txtSpecName.TabIndex = 0;
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.pictureBox1.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(202, 3);
|
||||
this.pictureBox1.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(23, 23);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.pictureBox1.TabIndex = 1;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// btnAdd
|
||||
//
|
||||
this.btnSave.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnSave.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSave.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSave.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSave.Location = new System.Drawing.Point(226, 3);
|
||||
this.btnSave.Name = "btnAdd";
|
||||
this.btnSave.Size = new System.Drawing.Size(32, 23);
|
||||
this.btnSave.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSave.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSave.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSave.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnSave.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnSave.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnSave.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnSave.Style.GradientAngle = 90;
|
||||
this.btnSave.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSave.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSave.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSave.TabIndex = 507;
|
||||
this.btnSave.Text = "应用";
|
||||
//
|
||||
// btnDel
|
||||
//
|
||||
this.btnDel.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.btnDel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnDel.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnDel.Location = new System.Drawing.Point(259, 3);
|
||||
this.btnDel.Name = "btnDel";
|
||||
this.btnDel.Size = new System.Drawing.Size(32, 23);
|
||||
this.btnDel.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnDel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnDel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnDel.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.btnDel.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnDel.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.btnDel.Style.GradientAngle = 90;
|
||||
this.btnDel.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnDel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnDel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnDel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnDel.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnDel.TabIndex = 506;
|
||||
this.btnDel.Text = "删除";
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.txtSpecName);
|
||||
this.panel1.Controls.Add(this.btnSave);
|
||||
this.panel1.Controls.Add(this.pictureBox1);
|
||||
this.panel1.Controls.Add(this.btnDel);
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(292, 29);
|
||||
this.panel1.TabIndex = 508;
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
this.flowLayoutPanel1.AutoSize = true;
|
||||
this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.flowLayoutPanel1.Controls.Add(this.panel1);
|
||||
this.flowLayoutPanel1.Controls.Add(this.lblErr);
|
||||
this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
|
||||
this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
this.flowLayoutPanel1.Size = new System.Drawing.Size(292, 46);
|
||||
this.flowLayoutPanel1.TabIndex = 509;
|
||||
//
|
||||
// lblErr
|
||||
//
|
||||
this.lblErr.AutoSize = true;
|
||||
this.lblErr.ForeColor = System.Drawing.Color.Red;
|
||||
this.lblErr.Location = new System.Drawing.Point(3, 29);
|
||||
this.lblErr.Name = "lblErr";
|
||||
this.lblErr.Size = new System.Drawing.Size(43, 17);
|
||||
this.lblErr.TabIndex = 509;
|
||||
this.lblErr.Text = "label1";
|
||||
this.lblErr.TextChanged += new System.EventHandler(this.lblErr_TextChanged);
|
||||
//
|
||||
// UcPddSpecEdit
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.AutoSize = true;
|
||||
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.Controls.Add(this.flowLayoutPanel1);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Name = "UcPddSpecEdit";
|
||||
this.Size = new System.Drawing.Size(295, 49);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.flowLayoutPanel1.ResumeLayout(false);
|
||||
this.flowLayoutPanel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
public System.Windows.Forms.TextBox txtSpecName;
|
||||
public System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
public DevComponents.DotNetBar.PanelEx btnSave;
|
||||
public DevComponents.DotNetBar.PanelEx btnDel;
|
||||
public System.Windows.Forms.Label lblErr;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
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 TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
public partial class UcPddSpecEdit : UserControl
|
||||
{
|
||||
public UcPddSpecEdit()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void lblErr_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace( lblErr.Text))
|
||||
{
|
||||
lblErr.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
lblErr.Visible = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
namespace TemuKJD.UserComponent
|
||||
{
|
||||
partial class UcComboBoxMutiSelect
|
||||
{
|
||||
/// <summary>
|
||||
/// 必需的设计器变量。
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 清理所有正在使用的资源。
|
||||
/// </summary>
|
||||
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region 组件设计器生成的代码
|
||||
|
||||
/// <summary>
|
||||
/// 设计器支持所需的方法 - 不要修改
|
||||
/// 使用代码编辑器修改此方法的内容。
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
components = new System.ComponentModel.Container();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
using NaiBa.Util.Extension;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace TemuKJD.UserComponent
|
||||
{
|
||||
public partial class UcComboBoxMutiSelect : ComboBox
|
||||
{
|
||||
//private bool _IsMultiSelect;
|
||||
//public bool IsMultiSelect { get => _IsMultiSelect; set => _IsMultiSelect = value; }
|
||||
|
||||
public string DefaultText { get; set; } = "全部";
|
||||
|
||||
public List<object> SelectItems
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.checkedListBox == null)
|
||||
return this.Items.Cast<object>().ToList();
|
||||
|
||||
List<object> lstObj = new List<object>();
|
||||
for (int i = 0; i < checkedListBox.Items.Count; i++)
|
||||
{
|
||||
if (checkedListBox.GetItemChecked(i))
|
||||
{
|
||||
lstObj.Add(checkedListBox.Items[i]);
|
||||
}
|
||||
}
|
||||
return lstObj;
|
||||
}
|
||||
}
|
||||
|
||||
CheckedListBox checkedListBox = null;
|
||||
public UcComboBoxMutiSelect()
|
||||
{
|
||||
SetStyle(ControlStyles.DoubleBuffer |
|
||||
ControlStyles.OptimizedDoubleBuffer |
|
||||
ControlStyles.AllPaintingInWmPaint, true);
|
||||
UpdateStyles();
|
||||
|
||||
this.DropDown += UcComboBoxMutiSelect_DropDown;
|
||||
//this.DropDownClosed += UcComboBoxMutiSelect_DropDownClosed;
|
||||
}
|
||||
|
||||
private void UcComboBoxMutiSelect_DropDownClosed(object sender, EventArgs e)
|
||||
{
|
||||
if (checkedListBox != null)
|
||||
checkedListBox.Visible = false;
|
||||
}
|
||||
|
||||
private void UcComboBoxMutiSelect_DropDown(object sender, EventArgs e)
|
||||
{
|
||||
this.DropDownHeight = 1;
|
||||
|
||||
if (checkedListBox == null)
|
||||
{
|
||||
checkedListBox = new CheckedListBox();
|
||||
checkedListBox.Visible = false;
|
||||
checkedListBox.CheckOnClick = true;
|
||||
checkedListBox.ItemCheck += checkedListBox_ItemCheck;
|
||||
checkedListBox.MouseLeave += checkedListBox_MouseLeave;
|
||||
checkedListBox.MouseEnter += CheckedListBox_MouseEnter;
|
||||
checkedListBox.MouseMove += CheckedListBox_MouseMove;
|
||||
//checkedListBox.MouseUp += new MouseEventHandler(this.checkedListBox_MouseUp);
|
||||
|
||||
Point point = new Point();
|
||||
point.X = this.Left;
|
||||
point.Y = this.Top + this.Height;
|
||||
var parentForm = this.Parent;
|
||||
while (!(parentForm is Form))
|
||||
{
|
||||
point.X += parentForm.Left;
|
||||
point.Y += parentForm.Top;
|
||||
parentForm = parentForm.Parent;
|
||||
}
|
||||
parentForm.Controls.Add(checkedListBox);
|
||||
checkedListBox.Location = point;
|
||||
checkedListBox.Size = new Size(Math.Max(80, this.Width), 100);
|
||||
}
|
||||
|
||||
string str1 = string.Join(",", this.Items.Cast<object>().Select(o => o.ParseToString()));
|
||||
string str2 = string.Join(",", this.checkedListBox.Items.Cast<object>().Select(o => o.ParseToString()));
|
||||
if (str1 != str2)
|
||||
{
|
||||
foreach (var item in this.Items)
|
||||
{
|
||||
checkedListBox.Items.Add(item.ParseToString(), true);
|
||||
}
|
||||
}
|
||||
|
||||
this.FindForm().ActiveControl = checkedListBox;
|
||||
checkedListBox.Visible = true;
|
||||
checkedListBox.BringToFront();
|
||||
}
|
||||
|
||||
private void CheckedListBox_MouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
//this.DropDownClosed -= UcComboBoxMutiSelect_DropDownClosed;
|
||||
}
|
||||
|
||||
private void CheckedListBox_MouseEnter(object sender, EventArgs e)
|
||||
{
|
||||
//this.DropDownClosed -= UcComboBoxMutiSelect_DropDownClosed;
|
||||
}
|
||||
|
||||
private void checkedListBox_MouseLeave(object sender, EventArgs e)
|
||||
{
|
||||
////this.DropDownClosed += UcComboBoxMutiSelect_DropDownClosed;
|
||||
////统计选取的项目
|
||||
//string str = "";
|
||||
//for (int i = 0; i < checkedListBox.Items.Count; i++)
|
||||
//{
|
||||
// if (checkedListBox.GetItemChecked(i))
|
||||
// {
|
||||
// str += $"{checkedListBox.Items[i].ParseToString()};";
|
||||
// }
|
||||
//}
|
||||
//this.Text = str;
|
||||
checkedListBox.Visible = false;
|
||||
this.OnDropDownClosed(null);
|
||||
}
|
||||
|
||||
private void checkedListBox_ItemCheck(object sender, EventArgs e)
|
||||
{
|
||||
//统计选取的项目
|
||||
|
||||
Task.Run(() =>
|
||||
{
|
||||
Thread.Sleep(100);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
string str = "";
|
||||
for (int i = 0; i < checkedListBox.Items.Count; i++)
|
||||
{
|
||||
if (checkedListBox.GetItemChecked(i))
|
||||
{
|
||||
str += $"{checkedListBox.Items[i].ParseToString()};";
|
||||
}
|
||||
}
|
||||
this.Text = str;
|
||||
|
||||
|
||||
string str1 = string.Join(";", this.Items.Cast<object>().Select(o => o.ParseToString()));
|
||||
if (this.Text.Trim(';') == str1)
|
||||
{
|
||||
this.Text = this.DefaultText;
|
||||
}
|
||||
}));
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user