1微信店铺切换登录 20% 2过滤筛选备注改为全等于 3数据库数据拉回逻辑优化
This commit is contained in:
1 parent
dc83334c59
commit
860b4408ef
37 files changed
+2520
-274
No files matched your search
@@ -178,7 +178,7 @@
|
||||
<Compile Include="JsonHelper.cs" />
|
||||
<Compile Include="LogSave.cs" />
|
||||
<Compile Include="Md5Base.cs" />
|
||||
<Compile Include="Model\Config\WxShopAfterSaleInfo.cs" />
|
||||
<Compile Include="Model\Config\WxTalkFormShopMainInfo.cs" />
|
||||
<Compile Include="Model\Config\WxShopKfStatistics.cs" />
|
||||
<Compile Include="Model\Config\WxShopMainStatistics.cs" />
|
||||
<Compile Include="Model\Config\WxShopUploadInfo.cs" />
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace AllBase
|
||||
/// <summary>
|
||||
/// 版本ID
|
||||
/// </summary>
|
||||
public static int VersionCount = 900;
|
||||
public static int VersionCount = 909;
|
||||
//public static int VersionCount = 613;
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AllBase.Model.Config
|
||||
{
|
||||
public class WxShopAfterSaleInfo
|
||||
{
|
||||
public string ShopId { get; set; }
|
||||
public int? AfterSaleCount { get; set; }
|
||||
public DateTime RefreshTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AllBase.Model.Config
|
||||
{
|
||||
public class WxTalkFormShopMainInfo
|
||||
{
|
||||
// waybillErrorRet物流异常
|
||||
public string ShopId { get; set; }
|
||||
/// <summary>
|
||||
/// 待发货 orderNumRet.pendingShipNum
|
||||
/// </summary>
|
||||
public int? WaitSendCount { get; set; }
|
||||
/// <summary>
|
||||
/// 物流异常 waybillErrorRet.totalNum
|
||||
/// </summary>
|
||||
public int? WaybillError { get; set; }
|
||||
/// <summary>
|
||||
/// 售后 aftersaleAllRet.totalNum
|
||||
/// </summary>
|
||||
public int? AfterSaleCount { get; set; }
|
||||
/// <summary>
|
||||
/// 店铺违规 punishRet.pendingNum
|
||||
/// </summary>
|
||||
public int? PunishCount { get; set; }
|
||||
|
||||
public decimal? ShopScore { get; set; }
|
||||
public string err_msg { get; set; }
|
||||
public DateTime RefreshTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,10 @@ namespace AllBase.Model.Result.PDDResult
|
||||
public string name { get; set; }
|
||||
public int? ref_pid { get; set; }
|
||||
public List<value_item> values { get; set; }
|
||||
/// <summary>
|
||||
/// 对应微信输入类型
|
||||
/// </summary>
|
||||
//public int? wx_input_type { get; set; }
|
||||
}
|
||||
public class value_item
|
||||
{
|
||||
|
||||
@@ -9,10 +9,32 @@ namespace AllBase.Model.Result.WXResult
|
||||
public class WXGetEditProductInfoLite
|
||||
{
|
||||
public WXProductInfo product { get; set; }
|
||||
public WXAfterSaleAddressInfo address { get; set; }
|
||||
}
|
||||
|
||||
public class WXAfterSaleAddressInfo
|
||||
{
|
||||
public string addressId { get; set; } // "69496256002",
|
||||
public string name { get; set; } // "",
|
||||
public WXAddressInfo addressInfo { get; set; }
|
||||
}
|
||||
|
||||
public class WXAddressInfo
|
||||
{
|
||||
public string userName { get; set; } // "王总",
|
||||
public string postalCode { get; set; } // "",
|
||||
public string provinceName { get; set; } // "安徽省",
|
||||
public string cityName { get; set; } // "合肥市",
|
||||
public string countyName { get; set; } // "肥西县",
|
||||
public string detailInfo { get; set; } // "蜀山区长江西路某某号某某单元",
|
||||
public string telNumber { get; set; } // "18388888888",
|
||||
public int? lat { get; set; } // 0,
|
||||
public int? lng { get; set; } // 0
|
||||
}
|
||||
|
||||
public class WXProductInfo
|
||||
{
|
||||
public List<WXProductSkuInfoInfoLite> productSkus { get; set; }
|
||||
public WXProductKeyInfo productKey { get; set; }
|
||||
public WXProductInfoInfo info { get; set; }
|
||||
public int? status { get; set; } // 5
|
||||
@@ -24,6 +46,43 @@ namespace AllBase.Model.Result.WXResult
|
||||
public int source { get; set; } // 1
|
||||
}
|
||||
|
||||
public class WXProductSkuInfoInfoLite
|
||||
{
|
||||
public WXSkuKeyInfoLite skuKey { get; set; }
|
||||
public WXProductSkuInfoLite productSkuInfo { get; set; }
|
||||
}
|
||||
|
||||
public class WXProductSkuInfoLite
|
||||
{
|
||||
public List<WXSaleParamInfoLite> saleParam { get; set; }
|
||||
public string thumbImg { get; set; } // "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/69a6a1ae000e63741a5ddf35d5b71715000000a000004f50"
|
||||
public string skuCode { get; set; } // ""
|
||||
public int? salePrice { get; set; } // 5880
|
||||
public WXStockInfoLite stockInfo { get; set; }
|
||||
public WXRealStockInfoLite realStockInfo { get; set; }
|
||||
}
|
||||
|
||||
public class WXRealStockInfoLite
|
||||
{
|
||||
public int? stockNum { get; set; } // 999
|
||||
public int? totalNum { get; set; } // 999
|
||||
}
|
||||
|
||||
public class WXStockInfoLite
|
||||
{
|
||||
public string stockNum { get; set; } // "9999999"
|
||||
}
|
||||
|
||||
public class WXSaleParamInfoLite
|
||||
{
|
||||
public List<WXProductCategoryInfoLite> categorys { get; set; }
|
||||
}
|
||||
|
||||
public class WXSkuKeyInfoLite
|
||||
{
|
||||
public string skuId { get; set; } // "8767785131",
|
||||
}
|
||||
|
||||
public class WXProductKeyInfo
|
||||
{
|
||||
public string productId { get; set; } // "10000538778988"
|
||||
@@ -33,7 +92,7 @@ namespace AllBase.Model.Result.WXResult
|
||||
{
|
||||
// 主图
|
||||
public List<string> headImg { get; set; } = new List<string>();
|
||||
public List<WXProductCategoryInfo> category { get; set; } = new List<WXProductCategoryInfo>();
|
||||
public List<WXProductCategoryInfoLite> category { get; set; } = new List<WXProductCategoryInfoLite>();
|
||||
public List<WXProductParamInfo> param { get; set; } = new List<WXProductParamInfo>();
|
||||
public List<WXQualificationInfo> qualificationList { get; set; }
|
||||
public List<WXProductHeadimgInfo> productHeadimgInfo { get; set; }
|
||||
@@ -46,12 +105,18 @@ namespace AllBase.Model.Result.WXResult
|
||||
public string brandId { get; set; } // "10655917"
|
||||
public string listingTime { get; set; } // "1772533190"
|
||||
public string spuCode { get; set; } // "2028756820870602753"
|
||||
public WXAfterSaleInfo afterSaleInfo { get; set; }
|
||||
public string lastEditDraftTime { get; set; } // "1772532559"
|
||||
public string shortTitle { get; set; } // "歪歪马脉冲震动成人情趣棒"
|
||||
public string aiGenShortTitle { get; set; } // "歪歪马脉冲震动成人情趣棒"
|
||||
public string uniqueId { get; set; } // "4411405439658180613"
|
||||
}
|
||||
|
||||
public class WXAfterSaleInfo
|
||||
{
|
||||
public string afterSaleAddressId;
|
||||
}
|
||||
|
||||
public class WXProductDetailInfo
|
||||
{
|
||||
public List<string> detailImg { get; set; } = new List<string>(); // [ "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/69a6a8460000683300254e4c8c4fab15000000a100004f50", ... ],
|
||||
@@ -109,16 +174,16 @@ namespace AllBase.Model.Result.WXResult
|
||||
public long? catGroup { get; set; } // 4294967295,
|
||||
}
|
||||
|
||||
public class WXProductCategoryInfo
|
||||
public class WXProductCategoryInfoLite
|
||||
{
|
||||
public string catId { get; set; } // "10000577"
|
||||
public string name { get; set; } // "情趣用品" // 可能为空或没有此字段
|
||||
public string fCatId { get; set; } // "10000575"
|
||||
public WXProductInfoInfo catInfo { get; set; }
|
||||
public WXProductCategoryInfoInfoLite catInfo { get; set; }
|
||||
public bool? leaf { get; set; } // false
|
||||
}
|
||||
|
||||
public class WXProductCategoryInfoInfo
|
||||
public class WXProductCategoryInfoInfoLite
|
||||
{
|
||||
public int? catLevel { get; set; } // 2
|
||||
public long? catGroup { get; set; } // 4294967295
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using AllBase;
|
||||
using AllBase.Model.Result;
|
||||
using AllBase.Model.Result.PDDResult;
|
||||
using AllBase.Model.Result.WXResult;
|
||||
using NaiBa.Util.Extension;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
@@ -601,6 +602,7 @@ namespace TemuKJD.BLL
|
||||
prodInfo.detail.sku = new List<sku_item>();
|
||||
foreach (JObject jSku in jstGoodsObj["skuInfo"]["goodsSkuDetail"])
|
||||
{
|
||||
var skuStr = jSku.ParseToString();
|
||||
sku_item skuInfo = new sku_item()
|
||||
{
|
||||
id = 0,
|
||||
@@ -677,6 +679,11 @@ namespace TemuKJD.BLL
|
||||
convertRst = "SKU货号不存在";
|
||||
return null;
|
||||
}
|
||||
if (jstSecretCodeLst["skus"].Select(s => s["spuCode"].ParseToString()).Distinct().Count() != jstSecretCodeLst["skus"].Count())
|
||||
{
|
||||
convertRst = "SKU货号重复";
|
||||
return null;
|
||||
}
|
||||
skuInfo.out_sku_sn = skuId;
|
||||
prodInfo.detail.sku.Add(skuInfo);
|
||||
}
|
||||
@@ -836,5 +843,358 @@ namespace TemuKJD.BLL
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public PDDProductInfo WXProdToPddConvert(out string convertRst, KJDDBProduct dbProd)
|
||||
{
|
||||
convertRst = "";
|
||||
try
|
||||
{
|
||||
//var prodObj = JsonHelper.JObjectParse(dbProd.product_json);
|
||||
//if (prodObj["pddData"].IsJTokenNullOrEmpty())
|
||||
//{
|
||||
// convertRst = "缺少指定的数据格式";
|
||||
// return null;
|
||||
//}
|
||||
//var jstGoodsObj = prodObj["pddData"];
|
||||
//var jstPddPropMapLst = JsonHelper.DeserializeJsonToList<PDDPropRefPidNameMap>(JsonHelper.SerializeObject(prodObj["pddPropMap"]));
|
||||
////{"goodsId":"2016474712785620994","warehouseGoodsId":"C7108311198A4217B022DCA87B6A5863","spuCode":"3783056947394249077","skus":[{"skuId":"2016692758292738050","warehouseSkuId":"C742B3FCB0364448AF92332F8F6005A6","skuCode":"ZH-XP-YWQYW-010"},{"skuId":"2016692758317903874","warehouseSkuId":"703E87F1B7774C14923821A57EEE6EFA","skuCode":"ZH-XP-YWQYW-010-111"},{"skuId":"2016692758338875394","warehouseSkuId":"895EDCDF6ECC4FAE8AD4DB9503719002","skuCode":"ZH-XP-YWQYW-010-222"}]}
|
||||
//var jstSecretCodeLst = JsonHelper.JObjectParse(dbProd.sku_secret_json.TrimStart('[').TrimEnd(']'));
|
||||
|
||||
WXGetEditProductInfoLite wxEditProdInfo = JsonHelper.DeserializeJsonToObject<WXGetEditProductInfoLite>(dbProd.product_json);
|
||||
|
||||
PDDProductInfo prodInfo = new PDDProductInfo()
|
||||
{
|
||||
sale_count = dbProd.sale_count.ParseToString(),
|
||||
sale_count_text = dbProd.sale_count_text,
|
||||
};
|
||||
prodInfo.chance_id = null;
|
||||
prodInfo.chance_refere = null;
|
||||
prodInfo.chance_tab = null;
|
||||
prodInfo.decoration = null;
|
||||
|
||||
// 商品详情
|
||||
prodInfo.detail = new PDDProductDetailInfo();
|
||||
prodInfo.detail.allergy_refund = 0;
|
||||
prodInfo.detail.allowed_region = new List<object>();
|
||||
//prodInfo.detail.appeal_status = null;
|
||||
//prodInfo.detail.app_id = null;
|
||||
//prodInfo.detail.app_name = null;
|
||||
//prodInfo.detail.bad_claim_text = null;
|
||||
prodInfo.detail.bad_fruit_claim = 0;
|
||||
//prodInfo.detail.business_source_type = null;
|
||||
prodInfo.detail.can_appeal = null;
|
||||
prodInfo.detail.card_verification_list = null;
|
||||
prodInfo.detail.cats = new List<string>();
|
||||
prodInfo.detail.cat_id = dbProd.cat_id.ParseToInt();
|
||||
prodInfo.detail.cat_ids = new List<int?>();
|
||||
//微信商品的类目直接输入,上传的时候不用。
|
||||
foreach (var category in wxEditProdInfo.product.info.category)
|
||||
{
|
||||
prodInfo.detail.cat_ids.Add(category.catId.ParseToInt());
|
||||
}
|
||||
prodInfo.detail.check_status = 9;
|
||||
//prodInfo.detail.check_type = null;
|
||||
//prodInfo.detail.client_id = null;
|
||||
prodInfo.detail.commit_deleted = 0;
|
||||
//prodInfo.detail.commit_extension = null;
|
||||
//prodInfo.detail.community_group_buying = null;
|
||||
prodInfo.detail.cost_template_id = 0;
|
||||
//prodInfo.detail.country = null;
|
||||
prodInfo.detail.country_id = 0;
|
||||
//prodInfo.detail.created_at = null;
|
||||
//prodInfo.detail.creator_name = null;
|
||||
prodInfo.detail.customizable = 0;
|
||||
prodInfo.detail.customs = "";
|
||||
prodInfo.detail.damage_claim = 0;
|
||||
prodInfo.detail.delivery_one_day = 0;
|
||||
//prodInfo.detail.delivery_type = null;
|
||||
//prodInfo.detail.elec_goods_attributes = null;
|
||||
prodInfo.detail.estimate_quantity = 0;
|
||||
prodInfo.detail.event_type = 0;
|
||||
prodInfo.detail.extend_warranty_dto = new extend_warranty_dto_item() { extend_warranty = 0 };
|
||||
//prodInfo.detail.fabric = null;
|
||||
//prodInfo.detail.fabric_content = null;
|
||||
prodInfo.detail.galleries = new List<gallery_item>();
|
||||
foreach (var imgItem in wxEditProdInfo.product.info.headImg)
|
||||
{
|
||||
prodInfo.detail.galleries.Add(new gallery_item()
|
||||
{
|
||||
url = imgItem,
|
||||
type = 1,
|
||||
});
|
||||
}
|
||||
foreach (var imgItem in wxEditProdInfo.product.info.detail.detailImg)
|
||||
{
|
||||
prodInfo.detail.galleries.Add(new gallery_item()
|
||||
{
|
||||
url = imgItem,
|
||||
type = 2,
|
||||
});
|
||||
}
|
||||
prodInfo.detail.gold_price_template_id = null;
|
||||
prodInfo.detail.gold_price_type = null;
|
||||
prodInfo.detail.goods_certificate = null;
|
||||
prodInfo.detail.goods_commit_check = new List<object>();
|
||||
prodInfo.detail.goods_desc = wxEditProdInfo.product.info.title;
|
||||
prodInfo.detail.goods_id = wxEditProdInfo.product.productKey.productId.ParseToLong();
|
||||
prodInfo.detail.goods_name = wxEditProdInfo.product.info.title;
|
||||
prodInfo.detail.goods_name_prefix = "";
|
||||
prodInfo.detail.goods_pattern = 8;
|
||||
prodInfo.detail.goods_property_list = null;
|
||||
prodInfo.detail.goods_sn = null;
|
||||
prodInfo.detail.goods_srv_templates = new List<object>();
|
||||
prodInfo.detail.goods_trade_attr = null;
|
||||
prodInfo.detail.goods_travel_attr = null;
|
||||
prodInfo.detail.goods_type = 1;
|
||||
prodInfo.detail.groups = new group_item() { single_price = 0, group_price = 0, customer_num = 2, buy_limit = 999999, order_limit = 999999 };
|
||||
// 复用前面已经填写过的
|
||||
prodInfo.detail.hd_thumb_url = prodInfo.detail.galleries.FirstOrDefault(g => g.type == 1)?.url;
|
||||
// 编辑id,随意填写
|
||||
prodInfo.detail.id = 0;
|
||||
// 复用前面已经填写过的
|
||||
prodInfo.detail.image_url = prodInfo.detail.galleries.FirstOrDefault(g => g.type == 1)?.url;
|
||||
prodInfo.detail.instruction_vo = new instruction_vo_item() { template_status = -1 };
|
||||
prodInfo.detail.invoice_mode = null;
|
||||
prodInfo.detail.invoice_mode_sub_type = null;
|
||||
prodInfo.detail.invoice_status = 0;
|
||||
prodInfo.detail.is_all_weight_same = true;
|
||||
prodInfo.detail.is_app = 0;
|
||||
prodInfo.detail.is_bangdan = 0;
|
||||
prodInfo.detail.is_card_secret = false;
|
||||
prodInfo.detail.is_certificate_provide = 0;
|
||||
prodInfo.detail.is_customized = 0;
|
||||
prodInfo.detail.is_customs = 0;
|
||||
prodInfo.detail.is_deposit = false;
|
||||
prodInfo.detail.is_draft = false;
|
||||
prodInfo.detail.is_folt = 0;
|
||||
prodInfo.detail.is_general_trade = 0;
|
||||
prodInfo.detail.is_gold_price_matched = null;
|
||||
prodInfo.detail.is_goods_copy = null;
|
||||
prodInfo.detail.is_goods_decoration = 1;
|
||||
prodInfo.detail.is_group_pre_sale = 0;
|
||||
prodInfo.detail.is_only_for_remote_area = false;
|
||||
prodInfo.detail.is_pre_sale = 0;
|
||||
prodInfo.detail.is_refundable = 1;
|
||||
prodInfo.detail.is_refundable_fifteen_day = 0;
|
||||
prodInfo.detail.is_shop = 1;
|
||||
prodInfo.detail.is_size_change_casually = 0;
|
||||
prodInfo.detail.is_sku_pre_sale = 0;
|
||||
prodInfo.detail.is_sku_shipment = 0;
|
||||
prodInfo.detail.is_small_group = null;
|
||||
prodInfo.detail.is_spring_festival_open_tag = false;
|
||||
prodInfo.detail.is_two_num_group = false;
|
||||
prodInfo.detail.is_warranty_one_year = 0;
|
||||
prodInfo.detail.is_wms = 0;
|
||||
prodInfo.detail.is_wp_service = 0;
|
||||
prodInfo.detail.lack_of_weight_claim = 0;
|
||||
prodInfo.detail.last_commit_check_status = 2;
|
||||
prodInfo.detail.list_desc = new List<object>();
|
||||
prodInfo.detail.local_service_id_list = null;
|
||||
prodInfo.detail.mai_jia_zi_ti = null;
|
||||
// 聚水潭没有
|
||||
prodInfo.detail.mall_id = 0;
|
||||
// 聚水潭没有
|
||||
prodInfo.detail.mall_info = new mall_info_item();
|
||||
// 聚水潭没有此处随意填
|
||||
prodInfo.detail.market_price = 0;
|
||||
// 聚水潭没有此处随意填
|
||||
prodInfo.detail.max_group_price = 0;
|
||||
// 聚水潭没有此处随意填
|
||||
prodInfo.detail.min_group_price = 0;
|
||||
prodInfo.detail.must_check_type = 0;
|
||||
prodInfo.detail.name_prefix = "";
|
||||
prodInfo.detail.origin_country_id = 0;
|
||||
prodInfo.detail.origin_country_name = "";
|
||||
// 货号
|
||||
prodInfo.detail.out_goods_sn = wxEditProdInfo.product.info.spuCode;
|
||||
//if (prodInfo.detail.out_goods_sn.IsNullOrEmpty())
|
||||
//{
|
||||
// convertRst = "货号不存在";
|
||||
// return null;
|
||||
//}
|
||||
prodInfo.detail.out_source_goods_id = null;
|
||||
prodInfo.detail.out_source_type = null;
|
||||
prodInfo.detail.oversea_goods = null;
|
||||
prodInfo.detail.oversea_type = 0;
|
||||
prodInfo.detail.owner = "主账号";
|
||||
prodInfo.detail.owner_name = "";
|
||||
prodInfo.detail.paper_length = null;
|
||||
prodInfo.detail.paper_net_weight = null;
|
||||
prodInfo.detail.paper_plies_num = null;
|
||||
prodInfo.detail.paper_width = null;
|
||||
prodInfo.detail.pre_sale_time = 0;
|
||||
prodInfo.detail.privacy_delivery = 0;
|
||||
prodInfo.detail.processing_charges = null;
|
||||
prodInfo.detail.processing_charges_type = null;
|
||||
prodInfo.detail.promised_delivery_seconds = null;
|
||||
prodInfo.detail.purchase_info_supply = 0;
|
||||
prodInfo.detail.qualification_id_list = new List<object>();
|
||||
prodInfo.detail.quan_guo_lian_bao = 0;
|
||||
prodInfo.detail.quick_refund = 0;
|
||||
prodInfo.detail.reason = null;
|
||||
prodInfo.detail.region_limit = 1;
|
||||
prodInfo.detail.reject_reason = null;
|
||||
prodInfo.detail.reject_status = null;
|
||||
prodInfo.detail.same_city_template_id = 0;
|
||||
prodInfo.detail.schedule_sale = new schedule_sale_item() { sale_type = 0 };
|
||||
prodInfo.detail.second_hand = 0;
|
||||
prodInfo.detail.sf_markup_template_sn = null;
|
||||
prodInfo.detail.shang_men_an_zhuang = null;
|
||||
// 聚水潭没有
|
||||
prodInfo.detail.share_desc = "";
|
||||
prodInfo.detail.shipment_limit_second = 172800;
|
||||
prodInfo.detail.shoes_template_id = null;
|
||||
prodInfo.detail.shop_group_id = null;
|
||||
prodInfo.detail.shop_group_name = null;
|
||||
prodInfo.detail.show_activity_price = false;
|
||||
prodInfo.detail.size_parent_spec_id = null;
|
||||
prodInfo.detail.size_spec_id = null;
|
||||
|
||||
//if (jstGoodsObj["skuInfo"].IsJTokenNullOrEmpty() || jstGoodsObj["skuInfo"]["goodsSkuDetail"].IsJTokenNullOrEmpty())
|
||||
//{
|
||||
// convertRst = "缺少sku信息";
|
||||
// return null;
|
||||
//}
|
||||
prodInfo.detail.sku = new List<sku_item>();
|
||||
//foreach (JObject jSku in jstGoodsObj["skuInfo"]["goodsSkuDetail"])
|
||||
foreach (var wxEditSkuInfo in wxEditProdInfo.product.productSkus)
|
||||
{
|
||||
sku_item skuInfo = new sku_item()
|
||||
{
|
||||
id = 0,
|
||||
// 聚水潭为string,散列取数值
|
||||
sku_id = wxEditSkuInfo.skuKey.skuId.ParseToLong(),
|
||||
sku_sn = null,
|
||||
carnival_price = 0,
|
||||
init_quantity = 0,
|
||||
is_onsale = 1,
|
||||
limit_quantity = 999999,
|
||||
multi_price = wxEditSkuInfo.productSkuInfo.salePrice.ParseToInt(),
|
||||
multi_price_in_yuan = null,
|
||||
price = wxEditSkuInfo.productSkuInfo.salePrice.ParseToInt() + 100,
|
||||
price_in_yuan = null,
|
||||
quantity = wxEditSkuInfo.productSkuInfo.realStockInfo.stockNum,
|
||||
reserve_quantity = 0,
|
||||
weight = 0,
|
||||
thumb_url = wxEditSkuInfo.productSkuInfo.thumbImg,
|
||||
thumb_url_file_id = null,
|
||||
thumb_url_status = null,
|
||||
thumb_url_is_deleted = null,
|
||||
quantity_delta = 0,
|
||||
spec = new List<spec_item>(),
|
||||
// sku货号下面单独设置
|
||||
out_sku_sn = "",
|
||||
batch_id = null,
|
||||
priority = 1,
|
||||
ware_id = 0,
|
||||
ware_biz_type = null,
|
||||
advice_price = null,
|
||||
length = null,
|
||||
oversea_sku = null,
|
||||
cspu_id = null,
|
||||
child_skus = null,
|
||||
ref_sku_commit_id = 0,
|
||||
start_time = null,
|
||||
end_time = null,
|
||||
sku_srv_templates = null,
|
||||
calendar_rule_id = null,
|
||||
hot_live_group = null,
|
||||
pre_sale_time = 0,
|
||||
out_source_sku_id = null,
|
||||
dd_grocery_sku_params = null,
|
||||
sku_extended_attribute_dtos = null,
|
||||
sku_basic_property_dtos = null,
|
||||
spec_note_map = null,
|
||||
delivery_schedule_dtos = null,
|
||||
shipment_limit_second_list = null,
|
||||
sku69_code = "",
|
||||
};
|
||||
// 供应商价加价10%(最低1元)赚取差价
|
||||
int addPrice = (skuInfo.multi_price * 0.1).ParseToInt();
|
||||
if (addPrice < 100)
|
||||
addPrice = 100;
|
||||
skuInfo.multi_price += addPrice;
|
||||
skuInfo.price += addPrice;
|
||||
foreach (var wxSpec in wxEditSkuInfo.productSkuInfo.saleParam)
|
||||
{
|
||||
skuInfo.spec.Add(new spec_item()
|
||||
{
|
||||
parent_id = wxSpec.categorys[0].catId.ParseToLong(),
|
||||
parent_name = wxSpec.categorys[0].name,
|
||||
spec_id = wxSpec.categorys[1].catId.ParseToLong(),
|
||||
spec_name = wxSpec.categorys[1].name,
|
||||
});
|
||||
}
|
||||
skuInfo.out_sku_sn = wxEditSkuInfo.productSkuInfo.skuCode;
|
||||
prodInfo.detail.sku.Add(skuInfo);
|
||||
}
|
||||
prodInfo.detail.sku_type = null;
|
||||
prodInfo.detail.song_huo_an_zhuang = null;
|
||||
prodInfo.detail.song_huo_ru_hu = null;
|
||||
prodInfo.detail.source = 0;
|
||||
prodInfo.detail.spu_id = null;
|
||||
prodInfo.detail.spu_version = null;
|
||||
prodInfo.detail.submit_time = 0;
|
||||
prodInfo.detail.thawed_refund = 0;
|
||||
prodInfo.detail.third_type = 0;
|
||||
// 复用前面填过的主图
|
||||
prodInfo.detail.thumb_url = prodInfo.detail.galleries.FirstOrDefault(g => g.type == 1)?.url;
|
||||
prodInfo.detail.tiny_name = "";
|
||||
prodInfo.detail.transport_type_list = null;
|
||||
prodInfo.detail.two_pieces_discount = 99;
|
||||
prodInfo.detail.user_source = 1;
|
||||
prodInfo.detail.warehouse = "";
|
||||
prodInfo.detail.warm_tips = "";
|
||||
prodInfo.detail.zhi_huan_bu_xiu = 0;
|
||||
|
||||
prodInfo.size = null;
|
||||
prodInfo.material1 = null;
|
||||
prodInfo.material3 = null;
|
||||
prodInfo.property = new PDDProductPropertyInfo();
|
||||
prodInfo.property.sku_properties = new object();
|
||||
prodInfo.property.goods_properties = new List<goods_propertie_item>();
|
||||
|
||||
if (1 == 1)
|
||||
{
|
||||
foreach (var wxProp in wxEditProdInfo.product.info.param)
|
||||
{
|
||||
string name = wxProp.categorys.FirstOrDefault()?.name;
|
||||
goods_propertie_item propInfo = new goods_propertie_item();
|
||||
prodInfo.property.goods_properties.Add(propInfo);
|
||||
propInfo.name = name;
|
||||
propInfo.ref_pid = null;
|
||||
//propInfo.wx_input_type = wxProp.categorys.FirstOrDefault()?.catInfo.inputType;
|
||||
propInfo.values = new List<value_item>();
|
||||
foreach (var wxPropVal in wxProp.categorys)
|
||||
{
|
||||
if (wxProp.categorys.IndexOf(wxPropVal) == 0)
|
||||
continue;
|
||||
|
||||
propInfo.values.Add(new value_item()
|
||||
{
|
||||
value = wxPropVal.name.ParseToString(),
|
||||
raw_value = wxPropVal.name.ParseToString(),
|
||||
vid = null,
|
||||
unit = ""
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//outGoodsParam.productAttrs.Add(new osProductAttrParam { attrKey = "品牌", attrValue = "无品牌" });
|
||||
}
|
||||
// 主图 复用前面的
|
||||
dbProd.main_img = prodInfo.detail.galleries.FirstOrDefault(g => g.type == 1).url;
|
||||
dbProd.product_json = JsonHelper.SerializeObject(prodInfo);
|
||||
|
||||
return prodInfo;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
convertRst = "转换错误 " + ex.Message;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -240,6 +240,12 @@
|
||||
<Compile Include="WXForms\ProductForms\WXProductForm.Designer.cs">
|
||||
<DependentUpon>WXProductForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\ShopForms\WXShopMultiLoginForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\ShopForms\WXShopMultiLoginForm.Designer.cs">
|
||||
<DependentUpon>WXShopMultiLoginForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\ShopForms\WxShopStatisticsForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -1157,6 +1163,9 @@
|
||||
<EmbeddedResource Include="WXForms\ProductForms\WXProductForm.resx">
|
||||
<DependentUpon>WXProductForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WXForms\ShopForms\WXShopMultiLoginForm.resx">
|
||||
<DependentUpon>WXShopMultiLoginForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WXForms\ShopForms\WxShopStatisticsForm.resx">
|
||||
<DependentUpon>WxShopStatisticsForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
@@ -337,7 +337,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
// cmbSpec1
|
||||
//
|
||||
this.cmbSpec1.DefaultText = "全部";
|
||||
this.cmbSpec1.DropDownHeight = 1;
|
||||
this.cmbSpec1.DropDownWidth = 1;
|
||||
this.cmbSpec1.FormattingEnabled = true;
|
||||
this.cmbSpec1.IntegralHeight = false;
|
||||
this.cmbSpec1.Location = new System.Drawing.Point(3, 3);
|
||||
this.cmbSpec1.Name = "cmbSpec1";
|
||||
this.cmbSpec1.Size = new System.Drawing.Size(121, 25);
|
||||
@@ -347,7 +350,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
// cmbSpec2
|
||||
//
|
||||
this.cmbSpec2.DefaultText = "全部";
|
||||
this.cmbSpec2.DropDownHeight = 1;
|
||||
this.cmbSpec2.DropDownWidth = 1;
|
||||
this.cmbSpec2.FormattingEnabled = true;
|
||||
this.cmbSpec2.IntegralHeight = false;
|
||||
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";
|
||||
@@ -687,7 +693,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2;
|
||||
private DevComponents.DotNetBar.PanelEx btnCancel;
|
||||
private DevComponents.DotNetBar.PanelEx btnSaveSkuLst;
|
||||
private UserComponent.DataGridViewEx dgvDbProduct;
|
||||
private System.Windows.Forms.PictureBox pbLoading;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel3;
|
||||
@@ -721,9 +726,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
private System.Windows.Forms.DataGridViewImageColumn colSkuImg;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colEditSkuImg;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSkuSn;
|
||||
private DevComponents.DotNetBar.PanelEx btnRestoreAll;
|
||||
private System.Windows.Forms.Panel pnlCef;
|
||||
private System.Windows.Forms.Panel panel4;
|
||||
private System.Windows.Forms.Panel panel5;
|
||||
public DevComponents.DotNetBar.PanelEx btnSaveSkuLst;
|
||||
public DevComponents.DotNetBar.PanelEx btnRestoreAll;
|
||||
}
|
||||
}
|
||||
@@ -65,13 +65,13 @@
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.Controls.Add(this.btnOk);
|
||||
this.panel2.Controls.Add(this.pnlSkuOption);
|
||||
this.panel2.Controls.Add(this.label7);
|
||||
this.panel2.Controls.Add(this.txtFissionWords);
|
||||
this.panel2.Controls.Add(this.txtEndWords);
|
||||
this.panel2.Controls.Add(this.label6);
|
||||
this.panel2.Controls.Add(this.txtHeadWords);
|
||||
this.panel2.Controls.Add(this.label5);
|
||||
this.panel2.Controls.Add(this.btnEditDetail);
|
||||
this.panel2.Controls.Add(this.txtProductName);
|
||||
this.panel2.Controls.Add(this.txtSkcId);
|
||||
this.panel2.Controls.Add(this.txtSpuId);
|
||||
@@ -83,6 +83,7 @@
|
||||
this.panel2.Controls.Add(this.pictureBox1);
|
||||
this.panel2.Controls.Add(this.label8);
|
||||
this.panel2.Controls.Add(this.txtNotes);
|
||||
this.panel2.Controls.Add(this.pnlSkuOption);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(1, 33);
|
||||
this.panel2.Name = "panel2";
|
||||
@@ -113,7 +114,6 @@
|
||||
this.pnlSkuOption.Controls.Add(this.pictureBox2);
|
||||
this.pnlSkuOption.Controls.Add(this.buttonEx1);
|
||||
this.pnlSkuOption.Controls.Add(this.btnSelect);
|
||||
this.pnlSkuOption.Controls.Add(this.btnEditDetail);
|
||||
this.pnlSkuOption.Location = new System.Drawing.Point(10, 483);
|
||||
this.pnlSkuOption.Name = "pnlSkuOption";
|
||||
this.pnlSkuOption.Size = new System.Drawing.Size(417, 147);
|
||||
@@ -134,7 +134,7 @@
|
||||
this.btnBookImg.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnBookImg.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnBookImg.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnBookImg.Location = new System.Drawing.Point(332, 37);
|
||||
this.btnBookImg.Location = new System.Drawing.Point(332, 5);
|
||||
this.btnBookImg.Name = "btnBookImg";
|
||||
this.btnBookImg.Size = new System.Drawing.Size(85, 26);
|
||||
this.btnBookImg.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -202,7 +202,7 @@
|
||||
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(332, 5);
|
||||
this.btnEditDetail.Location = new System.Drawing.Point(308, 616);
|
||||
this.btnEditDetail.Name = "btnEditDetail";
|
||||
this.btnEditDetail.Size = new System.Drawing.Size(85, 26);
|
||||
this.btnEditDetail.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
|
||||
@@ -16,6 +16,7 @@ using TemuKJD.ToolForms;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.IO;
|
||||
using Work.BLL.Tools;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
@@ -59,6 +60,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.pictureBox2.ImageLocation = dbProd.sku_img_replace_url;
|
||||
else if (!string.IsNullOrWhiteSpace(dbProd.sku_img_replace_base64))
|
||||
this.pictureBox2.Image = Base64ChangeImgUrl.Base64ToImage(dbProd.sku_img_replace_base64); // Convert.FromBase64String(dbProd.sku_img_replace_base64);
|
||||
|
||||
if (dbProd.product_get_type_text == "厂商直采" || dbProd.product_get_type_text == "微信店采")
|
||||
btnEditDetail.Text = "查看商品SKU";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,7 +241,37 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
|
||||
private void btnEditDetail_Click(object sender, EventArgs e)
|
||||
{
|
||||
bool canEdit = true;
|
||||
//{"goodsId":"2032007952082477057","warehouseGoodsId":"171C2881E8C6491CA65728683483EDE9","spuCode":"987651321321","skus":[{"skuId":"2032007952837451777","warehouseSkuId":"6B710CE261B240C38B5245006F3622A3","skuCode":"20190311002"},{"skuId":"2032007953839890434","warehouseSkuId":"2FA14AAB600541CAA72DDE7697D8D27A","skuCode":"201607090622"}]}
|
||||
if (dbProd.product_get_type_text == "厂商直采")
|
||||
{
|
||||
canEdit = false;
|
||||
string convertRst = "";
|
||||
var ob = new PDDProdFormConverter().JstPddProdToPddConvert(out convertRst, dbProd);
|
||||
if (!string.IsNullOrEmpty(convertRst))
|
||||
{
|
||||
BaseMsgForm.ShowError("商品结构获取失败 " + convertRst);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (dbProd.product_get_type_text == "微信店采")
|
||||
{
|
||||
canEdit = false;
|
||||
string convertRst = "";
|
||||
var ob = new PDDProdFormConverter().WXProdToPddConvert(out convertRst, dbProd);
|
||||
if (!string.IsNullOrEmpty(convertRst))
|
||||
{
|
||||
BaseMsgForm.ShowError("商品结构获取失败");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
PDDDBProdEditDetailForm editDetailForm = new PDDDBProdEditDetailForm(this.dbProd);
|
||||
if (!canEdit)
|
||||
{
|
||||
editDetailForm.btnRestoreAll.Visible = false;
|
||||
editDetailForm.btnSaveSkuLst.Visible = false;
|
||||
}
|
||||
editDetailForm.ShowDialog();
|
||||
}
|
||||
|
||||
|
||||
+20
-19
@@ -223,7 +223,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
// dtpEnd
|
||||
//
|
||||
this.dtpEnd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.dtpEnd.Location = new System.Drawing.Point(1042, 80);
|
||||
this.dtpEnd.Location = new System.Drawing.Point(1040, 87);
|
||||
this.dtpEnd.Name = "dtpEnd";
|
||||
this.dtpEnd.Size = new System.Drawing.Size(110, 23);
|
||||
this.dtpEnd.TabIndex = 979;
|
||||
@@ -231,7 +231,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
// dtpStart
|
||||
//
|
||||
this.dtpStart.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.dtpStart.Location = new System.Drawing.Point(926, 80);
|
||||
this.dtpStart.Location = new System.Drawing.Point(926, 87);
|
||||
this.dtpStart.Name = "dtpStart";
|
||||
this.dtpStart.Size = new System.Drawing.Size(110, 23);
|
||||
this.dtpStart.TabIndex = 978;
|
||||
@@ -240,7 +240,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
this.ucCheckBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ucCheckBox1.AutoSize = true;
|
||||
this.ucCheckBox1.Location = new System.Drawing.Point(856, 82);
|
||||
this.ucCheckBox1.Location = new System.Drawing.Point(856, 89);
|
||||
this.ucCheckBox1.Name = "ucCheckBox1";
|
||||
this.ucCheckBox1.Size = new System.Drawing.Size(75, 21);
|
||||
this.ucCheckBox1.TabIndex = 977;
|
||||
@@ -254,9 +254,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnUpdateReturnServerData.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnUpdateReturnServerData.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnUpdateReturnServerData.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnUpdateReturnServerData.Location = new System.Drawing.Point(759, 79);
|
||||
this.btnUpdateReturnServerData.Location = new System.Drawing.Point(1040, 62);
|
||||
this.btnUpdateReturnServerData.Name = "btnUpdateReturnServerData";
|
||||
this.btnUpdateReturnServerData.Size = new System.Drawing.Size(85, 25);
|
||||
this.btnUpdateReturnServerData.Size = new System.Drawing.Size(110, 25);
|
||||
this.btnUpdateReturnServerData.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnUpdateReturnServerData.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnUpdateReturnServerData.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
@@ -269,7 +269,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnUpdateReturnServerData.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnUpdateReturnServerData.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnUpdateReturnServerData.TabIndex = 943;
|
||||
this.btnUpdateReturnServerData.Text = "数据拉回";
|
||||
this.btnUpdateReturnServerData.Text = "加密数据拉回";
|
||||
this.btnUpdateReturnServerData.Click += new System.EventHandler(this.updateReturnServerData_Click);
|
||||
//
|
||||
// btnReturnSecretData
|
||||
@@ -279,9 +279,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnReturnSecretData.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnReturnSecretData.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnReturnSecretData.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnReturnSecretData.Location = new System.Drawing.Point(671, 79);
|
||||
this.btnReturnSecretData.Location = new System.Drawing.Point(926, 62);
|
||||
this.btnReturnSecretData.Name = "btnReturnSecretData";
|
||||
this.btnReturnSecretData.Size = new System.Drawing.Size(86, 25);
|
||||
this.btnReturnSecretData.Size = new System.Drawing.Size(110, 25);
|
||||
this.btnReturnSecretData.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnReturnSecretData.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnReturnSecretData.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
@@ -303,7 +303,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnStopStop.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.btnStopStop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnStopStop.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnStopStop.Location = new System.Drawing.Point(672, 13);
|
||||
this.btnStopStop.Location = new System.Drawing.Point(672, 23);
|
||||
this.btnStopStop.Name = "btnStopStop";
|
||||
this.btnStopStop.Size = new System.Drawing.Size(76, 25);
|
||||
this.btnStopStop.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -329,7 +329,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnPull.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnPull.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnPull.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnPull.Location = new System.Drawing.Point(810, 47);
|
||||
this.btnPull.Location = new System.Drawing.Point(810, 60);
|
||||
this.btnPull.Name = "btnPull";
|
||||
this.btnPull.Size = new System.Drawing.Size(34, 25);
|
||||
this.btnPull.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -354,7 +354,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnPushToOutServer.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnPushToOutServer.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnPushToOutServer.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnPushToOutServer.Location = new System.Drawing.Point(750, 47);
|
||||
this.btnPushToOutServer.Location = new System.Drawing.Point(750, 60);
|
||||
this.btnPushToOutServer.Name = "btnPushToOutServer";
|
||||
this.btnPushToOutServer.Size = new System.Drawing.Size(58, 25);
|
||||
this.btnPushToOutServer.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -379,7 +379,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnGetProdWxCate.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnGetProdWxCate.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnGetProdWxCate.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnGetProdWxCate.Location = new System.Drawing.Point(750, 13);
|
||||
this.btnGetProdWxCate.Location = new System.Drawing.Point(750, 23);
|
||||
this.btnGetProdWxCate.Name = "btnGetProdWxCate";
|
||||
this.btnGetProdWxCate.Size = new System.Drawing.Size(94, 25);
|
||||
this.btnGetProdWxCate.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -406,7 +406,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"安全商品",
|
||||
"违规商品",
|
||||
"未校验"});
|
||||
this.cmbSetWxSafe.Location = new System.Drawing.Point(865, 41);
|
||||
this.cmbSetWxSafe.Location = new System.Drawing.Point(865, 33);
|
||||
this.cmbSetWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbSetWxSafe.Name = "cmbSetWxSafe";
|
||||
this.cmbSetWxSafe.Size = new System.Drawing.Size(85, 25);
|
||||
@@ -419,7 +419,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnSetWxSafe.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSetWxSafe.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSetWxSafe.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSetWxSafe.Location = new System.Drawing.Point(952, 41);
|
||||
this.btnSetWxSafe.Location = new System.Drawing.Point(952, 33);
|
||||
this.btnSetWxSafe.Name = "btnSetWxSafe";
|
||||
this.btnSetWxSafe.Size = new System.Drawing.Size(84, 25);
|
||||
this.btnSetWxSafe.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -444,7 +444,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnImport.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnImport.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnImport.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnImport.Location = new System.Drawing.Point(1058, 41);
|
||||
this.btnImport.Location = new System.Drawing.Point(1058, 33);
|
||||
this.btnImport.Name = "btnImport";
|
||||
this.btnImport.Size = new System.Drawing.Size(84, 25);
|
||||
this.btnImport.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -724,6 +724,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.cmbSourceType.Items.AddRange(new object[] {
|
||||
"",
|
||||
"厂商直采",
|
||||
"微信店采",
|
||||
"母店采集",
|
||||
"机会商品",
|
||||
"以图搜品",
|
||||
@@ -1075,7 +1076,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnDelSelect.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnDelSelect.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnDelSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnDelSelect.Location = new System.Drawing.Point(1058, 7);
|
||||
this.btnDelSelect.Location = new System.Drawing.Point(1058, 5);
|
||||
this.btnDelSelect.Name = "btnDelSelect";
|
||||
this.btnDelSelect.Size = new System.Drawing.Size(84, 25);
|
||||
this.btnDelSelect.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -1097,7 +1098,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
this.cmbGroup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbGroup.FormattingEnabled = true;
|
||||
this.cmbGroup.Location = new System.Drawing.Point(865, 7);
|
||||
this.cmbGroup.Location = new System.Drawing.Point(865, 5);
|
||||
this.cmbGroup.Name = "cmbGroup";
|
||||
this.cmbGroup.Size = new System.Drawing.Size(85, 25);
|
||||
this.cmbGroup.TabIndex = 640;
|
||||
@@ -1109,7 +1110,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnSetGroup.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSetGroup.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSetGroup.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSetGroup.Location = new System.Drawing.Point(952, 7);
|
||||
this.btnSetGroup.Location = new System.Drawing.Point(952, 5);
|
||||
this.btnSetGroup.Name = "btnSetGroup";
|
||||
this.btnSetGroup.Size = new System.Drawing.Size(84, 25);
|
||||
this.btnSetGroup.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -1144,7 +1145,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.chkPullAfterPush.AutoSize = true;
|
||||
this.chkPullAfterPush.Checked = true;
|
||||
this.chkPullAfterPush.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkPullAfterPush.Location = new System.Drawing.Point(672, 49);
|
||||
this.chkPullAfterPush.Location = new System.Drawing.Point(672, 62);
|
||||
this.chkPullAfterPush.Name = "chkPullAfterPush";
|
||||
this.chkPullAfterPush.Size = new System.Drawing.Size(87, 21);
|
||||
this.chkPullAfterPush.TabIndex = 874;
|
||||
|
||||
@@ -164,7 +164,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
// 获取Bitmap的Graphics对象
|
||||
using (Graphics g = Graphics.FromImage(defaultBitmap))
|
||||
{
|
||||
// 清除整个Bitmap为蓝色
|
||||
// 清除整个Bitmap为白色
|
||||
g.Clear(Color.White);
|
||||
}
|
||||
foreach (var prod in lstTemuDbProduct)
|
||||
@@ -1232,7 +1232,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
var dbProd = PDDDBProdEditForm.GetPddProductDetail(prod.id.ParseToString());
|
||||
var prodObj = JsonHelper.JObjectParse(dbProd.product_json);
|
||||
List<string> mainImgLst3 = new List<string>();
|
||||
if (!prodObj["jstProd"].IsJTokenNullOrEmpty())
|
||||
if (dbProd.product_get_type_text == "厂商直采" && !prodObj["jstProd"].IsJTokenNullOrEmpty())
|
||||
{
|
||||
var jstProd = JsonHelper.DeserializeJsonToObject<JSTListProductInfo>(JsonHelper.SerializeObject(prodObj["jstProd"]));
|
||||
mainImgLst3 = jstProd.itemMainImage.Take(3).ToList();
|
||||
@@ -1345,7 +1345,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
}
|
||||
}
|
||||
|
||||
if (dbProd.wx_cat_1 != null && dbProd.wx_cat_leaf != null)
|
||||
if (dbProd.product_get_type_text == "厂商直采" && dbProd.wx_cat_1 != null && dbProd.wx_cat_leaf != null)
|
||||
{
|
||||
var row = dgvDbProduct.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["col_spu_id"].Value.ParseToString() == dbProd.spu_id);
|
||||
|
||||
@@ -1511,9 +1511,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
// 原批量拉取,已废弃 "https://po.e57.cn/prod-api/api/sys-api/system/open/api/goods/list/get?page_size=10";
|
||||
// 按spuCode(ext_code)拉取
|
||||
url = "https://po.e57.cn/prod-api/api/sys-api/system/open/api/goods/list/get";
|
||||
// 作废
|
||||
//url = "https://po.e57.cn/prod-api/api/sys-api/system/open/api/goods/list/get";
|
||||
//string body = "{\"spuCodes\":[\"" + dbProd.ext_code + "\"]}";
|
||||
string body = "{\"spuCodes\":[\"" + dbProd.spu_id + "\"]}";
|
||||
|
||||
// warehouseGoodsId和spuCode一起拉回
|
||||
url = "https://po.e57.cn/prod-api/api/sys-api/system/open/api/goods/list/getNew";
|
||||
string body = "{\"goodsApiNewItems\":[{\"warehouseGoodsId\":\"" + dbProd.spu_id + "\",\"spuCode\":\"" + dbProd.ext_code + "\"}]}";
|
||||
|
||||
var getRst = WXHttpResponseBLL.e57PostResponse(url, body, "");
|
||||
if (getRst.Contains("\"code\":0"))
|
||||
{
|
||||
@@ -1521,8 +1526,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
var url3 = BaseClass.BuildPDDObjString("product/mdy_product");
|
||||
string skuSecretJson = JsonHelper.SerializeObject(JsonHelper.JObjectParse(getRst)["data"].FirstOrDefault());
|
||||
|
||||
var prodDataObj = JsonHelper.JObjectParse(rst)["data"];
|
||||
OutServerGoodsParam outGoodsParam = JsonHelper.DeserializeJsonToObject<OutServerGoodsParam>(JsonHelper.SerializeObject(prodDataObj));
|
||||
if (outGoodsParam.skus.Any(s => !skuSecretJson.Contains(s.warehouseSkuId)))
|
||||
continue;
|
||||
|
||||
if (skuSecretJson.Contains("warehouseGoodsId") && skuSecretJson.Contains("goodsId") &&
|
||||
skuSecretJson.Contains("warehouseSkuId") && skuSecretJson.Contains("skuId"))
|
||||
skuSecretJson.Contains("warehouseSkuId") && skuSecretJson.Contains("skuId") && skuSecretJson.Contains("skuCode"))
|
||||
{
|
||||
var data3 = Work.UserLogin.GetSignaturex() +
|
||||
"&spu_id=" + dbProd.spu_id +
|
||||
@@ -1628,16 +1639,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
}));
|
||||
|
||||
// 旧的批量拉取
|
||||
var spuCodes = string.Join("\",\"", dbProdTmp20Lst.Select(p => p.ext_code));
|
||||
var spu_id = string.Join("\",\"", dbProdTmp20Lst.Select(p => p.spu_id));
|
||||
//var spuCodes = string.Join("\",\"", dbProdTmp20Lst.Select(p => p.ext_code));
|
||||
//var spu_id = string.Join("\",\"", dbProdTmp20Lst.Select(p => p.spu_id));
|
||||
// 原批量拉取,已废弃 "https://po.e57.cn/prod-api/api/sys-api/system/open/api/goods/list/get?page_size=10";
|
||||
// 按spuCode(ext_code)拉取
|
||||
string url = "https://po.e57.cn/prod-api/api/sys-api/system/open/api/goods/list/get?" + Randomx.GetId(100, 999);
|
||||
string body = "{\"spuCodes\":[\"" + spuCodes + "\"]}";
|
||||
//string url = "https://po.e57.cn/prod-api/api/sys-api/system/open/api/goods/list/get?" + Randomx.GetId(100, 999);
|
||||
//string body = "{\"spuCodes\":[\"" + spuCodes + "\"]}";
|
||||
|
||||
// 使用新的批量拉取
|
||||
body = "{\"goodsApiNewItems\":[";
|
||||
url = "https://po.e57.cn/prod-api/api/sys-api/system/open/api/goods/list/getNew";
|
||||
string body = "{\"goodsApiNewItems\":[";
|
||||
string url = "https://po.e57.cn/prod-api/api/sys-api/system/open/api/goods/list/getNew";
|
||||
foreach (var dbProd in dbProdTmp20Lst)
|
||||
{
|
||||
body += "{\"warehouseGoodsId\":\"" + dbProd.spu_id + "\",\"spuCode\":\"" + dbProd.ext_code + "\"},";
|
||||
@@ -1657,11 +1668,18 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
var skuSecretJson = JsonHelper.SerializeObject(secretObj);
|
||||
var warehouseGoodsId = BaseRegex.GetStringJson(ref skuSecretJson, "warehouseGoodsId");
|
||||
var prod = dbProdTmp20Lst.FirstOrDefault(p => p.spu_id == warehouseGoodsId);
|
||||
var dbProd = PDDDBProdEditForm.GetPddProductDetail(prod.id.ParseToString());
|
||||
var rst = new WxProdFormConverter().JstPddConvertToWxOutServer(dbProd);
|
||||
var prodDataObj = JsonHelper.JObjectParse(rst)["data"];
|
||||
OutServerGoodsParam outGoodsParam = JsonHelper.DeserializeJsonToObject<OutServerGoodsParam>(JsonHelper.SerializeObject(prodDataObj));
|
||||
if (prod != null)
|
||||
{
|
||||
if (outGoodsParam.skus.Any(s => !skuSecretJson.Contains(s.warehouseSkuId)))
|
||||
continue;
|
||||
|
||||
var url2 = BaseClass.BuildPDDObjString("product/mdy_product");
|
||||
if (skuSecretJson.Contains("warehouseGoodsId") && skuSecretJson.Contains("goodsId") &&
|
||||
skuSecretJson.Contains("warehouseSkuId") && skuSecretJson.Contains("skuId"))
|
||||
skuSecretJson.Contains("warehouseSkuId") && skuSecretJson.Contains("skuId") && skuSecretJson.Contains("skuCode"))
|
||||
{
|
||||
var data2 = Work.UserLogin.GetSignaturex() +
|
||||
"&spu_id=" + prod.spu_id +
|
||||
@@ -1672,7 +1690,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
html = GetHtml.PostUtf8(url2, data2);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
|
||||
prod.send_to_out_server = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -101,16 +101,26 @@ namespace TemuKJD.UserComponent
|
||||
for (int index = 0; index < checkedListBox.Items.Count; index++)
|
||||
{
|
||||
var item = checkedListBox.Items[index];
|
||||
if (this.Text == "全部" || this.Text.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).Contains(item.ParseToString()))
|
||||
if (this.Text == "全部" || this.Text.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).Contains(item.ParseToString()))
|
||||
checkedListBox.SetItemChecked(index, true);
|
||||
else
|
||||
checkedListBox.SetItemChecked(index, false);
|
||||
}
|
||||
|
||||
// 计算宽度
|
||||
int maxItemWidth = 0;
|
||||
for (int index = 0; index < checkedListBox.Items.Count; index++)
|
||||
{
|
||||
var wth = TextRenderer.MeasureText(checkedListBox.Items[index].ToString(), checkedListBox.Font).Width + 20;
|
||||
if (wth > maxItemWidth)
|
||||
maxItemWidth = wth;
|
||||
}
|
||||
|
||||
checkedListBox.SendToBack();
|
||||
checkedListBox.Visible = true;
|
||||
// 确定弹出列表框的大小和位置
|
||||
checkedListBox.Size = new Size(Math.Max(80, this.Width), Math.Min(300, checkedListBox.PreferredHeight));
|
||||
//checkedListBox.Size = new Size(Math.Max(80, this.Width), Math.Min(300, checkedListBox.PreferredHeight));
|
||||
checkedListBox.Size = new Size(Math.Max(this.Width, maxItemWidth), Math.Min(300, checkedListBox.PreferredHeight));
|
||||
Point relativeLocation = this.GetRelativePosition();
|
||||
if (parentForm.Height - relativeLocation.Y >= this.Height + checkedListBox.Size.Height + 20)
|
||||
relativeLocation = new Point(relativeLocation.X, relativeLocation.Y + this.Height);
|
||||
|
||||
+14
-2
@@ -80,6 +80,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.colSaLevel = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSaLevelName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAuthority = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAddShop = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.editColumn = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.deleteColumn = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer5)).BeginInit();
|
||||
@@ -532,6 +533,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.colSaLevel,
|
||||
this.colSaLevelName,
|
||||
this.colAuthority,
|
||||
this.colAddShop,
|
||||
this.editColumn,
|
||||
this.deleteColumn});
|
||||
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
@@ -647,9 +649,18 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.colAuthority.Name = "colAuthority";
|
||||
this.colAuthority.ReadOnly = true;
|
||||
//
|
||||
// colAddShop
|
||||
//
|
||||
this.colAddShop.FillWeight = 60F;
|
||||
this.colAddShop.HeaderText = "添加店铺";
|
||||
this.colAddShop.Name = "colAddShop";
|
||||
this.colAddShop.ReadOnly = true;
|
||||
this.colAddShop.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colAddShop.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// editColumn
|
||||
//
|
||||
this.editColumn.FillWeight = 50F;
|
||||
this.editColumn.FillWeight = 40F;
|
||||
this.editColumn.HeaderText = "编辑";
|
||||
this.editColumn.Name = "editColumn";
|
||||
this.editColumn.ReadOnly = true;
|
||||
@@ -658,7 +669,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
//
|
||||
// deleteColumn
|
||||
//
|
||||
this.deleteColumn.FillWeight = 50F;
|
||||
this.deleteColumn.FillWeight = 40F;
|
||||
this.deleteColumn.HeaderText = "删除";
|
||||
this.deleteColumn.Name = "deleteColumn";
|
||||
this.deleteColumn.ReadOnly = true;
|
||||
@@ -736,6 +747,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSaLevel;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSaLevelName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAuthority;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colAddShop;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn editColumn;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn deleteColumn;
|
||||
}
|
||||
|
||||
@@ -145,6 +145,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
user.company_name = BaseRegex.GetStringJson(ref oStr, "company_name");
|
||||
user.sa_level = BaseRegex.GetIntJson(ref oStr, "sa_level");
|
||||
user.authority = BaseRegex.GetStringJson(ref oStr, "authority");
|
||||
user.group_id = BaseRegex.GetStringJson(ref oStr, "group_id");
|
||||
var parent_user_name = BaseRegex.GetStringJson(ref oStr, "parent_user_name");
|
||||
|
||||
AllUsers.Add(user);
|
||||
@@ -160,6 +161,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
user.sa_level,
|
||||
user.sa_level_name,
|
||||
user.authority,
|
||||
user.group_id == "3" ? "添加店铺" : "",
|
||||
"编辑",
|
||||
"删除");
|
||||
}
|
||||
@@ -224,6 +226,14 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
Delete(uid);
|
||||
}
|
||||
}
|
||||
if (columname == "添加店铺")
|
||||
{
|
||||
WXAdminShopListForm shopListForm = new WXAdminShopListForm();
|
||||
shopListForm.UserAccountInfo = AllUsers.FirstOrDefault(u => u.user_name == mobile);
|
||||
shopListForm.lblAddToAccount.Visible = true;
|
||||
shopListForm.btnAddToAccount.Visible = true;
|
||||
shopListForm.ShowDialog();
|
||||
}
|
||||
}
|
||||
|
||||
public void Delete(string uid)
|
||||
|
||||
@@ -150,6 +150,9 @@
|
||||
<metadata name="colAuthority.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colAddShop.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="editColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
||||
+208
-115
@@ -34,21 +34,22 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WXAdminShopListForm));
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.panel5 = new System.Windows.Forms.Panel();
|
||||
this.pbtnLoginSelect = new DevComponents.DotNetBar.PanelEx();
|
||||
this.chkShowDelete = new System.Windows.Forms.CheckBox();
|
||||
this.btnLoginSelect = new TemuKJD.UserControls.ButtonEx();
|
||||
this.btnCheck = new TemuKJD.UserControls.ButtonEx();
|
||||
this.pbtnCheck = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panel4 = new System.Windows.Forms.Panel();
|
||||
this.btnExportShopErp = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSetSubSa = new TemuKJD.UserControls.ButtonEx();
|
||||
this.lblAddToAccount = new System.Windows.Forms.Label();
|
||||
this.btnAddToAccount = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSearch = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtUserName = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.txtLoginName = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.pnlEmpty = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSearch = new TemuKJD.UserControls.ButtonEx();
|
||||
this.txtNotes = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.txtShopName = new System.Windows.Forms.TextBox();
|
||||
@@ -56,6 +57,8 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.txtShopId = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.btnSetSubSa = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnExportShopErp = new DevComponents.DotNetBar.PanelEx();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.pnlAddProdRemaining = new System.Windows.Forms.Panel();
|
||||
this.lblShopId = new System.Windows.Forms.Label();
|
||||
@@ -98,6 +101,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.chkAutoDrag = new System.Windows.Forms.CheckBox();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@@ -114,6 +118,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numAddRemaining)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit();
|
||||
this.panel3.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// splitContainer1
|
||||
@@ -133,7 +138,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
|
||||
this.splitContainer1.Panel2.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1273, 610);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1271, 576);
|
||||
this.splitContainer1.SplitterDistance = 84;
|
||||
this.splitContainer1.TabIndex = 34;
|
||||
//
|
||||
@@ -149,25 +154,49 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
|
||||
this.tableLayoutPanel2.RowCount = 1;
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel2.Size = new System.Drawing.Size(1273, 84);
|
||||
this.tableLayoutPanel2.Size = new System.Drawing.Size(1271, 84);
|
||||
this.tableLayoutPanel2.TabIndex = 37;
|
||||
//
|
||||
// panel5
|
||||
//
|
||||
this.panel5.Controls.Add(this.pbtnLoginSelect);
|
||||
this.panel5.Controls.Add(this.chkShowDelete);
|
||||
this.panel5.Controls.Add(this.btnLoginSelect);
|
||||
this.panel5.Controls.Add(this.btnCheck);
|
||||
this.panel5.Location = new System.Drawing.Point(1010, 3);
|
||||
this.panel5.Controls.Add(this.pbtnCheck);
|
||||
this.panel5.Location = new System.Drawing.Point(1008, 3);
|
||||
this.panel5.Name = "panel5";
|
||||
this.panel5.Size = new System.Drawing.Size(260, 40);
|
||||
this.panel5.TabIndex = 1;
|
||||
//
|
||||
// pbtnLoginSelect
|
||||
//
|
||||
this.pbtnLoginSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.pbtnLoginSelect.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.pbtnLoginSelect.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pbtnLoginSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.pbtnLoginSelect.Location = new System.Drawing.Point(192, 12);
|
||||
this.pbtnLoginSelect.Name = "pbtnLoginSelect";
|
||||
this.pbtnLoginSelect.Size = new System.Drawing.Size(66, 23);
|
||||
this.pbtnLoginSelect.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pbtnLoginSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pbtnLoginSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pbtnLoginSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.pbtnLoginSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.pbtnLoginSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.pbtnLoginSelect.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.pbtnLoginSelect.Style.GradientAngle = 90;
|
||||
this.pbtnLoginSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pbtnLoginSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.pbtnLoginSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.pbtnLoginSelect.TabIndex = 467;
|
||||
this.pbtnLoginSelect.Text = "检测选中";
|
||||
this.pbtnLoginSelect.Click += new System.EventHandler(this.btnLoginSelect_Click);
|
||||
//
|
||||
// chkShowDelete
|
||||
//
|
||||
this.chkShowDelete.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.chkShowDelete.AutoSize = true;
|
||||
this.chkShowDelete.BackColor = System.Drawing.Color.White;
|
||||
this.chkShowDelete.Location = new System.Drawing.Point(29, 12);
|
||||
this.chkShowDelete.Location = new System.Drawing.Point(29, 13);
|
||||
this.chkShowDelete.Name = "chkShowDelete";
|
||||
this.chkShowDelete.Size = new System.Drawing.Size(87, 21);
|
||||
this.chkShowDelete.TabIndex = 374;
|
||||
@@ -175,48 +204,40 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.chkShowDelete.UseVisualStyleBackColor = false;
|
||||
this.chkShowDelete.CheckedChanged += new System.EventHandler(this.chkShowDelete_CheckedChanged);
|
||||
//
|
||||
// btnLoginSelect
|
||||
// pbtnCheck
|
||||
//
|
||||
this.btnLoginSelect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnLoginSelect.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnLoginSelect.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnLoginSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnLoginSelect.ForeColor = System.Drawing.Color.White;
|
||||
this.btnLoginSelect.Location = new System.Drawing.Point(193, 9);
|
||||
this.btnLoginSelect.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnLoginSelect.Name = "btnLoginSelect";
|
||||
this.btnLoginSelect.Size = new System.Drawing.Size(66, 26);
|
||||
this.btnLoginSelect.TabIndex = 373;
|
||||
this.btnLoginSelect.Text = "登录选中";
|
||||
this.btnLoginSelect.UseVisualStyleBackColor = false;
|
||||
this.btnLoginSelect.Click += new System.EventHandler(this.btnLoginSelect_Click);
|
||||
//
|
||||
// btnCheck
|
||||
//
|
||||
this.btnCheck.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnCheck.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnCheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnCheck.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnCheck.ForeColor = System.Drawing.Color.White;
|
||||
this.btnCheck.Location = new System.Drawing.Point(123, 9);
|
||||
this.btnCheck.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnCheck.Name = "btnCheck";
|
||||
this.btnCheck.Size = new System.Drawing.Size(66, 26);
|
||||
this.btnCheck.TabIndex = 372;
|
||||
this.btnCheck.Text = "检测选中";
|
||||
this.btnCheck.UseVisualStyleBackColor = false;
|
||||
this.btnCheck.Click += new System.EventHandler(this.btnCheck_Click);
|
||||
this.pbtnCheck.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.pbtnCheck.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.pbtnCheck.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pbtnCheck.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.pbtnCheck.Location = new System.Drawing.Point(122, 12);
|
||||
this.pbtnCheck.Name = "pbtnCheck";
|
||||
this.pbtnCheck.Size = new System.Drawing.Size(66, 23);
|
||||
this.pbtnCheck.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pbtnCheck.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pbtnCheck.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pbtnCheck.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.pbtnCheck.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.pbtnCheck.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.pbtnCheck.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.pbtnCheck.Style.GradientAngle = 90;
|
||||
this.pbtnCheck.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pbtnCheck.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.pbtnCheck.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.pbtnCheck.TabIndex = 463;
|
||||
this.pbtnCheck.Text = "检测选中";
|
||||
this.pbtnCheck.Click += new System.EventHandler(this.btnCheck_Click);
|
||||
//
|
||||
// panel4
|
||||
//
|
||||
this.panel4.Controls.Add(this.btnExportShopErp);
|
||||
this.panel4.Controls.Add(this.btnSetSubSa);
|
||||
this.panel4.Controls.Add(this.lblAddToAccount);
|
||||
this.panel4.Controls.Add(this.btnAddToAccount);
|
||||
this.panel4.Controls.Add(this.btnSearch);
|
||||
this.panel4.Controls.Add(this.txtUserName);
|
||||
this.panel4.Controls.Add(this.label5);
|
||||
this.panel4.Controls.Add(this.txtLoginName);
|
||||
this.panel4.Controls.Add(this.label1);
|
||||
this.panel4.Controls.Add(this.pnlEmpty);
|
||||
this.panel4.Controls.Add(this.btnSearch);
|
||||
this.panel4.Controls.Add(this.txtNotes);
|
||||
this.panel4.Controls.Add(this.label4);
|
||||
this.panel4.Controls.Add(this.txtShopName);
|
||||
@@ -226,50 +247,67 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel4.Location = new System.Drawing.Point(3, 3);
|
||||
this.panel4.Name = "panel4";
|
||||
this.panel4.Size = new System.Drawing.Size(1001, 78);
|
||||
this.panel4.Size = new System.Drawing.Size(999, 78);
|
||||
this.panel4.TabIndex = 0;
|
||||
//
|
||||
// btnExportShopErp
|
||||
// lblAddToAccount
|
||||
//
|
||||
this.btnExportShopErp.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnExportShopErp.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnExportShopErp.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnExportShopErp.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnExportShopErp.Location = new System.Drawing.Point(613, 10);
|
||||
this.btnExportShopErp.Name = "btnExportShopErp";
|
||||
this.btnExportShopErp.Size = new System.Drawing.Size(140, 25);
|
||||
this.btnExportShopErp.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnExportShopErp.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnExportShopErp.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnExportShopErp.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnExportShopErp.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnExportShopErp.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnExportShopErp.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnExportShopErp.Style.GradientAngle = 90;
|
||||
this.btnExportShopErp.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnExportShopErp.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnExportShopErp.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnExportShopErp.TabIndex = 435;
|
||||
this.btnExportShopErp.Text = "导出店铺到后台系统";
|
||||
this.btnExportShopErp.Visible = false;
|
||||
this.btnExportShopErp.Click += new System.EventHandler(this.btnExportShopErp_Click);
|
||||
this.lblAddToAccount.AutoSize = true;
|
||||
this.lblAddToAccount.Location = new System.Drawing.Point(604, 44);
|
||||
this.lblAddToAccount.Name = "lblAddToAccount";
|
||||
this.lblAddToAccount.Size = new System.Drawing.Size(92, 17);
|
||||
this.lblAddToAccount.TabIndex = 456;
|
||||
this.lblAddToAccount.Text = "当前指定账号:";
|
||||
this.lblAddToAccount.Visible = false;
|
||||
//
|
||||
// btnSetSubSa
|
||||
// btnAddToAccount
|
||||
//
|
||||
this.btnSetSubSa.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnSetSubSa.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSetSubSa.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSetSubSa.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnSetSubSa.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSetSubSa.ForeColor = System.Drawing.Color.White;
|
||||
this.btnSetSubSa.Location = new System.Drawing.Point(895, 9);
|
||||
this.btnSetSubSa.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnSetSubSa.Name = "btnSetSubSa";
|
||||
this.btnSetSubSa.Size = new System.Drawing.Size(93, 26);
|
||||
this.btnSetSubSa.TabIndex = 424;
|
||||
this.btnSetSubSa.Text = "分配二级超管";
|
||||
this.btnSetSubSa.UseVisualStyleBackColor = false;
|
||||
this.btnSetSubSa.Click += new System.EventHandler(this.btnSetSubSa_Click);
|
||||
this.btnAddToAccount.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnAddToAccount.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnAddToAccount.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnAddToAccount.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnAddToAccount.Location = new System.Drawing.Point(607, 12);
|
||||
this.btnAddToAccount.Name = "btnAddToAccount";
|
||||
this.btnAddToAccount.Size = new System.Drawing.Size(163, 23);
|
||||
this.btnAddToAccount.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnAddToAccount.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnAddToAccount.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnAddToAccount.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnAddToAccount.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnAddToAccount.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnAddToAccount.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnAddToAccount.Style.GradientAngle = 90;
|
||||
this.btnAddToAccount.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnAddToAccount.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnAddToAccount.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnAddToAccount.TabIndex = 453;
|
||||
this.btnAddToAccount.Text = "选中店铺添加到指定账号";
|
||||
this.btnAddToAccount.Visible = false;
|
||||
this.btnAddToAccount.Click += new System.EventHandler(this.btnAddToAccount_Click);
|
||||
//
|
||||
// btnSearch
|
||||
//
|
||||
this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSearch.Location = new System.Drawing.Point(441, 12);
|
||||
this.btnSearch.Name = "btnSearch";
|
||||
this.btnSearch.Size = new System.Drawing.Size(56, 23);
|
||||
this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnSearch.Style.GradientAngle = 90;
|
||||
this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSearch.TabIndex = 449;
|
||||
this.btnSearch.Text = "搜索";
|
||||
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
|
||||
//
|
||||
// txtUserName
|
||||
//
|
||||
@@ -308,9 +346,9 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pnlEmpty.Location = new System.Drawing.Point(502, 10);
|
||||
this.pnlEmpty.Location = new System.Drawing.Point(502, 12);
|
||||
this.pnlEmpty.Name = "pnlEmpty";
|
||||
this.pnlEmpty.Size = new System.Drawing.Size(56, 26);
|
||||
this.pnlEmpty.Size = new System.Drawing.Size(56, 23);
|
||||
this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
@@ -327,22 +365,6 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.pnlEmpty.Text = "清空条件";
|
||||
this.pnlEmpty.Click += new System.EventHandler(this.pnlEmpty_Click);
|
||||
//
|
||||
// btnSearch
|
||||
//
|
||||
this.btnSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSearch.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSearch.ForeColor = System.Drawing.Color.White;
|
||||
this.btnSearch.Location = new System.Drawing.Point(441, 10);
|
||||
this.btnSearch.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnSearch.Name = "btnSearch";
|
||||
this.btnSearch.Size = new System.Drawing.Size(56, 26);
|
||||
this.btnSearch.TabIndex = 372;
|
||||
this.btnSearch.Text = "搜索";
|
||||
this.btnSearch.UseVisualStyleBackColor = false;
|
||||
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
|
||||
//
|
||||
// txtNotes
|
||||
//
|
||||
this.txtNotes.Location = new System.Drawing.Point(208, 41);
|
||||
@@ -403,6 +425,8 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer2.Panel1.Controls.Add(this.btnSetSubSa);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.btnExportShopErp);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.pnlAddProdRemaining);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.dgvShop);
|
||||
@@ -413,15 +437,65 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.splitContainer2.Panel2.Controls.Add(this.chkAutoDrag);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.statusBar);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(1273, 522);
|
||||
this.splitContainer2.SplitterDistance = 493;
|
||||
this.splitContainer2.Size = new System.Drawing.Size(1271, 488);
|
||||
this.splitContainer2.SplitterDistance = 459;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// btnSetSubSa
|
||||
//
|
||||
this.btnSetSubSa.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnSetSubSa.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSetSubSa.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSetSubSa.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSetSubSa.Location = new System.Drawing.Point(192, 51);
|
||||
this.btnSetSubSa.Name = "btnSetSubSa";
|
||||
this.btnSetSubSa.Size = new System.Drawing.Size(93, 23);
|
||||
this.btnSetSubSa.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSetSubSa.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSetSubSa.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSetSubSa.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnSetSubSa.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnSetSubSa.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnSetSubSa.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnSetSubSa.Style.GradientAngle = 90;
|
||||
this.btnSetSubSa.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSetSubSa.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSetSubSa.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSetSubSa.TabIndex = 453;
|
||||
this.btnSetSubSa.Text = "分配二级超管";
|
||||
this.btnSetSubSa.Visible = false;
|
||||
this.btnSetSubSa.Click += new System.EventHandler(this.btnSetSubSa_Click);
|
||||
//
|
||||
// btnExportShopErp
|
||||
//
|
||||
this.btnExportShopErp.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnExportShopErp.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnExportShopErp.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnExportShopErp.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnExportShopErp.Location = new System.Drawing.Point(30, 51);
|
||||
this.btnExportShopErp.Name = "btnExportShopErp";
|
||||
this.btnExportShopErp.Size = new System.Drawing.Size(140, 23);
|
||||
this.btnExportShopErp.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnExportShopErp.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnExportShopErp.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnExportShopErp.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnExportShopErp.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnExportShopErp.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnExportShopErp.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnExportShopErp.Style.GradientAngle = 90;
|
||||
this.btnExportShopErp.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnExportShopErp.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnExportShopErp.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnExportShopErp.TabIndex = 435;
|
||||
this.btnExportShopErp.Text = "导出店铺到后台系统";
|
||||
this.btnExportShopErp.Visible = false;
|
||||
this.btnExportShopErp.Click += new System.EventHandler(this.btnExportShopErp_Click);
|
||||
//
|
||||
// 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(611, 221);
|
||||
this.pbLoading.Location = new System.Drawing.Point(610, 204);
|
||||
this.pbLoading.Name = "pbLoading";
|
||||
this.pbLoading.Size = new System.Drawing.Size(50, 50);
|
||||
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
@@ -435,7 +509,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.pnlAddProdRemaining.Controls.Add(this.lblShopId);
|
||||
this.pnlAddProdRemaining.Controls.Add(this.panel2);
|
||||
this.pnlAddProdRemaining.Controls.Add(this.lblAddProdRemaining);
|
||||
this.pnlAddProdRemaining.Location = new System.Drawing.Point(399, 51);
|
||||
this.pnlAddProdRemaining.Location = new System.Drawing.Point(398, 34);
|
||||
this.pnlAddProdRemaining.Name = "pnlAddProdRemaining";
|
||||
this.pnlAddProdRemaining.Size = new System.Drawing.Size(474, 146);
|
||||
this.pnlAddProdRemaining.TabIndex = 7;
|
||||
@@ -587,7 +661,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.dgvShop.ReadOnly = true;
|
||||
this.dgvShop.RowTemplate.Height = 23;
|
||||
this.dgvShop.ShowCellErrors = false;
|
||||
this.dgvShop.Size = new System.Drawing.Size(1265, 493);
|
||||
this.dgvShop.Size = new System.Drawing.Size(1263, 459);
|
||||
this.dgvShop.TabIndex = 5;
|
||||
this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick);
|
||||
this.dgvShop.CellMouseDown += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dgvShop_CellMouseDown);
|
||||
@@ -652,6 +726,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.colProductRemaining.HeaderText = "选品限额";
|
||||
this.colProductRemaining.Name = "colProductRemaining";
|
||||
this.colProductRemaining.ReadOnly = true;
|
||||
this.colProductRemaining.Visible = false;
|
||||
//
|
||||
// colPlus
|
||||
//
|
||||
@@ -661,6 +736,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.colPlus.HeaderText = "+";
|
||||
this.colPlus.Name = "colPlus";
|
||||
this.colPlus.ReadOnly = true;
|
||||
this.colPlus.Visible = false;
|
||||
//
|
||||
// colCookie
|
||||
//
|
||||
@@ -848,7 +924,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.chkAutoDrag.AutoSize = true;
|
||||
this.chkAutoDrag.BackColor = System.Drawing.Color.White;
|
||||
this.chkAutoDrag.Location = new System.Drawing.Point(597, 0);
|
||||
this.chkAutoDrag.Location = new System.Drawing.Point(595, 0);
|
||||
this.chkAutoDrag.Name = "chkAutoDrag";
|
||||
this.chkAutoDrag.Size = new System.Drawing.Size(159, 21);
|
||||
this.chkAutoDrag.TabIndex = 3;
|
||||
@@ -861,7 +937,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.ucSplitPage1.IsShowPageSize = true;
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(884, 0);
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(882, 0);
|
||||
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ucSplitPage1.Name = "ucSplitPage1";
|
||||
this.ucSplitPage1.PageSize = 50;
|
||||
@@ -877,19 +953,32 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1273, 25);
|
||||
this.statusBar.Size = new System.Drawing.Size(1271, 25);
|
||||
this.statusBar.TabIndex = 1;
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
this.panel3.BackColor = System.Drawing.Color.White;
|
||||
this.panel3.Controls.Add(this.splitContainer1);
|
||||
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel3.Location = new System.Drawing.Point(1, 33);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.Size = new System.Drawing.Size(1271, 576);
|
||||
this.panel3.TabIndex = 35;
|
||||
//
|
||||
// WXAdminShopListForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(1273, 610);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Controls.Add(this.panel3);
|
||||
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 = "WXAdminShopListForm";
|
||||
this.Text = "AdminShopForm";
|
||||
this.TitleText = "AdminShopForm";
|
||||
this.Load += new System.EventHandler(this.AdminShopForm_Load);
|
||||
this.VisibleChanged += new System.EventHandler(this.AdminShopForm_VisibleChanged);
|
||||
this.Controls.SetChildIndex(this.panel3, 0);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
@@ -910,6 +999,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.numAddRemaining)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit();
|
||||
this.panel3.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
@@ -919,10 +1009,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
|
||||
private System.Windows.Forms.Panel panel5;
|
||||
private UserControls.ButtonEx btnLoginSelect;
|
||||
private UserControls.ButtonEx btnCheck;
|
||||
private System.Windows.Forms.Panel panel4;
|
||||
private UserControls.ButtonEx btnSearch;
|
||||
private System.Windows.Forms.TextBox txtNotes;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.TextBox txtShopName;
|
||||
@@ -941,7 +1028,6 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
private System.Windows.Forms.TextBox txtUserName;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.CheckBox chkShowDelete;
|
||||
private UserControls.ButtonEx btnSetSubSa;
|
||||
private System.Windows.Forms.Panel pnlAddProdRemaining;
|
||||
private System.Windows.Forms.Label lblAddProdRemaining;
|
||||
private System.Windows.Forms.NumericUpDown numAddRemaining;
|
||||
@@ -949,6 +1035,11 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
private DevComponents.DotNetBar.PanelEx btnRemainOK;
|
||||
private DevComponents.DotNetBar.PanelEx pnlCancel;
|
||||
private System.Windows.Forms.Label lblShopId;
|
||||
private DevComponents.DotNetBar.PanelEx btnExportShopErp;
|
||||
private DevComponents.DotNetBar.PanelEx btnSearch;
|
||||
private DevComponents.DotNetBar.PanelEx btnSetSubSa;
|
||||
private DevComponents.DotNetBar.PanelEx pbtnLoginSelect;
|
||||
private DevComponents.DotNetBar.PanelEx pbtnCheck;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colLoginName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
|
||||
@@ -979,6 +1070,8 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colEdit;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDelete;
|
||||
private DevComponents.DotNetBar.PanelEx btnExportShopErp;
|
||||
private System.Windows.Forms.Panel panel3;
|
||||
public System.Windows.Forms.Label lblAddToAccount;
|
||||
public DevComponents.DotNetBar.PanelEx btnAddToAccount;
|
||||
}
|
||||
}
|
||||
@@ -24,9 +24,10 @@ using TemuKJD.WXForms.ShopForms;
|
||||
|
||||
namespace TemuKJD.WXForms.AdminForms
|
||||
{
|
||||
public partial class WXAdminShopListForm : BaseForm
|
||||
public partial class WXAdminShopListForm : BaseForms.BaseGeneralForm
|
||||
{
|
||||
static WXAdminShopListForm inst = null;
|
||||
public SubAccountInfo UserAccountInfo { get; set; } = null;
|
||||
public static WXAdminShopListForm Instance
|
||||
{
|
||||
get { if (inst == null) inst = new WXAdminShopListForm(); return inst; }
|
||||
@@ -61,6 +62,10 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
dgvShop.Columns["colSubSa"].Visible = false;
|
||||
btnSetSubSa.Visible = false;
|
||||
}
|
||||
if (UserAccountInfo != null)
|
||||
{
|
||||
this.lblAddToAccount.Text = "当前指定账号:" + UserAccountInfo.user_name + "(" + UserAccountInfo.nick_name + ")";
|
||||
}
|
||||
}
|
||||
|
||||
bool firstLoad = true;
|
||||
@@ -176,7 +181,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
private void btnLoginSelect_Click(object sender, EventArgs e)
|
||||
{
|
||||
IsOperate = true;
|
||||
if (this.btnLoginSelect.Text == "登录选中")
|
||||
if (this.pbtnLoginSelect.Text == "登录选中")
|
||||
{
|
||||
List<string> shopLoginNameList = GetCheckedList();
|
||||
if (!shopLoginNameList.Any())
|
||||
@@ -429,7 +434,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
|
||||
private void btnCheck_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.btnCheck.Text == "检测选中")
|
||||
if (this.pbtnCheck.Text == "检测选中")
|
||||
{
|
||||
List<string> shopLoginNameList = GetCheckedList();
|
||||
if (!shopLoginNameList.Any())
|
||||
@@ -656,5 +661,73 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
// //Thread.Sleep(500);
|
||||
//}
|
||||
}
|
||||
|
||||
private void btnAddToAccount_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (UserAccountInfo != null)
|
||||
{
|
||||
List<string> shopLoginNameList = GetCheckedList().Distinct().ToList();
|
||||
if (!shopLoginNameList.Any())
|
||||
{
|
||||
BaseMsgForm.ShowError("请选择需要添加的店铺");
|
||||
IsOperate = false;
|
||||
return;
|
||||
}
|
||||
|
||||
this.pbLoading.Visible = true;
|
||||
this.statusBar.lblTaskStatus.Text = "正在添加...";
|
||||
this.statusBar.pgbTaskProgress.Maximum = shopLoginNameList.Count;
|
||||
this.statusBar.UpdateProgressBar(0);
|
||||
|
||||
Task.Run(() =>
|
||||
{
|
||||
int successCount = 0;
|
||||
int failCount = 0;
|
||||
int totalCount = shopLoginNameList.Count;
|
||||
foreach (var shopLoginName in shopLoginNameList)
|
||||
{
|
||||
var shop = lstAdminShopInfo.FirstOrDefault(s => s.LoginName == shopLoginName);
|
||||
if (shop == null)
|
||||
continue;
|
||||
|
||||
var url = BaseClass.BuildObjString("shop/admin_add_shop");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&shop_user_name=" + UserAccountInfo.user_name +
|
||||
"&login_name=" + shop.LoginName +
|
||||
"&login_pass=" + shop.Password +
|
||||
"&cookie=" + shop.Cookies +
|
||||
"&cookie2=" + shop.Cookies2 +
|
||||
"&shop_id=" + shop.ShopId +
|
||||
"&shop_account=" + shop.ShopAccount;
|
||||
var html = "";
|
||||
for (int i = 0; i < 3 && !html.Contains("\"code\":200"); i++)
|
||||
{
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (html.Contains("已存在"))
|
||||
break;
|
||||
}
|
||||
|
||||
if (html.Contains("\"code\":200") || html.Contains("已存在"))
|
||||
successCount++;
|
||||
else
|
||||
failCount++;
|
||||
Thread.Sleep(100);
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.UpdateProgressBar(statusBar.pgbTaskProgress.Value + 1);
|
||||
this.statusBar.UpdateProgressBarStatus("正在添加... 总计:" + totalCount + " 成功:" + successCount + " 失败:" + failCount);
|
||||
}));
|
||||
}
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = false;
|
||||
BaseMsgForm.ShowInfo("添加完成!");
|
||||
this.statusBar.FinishProgressBar("添加完成 总计:" + totalCount + " 成功:" + successCount + " 失败:" + failCount);
|
||||
}));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -207,4 +207,182 @@
|
||||
<metadata name="colDelete.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>
|
||||
@@ -490,14 +490,14 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
for ( i= 0; i < productLst.length; i++) {
|
||||
var addBtnItem = productLst[i]; //.parentElement.parentElement.parentElement;
|
||||
var pos = addBtnItem.innerHTML.indexOf('ID:')
|
||||
if (addBtnItem.innerHTML.indexOf('回采') < 0 && pos >= 0) {
|
||||
if (addBtnItem.innerHTML.indexOf('采集') < 0 && pos >= 0) {
|
||||
var sSpuId = addBtnItem.innerHTML.substring(pos + 3);
|
||||
sSpuId = sSpuId.substring(0, sSpuId.indexOf('<span')).trim();
|
||||
//addBtnItem.innerHTML += ""<input type=\""button\"" style=\""display:inline; width:60px; margin-left:10px; margin-top:0px; cursor:pointer; border:1px solid\"" value =\""回采商品\"" onclick=\""shopObj.getProduct('"" + sSpuId + ""','" + this.shop.ShopId + @"')\"">""
|
||||
//addBtnItem.innerHTML += ""<input type=\""button\"" style=\""display:inline; width:60px; margin-left:10px; margin-top:0px; cursor:pointer; border:1px solid\"" value =\""回采商品\"" onclick=\""alert('"" + sSpuId + ""')\"">""
|
||||
//addBtnItem.innerHTML = addBtnItem.innerHTML.replace(""分享 </a></div>"", ""分享 </a></div><input type=\""button\"" style=\""display:inline; width:60px; margin-left:10px; margin-top:0px; cursor:pointer; border:1px solid\"" value =\""回采商品\"" onclick=\""shopObj.getProduct('"" + sSpuId + ""','" + this.shop.ShopId + @"')\"">"");
|
||||
var newDiv = document.createElement(""div"");
|
||||
newDiv.innerHTML = ""<a style=\""display:inline; padding:2px 5px; cursor:pointer; border:1px solid\"" onclick=\""shopObj.getProduct('"" + sSpuId + ""','" + this.shop.ShopId + @"')\"">回采<\a>"";
|
||||
newDiv.innerHTML = ""<a style=\""display:inline; padding:2px 5px; cursor:pointer; border:1px solid\"" onclick=\""shopObj.getProduct('"" + sSpuId + ""','" + this.shop.ShopId + @"', true)\"">回采<\a><a style=\""display:inline; margin-left:2px; padding:2px 5px; cursor:pointer; border:1px solid\"" onclick=\""shopObj.getProduct('"" + sSpuId + ""','" + this.shop.ShopId + @"', false)\"">采集<\a>"";
|
||||
addBtnItem.lastChild.appendChild(newDiv);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -676,7 +676,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
string notes = textBox1.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
|
||||
{
|
||||
@@ -684,7 +684,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
row.Cells["colSelect"].Value = false;
|
||||
continue;
|
||||
}
|
||||
if (!row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||||
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||||
{
|
||||
row.Visible = false;
|
||||
row.Cells["colSelect"].Value = false;
|
||||
@@ -715,14 +715,14 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
string notes = textBox1.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
if (row.Visible == true)
|
||||
{
|
||||
if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) &&
|
||||
(row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
(string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
{
|
||||
row.Cells["colSelect"].Value = true;
|
||||
}
|
||||
@@ -735,14 +735,14 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
string notes = textBox1.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
if (row.Visible == true)
|
||||
{
|
||||
if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) &&
|
||||
(row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
(string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
{
|
||||
row.Cells["colSelect"].Value = false;
|
||||
}
|
||||
|
||||
@@ -1127,6 +1127,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.cmbSourceType.Items.AddRange(new object[] {
|
||||
"",
|
||||
"厂商直采",
|
||||
"微信店采",
|
||||
"店铺采集",
|
||||
"机会商品",
|
||||
"以图搜品",
|
||||
|
||||
@@ -54,6 +54,8 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
"顶级", "之王", "二手", "亏本", "冲量", "白菜价", "跳楼价", "xxx", "xx", "最大", "最小", "低价", "降价", "成本", "赔钱", "甩卖",
|
||||
"真丝", "蚕丝", "香云纱", "羊绒", "羊毛", "羊羔绒", "羊羔毛", "羽绒", "皮草"
|
||||
};
|
||||
string DefaultAdultBrandId = "";
|
||||
|
||||
public WXDBProdUploadForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -484,7 +486,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
if (cmbSourceType.Text != "厂商直采")
|
||||
if (cmbSourceType.Text.Trim() != "厂商直采" && cmbSourceType.Text.Trim() != "微信店采")
|
||||
{
|
||||
fillPddCate();
|
||||
}
|
||||
@@ -1323,8 +1325,21 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}
|
||||
#endregion
|
||||
|
||||
WXGetEditProductInfoLite wxEditProdInfo = null;
|
||||
if (dbProd.product_get_type_text == "微信店采")
|
||||
{
|
||||
try
|
||||
{
|
||||
wxEditProdInfo = JsonHelper.DeserializeJsonToObject<WXGetEditProductInfoLite>(dbProd.product_json);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"微信商品格式获取失败" + ex.Message + "\"}";
|
||||
}
|
||||
}
|
||||
|
||||
#region 将聚水潭产品数据格式进行转换成pdd格式统一上传,匹配加密的spuCode和skuCoke 微信小店的货号spuCode和外部商品编号outProductId/out_product_id对应加密的聚水潭goodsId
|
||||
if (dbProd.sku_secret_json != null && dbProd.sku_secret_json.Contains("goodsId"))
|
||||
if (dbProd.product_get_type_text == "厂商直采" && dbProd.sku_secret_json != null && dbProd.sku_secret_json.Contains("goodsId"))
|
||||
{
|
||||
string convertRst = "";
|
||||
var ob = new PDDProdFormConverter().JstPddProdToPddConvert(out convertRst, dbProd);
|
||||
@@ -1333,6 +1348,16 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 微信格式转换
|
||||
if (dbProd.product_get_type_text == "微信店采")
|
||||
{
|
||||
string convertRst = "";
|
||||
var ob = new PDDProdFormConverter().WXProdToPddConvert(out convertRst, dbProd);
|
||||
if (!string.IsNullOrEmpty(convertRst))
|
||||
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品查询错误 " + convertRst + "\"}";
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 将产品数据初始化成微信小店支持的参数
|
||||
JObject prodJObj = new JObject();
|
||||
try
|
||||
@@ -1511,7 +1536,6 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}
|
||||
#endregion
|
||||
|
||||
WXGetEditProductInfoLite wxEditProdInfo = null;
|
||||
if (BaseClass.UserAuthority.ParseToString().Contains("微信回采") && chkUseWXComplateProd.Checked && dbProd.has_wx_format == "1")
|
||||
{
|
||||
string errMsg = "";
|
||||
@@ -1704,6 +1728,13 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
{
|
||||
try
|
||||
{
|
||||
if (dbProd.product_get_type_text == "微信店采")
|
||||
{
|
||||
upProdInitParam.product.info.headImg.Add(gallery_item.url);
|
||||
upProdParam.product.info.headImg.Add(gallery_item.url);
|
||||
continue;
|
||||
}
|
||||
|
||||
// 获取缓存盗链 主图
|
||||
if (wxImgMapDic.ContainsKey(BaseClass.GetMd5(gallery_item.url)))
|
||||
{
|
||||
@@ -1920,9 +1951,10 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}));
|
||||
}
|
||||
List<long> aiCateIdLst = new List<long>();
|
||||
// 聚水潭商品已识别类目使用类目缓存
|
||||
// 微信商品使用类目缓存
|
||||
if (!dbProd.wx_cat_leaf.IsNullOrZero())
|
||||
{
|
||||
// 聚水潭商品已识别类目使用类目缓存
|
||||
if (!dbProd.wx_cat_1.IsNullOrZero())
|
||||
aiCateIdLst.Add(dbProd.wx_cat_1.ParseToLong());
|
||||
if (!dbProd.wx_cat_2.IsNullOrZero())
|
||||
@@ -2195,7 +2227,8 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
var afterSaleAddress = "";
|
||||
var afterSaleDetail = "";
|
||||
if (dbProd.wx_cat_leaf != null)
|
||||
// 厂商直采获取售后地址用于处理售后单
|
||||
if (dbProd.product_get_type_text == "厂商直采" && dbProd.wx_cat_leaf != null)
|
||||
{
|
||||
|
||||
var urlAfterSale = BaseClass.BuildObjString("product/wx_get_after_sale");
|
||||
@@ -2301,8 +2334,8 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
upProdParam.product.info.afterSaleInfo.afterSaleAddressId = BaseRegex.GetStringJson(ref addressRst, "addressId");
|
||||
#endregion
|
||||
|
||||
// 厂商直采获取推单运费模板
|
||||
#region 获取推单运费模板,计算运费加价。
|
||||
|
||||
if (cell != null)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
@@ -2314,7 +2347,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
var shippingTemplateJson = "";
|
||||
var shipPrice = 0;
|
||||
|
||||
if (dbProd.wx_cat_leaf != null)
|
||||
if (dbProd.product_get_type_text == "厂商直采" && dbProd.wx_cat_leaf != null)
|
||||
{
|
||||
var urlShipping = BaseClass.BuildObjString("product/wx_get_shipping_template");
|
||||
var dataShipping = Work.UserLogin.GetSignaturex() +
|
||||
@@ -2437,6 +2470,12 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
{
|
||||
try
|
||||
{
|
||||
if (dbProd.product_get_type_text == "微信店采")
|
||||
{
|
||||
upProdParam.product.info.detail.detailImg.Add(gallery_item.url);
|
||||
continue;
|
||||
}
|
||||
|
||||
// 获取缓存盗链 详情图
|
||||
if (wxImgMapDic.ContainsKey(BaseClass.GetMd5(gallery_item.url)))
|
||||
{
|
||||
@@ -2584,26 +2623,37 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
upProdParam.product.info.param = new List<wxPropParam>(); // 商品属性值
|
||||
var productAttr = upProdParam.product.info.category.LastOrDefault().catInfo.productAttr;
|
||||
|
||||
// 直接转换微信回采
|
||||
if (BaseClass.UserAuthority.ParseToString().Contains("微信回采") && chkUseWXComplateProd.Checked && dbProd.has_wx_format == "1" && wxEditProdInfo != null)
|
||||
{
|
||||
foreach(var wxEditPropParam in wxEditProdInfo.product.info.param)
|
||||
{
|
||||
var wxPropParam = new wxPropParam();
|
||||
upProdParam.product.info.param.Add(wxPropParam);
|
||||
//var wxCategoryParam1 = new categoryPropParam()
|
||||
//{
|
||||
// catType = 7,
|
||||
// name = attr.name,
|
||||
// catInfo = new catInfoParam() { inputType = attr.normalRelease.ruleType, isRequired = attr.isRequired == true ? 1 : 0, isCustomize = 0 }
|
||||
//};
|
||||
//var wxCategoryParam2 = new categoryPropParam()
|
||||
//{
|
||||
// catType = 7,
|
||||
// name = attrValue,
|
||||
// catInfo = new catInfoParam() { inputType = attr.normalRelease.ruleType, isRequired = attr.isRequired == true ? 1 : 0, isCustomize = 0 }
|
||||
//};
|
||||
//wxPropParam.categorys.Add(wxCategoryParam1);
|
||||
//wxPropParam.categorys.Add(wxCategoryParam2);
|
||||
foreach (var wxEditCategoryParam in wxEditPropParam.categorys)
|
||||
{
|
||||
var wxCategoryParam = new categoryPropParam()
|
||||
{
|
||||
catType = wxEditCategoryParam.catType,
|
||||
name = wxEditCategoryParam.name,
|
||||
catInfo = new catInfoParam()
|
||||
{
|
||||
inputType = wxEditCategoryParam.catInfo.inputType,
|
||||
isRequired = wxEditCategoryParam.catInfo.isRequired,
|
||||
isCustomize = wxEditCategoryParam.catInfo.isCustomize,
|
||||
}
|
||||
};
|
||||
wxPropParam.categorys.Add(wxCategoryParam);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 直接转换微信店采
|
||||
else if (dbProd.product_get_type_text == "微信店采")
|
||||
{
|
||||
foreach (var wxEditPropParam in wxEditProdInfo.product.info.param)
|
||||
{
|
||||
var wxPropParam = new wxPropParam();
|
||||
upProdParam.product.info.param.Add(wxPropParam);
|
||||
foreach (var wxEditCategoryParam in wxEditPropParam.categorys)
|
||||
{
|
||||
var wxCategoryParam = new categoryPropParam()
|
||||
@@ -3011,6 +3061,12 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
var spec = sku.spec[0];
|
||||
if (!attrParam.items.Any(it => it.value == spec.spec_name) && !string.IsNullOrEmpty(sku.thumb_url))
|
||||
{
|
||||
if (dbProd.product_get_type_text == "微信店采")
|
||||
{
|
||||
attrParam.items.Add(new productSaleAttrItemParam() { value = spec.spec_name, imgUrl = sku.thumb_url, });
|
||||
continue;
|
||||
}
|
||||
|
||||
// 获取缓存盗链 sku图
|
||||
if (wxImgMapDic.ContainsKey(BaseClass.GetMd5(sku.thumb_url)))
|
||||
{
|
||||
@@ -3295,6 +3351,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
#endregion
|
||||
|
||||
// 资质信息
|
||||
// 微信回采直接复制
|
||||
if (BaseClass.UserAuthority.ParseToString().Contains("微信回采") && chkUseWXComplateProd.Checked && dbProd.has_wx_format == "1" && wxEditProdInfo != null)
|
||||
{
|
||||
upProdParam.product.info.qualificationList.Clear();
|
||||
@@ -3312,7 +3369,34 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
if (upProdParam.product.info.category.FirstOrDefault()?.name == "成人用品" && upProdParam.product.info.category[1].name != "情趣内衣")
|
||||
{
|
||||
upProdParam.product.info.brandId = wxEditProdInfo.product.info.brandId.ParseToLong();
|
||||
if (wxEditProdInfo.product.info.brandId.ParseToLong() > 0)
|
||||
DefaultAdultBrandId = wxEditProdInfo.product.info.brandId;
|
||||
if (wxEditProdInfo.product.info.brandId.ParseToLong() > 0)
|
||||
upProdParam.product.info.brandId = wxEditProdInfo.product.info.brandId.ParseToLong();
|
||||
}
|
||||
}
|
||||
// 微信店采直接复制
|
||||
else if (dbProd.product_get_type_text == "微信店采")
|
||||
{
|
||||
upProdParam.product.info.qualificationList.Clear();
|
||||
if (wxEditProdInfo.product?.info?.qualificationList?.Count > 0)
|
||||
{
|
||||
foreach (var editQualification in wxEditProdInfo.product.info.qualificationList)
|
||||
{
|
||||
upProdParam.product.info.qualificationList.Add(new qualificationParam()
|
||||
{
|
||||
qualificationId = editQualification.qualificationId,
|
||||
qualificationUrl = editQualification.qualificationUrl,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (upProdParam.product.info.category.FirstOrDefault()?.name == "成人用品" && upProdParam.product.info.category[1].name != "情趣内衣")
|
||||
{
|
||||
if (wxEditProdInfo.product.info.brandId.ParseToLong() > 0)
|
||||
DefaultAdultBrandId = wxEditProdInfo.product.info.brandId;
|
||||
if (wxEditProdInfo.product.info.brandId.ParseToLong() > 0)
|
||||
upProdParam.product.info.brandId = wxEditProdInfo.product.info.brandId.ParseToLong();
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -3574,6 +3658,14 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
#endregion
|
||||
}
|
||||
|
||||
// 直接使用微信回采情趣商品品牌
|
||||
if (BaseClass.UserAuthority.ParseToString().Contains("微信回采") && chkUseWXComplateProd.Checked &&
|
||||
upProdParam.product.info.category.FirstOrDefault()?.name == "成人用品" && upProdParam.product.info.category[1].name != "情趣内衣")
|
||||
{
|
||||
if (DefaultAdultBrandId.ParseToLong() > 0)
|
||||
upProdParam.product.info.brandId = DefaultAdultBrandId.ParseToLong();
|
||||
}
|
||||
// 情趣内衣类禁止设置运费险
|
||||
if (upProdParam.product.info.category[1].name == "情趣内衣")
|
||||
{
|
||||
upProdParam.product.info.extraService.freightInsurance = 0;
|
||||
@@ -4079,7 +4171,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
data += "&in_ext_codes=" + txtExtCodeFilter.Text;
|
||||
data += "&in_spu_ids=" + txtIdFilter.Text;
|
||||
data += "&in_groups=" + cmbGroupFilter.Text;
|
||||
if (cmbSourceType.Text != "厂商直采")
|
||||
if (cmbSourceType.Text != "厂商直采" && cmbSourceType.Text != "微信店采")
|
||||
data += "&in_cates=" + cmbCateFilter1.Text;
|
||||
else
|
||||
{
|
||||
@@ -4444,7 +4536,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
private void cmbSourceType_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (cmbSourceType.Text != "厂商直采")
|
||||
if (cmbSourceType.Text != "厂商直采" && cmbSourceType.Text != "微信店采")
|
||||
fillPddCate();
|
||||
else
|
||||
fillWxCate();
|
||||
@@ -4457,7 +4549,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
private void cmbCateFilter1_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (cmbSourceType.Text != "厂商直采")
|
||||
if (cmbSourceType.Text != "厂商直采" && cmbSourceType.Text != "微信店采")
|
||||
return;
|
||||
|
||||
cmbCateFilter2.Text = "";
|
||||
@@ -4473,7 +4565,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
private void cmbCateFilter2_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (cmbSourceType.Text != "厂商直采")
|
||||
if (cmbSourceType.Text != "厂商直采" && cmbSourceType.Text != "微信店采")
|
||||
return;
|
||||
|
||||
cmbCateFilter3.Text = "";
|
||||
@@ -4515,7 +4607,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
|
||||
{
|
||||
@@ -4523,7 +4615,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
row.Cells["colSelect"].Value = false;
|
||||
continue;
|
||||
}
|
||||
if (!row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||||
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||||
{
|
||||
row.Visible = false;
|
||||
row.Cells["colSelect"].Value = false;
|
||||
@@ -4554,14 +4646,14 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
if (row.Visible == true)
|
||||
{
|
||||
if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) &&
|
||||
(row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
(string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
{
|
||||
row.Cells["colSelect"].Value = true;
|
||||
}
|
||||
@@ -4574,14 +4666,14 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
if (row.Visible == true)
|
||||
{
|
||||
if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) &&
|
||||
(row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
(string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
{
|
||||
row.Cells["colSelect"].Value = false;
|
||||
}
|
||||
@@ -4825,6 +4917,15 @@ Content-Type: image/jpeg
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string getAddressById(ShopLoginInfo shop, string AddressId)
|
||||
{
|
||||
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeexpress/cgi/getAddress?offset=0&limit=20&includeBlock=1&addressId=" + AddressId +
|
||||
"&token=&lang=zh_CN";
|
||||
string referer = "https://store.weixin.qq.com/shop/address/expressAddressMgmt";
|
||||
var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, referer);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string uploadProductDraft(ShopLoginInfo shop, WXUploadProductParam prodParam)
|
||||
{
|
||||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductupload/common/cgi/goods/uploadProductDraft?token=&lang=zh_CN";
|
||||
|
||||
@@ -956,7 +956,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
|
||||
{
|
||||
@@ -964,7 +964,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
row.Cells["colSelect"].Value = false;
|
||||
continue;
|
||||
}
|
||||
if (!row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||||
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||||
{
|
||||
row.Visible = false;
|
||||
row.Cells["colSelect"].Value = false;
|
||||
@@ -995,14 +995,14 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
if (row.Visible == true)
|
||||
{
|
||||
if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) &&
|
||||
(row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
(string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
{
|
||||
row.Cells["colSelect"].Value = true;
|
||||
}
|
||||
@@ -1015,14 +1015,14 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
if (row.Visible == true)
|
||||
{
|
||||
if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) &&
|
||||
(row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
(string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
{
|
||||
row.Cells["colSelect"].Value = false;
|
||||
}
|
||||
|
||||
@@ -954,7 +954,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
|
||||
{
|
||||
@@ -962,7 +962,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
row.Cells["colSelect"].Value = false;
|
||||
continue;
|
||||
}
|
||||
if (!row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||||
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||||
{
|
||||
row.Visible = false;
|
||||
row.Cells["colSelect"].Value = false;
|
||||
@@ -993,14 +993,14 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
if (row.Visible == true)
|
||||
{
|
||||
if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) &&
|
||||
(row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
(string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
{
|
||||
row.Cells["colSelect"].Value = true;
|
||||
}
|
||||
@@ -1013,14 +1013,14 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
if (row.Visible == true)
|
||||
{
|
||||
if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) &&
|
||||
(row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
(string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
{
|
||||
row.Cells["colSelect"].Value = false;
|
||||
}
|
||||
|
||||
@@ -696,7 +696,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
|
||||
{
|
||||
@@ -704,7 +704,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
row.Cells["colSelect"].Value = false;
|
||||
continue;
|
||||
}
|
||||
if (!row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||||
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
|
||||
{
|
||||
row.Visible = false;
|
||||
row.Cells["colSelect"].Value = false;
|
||||
@@ -735,14 +735,14 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
if (row.Visible == true)
|
||||
{
|
||||
if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) &&
|
||||
(row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
(string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
{
|
||||
row.Cells["colSelect"].Value = true;
|
||||
}
|
||||
@@ -755,14 +755,14 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
if (row.Visible == true)
|
||||
{
|
||||
if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) &&
|
||||
(row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
(string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
|
||||
{
|
||||
row.Cells["colSelect"].Value = false;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
public delegate void InfoReceivedHandler(string information);
|
||||
public event InfoReceivedHandler OnInfoReceived;
|
||||
|
||||
public string getProduct(string sProdId, string supplierId, bool notSaveDb = false)
|
||||
public string getProduct(string sProdId, string supplierId, bool isReGet = true, bool notSaveDb = false)
|
||||
{
|
||||
var prodId = sProdId.ParseToLong();
|
||||
if (prodId <= 0)
|
||||
@@ -54,10 +54,10 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
|
||||
Task.Run(() =>
|
||||
{
|
||||
var msg = getPDDProductWidthEdit(shop, sProdId);
|
||||
var msg = reGetProductWidthWXFormat(shop, sProdId, isReGet);
|
||||
if (!string.IsNullOrEmpty(msg))
|
||||
{
|
||||
if (!msg.StartsWith("success") && !msg.StartsWith("商品回采保存成功"))
|
||||
if (!msg.StartsWith("success") && !msg.StartsWith("商品回采保存成功") && !msg.Contains("微信商品采集入库成功"))
|
||||
{
|
||||
MainForm.instance.Invoke(new Action(() =>
|
||||
{
|
||||
@@ -77,8 +77,9 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
return "success";
|
||||
}
|
||||
|
||||
public string getPDDProductWidthEdit(ShopLoginInfo shop, string prodId)
|
||||
public string reGetProductWidthWXFormat(ShopLoginInfo shop, string prodId, bool isReGet = true)
|
||||
{
|
||||
string getString = isReGet ? "商品回采" : "商品采集";
|
||||
try
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(10, 50));
|
||||
@@ -99,28 +100,55 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
if (shop.LoginStatus != "登录成功")
|
||||
errmsg = "店铺掉线";
|
||||
|
||||
return "商品回采失败!" + errmsg;
|
||||
return getString + "失败!" + errmsg;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//OnInfoReceived("商品获取失败!商品数据格式获取失败!" + ex.Message);
|
||||
return "商品回采失败!商品数据格式获取失败!" + ex.Message;
|
||||
return getString + "失败!商品数据格式获取失败!" + ex.Message;
|
||||
}
|
||||
|
||||
WXGetEditProductInfoLite wxProdInfoLite = null;
|
||||
try
|
||||
{
|
||||
wxProdInfoLite = JsonHelper.DeserializeJsonToObject<WXGetEditProductInfoLite>(getEditProdRst);
|
||||
var addressRst = WXUpload.getAddressById(shop, wxProdInfoLite.product.info.afterSaleInfo.afterSaleAddressId);
|
||||
if (addressRst.Contains("biz magic invalid"))
|
||||
{
|
||||
WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
}
|
||||
if (!addressRst.Contains("\"success\":true"))
|
||||
{
|
||||
var errmsg = BaseRegex.GetStringJson(ref addressRst, "msg");
|
||||
if (string.IsNullOrWhiteSpace(errmsg))
|
||||
errmsg = addressRst;
|
||||
if (shop.LoginStatus != "登录成功")
|
||||
errmsg = "店铺掉线";
|
||||
|
||||
return getString + "失败!" + errmsg;
|
||||
}
|
||||
var addressStr = JsonHelper.JObjectParse(addressRst)["addressList"].FirstOrDefault().ParseToString();
|
||||
wxProdInfoLite.address = JsonHelper.DeserializeJsonToObject<WXAfterSaleAddressInfo>(addressStr);
|
||||
if (isReGet && wxProdInfoLite.address == null)
|
||||
return getString + "失败!商品详情获取失败";
|
||||
// 查看下json结构
|
||||
var wxProdInfoLiteStr = JsonHelper.SerializeObject(wxProdInfoLite);
|
||||
if (string.IsNullOrWhiteSpace(wxProdInfoLite.product.info.spuCode))
|
||||
{
|
||||
return "商品回采失败:外部编码采集失败,跳过";
|
||||
if (isReGet)
|
||||
{
|
||||
return getString + "失败:外部编码采集失败,跳过";
|
||||
}
|
||||
else
|
||||
{
|
||||
return SaveWxProd(shop, prodId, wxProdInfoLite);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "商品回采失败:格式转换失败 " + ex.Message;
|
||||
return getString + "失败:格式转换失败 " + ex.Message;
|
||||
}
|
||||
|
||||
|
||||
@@ -138,15 +166,14 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
var errMsg = BaseRegex.GetStringJson(ref result, "msg");
|
||||
if (string.IsNullOrEmpty(errMsg))
|
||||
errMsg = result;
|
||||
return "查询回采商品错误:" + errMsg;
|
||||
return getString + "查询商品错误:" + errMsg;
|
||||
}
|
||||
List<KJDDBProduct> complateDbProdExistLst = JsonHelper.DeserializeJsonToList<KJDDBProduct>(JsonHelper.JObjectParse(result)["data"].ParseToString());
|
||||
if (complateDbProdExistLst.Count == 0)
|
||||
{
|
||||
return "回采商品不存在";
|
||||
return getString + "商品不存在";
|
||||
}
|
||||
|
||||
|
||||
url = BaseClass.BuildPDDObjString("product/add_prod_wx_complate");
|
||||
Thread.Sleep(200);
|
||||
data = UserLogin.GetSignaturex();
|
||||
@@ -163,18 +190,109 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
var errMsg = BaseRegex.GetStringJson(ref result, "msg");
|
||||
if (string.IsNullOrEmpty(errMsg))
|
||||
errMsg = result;
|
||||
return "查询回采商品错误:" + errMsg;
|
||||
return getString + "查询商品错误:" + errMsg;
|
||||
}
|
||||
else
|
||||
{
|
||||
return "商品回采保存成功!";
|
||||
return getString + "保存成功!";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "商品采集失败!" + ex.Message;
|
||||
return getString + "失败!" + ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
string SaveWxProd(ShopLoginInfo shop, string prodId, WXGetEditProductInfoLite wxEditProdInfoLite)
|
||||
{
|
||||
bool isExist = false;
|
||||
var existUrl = BaseClass.BuildPDDObjString("product/get_product_spu_id_list");
|
||||
string existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prodId;
|
||||
//if (!string.IsNullOrEmpty(prod.dbProduct.real_spu_id))
|
||||
// existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prod.spuId + "," + prod.dbProduct.real_spu_id;
|
||||
string html = GetHtml.PostUtf8(existUrl, existData);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(existUrl, existData);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
return "采集入库失败,产品数据库连接失败";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (html.Contains("\"data\":[") && !html.Contains("\"data\":[]"))
|
||||
isExist = true;
|
||||
}
|
||||
|
||||
var url = BaseClass.BuildPDDObjString("product/add_product");
|
||||
if (isExist)
|
||||
url = BaseClass.BuildPDDObjString("product/mdy_product");
|
||||
|
||||
var skus = wxEditProdInfoLite.product.productSkus;
|
||||
var data = Work.UserLogin.GetSignaturex() +
|
||||
"&from_shop_id=" + shop.ShopId +
|
||||
"&from_shop_name=" + shop.ShopAccount +
|
||||
"&spu_id=" + prodId +
|
||||
"&skc_id=" + prodId +
|
||||
"&price_text=" + skus.Min(s => s.productSkuInfo.salePrice * 0.01m) + " - " + skus.Max(s => s.productSkuInfo.salePrice * 0.01m) +
|
||||
"&ext_code=" + "" +
|
||||
"&product_name=" + HttpUtility.UrlEncode(wxEditProdInfoLite.product.info.title, Encoding.UTF8) +
|
||||
"&product_json=" + HttpUtility.UrlEncode(JsonHelper.SerializeObject(wxEditProdInfoLite), Encoding.UTF8) +
|
||||
"&size_json=" + HttpUtility.UrlEncode("{}", Encoding.UTF8) +
|
||||
"&sale_count=" +
|
||||
"&sale_count_text=" +
|
||||
"&main_img=" + HttpUtility.UrlEncode(wxEditProdInfoLite.product.info.headImg.FirstOrDefault(), Encoding.UTF8) +
|
||||
"&wx_safe_status=" + HttpUtility.UrlEncode("安全商品", Encoding.UTF8) +
|
||||
"&product_get_type=" + HttpUtility.UrlEncode("微信店采", Encoding.UTF8);
|
||||
|
||||
if (wxEditProdInfoLite.product.info.category.Count > 0)
|
||||
{
|
||||
data += "&wx_cat_1=" + wxEditProdInfoLite.product.info.category[0].catId;
|
||||
data += "&main_cat_id=" + wxEditProdInfoLite.product.info.category[0].catId;
|
||||
data += "&main_cat_name=" + wxEditProdInfoLite.product.info.category[0].name;
|
||||
|
||||
data += "&wx_cat_leaf=" + wxEditProdInfoLite.product.info.category.LastOrDefault()?.catId;
|
||||
data += "&cat_id=" + wxEditProdInfoLite.product.info.category.LastOrDefault()?.catId;
|
||||
data += "&cat_name=" + HttpUtility.UrlEncode((wxEditProdInfoLite.product.info.category.LastOrDefault()?.name).ParseToString(), Encoding.UTF8);
|
||||
}
|
||||
if (wxEditProdInfoLite.product.info.category.FirstOrDefault().name == "图书")
|
||||
{
|
||||
data += "&special_prod_type=" + HttpUtility.UrlEncode("书籍", Encoding.UTF8);
|
||||
}
|
||||
|
||||
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"))
|
||||
{
|
||||
string msg = "商品入库失败!请检查网络连接:" + BaseRegex.GetStringJson(ref html, "msg");
|
||||
//Invoke(new Action(() =>
|
||||
//{
|
||||
// row.Cells["colMsg"].Value = msg;
|
||||
//}));
|
||||
return msg;
|
||||
}
|
||||
else
|
||||
{
|
||||
//prod.getProductMsg = "商品入库成功!";
|
||||
//Invoke(new Action(() =>
|
||||
//{
|
||||
// row.Cells["colMsg"].Value = prod.getProductMsg;
|
||||
//}));
|
||||
if (!isExist)
|
||||
{
|
||||
url = BaseClass.BuildPDDObjString("product/mdy_product");
|
||||
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"))
|
||||
{
|
||||
string msg = "商品入库失败!请检查网络连接:" + BaseRegex.GetStringJson(ref html, "msg");
|
||||
return msg;
|
||||
}
|
||||
}
|
||||
|
||||
return "微信商品采集入库成功!";
|
||||
}
|
||||
return "商品采集失败!";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -276,7 +276,8 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
else
|
||||
{
|
||||
ShopBLL.MdyPDDServerShopSubInfo(shopInfo);
|
||||
btnRefreshCookie_Click(null, null);
|
||||
RefreshDataGridView(false);
|
||||
//btnRefreshCookie_Click(null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -417,19 +418,19 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
if (!string.IsNullOrWhiteSpace(cmbNotes.Text) && cmbNotes.Text.Trim() != "全部")
|
||||
{
|
||||
var notes = cmbNotes.Text.ToLower();
|
||||
var notesLst = cmbNotes.Text.ToLower().Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries);
|
||||
var notesLst = cmbNotes.Text.ToLower().Split(new string[] { ";", ";", ",", " " }, StringSplitOptions.RemoveEmptyEntries);
|
||||
shopList = shopList.Where(s => s.Notes.ParseToString().ToLower().Contains(notes) || notesLst.Contains(s.Notes.ParseToString().ToLower())).ToList();
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(cmbGroup.Text) && cmbGroup.Text.Trim() != "全部")
|
||||
{
|
||||
var group = cmbGroup.Text.ToLower();
|
||||
var groupLst = cmbGroup.Text.ToLower().Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries);
|
||||
var groupLst = cmbGroup.Text.ToLower().Split(new string[] { ";", ";", ",", " " }, StringSplitOptions.RemoveEmptyEntries);
|
||||
shopList = shopList.Where(s => s.GroupName.ParseToString().ToLower().Contains(group) || groupLst.Contains(s.GroupName.ParseToString().ToLower())).ToList();
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(cmbSubAccount.Text) && cmbSubAccount.Text.Trim() != "全部")
|
||||
{
|
||||
var subAccount = cmbSubAccount.Text.ToLower();
|
||||
var subAccountLst = cmbSubAccount.Text.ToLower().Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries);
|
||||
var subAccountLst = cmbSubAccount.Text.ToLower().Split(new string[] { ";", ";", ",", " " }, StringSplitOptions.RemoveEmptyEntries);
|
||||
shopList = shopList.Where(s => s.SubUserName.ParseToString().ToLower().Contains(subAccount) || subAccountLst.Any(sa => s.SubUserName.ParseToString().ToLower().Contains(sa))).ToList();
|
||||
}
|
||||
if (!string.IsNullOrEmpty(txtShopId.Text))
|
||||
@@ -551,6 +552,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
dgvr.Cells["colShopAccount"].Value = param.ShopAccount;
|
||||
dgvr.Cells["colNotes"].Value = param.Notes;
|
||||
dgvr.Cells["colCookie"].Value = param.Cookies;
|
||||
dgvr.Cells["colSubUser"].Value = param.SubUserName;
|
||||
dgvr.Cells["colGroupName"].Value = param.GroupName;
|
||||
dgvr.Cells["colUploadAccount"].Value = param.UploadAccount;
|
||||
dgvr.Cells["colBuyAccount"].Value = param.BuyAccount;
|
||||
|
||||
@@ -333,10 +333,17 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
//if (this.openType != EnumOpenType.login)
|
||||
{
|
||||
//var t = CEFBrowser.SetCookieAsync(JsonHelper.SerializeObject(cookieLst), cefWebBrowser.GetCookieManager(null));
|
||||
string address = "";
|
||||
if (!string.IsNullOrEmpty(InitUrl))
|
||||
address = InitUrl;
|
||||
else
|
||||
address = shopMainUrl;
|
||||
foreach (var cook in cookieLst)
|
||||
{
|
||||
var t = CEFBrowser.SetCookieAsync(cook.Domain, cook.Name + "=" + cook.Value + ";", cefWebBrowser.GetCookieManager(null));
|
||||
t.Wait(5000);
|
||||
// 同步设置cookie
|
||||
cefWebBrowser.GetCookieManager(null).SetCookie(address, cook);
|
||||
//var t = CEFBrowser.SetCookieAsync(cook.Domain, cook.Name + "=" + cook.Value + ";", cefWebBrowser.GetCookieManager(null));
|
||||
//t.Wait(5000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,355 @@
|
||||
namespace TemuKJD.WXForms.ShopForms
|
||||
{
|
||||
partial class WXShopMultiLoginForm
|
||||
{
|
||||
/// <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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WXShopMultiLoginForm));
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.btnNext = new System.Windows.Forms.Button();
|
||||
this.btnPrev = new System.Windows.Forms.Button();
|
||||
this.txtAddress = new System.Windows.Forms.TextBox();
|
||||
this.splitContainer3 = new System.Windows.Forms.SplitContainer();
|
||||
this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSelectProduct = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colApi = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colUploadCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colOnSaleNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colRemaining = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit();
|
||||
this.splitContainer3.Panel1.SuspendLayout();
|
||||
this.splitContainer3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
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.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer1.Panel2.Controls.Add(this.dgvShop);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1438, 686);
|
||||
this.splitContainer1.SplitterDistance = 1100;
|
||||
this.splitContainer1.SplitterWidth = 3;
|
||||
this.splitContainer1.TabIndex = 4;
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(1, 33);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.btnNext);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.btnPrev);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.txtAddress);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.splitContainer3);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(1438, 766);
|
||||
this.splitContainer2.SplitterDistance = 26;
|
||||
this.splitContainer2.TabIndex = 5;
|
||||
//
|
||||
// btnNext
|
||||
//
|
||||
this.btnNext.Location = new System.Drawing.Point(35, 3);
|
||||
this.btnNext.Name = "btnNext";
|
||||
this.btnNext.Size = new System.Drawing.Size(32, 23);
|
||||
this.btnNext.TabIndex = 9;
|
||||
this.btnNext.Text = "→";
|
||||
this.btnNext.UseVisualStyleBackColor = true;
|
||||
this.btnNext.Click += new System.EventHandler(this.btnNext_Click);
|
||||
//
|
||||
// btnPrev
|
||||
//
|
||||
this.btnPrev.Location = new System.Drawing.Point(3, 3);
|
||||
this.btnPrev.Name = "btnPrev";
|
||||
this.btnPrev.Size = new System.Drawing.Size(32, 23);
|
||||
this.btnPrev.TabIndex = 8;
|
||||
this.btnPrev.Text = "←";
|
||||
this.btnPrev.UseVisualStyleBackColor = true;
|
||||
this.btnPrev.Click += new System.EventHandler(this.btnPrev_Click);
|
||||
//
|
||||
// txtAddress
|
||||
//
|
||||
this.txtAddress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtAddress.Location = new System.Drawing.Point(68, 3);
|
||||
this.txtAddress.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
||||
this.txtAddress.Name = "txtAddress";
|
||||
this.txtAddress.Size = new System.Drawing.Size(1367, 23);
|
||||
this.txtAddress.TabIndex = 7;
|
||||
this.txtAddress.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtAddress_KeyDown);
|
||||
//
|
||||
// splitContainer3
|
||||
//
|
||||
this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer3.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer3.Name = "splitContainer3";
|
||||
this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer3.Panel1
|
||||
//
|
||||
this.splitContainer3.Panel1.Controls.Add(this.splitContainer1);
|
||||
this.splitContainer3.Size = new System.Drawing.Size(1438, 736);
|
||||
this.splitContainer3.SplitterDistance = 686;
|
||||
this.splitContainer3.TabIndex = 5;
|
||||
//
|
||||
// dgvShop
|
||||
//
|
||||
this.dgvShop.AllowUserToAddRows = false;
|
||||
this.dgvShop.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
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;
|
||||
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
this.colShopLoginName,
|
||||
this.colShopId,
|
||||
this.colShopName,
|
||||
this.colShopNotes,
|
||||
this.colSelectProduct,
|
||||
this.colLoginStatus,
|
||||
this.colApi,
|
||||
this.colCanUse,
|
||||
this.colUploadCount,
|
||||
this.colOnSaleNum,
|
||||
this.colRemaining,
|
||||
this.colMessage});
|
||||
this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvShop.Location = new System.Drawing.Point(0, 0);
|
||||
this.dgvShop.Name = "dgvShop";
|
||||
this.dgvShop.ReadOnly = true;
|
||||
this.dgvShop.RowHeadersWidth = 25;
|
||||
this.dgvShop.RowTemplate.Height = 23;
|
||||
this.dgvShop.Size = new System.Drawing.Size(335, 686);
|
||||
this.dgvShop.TabIndex = 7;
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.HeaderText = "全选";
|
||||
this.colSelect.Name = "colSelect";
|
||||
this.colSelect.ReadOnly = true;
|
||||
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colSelect.Visible = false;
|
||||
this.colSelect.Width = 28;
|
||||
//
|
||||
// colShopLoginName
|
||||
//
|
||||
this.colShopLoginName.HeaderText = "店铺登录名";
|
||||
this.colShopLoginName.Name = "colShopLoginName";
|
||||
this.colShopLoginName.ReadOnly = true;
|
||||
this.colShopLoginName.Visible = false;
|
||||
//
|
||||
// colShopId
|
||||
//
|
||||
this.colShopId.HeaderText = "店铺Id";
|
||||
this.colShopId.Name = "colShopId";
|
||||
this.colShopId.ReadOnly = true;
|
||||
this.colShopId.Visible = false;
|
||||
this.colShopId.Width = 55;
|
||||
//
|
||||
// colShopName
|
||||
//
|
||||
this.colShopName.FillWeight = 150F;
|
||||
this.colShopName.HeaderText = "店铺名称";
|
||||
this.colShopName.Name = "colShopName";
|
||||
this.colShopName.ReadOnly = true;
|
||||
this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colShopName.Width = 75;
|
||||
//
|
||||
// colShopNotes
|
||||
//
|
||||
this.colShopNotes.HeaderText = "备注";
|
||||
this.colShopNotes.Name = "colShopNotes";
|
||||
this.colShopNotes.ReadOnly = true;
|
||||
this.colShopNotes.Width = 75;
|
||||
//
|
||||
// colSelectProduct
|
||||
//
|
||||
this.colSelectProduct.HeaderText = "选择商品";
|
||||
this.colSelectProduct.Name = "colSelectProduct";
|
||||
this.colSelectProduct.ReadOnly = true;
|
||||
this.colSelectProduct.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSelectProduct.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colSelectProduct.Visible = false;
|
||||
this.colSelectProduct.Width = 62;
|
||||
//
|
||||
// colLoginStatus
|
||||
//
|
||||
this.colLoginStatus.HeaderText = "状态";
|
||||
this.colLoginStatus.Name = "colLoginStatus";
|
||||
this.colLoginStatus.ReadOnly = true;
|
||||
this.colLoginStatus.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colLoginStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colLoginStatus.Width = 38;
|
||||
//
|
||||
// colApi
|
||||
//
|
||||
this.colApi.HeaderText = "Api";
|
||||
this.colApi.Name = "colApi";
|
||||
this.colApi.ReadOnly = true;
|
||||
this.colApi.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colApi.Visible = false;
|
||||
this.colApi.Width = 38;
|
||||
//
|
||||
// colCanUse
|
||||
//
|
||||
this.colCanUse.HeaderText = "可用";
|
||||
this.colCanUse.Name = "colCanUse";
|
||||
this.colCanUse.ReadOnly = true;
|
||||
this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colCanUse.Visible = false;
|
||||
this.colCanUse.Width = 28;
|
||||
//
|
||||
// colUploadCount
|
||||
//
|
||||
this.colUploadCount.HeaderText = "已传";
|
||||
this.colUploadCount.Name = "colUploadCount";
|
||||
this.colUploadCount.ReadOnly = true;
|
||||
this.colUploadCount.Visible = false;
|
||||
this.colUploadCount.Width = 38;
|
||||
//
|
||||
// colOnSaleNum
|
||||
//
|
||||
this.colOnSaleNum.HeaderText = "在售";
|
||||
this.colOnSaleNum.Name = "colOnSaleNum";
|
||||
this.colOnSaleNum.ReadOnly = true;
|
||||
this.colOnSaleNum.Visible = false;
|
||||
this.colOnSaleNum.Width = 38;
|
||||
//
|
||||
// colRemaining
|
||||
//
|
||||
this.colRemaining.HeaderText = "月限额";
|
||||
this.colRemaining.Name = "colRemaining";
|
||||
this.colRemaining.ReadOnly = true;
|
||||
this.colRemaining.Visible = false;
|
||||
//
|
||||
// colMessage
|
||||
//
|
||||
this.colMessage.HeaderText = "消息";
|
||||
this.colMessage.Name = "colMessage";
|
||||
this.colMessage.ReadOnly = true;
|
||||
//
|
||||
// WXShopMultiLoginForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(1440, 800);
|
||||
this.Controls.Add(this.splitContainer2);
|
||||
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 = "WXShopMultiLoginForm";
|
||||
this.ShowMaximizeBox = true;
|
||||
this.Text = "店铺登录";
|
||||
this.TitleText = "店铺登录";
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.ShopLoginForm_FormClosed);
|
||||
this.Load += new System.EventHandler(this.ShopLoginForm_Load);
|
||||
this.Controls.SetChildIndex(this.splitContainer2, 0);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.PerformLayout();
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
this.splitContainer3.Panel1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit();
|
||||
this.splitContainer3.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private System.Windows.Forms.TextBox txtAddress;
|
||||
private System.Windows.Forms.Button btnNext;
|
||||
private System.Windows.Forms.Button btnPrev;
|
||||
private System.Windows.Forms.SplitContainer splitContainer3;
|
||||
private UserComponent.DataGridViewEx dgvShop;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colSelectProduct;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colApi;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colUploadCount;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colOnSaleNum;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colRemaining;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMessage;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,315 @@
|
||||
using AllBase;
|
||||
using AllBase.Helper;
|
||||
using AllBase.Model.Result;
|
||||
using CefSharp;
|
||||
using CefSharp.WinForms;
|
||||
//using TemuKJD.DashBoardForms;
|
||||
using TemuKJD.Helper;
|
||||
using TemuKJD.BaseForms;
|
||||
using Microsoft.Win32;
|
||||
using NaiBa.CefHelper;
|
||||
using NaiBa.CefHelper.Handler;
|
||||
using NaiBa.Util.Extension;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
//using System.Web.Hosting;
|
||||
using System.Windows.Forms;
|
||||
using Work;
|
||||
using Work.BLL.Tools;
|
||||
using TemuKJD.BLL;
|
||||
using AllBase.Model.Result.PDDResult;
|
||||
using NaiBa.Util;
|
||||
|
||||
namespace TemuKJD.WXForms.ShopForms
|
||||
{
|
||||
public partial class WXShopMultiLoginForm : BaseGeneralForm
|
||||
{
|
||||
public static WXShopMultiLoginForm shopMultiLoginFormInstance { get; set; } = null;
|
||||
|
||||
public int CloseAfterSecond { get; set; }
|
||||
public EnumOpenType openType = EnumOpenType.manage;
|
||||
public bool isMultiLogin = false;
|
||||
public string MultiLoginCookieName = "";
|
||||
public string InitUrl = "";
|
||||
public ChromiumWebBrowser cefWebBrowser = null;
|
||||
|
||||
const string DefaultUrl = "https://store.weixin.qq.com/shop/home";
|
||||
const string shopLoginUrl = "https://store.weixin.qq.com/shop?redirect_url=%2Fhome";
|
||||
private string currentUrl = "";
|
||||
|
||||
private string shopCookieHead = "store.weixin.qq.com";
|
||||
private ShopLoginInfo shop = null;
|
||||
private ConcurrentList<ShopCompany> lstShopCompany = new ConcurrentList<ShopCompany>();
|
||||
private ConcurrentList<ShopLoginInfo> lstSwitchShop = new ConcurrentList<ShopLoginInfo>();
|
||||
|
||||
|
||||
public WXShopMultiLoginForm(ShopLoginInfo shopInfo)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
shopMultiLoginFormInstance = this;
|
||||
this.shop = shopInfo;
|
||||
}
|
||||
|
||||
private void ShopLoginForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.splitContainer1.SplitterDistance = this.splitContainer1.Height - 62;
|
||||
if (string.IsNullOrWhiteSpace(InitUrl))
|
||||
InitUrl = DefaultUrl;
|
||||
|
||||
if (CloseAfterSecond > 0)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
Thread.Sleep(1000 * CloseAfterSecond);
|
||||
if (this.Created)
|
||||
{
|
||||
Invoke(new Action(() => { this.Close(); }));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
initSwitchShop();
|
||||
|
||||
initCefAndMainShop();
|
||||
}
|
||||
|
||||
public void initSwitchShop()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化CEF并登录主店铺
|
||||
/// </summary>
|
||||
private void initCefAndMainShop()
|
||||
{
|
||||
if (openType != EnumOpenType.login && shop == null)
|
||||
return;
|
||||
|
||||
if (cefWebBrowser == null)
|
||||
{
|
||||
cefWebBrowser = CEFBrowser.CreateChromiumWebBrowser(InitUrl, false);
|
||||
CustomResourceRequestHandlerLocal resourceRequestHandler = new CustomResourceRequestHandlerLocal();
|
||||
resourceRequestHandler.ResourceLoadCompleteEvent += RequestHandler_ResourceLoadComplete;
|
||||
resourceRequestHandler.BeforeResourceLoadEvent += RequestHandler_BeforeResourceLoad;
|
||||
cefWebBrowser.RequestHandler = new CustomRequestHandler(resourceRequestHandler);
|
||||
var lifeSapnHandler = new LifeSpanHandlerLocal(PopWindowType.SelfWindow);
|
||||
cefWebBrowser.LifeSpanHandler = lifeSapnHandler;
|
||||
cefWebBrowser.KeyboardHandler = new KeyboardHandler();
|
||||
cefWebBrowser.FrameLoadEnd += CefWebBrowser_FrameLoadEnd;
|
||||
cefWebBrowser.AddressChanged += CefWebBrowser_AddressChanged;
|
||||
cefWebBrowser.LoadError += CefWebBrowser_LoadError;
|
||||
cefWebBrowser.Dock = DockStyle.Fill;
|
||||
|
||||
//js绑定C#对象
|
||||
WXShopBrowserObject shopObj = new WXShopBrowserObject();
|
||||
shopObj.OnInfoReceived += ShopObj_OnInfoReceived;
|
||||
CefSharpSettings.WcfEnabled = true;
|
||||
cefWebBrowser.JavascriptObjectRepository.Register(
|
||||
name: "shopObj",
|
||||
objectToBind: shopObj,
|
||||
isAsync: false,
|
||||
options: new BindingOptions { Binder = BindingOptions.DefaultBinder.Binder /*CamelCaseJavascriptNames = false*/ /*cef79*/ }
|
||||
);
|
||||
|
||||
List<Cookie> cookieLst = new List<Cookie>();
|
||||
try
|
||||
{
|
||||
if (shop != null)
|
||||
{
|
||||
cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(shop.Cookies.ParseToString());
|
||||
if (cookieLst == null)
|
||||
cookieLst = new List<Cookie>();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
Task.Run(() =>
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
splitContainer1.Panel1.Controls.Add(cefWebBrowser);
|
||||
}));
|
||||
// cef138必须init后方可设置或删除cookie
|
||||
while (!cefWebBrowser.IsBrowserInitialized || !cefWebBrowser.GetBrowser().MainFrame.IsValid)
|
||||
Thread.Sleep(20);
|
||||
CEFBrowser.DeleteCookie(cefWebBrowser.GetCookieManager(null));
|
||||
|
||||
//cef 138 如果没有设置RequestContext 可能为空,直接getCookieManager
|
||||
//异步设置cookie
|
||||
//var t = CEFBrowser.SetCookieAsync(JsonHelper.SerializeObject(cookieLst), cefWebBrowser.GetCookieManager(null));
|
||||
string address = InitUrl;
|
||||
foreach (var cook in cookieLst)
|
||||
{
|
||||
// 同步设置cookie
|
||||
cefWebBrowser.GetCookieManager(null).SetCookie(address, cook);
|
||||
//var t = CEFBrowser.SetCookieAsync(cook.Domain, cook.Name + "=" + cook.Value + ";", cefWebBrowser.GetCookieManager(null));
|
||||
//t.Wait(5000);
|
||||
}
|
||||
cefWebBrowser.Load(InitUrl);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void ShopObj_OnInfoReceived(string information)
|
||||
{
|
||||
//BaseMsgForm.ShowInfo(information);
|
||||
if (!string.IsNullOrEmpty(information))
|
||||
cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync("alert('" + information + "');");
|
||||
}
|
||||
|
||||
private void CefWebBrowser_LoadError(object sender, CefSharp.LoadErrorEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
private void CefWebBrowser_AddressChanged(object sender, CefSharp.AddressChangedEventArgs e)
|
||||
{
|
||||
if (this.Created && !this.Disposing && !this.IsDisposed)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
currentUrl = e.Address;
|
||||
txtAddress.Text = e.Address;
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
private void CefWebBrowser_FrameLoadEnd(object sender, CefSharp.FrameLoadEndEventArgs e)
|
||||
{
|
||||
//js绑定C#对象 html页面内声明绑定的C#对象
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("(function(){");
|
||||
sb.Append("CefSharp.BindObjectAsync('shopObj');");
|
||||
sb.Append("})();");
|
||||
cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sb.ToString());
|
||||
}
|
||||
|
||||
//public Func<object, string, string, request, bool> BeforeResourceLoadEvent; // sender, requestUrl, postData, request, true(表示取消执行)
|
||||
private bool RequestHandler_BeforeResourceLoad(object sender, string url, string postData, IRequest request)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request)
|
||||
{
|
||||
if (url == "https://store.weixin.qq.com/shop/home" && this.openType == EnumOpenType.login)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
var data = responseData;
|
||||
|
||||
var index = data.IndexOf("window.__INITIAL_PINIA_DATA__=") + "window.__INITIAL_PINIA_DATA__=".Length;
|
||||
var indexEnd = data.IndexOf(";window.__USE_VITE__=");
|
||||
if (index < 1000)
|
||||
{
|
||||
return;
|
||||
}
|
||||
var dataStr = data.Substring(index, indexEnd - index);
|
||||
dataStr = GetHtml.Unicode2String(dataStr);
|
||||
|
||||
var shopId = BaseRegex.GetStringJson(ref data, "appid");
|
||||
var nickName = BaseRegex.GetStringJson(ref data, "nickName");
|
||||
var openId = BaseRegex.GetStringJson(ref data, "openid"); // oGu7k7HxmUyOmc1X6VM7GQwS-9cI
|
||||
if (shop != null && shop.ShopId != shopId)
|
||||
{
|
||||
BaseMsgForm.ShowError("cookie与店铺不匹配,请核对店铺!");
|
||||
return;
|
||||
}
|
||||
if (shop == null && GlobalConfig.ShopLoginList.Any(s=>s.ShopId == shopId))
|
||||
{
|
||||
BaseMsgForm.ShowError("录入的新店铺已存在,请核对店铺!");
|
||||
return;
|
||||
}
|
||||
|
||||
ShopCompany sc = new ShopCompany()
|
||||
{
|
||||
UserName = BaseClass.UserName, // 登录的用户信息
|
||||
AccountId = shopId,
|
||||
AccountName = nickName,
|
||||
LoginName = shopId,
|
||||
openid = openId,
|
||||
LoginStatus = "登录成功",
|
||||
};
|
||||
this.lstShopCompany.RemoveAll(s => s.AccountId == sc.AccountId);
|
||||
this.lstShopCompany.Add(sc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void ShopLoginForm_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
//OnSaveComplete(shop);
|
||||
Task.Run(() => {
|
||||
Thread.Sleep(500);
|
||||
if (!this.Disposing && !this.IsDisposed)
|
||||
{
|
||||
MainForm.instance.Invoke(new Action(() => { this.Dispose(); }));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void txtAddress_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
{
|
||||
if (cefWebBrowser != null)
|
||||
{
|
||||
cefWebBrowser.Load(txtAddress.Text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnPrev_Click(object sender, EventArgs e)
|
||||
{
|
||||
cefWebBrowser.Back();
|
||||
}
|
||||
|
||||
private void btnNext_Click(object sender, EventArgs e)
|
||||
{
|
||||
cefWebBrowser.Forward();
|
||||
}
|
||||
}
|
||||
|
||||
public class WXShopSwitch
|
||||
{
|
||||
public static string getShopSwitchList(ShopLoginInfo shop)
|
||||
{
|
||||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodelogin/session/getShopSwitchList?token=&lang=zh_CN";
|
||||
string refere = "https://store.weixin.qq.com/shop/home";
|
||||
var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, refere);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
public class ShopSwitchInfo
|
||||
{
|
||||
public string appid { get; set; } // "wxa20bb379d0961414",
|
||||
public string nickname { get; set; } // "夜笙服装店",
|
||||
public string headimgurl { get; set; } // "http://mmbiz.qpic.cn/mmbiz_jpg/ZZIOBibOYfic6CDwhCA8lSSOAZSuEF8HdlBiaJC8RXsTRucB6Xopic49PKgViapwRZDTuGuVxDEtKvhkXNZG63uqUwA/0?wx_fmt=jpeg",
|
||||
public object appuin { get; set; } // null,
|
||||
public List<ShopSwitchJobInfo> jobInfoList { get; set; }
|
||||
public long? lastLoginTime { get; set; } // 1773216675,
|
||||
public int? ecAcctType { get; set; } // 101,
|
||||
public int? ecAcctStatus { get; set; } // 100,
|
||||
public int? ecSubType { get; set; } // 0,
|
||||
public int? shopType { get; set; } // 6,
|
||||
public string kfMsgNum { get; set; } // "0",
|
||||
public string shopMsgNum { get; set; } // "2002"
|
||||
}
|
||||
public class ShopSwitchJobInfo
|
||||
{
|
||||
public string jobName { get; set; } // "经理人" "资金充值"
|
||||
public long? jobId { get; set; } // 3 99998
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,334 @@
|
||||
<?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="colShopLoginName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopNotes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSelectProduct.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colLoginStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colApi.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCanUse.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colUploadCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colOnSaleNum.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colRemaining.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colMessage.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>
|
||||
AAABAAEAgIAQYAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
|
||||
AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMx3d4iIiIiIiIh3fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM
|
||||
zMzMzMzMzMzHeIiIiIj/////////iIiIiId8zMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM
|
||||
zMzMzMzMzMzMzMeIiI/////////////////////4iIh8zMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAATMzM
|
||||
zMzMzMzMzMzMzMzMzHiI////////////////////////////iIfMzMzMzMzMzMzMzMzMzMzMxAAAAAAA
|
||||
AGzMzMzMzMzMzMzMzMzMx3iP///////////////////////////////4iHzMzMzMzMzMzMzMzMzMzMYA
|
||||
AAAAAAbMzMzMzMzMzMzMzMzMx3iP//////////////////////////////////+IfMzMzMzMzMzMzMzM
|
||||
zMzMYAAAAABMzMzMzMzMzMzMzMzMx3iP/////////////////////////////////////4h8zMzMzMzM
|
||||
zMzMzMzMzMQAAAAAbMzMzMzMzMzMzMzMzHiP////////////////////////////////////////h3zM
|
||||
zMzMzMzMzMzMzMzGAAAABMzMzMzMzMzMzMzMzHiP////////////////////////////////////////
|
||||
//iHzMzMzMzMzMzMzMzMzEAAAAbMzMzMzMzMzMzMzMeI////////////////////////////////////
|
||||
////////+IfMzMzMzMzMzMzMzMxgAABMzMzMzMzMzMzMzMx4////////////////////////////////
|
||||
//////////////+IfMzMzMzMzMzMzMzMxAAAbMzMzMzMzMzMzMzHj///////////////////////////
|
||||
/////////////////////4fMzMzMzMzMzMzMzMYAAMzMzMzMzMzMzMzMeP//////////////////////
|
||||
///////////////////////////4fMzMzMzMzMzMzMzMAAbMzMzMzMzMzMzMx4//////////////////
|
||||
/////////////////////////////////4fMzMzMzMzMzMzMzGAGzMzMzMzMzMzMzHj/////////////
|
||||
///////////////////////////////////////4fMzMzMzMzMzMzMxgDMzMzMzMzMzMzMyI////////
|
||||
/////////////////////////////////////////////4zMzMzMzMzMzMzMwEzMzMzMzMzMzMzHj///
|
||||
//////////////////////////////////////////////////+HzMzMzMzMzMzMzMRszMzMzMzMzMzM
|
||||
eP//////////////////////////////////////////////////////+HzMzMzMzMzMzMzGbMzMzMzM
|
||||
zMzMzHj///////////////////////////////////////////////////////+MzMzMzMzMzMzMxmzM
|
||||
zMzMzMzMzMyP////+IiP////////////////////////////////////////+I//////h8zMzMzMzMzM
|
||||
zMZszMzMzMzMzMzHj////4iIiI//////////////////////////////////////+IiIj/////jMzMzM
|
||||
zMzMzMzGbMzMzMzMzMzMyP////iIiIiI/////////////////////////////////////4iIiIj////4
|
||||
fMzMzMzMzMzMxszMzMzMzMzMzHj////4iIiIiP////////////////////////////////////+IiIiI
|
||||
j////4zMzMzMzMzMzMbMzMzMzMzMzMx4////iIiIiIj////////////////////////////////////4
|
||||
iIiIiI////+HzMzMzMzMzMzMzMzMzMzMzMzMj////4iIiIiI//////////////+IiP//iI//////////
|
||||
////+IiIiIiP////h8zMzMzMzMzMzMzMzMzMzMzMzI/////4iIiIiP/////////////4d3eIiIeIj///
|
||||
//////////+IiIiIj/////jMzMzMzMzMzMzMzMzMzMzMzMyP////+IiIiIj/////////////iIiId3eI
|
||||
iI//////////////iIiIiI/////4zMzMzMzMzMzMzMzMzMzMzMzHj/////+IiIiP/////////////4//
|
||||
/4d4j/+P//////////////iIiIj/////+MzMzMzMzMzMzMzMzMzMzMzMx4//////+IiP////////////
|
||||
///////4j///////////////////iIiP//////jMzMzMzMzMzMzMzMzMzMzMzMeP//////////+IiIj/
|
||||
///////////////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzH//////////+H
|
||||
fMx8eP//////////////////////////iId3iP//////////+HzMzMzMzMzMzMzMzMzMzMzMyP//////
|
||||
///4fMzHh8eP////////////////////////+MzMzMd4//////////h8zMzMzMzMzMzMzMzMzMzMzMf/
|
||||
////////+MzMePjMeP///////////////////////4zMzMeHx4/////////4fMzMzMzMzMzMzMzMzMzM
|
||||
zMzH/////////4fMd3eHzMeP//////////////////////iMzMzIiHx4////////+HzMzMzMzMzMzMzM
|
||||
zMzMzMzMx/////////+Hx4iIfMzMj//////////////////////4h3d8x4h8yP////////jMzMzMzMzM
|
||||
zMzMzMzMzMzMzMeP////////+HiP+IfMzI//////////////////////+HiIiHd3zHj////////4zMzM
|
||||
zMzMzMzMzMzMzMzMzMzHj/////////h4//+HzMeP//////////////////////h4//h8zMyP////////
|
||||
+MzMzMzMzMzMzMzMzMzMzMzMzI/////////4iP//h8x4///////////////////////4j//4fMzHj///
|
||||
//////jMzMzMzMzMzMzMzMzMzMzMzMyP///////4iIiP+IfHj///////////////////////+Ij/+HzM
|
||||
eP/////////4zMzMzMzMzMzMzMzMzMzMzMzMj///////iIiIiIh3eP////////////////////////+I
|
||||
j4h8x3iI////////h8zMzMzMzMzMzMzMzMzMzMzMzH//////+Hj///iIiI//////////////////////
|
||||
/////4iId4iIiIj//////4zMzMzMzMzMzMzMzMzMzMzMzMx4//////iP////iP//////////////////
|
||||
/////////////4iP//iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMyP//////////+I//////////////
|
||||
///////////////////4eP//iP//////jMzMzMzMzMzMzMzMzMzMzMzMzMj///////////iP////////
|
||||
/////////////////////////4j/////////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj///////////////
|
||||
//////////////////////////////+I//////////jMzMzMzMzMzMzMzMzMzMzMzMzMzI//////////
|
||||
//////////////////////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
|
||||
////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
eP///////////////////////////////////////////////////////4zMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMj///////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzHj//////////////////////////////////////////////////////4zMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzI//////////////////////////////////////////////////////h8zMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMx4////////////////////////////////////////////////////+HzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMyI////+I////////////////////////////////////////////
|
||||
//h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+Ij/////////////////////////////////////
|
||||
//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+IiIiIj//////////////////////////4
|
||||
////iI/////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiP/////4iIiP//////////////////////
|
||||
////+IiIiIj/////iHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////////////////
|
||||
///////////4iIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////////////
|
||||
//////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////
|
||||
//////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////
|
||||
///////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////
|
||||
////////////////////////////////////////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI
|
||||
j/////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMeP//////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMx4////////+I//////////////////////////////////////jMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMeP///////4iIj///////////////////////////iP///////4fMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMx4////////iIiIiP///////////////////////4iIiP///////4zMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIj///////+HzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIj////////////////////4iIiIiIj///////
|
||||
+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIiI//
|
||||
//////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiP////////////////////iIiI
|
||||
iIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiIj/////iIiIiIiIj/////
|
||||
/4iIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiI/////4zMzMzMzM
|
||||
j/////+IiIiIiIiP//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//////+IiIiIiIj/////+MzM
|
||||
zMzMzI//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iIiIiIiI////
|
||||
//jMzMzMzMyP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP///////4iIiIiI
|
||||
iP/////4zMzMzMzMj//////4iIiIiIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iI
|
||||
iIiIiI//////+MzMzMzMzI//////+IiIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
|
||||
///4iIiIiIiP//////fMzMzMzMyP//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzH
|
||||
j///////+IiIiIiI//////+HzMzMzMzMeP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMyP////////iIiIiIiP//////jMzMzMzMzHj///////iIiIiIiI///////4fMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMj///////+IiIiIiI///////4zMzMzMzMzI///////4iIiIiIiI///////3zMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzI////////iIiIiIiP//////+MzMzMzMzMyP//////+IiIiIiIiP//////+MzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMeP///////4iIiIiIj///////jMzMzMzMzMj///////+IiIiIiIj///////jM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiIiP//////+HzMzMzMzMzHj///////iIiIiIiI////
|
||||
///4zMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIiI////////jMzMzMzMzMzI///////4iIiIiI
|
||||
iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMzMj////////4iIiIiP///////4zMzMzMzMzMyP///////4
|
||||
iIiIiIiP//////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiI////////h8zMzMzMzMzMeP//
|
||||
/////4iIiIiIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIj////////4fMzMzMzMzM
|
||||
zHj///////+IiIiIiI//////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////iIiP////////+MzMzM
|
||||
zMzMzMzI////////+IiIiIiP//////h8zMzMzMzMzMzMxmzMzMzMzMzMx4/////////4iP/////////4
|
||||
fMzMzMzMzMzMx4////////+IiIiIj//////4fMzMzMzMzMzMzMZszMzMzMzMzMeP////////////////
|
||||
////+MzMzMzMzMzMzMyP////////iIiIiP//////+HzMzMzMzMzMzMzGbMzMzMzMzMzH////////////
|
||||
//////////fMzMzMzMzMzMzMeP////////iIiIj///////98zMzMzMzMzMzMxmzMzMzMzMzMyP//////
|
||||
//////////////+HzMzMzMzMzMzMzHj/////////+IiP////////jMzMzMzMzMzMzMZszMzMzMzMzMj/
|
||||
////////////////////jMzMzMzMzMzMzMzIj////////////////////4zMzMzMzMzMzMzGTMzMzMzM
|
||||
zMzH////////////////////+HzMzMzMzMzMzMzMx4////////////////////+MzMzMzMzMzMzMxAzM
|
||||
zMzMzMzMx/////////////////////jMzMzMzMzMzMzMzMyI///////////////////4fMzMzMzMzMzM
|
||||
zMAGzMzMzMzMzMeP//////////////////+HzMzMzMzMzMzMzMzMeP//////////////////+HzMzMzM
|
||||
zMzMzMxgBszMzMzMzMzHj//////////////////4fMzMzMzMzMzMzMzMzMeP//////////////////h8
|
||||
zMzMzMzMzMzMYADMzMzMzMzMzI//////////////////+HzMzMzMzMzMzMzMzMzHj///////////////
|
||||
///4zMzMzMzMzMzMzAAAbMzMzMzMzMyP/////////////////4fMzMzMzMzMzMzMzMzMzHj/////////
|
||||
////////+MzMzMzMzMzMzMYAAEzMzMzMzMzMj/////////////////+MzMzMzMzMzMzMzMzMzMzIj///
|
||||
/////////////4fMzMzMzMzMzMzEAAAGzMzMzMzMzHj////////////////4fMzMzMzMzMzMzMzMzMzM
|
||||
x4////////////////+MzMzMzMzMzMzMYAAABMzMzMzMzMx4////////////////h8zMzMzMzMzMzMzM
|
||||
zMzMzMx4///////////////4fMzMzMzMzMzMzEAAAABszMzMzMzMx4//////////////+HzMzMzMzMzM
|
||||
zMzMzMzMzMzMx4//////////////+MzMzMzMzMzMzMYAAAAATMzMzMzMzMyP/////////////4fMzMzM
|
||||
zMzMzMzMzMzMzMzMzMeI/////////////4fMzMzMzMzMzMzEAAAAAAbMzMzMzMzMeP////////////h8
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMeI////////////h8zMzMzMzMzMzMYAAAAAAAbMzMzMzMzMeP////////
|
||||
//iHzMzMzMzMzMzMzMzMzMzMzMzMzMyI//////////+HzMzMzMzMzMzMxgAAAAAAAEzMzMzMzMzMeP//
|
||||
//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMx4/////////4fMzMzMzMzMzMzMQAAAAAAAAGzMzMzMzM
|
||||
zMeI//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4j//////4h8zMzMzMzMzMzMxgAAAAAAAAAGzM
|
||||
zMzMzMzMx4iIiIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiIj/+Ih3zMzMzMzMzMzMzGAAAAAAAA
|
||||
AAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx3iId8zMzMzMzMzMzMzMYAAA
|
||||
AAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
xgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzGAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA
|
||||
AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+
|
||||
AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA
|
||||
B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA
|
||||
AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA
|
||||
AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA
|
||||
AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA
|
||||
AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA
|
||||
AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA
|
||||
AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA
|
||||
AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA
|
||||
AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA
|
||||
AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA
|
||||
AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf/////
|
||||
+AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -712,7 +712,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
|
||||
if (!row.Cells["colShopAccount"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
|
||||
{
|
||||
@@ -720,7 +720,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
row.Cells["colSelect"].Value = false;
|
||||
continue;
|
||||
}
|
||||
if (!row.Cells["colNotes"].Value.ParseToString().Contains(notes) && !notesLst.Contains(row.Cells["colNotes"].Value.ParseToString()))
|
||||
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colNotes"].Value.ParseToString()))
|
||||
{
|
||||
row.Visible = false;
|
||||
row.Cells["colSelect"].Value = false;
|
||||
|
||||
+54
-1
@@ -36,6 +36,8 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.chkShowShopStatistics = new System.Windows.Forms.CheckBox();
|
||||
this.chkShowAutoReplyNum = new System.Windows.Forms.CheckBox();
|
||||
this.chkNotShowMessageWindow = new System.Windows.Forms.CheckBox();
|
||||
this.cmbMessage = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
@@ -52,9 +54,11 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAutoReplyCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colWaitSend = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colWayBillError = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAfterSale = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colPunishCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colScore = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.lblTalkCount = new System.Windows.Forms.Label();
|
||||
@@ -127,7 +131,7 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
// lblVersionName
|
||||
//
|
||||
this.lblVersionName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.lblVersionName.Location = new System.Drawing.Point(23685, 33);
|
||||
this.lblVersionName.Location = new System.Drawing.Point(24753, 33);
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
@@ -169,6 +173,8 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.chkShowShopStatistics);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.chkShowAutoReplyNum);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.chkNotShowMessageWindow);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.cmbMessage);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.label1);
|
||||
@@ -184,6 +190,32 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
this.splitContainer2.SplitterDistance = 62;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// chkShowShopStatistics
|
||||
//
|
||||
this.chkShowShopStatistics.AutoSize = true;
|
||||
this.chkShowShopStatistics.Checked = true;
|
||||
this.chkShowShopStatistics.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkShowShopStatistics.Location = new System.Drawing.Point(340, 38);
|
||||
this.chkShowShopStatistics.Name = "chkShowShopStatistics";
|
||||
this.chkShowShopStatistics.Size = new System.Drawing.Size(123, 21);
|
||||
this.chkShowShopStatistics.TabIndex = 206;
|
||||
this.chkShowShopStatistics.Text = "显示店铺统计信息";
|
||||
this.chkShowShopStatistics.UseVisualStyleBackColor = true;
|
||||
this.chkShowShopStatistics.Visible = false;
|
||||
//
|
||||
// chkShowAutoReplyNum
|
||||
//
|
||||
this.chkShowAutoReplyNum.AutoSize = true;
|
||||
this.chkShowAutoReplyNum.Checked = true;
|
||||
this.chkShowAutoReplyNum.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkShowAutoReplyNum.Location = new System.Drawing.Point(211, 38);
|
||||
this.chkShowAutoReplyNum.Name = "chkShowAutoReplyNum";
|
||||
this.chkShowAutoReplyNum.Size = new System.Drawing.Size(123, 21);
|
||||
this.chkShowAutoReplyNum.TabIndex = 205;
|
||||
this.chkShowAutoReplyNum.Text = "显示自动回复数量";
|
||||
this.chkShowAutoReplyNum.UseVisualStyleBackColor = true;
|
||||
this.chkShowAutoReplyNum.Visible = false;
|
||||
//
|
||||
// chkNotShowMessageWindow
|
||||
//
|
||||
this.chkNotShowMessageWindow.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
@@ -283,6 +315,7 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
this.chkIsAutoReply.TabIndex = 0;
|
||||
this.chkIsAutoReply.Text = "自动回复消息";
|
||||
this.chkIsAutoReply.UseVisualStyleBackColor = true;
|
||||
this.chkIsAutoReply.CheckedChanged += new System.EventHandler(this.chkIsAutoReply_CheckedChanged);
|
||||
//
|
||||
// splitContainer4
|
||||
//
|
||||
@@ -357,9 +390,11 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
this.colShopNotes,
|
||||
this.colLoginStatus,
|
||||
this.colMessage,
|
||||
this.colAutoReplyCount,
|
||||
this.colWaitSend,
|
||||
this.colWayBillError,
|
||||
this.colAfterSale,
|
||||
this.colPunishCount,
|
||||
this.colScore,
|
||||
this.colCanUse});
|
||||
this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
@@ -432,6 +467,13 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
this.colMessage.ReadOnly = true;
|
||||
this.colMessage.Width = 90;
|
||||
//
|
||||
// colAutoReplyCount
|
||||
//
|
||||
this.colAutoReplyCount.HeaderText = "自动回复";
|
||||
this.colAutoReplyCount.Name = "colAutoReplyCount";
|
||||
this.colAutoReplyCount.ReadOnly = true;
|
||||
this.colAutoReplyCount.Width = 62;
|
||||
//
|
||||
// colWaitSend
|
||||
//
|
||||
this.colWaitSend.HeaderText = "待发货";
|
||||
@@ -453,6 +495,13 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
this.colAfterSale.ReadOnly = true;
|
||||
this.colAfterSale.Width = 38;
|
||||
//
|
||||
// colPunishCount
|
||||
//
|
||||
this.colPunishCount.HeaderText = "店铺违规";
|
||||
this.colPunishCount.Name = "colPunishCount";
|
||||
this.colPunishCount.ReadOnly = true;
|
||||
this.colPunishCount.Width = 62;
|
||||
//
|
||||
// colScore
|
||||
//
|
||||
this.colScore.HeaderText = "评分";
|
||||
@@ -1083,6 +1132,8 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
private DevComponents.DotNetBar.PanelEx btnRefreshMsgCount;
|
||||
private System.Windows.Forms.Label lblTalkCount;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.CheckBox chkShowShopStatistics;
|
||||
private System.Windows.Forms.CheckBox chkShowAutoReplyNum;
|
||||
private UserComponent.UcDataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
|
||||
@@ -1090,9 +1141,11 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMessage;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAutoReplyCount;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colWaitSend;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colWayBillError;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAfterSale;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colPunishCount;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colScore;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse;
|
||||
}
|
||||
|
||||
@@ -33,9 +33,19 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
{
|
||||
public partial class WxTalkForm : BaseTalkForm
|
||||
{
|
||||
/// <summary>
|
||||
/// 自动回复话术信息
|
||||
/// </summary>
|
||||
public static List<KeyValuePair<string, string>> LstTalkTemplatePair { get; set; } = null;
|
||||
public Dictionary<string, int> dicTalkAutoReplyCount = new Dictionary<string, int>();
|
||||
|
||||
/// <summary>
|
||||
/// 客服统计信息
|
||||
/// </summary>
|
||||
public ConcurrentList<WxShopKfStatistics> lstShopKfStatistics = new ConcurrentList<WxShopKfStatistics>();
|
||||
/// <summary>
|
||||
/// 店铺主页统计信息
|
||||
/// </summary>
|
||||
public ConcurrentList<WxTalkFormShopMainInfo> lstShopAfterSale = new ConcurrentList<WxTalkFormShopMainInfo>();
|
||||
|
||||
/// <summary>
|
||||
@@ -99,13 +109,16 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
|
||||
// 初始化自动回复话术
|
||||
InitAutoReply();
|
||||
dicTalkAutoReplyCount = NaiBa.Util.Helper.ConfigHelper.LoadConfig<Dictionary<string,int>>("wx_talk_auto_reply_count");
|
||||
if (dicTalkAutoReplyCount == null)
|
||||
dicTalkAutoReplyCount = new Dictionary<string, int>();
|
||||
|
||||
//this.chkIsAutoReLogin.CheckedChanged -= chkIsAutoReLogin_CheckedChanged;
|
||||
//this.chkIsAutoReply.CheckedChanged -= chkIsAutoReply_CheckedChanged;
|
||||
this.chkIsAutoReply.CheckedChanged -= chkIsAutoReply_CheckedChanged;
|
||||
//this.txtAutoReplyText.TextChanged -= txtAutoReplyText_TextChanged;
|
||||
//this.cmbMessage.SelectedIndexChanged -= cmbMessage_SelectedIndexChanged;
|
||||
|
||||
this.chkNotShowMessageWindow.CheckedChanged -= chkNotShowMessageWindow_CheckedChanged;
|
||||
|
||||
if (this.cmbMessage.Items.Contains(ChatConfig.ChatSettingConfig.MessageSound))
|
||||
this.cmbMessage.SelectedItem = ChatConfig.ChatSettingConfig.MessageSound;
|
||||
else
|
||||
@@ -224,8 +237,8 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
//alert('hello world');
|
||||
return 'success';
|
||||
}
|
||||
return 'fail';
|
||||
}
|
||||
return 'fail';
|
||||
}
|
||||
clickUser();";
|
||||
var response1 = shop.Chat.GetBrowser().MainFrame.EvaluateScriptAsync(jsStr1);
|
||||
@@ -233,6 +246,19 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
if (response1.Result.Result.ParseToString() != "success")
|
||||
{
|
||||
Thread.Sleep(500);
|
||||
jsStr1 = @"function clickUser() {
|
||||
var users = document.getElementsByClassName('tab-list-item');
|
||||
for (i=0; i<users.length; i++) {
|
||||
if (users[i].innerHTML == '全部' && users[i].parentElement.innerHTML.indexOf('当前会话') !== -1) {
|
||||
users[i].click();
|
||||
}
|
||||
}
|
||||
}
|
||||
clickUser();";
|
||||
response1 = shop.Chat.GetBrowser().MainFrame.EvaluateScriptAsync(jsStr1);
|
||||
response1.Wait(2000);
|
||||
Thread.Sleep(500);
|
||||
|
||||
continue;
|
||||
}
|
||||
Thread.Sleep(1500);
|
||||
@@ -279,6 +305,18 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
// 删除队列里的消息
|
||||
lstAutoReplayParam.RemoveAll(r => r.nickName == autoReplayParam.nickName);
|
||||
|
||||
var row = dgvShop.Rows.Cast<DataGridViewRow>().FirstOrDefault(x => x.Cells["colShopId"].Value.ToString() == shop.ShopId);
|
||||
if (row != null)
|
||||
{
|
||||
int AutoReplyCount = dicTalkAutoReplyCount.FirstOrDefault(t => t.Key == shop.ShopId).Value.ParseToInt();
|
||||
AutoReplyCount++;
|
||||
dicTalkAutoReplyCount[shop.ShopId] = AutoReplyCount;
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_talk_auto_reply_count", dicTalkAutoReplyCount);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colAutoReplyCount"].Value = AutoReplyCount;
|
||||
}));
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(100, 200));
|
||||
}
|
||||
}
|
||||
@@ -436,8 +474,10 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
}
|
||||
r.Cells["colShopId"].Value = shop.ShopId; // 店铺ID
|
||||
r.Cells["colShopName"].Value = shop.ShopAccount; // 店铺名称
|
||||
r.Cells["colShopName"].Style.ForeColor = LstTagShop.Contains(shop.ShopId) ? Color.Green : Control.DefaultForeColor;
|
||||
//r.Cells["colShopName"].Style.ForeColor = LstTagShop.Contains(shop.ShopId) ? Color.LightGreen : Control.DefaultForeColor;
|
||||
r.Cells["colShopName"].Style.BackColor = LstTagShop.Contains(shop.ShopId) ? Color.LightGreen : (r.Tag is Color ? (Color)r.Tag : Color.White);
|
||||
r.Cells["colShopNotes"].Value = shop.Notes; // 备注
|
||||
r.Cells["colAutoReplyCount"].Value = dicTalkAutoReplyCount.FirstOrDefault(t => t.Key == shop.ShopId).Value.ParseToInt();
|
||||
r.Cells["colLoginStatus"].Value = shop.LoginStatus == "登录成功" ? "在线" : "掉线"; // 登录状态
|
||||
bool canUse = shop.LoginStatus == "登录成功";
|
||||
(r.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red;
|
||||
@@ -525,12 +565,14 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
if (r != null)
|
||||
{
|
||||
r.Cells["colMessage"].Value = msg;
|
||||
r.Cells["colAfterSale"].Value = shopAfterSale.AfterSaleCount;
|
||||
r.Cells["colAfterSale"].Style.ForeColor = shopAfterSale.AfterSaleCount > 0 ? Color.OrangeRed : Color.Black;
|
||||
r.Cells["colWaitSend"].Value = shopAfterSale.WaitSendCount;
|
||||
r.Cells["colWaitSend"].Style.ForeColor = shopAfterSale.WaitSendCount > 0 ? Color.OrangeRed : Color.Black;
|
||||
r.Cells["colWaybillError"].Value = shopAfterSale.WaybillError;
|
||||
r.Cells["colWaybillError"].Style.ForeColor = shopAfterSale.WaybillError > 0 ? Color.OrangeRed : Color.Black;
|
||||
r.Cells["colAfterSale"].Value = shopAfterSale.AfterSaleCount;
|
||||
r.Cells["colAfterSale"].Style.ForeColor = shopAfterSale.AfterSaleCount > 0 ? Color.OrangeRed : Color.Black;
|
||||
r.Cells["colPunishCount"].Value = shopAfterSale.PunishCount;
|
||||
r.Cells["colPunishCount"].Style.ForeColor = shopAfterSale.PunishCount > 0 ? Color.OrangeRed : Color.Black;
|
||||
r.Cells["colScore"].Value = shopAfterSale.ShopScore.IsNullOrEmpty() ? "-" : shopAfterSale.ShopScore.ParseToString();
|
||||
}
|
||||
}
|
||||
@@ -1036,6 +1078,20 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
{
|
||||
ChatConfig.ChatSettingConfig.IsAutoReply = chkIsAutoReply.Checked;
|
||||
ChatConfig.SaveChatSettingParam();
|
||||
|
||||
if (chkIsAutoReply.Checked == false)
|
||||
{
|
||||
dicTalkAutoReplyCount = new Dictionary<string, int>();
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig<Dictionary<string, int>>("wx_talk_auto_reply_count", dicTalkAutoReplyCount);
|
||||
}
|
||||
else
|
||||
{
|
||||
var dgvRows = dgvShop.Rows.Cast<DataGridViewRow>();
|
||||
foreach (var row in dgvRows)
|
||||
{
|
||||
row.Cells["colAutoReplyCount"].Value = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void txtAutoReplyText_TextChanged(object sender, EventArgs e)
|
||||
@@ -1168,12 +1224,14 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
if (!LstTagShop.Contains(shop.ShopId))
|
||||
{
|
||||
LstTagShop.Add(shop.ShopId);
|
||||
dgvShop.Rows[e.RowIndex].Cells["colShopName"].Style.ForeColor = Color.Green;
|
||||
//dgvShop.Rows[e.RowIndex].Cells["colShopName"].Style.ForeColor = Color.LightGreen;
|
||||
dgvShop.Rows[e.RowIndex].Cells["colShopName"].Style.BackColor = Color.LightGreen;
|
||||
}
|
||||
else
|
||||
{
|
||||
LstTagShop.Remove(shop.ShopId);
|
||||
dgvShop.Rows[e.RowIndex].Cells["colShopName"].Style.ForeColor = DefaultForeColor;
|
||||
dgvShop.Rows[e.RowIndex].Cells["colShopName"].Style.BackColor = dgvShop.Rows[e.RowIndex].Tag is Color ? (Color)dgvShop.Rows[e.RowIndex].Tag : Color.White;
|
||||
}
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig<List<string>>("wx_talk_tag_shop_list", LstTagShop);
|
||||
}
|
||||
@@ -1324,11 +1382,10 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
string notes = cmbFiltNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
notes = "";
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
foreach(DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
if ((row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())) &&
|
||||
row.Cells["colShopName"].Value.ParseToString().Contains(shopName))
|
||||
if (string.IsNullOrEmpty(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()) && row.Cells["colShopName"].Value.ParseToString().Contains(shopName))
|
||||
{
|
||||
row.Visible = true;
|
||||
}
|
||||
@@ -1417,6 +1474,7 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
var afterCount = JsonHelper.JObjectParse(rst)["aftersaleAllRet"]["totalNum"].ParseToInt();
|
||||
var waitSendCount = JsonHelper.JObjectParse(rst)["orderNumRet"]["pendingShipNum"].ParseToInt();
|
||||
var waybillErrorCount = JsonHelper.JObjectParse(rst)["waybillErrorRet"]["totalNum"].ParseToInt();
|
||||
var punishCount = JsonHelper.JObjectParse(rst)["punishRet"]["pendingNum"].ParseToInt();
|
||||
shopMainInfo = new WxTalkFormShopMainInfo()
|
||||
{
|
||||
ShopId = shop.ShopId,
|
||||
@@ -1424,6 +1482,7 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
AfterSaleCount = afterCount,
|
||||
WaitSendCount = waitSendCount,
|
||||
WaybillError = waybillErrorCount,
|
||||
PunishCount = punishCount,
|
||||
};
|
||||
|
||||
var shopScoreRst = WxShopStatisticsForm.GetShopScore(shop);
|
||||
|
||||
@@ -135,6 +135,9 @@
|
||||
<metadata name="colMessage.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colAutoReplyCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colWaitSend.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
@@ -144,6 +147,9 @@
|
||||
<metadata name="colAfterSale.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colPunishCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colScore.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
||||
Reference in new issue
Block a user