From 0740da277c2cda18aeddf7d286764918966d1355 Mon Sep 17 00:00:00 2001 From: wule Date: Mon, 21 Jul 2025 19:07:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E8=B6=85=E7=AE=A1=E8=B4=A6?= =?UTF-8?q?=E6=88=B7=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AllBase/BaseClass.cs | 4 +- AllBase/Model/Result/ShopLoginInfo.cs | 35 +- AllBase/Model/Result/TemuDBProductSelect.cs | 2 + .../KJD_WebService/BLL/ProductManage.cs | 164 +++++---- KJDService/KJD_WebService/BLL/ShopManage.cs | 108 ++++-- KJDService/KJD_WebService/BLL/UserManage.cs | 114 ++++--- .../Model/ProductSelectResultParam.cs | 2 + .../Model/ShopModel/ShopParam.cs | 2 + .../Model/UserLoginResultParam.cs | 14 +- .../KJD_WebService/ProductService.asmx.cs | 12 + KJDService/KJD_WebService/ShopService.asmx.cs | 12 + .../Utils/Extension/Extension.Convert.cs | 9 + TEMUKJD/KJD.csproj | 18 + .../AdminForms/AdminAccountForm.Designer.cs | 97 +++++- .../KJDForms/AdminForms/AdminAccountForm.cs | 45 ++- .../KJDForms/AdminForms/AdminAccountForm.resx | 6 + .../AdminShopAddSubSaForm.Designer.cs | 195 +++++++++++ .../AdminForms/AdminShopAddSubSaForm.cs | 122 +++++++ .../AdminForms/AdminShopAddSubSaForm.resx | 310 ++++++++++++++++++ .../AdminForms/AdminShopForm.Designer.cs | 145 ++++---- TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs | 54 ++- .../KJDForms/AdminForms/AdminShopForm.resx | 5 +- .../DbProductSelectListManageForm.Designer.cs | 121 +++++-- .../DbProductSelectListManageForm.cs | 84 +++++ .../DbProductSelectListManageForm.resx | 6 + .../DbProductSelectListSubSaForm.Designer.cs | 212 ++++++++++++ .../DbProductSelectListSubSaForm.cs | 129 ++++++++ .../DbProductSelectListSubSaForm.resx | 310 ++++++++++++++++++ TEMUKJD/KJDForms/ShopForms/ShopForm.cs | 1 + .../ShopForms/ShopListForm.Designer.cs | 76 ++--- TEMUKJD/KJDForms/ShopForms/ShopListForm.cs | 4 +- TEMUKJD/KJDForms/ShopForms/ShopListForm.resx | 2 +- .../KJDForms/ShopForms/SubAccountListForm.cs | 1 + TEMUKJD/MainForm.cs | 2 +- Work/UserLogin.cs | 2 +- 35 files changed, 2130 insertions(+), 295 deletions(-) create mode 100644 TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.Designer.cs create mode 100644 TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.cs create mode 100644 TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.resx create mode 100644 TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.Designer.cs create mode 100644 TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.cs create mode 100644 TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.resx diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index cc4e97c..6205c86 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,8 +27,8 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 366; - //public static int VersionCount = 366; + public static int VersionCount = 369; + //public static int VersionCount = 369; /// /// 版本号 diff --git a/AllBase/Model/Result/ShopLoginInfo.cs b/AllBase/Model/Result/ShopLoginInfo.cs index 3502f8e..df4f91d 100644 --- a/AllBase/Model/Result/ShopLoginInfo.cs +++ b/AllBase/Model/Result/ShopLoginInfo.cs @@ -118,6 +118,10 @@ namespace AllBase.Model.Result /// public string SubUserName { get; set; } /// + /// 分管二级账户 + /// + public string OperateSubSaName { get; set; } + /// /// 子账户列表(抖店用) /// public List ShopSubAccountList { get; } = new List(); @@ -178,25 +182,38 @@ namespace AllBase.Model.Result { get { - var n = "未定义"; + var s = "未定义"; if (group_id == "3") - n = "主账户"; + s = "主账户"; if (group_id == "4") - n = "客服"; + s = "客服"; if (group_id == "9") - n = "采购"; + s = "采购"; if (group_id == "5") - n = "加盟"; + s = "加盟"; if (group_id == "10") - n = "上货"; + s = "上货"; if (group_id == "11") - n = "数据"; + s = "数据"; if (group_id == "8") - n = "登录"; - return n; + s = "登录"; + return s; } } public int shop_count { get; set; } + public int sa_level { get; set; } + public string sa_level_name + { + get + { + var s = "普通用户"; + if (sa_level == 1) + s = "一级超管"; + if (sa_level == 2) + s = "二级超管"; + return s; + } + } public int id { get; set; } } diff --git a/AllBase/Model/Result/TemuDBProductSelect.cs b/AllBase/Model/Result/TemuDBProductSelect.cs index 4d186ea..9f50a5d 100644 --- a/AllBase/Model/Result/TemuDBProductSelect.cs +++ b/AllBase/Model/Result/TemuDBProductSelect.cs @@ -23,6 +23,8 @@ namespace AllBase.Model.Result public int add_times { get; set; } public DateTime add_time { get; set; } public DateTime mdy_time { get; set; } + public string operate_sub_sa_name { get; set; } + public DateTime? add_sub_sa_time { get; set; } #region 外键连接属性 diff --git a/KJDService/KJD_WebService/BLL/ProductManage.cs b/KJDService/KJD_WebService/BLL/ProductManage.cs index 9b31836..882a2de 100644 --- a/KJDService/KJD_WebService/BLL/ProductManage.cs +++ b/KJDService/KJD_WebService/BLL/ProductManage.cs @@ -192,8 +192,8 @@ namespace KJD_Web.BLL if (time1 != EncrypUtil.Encryption(time)) return "{\"code\":50000,\"msg\":\"校验失败\"}"; - var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); - var id = RegexUtils.GetStringQuery(ref inputData, "db_id"); + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'"); string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); @@ -221,9 +221,9 @@ namespace KJD_Web.BLL if (time1 != EncrypUtil.Encryption(time)) return "{\"code\":50000,\"msg\":\"校验失败\"}"; - var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); - var id = RegexUtils.GetStringQuery(ref inputData, "db_id"); - string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes")); + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'"); + string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes"))?.Replace("'", "\\'"); if (string.IsNullOrEmpty(user_name)) { @@ -262,13 +262,13 @@ namespace KJD_Web.BLL if (time1 != EncrypUtil.Encryption(time)) return "{\"code\":50000,\"msg\":\"校验失败\"}"; - var out_product_Id = RegexUtils.GetStringQuery(ref inputData, "out_product_id"); - var shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id"); - var shop_account = RegexUtils.GetStringQuery(ref inputData, "shop_account"); - var user_name = RegexUtils.GetStringQuery(ref inputData, "main_user_name"); - var sub_user_name = RegexUtils.GetStringQuery(ref inputData, "sub_user_name"); - var notes = RegexUtils.GetStringQuery(ref inputData, "notes"); - var status = RegexUtils.GetStringQuery(ref inputData, "status"); + var out_product_Id = RegexUtils.GetStringQuery(ref inputData, "out_product_id")?.Replace("'", "\\'"); + var shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id")?.Replace("'", "\\'"); + var shop_account = RegexUtils.GetStringQuery(ref inputData, "shop_account")?.Replace("'", "\\'"); + var user_name = RegexUtils.GetStringQuery(ref inputData, "main_user_name")?.Replace("'", "\\'"); + var sub_user_name = RegexUtils.GetStringQuery(ref inputData, "sub_user_name")?.Replace("'", "\\'"); + var notes = RegexUtils.GetStringQuery(ref inputData, "notes")?.Replace("'", "\\'"); + var status = RegexUtils.GetStringQuery(ref inputData, "status")?.Replace("'", "\\'"); var add_product_remaining = RegexUtils.GetStringQuery(ref inputData, "add_product_remaining").ParseToInt(); if (string.IsNullOrEmpty(user_name)) @@ -317,10 +317,10 @@ namespace KJD_Web.BLL if (time1 != EncrypUtil.Encryption(time)) return "{\"code\":50000,\"msg\":\"校验失败\"}"; - var id = RegexUtils.GetStringQuery(ref inputData, "db_id"); - var draft_id = RegexUtils.GetStringQuery(ref inputData, "draft_id"); - var status = RegexUtils.GetStringQuery(ref inputData, "status"); - var add_times = RegexUtils.GetStringQuery(ref inputData, "add_times"); + var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'"); + var draft_id = RegexUtils.GetStringQuery(ref inputData, "draft_id")?.Replace("'", "\\'"); + var status = RegexUtils.GetStringQuery(ref inputData, "status")?.Replace("'", "\\'"); + var add_times = RegexUtils.GetStringQuery(ref inputData, "add_times")?.Replace("'", "\\'"); string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); @@ -374,6 +374,9 @@ namespace KJD_Web.BLL var search_notes = RegexUtils.GetStringQuery(ref inputData, "search_notes")?.Replace("'", "\\'"); var search_db_ids = RegexUtils.GetStringQuery(ref inputData, "search_db_ids")?.Replace("'", "\\'"); var status = RegexUtils.GetStringQuery(ref inputData, "status")?.Replace("'", "\\'"); + var operate_sub_sa_name = RegexUtils.GetStringQuery(ref inputData, "operate_sub_sa_name")?.Replace("'", "\\'"); + + var no_sub_sa = RegexUtils.GetStringQuery(ref inputData, "no_sub_sa")?.Replace("'", "\\'"); int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(); int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50); @@ -383,30 +386,39 @@ namespace KJD_Web.BLL string sql = "select count(s.id) from kjd.product_select s left join kjd.product p on s.out_product_id=p.id" + " where 1=1"; + + string where = ""; if (!isAdmin) - sql += " and (s.user_name='" + user_name + "' or s.sub_user_name like'%" + user_name + "%')"; + where += " and (s.user_name='" + user_name + "' or s.sub_user_name like'%" + user_name + "%')"; + if (!string.IsNullOrEmpty(operate_sub_sa_name)) + where += " and s.operate_sub_sa_name = '" + operate_sub_sa_name + "'"; + if (no_sub_sa == "true") + where += " and s.operate_sub_sa_name is null"; if (!string.IsNullOrEmpty(search_db_ids)) - sql += " and s.id in (" + search_db_ids + ")"; + where += " and s.id in (" + search_db_ids + ")"; if (!string.IsNullOrEmpty(shop_ids)) - sql += " and s.shop_id in (" + shop_ids + ")"; + where += " and s.shop_id in (" + shop_ids + ")"; if (!string.IsNullOrWhiteSpace(status)) - sql += " and s.status = '" + status + "'"; + where += " and s.status = '" + status + "'"; if (!string.IsNullOrWhiteSpace(search_shop_id)) - sql += " and s.shop_id like '%" + search_shop_id + "%'"; + where += " and s.shop_id like '%" + search_shop_id + "%'"; if (!string.IsNullOrWhiteSpace(search_shop_account)) - sql += " and s.shop_account like '%" + search_shop_account + "%'"; + where += " and s.shop_account like '%" + search_shop_account + "%'"; if (!string.IsNullOrWhiteSpace(search_notes)) - sql += " and s.notes like '%" + search_notes + "%'"; + where += " and s.notes like '%" + search_notes + "%'"; if (!string.IsNullOrWhiteSpace(search_spu)) - sql += " and p.spu_id like '%" + search_spu + "%'"; + where += " and p.spu_id like '%" + search_spu + "%'"; if (!string.IsNullOrWhiteSpace(search_skc)) - sql += " and p.skc_id like '%" + search_skc + "%'"; + where += " and p.skc_id like '%" + search_skc + "%'"; if (!string.IsNullOrWhiteSpace(search_cat)) - sql += " and p.cat_name like '%" + search_cat + "%'"; + where += " and p.cat_name like '%" + search_cat + "%'"; if (!string.IsNullOrWhiteSpace(search_ext_code)) - sql += " and p.ext_code like '%" + search_ext_code + "%'"; + where += " and p.ext_code like '%" + search_ext_code + "%'"; if (!string.IsNullOrWhiteSpace(search_prod_name)) - sql += " and p.product_name like '%" + search_prod_name + "%'"; + where += " and p.product_name like '%" + search_prod_name + "%'"; + + sql += where; + var count = mySql.ExecuteRowCount(sql); DataTable dt; @@ -421,32 +433,12 @@ namespace KJD_Web.BLL //else sql = "select s.id,s.out_product_id,s.shop_id,s.shop_account,s.user_name," + "s.sub_user_name,s.notes,s.status,s.draft_id,s.add_times,s.add_time,s.mdy_time," + + "s.operate_sub_sa_name,s.add_sub_sa_time," + "p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img " + "from kjd.product_select s left join kjd.product p on s.out_product_id=p.id where 1=1"; - if (!isAdmin) - sql += " and (s.user_name='" + user_name + "' or s.sub_user_name like'%" + user_name + "%')"; - if (!string.IsNullOrEmpty(search_db_ids)) - sql += " and s.id in (" + search_db_ids + ")"; - if (!string.IsNullOrEmpty(shop_ids)) - sql += " and s.shop_id in (" + shop_ids + ")"; - if (!string.IsNullOrWhiteSpace(status)) - sql += " and s.status = '" + status + "'"; - if (!string.IsNullOrWhiteSpace(search_shop_id)) - sql += " and s.shop_id like '%" + search_shop_id + "%'"; - if (!string.IsNullOrWhiteSpace(search_shop_account)) - sql += " and s.shop_account like '%" + search_shop_account + "%'"; - if (!string.IsNullOrWhiteSpace(search_notes)) - sql += " and s.notes like '%" + search_notes + "%'"; - if (!string.IsNullOrWhiteSpace(search_spu)) - sql += " and p.spu_id like '%" + search_spu + "%'"; - if (!string.IsNullOrWhiteSpace(search_skc)) - sql += " and p.skc_id like '%" + search_skc + "%'"; - if (!string.IsNullOrWhiteSpace(search_cat)) - sql += " and p.cat_name like '%" + search_cat + "%'"; - if (!string.IsNullOrWhiteSpace(search_ext_code)) - sql += " and p.ext_code like '%" + search_ext_code + "%'"; - if (!string.IsNullOrWhiteSpace(search_prod_name)) - sql += " and p.product_name like '%" + search_prod_name + "%'"; + + sql += where; // where子句 + sql += " order by id desc"; sql += " limit " + Math.Max(page - 1, 0) * page_size + "," + page_size; dt = mySql.ExecuteDataTable(sql); @@ -481,10 +473,12 @@ namespace KJD_Web.BLL add_times = row["add_times"].ParseToInt(), skc_id = row["skc_id"].ToString(), spu_id = row["spu_id"].ToString(), + operate_sub_sa_name = row["operate_sub_sa_name"].ToString() //product_json = row["product_json"].ToString(), //size_json = row["size_json"].ToString(), - }; - productLst.Add(prodSelect); + }; + prodSelect.add_sub_sa_time = row["add_sub_sa_time"] as DateTime?; + productLst.Add(prodSelect); } var data = JsonUtils.SerializerObjectToString(productLst); return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + "}"; @@ -511,8 +505,8 @@ namespace KJD_Web.BLL if (time1 != EncrypUtil.Encryption(time)) return "{\"code\":50000,\"msg\":\"校验失败\"}"; - var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); - var id = RegexUtils.GetStringQuery(ref inputData, "db_id"); + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'"); if (string.IsNullOrEmpty(user_name)) { @@ -535,5 +529,63 @@ namespace KJD_Web.BLL } return "{\"code\":19999,\"msg\":\"输入为空\"}"; } + + /// + /// 设置上传商品的二级超管 + /// + /// + public string SetSelectProductSubSa(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + if (string.IsNullOrEmpty(user_name)) + { + return "{\"code\":50001,\"msg\":\"没有用户名\"}"; + } + + var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'"); + var shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id")?.Replace("'", "\\'"); + var operate_sub_sa_name = RegexUtils.GetStringQuery(ref inputData, "operate_sub_sa_name")?.Replace("'", "\\'"); + var status = RegexUtils.GetStringQuery(ref inputData, "status")?.Replace("'", "\\'"); + + if (string.IsNullOrEmpty(id) && string.IsNullOrEmpty(shop_id)) + { + return "{\"code\":50002,\"msg\":\"未选择任何待上传\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "update kjd.product_select set"; + if (operate_sub_sa_name != null) + sql += " operate_sub_sa_name='" + operate_sub_sa_name + "',"; + sql += " add_sub_sa_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',"; + sql = sql.TrimEnd(','); + if (!string.IsNullOrEmpty(id)) + sql += " where id in (" + id + ")"; + else if (!string.IsNullOrEmpty(shop_id)) + sql += " where shop_id in ('" + shop_id.Replace(",","','") + "')"; + else + sql += " where 1=2"; + if(!string.IsNullOrEmpty(status)) + sql += " and status='" + status + "';"; + var rst = mySql.ExecuteNonQuery(sql); + mySql.Close(); + if (rst) + { + return "{\"code\":200,\"msg\":\"success\"}"; + } + else + { + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } } } \ No newline at end of file diff --git a/KJDService/KJD_WebService/BLL/ShopManage.cs b/KJDService/KJD_WebService/BLL/ShopManage.cs index 94619d5..2c96d02 100644 --- a/KJDService/KJD_WebService/BLL/ShopManage.cs +++ b/KJDService/KJD_WebService/BLL/ShopManage.cs @@ -24,12 +24,11 @@ namespace KJD_Web.BLL var search_notes = RegexUtils.GetStringQuery(ref inputData, "search_notes"); var search_id = RegexUtils.GetStringQuery(ref inputData, "search_id"); var search_name = RegexUtils.GetStringQuery(ref inputData, "search_name"); - var s_page = RegexUtils.GetStringQuery(ref inputData, "page"); - int page = 0; - int.TryParse(s_page, out page); - var s_page_size = RegexUtils.GetStringQuery(ref inputData, "page_size"); - int page_size; - int.TryParse(s_page_size, out page_size); + var operate_sub_sa_name = RegexUtils.GetStringQuery(ref inputData, "operate_sub_sa_name")?.Replace("'", "\\'"); + + var page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(); + var page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(); + if (page_size == 0) page_size = 50; int r2 = 0; @@ -39,20 +38,27 @@ namespace KJD_Web.BLL MysqlUtils mySql = new MysqlUtils(conn); string sql = "select count(id) from kjd.shop where 1=1"; + + //where子句 + string where = ""; if (isAdmin) - sql += " and (cookie='' or shop_id!='')"; + where += " and (cookie='' or shop_id!='')"; if (!isAdmin) - sql += " and (user_name='" + user_name + "' or sub_user_name='" + user_name + "')"; + where += " and (user_name='" + user_name + "' or sub_user_name='" + user_name + "')"; + if (!string.IsNullOrWhiteSpace(operate_sub_sa_name)) + where += " and operate_sub_sa_name='" + operate_sub_sa_name + "'"; if (!string.IsNullOrWhiteSpace(search_user_name)) - sql += " and user_name like '%" + search_user_name + "%'"; + where += " and user_name like '%" + search_user_name + "%'"; if (!string.IsNullOrWhiteSpace(search_login_name)) - sql += " and login_name like '%" + search_login_name + "%'"; + where += " and login_name like '%" + search_login_name + "%'"; if (!string.IsNullOrWhiteSpace(search_notes)) - sql += " and notes like '%" + search_notes + "%'"; + where += " and notes like '%" + search_notes + "%'"; if (!string.IsNullOrWhiteSpace(search_id)) - sql += " and shop_id like '%" + search_id + "%'"; + where += " and shop_id like '%" + search_id + "%'"; if (!string.IsNullOrWhiteSpace(search_name)) - sql += " and shop_account like '%" + search_name + "%'"; + where += " and shop_account like '%" + search_name + "%'"; + sql += where; + var count = mySql.ExecuteRowCount(sql); DataTable dt; @@ -63,22 +69,11 @@ namespace KJD_Web.BLL else { sql = "select id,login_name,login_pass,cookie,shop_id,shop_account,sub_user_name,user_name,company_name,notes,login_status," + - " add_product_remaining,add_product_month" + + " add_product_remaining,add_product_month,add_time,mdy_time,add_sub_sa_time,operate_sub_sa_name" + " from kjd.shop where 1=1"; - if (isAdmin) - sql += " and (cookie='' or shop_id!='')"; - if (!isAdmin) - sql += " and (user_name='" + user_name + "' or sub_user_name='" + user_name + "')"; - if (!string.IsNullOrWhiteSpace(search_user_name)) - sql += " and user_name like '%" + search_user_name + "%'"; - if (!string.IsNullOrWhiteSpace(search_login_name)) - sql += " and login_name like '%" + search_login_name + "%'"; - if (!string.IsNullOrWhiteSpace(search_notes)) - sql += " and notes like '%" + search_notes + "%'"; - if (!string.IsNullOrWhiteSpace(search_id)) - sql += " and shop_id like '%" + search_id + "%'"; - if (!string.IsNullOrWhiteSpace(search_name)) - sql += " and shop_account like '%" + search_name + "%'"; + + sql += where; // where 子句 + sql += " order by id desc"; sql += " limit " + Math.Max(page - 1, 0) * page_size + "," + page_size; dt = mySql.ExecuteDataTable(sql); @@ -105,6 +100,8 @@ namespace KJD_Web.BLL login_status = row["login_status"].ToString(), add_product_remaining = row["add_product_remaining"].ParseToInt(), add_product_month = row["add_product_month"].ParseToInt(), + operate_sub_sa_name = row["operate_sub_sa_name"] as string, + }; shopList.Add(shop); } @@ -428,5 +425,60 @@ namespace KJD_Web.BLL } return "{\"code\":19999,\"msg\":\"未知错误\"}"; } + + /// + /// 设置店铺的二级超管 + /// + /// + public string SetShopSubSa(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + if (string.IsNullOrEmpty(user_name)) + { + return "{\"code\":50001,\"msg\":\"没有用户名\"}"; + } + + var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'"); + var login_name = RegexUtils.GetStringQuery(ref inputData, "shop_login_name")?.Replace("'", "\\'"); + var operate_sub_sa_name = RegexUtils.GetStringQuery(ref inputData, "operate_sub_sa_name")?.Replace("'", "\\'"); + + if (string.IsNullOrEmpty(id) && string.IsNullOrEmpty(login_name)) + { + return "{\"code\":50002,\"msg\":\"未选择任何待上传\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "update kjd.shop set"; + if (operate_sub_sa_name != null) + sql += " operate_sub_sa_name='" + operate_sub_sa_name + "',"; + sql += " add_sub_sa_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',"; + sql = sql.TrimEnd(','); + if (!string.IsNullOrEmpty(id)) + sql += " where id in (" + id + ")"; + else if (!string.IsNullOrEmpty(login_name)) + sql += " where login_name in ('" + login_name.Replace(",", "','") + "')"; + else + sql += " where 1=2"; + var rst = mySql.ExecuteNonQuery(sql); + mySql.Close(); + if (rst) + { + return "{\"code\":200,\"msg\":\"success\"}"; + } + else + { + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } } } \ No newline at end of file diff --git a/KJDService/KJD_WebService/BLL/UserManage.cs b/KJDService/KJD_WebService/BLL/UserManage.cs index 864c4ec..12f7d0c 100644 --- a/KJDService/KJD_WebService/BLL/UserManage.cs +++ b/KJDService/KJD_WebService/BLL/UserManage.cs @@ -1,5 +1,6 @@ using KJD_Web.Model; using KJD_Web.Utils; +using NaiBa.Util.Extension; using System; using System.Collections.Generic; using System.Data; @@ -17,8 +18,8 @@ namespace KJD_Web.BLL { if (!string.IsNullOrEmpty(inputData)) { - var mobile = RegexUtils.GetStringQuery(ref inputData, "mobile"); - var password = RegexUtils.GetStringQuery(ref inputData, "password"); + var mobile = RegexUtils.GetStringQuery(ref inputData, "mobile")?.Replace("'", "\\'"); + var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'"); int r2 = 0; int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); @@ -43,8 +44,10 @@ namespace KJD_Web.BLL group_id = row["group_id"].ToString(), card_id = row["card_id"].ToString(), company_name = row["company_name"].ToString(), - is_sa = Convert.ToInt32(row["is_sa"]), + is_sa = row.Table.Columns.Contains("is_sa") ? row["is_sa"].ParseToInt() : 0, + sa_level = row.Table.Columns.Contains("sa_level") ? row["sa_level"].ParseToInt() : 0, }; + if (string.IsNullOrEmpty(user.company_name)) { user.company_name = "-"; @@ -62,15 +65,15 @@ namespace KJD_Web.BLL { if (!string.IsNullOrEmpty(inputData)) { - var parent_user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); - var nick_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_nick_name")); - var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_name")); - var mobile = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_mobile")); - var password = RegexUtils.GetStringQuery(ref inputData, "sub_password"); - var group_id = RegexUtils.GetStringQuery(ref inputData, "group_id"); - var card_id = RegexUtils.GetStringQuery(ref inputData, "card_id"); - var company_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "company")); - var notes = RegexUtils.GetStringQuery(ref inputData, "notes"); + var parent_user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + var nick_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_nick_name"))?.Replace("'", "\\'"); + var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_name"))?.Replace("'", "\\'"); + var mobile = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_mobile"))?.Replace("'", "\\'"); + var password = RegexUtils.GetStringQuery(ref inputData, "sub_password")?.Replace("'", "\\'"); + var group_id = RegexUtils.GetStringQuery(ref inputData, "group_id")?.Replace("'", "\\'"); + var card_id = RegexUtils.GetStringQuery(ref inputData, "card_id")?.Replace("'", "\\'"); + var company_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "company"))?.Replace("'", "\\'"); + var notes = RegexUtils.GetStringQuery(ref inputData, "notes")?.Replace("'", "\\'"); int r2 = 0; int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); @@ -153,14 +156,15 @@ namespace KJD_Web.BLL { if (!string.IsNullOrEmpty(inputData)) { - var id = RegexUtils.GetStringQuery(ref inputData, "id"); - var parent_user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); - var nick_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_nick_name")); - var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_name")); - var mobile = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_mobile")); - var password = RegexUtils.GetStringQuery(ref inputData, "sub_password"); - var group_id = RegexUtils.GetStringQuery(ref inputData, "group_id"); - var card_id = RegexUtils.GetStringQuery(ref inputData, "card_id"); + var id = RegexUtils.GetStringQuery(ref inputData, "id")?.Replace("'", "\\'"); + var parent_user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + var nick_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_nick_name"))?.Replace("'", "\\'"); + var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_name"))?.Replace("'", "\\'"); + var mobile = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_mobile"))?.Replace("'", "\\'"); + var password = RegexUtils.GetStringQuery(ref inputData, "sub_password")?.Replace("'", "\\'"); + var group_id = RegexUtils.GetStringQuery(ref inputData, "group_id")?.Replace("'", "\\'"); + var card_id = RegexUtils.GetStringQuery(ref inputData, "card_id")?.Replace("'", "\\'"); + var notes = RegexUtils.GetStringQuery(ref inputData, "notes")?.Replace("'", "\\'"); int r2 = 0; int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); @@ -182,6 +186,8 @@ namespace KJD_Web.BLL sql += " group_id=" + group_id + ","; if (!string.IsNullOrEmpty(card_id)) sql += " card_id='" + card_id + "',"; + if (!string.IsNullOrEmpty(notes)) + sql += " notes='" + notes + "',"; sql = sql.TrimEnd(','); sql += " where id=" + id + ""; @@ -226,10 +232,11 @@ namespace KJD_Web.BLL { if (!string.IsNullOrEmpty(inputData)) { - var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); - var password = RegexUtils.GetStringQuery(ref inputData, "password"); - var group_id = RegexUtils.GetStringQuery(ref inputData, "group_id"); - var search = RegexUtils.GetStringQuery(ref inputData, "search"); + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); + var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'"); + var group_id = RegexUtils.GetStringQuery(ref inputData, "group_id")?.Replace("'", "\\'"); + var search = RegexUtils.GetStringQuery(ref inputData, "search")?.Replace("'", "\\'"); + var sa_level = RegexUtils.GetStringQuery(ref inputData, "sa_level")?.Replace("'", "\\'"); int r2 = 0; int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); @@ -238,7 +245,9 @@ namespace KJD_Web.BLL //string sql = "select * from kjd.user where group_id=3"; string sql = "select * from kjd.user where 1=1"; if (!string.IsNullOrEmpty(group_id)) - sql+=" and group_id=" + group_id + " "; + sql += " and group_id=" + group_id; + if (!string.IsNullOrEmpty(sa_level)) + sql += " and sa_level=" + sa_level; if (!string.IsNullOrEmpty(search)) sql += " and (user_name like '%" + search + "%' or nick_name like '%" + search + @@ -265,6 +274,8 @@ namespace KJD_Web.BLL parent_user_name = row["parent_user_name"].ToString(), company_name = row["company_name"].ToString(), notes = row["notes"].ToString(), + is_sa = row.Table.Columns.Contains("is_sa") ? row["is_sa"].ParseToInt() : 0, + sa_level = row.Table.Columns.Contains("sa_level") ? row["sa_level"].ParseToInt() : 0, }; if (string.IsNullOrEmpty(user.mobile)) { @@ -283,14 +294,15 @@ namespace KJD_Web.BLL { if (!string.IsNullOrEmpty(inputData)) { - var nick_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_nick_name")); - var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_user_name")); - var mobile = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_mobile")); - var password = RegexUtils.GetStringQuery(ref inputData, "add_password"); - var company_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_company")); - var group_id = RegexUtils.GetStringQuery(ref inputData, "group_id"); - var card_id = RegexUtils.GetStringQuery(ref inputData, "card_id"); - var notes = RegexUtils.GetStringQuery(ref inputData, "notes"); + var nick_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_nick_name"))?.Replace("'", "\\'"); + var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_user_name"))?.Replace("'", "\\'"); + var mobile = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_mobile"))?.Replace("'", "\\'"); + var password = RegexUtils.GetStringQuery(ref inputData, "add_password")?.Replace("'", "\\'"); + var company_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_company"))?.Replace("'", "\\'"); + var group_id = RegexUtils.GetStringQuery(ref inputData, "group_id")?.Replace("'", "\\'"); ; + var card_id = RegexUtils.GetStringQuery(ref inputData, "card_id")?.Replace("'", "\\'"); + var notes = RegexUtils.GetStringQuery(ref inputData, "notes")?.Replace("'", "\\'"); + var sa_level = RegexUtils.GetStringQuery(ref inputData, "sa_level")?.Replace("'", "\\'"); int r2 = 0; int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); @@ -305,9 +317,9 @@ namespace KJD_Web.BLL return "{\"code\":500,\"msg\":\"用户名已存在\"}"; } - sql = "insert into kjd.user (nick_name,user_name,mobile,password,card_id,group_id,company_name,notes,add_time,mdy_time) " + + sql = "insert into kjd.user (nick_name,user_name,mobile,password,card_id,group_id,company_name,notes,sa_level,add_time,mdy_time) " + "values ('" + nick_name + "','" + user_name + "','" + mobile + "','" + password + "','" + card_id + "','" + - group_id + "','" + company_name + "','" + notes + "','" + + group_id + "','" + company_name + "','" + notes + "'," + sa_level + ",'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');"; var rst = mySql.ExecuteNonQuery(sql); @@ -324,14 +336,16 @@ namespace KJD_Web.BLL { if (!string.IsNullOrEmpty(inputData)) { - var id = RegexUtils.GetStringQuery(ref inputData, "id"); - var nick_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_nick_name")); - var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_user_name")); - var mobile = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_mobile")); - var company_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_company")); - var password = RegexUtils.GetStringQuery(ref inputData, "add_password"); - var group_id = RegexUtils.GetStringQuery(ref inputData, "group_id"); - var card_id = RegexUtils.GetStringQuery(ref inputData, "card_id"); + var id = RegexUtils.GetStringQuery(ref inputData, "id")?.Replace("'", "\\'"); + var nick_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_nick_name"))?.Replace("'", "\\'"); + var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_user_name"))?.Replace("'", "\\'"); + var mobile = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_mobile"))?.Replace("'", "\\'"); + var company_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_company"))?.Replace("'", "\\'"); + var password = RegexUtils.GetStringQuery(ref inputData, "add_password")?.Replace("'", "\\'"); + var group_id = RegexUtils.GetStringQuery(ref inputData, "group_id")?.Replace("'", "\\'"); + var card_id = RegexUtils.GetStringQuery(ref inputData, "card_id")?.Replace("'", "\\'"); + var notes = RegexUtils.GetStringQuery(ref inputData, "notes")?.Replace("'", "\\'"); + var sa_level = RegexUtils.GetStringQuery(ref inputData, "sa_level")?.Replace("'", "\\'"); int r2 = 0; int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); @@ -355,6 +369,10 @@ namespace KJD_Web.BLL sql += " group_id=" + group_id + ","; if (!string.IsNullOrEmpty(card_id)) sql += " card_id='" + card_id + "',"; + if (!string.IsNullOrEmpty(notes)) + sql += " notes='" + notes + "',"; + if (!string.IsNullOrEmpty(sa_level)) + sql += " sa_level=" + sa_level + ","; sql = sql.TrimEnd(','); sql += " where id=" + id + ""; @@ -364,6 +382,10 @@ namespace KJD_Web.BLL { return "{\"code\":200,\"msg\":\"success\"}"; } + else + { + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; + } } return "{\"code\":19999,\"msg\":\"输入为空\"}"; } @@ -372,9 +394,9 @@ namespace KJD_Web.BLL public string ChangePassword(string inputData) { - var userName = RegexUtils.GetStringJson(ref inputData, "user_name"); - var password = RegexUtils.GetStringJson(ref inputData, "password"); - var newPassword = RegexUtils.GetStringJson(ref inputData, "new_password"); + var userName = RegexUtils.GetStringJson(ref inputData, "user_name")?.Replace("'", "\\'"); + var password = RegexUtils.GetStringJson(ref inputData, "password")?.Replace("'", "\\'"); + var newPassword = RegexUtils.GetStringJson(ref inputData, "new_password")?.Replace("'", "\\'"); string conn = System.Configuration.ConfigurationManager.ConnectionStrings["Conn"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); diff --git a/KJDService/KJD_WebService/Model/ProductSelectResultParam.cs b/KJDService/KJD_WebService/Model/ProductSelectResultParam.cs index 41b3303..f5b019e 100644 --- a/KJDService/KJD_WebService/Model/ProductSelectResultParam.cs +++ b/KJDService/KJD_WebService/Model/ProductSelectResultParam.cs @@ -23,6 +23,8 @@ namespace KJD_Web.Model public int add_times { get; set; } public DateTime add_time { get; set; } public DateTime mdy_time { get; set; } + public string operate_sub_sa_name { get; set; } + public DateTime? add_sub_sa_time { get; set; } #region 外键连接属性 diff --git a/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs b/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs index 453efd7..31b9963 100644 --- a/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs +++ b/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs @@ -23,5 +23,7 @@ namespace KJD_Web.Model.ShopModel public string login_status { get; set; } public int add_product_remaining { get; set; } public int add_product_month { get; set; } + + public string operate_sub_sa_name { get; set; } } } \ No newline at end of file diff --git a/KJDService/KJD_WebService/Model/UserLoginResultParam.cs b/KJDService/KJD_WebService/Model/UserLoginResultParam.cs index b7dc342..f99e94a 100644 --- a/KJDService/KJD_WebService/Model/UserLoginResultParam.cs +++ b/KJDService/KJD_WebService/Model/UserLoginResultParam.cs @@ -34,7 +34,19 @@ namespace KJD_Web.Model public string card_id { get; set; } - public int is_sa { get; set; } + private int _is_sa = 0; + public int is_sa + { + get { return Math.Max(_sa_level, _is_sa); } + set { _is_sa = value; } + } + + private int _sa_level = 0; + public int sa_level + { + get { return Math.Max(_sa_level, _is_sa); } + set { _sa_level = value; } + } public DateTime add_time { get; set; } diff --git a/KJDService/KJD_WebService/ProductService.asmx.cs b/KJDService/KJD_WebService/ProductService.asmx.cs index 1dee64f..cc69a03 100644 --- a/KJDService/KJD_WebService/ProductService.asmx.cs +++ b/KJDService/KJD_WebService/ProductService.asmx.cs @@ -181,5 +181,17 @@ namespace KJD_Web Context.Response.Write(result); Context.Response.End(); } + + [WebMethod] + public void set_select_product_sub_sa() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ProductManage().SetSelectProductSubSa(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } } } diff --git a/KJDService/KJD_WebService/ShopService.asmx.cs b/KJDService/KJD_WebService/ShopService.asmx.cs index 926766b..ee1e60f 100644 --- a/KJDService/KJD_WebService/ShopService.asmx.cs +++ b/KJDService/KJD_WebService/ShopService.asmx.cs @@ -168,5 +168,17 @@ namespace KJD_Web Context.Response.Write(result); Context.Response.End(); } + + [WebMethod] + public void set_shop_sub_sa() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new ShopManage().SetShopSubSa(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } } } diff --git a/KJDService/KJD_WebService/Utils/Extension/Extension.Convert.cs b/KJDService/KJD_WebService/Utils/Extension/Extension.Convert.cs index 74a41c5..21b71ad 100644 --- a/KJDService/KJD_WebService/Utils/Extension/Extension.Convert.cs +++ b/KJDService/KJD_WebService/Utils/Extension/Extension.Convert.cs @@ -21,6 +21,9 @@ namespace NaiBa.Util.Extension /// public static long ParseToLong(this object obj) { + if (obj == null) + return 0L; + try { string str = obj.ParseToString(); @@ -44,6 +47,9 @@ namespace NaiBa.Util.Extension /// public static long ParseToLong(this string str, long defaultValue) { + if (str == null) + return defaultValue; + try { return long.Parse(str); @@ -63,6 +69,9 @@ namespace NaiBa.Util.Extension /// public static int ParseToInt(this object str) { + if (str == null) + return 0; + try { return Convert.ToInt32(str); diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index 6de8ac4..9fc34e7 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -227,6 +227,12 @@ AdminAccountForm.cs + + Form + + + AdminShopAddSubSaForm.cs + Form @@ -313,6 +319,12 @@ DbProductSelectListManageForm.cs + + Form + + + DbProductSelectListSubSaForm.cs + Form @@ -879,6 +891,9 @@ AdminShopForm.cs + + AdminShopAddSubSaForm.cs + BaseForm.cs @@ -921,6 +936,9 @@ DbProductSelectListManageForm.cs + + DbProductSelectListSubSaForm.cs + UserSelectDbProductForm.cs diff --git a/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.Designer.cs b/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.Designer.cs index 0a7dd14..ec43bb2 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.Designer.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.Designer.cs @@ -33,6 +33,9 @@ namespace TemuKJD.KJDForms.AdminForms System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer5 = new System.Windows.Forms.SplitContainer(); + this.cmbSaLevel = new System.Windows.Forms.ComboBox(); + this.label6 = new System.Windows.Forms.Label(); + this.lblWatermark = new System.Windows.Forms.Label(); this.cmbSearchGroup = new System.Windows.Forms.ComboBox(); this.label5 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); @@ -69,6 +72,8 @@ namespace TemuKJD.KJDForms.AdminForms this.groupNameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colCompany = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.shopCountColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSaLevel = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSaLevelName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.editColumn = new System.Windows.Forms.DataGridViewLinkColumn(); this.deleteColumn = new System.Windows.Forms.DataGridViewLinkColumn(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer5)).BeginInit(); @@ -91,6 +96,9 @@ namespace TemuKJD.KJDForms.AdminForms // // splitContainer5.Panel1 // + this.splitContainer5.Panel1.Controls.Add(this.cmbSaLevel); + this.splitContainer5.Panel1.Controls.Add(this.label6); + this.splitContainer5.Panel1.Controls.Add(this.lblWatermark); this.splitContainer5.Panel1.Controls.Add(this.cmbSearchGroup); this.splitContainer5.Panel1.Controls.Add(this.label5); this.splitContainer5.Panel1.Controls.Add(this.label4); @@ -123,11 +131,46 @@ namespace TemuKJD.KJDForms.AdminForms // this.splitContainer5.Panel2.Controls.Add(this.splitContainer1); this.splitContainer5.Panel2.Padding = new System.Windows.Forms.Padding(0, 5, 5, 5); - this.splitContainer5.Size = new System.Drawing.Size(800, 509); + this.splitContainer5.Size = new System.Drawing.Size(800, 542); this.splitContainer5.SplitterDistance = 357; this.splitContainer5.SplitterWidth = 1; this.splitContainer5.TabIndex = 3; // + // cmbSaLevel + // + this.cmbSaLevel.FormattingEnabled = true; + this.cmbSaLevel.Items.AddRange(new object[] { + "普通用户", + "一级超管", + "二级超管"}); + this.cmbSaLevel.Location = new System.Drawing.Point(112, 388); + this.cmbSaLevel.Name = "cmbSaLevel"; + this.cmbSaLevel.Size = new System.Drawing.Size(148, 25); + this.cmbSaLevel.TabIndex = 48; + this.cmbSaLevel.Text = "普通用户"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label6.Location = new System.Drawing.Point(27, 390); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(79, 20); + this.label6.TabIndex = 47; + this.label6.Text = "超管等级:"; + // + // lblWatermark + // + this.lblWatermark.AutoSize = true; + this.lblWatermark.BackColor = System.Drawing.Color.White; + this.lblWatermark.ForeColor = System.Drawing.SystemColors.ButtonShadow; + this.lblWatermark.Location = new System.Drawing.Point(113, 9); + this.lblWatermark.Name = "lblWatermark"; + this.lblWatermark.Size = new System.Drawing.Size(140, 17); + this.lblWatermark.TabIndex = 45; + this.lblWatermark.Text = "查询用户名、昵称或公司"; + this.lblWatermark.Click += new System.EventHandler(this.lblWatermark_Click); + // // cmbSearchGroup // this.cmbSearchGroup.FormattingEnabled = true; @@ -174,7 +217,7 @@ namespace TemuKJD.KJDForms.AdminForms // this.label3.AutoSize = true; this.label3.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label3.Location = new System.Drawing.Point(55, 345); + this.label3.Location = new System.Drawing.Point(55, 348); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(51, 20); this.label3.TabIndex = 40; @@ -182,7 +225,7 @@ namespace TemuKJD.KJDForms.AdminForms // // txtCompany // - this.txtCompany.Location = new System.Drawing.Point(112, 345); + this.txtCompany.Location = new System.Drawing.Point(112, 347); this.txtCompany.Name = "txtCompany"; this.txtCompany.Size = new System.Drawing.Size(148, 23); this.txtCompany.TabIndex = 39; @@ -202,7 +245,7 @@ namespace TemuKJD.KJDForms.AdminForms // this.label1.AutoSize = true; this.label1.ForeColor = System.Drawing.SystemColors.ButtonShadow; - this.label1.Location = new System.Drawing.Point(56, 446); + this.label1.Location = new System.Drawing.Point(56, 475); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(212, 17); this.label1.TabIndex = 37; @@ -231,7 +274,7 @@ namespace TemuKJD.KJDForms.AdminForms this.btnCancel.Cursor = System.Windows.Forms.Cursors.Hand; this.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnCancel.ForeColor = System.Drawing.Color.White; - this.btnCancel.Location = new System.Drawing.Point(59, 396); + this.btnCancel.Location = new System.Drawing.Point(59, 431); this.btnCancel.Name = "btnCancel"; this.btnCancel.Size = new System.Drawing.Size(86, 25); this.btnCancel.TabIndex = 35; @@ -247,7 +290,7 @@ namespace TemuKJD.KJDForms.AdminForms this.btnOpUser.Cursor = System.Windows.Forms.Cursors.Hand; this.btnOpUser.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnOpUser.ForeColor = System.Drawing.Color.White; - this.btnOpUser.Location = new System.Drawing.Point(174, 396); + this.btnOpUser.Location = new System.Drawing.Point(174, 431); this.btnOpUser.Name = "btnOpUser"; this.btnOpUser.Size = new System.Drawing.Size(86, 25); this.btnOpUser.TabIndex = 34; @@ -342,7 +385,7 @@ namespace TemuKJD.KJDForms.AdminForms "上货", "数据", "登录"}); - this.cmbGroup.Location = new System.Drawing.Point(112, 302); + this.cmbGroup.Location = new System.Drawing.Point(112, 303); this.cmbGroup.Name = "cmbGroup"; this.cmbGroup.Size = new System.Drawing.Size(148, 25); this.cmbGroup.TabIndex = 26; @@ -421,8 +464,8 @@ namespace TemuKJD.KJDForms.AdminForms // splitContainer1.Panel1 // this.splitContainer1.Panel1.Controls.Add(this.dgvUser); - this.splitContainer1.Size = new System.Drawing.Size(437, 499); - this.splitContainer1.SplitterDistance = 468; + this.splitContainer1.Size = new System.Drawing.Size(437, 532); + this.splitContainer1.SplitterDistance = 501; this.splitContainer1.TabIndex = 2; // // dgvUser @@ -451,6 +494,8 @@ namespace TemuKJD.KJDForms.AdminForms this.groupNameColumn, this.colCompany, this.shopCountColumn, + this.colSaLevel, + this.colSaLevelName, this.editColumn, this.deleteColumn}); dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; @@ -467,7 +512,7 @@ namespace TemuKJD.KJDForms.AdminForms this.dgvUser.Name = "dgvUser"; this.dgvUser.ReadOnly = true; this.dgvUser.RowTemplate.Height = 23; - this.dgvUser.Size = new System.Drawing.Size(437, 468); + this.dgvUser.Size = new System.Drawing.Size(437, 501); this.dgvUser.TabIndex = 1; this.dgvUser.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvUser_CellContentClick); // @@ -516,6 +561,19 @@ namespace TemuKJD.KJDForms.AdminForms this.shopCountColumn.ReadOnly = true; this.shopCountColumn.Visible = false; // + // colSaLevel + // + this.colSaLevel.HeaderText = "saLevel"; + this.colSaLevel.Name = "colSaLevel"; + this.colSaLevel.ReadOnly = true; + this.colSaLevel.Visible = false; + // + // colSaLevelName + // + this.colSaLevelName.HeaderText = "账户类型"; + this.colSaLevelName.Name = "colSaLevelName"; + this.colSaLevelName.ReadOnly = true; + // // editColumn // this.editColumn.HeaderText = "编辑"; @@ -530,13 +588,13 @@ namespace TemuKJD.KJDForms.AdminForms this.deleteColumn.Name = "deleteColumn"; this.deleteColumn.ReadOnly = true; // - // MainAccountForm + // AdminAccountForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(800, 509); + this.ClientSize = new System.Drawing.Size(800, 542); this.Controls.Add(this.splitContainer5); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.Name = "MainAccountForm"; + this.Name = "AdminAccountForm"; this.Text = "AccountForm"; this.Load += new System.EventHandler(this.MainAccountForm_Load); this.VisibleChanged += new System.EventHandler(this.MainAccountForm_VisibleChanged); @@ -581,6 +639,13 @@ namespace TemuKJD.KJDForms.AdminForms private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.TextBox txtCompany; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtSearch; + private System.Windows.Forms.ComboBox cmbSearchGroup; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label lblWatermark; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.ComboBox cmbSaLevel; private System.Windows.Forms.DataGridViewTextBoxColumn UserIdColumn; private System.Windows.Forms.DataGridViewTextBoxColumn UserNickNameColumn; private System.Windows.Forms.DataGridViewTextBoxColumn mobileColumn; @@ -588,11 +653,9 @@ namespace TemuKJD.KJDForms.AdminForms private System.Windows.Forms.DataGridViewTextBoxColumn groupNameColumn; private System.Windows.Forms.DataGridViewTextBoxColumn colCompany; private System.Windows.Forms.DataGridViewTextBoxColumn shopCountColumn; + private System.Windows.Forms.DataGridViewTextBoxColumn colSaLevel; + private System.Windows.Forms.DataGridViewTextBoxColumn colSaLevelName; private System.Windows.Forms.DataGridViewLinkColumn editColumn; private System.Windows.Forms.DataGridViewLinkColumn deleteColumn; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.TextBox txtSearch; - private System.Windows.Forms.ComboBox cmbSearchGroup; - private System.Windows.Forms.Label label5; } } \ No newline at end of file diff --git a/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.cs index 9ed8db8..386d871 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.cs @@ -66,6 +66,12 @@ namespace TemuKJD.KJDForms.AdminForms } if (!string.IsNullOrEmpty(txtPassword.Text)) data.Append("&add_password=" + Md5Base.GetMd5(txtPassword.Text).ToLower()); + if (cmbSaLevel.Text=="一级超管") + data.Append("&sa_level=1"); + else if (cmbSaLevel.Text == "二级超管") + data.Append("&sa_level=2"); + else + data.Append("&sa_level=0"); string url = BaseClass.BuildObjString("user/add_user"); if (btnOpUser.Text != "添加用户" && !string.IsNullOrEmpty(Uid)) { @@ -127,10 +133,21 @@ namespace TemuKJD.KJDForms.AdminForms user.group_id = BaseRegex.GetStringJson(ref oStr, "group_id"); user.shop_count = BaseRegex.GetIntJson(ref oStr, "shop_count"); user.company_name = BaseRegex.GetStringJson(ref oStr, "company_name"); + user.sa_level = BaseRegex.GetIntJson(ref oStr, "sa_level"); AllUsers.Add(user); - dgvUser.Rows.Add(user.id, user.nick_name, user.user_name, user.group_id, - user.group_name, user.company_name, user.shop_count, "编辑", "删除"); + dgvUser.Rows.Add( + user.id, + user.nick_name, + user.user_name, + user.group_id, + user.group_name, + user.company_name, + user.shop_count, + user.sa_level, + user.sa_level_name, + "编辑", + "删除"); } } } @@ -150,6 +167,8 @@ namespace TemuKJD.KJDForms.AdminForms txtRePass.Clear(); txtMobile.Clear(); txtCompany.Clear(); + cmbGroup.Text = "主账户"; + cmbSaLevel.Text = "普通用户"; } private void btnRefresh_Click(object sender, EventArgs e) @@ -167,6 +186,7 @@ namespace TemuKJD.KJDForms.AdminForms string mobile = dgvUser.Rows[e.RowIndex].Cells["mobileColumn"].Value.ToString(); string groupName = dgvUser.Rows[e.RowIndex].Cells["groupNameColumn"].Value.ToString(); string company = dgvUser.Rows[e.RowIndex].Cells["colCompany"].Value.ToString(); + string saLevelName = dgvUser.Rows[e.RowIndex].Cells["colSaLevelName"].Value.ToString(); if (columname == "编辑") { Uid = uid; @@ -178,6 +198,7 @@ namespace TemuKJD.KJDForms.AdminForms txtCompany.Text = company; btnOpUser.Text = "保存用户"; btnCancel.Visible = true; + cmbSaLevel.Text = saLevelName; } if (columname == "删除") { @@ -230,6 +251,26 @@ namespace TemuKJD.KJDForms.AdminForms this.cmbSearchGroup.Items.Add("主账户"); this.cmbSearchGroup.Items.Add("客服"); this.cmbSearchGroup.Items.Add("全部"); + + this.txtSearch.GotFocus += TxtSearch_GotFocus; + this.txtSearch.LostFocus += TxtSearch_LostFocus; + } + + private void TxtSearch_LostFocus(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(this.txtSearch.Text)) + lblWatermark.Visible = true; + } + + private void TxtSearch_GotFocus(object sender, EventArgs e) + { + lblWatermark.Visible = false; + } + + private void lblWatermark_Click(object sender, EventArgs e) + { + this.txtSearch.Focus(); + this.lblWatermark.Visible = false; } } } diff --git a/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.resx b/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.resx index eb2decc..c3a4499 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.resx +++ b/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.resx @@ -138,6 +138,12 @@ True + + True + + + True + True diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.Designer.cs b/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.Designer.cs new file mode 100644 index 0000000..04c367a --- /dev/null +++ b/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.Designer.cs @@ -0,0 +1,195 @@ + +namespace TemuKJD.KJDForms.AdminForms +{ + partial class AdminShopAddSubSaForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + 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(AdminShopAddSubSaForm)); + this.panel2 = new System.Windows.Forms.Panel(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.dgvSaUser = new TemuKJD.UserComponent.DataGridViewEx(); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colSubSaId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubUserName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubSaName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.btnOk = new TemuKJD.UserControls.ButtonEx(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSaUser)).BeginInit(); + this.SuspendLayout(); + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.Controls.Add(this.splitContainer1); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(1, 33); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(391, 506); + this.panel2.TabIndex = 1; + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.dgvSaUser); + this.splitContainer1.Panel1.Padding = new System.Windows.Forms.Padding(4); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.btnOk); + this.splitContainer1.Size = new System.Drawing.Size(391, 506); + this.splitContainer1.SplitterDistance = 464; + this.splitContainer1.TabIndex = 190; + // + // dgvSaUser + // + this.dgvSaUser.AllowUserToAddRows = false; + this.dgvSaUser.AllowUserToDeleteRows = false; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSaUser.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.dgvSaUser.BackgroundColor = System.Drawing.Color.White; + this.dgvSaUser.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.dgvSaUser.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + this.dgvSaUser.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvSaUser.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colSelect, + this.colSubSaId, + this.colSubUserName, + this.colSubSaName}); + this.dgvSaUser.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvSaUser.Location = new System.Drawing.Point(4, 4); + this.dgvSaUser.Name = "dgvSaUser"; + this.dgvSaUser.ReadOnly = true; + this.dgvSaUser.RowHeadersWidth = 51; + this.dgvSaUser.RowTemplate.Height = 23; + this.dgvSaUser.Size = new System.Drawing.Size(383, 456); + this.dgvSaUser.TabIndex = 189; + this.dgvSaUser.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSaUser_CellContentClick); + // + // colSelect + // + this.colSelect.HeaderText = "选择"; + this.colSelect.MinimumWidth = 6; + 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.Width = 30; + // + // colSubSaId + // + this.colSubSaId.HeaderText = "二级超管Id"; + this.colSubSaId.MinimumWidth = 6; + this.colSubSaId.Name = "colSubSaId"; + this.colSubSaId.ReadOnly = true; + this.colSubSaId.Visible = false; + this.colSubSaId.Width = 125; + // + // colSubUserName + // + this.colSubUserName.HeaderText = "昵称"; + this.colSubUserName.Name = "colSubUserName"; + this.colSubUserName.ReadOnly = true; + this.colSubUserName.Width = 150; + // + // colSubSaName + // + this.colSubSaName.HeaderText = "账户"; + this.colSubSaName.Name = "colSubSaName"; + this.colSubSaName.ReadOnly = true; + this.colSubSaName.Width = 150; + // + // btnOk + // + this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnOk.ForeColor = System.Drawing.Color.White; + this.btnOk.Location = new System.Drawing.Point(321, 1); + this.btnOk.Margin = new System.Windows.Forms.Padding(2); + this.btnOk.Name = "btnOk"; + this.btnOk.Size = new System.Drawing.Size(66, 26); + this.btnOk.TabIndex = 374; + this.btnOk.Text = "确定"; + this.btnOk.UseVisualStyleBackColor = false; + this.btnOk.Click += new System.EventHandler(this.btnOk_Click); + // + // AdminShopAddSubSaForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(393, 540); + this.Controls.Add(this.panel2); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "AdminShopAddSubSaForm"; + this.Text = "指定二级超管"; + this.TitleText = "指定二级超管"; + this.Load += new System.EventHandler(this.AdminShopAddSubSaForm_Load); + this.Controls.SetChildIndex(this.panel2, 0); + this.panel2.ResumeLayout(false); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvSaUser)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel2; + private UserComponent.DataGridViewEx dgvSaUser; + private System.Windows.Forms.SplitContainer splitContainer1; + private UserControls.ButtonEx btnOk; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colSubSaId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSubUserName; + private System.Windows.Forms.DataGridViewTextBoxColumn colSubSaName; + } +} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.cs new file mode 100644 index 0000000..1a81a28 --- /dev/null +++ b/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.cs @@ -0,0 +1,122 @@ +using AllBase; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.KJDForms.BaseForms; +using Work; + +namespace TemuKJD.KJDForms.AdminForms +{ + public partial class AdminShopAddSubSaForm : LRBaseForm + { + List lstShopLoginName = new List(); + + List lstSubSa = new List(); + public AdminShopAddSubSaForm(List ShopSelectIds = null) + { + InitializeComponent(); + if (ShopSelectIds != null) + lstShopLoginName.AddRange(ShopSelectIds); + } + + private void btnOk_Click(object sender, EventArgs e) + { + var selectRow = this.dgvSaUser.Rows.Cast().FirstOrDefault(r => r.Cells["colSelect"]?.Value.ParseToBool() == true); + if (selectRow == null) + { + BaseMsgForm.ShowError("请选择要分配的二级管理员!"); + return; + } + var sub_sa = selectRow.Cells["colSubSaName"].Value.ParseToString(); + + StringBuilder data = new StringBuilder(); + data.Append(UserLogin.GetSignaturex()); + data.Append("&shop_login_name=" + string.Join(",", lstShopLoginName)); + data.Append("&operate_sub_sa_name=" + sub_sa); + string url = BaseClass.BuildObjString("shop/set_shop_sub_sa"); + string html = GetHtml.PostUtf8(url, data.ToString()).Trim(); + if (!string.IsNullOrEmpty(html)) + { + if (html.Contains("\"code\":200")) + { + OnSaveComplete(sub_sa); + this.Close(); + } + else + { + var msg = BaseRegex.GetStringJson(ref html, "msg"); + if (string.IsNullOrEmpty(msg)) + msg = html; + BaseMsgForm.ShowError(msg, "错误"); + } + } + else + BaseMsgForm.ShowError("未知错误,请重试!", "错误"); + } + + private void AdminShopAddSubSaForm_Load(object sender, EventArgs e) + { + dgvSaUser.Rows.Clear(); + lstSubSa.Clear(); + string url = BaseClass.BuildObjString("user/get_all_user"); + StringBuilder data = new StringBuilder(); + data.Append(UserLogin.GetSignaturex()); + data.Append("&sa_level=2"); + string html = GetHtml.PostUtf8(url, data.ToString()); + if (string.IsNullOrEmpty(html)) + return; + if (html.Contains("\"data\"")) + { + var userObj = Newtonsoft.Json.Linq.JObject.Parse(html); + foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) + { + string oStr = JsonHelper.SerializeObject(obj); + DouShopSubAccountInfo user = new DouShopSubAccountInfo(); + user.id = BaseRegex.GetIntJson(ref oStr, "id"); + user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); + user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); + user.mobile = BaseRegex.GetStringJson(ref oStr, "mobile"); + user.group_id = BaseRegex.GetStringJson(ref oStr, "group_id"); + user.shop_count = BaseRegex.GetIntJson(ref oStr, "shop_count"); + user.company_name = BaseRegex.GetStringJson(ref oStr, "company_name"); + user.sa_level = BaseRegex.GetIntJson(ref oStr, "sa_level"); + + lstSubSa.Add(user); + dgvSaUser.Rows.Add( + false, + user.id, + user.nick_name, + user.user_name); + } + } + } + + private void dgvSaUser_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + + //string columnName = dgvSaUser.Columns[e.ColumnIndex].Name; + //switch (columnName) + //{ + // case "colSelect": + var value = dgvSaUser.Rows[e.RowIndex].Cells["colSelect"].Value; + foreach (DataGridViewRow row in this.dgvSaUser.Rows) + row.Cells["colSelect"].Value = false; + dgvSaUser.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)value; + // break; + // default: + // break; + //} + } + } +} diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.resx b/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.resx new file mode 100644 index 0000000..3867fb5 --- /dev/null +++ b/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.resx @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + + + 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== + + + \ No newline at end of file diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopForm.Designer.cs b/TEMUKJD/KJDForms/AdminForms/AdminShopForm.Designer.cs index 74e1a04..339674a 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminShopForm.Designer.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminShopForm.Designer.cs @@ -38,6 +38,7 @@ namespace TemuKJD.KJDForms.AdminForms this.btnLoginSelect = new TemuKJD.UserControls.ButtonEx(); this.btnCheck = new TemuKJD.UserControls.ButtonEx(); this.panel4 = new System.Windows.Forms.Panel(); + this.btnSetSubSa = new TemuKJD.UserControls.ButtonEx(); this.txtUserName = new System.Windows.Forms.TextBox(); this.label5 = new System.Windows.Forms.Label(); this.txtLoginName = new System.Windows.Forms.TextBox(); @@ -53,6 +54,9 @@ namespace TemuKJD.KJDForms.AdminForms this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.chkAutoDrag = new System.Windows.Forms.CheckBox(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -72,14 +76,12 @@ namespace TemuKJD.KJDForms.AdminForms this.colMultiLogin = new System.Windows.Forms.DataGridViewLinkColumn(); this.colApiAuth = new System.Windows.Forms.DataGridViewLinkColumn(); this.colBuyApiAuth = new System.Windows.Forms.DataGridViewLinkColumn(); - this.colImportCookie = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colImportCookies = new System.Windows.Forms.DataGridViewLinkColumn(); this.colCopyCookies = new System.Windows.Forms.DataGridViewLinkColumn(); this.colUpload = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colSubSa = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn(); this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn(); - this.chkAutoDrag = new System.Windows.Forms.CheckBox(); - this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -112,7 +114,7 @@ namespace TemuKJD.KJDForms.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(1083, 552); + this.splitContainer1.Size = new System.Drawing.Size(1273, 625); this.splitContainer1.SplitterDistance = 46; this.splitContainer1.TabIndex = 34; // @@ -128,7 +130,7 @@ namespace TemuKJD.KJDForms.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(1083, 46); + this.tableLayoutPanel2.Size = new System.Drawing.Size(1273, 46); this.tableLayoutPanel2.TabIndex = 37; // // panel5 @@ -136,7 +138,7 @@ namespace TemuKJD.KJDForms.AdminForms 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(820, 3); + this.panel5.Location = new System.Drawing.Point(1010, 3); this.panel5.Name = "panel5"; this.panel5.Size = new System.Drawing.Size(260, 40); this.panel5.TabIndex = 1; @@ -188,6 +190,7 @@ namespace TemuKJD.KJDForms.AdminForms // // panel4 // + this.panel4.Controls.Add(this.btnSetSubSa); this.panel4.Controls.Add(this.txtUserName); this.panel4.Controls.Add(this.label5); this.panel4.Controls.Add(this.txtLoginName); @@ -203,9 +206,26 @@ namespace TemuKJD.KJDForms.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(811, 40); + this.panel4.Size = new System.Drawing.Size(1001, 40); this.panel4.TabIndex = 0; // + // btnSetSubSa + // + 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); + // // txtUserName // this.txtUserName.Location = new System.Drawing.Point(34, 11); @@ -347,15 +367,15 @@ namespace TemuKJD.KJDForms.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(1083, 502); - this.splitContainer2.SplitterDistance = 473; + this.splitContainer2.Size = new System.Drawing.Size(1273, 575); + this.splitContainer2.SplitterDistance = 546; this.splitContainer2.TabIndex = 0; // // pbLoading // this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pbLoading.Location = new System.Drawing.Point(516, 211); + this.pbLoading.Location = new System.Drawing.Point(611, 248); this.pbLoading.Name = "pbLoading"; this.pbLoading.Size = new System.Drawing.Size(50, 50); this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; @@ -400,9 +420,10 @@ namespace TemuKJD.KJDForms.AdminForms this.colMultiLogin, this.colApiAuth, this.colBuyApiAuth, - this.colImportCookie, + this.colImportCookies, this.colCopyCookies, this.colUpload, + this.colSubSa, this.colEdit, this.colDelete}); this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill; @@ -410,10 +431,45 @@ namespace TemuKJD.KJDForms.AdminForms this.dgvShop.Name = "dgvShop"; this.dgvShop.ReadOnly = true; this.dgvShop.RowTemplate.Height = 23; - this.dgvShop.Size = new System.Drawing.Size(1075, 473); + this.dgvShop.Size = new System.Drawing.Size(1265, 546); this.dgvShop.TabIndex = 5; this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); // + // chkAutoDrag + // + 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.Name = "chkAutoDrag"; + this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); + this.chkAutoDrag.TabIndex = 3; + this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; + this.chkAutoDrag.UseVisualStyleBackColor = false; + this.chkAutoDrag.Visible = false; + // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; + this.ucSplitPage1.Location = new System.Drawing.Point(911, 0); + this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); + this.ucSplitPage1.Name = "ucSplitPage1"; + this.ucSplitPage1.Size = new System.Drawing.Size(362, 25); + this.ucSplitPage1.TabIndex = 4; + this.ucSplitPage1.TotalPage = 1; + // + // statusBar + // + this.statusBar.BackColor = System.Drawing.Color.White; + this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill; + this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + 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.TabIndex = 1; + // // colSelect // this.colSelect.FillWeight = 26F; @@ -567,14 +623,14 @@ namespace TemuKJD.KJDForms.AdminForms this.colBuyApiAuth.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colBuyApiAuth.Visible = false; // - // colImportCookie + // colImportCookies // - this.colImportCookie.FillWeight = 70F; - this.colImportCookie.HeaderText = "导入Cookie"; - this.colImportCookie.Name = "colImportCookie"; - this.colImportCookie.ReadOnly = true; - this.colImportCookie.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colImportCookie.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colImportCookies.FillWeight = 70F; + this.colImportCookies.HeaderText = "导入Cookies"; + this.colImportCookies.Name = "colImportCookies"; + this.colImportCookies.ReadOnly = true; + this.colImportCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colImportCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; // // colCopyCookies // @@ -593,6 +649,14 @@ namespace TemuKJD.KJDForms.AdminForms this.colUpload.ReadOnly = true; this.colUpload.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colUpload.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colUpload.Visible = false; + // + // colSubSa + // + this.colSubSa.FillWeight = 67F; + this.colSubSa.HeaderText = "二级超管"; + this.colSubSa.Name = "colSubSa"; + this.colSubSa.ReadOnly = true; // // colEdit // @@ -612,45 +676,10 @@ namespace TemuKJD.KJDForms.AdminForms this.colDelete.ReadOnly = true; this.colDelete.Visible = false; // - // chkAutoDrag - // - 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(407, 0); - this.chkAutoDrag.Name = "chkAutoDrag"; - this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); - this.chkAutoDrag.TabIndex = 3; - this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; - this.chkAutoDrag.UseVisualStyleBackColor = false; - this.chkAutoDrag.Visible = false; - // - // ucSplitPage1 - // - this.ucSplitPage1.CurrentPage = 1; - this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; - this.ucSplitPage1.Location = new System.Drawing.Point(721, 0); - this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); - this.ucSplitPage1.Name = "ucSplitPage1"; - this.ucSplitPage1.Size = new System.Drawing.Size(362, 25); - this.ucSplitPage1.TabIndex = 4; - this.ucSplitPage1.TotalPage = 1; - // - // statusBar - // - this.statusBar.BackColor = System.Drawing.Color.White; - this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill; - this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - 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(1083, 25); - this.statusBar.TabIndex = 1; - // // AdminShopForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(1083, 552); + this.ClientSize = new System.Drawing.Size(1273, 625); this.Controls.Add(this.splitContainer1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.Name = "AdminShopForm"; @@ -704,6 +733,7 @@ namespace TemuKJD.KJDForms.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.DataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewTextBoxColumn colLoginName; private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; @@ -723,9 +753,10 @@ namespace TemuKJD.KJDForms.AdminForms private System.Windows.Forms.DataGridViewLinkColumn colMultiLogin; private System.Windows.Forms.DataGridViewLinkColumn colApiAuth; private System.Windows.Forms.DataGridViewLinkColumn colBuyApiAuth; - private System.Windows.Forms.DataGridViewLinkColumn colImportCookie; + private System.Windows.Forms.DataGridViewLinkColumn colImportCookies; private System.Windows.Forms.DataGridViewLinkColumn colCopyCookies; private System.Windows.Forms.DataGridViewLinkColumn colUpload; + private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa; private System.Windows.Forms.DataGridViewLinkColumn colEdit; private System.Windows.Forms.DataGridViewLinkColumn colDelete; } diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs index a773f3f..f5336d4 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminShopForm.cs @@ -35,6 +35,14 @@ namespace TemuKJD.KJDForms.AdminForms this.ucSplitPage1.PageChange += UcSplitPage1_PageChange; this.dgvShop.AddSelectorColumn("colSelect"); + + if (BaseClass.SaLevel != 1) + { + this.chkShowDelete.Visible = false; + + dgvShop.Columns["colSubSa"].Visible = false; + btnSetSubSa.Visible = false; + } } private void AdminShopForm_VisibleChanged(object sender, EventArgs e) @@ -102,6 +110,7 @@ namespace TemuKJD.KJDForms.AdminForms "导入Cookies", "复制Cookies", "上传", + shop.OperateSubSaName, "编辑", "删除"); })); @@ -207,7 +216,7 @@ namespace TemuKJD.KJDForms.AdminForms Clipboard.SetDataObject(cookJs); BaseMsgForm.ShowInfo("复制成功"); break; - case "导入Cookie": + case "导入Cookies": ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop); updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete; updateCookieForm.ShowDialog(); @@ -308,6 +317,8 @@ namespace TemuKJD.KJDForms.AdminForms "&search_notes=" + txtNotes.Text.Trim() + "&search_id=" + txtShopId.Text.Trim() + "&search_name=" + txtShopName.Text.Trim(); + if (BaseClass.SaLevel > 1) + data += "&operate_sub_sa_name=" + BaseClass.UserName; var html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url, data); @@ -345,6 +356,7 @@ namespace TemuKJD.KJDForms.AdminForms shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name"); shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes"); shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status"); + shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name"); list.Add(shop); } @@ -522,6 +534,7 @@ namespace TemuKJD.KJDForms.AdminForms } } + #region 上传商品 旧 void UploadProduct(ShopLoginInfo shop) { if (shop==null || string.IsNullOrEmpty(shop.ShopId) || shop.LoginStatus != "登录成功") @@ -864,5 +877,44 @@ namespace TemuKJD.KJDForms.AdminForms draftId + "&from=productDraftList"; return KJDHttpResponse.PostResponse(shop, url, body, refere); } + #endregion + + private void btnSetSubSa_Click(object sender, EventArgs e) + { + + var lstLoginName = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colLoginName"]?.Value.ToString()).ToList(); + var shopList = lstAdminShopInfo.Where(p => lstLoginName.Contains(p.LoginName)).ToArray(); + + if (shopList.Count() <= 0) + { + BaseMsgForm.ShowError("请选择要分配二级超管的店铺!"); + return; + } + + AdminShopAddSubSaForm subSaForm = new AdminShopAddSubSaForm( + shopList.Select(p => p.LoginName.ToString()).ToList() + ); + subSaForm.SaveComplete += SubSaForm_SaveComplete; + subSaForm.ShowDialog(); + } + + private void SubSaForm_SaveComplete(object subSaName) + { + // 同店铺下商品分配给同一个二级超管 + var lstLoginName = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colLoginName"]?.Value.ToString()).ToList(); + var prodList = lstAdminShopInfo.Where(p => lstLoginName.Contains(p.LoginName)).ToArray(); + + var rows = dgvShop.Rows.Cast().Where(row => lstLoginName.Contains(row.Cells["colLoginName"]?.Value.ParseToString())); + foreach (var row in rows) + { + row.Cells["colSubSa"].Value = subSaName.ParseToString(); + } + foreach (var p in prodList) + { + p.OperateSubSaName = subSaName.ParseToString(); + } + } } } diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopForm.resx b/TEMUKJD/KJDForms/AdminForms/AdminShopForm.resx index 1e964d2..2a16d7b 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminShopForm.resx +++ b/TEMUKJD/KJDForms/AdminForms/AdminShopForm.resx @@ -174,7 +174,7 @@ True - + True @@ -183,6 +183,9 @@ True + + True + True diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs index ae08e1e..556d012 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs @@ -28,10 +28,13 @@ /// private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DbProductSelectListManageForm)); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.chkNoSubSa = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.btnSetSubSa = new TemuKJD.UserControls.ButtonEx(); this.cmbStatus = new System.Windows.Forms.ComboBox(); this.label8 = new System.Windows.Forms.Label(); this.txtShopName = new System.Windows.Forms.TextBox(); @@ -54,12 +57,15 @@ this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colInShop = new System.Windows.Forms.DataGridViewLinkColumn(); this.colLogin = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colImportCookies = new System.Windows.Forms.DataGridViewLinkColumn(); this.colSpuId = new System.Windows.Forms.DataGridViewLinkColumn(); this.colSkcId = new System.Windows.Forms.DataGridViewLinkColumn(); this.colProductSkcPic = new System.Windows.Forms.DataGridViewImageColumn(); @@ -69,10 +75,9 @@ this.colStatus = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDraftId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colMdyTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubSa = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn(); this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -96,6 +101,8 @@ // // splitContainer1.Panel1 // + this.splitContainer1.Panel1.Controls.Add(this.chkNoSubSa); + this.splitContainer1.Panel1.Controls.Add(this.btnSetSubSa); this.splitContainer1.Panel1.Controls.Add(this.cmbStatus); this.splitContainer1.Panel1.Controls.Add(this.label8); this.splitContainer1.Panel1.Controls.Add(this.txtShopName); @@ -119,10 +126,37 @@ // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); - this.splitContainer1.Size = new System.Drawing.Size(1278, 638); + this.splitContainer1.Size = new System.Drawing.Size(1438, 638); this.splitContainer1.SplitterDistance = 53; this.splitContainer1.TabIndex = 2; // + // chkNoSubSa + // + this.chkNoSubSa.AutoSize = true; + this.chkNoSubSa.Location = new System.Drawing.Point(1167, 17); + this.chkNoSubSa.Name = "chkNoSubSa"; + this.chkNoSubSa.Size = new System.Drawing.Size(123, 21); + this.chkNoSubSa.TabIndex = 467; + this.chkNoSubSa.Text = "仅显示未分配超管"; + this.chkNoSubSa.UseVisualStyleBackColor = true; + // + // btnSetSubSa + // + 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(1240, 14); + this.btnSetSubSa.Margin = new System.Windows.Forms.Padding(2); + this.btnSetSubSa.Name = "btnSetSubSa"; + this.btnSetSubSa.Size = new System.Drawing.Size(91, 26); + this.btnSetSubSa.TabIndex = 463; + this.btnSetSubSa.Text = "分配二级超管"; + this.btnSetSubSa.UseVisualStyleBackColor = false; + this.btnSetSubSa.Click += new System.EventHandler(this.btnSetSubSa_Click); + // // cmbStatus // this.cmbStatus.FormattingEnabled = true; @@ -185,7 +219,7 @@ this.btnAdd.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnAdd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnAdd.ForeColor = System.Drawing.Color.White; - this.btnAdd.Location = new System.Drawing.Point(1181, 14); + this.btnAdd.Location = new System.Drawing.Point(1341, 14); this.btnAdd.Margin = new System.Windows.Forms.Padding(2); this.btnAdd.Name = "btnAdd"; this.btnAdd.Size = new System.Drawing.Size(91, 26); @@ -332,7 +366,7 @@ // this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1); this.splitContainer2.Panel2.Controls.Add(this.statusBar); - this.splitContainer2.Size = new System.Drawing.Size(1278, 581); + this.splitContainer2.Size = new System.Drawing.Size(1438, 581); this.splitContainer2.SplitterDistance = 552; this.splitContainer2.TabIndex = 0; // @@ -340,7 +374,7 @@ // this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pbLoading.Location = new System.Drawing.Point(614, 235); + this.pbLoading.Location = new System.Drawing.Point(694, 235); this.pbLoading.Name = "pbLoading"; this.pbLoading.Size = new System.Drawing.Size(50, 50); this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; @@ -371,6 +405,7 @@ this.colSupplierName, this.colInShop, this.colLogin, + this.colImportCookies, this.colSpuId, this.colSkcId, this.colProductSkcPic, @@ -380,6 +415,7 @@ this.colStatus, this.colDraftId, this.colMdyTime, + this.colSubSa, this.ColDelete, this.colOpResult}); this.dgvSelectProduct.Dock = System.Windows.Forms.DockStyle.Fill; @@ -388,10 +424,33 @@ this.dgvSelectProduct.ReadOnly = true; this.dgvSelectProduct.RowHeadersWidth = 51; this.dgvSelectProduct.RowTemplate.Height = 23; - this.dgvSelectProduct.Size = new System.Drawing.Size(1270, 552); + this.dgvSelectProduct.Size = new System.Drawing.Size(1430, 552); this.dgvSelectProduct.TabIndex = 188; this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick); // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; + this.ucSplitPage1.Location = new System.Drawing.Point(1076, 0); + this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); + this.ucSplitPage1.Name = "ucSplitPage1"; + this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0); + this.ucSplitPage1.Size = new System.Drawing.Size(362, 25); + this.ucSplitPage1.TabIndex = 6; + this.ucSplitPage1.TotalPage = 1; + // + // statusBar + // + this.statusBar.BackColor = System.Drawing.Color.White; + this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill; + this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + 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(1438, 25); + this.statusBar.TabIndex = 5; + // // colSelect // this.colSelect.HeaderText = "选择"; @@ -443,6 +502,15 @@ this.colLogin.ReadOnly = true; this.colLogin.Width = 45; // + // colImportCookies + // + this.colImportCookies.HeaderText = "导入Cookies"; + this.colImportCookies.Name = "colImportCookies"; + this.colImportCookies.ReadOnly = true; + this.colImportCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colImportCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colImportCookies.Width = 85; + // // colSpuId // this.colSpuId.HeaderText = "商品SPU"; @@ -451,7 +519,7 @@ this.colSpuId.ReadOnly = true; this.colSpuId.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colSpuId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colSpuId.Width = 125; + this.colSpuId.Width = 90; // // colSkcId // @@ -503,7 +571,7 @@ this.colStatus.MinimumWidth = 6; this.colStatus.Name = "colStatus"; this.colStatus.ReadOnly = true; - this.colStatus.Width = 125; + this.colStatus.Width = 80; // // colDraftId // @@ -523,6 +591,12 @@ this.colMdyTime.ReadOnly = true; this.colMdyTime.Width = 120; // + // colSubSa + // + this.colSubSa.HeaderText = "二级超管"; + this.colSubSa.Name = "colSubSa"; + this.colSubSa.ReadOnly = true; + // // ColDelete // this.ColDelete.HeaderText = "删除"; @@ -540,33 +614,10 @@ this.colOpResult.ReadOnly = true; this.colOpResult.Width = 150; // - // ucSplitPage1 - // - this.ucSplitPage1.CurrentPage = 1; - this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; - this.ucSplitPage1.Location = new System.Drawing.Point(916, 0); - this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); - this.ucSplitPage1.Name = "ucSplitPage1"; - this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0); - this.ucSplitPage1.Size = new System.Drawing.Size(362, 25); - this.ucSplitPage1.TabIndex = 6; - this.ucSplitPage1.TotalPage = 1; - // - // statusBar - // - this.statusBar.BackColor = System.Drawing.Color.White; - this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill; - this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - 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(1278, 25); - this.statusBar.TabIndex = 5; - // // DbProductSelectListManageForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(1280, 672); + this.ClientSize = new System.Drawing.Size(1440, 672); this.Controls.Add(this.splitContainer1); 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"))); @@ -618,12 +669,15 @@ private UserComponent.DataGridViewEx dgvSelectProduct; private System.Windows.Forms.ComboBox cmbStatus; private System.Windows.Forms.Label label8; + private UserControls.ButtonEx btnSetSubSa; + private UserComponent.UcCheckBox chkNoSubSa; private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId; private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId; private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName; private System.Windows.Forms.DataGridViewLinkColumn colInShop; private System.Windows.Forms.DataGridViewLinkColumn colLogin; + private System.Windows.Forms.DataGridViewLinkColumn colImportCookies; private System.Windows.Forms.DataGridViewLinkColumn colSpuId; private System.Windows.Forms.DataGridViewLinkColumn colSkcId; private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic; @@ -633,6 +687,7 @@ private System.Windows.Forms.DataGridViewTextBoxColumn colStatus; private System.Windows.Forms.DataGridViewTextBoxColumn colDraftId; private System.Windows.Forms.DataGridViewTextBoxColumn colMdyTime; + private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa; private System.Windows.Forms.DataGridViewLinkColumn ColDelete; private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult; } diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs index d07c98d..02e8b87 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs @@ -38,6 +38,13 @@ namespace TemuKJD.KJDForms.ProductSelectForms { this.ucSplitPage1.PageChange += UcSplitPage1_PageChange; this.dgvSelectProduct.AddSelectorColumn("colSelect"); + + if (BaseClass.SaLevel != 1) + { + dgvSelectProduct.Columns["colSubSa"].Visible = false; + btnSetSubSa.Visible = false; + chkNoSubSa.Visible = false; + } } private void DbProductSelectListManageForm_VisibleChanged(object sender, EventArgs e) @@ -112,6 +119,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms prodSelect.shop_account, "进店", "登录", + "导入Cookies", prodSelect.spu_id, prodSelect.skc_id, image,//prod.main_img, @@ -121,6 +129,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms prodSelect.status, prodSelect.draft_id, prodSelect.status == "待上传" ? "-" : prodSelect.mdy_time.ToString("yyyy/MM/dd HH:mm:ss"), + prodSelect.operate_sub_sa_name == "" ? "-" : prodSelect.operate_sub_sa_name, "删除", ""); @@ -156,6 +165,10 @@ namespace TemuKJD.KJDForms.ProductSelectForms "&search_shop_id=" + txtShopId.Text + "&search_shop_account=" + txtShopName.Text + "&status=" + (cmbStatus.Text == "全部" ? "" : cmbStatus.Text); + if (BaseClass.SaLevel > 1) + data += "&operate_sub_sa_name=" + BaseClass.UserName; + if (chkNoSubSa.Checked) + data += "&no_sub_sa=true"; })); var html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) @@ -260,6 +273,15 @@ namespace TemuKJD.KJDForms.ProductSelectForms shopLoginForm.ShowDialog(); } break; + + case "导入Cookies": + { + var shop = GetShop(shopId); + ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop); + updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete; + updateCookieForm.ShowDialog(); + } + break; case "": dgvSelectProduct.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvSelectProduct.Rows[e.RowIndex].Cells["colSelect"].Value; break; @@ -268,6 +290,10 @@ namespace TemuKJD.KJDForms.ProductSelectForms } } + private void UpdateCookieForm_SaveComplete(object obj) + { + } + ShopLoginInfo GetShop(string shopId) { var shop = shopLst.FirstOrDefault(s => s.ShopId == shopId); @@ -522,6 +548,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name"); shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes"); shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status"); + shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name"); list.Add(shop); } @@ -927,5 +954,62 @@ namespace TemuKJD.KJDForms.ProductSelectForms draftId + "&from=productDraftList"; return KJDHttpResponse.PostResponse(shop, url, body, refere); } + + private void btnSetSubSa_Click(object sender, EventArgs e) + { + var lstProdId = dgvSelectProduct.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colSelectId"]?.Value.ToString()).ToList(); + var prodList = this.lstAdminTemuDBProductSelect.Where(p => lstProdId.Contains(p.id.ParseToString())).ToArray(); + + if (prodList.Count() <= 0) + { + BaseMsgForm.ShowError("请选择要分配二级超管的商品!"); + return; + } + + DbProductSelectListSubSaForm subSaForm = new DbProductSelectListSubSaForm( + prodList.Select(p => p.id.ToString()).ToList(), + prodList.Select(p => p.shop_id).ToList() + ); + subSaForm.SaveCompleteWithDescribe += SubSaForm_SaveComplete; + subSaForm.ShowDialog(); + } + + private void SubSaForm_SaveComplete(object isUpdateSameShop, object subSaName) + { + if (isUpdateSameShop as bool? == false) + { + var lstProdId = dgvSelectProduct.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colSelectId"]?.Value.ToString()).ToList(); + var prodList = this.lstAdminTemuDBProductSelect.Where(p => lstProdId.Contains(p.id.ParseToString())).ToArray(); + + var rows = dgvSelectProduct.Rows.Cast().Where(row => row.Cells["colSelect"]?.Value.ParseToBool() == true); + foreach (var row in rows) + { + row.Cells["colSubSa"].Value = subSaName.ParseToString(); + } + foreach (var p in prodList) + { + p.operate_sub_sa_name = subSaName.ParseToString(); + } + } + else + { + // 同店铺下商品分配给同一个二级超管 + var lstSupplierId = dgvSelectProduct.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colSupplierId"]?.Value.ToString()).ToList(); + var prodList = this.lstAdminTemuDBProductSelect.Where(p => lstSupplierId.Contains(p.shop_id.ParseToString())).ToArray(); + + var rows = dgvSelectProduct.Rows.Cast().Where(row => lstSupplierId.Contains(row.Cells["colSupplierId"]?.Value.ParseToString())); + foreach (var row in rows) + { + row.Cells["colSubSa"].Value = subSaName.ParseToString(); + } + foreach (var p in prodList) + { + p.operate_sub_sa_name = subSaName.ParseToString(); + } + } + } } } diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.resx b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.resx index 9ef591d..2077b2e 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.resx +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.resx @@ -135,6 +135,9 @@ True + + True + True @@ -159,6 +162,9 @@ True + + True + True diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.Designer.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.Designer.cs new file mode 100644 index 0000000..b2c6149 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.Designer.cs @@ -0,0 +1,212 @@ + +namespace TemuKJD.KJDForms.ProductSelectForms +{ + partial class DbProductSelectListSubSaForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DbProductSelectListSubSaForm)); + this.panel2 = new System.Windows.Forms.Panel(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.dgvSaUser = new TemuKJD.UserComponent.DataGridViewEx(); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colSubSaId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubUserName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubSaName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.btnOk = new TemuKJD.UserControls.ButtonEx(); + this.ucCheckBox1 = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSaUser)).BeginInit(); + this.SuspendLayout(); + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.Controls.Add(this.splitContainer1); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(1, 33); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(391, 506); + this.panel2.TabIndex = 1; + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.dgvSaUser); + this.splitContainer1.Panel1.Padding = new System.Windows.Forms.Padding(4); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.ucCheckBox1); + this.splitContainer1.Panel2.Controls.Add(this.btnOk); + this.splitContainer1.Size = new System.Drawing.Size(391, 506); + this.splitContainer1.SplitterDistance = 464; + this.splitContainer1.TabIndex = 190; + // + // dgvSaUser + // + this.dgvSaUser.AllowUserToAddRows = false; + this.dgvSaUser.AllowUserToDeleteRows = false; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSaUser.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.dgvSaUser.BackgroundColor = System.Drawing.Color.White; + this.dgvSaUser.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.dgvSaUser.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + this.dgvSaUser.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvSaUser.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colSelect, + this.colSubSaId, + this.colSubUserName, + this.colSubSaName}); + this.dgvSaUser.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvSaUser.Location = new System.Drawing.Point(4, 4); + this.dgvSaUser.Name = "dgvSaUser"; + this.dgvSaUser.ReadOnly = true; + this.dgvSaUser.RowHeadersWidth = 51; + this.dgvSaUser.RowTemplate.Height = 23; + this.dgvSaUser.Size = new System.Drawing.Size(383, 456); + this.dgvSaUser.TabIndex = 189; + this.dgvSaUser.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSaUser_CellContentClick); + // + // colSelect + // + this.colSelect.HeaderText = "选择"; + this.colSelect.MinimumWidth = 6; + 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.Width = 30; + // + // colSubSaId + // + this.colSubSaId.HeaderText = "二级超管Id"; + this.colSubSaId.MinimumWidth = 6; + this.colSubSaId.Name = "colSubSaId"; + this.colSubSaId.ReadOnly = true; + this.colSubSaId.Visible = false; + this.colSubSaId.Width = 125; + // + // colSubUserName + // + this.colSubUserName.HeaderText = "昵称"; + this.colSubUserName.Name = "colSubUserName"; + this.colSubUserName.ReadOnly = true; + this.colSubUserName.Width = 150; + // + // colSubSaName + // + this.colSubSaName.HeaderText = "账户"; + this.colSubSaName.Name = "colSubSaName"; + this.colSubSaName.ReadOnly = true; + this.colSubSaName.Width = 150; + // + // btnOk + // + this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnOk.ForeColor = System.Drawing.Color.White; + this.btnOk.Location = new System.Drawing.Point(321, 1); + this.btnOk.Margin = new System.Windows.Forms.Padding(2); + this.btnOk.Name = "btnOk"; + this.btnOk.Size = new System.Drawing.Size(66, 26); + this.btnOk.TabIndex = 374; + this.btnOk.Text = "确定"; + this.btnOk.UseVisualStyleBackColor = false; + this.btnOk.Click += new System.EventHandler(this.btnOk_Click); + // + // ucCheckBox1 + // + this.ucCheckBox1.AutoSize = true; + this.ucCheckBox1.Checked = true; + this.ucCheckBox1.CheckState = System.Windows.Forms.CheckState.Checked; + this.ucCheckBox1.Location = new System.Drawing.Point(5, 8); + this.ucCheckBox1.Name = "ucCheckBox1"; + this.ucCheckBox1.Size = new System.Drawing.Size(240, 16); + this.ucCheckBox1.TabIndex = 375; + this.ucCheckBox1.Text = "同店铺下的其他商品也分配给该二级超管"; + this.ucCheckBox1.UseVisualStyleBackColor = true; + // + // DbProductSelectListSubSaForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(393, 540); + this.Controls.Add(this.panel2); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "DbProductSelectListSubSaForm"; + this.Text = "指定二级超管"; + this.TitleText = "指定二级超管"; + this.Load += new System.EventHandler(this.DbProductSelectListSubSaForm_Load); + this.Controls.SetChildIndex(this.panel2, 0); + this.panel2.ResumeLayout(false); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + this.splitContainer1.Panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvSaUser)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel2; + private UserComponent.DataGridViewEx dgvSaUser; + private System.Windows.Forms.SplitContainer splitContainer1; + private UserControls.ButtonEx btnOk; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colSubSaId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSubUserName; + private System.Windows.Forms.DataGridViewTextBoxColumn colSubSaName; + private UserComponent.UcCheckBox ucCheckBox1; + } +} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.cs new file mode 100644 index 0000000..7b78aad --- /dev/null +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.cs @@ -0,0 +1,129 @@ +using AllBase; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.KJDForms.BaseForms; +using Work; + +namespace TemuKJD.KJDForms.ProductSelectForms +{ + public partial class DbProductSelectListSubSaForm : LRBaseForm + { + List lstProductSelectId = new List(); + List lstShopSelectId = new List(); + + List lstSubSa = new List(); + public DbProductSelectListSubSaForm(List ProductSelectIds = null, List ShopSelectIds = null) + { + InitializeComponent(); + if (ProductSelectIds != null) + lstProductSelectId.AddRange(ProductSelectIds); + if (ShopSelectIds != null) + lstShopSelectId.AddRange(ShopSelectIds); + } + + private void btnOk_Click(object sender, EventArgs e) + { + var selectRow = this.dgvSaUser.Rows.Cast().FirstOrDefault(r => r.Cells["colSelect"]?.Value.ParseToBool() == true); + if (selectRow == null) + { + BaseMsgForm.ShowError("请选择要分配的二级管理员!"); + return; + } + var sub_sa = selectRow.Cells["colSubSaName"].Value.ParseToString(); + + StringBuilder data = new StringBuilder(); + data.Append(UserLogin.GetSignaturex()); + if (ucCheckBox1.Checked) + data.Append("&shop_id=" + string.Join(",", lstShopSelectId)); + else + data.Append("&db_id=" + string.Join(",", lstProductSelectId)); + data.Append("&operate_sub_sa_name=" + sub_sa); + data.Append("&status=待上传"); + string url = BaseClass.BuildObjString("product/set_select_product_sub_sa"); + string html = GetHtml.PostUtf8(url, data.ToString()).Trim(); + if (!string.IsNullOrEmpty(html)) + { + if (html.Contains("\"code\":200")) + { + OnSaveComplete(ucCheckBox1.Checked, sub_sa); + this.Close(); + } + else + { + var msg = BaseRegex.GetStringJson(ref html, "msg"); + if (string.IsNullOrEmpty(msg)) + msg = html; + BaseMsgForm.ShowError(msg, "错误"); + } + } + else + BaseMsgForm.ShowError("未知错误,请重试!", "错误"); + } + + private void DbProductSelectListSubSaForm_Load(object sender, EventArgs e) + { + dgvSaUser.Rows.Clear(); + lstSubSa.Clear(); + string url = BaseClass.BuildObjString("user/get_all_user"); + StringBuilder data = new StringBuilder(); + data.Append(UserLogin.GetSignaturex()); + data.Append("&sa_level=2"); + string html = GetHtml.PostUtf8(url, data.ToString()); + if (string.IsNullOrEmpty(html)) + return; + if (html.Contains("\"data\"")) + { + var userObj = Newtonsoft.Json.Linq.JObject.Parse(html); + foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) + { + string oStr = JsonHelper.SerializeObject(obj); + DouShopSubAccountInfo user = new DouShopSubAccountInfo(); + user.id = BaseRegex.GetIntJson(ref oStr, "id"); + user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); + user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); + user.mobile = BaseRegex.GetStringJson(ref oStr, "mobile"); + user.group_id = BaseRegex.GetStringJson(ref oStr, "group_id"); + user.shop_count = BaseRegex.GetIntJson(ref oStr, "shop_count"); + user.company_name = BaseRegex.GetStringJson(ref oStr, "company_name"); + user.sa_level = BaseRegex.GetIntJson(ref oStr, "sa_level"); + + lstSubSa.Add(user); + dgvSaUser.Rows.Add( + false, + user.id, + user.nick_name, + user.user_name); + } + } + } + + private void dgvSaUser_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + + //string columnName = dgvSaUser.Columns[e.ColumnIndex].Name; + //switch (columnName) + //{ + // case "colSelect": + var value = dgvSaUser.Rows[e.RowIndex].Cells["colSelect"].Value; + foreach (DataGridViewRow row in this.dgvSaUser.Rows) + row.Cells["colSelect"].Value = false; + dgvSaUser.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)value; + // break; + // default: + // break; + //} + } + } +} diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.resx b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.resx new file mode 100644 index 0000000..3867fb5 --- /dev/null +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListSubSaForm.resx @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + + + 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== + + + \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ShopForms/ShopForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopForm.cs index 38e5fd3..c3847c1 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopForm.cs @@ -51,6 +51,7 @@ namespace TemuKJD.KJDForms.ShopForms } if (BaseClass.SaLevel==2) { + hideName.Remove("超级店铺管理"); hideName.Remove("认领待上传"); } } diff --git a/TEMUKJD/KJDForms/ShopForms/ShopListForm.Designer.cs b/TEMUKJD/KJDForms/ShopForms/ShopListForm.Designer.cs index 67f412d..bbefb06 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopListForm.Designer.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopListForm.Designer.cs @@ -52,6 +52,8 @@ this.btnRefreshAuth = new TemuKJD.UserControls.ButtonEx(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.chkAutoDrag = new System.Windows.Forms.CheckBox(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,12 +72,10 @@ this.colMultiLogin = new System.Windows.Forms.DataGridViewLinkColumn(); this.colApiAuth = new System.Windows.Forms.DataGridViewLinkColumn(); this.colBuyApiAuth = new System.Windows.Forms.DataGridViewLinkColumn(); - this.colUpdateCookie = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colUpdateCookies = new System.Windows.Forms.DataGridViewLinkColumn(); this.colCopyCookies = new System.Windows.Forms.DataGridViewLinkColumn(); this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn(); this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn(); - this.chkAutoDrag = new System.Windows.Forms.CheckBox(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -421,7 +421,7 @@ this.colMultiLogin, this.colApiAuth, this.colBuyApiAuth, - this.colUpdateCookie, + this.colUpdateCookies, this.colCopyCookies, this.colEdit, this.colDelete}); @@ -434,6 +434,31 @@ this.dgvShop.TabIndex = 5; this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); // + // chkAutoDrag + // + 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(907, 2); + this.chkAutoDrag.Name = "chkAutoDrag"; + this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); + this.chkAutoDrag.TabIndex = 3; + this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; + this.chkAutoDrag.UseVisualStyleBackColor = false; + this.chkAutoDrag.Visible = false; + this.chkAutoDrag.Click += new System.EventHandler(this.chkAutoDrag_Click); + // + // statusBar + // + this.statusBar.BackColor = System.Drawing.Color.White; + this.statusBar.Dock = System.Windows.Forms.DockStyle.Bottom; + this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.statusBar.Location = new System.Drawing.Point(0, -1); + this.statusBar.Margin = new System.Windows.Forms.Padding(0); + this.statusBar.Name = "statusBar"; + this.statusBar.Size = new System.Drawing.Size(1063, 29); + this.statusBar.TabIndex = 1; + // // colSelect // this.colSelect.FillWeight = 26F; @@ -580,14 +605,14 @@ this.colBuyApiAuth.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colBuyApiAuth.Visible = false; // - // colUpdateCookie + // colUpdateCookies // - this.colUpdateCookie.FillWeight = 67F; - this.colUpdateCookie.HeaderText = "导入Cookie"; - this.colUpdateCookie.Name = "colUpdateCookie"; - this.colUpdateCookie.ReadOnly = true; - this.colUpdateCookie.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colUpdateCookie.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colUpdateCookies.FillWeight = 67F; + this.colUpdateCookies.HeaderText = "导入Cookies"; + this.colUpdateCookies.Name = "colUpdateCookies"; + this.colUpdateCookies.ReadOnly = true; + this.colUpdateCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colUpdateCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; // // colCopyCookies // @@ -614,31 +639,6 @@ this.colDelete.Name = "colDelete"; this.colDelete.ReadOnly = true; // - // chkAutoDrag - // - 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(907, 2); - this.chkAutoDrag.Name = "chkAutoDrag"; - this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); - this.chkAutoDrag.TabIndex = 3; - this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; - this.chkAutoDrag.UseVisualStyleBackColor = false; - this.chkAutoDrag.Visible = false; - this.chkAutoDrag.Click += new System.EventHandler(this.chkAutoDrag_Click); - // - // statusBar - // - this.statusBar.BackColor = System.Drawing.Color.White; - this.statusBar.Dock = System.Windows.Forms.DockStyle.Bottom; - this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.statusBar.Location = new System.Drawing.Point(0, -1); - this.statusBar.Margin = new System.Windows.Forms.Padding(0); - this.statusBar.Name = "statusBar"; - this.statusBar.Size = new System.Drawing.Size(1063, 29); - this.statusBar.TabIndex = 1; - // // ShopListForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -697,6 +697,7 @@ private System.Windows.Forms.TextBox txtNotes; private System.Windows.Forms.Label label4; private DevComponents.DotNetBar.PanelEx pnlEmpty; + private UserControls.ButtonEx btnRefreshShop; private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewTextBoxColumn colLoginName; private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; @@ -715,10 +716,9 @@ private System.Windows.Forms.DataGridViewLinkColumn colMultiLogin; private System.Windows.Forms.DataGridViewLinkColumn colApiAuth; private System.Windows.Forms.DataGridViewLinkColumn colBuyApiAuth; - private System.Windows.Forms.DataGridViewLinkColumn colUpdateCookie; + private System.Windows.Forms.DataGridViewLinkColumn colUpdateCookies; private System.Windows.Forms.DataGridViewLinkColumn colCopyCookies; private System.Windows.Forms.DataGridViewLinkColumn colEdit; private System.Windows.Forms.DataGridViewLinkColumn colDelete; - private UserControls.ButtonEx btnRefreshShop; } } \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs index 1569ab5..085b6c7 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs @@ -130,6 +130,7 @@ namespace TemuKJD.KJDForms.ShopForms localShop.Notes = serverShop.Notes; localShop.LoginStatus = serverShop.LoginStatus; localShop.AddProductRemaining = serverShop.AddProductRemaining; + localShop.OperateSubSaName = serverShop.OperateSubSaName; if (localShop.TrialUploadCount < 0) localShop.TrialUploadCount = 0; GlobalConfig.ShopLoginList.Add(localShop); @@ -185,6 +186,7 @@ namespace TemuKJD.KJDForms.ShopForms shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes"); shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status"); shop.AddProductRemaining = BaseRegex.GetIntJson(ref shopStr, "add_product_remaining"); + shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name"); //shop.PayStatus = BaseRegex.GetIntJson(ref shopStr, "shop_pay_status"); //if (list.Any(l => l.ShopId == shop.ShopId) || list.Any(l => l.ShopName == shop.ShopName)) // continue; @@ -880,7 +882,7 @@ namespace TemuKJD.KJDForms.ShopForms Clipboard.SetDataObject(cookJs); BaseMsgForm.ShowInfo("复制成功"); break; - case "导入Cookie": + case "导入Cookies": ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop); updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete; updateCookieForm.ShowDialog(); diff --git a/TEMUKJD/KJDForms/ShopForms/ShopListForm.resx b/TEMUKJD/KJDForms/ShopForms/ShopListForm.resx index 1db9a2a..7893cc4 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopListForm.resx +++ b/TEMUKJD/KJDForms/ShopForms/ShopListForm.resx @@ -171,7 +171,7 @@ True - + True diff --git a/TEMUKJD/KJDForms/ShopForms/SubAccountListForm.cs b/TEMUKJD/KJDForms/ShopForms/SubAccountListForm.cs index d67d800..732e5a4 100644 --- a/TEMUKJD/KJDForms/ShopForms/SubAccountListForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/SubAccountListForm.cs @@ -161,6 +161,7 @@ namespace TemuKJD.KJDForms.ShopForms txtRePass.Text = ""; btnOpUser.Text = "保存用户"; btnCancel.Visible = true; + btnCancel.Text = "取消編輯"; } if (columname == "删除") { diff --git a/TEMUKJD/MainForm.cs b/TEMUKJD/MainForm.cs index 6721133..75e6a67 100644 --- a/TEMUKJD/MainForm.cs +++ b/TEMUKJD/MainForm.cs @@ -336,7 +336,7 @@ namespace TemuKJD } } - private List _AntiProcesses = "WIRESHARK,FIDDLER,HTTPDEBUGGERPRO,IEHTTPANALYZER,CHARLES,HTTPWATCH,SMARTSNIFF,MINISNIFFER,PROXIFIER,HTTP ANALYZER,SNIFFER,WSOCKEXPERT,IPANALYSE,ANALYZER,HTTP ANALYZER STAND-ALONE EDITION".Split(',').ToList(); + private List _AntiProcesses = "WINRAR,WIRESHARK,FIDDLER,HTTPDEBUGGERPRO,IEHTTPANALYZER,CHARLES,HTTPWATCH,SMARTSNIFF,MINISNIFFER,PROXIFIER,HTTP ANALYZER,SNIFFER,WSOCKEXPERT,IPANALYSE,ANALYZER,HTTP ANALYZER STAND-ALONE EDITION".Split(',').ToList(); public bool IsWin23App(Process process) { diff --git a/Work/UserLogin.cs b/Work/UserLogin.cs index 43d3faa..642c912 100644 --- a/Work/UserLogin.cs +++ b/Work/UserLogin.cs @@ -84,7 +84,7 @@ namespace Work BaseClass.UserKey = BaseRegex.GetStringJson(ref html, "user_key").ParseToInt(); BaseClass.NickName = BaseRegex.GetStringJson(ref html, "nick_name"); BaseClass.UserName = BaseRegex.GetStringJson(ref html, "user_name"); - BaseClass.SaLevel = BaseRegex.GetIntJson(ref html, "is_sa").ParseToInt(); + BaseClass.SaLevel = BaseRegex.GetIntJson(ref html, "sa_level").ParseToInt(); BaseClass.Mobile = BaseRegex.GetStringJson(ref html, "mobile"); BaseClass.UserVersion = BaseRegex.GetStringJson(ref html, "version").ParseToInt(); BaseClass.UserVersionString = BaseRegex.GetStringJson(ref html, "version_s");