diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index 4816119..c995425 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,8 +27,8 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 1121; - public static string MainPath = "29pdd"; + public static int VersionCount = 1125; + public static string MainPath = "29wx"; //public static string MainPath = "29wx"; //public static string MainPath = "29pdd"; //public static string MainPath = "kuajingda"; diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.cs index c0e9411..0b57830 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.cs @@ -37,7 +37,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms CheckBox chkSelectAll; ChanceProductConfig chanceProductConfig; public CancellationTokenSource cancellationTokenSource { get; set; } = null; - public ConcurrentList lstAdminShopInfo { get; set; } = new ConcurrentList(); + public ConcurrentList lstAdminPddShopInfo { get; set; } = new ConcurrentList(); public ConcurrentList lstChanceProductResult { get; set; } = new ConcurrentList(); public List lstChanceCateInfo { get; set; } = new List(); /// @@ -50,8 +50,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms private void PDDGetChanceProd_Load(object sender, EventArgs e) { - if (IsAuthorityUser) - btnShowMyCollect.Visible = true; + //if (IsAuthorityUser) + // btnShowMyCollect.Visible = true; this.panel2.Location = new Point(45, 55); this.panel2.Width = Math.Max(10, this.panel2.Parent.Width - 90); @@ -188,7 +188,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms } else { - var list = lstAdminShopInfo.Where(s => s.LoginStatus == "登录成功").ToList(); + var list = lstAdminPddShopInfo.Where(s => s.LoginStatus == "登录成功").ToList(); foreach (DataGridViewRow row in dgvShop.Rows) { if (list.Any(l => l.ShopId == row.Cells["colShopId"]?.Value?.ToString())) @@ -223,14 +223,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms { this.pbShopLoading.Visible = true; this.dgvShop.Rows.Clear(); - lstAdminShopInfo.Clear(); + lstAdminPddShopInfo.Clear(); })); } else { this.pbShopLoading.Visible = true; this.dgvShop.Rows.Clear(); - lstAdminShopInfo.Clear(); + lstAdminPddShopInfo.Clear(); } if (cancellationTokenSource == null || cancellationTokenSource.IsCancellationRequested) cancellationTokenSource = new CancellationTokenSource(); @@ -238,10 +238,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms { int pageCount; var list = AdminGetServerShopLst(out pageCount, page); - lstAdminShopInfo.AddRange(list); + lstAdminPddShopInfo.AddRange(list); this.ucSplitPage1.TotalPage = pageCount; - foreach (var shop in lstAdminShopInfo) + foreach (var shop in lstAdminPddShopInfo) { bool canUse = shop.LoginStatus2 == "国际版在线"; Invoke(new Action(() => @@ -332,7 +332,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms string loginName = dgvShop.Rows[e.RowIndex].Cells["colShopLoginName"].Value.ParseToString(); string accountId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString(); ShopLoginInfo shop = null; - shop = lstAdminShopInfo.FirstOrDefault(s => s.LoginName == loginName && s.ShopId == accountId); + shop = lstAdminPddShopInfo.FirstOrDefault(s => s.LoginName == loginName && s.ShopId == accountId); switch (headerText) { @@ -784,7 +784,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms { try { - var shopList = lstAdminShopInfo.Where(s => shopIds.Contains(s.ShopId) && s.LoginStatus == "登录成功").ToList(); + var shopList = lstAdminPddShopInfo.Where(s => shopIds.Contains(s.ShopId) && s.LoginStatus == "登录成功").ToList(); if (shopList.Count == 0) { Invoke(new Action(() => @@ -1143,8 +1143,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms private void btnGetMyCollect_Click(object sender, EventArgs e) { - WXUserCollectAuthProdListForm userCollectAuthProdListForm = new WXUserCollectAuthProdListForm(); - userCollectAuthProdListForm.ShowDialog(); + //WXUserCollectAuthProdListForm userCollectAuthProdListForm = new WXUserCollectAuthProdListForm(); + //userCollectAuthProdListForm.ShowDialog(); } } diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.Designer.cs b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.Designer.cs index 855c05b..7895b13 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.Designer.cs +++ b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.Designer.cs @@ -30,9 +30,9 @@ namespace TemuKJD.WXForms.AdminForms private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer5 = new System.Windows.Forms.SplitContainer(); this.chkCommissionUpdate = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkEcWaybill = new TemuKJD.UserComponent.UcCheckBox(this.components); @@ -82,7 +82,6 @@ namespace TemuKJD.WXForms.AdminForms this.btnTopUpCancel = new DevComponents.DotNetBar.PanelEx(); this.btnTopUpOK = new DevComponents.DotNetBar.PanelEx(); this.dgvUser = new TemuKJD.UserComponent.DataGridViewEx(); - this.btnExportShopErp = new DevComponents.DotNetBar.PanelEx(); this.UserIdColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.UserNickNameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.mobileColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -99,6 +98,8 @@ namespace TemuKJD.WXForms.AdminForms this.colAddShop = new System.Windows.Forms.DataGridViewLinkColumn(); this.editColumn = new System.Windows.Forms.DataGridViewLinkColumn(); this.deleteColumn = new System.Windows.Forms.DataGridViewLinkColumn(); + this.btnExportShopErp = new DevComponents.DotNetBar.PanelEx(); + this.chkProdFission = new TemuKJD.UserComponent.UcCheckBox(this.components); ((System.ComponentModel.ISupportInitialize)(this.splitContainer5)).BeginInit(); this.splitContainer5.Panel1.SuspendLayout(); this.splitContainer5.Panel2.SuspendLayout(); @@ -124,6 +125,7 @@ namespace TemuKJD.WXForms.AdminForms // splitContainer5.Panel1 // this.splitContainer5.Panel1.BackColor = System.Drawing.Color.WhiteSmoke; + this.splitContainer5.Panel1.Controls.Add(this.chkProdFission); this.splitContainer5.Panel1.Controls.Add(this.chkCommissionUpdate); this.splitContainer5.Panel1.Controls.Add(this.chkEcWaybill); this.splitContainer5.Panel1.Controls.Add(this.chkHot); @@ -175,7 +177,7 @@ namespace TemuKJD.WXForms.AdminForms // // chkCommissionUpdate // - this.chkCommissionUpdate.Location = new System.Drawing.Point(192, 415); + this.chkCommissionUpdate.Location = new System.Drawing.Point(192, 391); this.chkCommissionUpdate.Name = "chkCommissionUpdate"; this.chkCommissionUpdate.Size = new System.Drawing.Size(68, 21); this.chkCommissionUpdate.TabIndex = 816; @@ -184,7 +186,7 @@ namespace TemuKJD.WXForms.AdminForms // // chkEcWaybill // - this.chkEcWaybill.Location = new System.Drawing.Point(112, 415); + this.chkEcWaybill.Location = new System.Drawing.Point(112, 391); this.chkEcWaybill.Name = "chkEcWaybill"; this.chkEcWaybill.Size = new System.Drawing.Size(68, 21); this.chkEcWaybill.TabIndex = 815; @@ -193,7 +195,7 @@ namespace TemuKJD.WXForms.AdminForms // // chkHot // - this.chkHot.Location = new System.Drawing.Point(192, 394); + this.chkHot.Location = new System.Drawing.Point(192, 370); this.chkHot.Name = "chkHot"; this.chkHot.Size = new System.Drawing.Size(68, 21); this.chkHot.TabIndex = 814; @@ -202,7 +204,7 @@ namespace TemuKJD.WXForms.AdminForms // // chkShopOptimize // - this.chkShopOptimize.Location = new System.Drawing.Point(112, 394); + this.chkShopOptimize.Location = new System.Drawing.Point(112, 370); this.chkShopOptimize.Name = "chkShopOptimize"; this.chkShopOptimize.Size = new System.Drawing.Size(68, 21); this.chkShopOptimize.TabIndex = 813; @@ -211,16 +213,16 @@ namespace TemuKJD.WXForms.AdminForms // // chkChanceProdCollect // - this.chkChanceProdCollect.Location = new System.Drawing.Point(192, 436); + this.chkChanceProdCollect.Location = new System.Drawing.Point(192, 412); this.chkChanceProdCollect.Name = "chkChanceProdCollect"; - this.chkChanceProdCollect.Size = new System.Drawing.Size(96, 21); + this.chkChanceProdCollect.Size = new System.Drawing.Size(68, 21); this.chkChanceProdCollect.TabIndex = 812; - this.chkChanceProdCollect.Text = "机会商品采集"; + this.chkChanceProdCollect.Text = "商品采集"; this.chkChanceProdCollect.UseVisualStyleBackColor = true; // // chkShopPoints // - this.chkShopPoints.Location = new System.Drawing.Point(112, 436); + this.chkShopPoints.Location = new System.Drawing.Point(112, 413); this.chkShopPoints.Name = "chkShopPoints"; this.chkShopPoints.Size = new System.Drawing.Size(68, 21); this.chkShopPoints.TabIndex = 811; @@ -229,7 +231,7 @@ namespace TemuKJD.WXForms.AdminForms // // chkWXShowProdGetFromType // - this.chkWXShowProdGetFromType.Location = new System.Drawing.Point(192, 373); + this.chkWXShowProdGetFromType.Location = new System.Drawing.Point(192, 349); this.chkWXShowProdGetFromType.Name = "chkWXShowProdGetFromType"; this.chkWXShowProdGetFromType.Size = new System.Drawing.Size(68, 21); this.chkWXShowProdGetFromType.TabIndex = 810; @@ -240,7 +242,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label7.AutoSize = true; this.label7.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label7.Location = new System.Drawing.Point(55, 373); + this.label7.Location = new System.Drawing.Point(55, 349); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(51, 20); this.label7.TabIndex = 809; @@ -248,7 +250,7 @@ namespace TemuKJD.WXForms.AdminForms // // chkWXComplateProd // - this.chkWXComplateProd.Location = new System.Drawing.Point(112, 373); + this.chkWXComplateProd.Location = new System.Drawing.Point(112, 349); this.chkWXComplateProd.Name = "chkWXComplateProd"; this.chkWXComplateProd.Size = new System.Drawing.Size(68, 21); this.chkWXComplateProd.TabIndex = 808; @@ -262,7 +264,7 @@ namespace TemuKJD.WXForms.AdminForms "普通用户", "一级超管", "二级超管"}); - this.cmbSaLevel.Location = new System.Drawing.Point(112, 336); + this.cmbSaLevel.Location = new System.Drawing.Point(112, 318); this.cmbSaLevel.Name = "cmbSaLevel"; this.cmbSaLevel.Size = new System.Drawing.Size(148, 25); this.cmbSaLevel.TabIndex = 48; @@ -272,7 +274,7 @@ namespace TemuKJD.WXForms.AdminForms // 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, 338); + this.label6.Location = new System.Drawing.Point(27, 320); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(79, 20); this.label6.TabIndex = 47; @@ -336,7 +338,7 @@ namespace TemuKJD.WXForms.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, 302); + this.label3.Location = new System.Drawing.Point(55, 287); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(51, 20); this.label3.TabIndex = 40; @@ -344,7 +346,7 @@ namespace TemuKJD.WXForms.AdminForms // // txtCompany // - this.txtCompany.Location = new System.Drawing.Point(112, 301); + this.txtCompany.Location = new System.Drawing.Point(112, 286); this.txtCompany.Name = "txtCompany"; this.txtCompany.Size = new System.Drawing.Size(148, 23); this.txtCompany.TabIndex = 39; @@ -364,7 +366,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label1.AutoSize = true; this.label1.ForeColor = System.Drawing.SystemColors.ButtonShadow; - this.label1.Location = new System.Drawing.Point(56, 498); + this.label1.Location = new System.Drawing.Point(56, 505); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(212, 17); this.label1.TabIndex = 37; @@ -393,7 +395,7 @@ namespace TemuKJD.WXForms.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, 460); + this.btnCancel.Location = new System.Drawing.Point(59, 467); this.btnCancel.Name = "btnCancel"; this.btnCancel.Size = new System.Drawing.Size(86, 25); this.btnCancel.TabIndex = 35; @@ -409,7 +411,7 @@ namespace TemuKJD.WXForms.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, 460); + this.btnOpUser.Location = new System.Drawing.Point(174, 467); this.btnOpUser.Name = "btnOpUser"; this.btnOpUser.Size = new System.Drawing.Size(86, 25); this.btnOpUser.TabIndex = 34; @@ -421,7 +423,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label30.AutoSize = true; this.label30.ForeColor = System.Drawing.SystemColors.ButtonShadow; - this.label30.Location = new System.Drawing.Point(282, 162); + this.label30.Location = new System.Drawing.Point(282, 159); this.label30.Name = "label30"; this.label30.Size = new System.Drawing.Size(56, 17); this.label30.TabIndex = 33; @@ -431,7 +433,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label31.AutoSize = true; this.label31.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128))))); - this.label31.Location = new System.Drawing.Point(266, 232); + this.label31.Location = new System.Drawing.Point(266, 223); this.label31.Name = "label31"; this.label31.Size = new System.Drawing.Size(13, 17); this.label31.TabIndex = 32; @@ -439,7 +441,7 @@ namespace TemuKJD.WXForms.AdminForms // // txtRePass // - this.txtRePass.Location = new System.Drawing.Point(112, 229); + this.txtRePass.Location = new System.Drawing.Point(112, 220); this.txtRePass.Name = "txtRePass"; this.txtRePass.PasswordChar = '*'; this.txtRePass.Size = new System.Drawing.Size(148, 23); @@ -449,7 +451,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label32.AutoSize = true; this.label32.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label32.Location = new System.Drawing.Point(27, 230); + this.label32.Location = new System.Drawing.Point(27, 221); this.label32.Name = "label32"; this.label32.Size = new System.Drawing.Size(79, 20); this.label32.TabIndex = 31; @@ -459,7 +461,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label33.AutoSize = true; this.label33.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128))))); - this.label33.Location = new System.Drawing.Point(266, 268); + this.label33.Location = new System.Drawing.Point(266, 256); this.label33.Name = "label33"; this.label33.Size = new System.Drawing.Size(13, 17); this.label33.TabIndex = 30; @@ -469,7 +471,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label34.AutoSize = true; this.label34.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128))))); - this.label34.Location = new System.Drawing.Point(266, 197); + this.label34.Location = new System.Drawing.Point(266, 191); this.label34.Name = "label34"; this.label34.Size = new System.Drawing.Size(13, 17); this.label34.TabIndex = 29; @@ -479,7 +481,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label35.AutoSize = true; this.label35.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128))))); - this.label35.Location = new System.Drawing.Point(266, 162); + this.label35.Location = new System.Drawing.Point(266, 159); this.label35.Name = "label35"; this.label35.Size = new System.Drawing.Size(13, 17); this.label35.TabIndex = 28; @@ -504,7 +506,7 @@ namespace TemuKJD.WXForms.AdminForms "上货", "数据", "登录"}); - this.cmbGroup.Location = new System.Drawing.Point(112, 264); + this.cmbGroup.Location = new System.Drawing.Point(112, 252); this.cmbGroup.Name = "cmbGroup"; this.cmbGroup.Size = new System.Drawing.Size(148, 25); this.cmbGroup.TabIndex = 26; @@ -514,7 +516,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label37.AutoSize = true; this.label37.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label37.Location = new System.Drawing.Point(55, 266); + this.label37.Location = new System.Drawing.Point(55, 254); this.label37.Name = "label37"; this.label37.Size = new System.Drawing.Size(51, 20); this.label37.TabIndex = 25; @@ -522,7 +524,7 @@ namespace TemuKJD.WXForms.AdminForms // // txtPassword // - this.txtPassword.Location = new System.Drawing.Point(112, 194); + this.txtPassword.Location = new System.Drawing.Point(112, 188); this.txtPassword.Name = "txtPassword"; this.txtPassword.PasswordChar = '*'; this.txtPassword.Size = new System.Drawing.Size(148, 23); @@ -532,7 +534,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label38.AutoSize = true; this.label38.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label38.Location = new System.Drawing.Point(55, 195); + this.label38.Location = new System.Drawing.Point(55, 189); this.label38.Name = "label38"; this.label38.Size = new System.Drawing.Size(51, 20); this.label38.TabIndex = 22; @@ -540,7 +542,7 @@ namespace TemuKJD.WXForms.AdminForms // // txtMobile // - this.txtMobile.Location = new System.Drawing.Point(112, 159); + this.txtMobile.Location = new System.Drawing.Point(112, 156); this.txtMobile.Name = "txtMobile"; this.txtMobile.Size = new System.Drawing.Size(148, 23); this.txtMobile.TabIndex = 21; @@ -549,7 +551,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label39.AutoSize = true; this.label39.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label39.Location = new System.Drawing.Point(41, 160); + this.label39.Location = new System.Drawing.Point(41, 157); this.label39.Name = "label39"; this.label39.Size = new System.Drawing.Size(65, 20); this.label39.TabIndex = 20; @@ -703,20 +705,20 @@ namespace TemuKJD.WXForms.AdminForms // this.dgvUser.AllowUserToAddRows = false; this.dgvUser.AllowUserToDeleteRows = false; - dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249))))); - this.dgvUser.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249))))); + this.dgvUser.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle4; this.dgvUser.AutoRowNumber = true; this.dgvUser.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; this.dgvUser.BackgroundColor = System.Drawing.Color.White; this.dgvUser.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.dgvUser.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvUser.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle5; this.dgvUser.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvUser.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.UserIdColumn, @@ -746,31 +748,6 @@ namespace TemuKJD.WXForms.AdminForms this.dgvUser.TabIndex = 1; this.dgvUser.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvUser_CellContentClick); // - // btnExportShopErp - // - this.btnExportShopErp.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnExportShopErp.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnExportShopErp.DisabledBackColor = System.Drawing.Color.Empty; - this.btnExportShopErp.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnExportShopErp.Location = new System.Drawing.Point(0, 1); - this.btnExportShopErp.Name = "btnExportShopErp"; - this.btnExportShopErp.Size = new System.Drawing.Size(140, 25); - this.btnExportShopErp.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnExportShopErp.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnExportShopErp.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnExportShopErp.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnExportShopErp.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnExportShopErp.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnExportShopErp.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnExportShopErp.Style.GradientAngle = 90; - this.btnExportShopErp.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnExportShopErp.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnExportShopErp.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnExportShopErp.TabIndex = 439; - this.btnExportShopErp.Text = "导出用户到后台系统"; - this.btnExportShopErp.Visible = false; - this.btnExportShopErp.Click += new System.EventHandler(this.btnExportShopErp_Click); - // // UserIdColumn // this.UserIdColumn.HeaderText = "id"; @@ -851,8 +828,8 @@ namespace TemuKJD.WXForms.AdminForms // // colPlus // - dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.colPlus.DefaultCellStyle = dataGridViewCellStyle3; + dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.colPlus.DefaultCellStyle = dataGridViewCellStyle6; this.colPlus.FillWeight = 18F; this.colPlus.HeaderText = "+"; this.colPlus.Name = "colPlus"; @@ -883,6 +860,40 @@ namespace TemuKJD.WXForms.AdminForms this.deleteColumn.Name = "deleteColumn"; this.deleteColumn.ReadOnly = true; // + // btnExportShopErp + // + this.btnExportShopErp.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnExportShopErp.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnExportShopErp.DisabledBackColor = System.Drawing.Color.Empty; + this.btnExportShopErp.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnExportShopErp.Location = new System.Drawing.Point(0, 1); + this.btnExportShopErp.Name = "btnExportShopErp"; + this.btnExportShopErp.Size = new System.Drawing.Size(140, 25); + this.btnExportShopErp.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnExportShopErp.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnExportShopErp.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnExportShopErp.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnExportShopErp.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnExportShopErp.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnExportShopErp.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnExportShopErp.Style.GradientAngle = 90; + this.btnExportShopErp.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnExportShopErp.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnExportShopErp.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnExportShopErp.TabIndex = 439; + this.btnExportShopErp.Text = "导出用户到后台系统"; + this.btnExportShopErp.Visible = false; + this.btnExportShopErp.Click += new System.EventHandler(this.btnExportShopErp_Click); + // + // chkProdFission + // + this.chkProdFission.Location = new System.Drawing.Point(112, 435); + this.chkProdFission.Name = "chkProdFission"; + this.chkProdFission.Size = new System.Drawing.Size(68, 21); + this.chkProdFission.TabIndex = 817; + this.chkProdFission.Text = "商品裂变"; + this.chkProdFission.UseVisualStyleBackColor = true; + // // WXAdminAccountForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -981,5 +992,6 @@ namespace TemuKJD.WXForms.AdminForms private System.Windows.Forms.DataGridViewLinkColumn colAddShop; private System.Windows.Forms.DataGridViewLinkColumn editColumn; private System.Windows.Forms.DataGridViewLinkColumn deleteColumn; + private UserComponent.UcCheckBox chkProdFission; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs index 63fcd86..9c030cf 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs +++ b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs @@ -82,17 +82,19 @@ namespace TemuKJD.WXForms.AdminForms if (chkWXShowProdGetFromType.Checked) authority += "货源选择,"; if (chkChanceProdCollect.Checked) - authority += "机会商品采集,"; + authority += "商品采集,"; if (chkHot.Checked) authority += "爆款数据,"; if (chkShopOptimize.Checked) authority += "评分考核,"; if (chkEcWaybill.Checked) - authority += chkEcWaybill.Text + ","; + authority += chkEcWaybill.Text + ","; // 在线寄件 if (chkCommissionUpdate.Checked) - authority += chkCommissionUpdate.Text + ","; + authority += chkCommissionUpdate.Text + ","; // 佣金上货 if (chkShopPoints.Checked) - authority += "充值用户,"; + authority += chkShopPoints.Text + ","; // 充值用户 + if (chkProdFission.Checked) + authority += chkProdFission.Text + ","; // 商品裂变 data.Append("&authority=" + authority.Trim(',')); string url = BaseClass.BuildObjString("user/add_user"); @@ -209,6 +211,7 @@ namespace TemuKJD.WXForms.AdminForms chkCommissionUpdate.Checked = false; chkHot.Checked = false; chkShopPoints.Checked = false; + chkProdFission.Checked = false; } private void btnRefresh_Click(object sender, EventArgs e) @@ -243,6 +246,7 @@ namespace TemuKJD.WXForms.AdminForms cmbSaLevel.Text = saLevelName; chkWXComplateProd.Checked = authority.Contains(chkWXComplateProd.Text); chkShopPoints.Checked = authority.Contains(chkShopPoints.Text); + chkProdFission.Checked = authority.Contains(chkProdFission.Text); chkChanceProdCollect.Checked = authority.Contains(chkChanceProdCollect.Text); chkShopOptimize.Checked = authority.Contains(chkShopOptimize.Text); chkEcWaybill.Checked = authority.Contains(chkEcWaybill.Text); diff --git a/TEMUKJD/WXForms/OrderForms/WXOrderListForm.cs b/TEMUKJD/WXForms/OrderForms/WXOrderListForm.cs index b8df775..c5b93f8 100644 --- a/TEMUKJD/WXForms/OrderForms/WXOrderListForm.cs +++ b/TEMUKJD/WXForms/OrderForms/WXOrderListForm.cs @@ -701,6 +701,7 @@ namespace TemuKJD.WXForms.OrderForms if (row.Cells["colDecrypt"].Value.ParseToString() != "❌") { + // 点小眼睛查看地址 ShowOrderAddress(shop, orderId, row, false); } @@ -716,6 +717,7 @@ namespace TemuKJD.WXForms.OrderForms return; } + // 在线寄件 GetOnlineWayBill(shop, row); }); @@ -883,7 +885,14 @@ namespace TemuKJD.WXForms.OrderForms senderInfo.street = BaseRegex.GetStringJson(ref addressJson, "street_name").ParseToString(); senderInfo.mobile = BaseRegex.GetStringJson(ref addressJson, "tel_number"); senderInfo.name = BaseRegex.GetStringJson(ref addressJson, "user_name"); - senderInfo.address = BaseRegex.GetStringJson(ref addressJson, "detail_info"); + var detailAddressLst = new WXOrderList().detailAddress.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList(); + var detailAddress = detailAddressLst[Randomx.GetId(detailAddressLst.Count)]; + detailAddress += Randomx.GetId(1, 21) + WXOrderList.quantifiers1[Randomx.GetId(WXOrderList.quantifiers1.Count)]; + detailAddress += Randomx.GetId(1, 35) + Randomx.GetId(1, 9).ToString().PadLeft(2, '0') + WXOrderList.quantifiers2[Randomx.GetId(WXOrderList.quantifiers2.Count)]; + + senderInfo.address = detailAddress; + + //senderInfo.address = BaseRegex.GetStringJson(ref addressJson, "detail_info"); senderInfo.mobile = WaybillHelper.MobileHead[Randomx.GetId(WaybillHelper.MobileHead.Count)] + Randomx.GetNumber(8); senderInfo.name = WaybillHelper.LastName[Randomx.GetId(WaybillHelper.LastName.Count)] + (Randomx.GetId(2) == 1 ? "先生" : "女士"); } @@ -2517,6 +2526,2645 @@ namespace TemuKJD.WXForms.OrderForms var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere); return result; } + + public static List quantifiers1 = new List { "栋", "楼", "幢", "号", "弄", "巷" }; + public static List quantifiers2 = new List { "", "", "", "", "", "", "", "", "", "", "", "", "室", "室", "室", "室", "室", "室", "室", "房间" }; + + public string detailAddress { get; set; } = @"晨辉东路金茂家园栋西侧附房 +云栖巷老供销社后院平房第间 +星桥南路丽景公寓B座顶层复式 +松竹里便民市场北侧临街铺面 +望月路农机大院排号院落 +丹枫街翰林雅居沿街二层商铺 +清荷路水岸人家南区独立小院 +古柏巷原粮管所宿舍西户 +长庚西路天悦花园栋架空层旁住宅 +翠柳街红枫小区北门旁自建房 +石泉路山泉新村中心位置宅院 +烟柳巷纺织厂老宿舍楼东侧 +锦华中路锦绣庭院独栋民居 +柏杨路阳光里小区步梯六楼 +梅香街梅园新村后排平房 +桐荫巷木器厂旧址院内住房 +润和路和乐家园东区一单元 +秋实街丰收大院前排临街房 +兰馨巷兰花苑底层储物间改住房 +洪波东路浪潮公寓临街单间 +青槐路槐香里老宅东厢房 +杏园街杏树园片区自建小楼 +竹溪巷溪畔民居联排住宅 +盛景路盛和府邸小高层中户 +永宁街安宁里老街区临街宅院 +荷风巷荷苑小区边角独立房 +凌霄路凌霄花园顶楼带露台 +梧叶街梧桐大院后排住房 +花溪巷花溪雅居一楼带小院 +景阳西路景阳小区电梯楼西户 +松涛街松涛里老式单元楼 +柳泉巷泉柳民居联排平房 +朝阳里东街号院栋西侧平房 +凤鸣巷中段便民楼后巷 +青槐路辅路老粮站旁独院 +荷风街南支巷铁皮房片区 +松园后街花木市场深处院落 +柳泉巷北口杂货铺隔壁内院 +锦华里二巷三层自建小楼 +玉泉路西巷排水渠旁民居 +丹枫街北头农机站后侧 +紫竹巷中段围墙内老宅 +广福里三巷临街复式宅院 +云溪路东支巷仓储区旁住房 +红梅巷南段果蔬摊后方小院 +翠园后街苗圃园边上住宅 +安和巷南口修车铺内侧院落 +星耀路西二巷老式联排民房 +兰馨里一巷阁楼式民居 +响水街北巷石桥旁农家院 +梧桐巷中段老戏台后方住所 +顺达路南支巷废品站隔壁小院 +福临里四巷坡地自建房屋 +月河路东巷码头旁临街房 +金桂巷北段木器厂后侧民居 +怡园后街假山旁独立院落 +静宁巷中段围墙拐角老宅 +通达路西三巷货运站旁住房 +海棠里二巷台阶上方宅院 +清流街南巷古井边上民房 +白杨巷南段预制板老式楼房 +隆兴路东支巷饲料店后院内宅 +瑞祥里一巷矮墙围合小院 +镜湖路北巷游船码头后侧房 +丁香巷中段裁缝铺深处院落 +桃园后街果林边上自建屋 +平和巷北口理发店内侧住宅 +远航路南二巷物流点旁民房 +茉莉里三巷坡路两侧宅院 +寒溪街西巷河岸边联排房 +古柏巷北段祠堂旁老式民居 +兴盛路东三巷五金店后方小院 +泰和里二巷架空层上方住房 +碧泉路南巷泉眼旁农家院 +蔷薇巷南段花店后侧内院 +枣园后街枣树林深处宅院 +永宁巷中段路牙边小平房 +昌盛路西四巷建材市场旁房 +木槿里一巷跨巷小楼院落 +沙河街北巷河滩边自建房屋 +石榴巷北段糕点铺内侧住宅 +康乐路南支巷诊所后方小院 +吉庆里四巷竹林边上老宅 +寒山路东巷山脚临街民房 +紫薇巷中段书画店深处院落 +梨园后街梨园深处联排房 +崇安巷南口鞋店后方内宅 +鸿达路北三巷货运堆场旁房 +菖蒲里二巷水塘边小平房 +长溪街西巷溪流旁农家院 +腊梅巷南段酱菜铺内侧院落 +杏园后街杏树旁老式民居 +定安巷中段丁字路口内院 +广盛路东四巷农资店后方房 +菱荷里三巷荷塘边上宅院 +岩泉路南巷山石旁自建房屋 +迎春巷北段果蔬市场深处院 +枫香路北支巷木材站后侧房 +顺安里一巷窄巷深处老宅 +渔舟街东巷渔船码头旁民房 +连翘巷中段药铺内侧小院 +梅园后街梅林边上住宅 +泰安巷北口修车行后方内院 +恒通路南四巷中转仓旁房屋 +芦花里二巷芦苇荡边小平房 +深溪街北巷深沟旁农家院 +素馨巷南段杂货摊后方院落 +李园后街李树旁老式民房 +广安巷中段弯道内侧宅院 +汇盛路西五巷钢材市场旁房 +浮萍里三巷池塘边自建小屋 +石泉路东巷石磨旁临街住宅 +探春巷北段农贸市场深处院 +香樟路南支巷苗圃后方房屋 +久安里一巷高墙围合小院 +归舟街西巷渡口边上民房 +忍冬巷中段茶饮店内侧院落 +槐园后街古槐旁老宅宅院 +福安巷南口熟食铺后方内宅 +盛达路北四巷快递站点旁房 +荻花里二巷河湾边小平房 +曲溪街东巷弯道溪流旁院 +晚香巷南段粮油店内侧院落 +橘园后街橘林深处联排房 +乐安巷中段十字路内小院 +宏通路南五巷汽修厂后方房 +菖蒲湾三巷浅滩边自建屋 +冷泉路西巷凉泉旁农家院 +寻芳巷北段花卉市场深处院 +楠木巷北支巷木料厂后侧房 +长安里一巷窄道深处老宅 +泊船街北巷停泊区旁民房 +络石巷中段编织铺内侧院落 +檀园后街檀木树旁老式房 +民安巷北口洗车行后方内院 +万顺路西六巷仓储中心旁房 +萍叶里二巷浅塘边小平房 +环溪街南巷环水区域宅院 +落英巷南段干货店内侧院落 +柚园后街柚树旁自建房屋 +新安巷中段斜坡内侧小院 +卓盛路东六巷水暖店后方房 +荷尖里三巷荷塘浅处住宅 +沸泉路东巷热泉边农家院 +撷翠巷北段花鸟市场深处院 +梓树巷南支巷板材站后侧房 +静安里一巷矮巷深处老宅 +行舟街西巷航道旁临街房 +云苓巷中段草药铺内侧院落 +栎园后街柞树旁老式民居 +裕安巷南口卤味铺后方内宅 +捷通路北五巷配送站旁房屋 +苇叶里二巷苇丛边小平房 +叠溪街东巷叠水景观旁院 +凝香巷南段日杂店内侧院落 +栗园后街栗树林深处房 +熙安巷中段岔路内侧小院 +隆通路南六巷铁艺店后方房 +菱角里三巷菱塘边上住宅 +灵泉路西巷灵泉井旁农家院 +拾翠巷北段宠物市场深处院 +椿树巷北支巷木器加工房后 +泰安里一巷暗巷深处老宅 +系舟街北巷系船桩旁民房 +玉竹巷中段竹编铺内侧院落 +桦园后街桦树旁自建房屋 +淳安巷北口摩配行后方内院 +广顺路西七巷五金仓储旁房 +蒲草里二巷蒲草丛边小平房 +连溪街南巷连河区域宅院 +留香巷南段烟酒铺内侧院落 +枣林后街老枣树旁老式房 +淳和巷中段陡坡内侧小院 +锦盛路东七巷玻璃店后方房 +藕叶里三巷藕塘边上住宅 +甘泉路东巷甜泉旁农家院 +揽芳巷北段生鲜市场深处院 +楝树巷南支巷木材堆场后侧 +清安里一巷曲巷深处老宅 +泛舟街西巷游船泊位旁房 +麦冬巷中段杂粮铺内侧院落 +杨园后街白杨树旁民居 +惠安巷南口炸货铺后方内宅 +畅通路北六巷货运门店旁房 +茅草里二巷茅草丛边小平房 +分支溪街东巷支流旁宅院 +沁香巷南段熟食摊内侧院落 +枫林后街红枫林深处房屋 +仁和巷中段巷口内小院 +鸿盛路南七巷门窗店后方房 +芡实里三巷芡塘边上住宅 +清泉路西巷清潭旁农家院 +采芳巷北段水产市场深处院 +槐树巷北支巷木作坊后侧房 +和安里一巷深巷深处老宅 +停舟街北巷停船区旁民房 +黄精巷中段山货铺内侧院落 +柳园后街垂柳旁自建房屋 +顺和巷北口修理铺后方内院 +通远路西八巷物流仓库旁房 +灯草里二巷草棚边小平房 +汇溪街南巷汇流口旁宅院 +溢香巷南段果蔬店内侧院落 +桃林后街桃林深处老式房 +德和巷中段窄坡内侧小院 +鼎盛路东八巷石材店后方房 +慈姑里三巷浅塘边上住宅 +冷潭路东巷寒潭旁农家院 +撷芳巷北段肉禽市场深处院 +榆树巷南支巷木料加工房后 +睦安里一巷绕巷深处老宅 +渡舟街西巷渡口码头旁房 +首乌巷中段干货摊内侧院落 +樟园后街香樟旁民居宅院 +祥和巷南口面点铺后方内宅 +致远路北七巷中转库房旁房 +蒿草里二巷蒿丛边小平房 +溪口街东巷溪口边上宅院 +飘香巷南段服饰店内侧院落 +杏林后街杏林深处联排房 +谦和巷中段弯道内侧小院 +强盛路南八巷广告店后方房 +荸荠里三巷水田边自建屋 +幽泉路西巷幽泉旁农家院 +寻翠巷北段土产市场深处院 +梧桐巷北支巷家具坊后侧房 +静安里二巷叠巷深处老宅 +摇舟街北巷摇橹船停泊区 +百合巷中段花店摊内侧院落 +杉园后街水杉旁老式民居 +温和巷北口缝纫铺后方内院 +恒远路西九巷货物堆场旁房 +莎草里二巷湿地边小平房 +溪尾街南巷溪尾滩旁宅院 +浓香巷南段鞋靴店内侧院落 +竹林后街翠竹深处房屋 +恭和巷中段岔坡内侧小院 +伟盛路东九巷铁艺加工后房 +慈莲里三巷莲池边上住宅 +深潭路东巷深潭边农家院 +觅芳巷北段熟食市场深处院 +朴树巷南支巷板材堆放区后 +宁安里二巷回廊巷深处老宅 +撑舟街西巷撑船码头旁房 +贝母巷中段山珍铺内侧院落 +枫园后街枫树旁自建房屋 +协和巷北口修鞋铺后方内院 +辽远路北八巷大件物流旁房 +菅草里二巷荒草边小平房 +溪腰街东巷溪流中段宅院 +醇香巷南段箱包店内侧院落 +松林后街松林深处老式房 +善和巷中段墙根内侧小院 +卓盛路南九巷汽配店后方房 +水芹里三巷浅水沟边住宅 +静泉路西巷静井旁农家院 +访翠巷北段日杂市场深处院 +椿芽巷北支巷苗木场后侧房 +永安里二巷夹缝巷深处老宅 +放舟街北巷放船水域旁民房 +石斛巷中段药草摊内侧院落 +桧园后街圆柏旁民居宅院 +怡和巷南口蔬果铺后方内宅 +悠远路北九巷快运站点旁房 +蓑草里二巷坡地边小平房 +岔溪街南巷岔流处旁宅院 +鲜香巷南段家纺店内侧院落 +柏林后街侧柏深处联排房 +乐和巷中段石阶内侧小院 +冠盛路东十巷水暖加工后房 +水葱里三巷湿洼地边住宅 +浅潭路东巷浅潭旁农家院 +探芳巷北段水产摊市深处院 +皂角巷南支巷旧木料区后侧 +康安里二巷盘旋巷深处老宅 +游舟街西巷游船航道旁房屋 +芍药巷中段花艺铺内侧院落 +槐林后街国槐旁自建房屋 +泰和巷北口配锁铺后方内院 +旷远路西十巷大型仓库旁房 +苎草里二巷田埂边小平房 +弯溪街东巷弯流处旁宅院 +清香巷南段文具店内侧院落 +杨林后街白杨深处老式房 +淳和巷南段矮墙内侧小院 +鼎盛路南十巷灯饰店后方房 +泽泻里三巷沟渠边住宅 +冷泉路东巷冷井旁农家院 +撷芳巷南段肉品市场深处院 +桑枝巷北支巷养蚕坊后侧房 +福安里二巷绕墙巷深处老宅 +泊舟街南巷泊船港湾旁民房 +郁金巷中段香品铺内侧院落 +榆园后街榆树旁民居宅院 +永和巷南口面食铺后方内宅 +迢远路北十巷零担物流旁房 +蔺草里二巷塘埂边小平房 +双溪街西巷双河交汇旁宅院 +淡香巷南段玩具店内侧院落 +柳林后街垂柳深处联排房 +清和巷中段土坡内侧小院 +隆盛路东十一巷五金加工后房 +灯芯里三巷低洼地边住宅 +温泉路西巷温池旁农家院 +寻芳巷南段果蔬摊市深处院 +桃枝巷南支巷果木场后侧房 +吉安里二巷转角巷深处老宅 +行舟街南巷行船航道旁房屋 +牵牛巷中段藤蔓铺内侧院落 +枣园后街酸枣旁自建房屋 +祥和巷北口修表铺后方内院 +广远路西十一巷仓储园区旁房 +席草里二巷场院边小平房 +长溪街东巷长流河道旁宅院 +微香巷南段饰品店内侧院落 +杏林后街杏树深处老式房 +安和巷南段石墙内侧小院 +宏盛路南十一巷化工店后方房 +浮萍里四巷积水塘边住宅 +暖泉路东巷暖井旁农家院 +采翠巷南段花鸟摊市深处院 +梅枝巷北支巷花木场后侧房 +瑞安里二巷穿墙巷深处老宅 +系舟街南巷系船码头旁民房 +凤仙巷中段盆栽铺内侧院落 +栗园后街板栗旁民居宅院 +顺和巷南段木栏内侧小院 +怀远路北十一巷配送仓库旁房 +茅草里三巷沟坎边小平房 +短溪街西巷短流河段旁宅院 +余香巷南段皮具店内侧院落 +枫林后街青枫深处联排房 +平和巷北段土坎内侧小院 +锦盛路东十二巷门窗加工后房 +菱叶里四巷河塘边住宅 +冰泉路西巷冰池旁农家院 +访芳巷南段生鲜摊市深处院 +竹枝巷南支巷竹器坊后侧房 +兴安里二巷穿巷深处老宅 +泛舟街南巷泛舟水域旁房屋 +鸡冠巷中段种苗铺内侧院落 +栎园后街青栎旁自建房屋 +温和巷北口弹棉花铺后方院 +超远路西十二巷货运园区旁房 +蒲草里三巷渠边小平房 +曲溪街西巷曲流河道旁宅院 +留香巷南段眼镜店内侧院落 +槐园后街刺槐深处老式房 +仁和巷南段砖垛内侧小院 +鸿盛路南十二巷钢材店后方房 +荷叶里四巷藕塘边住宅 +寒潭路东巷寒池旁农家院 +探翠巷南段水产摊市深处院 +柳枝巷北支巷柳条坊后侧房 +乐安里二巷隐巷深处老宅 +停舟街南巷停船港湾旁民房 +茉莉巷中段香花铺内侧院落 +杨园后街青杨旁民居宅院 +谦和巷北段石栏内侧小院 +腾远路北十二巷中转货场旁房 +菅草里三巷坡埂边小平房 +环溪街东巷环流水域旁宅院 +溢香巷南段钟表店内侧院落 +桑林后街桑树深处联排房 +德和巷南段土墙内侧小院 +强盛路东十二巷广告加工后房 +芡实里四巷水田边住宅 +灵泉路东巷灵池旁农家院 +觅芳巷南段干货摊市深处院 +榆枝巷南支巷木器坊后侧房 +熙安里二巷暗巷深处老宅 +渡舟街南巷渡船码头旁房屋 +紫薇巷中段花苗铺内侧院落 +樟园后街香樟旁自建房屋 +恭和巷北段石坎内侧小院 +逸远路西十三巷大件仓储旁房 +蓑草里三巷垄边小平房 +叠溪街西巷叠流水域旁宅院 +飘香巷南段童装店内侧院落 +柳林后街旱柳深处老式房 +善和巷南段泥墙内侧小院 +伟盛路南十二巷石材店后方房 +慈姑里四巷浅塘边住宅 +幽潭路西巷幽池旁农家院 +寻翠巷南段土产摊市深处院 +松枝巷北支巷木作坊后侧房 +淳安里二巷深隐巷深处老宅 +摇舟街南巷摇船泊位旁民房 +木槿巷中段盆栽铺内侧院落 +杉园后街冷杉旁民居宅院 +睦和巷北段土坡内侧小院 +悠远路北十三巷快运货场旁房 +苎草里三巷地头小平房 +汇溪街东巷汇流河道旁宅院 +浓香巷南段男装店内侧院落 +柏林后街圆柏深处联排房 +谦和巷南段矮坎内侧小院 +冠盛路东十三巷铁艺加工后房 +荸荠里四巷沟渠边住宅 +清泉路东巷清池旁农家院 +撷翠巷南段宠物摊市深处院 +柏枝巷南支巷板材坊后侧房 +惠安里二巷窄隐巷深处老宅 +撑舟街南巷撑船渡口旁房屋 +海棠巷中段鲜果铺内侧院落 +枫园后街红枫旁自建房屋 +怡和巷北段石埂内侧小院 +辽远路西十三巷零担仓储旁房 +蔺草里三巷塘边小平房 +分溪街西巷分流河道旁宅院 +醇香巷南段女装店内侧院落 +杨林后街青杨深处老式房 +温和巷南段砖坎内侧小院 +卓盛路南十三巷汽配店后方房 +水芹里四巷湿地边住宅 +静潭路西巷静池旁农家院 +访芳巷南段熟食摊市深处院 +椿枝巷北支巷苗木坊后侧房 +顺安里二巷曲隐巷深处老宅 +放舟街南巷放船水域旁民房 +丁香巷中段香包铺内侧院落 +桧园后街刺柏旁民居宅院 +祥和巷北段土埂内侧小院 +旷远路北十三巷配送货场旁房 +席草里三巷场边小平房 +合溪街东巷合流河道旁宅院 +鲜香巷南段内衣店内侧院落 +枣林后街灰枣深处联排房 +泰和巷南段泥坎内侧小院 +隆盛路东十四巷灯饰加工后房 +水葱里四巷洼地处住宅 +甘泉路西巷甘池旁农家院 +探芳巷南段肉品摊市深处院 +槐枝巷南支巷木货坊后侧房 +广安里二巷绕隐巷深处老宅 +游舟街南巷游船航道旁房屋 +蔷薇巷中段花艺铺内侧院落 +桑园后街桑树旁自建房屋 +永和巷北段石坡内侧小院 +迢远路西十四巷综合仓储旁房 +灯草里三巷沟边小平房 +支流溪街西巷支流河道旁宅院 +淡香巷南段童鞋店内侧院落 +榆林后街榆树深处老式房 +淳和巷北段砖坡内侧小院 +宏盛路南十四巷化工店后方房 +泽泻里四巷渠塘边住宅 +温泉路东巷温潭旁农家院 +觅翠巷南段果蔬摊市深处院 +柳枝巷北支巷柳货坊后侧房 +福安里三巷穿隐巷深处老宅 +泊舟街西巷泊船航道旁民房 +牡丹巷中段盆花铺内侧院落 +柳园后街杞柳旁民居宅院 +祥和巷北段土坡内侧小院 +广远路北十四巷大型货场旁房 +莎草里三巷滩边小平房 +干流溪街东巷干流河道旁宅院 +微香巷南段箱包店内侧院落 +桃林后街碧桃深处联排房 +安和巷北段泥坡内侧小院 +锦盛路东十四巷门窗加工后房 +灯芯里四巷低洼塘边住宅 +冷潭路西巷冷池旁农家院 +寻芳巷北段水产摊市深处院 +桃枝巷南支巷果货坊后侧房 +吉安里三巷转角隐巷老宅 +系舟街西巷系船航道旁房屋 +芍药巷中段花束铺内侧院落 +栗园后街锥栗旁自建房屋 +平和巷北段石坡内侧小院 +怀远路西十四巷快递仓储旁房 +茅草里四巷崖边小平房 +浅溪街西巷浅流河道旁宅院 +余香巷南段帽饰店内侧院落 +杏林后街山杏深处老式房 +清和巷北段砖坡内侧小院 +鸿盛路南十四巷钢材店后方房 +菱角里四巷河湾边住宅 +冰泉路东巷冰潭旁农家院 +采芳巷北段花鸟摊市深处院 +竹枝巷北支巷竹货坊后侧房 +瑞安里三巷穿墙隐巷老宅 +泛舟街西巷泛舟航道旁民房 +凤仙巷中段花籽铺内侧院落 +栎园后街麻栎旁民居宅院 +乐和巷北段土坡内侧小院 +腾远路北十四巷快运货场旁房 +蒲草里四堰边小平房 +深溪街东巷深流河道旁宅院 +留香巷南段袜品店内侧院落 +枫林后街五角枫深处联排房 +仁和巷北段泥坡内侧小院 +强盛路东十四巷广告加工后房 +荷叶里五巷塘湾边住宅 +幽泉路东巷幽潭旁农家院 +访翠巷北段生鲜摊市深处院 +桑枝巷南支巷桑货坊后侧房 +熙安里三巷回廊隐巷老宅 +停舟街西巷停船航道旁房屋 +牵牛巷中段花藤铺内侧院落 +枣园后街圆枣旁自建房屋 +德和巷北段石坡内侧小院 +逸远路西十五巷大件货场旁房 +菅草里四埂边小平房 +急溪街西巷急流河道旁宅院 +溢香巷南段围巾店内侧院落 +槐林后街龙爪槐深处老式房 +谦和巷北段砖坡内侧小院 +伟盛路南十四巷石材店后方房 +芡实里五巷滩田边住宅 +灵潭路西巷灵池旁农家院 +撷芳巷北段干货摊市深处院 +榆枝巷北支巷榆货坊后侧房 +淳安里三巷夹缝隐巷老宅 +渡舟街西巷渡船航道旁民房 +茉莉巷中段花干铺内侧院落 +杨园后街钻天杨旁民居宅院 +善和巷北段土坡内侧小院 +悠远路北十五巷零担货场旁房 +蓑草里四垄边小平房 +缓溪街东巷缓流河道旁宅院 +飘香巷南段手套店内侧院落 +柳林后街馒头柳深处联排房 +恭和巷北段泥坡内侧小院 +冠盛路东十五巷铁艺加工后房 +慈姑里五巷浅滩边住宅 +静泉路东巷静潭旁农家院 +寻翠巷北段土产摊市深处院 +松枝巷南支巷松货坊后侧房 +睦安里三巷盘旋隐巷老宅 +摇舟街西巷摇船航道旁房屋 +紫薇巷中段花根铺内侧院落 +樟园后街黄樟旁自建房屋 +温和巷北段石坡内侧小院 +辽远路西十五巷配送仓储旁房 +苎草里四畦边小平房 +静溪街西巷静流河道旁宅院 +浓香巷南段皮带店内侧院落 +柏林后街侧柏丛深处老式房 +怡和巷北段砖坡内侧小院 +卓盛路南十五巷汽配店后方房 +荸荠里五巷浅沟边住宅 +清泉路西巷清潭旁农家院 +探翠巷北段宠物摊市深处院 +柏枝巷北支巷柏货坊后侧房 +惠安里三巷盘旋隐巷老宅 +撑舟街西巷撑船航道旁民房 +海棠巷中段果干铺内侧院落 +枫园后街三角枫旁民居宅院 +祥和巷北段土坡内侧小院 +旷远路北十五巷综合货场旁房 +蔺草里四塘埂小平房 +动溪街东巷流动河道旁宅院 +醇香巷南段鞋帽店内侧院落 +杨林后街银白杨深处联排房 +泰和巷北段泥坡内侧小院 +隆盛路东十五巷灯饰加工后房 +水芹里五巷浅湿地住宅 +甘泉路东巷甘潭旁农家院 +觅芳巷北段熟食摊市深处院 +椿枝巷南支巷椿货坊后侧房 +顺安里三巷穿墙隐巷老宅 +放舟街西巷放船航道旁房屋 +丁香巷中段花籽铺内侧院落 +桧园后街铺地柏旁自建房屋 +祥和巷北段石坡内侧小院 +迢远路西十五巷快运仓储旁房 +席草里四场边小平房 +幽溪街西巷幽流河道旁宅院 +鲜香巷南段袜饰店内侧院落 +枣林后街酸枣丛深处老式房 +永和巷北段砖坡内侧小院 +宏盛路南十五巷化工店后方房 +水葱里五巷浅洼地住宅 +温泉路西巷温泉池旁农家院 +访芳巷北段肉品摊市深处院 +槐枝巷北支巷槐货坊后侧房 +广安里三巷绕墙隐巷老宅 +游舟街西巷游船航道旁民房 +蔷薇巷中段花肥铺内侧院落 +桑园后街龙桑旁民居宅院 +淳和巷北段土坡内侧小院 +广远路北十五巷大型仓储旁房 +灯草里四渠边小平房 +明溪街东巷明流河道旁宅院 +淡香巷南段童装铺内侧院落 +榆林后街垂枝榆深处联排房 +安和巷北段泥坡内侧小院 +锦盛路东十五巷门窗加工后房 +泽泻里五巷浅渠边住宅 +冷泉路西巷冷泉池旁农家院 +撷翠巷北段果蔬摊市深处院 +柳枝巷南支巷柳货坊后侧房 +福安里四巷暗巷深处老宅 +泊舟街东巷泊船码头旁房屋 +牡丹巷中段花盆铺内侧院落 +柳园后街龙爪柳旁自建房屋 +平和巷北段石坎内侧小院 +怀远路西十六巷快递货场旁房 +莎草里四滩埂小平房 +暗溪街西巷暗流河道旁宅院 +微香巷南段箱包铺内侧院落 +桃林后街垂枝桃深处老式房 +清和巷北段砖坎内侧小院 +鸿盛路南十六巷钢材店后方房 +灯芯里五巷浅塘边住宅 +寒潭路西巷寒潭池旁农家院 +寻芳巷中段水产摊市深处院 +桃枝巷北支巷桃货坊后侧房 +吉安里四巷转角深巷老宅 +系舟街东巷系船码头旁民房 +芍药巷中段花土铺内侧院落 +栗园后街欧洲栗旁民居宅院 +仁和巷北段土坎内侧小院 +腾远路北十六巷零担货场旁房 +茅草里五崖埂小平房 +清溪街东巷清流河道旁宅院 +余香巷南段帽饰铺内侧院落 +杏林后街垂枝杏深处联排房 +德和巷北段泥坎内侧小院 +强盛路东十六巷广告加工后房 +菱角里五巷河浅湾住宅 +冰泉路西巷冰泉池旁农家院 +采芳巷中段花鸟摊市深处院 +竹枝巷南支巷竹货坊后侧房 +瑞安里四巷穿墙深巷老宅 +泛舟街东巷泛舟码头旁房屋 +凤仙巷中段花铲铺内侧院落 +栎园后街白栎旁自建房屋 +谦和巷北段石坎内侧小院 +逸远路西十六巷大件货场旁房 +蒲草里五堰埂小平房 +浊溪街西巷浊流河道旁宅院 +留香巷南段手套铺内侧院落 +枫林后街鸡爪槭深处老式房 +善和巷北段砖坎内侧小院 +伟盛路南十六巷石材店后方房 +荷叶里六巷塘浅湾住宅 +幽泉路西巷幽泉池旁农家院 +访翠巷中段生鲜摊市深处院 +桑枝巷北支巷桑货坊后侧房 +熙安里四巷回廊深巷老宅 +停舟街东巷停船码头旁民房 +牵牛巷中段花架铺内侧院落 +枣园后街扁枣旁民居宅院 +恭和巷北段土坎内侧小院 +悠远路北十六巷配送货场旁房 +菅草里五垄埂小平房 +甘溪街东巷甘流河道旁宅院 +溢香巷南段围巾铺内侧院落 +槐林后街紫穗槐深处联排房 +温和巷北段泥坎内侧小院 +冠盛路东十六巷铁艺加工后房 +芡实里六巷滩浅田住宅 +灵潭路东巷灵潭池旁农家院 +觅芳巷中段干货摊市深处院 +榆枝巷南支巷榆货坊后侧房 +淳安里四巷夹缝深巷老宅 +渡舟街东巷渡船码头旁房屋 +茉莉巷中段花剪铺内侧院落 +杨园后街新疆杨旁自建房屋 +怡和巷北段石坎内侧小院 +辽远路西十六巷综合仓储旁房 +蓑草里五畦埂小平房 +苦溪街西巷苦流河道旁宅院 +飘香巷南段皮带铺内侧院落 +柳林后街龙柳深处老式房 +祥和巷北段砖坎内侧小院 +卓盛路南十六巷汽配店后方房 +慈姑里六巷滩浅洼住宅 +静泉路东巷静泉池旁农家院 +寻翠巷中段土产摊市深处院 +松枝巷北支巷松货坊后侧房 +睦安里四巷盘旋深巷老宅 +摇舟街东巷摇船码头旁民房 +紫薇巷中段花壶铺内侧院落 +樟园后街红樟旁民居宅院 +泰和巷北段土坎内侧小院 +旷远路北十六巷快运货场旁房 +苎草里五地头小平房 +乐溪街东巷乐流河道旁宅院 +浓香巷南段鞋袜铺内侧院落 +柏林后街圆柏苗深处联排房 +祥和巷北段泥坎内侧小院 +隆盛路东十六巷灯饰加工后房 +荸荠里六巷沟浅洼住宅 +清泉路东巷清泉池旁农家院 +探翠巷中段宠物摊市深处院 +柏枝巷南支巷柏货坊后侧房 +惠安里四巷绕墙深巷老宅 +撑舟街东巷撑船码头旁房屋 +海棠巷中段果篮铺内侧院落 +枫园后街元宝枫旁自建房屋 +永和巷北段石坎内侧小院 +迢远路西十六巷快递仓储旁房 +蔺草里五塘边小平房 +喜溪街西巷喜流河道旁宅院 +醇香巷南段服饰铺内侧院落 +杨林后街胡杨深处老式房 +淳和巷北段砖坎内侧小院 +宏盛路南十六巷化工店后方房 +水芹里六巷湿浅地住宅 +甘泉路西巷甘泉池旁农家院 +撷芳巷中段熟食摊市深处院 +椿枝巷北支巷椿货坊后侧房 +顺安里四巷穿墙深巷老宅 +放舟街东巷放船码头旁民房 +丁香巷中段花肥铺内侧院落 +桧园后街真柏旁民居宅院 +安和巷北段土坎内侧小院 +广远路北十六巷大型货场旁房 +席草里五场边小平房 +思溪街东巷思流河道旁宅院 +鲜香巷南段内衣铺内侧院落 +枣林后街壶枣深处联排房 +清和巷北段泥坎内侧小院 +锦盛路东十六巷门窗加工后房 +水葱里六巷洼浅地住宅 +温泉路东巷温泉潭旁农家院 +访芳巷中段肉品摊市深处院 +槐枝巷南支巷槐货坊后侧房 +广安里四巷暗巷深宅院落 +游舟街东巷游船码头旁房屋 +蔷薇巷中段花架铺内侧院落 +桑园后街鸡桑旁自建房屋 +仁和巷北段石坎内侧小院 +怀远路西十七巷零担仓储旁房 +灯草里五沟边小平房 +忆溪街西巷忆流河道旁宅院 +淡香巷南段玩具铺内侧院落 +榆林后街榔榆深处老式房 +德和巷北段砖坎内侧小院 +鸿盛路南十七巷钢材门店后方院 +泽泻里六渠浅洼处住宅 +冷泉路东巷冷泉潭旁农家院 +觅翠巷中段果蔬摊市深处院落 +柳枝巷北支巷柳编坊后侧民居 +福安里五巷转角深巷老宅 +泊船街中段旧码头旁联排房 +牡丹巷中段花土铺内侧小院 +柳园后街簸箕柳旁自建宅院 +谦和巷北段土坎内侧小院 +腾远路北十七巷大件物流货场 +莎草里五滩边小平房 +寻溪街东巷寻流河道旁院落 +微香巷南段饰品铺内侧小院 +桃林后街寿星桃深处联排房 +善和巷北段泥坎内侧小院 +强盛路东十七巷广告制作后场 +灯芯里六塘浅洼处住宅 +寒潭路东巷寒泉潭旁农家院 +寻芳巷后段水产摊市深处院落 +桃枝巷南支巷桃编坊后侧民居 +吉安里五巷回廊深巷老宅 +系船街中段老泊位旁住房 +芍药巷中段花铲铺内侧小院 +栗园后街毛栗旁自建宅院 +恭和巷北段石坎内侧小院 +逸远路西十七巷综合仓储园区 +茅草里六崖边小平房 +望溪街西巷望流河道旁院落 +余香巷南段皮具铺内侧小院 +杏林后街山桃深处老式民房 +温和巷北段砖坎内侧小院 +伟盛路南十七巷石材加工后场 +菱角里六河浅滩处住宅 +冰泉路东巷冰泉潭旁农家院 +采芳巷后段花鸟摊市深处院落 +竹枝巷北支巷竹编坊后侧民居 +瑞安里五巷盘旋深巷老宅 +泛舟街中段新码头旁住房 +凤仙巷中段花壶铺内侧小院 +栎园后街栓皮栎旁自建宅院 +怡和巷北段土坎内侧小院 +悠远路北十七巷快运中转货场 +蒲草里六堰边小平房 +听溪街东巷听流河道旁院落 +留香巷南段鞋靴铺内侧小院 +枫林后街红槭深处联排民房 +祥和巷北段泥坎内侧小院 +冠盛路东十七巷铁艺制作后场 +荷叶里七塘浅滩处住宅 +幽泉路东巷幽泉潭旁农家院 +访翠巷后段生鲜摊市深处院落 +桑枝巷南支巷桑编坊后侧民居 +熙安里五巷夹缝深巷老宅 +停船街中段旧泊位旁住房 +牵牛巷中段花剪铺内侧小院 +枣园后街葫芦枣旁自建宅院 +泰和巷北段石坎内侧小院 +辽远路西十七巷配送仓储中心 +菅草里六垄边小平房 +观溪街西巷观流河道旁院落 +溢香巷南段服饰铺内侧小院 +槐林后街紫槐深处老式民房 +祥和巷北段砖坎内侧小院 +卓盛路南十七巷汽配维修后场 +芡实里七滩浅田处住宅 +灵潭路西巷灵泉潭旁农家院 +觅芳巷后段干货摊市深处院落 +榆枝巷北支巷榆编坊后侧民居 +淳安里五巷穿墙深巷老宅 +渡船街中段老渡口旁住房 +茉莉巷中段花籽铺内侧小院 +杨园后街箭杆杨旁自建宅院 +永和巷北段土坎内侧小院 +旷远路北十七巷零担货运货场 +蓑草里六畦边小平房 +探溪街东巷探流河道旁院落 +飘香巷南段箱包铺内侧小院 +柳林后街金丝柳深处联排民房 +淳和巷北段泥坎内侧小院 +隆盛路东十七巷灯饰制作后场 +慈姑里七滩浅洼处住宅 +静泉路西巷静泉潭旁农家院 +寻翠巷后段土产摊市深处院落 +松枝巷南支巷松编坊后侧民居 +睦安里五巷绕墙深巷老宅 +摇船街中段新渡口旁住房 +紫薇巷中段花肥铺内侧小院 +樟园后街香樟苗旁自建宅院 +安和巷北段石坎内侧小院 +迢远路西十七巷快递分拣仓储 +苎草里六地头小平房 +寻泉街西巷寻泉溪流旁院落 +浓香巷南段帽饰铺内侧小院 +柏林后街翠柏深处老式民房 +清和巷北段砖坎内侧小院 +宏盛路南十七巷化工原料后场 +荸荠里七沟浅洼处住宅 +清泉路西巷清泉潭旁农家院 +探翠巷后段宠物摊市深处院落 +柏枝巷北支巷柏编坊后侧民居 +惠安里五巷暗巷深巷老宅 +撑船街中段老码头旁住房 +海棠巷中段花土铺内侧小院 +枫园后街青枫苗旁自建宅院 +仁和巷北段土坎内侧小院 +广远路北十七巷大型中转货场 +蔺草里六塘边小平房 +望泉街东巷望泉溪流旁院落 +醇香巷南段袜饰铺内侧小院 +杨林后街白杨苗深处联排民房 +德和巷中段泥坎内侧小院 +锦盛路东十七巷门窗制作后场 +水芹里七湿浅地处住宅 +甘泉路东巷甘泉潭旁农家院 +撷芳巷后段熟食摊市深处院落 +椿枝巷南支巷椿编坊后侧民居 +顺安里五巷转角深巷老宅 +放船街中段新码头旁住房 +丁香巷中段花铲铺内侧小院 +桧园后街桧柏苗旁自建宅院 +谦和巷中段石坎内侧小院 +怀远路西十八巷大件仓储园区 +席草里六场边小平房 +听泉街西巷听泉溪流旁院落 +鲜香巷南段手套铺内侧小院 +枣林后街枣树苗深处老式民房 +善和巷中段砖坎内侧小院 +鸿盛路南十八巷钢材堆放后场 +水葱里七洼浅地处住宅 +华亭路华亭别院二层民居 +枫香街枫香园片区临街商铺楼上住宅 +溪云巷云溪小院独门独户 +德顺路德顺家园南区步梯房 +善和街和善里老街深处宅院 +月溪巷月溪雅居后排小楼 +崇光路光明里厂区配套宿舍 +锦云路云锦公寓北侧民房 +福临街福临小院老式砖房 +泉林巷林泉民居独栋小院 +安泽西路泽安家园电梯中层 +望湖街湖畔里临湖平房 +风荷巷风荷园临街单间住房 +云岭路岭云小区步梯顶楼 +柏溪街溪柏里老旧单元房 +桃溪巷桃溪别院农家风格宅院 +乐安路安乐家园东区临街房 +竹影巷影竹小院厢房住宅 +龙兴南路兴龙公寓B栋低层 +柏香街香柏里老院落住房 +莲池巷池莲民居联排小院 +吉庆西路庆吉家园电梯西户 +映月街月映里巷弄深处民居 +松溪巷溪松雅居一楼临街房 +荣达路达荣小区后排单元楼 +芳林街林芳小院老式民居 +秋荷巷荷秋里自建二层楼 +明远路远明家园北区步梯房 +翠云街云翠大院厂区宿舍 +芷兰巷兰芷雅居独门小院 +康盛路盛康公寓临街复式房 +清晏街晏清里老街砖瓦房 +云松巷松云小院后院住房 +泰平西路平泰家园小高层东户 +江柳街柳江民居临江平房 +雨桐巷桐雨雅居二楼单间 +昌隆路隆昌小区老式住宅楼 +芝兰街兰芝里联排民居 +静溪巷溪静小院围墙内住宅 +汇通路路汇家园南区电梯房 +瑞祥街祥瑞里临街小楼 +枫溪巷溪枫雅居后排平房 +广泽路泽广家园步梯中层 +荷柳街柳荷里巷口民居 +青藤巷藤青小院老式厢房 +兴达路达兴公寓顶层单间 +玉竹街竹玉民居联排砖房 +安馨巷馨安小院一楼带院落 +宏远东路远宏花园栋东侧住房 +槐香街香槐里老宅主楼 +菱湖巷湖菱雅居临湖小院 +顺和路和顺小区电梯楼中户 +檀木巷木檀里老旧自建楼 +怡景街景怡家园北区临街房 +芦溪巷溪芦民居后排联排房 +盛安路安盛公寓低层住宅 +松月巷月松小院老式单元房 +灵泉街泉灵里泉边民居 +建明西路明建家园步梯顶楼 +桐花巷花桐雅居二楼临街房 +丰裕路裕丰小区厂区宿舍 +蔓藤巷藤蔓小院围墙外附房 +惠风街风惠里老街深处小楼 +岳溪巷溪岳民居山地风格宅院 +同兴路路同家园东区步梯房 +菊香街香菊里平房院落 +柏荷巷荷柏雅居一楼单间 +恒昌路昌恒花园电梯东户 +云柏街柏云里联排小楼 +涧溪巷溪涧小院溪边住房 +裕民路民裕家园南区临街铺面楼上 +梅柳街柳梅雅居老式砖房 +巧竹巷竹巧里自建附属房 +安泰东路泰安公寓B栋中层 +芦荻巷荻芦小院临河平房 +隆盛街盛隆里老旧单元楼 +松兰巷兰松雅居后排小院 +嘉和路和嘉家园步梯西户 +青兰巷兰青里巷弄厢房 +启明星路星启小区顶楼带阁楼 +桂香街香桂里老宅西院 +溪柳巷柳溪雅居联排民居 +隆达路达隆花园北区低层 +芷荷巷荷芷小院一楼住房 +顺安街安顺里临街二层小楼 +梧溪巷溪梧民居老式院落 +昌和路和昌公寓电梯中户 +紫菱巷菱紫雅居临湖附房 +茂林街林茂里自建二层民居 +月柏巷柏月小院顶楼单间 +宝庆西路庆宝家园步梯中层 +竹荷巷荷竹里老街平房 +灵溪巷溪灵雅居巷口小院 +宏盛路盛宏小区厂区配套房 +秋桐巷桐秋里后排联排房 +仁合街合仁家园电梯东户 +藤萝巷萝藤小院围墙内厢房 +明溪路溪明公寓低层住宅 +枫柏巷柏枫雅居老式单元房 +景盛街盛景里临街小院 +杏溪巷溪杏民居杏树旁住房 +德裕路裕德家园步梯顶楼 +荷藤巷藤荷里临河小楼 +清和街和清雅居联排砖房 +云桐巷桐云小院独门宅院 +康达路达康花园电梯西户 +兰柳巷柳兰里巷深处民居 +泉溪巷溪泉雅居泉边小院 +广安路安广小区后排单元楼 +松芝巷芝松里老式平房院落 +望桐街桐望雅居二楼单间 +汇盛路盛汇家园北区临街房 +青菱巷菱青里临湖附房 +和风街风和小院一楼带院子 +梧柏巷柏梧民居老旧自建楼 +荣盛路盛荣公寓顶层阁楼 +菊荷巷荷菊雅居联排小楼 +安明街明安里厂区老宿舍 +桃柏巷柏桃小院桃树旁住房 +远通路路远花园步梯中户 +溪芝巷芝溪雅居溪边平房 +嘉裕路裕嘉家园电梯低层 +檀荷巷荷檀里老街深处砖房 +静和街和静小院围墙外住房 +云芦巷芦云民居临河联排房 +昌达路达昌小区老式住宅楼 +梅芝巷芝梅雅居后排小院 +惠明街明惠里临街二层附房 +柏藤巷藤柏小院藤架旁民居 +兴盛西路盛兴公寓B栋顶楼 +柳芝巷芝柳雅居巷口平房 +丰和路和丰家园步梯东户 +菱桐巷桐菱里临湖小楼 +安芦巷芦安民居老式院落 +景和街和景小院一楼单间 +桐藤巷藤桐雅居自建厢房 +广明路明广花园电梯中层 +松芦巷芦松里临河平房院落 +灵荷巷荷灵雅居泉边住房 +裕盛路盛裕家园北区步梯房 +青梧巷梧青里老旧单元房 +明和街和明小院临街小院 +杏柏巷柏杏雅居杏树下民居 +康裕路裕康公寓电梯中户 +秋兰巷兰秋里后排联排平房 +顺桐街桐顺雅居二楼住房 +瑞达路达瑞花园老式宿舍楼 +芝桐巷桐芝小院围墙内小楼 +安和东路和安家园临街铺面住宅 +枫芦巷芦枫民居临河附房 +景桐街桐景雅居顶楼单间 +茂裕路裕茂小区厂区宿舍房 +云芝巷芝云里巷弄深处小院 +清桐街桐清小院一楼带院落 +柏菱巷菱柏雅居临湖民居 +隆和路和隆家园步梯西户 +兰梧巷梧兰里老式砖瓦房 +桐泉巷泉桐雅居泉边联排房 +宝盛路盛宝花园电梯东户 +秋柏巷柏秋里老宅东厢房 +静桐街桐静雅居后排小楼 +仁裕路裕仁家园低层住宅 +蔓荷巷荷蔓里老街平房 +明桐路桐明公寓顶层住房 +枫芝巷芝枫雅居巷口小院 +昌明街明昌里临街联排房 +菊梧巷梧菊民居老旧院落 +安桐巷桐安小院独门独户住房 +星悦里原农机站院内北屋 +老粮站后巷第三排民房 +东河沿码头旁自建小楼 +西坡路坡顶连片民居 +北巷口杂货铺楼上住宅 +南堤岸防洪堤内侧平房 +大槐树下临街老式砖房 +老学堂旧址西侧民居 +石桥旁桥洞上方附属房 +古井巷古井周边院落住房 +碾子巷老碾盘旁民房 +磨盘街旧磨坊后院住房 +水车巷老式水车旁平房 +老戏台后侧临街小楼 +牌坊里石牌坊后方宅院 +门楼巷古门楼内侧民居 +照壁巷影壁墙旁院落 +天井里老式天井院主楼 +回廊巷带回廊的老式民居 +厢房街连片厢房式住房 +后院巷主宅后方附属房 +夹道里窄巷深处单间住房 +过街楼过街楼下层住宅 +山墙巷房屋山墙旁附房 +檐下街屋檐下方临街单间 +阶台里高台阶之上民居 +巷尾街整条巷子最后一户 +巷头巷整条巷子第一户 +岔路口三岔路口旁小楼 +拐角巷街道拐角处民房 +围墙巷红砖围墙内小院 +竹篱笆巷竹篱围合院落 +木门里老式木大门内住房 +石库门巷石库门样式民居 +土坯墙街老式土坯房住宅 +青瓦巷青瓦屋顶连片平房 +灰砖街青砖砌筑老式楼房 +石板路巷石板路面两侧民房 +泥路里乡间土路旁自建屋 +田埂巷临近农田的小院 +菜地街房前带小菜地民居 +果园巷果树园旁独栋小楼 +竹林深处竹林间民居 +杨树林巷白杨树林边住房 +柳树林街垂柳旁临河民房 +桃林里桃树园深处宅院 +杏林巷杏树林边平房 +枣树林街枣树旁老式砖房 +槐树林里洋槐树下小院 +梧桐巷梧桐树旁二层小楼 +池塘边池塘北岸民居 +沟渠巷农田沟渠旁住房 +堰塘里小型堰塘西侧院落 +水坝巷小型水坝下方平房 +水渠街灌溉水渠边民房 +河湾里河道转弯处临河屋 +滩涂巷河滩内侧自建房 +渡口街老旧渡口旁小楼 +码头里小型货运码头住宅 +堤岸巷河堤之上连片住房 +陡坡街山坡陡坡处民居 +平地里山间平地自建小院 +山坳巷山体凹陷处民房 +半山腰路山体中层小楼 +山脚下街山脚临街平房 +村落主街村庄主干道住宅 +村后巷村庄后排院落 +村头里村庄入口处小楼 +村尾巷村庄末端民房 +邻里巷农户相邻连片住房 +集体院旧时集体大院主楼 +家属院老式单位家属院西户 +职工楼企业职工住宅楼低层 +临时工棚旁改建民居 +仓库区旧仓库改造住房 +厂房后侧工厂厂房后方民房 +车间旁生产车间附属用房 +门卫室大院门卫室楼上住宅 +传达室街区传达室后侧住房 +锅炉房巷老式锅炉房旁平房 +配电室周边配套民居 +泵房里供水泵房旁小院 +机房巷老旧机房改建住房 +货场街货物堆放场旁小楼 +堆场里物料堆场内侧民房 +门店楼上沿街商铺二层住宅 +门头巷临街店铺后侧单间 +摊位后方市场摊位上方住房 +集市里乡村集市深处院落 +菜市巷生鲜市场周边民房 +粮店旧址老式粮油店后院 +油坊巷传统油坊改建民居 +酒坊里酿酒作坊旁小院 +染坊巷旧式染坊后方住房 +铁匠铺街老式铁匠铺楼上 +木匠坊里木工作坊侧屋 +裁缝铺巷老裁缝店后院 +剃头铺旧址老式理发铺楼上 +药铺巷乡村药铺后方民居 +茶馆里老式茶馆二楼单间 +客栈旧址旧式小客栈客房 +饭铺巷乡村小饭馆楼上住宅 +面馆后侧面食店铺附属房 +杂货铺里日用杂货铺后院 +典当行旧址老式典当行偏房 +私塾巷旧时私塾学堂侧屋 +学堂后巷乡村学校后方民房 +操场旁校园操场周边小院 +教室楼后侧教学楼附属房 +宿舍区外围学校宿舍外围民居 +卫生院旧址乡村卫生院偏房 +诊所巷私人诊所楼上住房 +药堂里中药堂后方院落 +兽医站旁畜禽兽医站侧屋 +广播站旧址乡村广播站后院 +邮电所巷老式邮电所楼上 +电话亭周边老式电话亭旁民房 +信用社后侧农村信用社附属房 +供销社主楼基层供销社主楼 +代销点旧址乡村代销点后院 +税务点旁基层税务点侧屋 +派出所旧址小型派出所偏房 +村委会大院村委大院西侧住房 +大队部里旧时大队部后院 +活动室巷乡村活动室楼上 +文化站后侧村级文化站附属房 +礼堂里乡村大礼堂后方民居 +戏台旁露天戏台两侧小院 +影院旧址老式乡村影院侧屋 +图书室巷乡村图书室楼上 +篮球场周边村级篮球场旁民房 +晒谷场里大型晒谷场周边院落 +谷仓巷老式粮食谷仓改建房 +粮囤旁露天粮囤后方住房 +磨坊大院传统磨坊大院主楼 +油库周边小型油料仓库侧屋 +煤场巷煤炭堆放场内侧民房 +柴草垛旁农户柴草垛旁小院 +农具房里农用农具存放房楼上 +牲口棚旧址旧式牲口棚改建房 +猪圈巷农家猪圈上方附属房 +牛栏里老式牛栏旁住房 +羊圈后侧农户羊圈侧屋 +鸡舍周边连片鸡舍旁民居 +鸭棚巷水上鸭棚岸边住房 +渔排旁水上渔排岸边小楼 +渔网屋里存放渔网的附属房 +渔船码头小型渔船码头住宅 +竹排巷竹排停靠点旁平房 +木船里老式木船停放处院落 +竹楼片区简易竹楼式民居 +木屋巷原木搭建老式木屋 +草房里传统茅草屋顶住房 +土房巷夯土建造老式土房 +石屋里石块垒砌山间石屋 +窑洞片区黄土窑洞式民居 +吊脚楼巷简易吊脚楼底层房 +骑楼街岭南风格骑楼下层住宅 +廊房里带长廊的连片廊房 +棚屋巷临时搭建简易棚屋 +阁楼里老式房屋顶层阁楼 +暗楼巷房屋夹层暗楼住房 +夹层房墙体夹层改造单间 +地下室片区民用地下室改建房 +半地下室半地下结构民居 +架空层楼栋底层架空层住房 +复式楼老式复式结构住宅 +跃层房上下跃层式民房 +错层巷户型错层结构小楼 +单间房临街独立单间住房 +套间里老式一厨一卫套间 +通间巷大开间老式通屋 +偏房主建筑一侧偏屋住房 +耳房里传统建筑两侧耳房 +后罩房院落最后一排住房 +倒座巷院落入口倒座房 +正房里院落主体正屋住宅 +堂屋旁老式堂屋侧屋 +客房里农家待客客房 +储物间改建原储物间改造住房 +杂物间巷老式杂物间楼上 +柴火间里柴火存放间改建房 +煤房巷燃煤存放间侧屋 +水箱间楼顶水箱间旁单间 +电梯机房高层电梯机房附属房 +楼梯间楼栋楼梯间旁住房 +楼道尽头单元楼道末端单间 +走廊边长走廊两侧民居 +过道里房屋内部过道旁住房 +门厅后侧楼房门厅后方住宅 +门斗里建筑门斗上方小楼 +雨棚下临街雨棚下方单间 +阳台房外置阳台连通住房 +露台里楼顶露天露台旁住宅 +天井房室内天井周边民居 +庭院巷自带小庭院的民房 +小院里独门小型院落主楼 +大院片区大型合院式民居 +联排巷多户联排自建小楼 +独栋房独立独栋民用住宅 +双拼巷两户拼接式民居 +叠拼里上下叠合式小楼 +围合巷房屋围合形成院落房 +合围里多栋房屋合围住宅 +临街主楼街道临街主体楼房 +背街房街道背面隐蔽民房 +内环巷片区内部内环道路住房 +外环里片区外围外环小楼 +主干道旁区域主干道两侧民居 +次干道巷城市次干道临街房 +支路里小型支路深处小院 +小道巷乡间狭窄小道旁住房 +便道里临时便民便道侧屋 +捷径巷行人捷径两侧民房 +环线道路环线内侧低层住宅 +交叉路口大型路口拐角小楼 +丁字巷丁字路口旁平房 +十字街十字路口周边民居 +环岛里环形环岛内侧住房 +桥头巷公路桥梁桥头小楼 +桥尾里公路桥梁末端民房 +桥下空间桥梁下方改建住房 +涵洞旁公路涵洞上方附属房 +隧道口隧道出入口侧屋 +边坡巷道路边坡上方民居 +路肩里公路路肩旁自建房 +绿化带后侧道路绿化带后方住房 +行道树旁道路行道树边民房 +花坛巷街边花坛周边小院 +路灯杆旁路灯杆后方单间 +公交站牌后侧公交站牌楼上 +候车亭里公交候车亭上方住房 +站牌巷乡村站牌旁平房 +广告牌后方大型广告牌侧屋 +宣传栏里社区宣传栏楼上 +围墙转角小区围墙转角处民房 +大门内侧小区主大门内住房 +侧门旁小区侧门周边小院 +后门巷楼栋后门后方住宅 +边门里房屋侧边小门旁住房 +栅栏内铁艺栅栏内部小楼 +护栏旁道路护栏内侧民房 +铁丝网片区铁丝网围合院落房 +铁门里老式铁皮大门内住房 +木门巷实木大门后方小楼 +石门里石材大门内侧民居 +拱门巷拱形大门旁平房 +圆门里圆形院门内部院落 +方门巷方形院门侧屋 +高墙内高大围墙深处住房 +矮墙旁低矮围墙上方小楼 +花墙巷镂空花墙内侧民房 +影壁后方装饰影壁背后住房 +照墙里挡风照墙旁小院 +假山旁庭院假山周边民居 +鱼池巷庭院小鱼池侧屋 +花池里院内花池上方住房 +盆景区庭院盆景摆放区旁房 +葡萄架下庭院葡萄架下方单间 +花架巷景观花架后方民房 +藤架里藤蔓攀爬架旁小院 +花廊巷花卉长廊两侧住房 +游廊里休闲游廊连通民房 +亭台旁休闲亭台后方小楼 +石凳巷休闲石凳周边平房 +石桌里庭院石桌上方住宅 +石阶旁室外石阶两侧民房 +台阶里高台阶顶端小楼 +坡道巷无障碍坡道旁住房 +梯步里室外梯步侧屋 +平台里室外休闲平台住房 +空地旁片区闲置空地周边民房 +荒地巷城郊荒地内侧小院 +裸地里裸露地块旁自建房 +荒坡巷城郊荒坡之上民居 +土丘旁小型土丘顶端小楼 +洼地里地势低洼处平房 +高地巷地势高处连片住房 +平坡里平缓坡地自建小院 +陡坡旁陡峭坡地侧屋 +沟谷巷小型沟谷两侧民房 +沟壑里浅沟壑周边院落 +溪谷巷山间溪谷岸边住房 +山谷里小型山谷深处小楼 +崖边巷山体崖壁下方平房 +岩边里岩石边缘民居 +石堆旁乱石堆后方小院 +土堆巷黄土堆侧屋 +沙堆里沙土堆上方住房 +石子巷碎石堆周边民房 +河滩里干涸河滩内侧小楼 +河床旁老旧河床岸边平房 +湿地巷小型湿地周边院落 +沼泽边缘浅沼泽边缘住房 +芦苇荡里芦苇荡岸边民房 +草丛巷野生草丛深处小院 +灌木丛旁灌木丛侧屋 +杂树林里野生杂树林边住房 +密林巷小型密林边缘民房 +疏林里稀疏林木旁小楼 +长顺里三排六号后院主房 +久安巷临街第四间二层住宅 +万康路北侧自建联排西户 +恒乐街中段老式单元楼顶楼 +永泰巷中段围墙内独立小院 +祥宁路南侧商铺楼上三居室 +吉安里五组连片民居东屋 +瑞丰巷农资店后方附属住房 +福顺路农机门市后侧小楼 +寿康街粮油铺隔壁民房 +喜安巷裁缝店楼上单间住房 +和泰路中段老式砖瓦房院落 +宁祥里集市北侧后排平房 +安瑞巷村口大槐树旁小楼 +丰吉路池塘东侧自建民居 +乐福里水渠南岸联排住房 +康祥巷晒谷场西侧院落主楼 +顺宁路老磨坊旁二层小楼 +吉安里古井西侧老式厢房 +瑞寿巷石牌坊后方独门小院 +福乐路石桥北侧临街民房 +安泰里老学堂旧址西院住房 +永宁巷碾子旁砖结构小楼 +康瑞路磨盘街深处单间 +顺祥里水车北侧院落住房 +吉乐巷老戏台东侧附属房 +福宁路门楼巷中段民房 +寿祥里照壁墙南侧小院 +乐安巷天井院西侧偏房 +康宁路回廊巷末端联排平房 +顺瑞里厢房街北排住房 +吉寿巷后院巷第一户小楼 +福安路夹道里深处单间房 +宁乐里过街楼下层住宅西户 +安康巷山墙巷北侧附房 +瑞宁路檐下街中段临街房 +祥乐里阶台里高台上民居 +寿安巷巷尾街最后一户砖房 +乐祥路巷头巷第一户二层楼 +康安里岔路口西北侧小楼 +顺乐巷拐角巷西南角民房 +吉宁路围墙巷红砖院内住房 +福祥里竹篱笆巷东侧小院 +寿乐巷木门里老式木房主楼 +瑞安路石库门巷南侧民居 +宁安里土坯墙街中段住房 +安祥巷青瓦巷北排连片平房 +康乐路灰砖街老式楼房东户 +顺安里石板路巷西侧民房 +吉乐巷泥路里乡间自建小楼 +福宁路田埂巷农田旁小院 +寿宁里菜地街房前菜地住宅 +乐瑞巷果园巷苹果园旁民房 +康吉路竹林深处北侧住房 +顺寿里杨树林巷白杨树下小楼 +吉安巷柳树林街垂柳边平房 +福乐路桃林里桃树园深处院 +寿安里杏林巷杏树旁联排房 +乐宁巷枣树林街枣树下方住宅 +康瑞路槐树林里槐树下小院 +顺祥里梧桐巷梧桐树侧小楼 +吉安巷池塘边南岸民居 +福寿路沟渠巷灌溉渠旁住房 +寿乐里堰塘里堰塘西侧小院 +乐安巷水坝巷水坝下方平房 +康宁路水渠街渠边联排民房 +顺宁里河湾里河道转弯处屋 +吉瑞巷滩涂巷河滩内侧小楼 +福安路渡口街老旧渡口住宅 +寿祥里码头里货运码头侧房 +乐吉巷堤岸巷河堤中段住房 +康寿路陡坡街山坡中部民房 +顺乐里平地里山间平地小院 +吉宁巷山坳巷山坳深处平房 +福瑞路半山腰路中层小楼 +寿安里山脚下街山脚临街房 +乐祥巷村落主街中段民居 +康安路村后巷村庄后排院落 +顺寿里村头里村口东侧小楼 +吉乐巷村尾巷村尾末端平房 +福宁路邻里巷农户相邻联排房 +寿瑞里集体院大院西厢房 +乐安巷家属院老式家属楼中户 +康祥路职工楼企业职工房低层 +顺吉里临时工棚旁改建住宅 +吉安巷仓库区旧仓库改造房 +福寿路厂房后侧工厂附属住房 +乐宁里车间旁生产车间楼上 +康瑞巷门卫室大院门卫楼上房 +顺安路传达室街区传达室后院 +吉祥里锅炉房巷锅炉房旁平房 +福乐巷配电室周边配套民房 +寿安路泵房里供水泵房侧屋 +乐瑞巷机房巷老旧机房楼上 +康吉路货场街货场北侧小楼 +顺寿里堆场里物料堆场内侧房 +吉安巷门店楼上商铺二层住宅 +福宁路门头巷店铺后侧单间 +寿乐里摊位后方市场摊位上房 +乐安巷集市里集市深处院落 +康祥路菜市巷生鲜市场周边房 +顺吉里粮店旧址粮油店后院房 +吉寿巷油坊巷传统油坊改建房 +福安路酒坊里酿酒作坊侧屋 +寿祥里染坊巷旧式染坊后方房 +乐吉巷铁匠铺街铁匠铺楼上房 +康寿路木匠坊里木工坊侧屋 +顺乐里裁缝铺巷裁缝店后院房 +吉宁巷剃头铺旧址理发铺楼上 +福瑞路药铺巷乡村药铺后方房 +寿安里茶馆里老式茶馆二楼房 +乐祥巷客栈旧址小客栈客房间 +康安路饭铺巷小饭馆楼上住宅 +顺寿里面馆后侧面食店附属房 +吉乐巷杂货铺里杂货铺后院房 +福宁路典当行旧址典当行偏房 +寿瑞里私塾巷旧时私塾侧屋 +乐安巷学堂后巷学校后方民房 +康祥路操场旁校园操场边小院 +顺吉里教室楼后侧教学楼附房 +吉安巷宿舍区外围宿舍周边房 +福寿路卫生院旧址卫生院偏房 +乐宁里诊所巷私人诊所楼上房 +康瑞巷药堂里中药堂后方院落 +顺安路兽医站旁兽医站侧屋 +吉祥里广播站旧址广播站后院 +福乐巷邮电所巷邮电所楼上房 +寿安路电话亭周边电话亭旁房 +乐瑞巷信用社后侧信用社附房 +康吉路供销社主楼供销社主楼房 +顺寿里代销点旧址代销点后院 +吉安巷税务点旁税务点侧屋房 +福宁路派出所旧址派出所偏房 +寿乐里村委会大院村委院西房 +乐安巷大队部里大队部后院房 +康祥路活动室巷活动室楼上房 +顺吉里文化站后侧文化站附房 +吉寿巷礼堂里乡村大礼堂后房 +福安路戏台旁露天戏台两侧房 +寿祥里影院旧址乡村影院侧屋 +乐吉巷图书室巷图书室楼上房 +康寿路篮球场周边篮球场旁房 +顺乐里晒谷场里晒谷场周边院 +吉宁巷谷仓巷老式谷仓改建房 +福瑞路粮囤旁粮囤后方住房 +寿安里磨坊大院磨坊大院主楼 +乐祥巷油库周边油料仓库侧屋 +康安路煤场巷煤场内侧民房 +顺寿里柴草垛旁柴垛旁小院房 +吉乐巷农具房里农具房楼上住宅 +福宁路牲口棚旧址牲口棚改建房 +寿瑞里猪圈巷猪圈上方附属房 +乐安巷牛栏里老式牛栏旁住房 +康祥路羊圈后侧羊圈侧屋民房 +顺吉里鸡舍周边连片鸡舍旁房 +吉安巷鸭棚巷水上鸭棚岸边房 +福寿路渔排旁水上渔排岸边楼 +乐宁里渔网屋里渔网存放附房 +康瑞巷渔船码头渔船码头住宅 +顺安路竹排巷竹排停靠点平房 +吉祥里木船里木船停放处院落 +福乐巷竹楼片区简易竹楼底层房 +寿安路木屋巷原木老式木屋房 +乐瑞巷草房里茅草屋顶老式房 +康吉路土房巷夯土建造土坯房 +顺寿里石屋里石块垒砌山间房 +吉安巷窑洞片区黄土窑洞主房 +福宁路吊脚楼巷简易吊脚楼底房 +寿乐里骑楼街岭南骑楼下层房 +乐安巷廊房里带长廊连片廊房 +康祥路棚屋巷临时搭建简易棚房 +顺吉里阁楼里老式房屋顶层阁房 +吉寿巷暗楼巷房屋夹层暗楼房 +福安路夹层房墙体夹层改造房 +寿祥里地下室片区民用地下室房 +乐吉巷半地下室半地下结构民房 +康寿路架空层楼栋底层架空住房 +顺乐里复式楼老式复式结构住宅 +吉宁巷跃层房上下跃层自建小楼 +福瑞路错层巷户型错层结构房 +寿安里单间房临街独立单间民房 +乐祥巷套间里老式一厨一卫套间 +康安路通间巷大开间老式通屋 +顺寿里偏房主建筑一侧偏屋房 +吉乐巷耳房里传统建筑两侧耳房 +福宁路后罩房院落最后一排住房 +寿瑞里倒座巷院落入口倒座房 +乐安巷正房里院落主体正屋住房 +康祥路堂屋旁老式堂屋侧边住房 +顺吉里客房里农家待客专用客房 +吉安巷储物间改建储物间改造住房 +福寿路杂物间巷杂物间楼上单间 +乐宁里柴火间里柴火间改建民房 +康瑞巷煤房巷燃煤存放间侧屋房 +顺安路水箱间楼顶水箱间旁单间 +吉祥里电梯机房电梯机房附属房 +福乐巷楼梯间楼栋楼梯间旁住房 +寿安路楼道尽头楼道末端单间房 +乐瑞巷走廊边长走廊两侧民房 +康吉路过道里房屋过道旁住房 +顺寿里门厅后侧楼房门厅后方房 +吉安巷门斗里建筑门斗上方小楼 +福宁路雨棚下临街雨棚下方单间 +寿乐里阳台房外置阳台连通住房 +乐安巷露台里楼顶露台旁住宅 +康祥路天井房室内天井周边民房 +顺吉里庭院巷自带小院民居主楼 +吉寿巷小院里独门小型院落主楼 +福安路大院片区大型合院式民房 +寿祥里联排巷多户联排自建小楼 +乐吉巷独栋房独立独栋民用住宅 +康寿路双拼巷两户拼接式民居房 +顺乐里叠拼里上下叠合式自建小楼 +吉宁巷围合巷房屋围合院落住房 +福瑞路合围里多栋房屋合围民房 +寿安里临街主楼街道临街主体楼房 +乐祥巷背街房街道背面隐蔽民房 +康安路内环巷片区内环道路住房 +顺寿里外环里片区外围外环小楼 +吉乐巷主干道旁主干道两侧民房 +福宁路次干道巷次干道临街平房 +寿瑞里支路里小型支路深处小院 +乐安巷小道巷乡间小道旁自建房 +康祥路便道里便民便道侧边民房 +顺吉里捷径巷行人捷径两侧住房 +吉安巷环线道路环线内侧低层房 +福寿路交叉路口大型路口拐角楼 +乐宁里丁字巷丁字路口旁平房 +康瑞巷十字街十字路口周边民房 +顺安路环岛里环形环岛内侧房 +吉祥里桥头巷公路桥梁桥头小楼 +福乐巷桥尾里公路桥梁末端民房 +寿安路桥下空间桥梁下方改建房 +乐瑞巷涵洞旁公路涵洞上方附房 +康吉路隧道口隧道出入口侧屋房 +顺寿里边坡巷道路边坡上方民房 +吉安巷路肩里公路路肩旁自建房 +福宁路绿化带后侧绿化带后方房 +寿乐里行道树旁行道树边民房 +乐安巷花坛巷街边花坛周边小院 +康祥路路灯杆旁路灯杆后方单间 +顺吉里公交站牌后侧站牌楼上房 +吉寿巷候车亭里候车亭上方住房 +福安路站牌巷乡村站牌旁平房 +寿祥里广告牌后方大型广告侧屋 +乐吉巷宣传栏里社区宣传栏楼上 +康寿路围墙转角围墙转角处民房 +顺乐里大门内侧小区主大门内房 +吉宁巷侧门旁小区侧门周边小院 +福瑞路后门巷楼栋后门后方住宅 +寿安里边门里房屋侧边小门旁房 +乐祥巷栅栏内铁艺栅栏内部小楼 +康安路护栏旁道路护栏内侧民房 +顺寿里铁丝网片区铁丝网围合院房 +吉乐巷铁门里铁皮大门内部住房 +福宁路木门巷实木大门后方小楼 +寿瑞里石门里石材大门内侧民房 +乐安巷拱门巷拱形大门旁平房 +康祥路圆门里圆形院门内部院落 +顺吉里方门巷方形院门侧边民房 +吉安巷高墙内高大围墙深处住房 +福寿路矮墙旁低矮围墙上方小楼 +乐宁里花墙巷镂空花墙内侧民房 +康瑞巷影壁后方装饰影壁背后房 +顺安路照墙里挡风照墙旁小院房 +吉祥里假山旁庭院假山周边民房 +福乐巷鱼池巷庭院小鱼池侧屋房 +寿安路花池里院内花池上方住房 +乐瑞巷盆景区盆景摆放区旁住房 +康吉路葡萄架下葡萄架下方单间 +顺寿里花架巷景观花架后方民房 +吉安巷藤架里藤蔓攀爬架旁小院 +福宁路花廊巷花卉长廊两侧住房 +寿乐里游廊里休闲游廊连通民房 +乐安巷亭台旁休闲亭台后方小楼 +康祥路石凳巷休闲石凳周边平房 +顺吉里石桌里庭院石桌上方住宅 +吉寿巷石阶旁室外石阶两侧民房 +福安路台阶里高台阶顶端小楼房 +寿祥里坡道巷无障碍坡道旁住房 +乐吉巷梯步里室外梯步侧边民房 +康寿路平台里室外休闲平台住房 +顺乐里空地旁闲置空地周边民房 +吉宁巷荒地巷城郊荒地内侧小院 +福瑞路裸地里裸露地块旁自建房 +寿安里荒坡巷城郊荒坡之上民房 +乐祥巷土丘旁小型土丘顶端小楼 +康安路洼地里地势低洼处平房房 +顺寿里高地巷地势高处连片住房 +吉乐巷平坡里平缓坡地自建小院 +福宁路陡坡旁陡峭坡地侧边民房 +寿瑞里沟谷巷小型沟谷两侧住房 +乐安巷沟壑里浅沟壑周边院落房 +康祥路溪谷巷山间溪谷岸边住房 +顺吉里山谷里小型山谷深处小楼 +吉安巷崖边巷山体崖壁下方平房 +福寿路岩边里岩石边缘自建民房 +乐宁里石堆旁乱石堆后方小院房 +康瑞巷土堆巷黄土堆侧边民房 +顺安路沙堆里沙土堆上方住宅房 +吉祥里石子巷碎石堆周边民房 +福乐巷河滩里干涸河滩内侧小楼 +寿安路河床旁老旧河床岸边平房 +乐瑞巷湿地巷小型湿地周边院落 +康吉路沼泽边缘浅沼泽边缘住房 +顺寿里芦苇荡里芦苇荡岸边民房 +吉安巷草丛巷野生草丛深处小院 +福宁路灌木丛旁灌木丛侧边民房 +寿乐里杂树林里杂树林边自建房 +乐安巷密林巷小型密林边缘民房 +康祥路疏林里稀疏林木旁边小楼 +顺吉里汇贤巷文教片区后排民居 +吉寿巷博文街书铺隔壁二层住宅 +福安路知书里书屋后方独立小院 +寿祥里劝学巷校园外围临街平房 +乐吉巷思学路培训机构楼上住房 +康寿路敏学里补习点后侧附属房 +顺乐里笃行巷实训场地旁小楼 +吉宁巷崇德街文化广场周边民房 +福瑞路尚礼里礼仪场地侧边平房 +寿安里仁和巷便民服务点楼上房 +乐祥巷信义街便民超市后院住房 +康安路友善里果蔬店上方单间房 +顺寿里和睦巷生鲜摊后方小楼房 +吉乐巷温情路便民菜店侧屋民房 +福宁路暖心里社区驿站楼上住宅 +寿瑞里邻里巷社区活动室旁小院 +乐安巷互助街老年活动中心侧房 +康祥路康乐里健身场地周边民房 +顺吉里颐养巷老年日间照料点附房 +吉安巷休闲路棋牌活动室楼上房 +福寿路怡情里茶饮小店后方住房 +乐宁里逸趣巷休闲摊位上方小楼 +康瑞巷观景路街边观景台侧屋房 +顺安路揽胜里观景长廊下方住房 +吉祥里漫步巷休闲步道旁民房 +福乐巷闲游里游园深处独门小院 +寿安路清趣巷景观小品侧边平房 +乐瑞巷幽径里林间小径深处民房 +康吉路静逸巷安静片区后排小楼 +顺寿里清幽巷绿化片区内侧住房 +吉安巷雅致路景观绿化带侧屋房 +福宁路秀美里小型游园主楼住房 +寿乐里芳菲巷花卉种植区旁民房 +乐安巷翠色路绿植片区边上小楼 +康祥路绿茵里草坪周边连片平房 +顺吉里浓荫巷大树树荫下方住房 +吉寿巷浅绿巷低矮植被旁小院房 +锦苑东里区排独栋院落 +古巷南头老供销社后侧平房 +翠柳支路便民市场内侧深巷 +长坡巷中段围墙内老式宅院 +星桥巷石桥西侧联排民房 +福安二巷粮油店后方内院 +青禾路苗圃园区边角住宅 +龙潭巷古井周边低矮民居 +和风里大院西单元附属房 +石坝街堤坝下方自建小屋 +丹桂巷中段裁缝铺隔壁院落 +松涛后街林地边缘住户房 +云帆巷渡口旁临街老房 +安宁西巷修车行后侧小院 +金荷里荷塘沿岸联排住宅 +响泉路泉眼旁农家小院 +梧桐南巷古树下老宅 +顺河支巷河道内侧坡地房 +瑞丰里四巷杂物间旁住房 +白杨路木材堆场后方民居 +静溪巷溪流转弯处院落 +红梅后街果蔬摊群深处房屋 +广乐巷北口杂货铺内院 +碧园里假山北侧小平房 +通运路物流网点后侧住宅 +紫萱巷中段花艺店隔壁宅院 +枣林西巷枣树林深处民房 +平宁里丁字路口内侧院落 +远航西巷货运站旁自建屋 +菱塘巷水塘边连片小屋 +清芬里香铺后方隐蔽小院 +寒石路山石堆旁老式住房 +迎春西巷农贸市场边角房 +枫木巷木料坊后侧宅院 +归雁里窄巷深处老旧民居 +渔浦街码头后方临建房 +药香巷中草药摊内侧院落 +梅岭后街梅林边上住户 +崇善巷北口修配铺内院 +恒达西巷中转仓库旁房屋 +芦荡里芦苇丛边低矮房 +深沟巷沟壑两侧自建屋 +素果巷干货店后方小院 +李树后街果林深处民房 +广曲巷道路弯道内侧宅院 +汇材路建材市场后侧房 +浮叶里积水洼旁小平房 +磨盘巷老石磨周边住宅 +探花巷生鲜集市深处院落 +香樟西巷苗木基地旁住房 +久静里高墙围合独立院落 +渡头街渡口内侧老房 +藤花巷编织铺后方宅院 +檀木后街古树旁老式民居 +民和巷洗车坊后侧小院 +万仓西巷仓储区边角住房 +浅滩里河滩沿岸小屋 +环水巷环形水系内侧院落 +落果巷零食店后方民房 +柚树后街果树旁自建屋 +新平巷斜坡上方院落 +卓材路水暖门店后侧房 +荷尖西巷荷塘浅区住宅 +热泉巷温泉池周边农家院 +撷英巷花鸟市集深处房屋 +梓木巷板材堆放区后方 +幽静里矮巷深处老宅 +行船街航道内侧临街房 +山苓巷山货铺后方院落 +柞木后街林木旁老式住房 +裕和巷卤味铺内侧小院 +捷运西巷配送站点旁房屋 +苇丛里芦苇滩边小平房 +叠水巷叠流景观旁宅院 +凝味巷日杂店后方民房 +栗树后街栗林深处住宅 +熙平巷岔路口内侧小院 +铁艺路铁艺加工坊后侧房 +菱角西巷菱塘沿岸小屋 +灵井巷老井周边农家院 +拾趣巷宠物集市深处院落 +椿木巷木器加工间后方 +泰平里暗巷深处老宅 +系缆街系船桩旁民居 +玉笋巷竹编工坊内侧院落 +桦木后街林木旁自建屋 +淳善巷摩配店后方小院 +广配西巷五金仓储区旁房 +蒲丛里蒲草滩边小平房 +连河巷河道连通处宅院 +留味巷烟酒铺后方民房 +老枣巷古枣树周边住宅 +淳平巷陡坡上方小院 +锦玻路玻璃工坊后侧房 +藕叶西巷藕塘沿岸小屋 +甜井巷甘泉井旁农家院 +揽鲜巷生鲜市集深处院落 +苦楝巷木料堆场后方 +清和里曲巷深处老宅 +泛舟街游船泊位内侧房 +谷香巷杂粮铺后方院落 +白杨后街林木旁民居 +惠平巷炸货摊内侧小院 +畅行西巷货运门店旁房屋 +茅草丛里荒滩边小平房 +支流巷河道分支处宅院 +沁香巷熟食铺后方民房 +枫林西巷红枫林深处住宅 +仁善巷巷口内侧小院 +鸿门窗路门窗工坊后侧房 +芡实西巷水田沿岸小屋 +清潭巷清水潭旁农家院 +采鲜巷水产市集深处院落 +槐木巷木作工坊后方 +和静里深巷深处老宅 +停船街停泊区内侧民居 +黄芝巷山珍铺后方院落 +垂柳后街河岸林木旁住房 +顺善巷修理铺内侧小院 +通远西巷物流仓库旁房屋 +灯草里草棚连片小屋 +汇流巷河道汇口处宅院 +溢味巷果蔬店后方民房 +桃林西巷桃林深处住宅 +德平巷窄坡上方小院 +鼎石路石材加工坊后侧房 +慈姑西巷浅水田沿岸小屋 +寒潭巷冷水潭旁农家院 +撷味巷肉品市集深处院落 +榆木巷木料加工间后方 +睦静里绕巷深处老宅 +渡客街渡口码头内侧房 +首乌巷干货摊后方院落 +香樟后街大树旁民居 +祥平巷面点铺内侧小院 +致远西巷中转库房旁房屋 +蒿草丛里荒坡边小平房 +溪口巷溪流入口处宅院 +飘香巷服饰店后方民房 +杏林西巷杏林深处住宅 +谦平巷弯道内侧小院 +强广路广告工坊后侧房 +荸荠西巷沟渠沿岸小屋 +幽泉巷幽冷泉旁农家院 +寻味巷土产市集深处院落 +梧桐西巷家具工坊后方 +静和里叠巷深处老宅 +摇橹街船泊区内侧民居 +百合巷花坊后方院落 +水杉后街林木旁住房 +温善巷缝纫铺内侧小院 +恒远西巷货物堆场旁房屋 +莎草丛里湿地边小平房 +溪尾巷溪流末端处宅院 +浓味巷鞋靴店后方民房 +翠竹后街竹林深处住宅 +恭平巷岔坡上方小院 +伟铁路铁艺加工坊后侧房 +慈莲西巷莲池沿岸小屋 +深潭巷深水潭旁农家院 +觅鲜巷熟食市集深处院落 +朴木巷板材堆放区后方 +宁和里回廊巷深处老宅 +撑船街撑船码头内侧房 +贝母巷山货摊后方院落 +枫树后街林木旁自建屋 +协平巷修鞋铺内侧小院 +辽长西巷大件物流旁房屋 +菅草丛里荒草坡边小平房 +溪腰巷溪流中段处宅院 +醇味巷箱包店后方民房 +松林西巷松林深处住宅 +善平巷墙根内侧小院 +卓汽路汽配工坊后侧房 +水芹西巷浅沟沿岸小屋 +静井巷静水泉旁农家院 +访鲜巷日杂市集深处院落 +椿芽巷苗木基地后方 +永静里夹缝巷深处老宅 +放船街行船水域内侧民居 +石斛巷药草摊后方院落 +圆柏后街林木旁住房 +怡平巷蔬果铺内侧小院 +悠远西巷快运站点旁房屋 +蓑草丛里坡地边小平房 +岔流巷河道分叉处宅院 +鲜味巷家纺店后方民房 +柏林西巷柏树林深处住宅 +乐平巷石阶上方小院 +冠水暖路水暖工坊后侧房 +水葱西巷低洼地沿岸小屋 +浅潭巷浅水潭旁农家院 +探鲜巷水产摊群深处院落 +皂角巷旧木料区后方 +康和里盘旋巷深处老宅 +游舟街游船航道内侧房 +芍药巷花艺铺后方院落 +国槐后街古树旁自建屋 +泰善巷配锁铺内侧小院 +旷仓西巷大型仓库旁房屋 +苎草丛里田埂边小平房 +弯流巷河道弯道处宅院 +清味巷文具店后方民房 +白杨西巷杨林深处住宅 +淳善里矮墙内侧小院 +鼎灯饰路灯饰工坊后侧房 +泽泻西巷沟渠沿岸小屋 +冷井巷冷泉井旁农家院 +撷鲜巷肉品摊群深处院落 +桑枝巷养蚕工坊后方 +福和里绕墙巷深处老宅 +泊船街港湾内侧民居 +郁金巷香品铺后方院落 +榆树后街林木旁住房 +永平巷面食铺内侧小院 +迢远西巷零担物流旁房屋 +蔺草丛里塘埂边小平房 +双流巷两河交汇处宅院 +淡味巷玩具店后方民房 +垂柳西巷柳林深处住宅 +清善巷土坡内侧小院 +隆五金路五金工坊后侧房 +灯芯西巷积水洼沿岸小屋 +暖井巷暖泉井旁农家院 +寻鲜巷果蔬摊群深处院落 +桃枝巷果木园区后方 +吉和里转角巷深处老宅 +行舟街航道内侧房 +牵牛巷藤蔓铺后方院落 +酸枣后街林木旁自建屋 +祥善巷修表铺内侧小院 +广仓西巷仓储园区旁房屋 +席草丛里场院边小平房 +长流巷长河沿岸宅院 +微味巷饰品店后方民房 +杏树西巷杏林深处住宅 +安善巷石墙内侧小院 +宏化工路化工门店后侧房 +浮萍西巷积水塘沿岸小屋 +温井巷温泉井旁农家院 +采趣巷花鸟摊群深处院落 +梅枝巷花木基地后方 +瑞和里穿墙巷深处老宅 +系缆街码头内侧民居 +凤仙巷盆栽铺后方院落 +板栗后街林木旁住房 +顺善里木栏内侧小院 +怀仓西巷配送仓库旁房屋 +茅草丛二巷沟坎边小平房 +短流巷短河沿岸宅院 +余味巷皮具店后方民房 +青枫西巷枫林深处住宅 +平善巷土坎内侧小院 +锦门窗路门窗工坊后侧房 +菱叶西巷河塘沿岸小屋 +冰井巷冰泉井旁农家院 +访鲜巷生鲜摊群深处院落 +竹枝巷竹器工坊后方 +兴和里穿巷深处老宅 +泛舟街水域内侧民居 +鸡冠巷种苗铺后方院落 +青栎后街林木旁自建屋 +温善里弹花铺内侧小院 +超仓西巷货运园区旁房屋 +蒲草丛二巷渠沟边小平房 +曲流巷曲河沿岸宅院 +留味二巷眼镜店后方民房 +刺槐西巷槐林深处住宅 +仁善里砖垛内侧小院 +鸿钢材路钢材门店后侧房 +荷叶西巷藕塘沿岸小屋 +寒井巷寒泉井旁农家院 +探趣巷水产摊群深处院落 +柳枝巷柳条工坊后方 +乐和里隐巷深处老宅 +停缆街港湾内侧民居 +茉莉巷香花铺后方院落 +青杨后街林木旁住房 +谦善巷石栏内侧小院 +腾仓西巷中转货场旁房屋 +菅草丛二巷坡埂边小平房 +环流巷环水区域宅院 +溢味二巷钟表店后方民房 +桑树西巷桑林深处住宅 +德善巷土墙内侧小院 +强广告路广告工坊后侧房 +芡实二西巷水田沿岸小屋 +灵井二巷灵泉井旁农家院 +觅鲜二巷干货摊群深处院落 +榆枝巷木器工坊后方 +熙和里暗巷深处老宅 +渡客二街码头内侧民居 +紫薇巷花苗铺后方院落 +香樟西巷樟林深处住宅 +恭善巷石坎内侧小院 +逸仓西巷大件仓储旁房屋 +蓑草丛二巷垄边小平房 +叠流巷叠河沿岸宅院 +飘香二巷童装店后方民房 +0旱柳后街林木旁自建屋 +0善善巷泥墙内侧小院 +0伟石材路石材门店后侧房 +0慈姑二西巷浅塘沿岸小屋 +0幽井巷幽泉井旁农家院 +0寻趣巷土产摊群深处院落 +0松枝巷木作工坊后方 +0淳和里深隐巷深处老宅 +0摇橹二街船泊区内侧民居 +0木槿巷盆栽铺后方院落 +冷杉后街林木旁住房 +睦善巷土坡内侧小院 +悠仓西巷快运货场旁房屋 +苎草丛二巷地头小平房 +汇流二巷河道汇口宅院 +浓味二巷男装店后方民房 +圆柏西巷柏林深处住宅 +谦善里矮坎内侧小院 +冠铁艺路铁艺工坊后侧房 +荸荠二西巷沟渠沿岸小屋 +清井巷清泉井旁农家院 +撷趣巷宠物摊群深处院落 +柏枝巷板材工坊后方 +惠和里窄隐巷深处老宅 +撑船二街渡口内侧民居 +海棠巷鲜果铺后方院落 +红枫后街林木旁自建屋 +怡善巷石埂内侧小院 +辽仓西巷零担仓储旁房屋 +蔺草丛二巷塘边小平房 +分流巷河道分支宅院 +醇味二巷女装店后方民房 +银白杨西巷杨林深处住宅 +温善里砖坎内侧小院 +卓汽配路汽配门店后侧房 +水芹二西巷湿地沿岸小屋 +静井二巷静泉井旁农家院 +访鲜二巷熟食摊群深处院落 +椿枝巷苗木工坊后方 +顺和里曲隐巷深处老宅 +放船二街水域内侧民居 +丁香巷香包铺后方院落 +刺柏后街林木旁住房 +祥善里土埂内侧小院 +旷仓二西巷配送货场旁房屋 +席草丛二巷场边小平房 +合流巷河道合流宅院 +鲜味二巷内衣店后方民房 +灰枣西巷枣林深处住宅 +泰善里泥坎内侧小院 +隆灯饰路灯饰工坊后侧房 +水葱二西巷洼地沿岸小屋 +甘泉巷甘泉井旁农家院 +探鲜二巷肉品摊群深处院落 +槐枝巷木货工坊后方 +广和里绕隐巷深处老宅 +游舟二街航道内侧民居 +蔷薇巷花艺铺后方院落 +桑树后街林木旁自建屋 +永善巷石坡内侧小院 +迢仓西巷综合仓储旁房屋 +灯草二巷沟边小平房 +干流巷主河道沿岸宅院 +淡味二巷童鞋店后方民房 +榆树西巷榆林深处住宅 +淳善里砖坡内侧小院 +宏化工二路化工门店后侧房 +泽泻二西巷渠塘沿岸小屋 +温泉巷温泉潭旁农家院 +觅趣巷果蔬摊群深处院落 +柳枝巷柳货工坊后方 +福和二里穿隐巷深处老宅 +泊船二街航道内侧民居 +牡丹巷盆花铺后方院落 +杞柳后街林木旁住房 +祥善里二巷土坡内侧小院 +广仓二西巷大型货场旁房屋 +莎草丛二巷滩边小平房 +支流二巷河道支流宅院 +微味二巷箱包店后方民房 +碧桃西巷桃林深处住宅 +安善里泥坡内侧小院 +锦门窗二路门窗工坊后侧房 +灯芯二西巷低洼塘沿岸小屋 +寒井二巷寒泉潭旁农家院 +寻鲜二巷水产摊群深处院落 +桃枝二巷果货工坊后方 +吉和二里转角隐巷老宅 +系缆二街航道内侧民居 +芍药二巷花束铺后方院落 +锥栗后街林木旁自建屋 +平善里石坡内侧小院 +怀仓二西巷快递仓储旁房屋 +茅草三巷崖边小平房 +浅流巷浅河沿岸宅院 +余味二巷帽饰店后方民房 +山杏西巷杏林深处住宅 +清善里砖坡内侧小院 +鸿钢材二路钢材门店后侧房 +菱角二西巷河湾沿岸小屋 +冰井二巷冰泉潭旁农家院 +采鲜二巷花鸟摊群深处院落 +竹枝二巷竹货工坊后方 +瑞和二里穿墙隐巷老宅 +泛舟二街航道内侧民居 +凤仙二巷花籽铺后方院落 +麻栎后街林木旁住房 +乐善巷土坡内侧小院 +腾仓二西巷快运货场旁房屋 +蒲草丛三巷堰边小平房 +深流巷深河沿岸宅院 +留味三巷袜品店后方民房 +五角枫西巷枫林深处住宅 +仁善里泥坡内侧小院 +强广告二路广告工坊后侧房 +荷叶三西巷塘湾沿岸小屋 +幽井二巷幽泉潭旁农家院 +访趣巷生鲜摊群深处院落 +桑枝二巷桑货工坊后方 +熙和二里回廊隐巷老宅 +停缆二街航道内侧民居 +牵牛二巷花藤铺后方院落 +圆枣后街林木旁自建屋 +德善里石坡内侧小院 +逸仓二西巷大件货场旁房屋 +菅草丛三巷埂边小平房 +急流巷急河沿岸宅院 +溢味三巷围巾店后方民房 +龙爪槐西巷槐林深处住宅 +谦善里砖坡内侧小院 +伟石材二路石材门店后侧房 +芡实三西巷滩田沿岸小屋 +灵井三巷灵泉潭旁农家院 +撷鲜二巷干货摊群深处院落 +榆枝二巷榆货工坊后方 +淳和二里夹缝隐巷老宅 +渡客三街航道内侧民居 +茉莉二巷花干铺后方院落 +钻天杨后街林木旁住房 +善善里土坡内侧小院 +悠仓二西巷零担货场旁房屋 +蓑草丛三巷垄边小平房 +缓流巷缓河沿岸宅院 +飘香三巷手套店后方民房 +馒头柳西巷柳林深处住宅 +恭善里泥坡内侧小院 +冠铁艺二路铁艺工坊后侧房 +慈姑三西巷浅滩沿岸小屋 +静井三巷静泉潭旁农家院 +寻趣二巷土产摊群深处院落 +松枝二巷松货工坊后方 +睦和二里盘旋隐巷老宅 +摇橹三街航道内侧民居 +紫薇二巷花根铺后方院落 +黄樟后街林木旁自建屋 +温善二巷石坡内侧小院 +辽仓二西巷配送仓储旁房屋 +苎草丛三巷畦边小平房 +静流巷静河沿岸宅院 +浓味三巷皮带店后方民房 +翠柏西巷柏林深处住宅 +怡善里砖坡内侧小院 +卓汽配二路汽配门店后侧房 +荸荠三西巷浅沟沿岸小屋 +清井二巷清泉潭旁农家院 +探趣二巷宠物摊群深处院落 +柏枝二巷柏货工坊后方 +惠和二里盘旋隐巷老宅 +撑船三街航道内侧民居 +海棠二巷果干铺后方院落 +三角枫后街林木旁住房 +仁和里土坡内侧小院 +广仓三西巷综合货场旁房屋 +蔺草丛三巷塘埂小平房 +动流巷流动河道宅院 +醇味三巷鞋帽店后方民房 +银白杨后街林木深处住宅 +泰善二巷泥坡内侧小院 +隆灯饰二路灯饰工坊后侧房 +水芹三西巷浅湿地沿岸小屋 +甘泉二巷甘泉潭旁农家院 +觅鲜三巷熟食摊群深处院落 +椿枝二巷椿货工坊后方 +顺和二里穿墙隐巷老宅 +放船三街航道内侧民居 +丁香二巷花籽铺后方院落 +铺地柏后街林木旁自建屋 +祥善二巷石坡内侧小院 +迢仓二西巷快运仓储旁房屋 +席草丛三巷场边小平房 +幽流巷幽河沿岸宅院 +鲜味三巷袜饰店后方民房 +酸枣西巷枣林深处住宅 +永和里砖坡内侧小院 +宏化工三路化工门店后侧房 +水葱三西巷浅洼地沿岸小屋 +温泉二巷温泉池旁农家院 +访鲜三巷肉品摊群深处院落 +槐枝二巷槐货工坊后方 +广和二里绕墙隐巷老宅 +游舟三街航道内侧民居 +蔷薇二巷花肥铺后方院落 +龙桑后街林木旁住房 +淳善二巷土坡内侧小院 +广仓四西巷大型仓储旁房屋 +灯草三巷渠边小平房 +明流巷明河沿岸宅院 +淡味三巷童装铺后方民房 +垂枝榆西巷榆林深处住宅 +安善二巷泥坡内侧小院 +锦门窗三路门窗工坊后侧房 +泽泻三西巷浅渠沿岸小屋 +冷井三巷冷泉池旁农家院 +撷趣二巷果蔬摊群深处院落 +柳枝二巷柳货工坊后方 +福和三里暗巷深处老宅 +泊船三街码头内侧民居 +牡丹二巷花盆铺后方院落 +龙爪柳后街林木旁自建屋 +平善二巷石坎内侧小院 +怀仓三西巷快递货场旁房屋 +莎草丛三巷滩埂小平房 +暗流巷暗河沿岸宅院 +微味三巷箱包铺后方民房 +垂枝桃西巷桃林深处住宅 +清善二巷砖坎内侧小院 +鸿钢材三路钢材门店后侧房 +灯芯三西巷浅塘沿岸小屋 +寒井三巷寒潭池旁农家院 +寻鲜三巷水产摊群深处院落 +桃枝三巷桃货工坊后方 +吉和三里转角深巷老宅 +系缆三街码头内侧民居 +芍药三巷花土铺后方院落 +欧洲栗后街林木旁住房 +仁和二巷土坎内侧小院 +腾仓三西巷零担货场旁房屋 +茅草四巷崖埂小平房 +清流巷清河沿岸宅院 +余味三巷帽饰铺后方民房 +垂枝杏西巷杏林深处住宅 +德善二巷泥坎内侧小院 +强广告三路广告工坊后侧房 +菱角三西巷河浅湾沿岸小屋 +冰井三巷冰泉池旁农家院 +采鲜三巷花鸟摊群深处院落 +竹枝三巷竹货工坊后方 +瑞和三里穿墙深巷老宅 +泛舟三街码头内侧民居 +凤仙三巷花铲铺后方院落 +白栎后街林木旁自建屋 +谦善二巷石坎内侧小院 +逸仓三西巷大件货场旁房屋 +蒲草丛四巷堰埂小平房 +浊流巷浊河沿岸宅院 +留味四巷手套铺后方民房 +鸡爪槭西巷枫林深处住宅 +善善二巷砖坎内侧小院 +伟石材三路石材门店后侧房 +荷叶四西巷塘浅湾沿岸小屋 +幽井三巷幽泉池旁农家院 +访趣二巷生鲜摊群深处院落 +桑枝三巷桑货工坊后方 +熙和三里回廊深巷老宅 +停缆三街码头内侧民居 +牵牛三巷花架铺后方院落 +扁枣后街林木旁住房 +恭善二巷土坎内侧小院 +悠仓三西巷配送货场旁房屋 +菅草丛四巷垄埂小平房 +甘流巷甘河沿岸宅院 +溢味四巷围巾铺后方民房 +紫穗槐西巷槐林深处住宅 +温善三巷泥坎内侧小院 +冠铁艺三路铁艺工坊后侧房 +芡实四西巷滩浅田沿岸小屋 +灵井四巷灵潭池旁农家院 +觅鲜四巷干货摊群深处院落 +榆枝三巷榆货工坊后方 +淳和三里夹缝深巷老宅 +渡客四街码头内侧民居 +茉莉三巷花剪铺后方院落 +新疆杨后街林木旁自建屋 +怡善二巷石坎内侧小院 +辽仓三西巷综合仓储旁房屋 +蓑草丛四巷畦埂小平房 +苦流巷苦河沿岸宅院 +飘香四巷皮带铺后方民房 +龙柳西巷柳林深处住宅 +祥善三巷砖坎内侧小院 +卓汽配三路汽配门店后侧房 +慈姑四西巷滩浅洼沿岸小屋 +静井四巷静泉池旁农家院 +寻趣三巷土产摊群深处院落 +松枝三巷松货工坊后方 +睦和三里盘旋深巷老宅 +摇橹四街码头内侧民居 +紫薇三巷花壶铺后方院落 +红樟后街林木旁住房 +泰和里土坎内侧小院 +旷仓三西巷快运货场旁房屋 +苎草丛四巷地头小平房 +乐流巷乐河沿岸宅院 +浓味四巷鞋袜铺后方民房 +圆柏苗西巷柏林深处住宅 +祥善四巷泥坎内侧小院 +隆灯饰三路灯饰工坊后侧房 +荸荠四西巷沟浅洼沿岸小屋 +清井三巷清泉池旁农家院 +探趣三巷宠物摊群深处院落 +柏枝三巷柏货工坊后方 +惠和三里绕墙深巷老宅 +撑船四街码头内侧民居 +海棠三巷果篮铺后方院落 +元宝枫后街林木旁自建屋 +永和二巷石坎内侧小院 +迢仓三西巷快递仓储旁房屋 +蔺草丛四巷塘边小平房 +喜流巷喜河沿岸宅院 +醇味四巷服饰铺后方民房 +胡杨西巷杨林深处住宅 +淳善三巷砖坎内侧小院 +宏化工四路化工门店后侧房 +水芹四西巷湿浅地沿岸小屋 +甘泉三巷甘泉池旁农家院 +撷鲜四巷熟食摊群深处院落 +椿枝三巷椿货工坊后方 +顺和三里穿墙深巷老宅 +放船四街码头内侧民居 +丁香三巷花肥铺后方院落 +真柏后街林木旁住房 +安善三巷土坎内侧小院 +广仓五西巷大型货场旁房屋 +席草丛四巷场边小平房 +思流巷思河沿岸宅院 +鲜味四巷内衣铺后方民房 +壶枣西巷枣林深处住宅 +清善三巷泥坎内侧小院 +锦门窗四路门窗工坊后侧房 +水葱四西巷洼浅地沿岸小屋 +温泉三巷温泉潭旁农家院 +访鲜四巷肉品摊群深处院落 +槐枝三巷槐货工坊后方 +广安三里暗巷深宅院落 +游舟四街码头内侧民居 +蔷薇三巷花架铺后方院落 +鸡桑后街林木旁自建屋 +仁和三巷石坎内侧小院 +怀仓四西巷零担仓储旁房屋 +灯草四巷沟边小平房 +忆流巷忆河沿岸宅院 +淡味四巷玩具铺后方民房 +榔榆西巷榆林深处住宅 +德善三巷砖坎内侧小院 +鸿钢材四路钢材门店后侧房 +泽泻四西巷渠浅洼沿岸小屋 +冷井四巷冷泉潭旁农家院 +觅趣三巷果蔬摊群深处院落 +柳枝三巷柳货工坊后方 +福和四里转角深巷老宅 +泊船四街旧码头旁联排房 +牡丹三巷花土铺后方院落 +簸箕柳后街林木旁宅院 +谦和里土坎内侧小院 +腾仓四西巷大件物流货场 +莎草丛四巷滩边小平房 +寻流巷寻河沿岸宅院 +微味四巷饰品铺后方民房 +寿星桃西巷桃林深处住宅 +善善三巷泥坎内侧小院 +强广告四路广告制作后场 +灯芯四巷塘浅洼沿岸小屋 +寒井四巷寒泉潭旁农家院 +寻鲜四巷水产摊群深处院落 +桃枝四巷桃货工坊后方 +吉和四里回廊深巷老宅 +系缆四街老泊位旁住房 +芍药四巷花铲铺后方院落 +毛栗后街林木旁宅院 +恭善三巷石坎内侧小院 +逸仓四西巷综合仓储园区 +茅草五巷崖边小平房 +望流巷望河沿岸宅院 +余味四巷皮具铺后方民房 +山桃西巷杏林深处住宅 +温和里砖坎内侧小院 +伟石材四路石材加工后场 +菱角四巷河浅滩沿岸小屋 +冰井四巷冰泉潭旁农家院 +采鲜四巷花鸟摊群深处院落 +竹枝四巷竹货工坊后方 +瑞安四里盘旋深巷老宅 +泛舟四街新码头旁住房 +凤仙四巷花壶铺后方院落 +栓皮栎后街林木旁宅院 +怡善三巷土坎内侧小院 +悠远四西巷快运中转货场 +蒲草丛五巷堰边小平房 +听流巷听河沿岸宅院 +留味五巷鞋靴铺后方民房 +红槭西巷枫林深处住宅 +祥和里泥坎内侧小院 +冠铁艺四路铁艺制作后场 +荷叶五巷塘浅滩沿岸小屋 +幽井四巷幽泉潭旁农家院 +访趣四巷生鲜摊群深处院落 +桑枝四巷桑货工坊后方 +熙和四里夹缝深巷老宅 +停缆四街旧泊位旁住房 +牵牛四巷花剪铺后方院落 +葫芦枣后街林木旁宅院 +泰和二巷石坎内侧小院 +辽仓四西巷配送仓储中心 +菅草丛五巷垄边小平房 +观流巷观河沿岸宅院 +溢味五巷服饰铺后方民房 +紫槐西巷槐林深处住宅 +祥和二巷砖坎内侧小院 +卓汽配四路汽配维修后场 +芡实五巷滩浅田沿岸小屋 +灵井五巷灵泉潭旁农家院 +觅鲜五巷干货摊群深处院落 +榆枝四巷榆货工坊后方 +淳安四里穿墙深巷老宅 +渡客五街老渡口旁住房 +茉莉四巷花籽铺后方院落 +箭杆杨后街林木旁宅院 +永和三巷土坎内侧小院 +旷仓四西巷零担货运货场 +蓑草丛五巷畦边小平房 +探流巷探河沿岸宅院 +飘香五巷箱包铺后方民房 +金丝柳西巷柳林深处住宅 +淳和三巷泥坎内侧小院 +隆灯饰四路灯饰制作后场 +慈姑五巷滩浅洼沿岸小屋 +静井五巷静泉潭旁农家院 +寻趣四巷土产摊群深处院落 +松枝四巷松货工坊后方 +睦安四里绕墙深巷老宅 +摇橹五街新渡口旁住房 +紫薇四巷花肥铺后方院落 +香樟苗后街林木旁宅院 +安善四巷石坎内侧小院 +迢仓四西巷快递分拣仓储 +苎草丛五巷地头小平房 +寻泉巷寻泉溪流宅院 +浓味五巷帽饰铺后方民房 +翠柏苗西巷柏林深处住宅 +清善四巷砖坎内侧小院 +宏化工五路化工原料后场 +荸荠五巷沟浅洼沿岸小屋 +清井四巷清泉潭旁农家院 +探趣四巷宠物摊群深处院落 +柏枝四巷柏货工坊后方 +惠安四里暗巷深巷老宅 +撑船五街老码头旁住房 +海棠四巷花土铺后方院落 +青枫苗后街林木旁宅院 +仁和四巷土坎内侧小院 +广仓六西巷大型中转货场 +蔺草丛五巷塘边小平房 +望泉巷望泉溪流宅院 +醇味五巷袜饰铺后方民房 +白杨苗西巷杨林深处住宅 +德善四巷泥坎内侧小院 +锦门窗五路门窗制作后场 +水芹五巷湿浅地沿岸小屋 +甘泉四巷甘泉潭旁农家院 +撷鲜五巷熟食摊群深处院落 +椿枝四巷椿货工坊后方 +顺安四里转角深巷老宅 +放船五街新码头旁住房 +丁香四巷花铲铺后方院落 +桧柏苗后街林木旁宅院 +谦和三巷石坎内侧小院 +怀仓五西巷大件仓储园区 +席草丛五巷场边小平房 +听泉巷听泉溪流宅院 +鲜味五巷手套铺后方民房 +枣树苗西巷枣林深处住宅 +善善四巷砖坎内侧小院 +鸿钢材五路钢材堆放后场 +水葱五巷洼浅地沿岸小屋 +温泉四巷温泉潭旁农家院 +访鲜五巷肉品摊群深处院落 +槐枝四巷槐货工坊后方 +广安四里绕墙隐巷老宅 +游舟五街码头内侧民居 +蔷薇四巷花肥铺后方院落 +龙桑苗后街林木旁宅院 +淳善四巷土坎内侧小院 +广仓七西巷大型仓储园区 +灯草五巷渠边小平房 +明泉巷明泉溪流宅院 +淡味五巷童装铺后方民房 +垂枝榆苗西巷榆林深处住宅 +安善五巷泥坎内侧小院 +宏化工六路化工门店后侧房 +泽泻五巷渠浅洼沿岸小屋 +冷井五巷冷泉池旁农家院 +撷趣四巷果蔬摊群深处院落 +柳枝四巷柳货工坊后方 +福安五里暗巷深处老宅 +泊船五街码头内侧民居 +牡丹四巷花盆铺后方院落 +龙爪柳苗后街林木旁宅院 +平和二巷石坎内侧小院 +怀远五西巷快递货场旁房屋 +莎草丛五巷滩埂小平房 +暗泉巷暗泉溪流宅院 +微味五巷箱包铺后方民房 +垂枝桃苗西巷桃林深处住宅 +清善五巷砖坎内侧小院 +鸿钢材六路钢材门店后侧房 +灯芯五巷浅塘沿岸小屋 +寒井五巷寒潭池旁农家院 +寻鲜五巷水产摊群深处院落 +桃枝五巷桃货工坊后方 +吉安五里转角深巷老宅 +系缆五街码头内侧民居 +芍药五巷花土铺后方院落 +欧洲栗苗后街林木旁宅院 +仁和五巷土坎内侧小院 +腾仓五西巷零担货场旁房屋 +茅草六巷崖埂小平房 +清泉二巷清泉溪流宅院 +余味五巷帽饰铺后方民房 +垂枝杏苗西巷杏林深处住宅 +德善五巷泥坎内侧小院 +强广告五路广告加工后场 +菱角五巷河浅湾沿岸小屋 +冰井五巷冰泉池旁农家院 +采鲜五巷花鸟摊群深处院落 +竹枝五巷竹货工坊后方 +瑞安五里穿墙深巷老宅 +泛舟五街码头内侧民居 +凤仙五巷花铲铺后方院落 +白栎苗后街林木旁宅院 +谦和四巷石坎内侧小院 +逸仓五西巷大件货场旁房屋 +蒲草丛六巷堰埂小平房 +浊泉巷浊泉溪流宅院 +留味六巷手套铺后方民房 +鸡爪槭苗西巷枫林深处住宅 +善善五巷砖坎内侧小院 +伟石材五路石材门店后侧房 +荷叶六巷塘浅湾沿岸小屋 +幽井五巷幽泉池旁农家院 +访趣五巷生鲜摊群深处院落 +桑枝五巷桑货工坊后方 +熙安五里回廊深巷老宅 +停缆五街码头内侧民居 +牵牛五巷花架铺后方院落 +扁枣苗后街林木旁宅院 +恭善三巷土坎内侧小院 +悠远五西巷配送货场旁房屋 +菅草丛六巷垄埂小平房 +甘泉二巷甘泉溪流宅院 +溢味六巷围巾铺后方民房 +紫穗槐苗西巷槐林深处住宅 +温和四巷泥坎内侧小院 +冠铁艺五路铁艺加工后场 +芡实六巷滩浅田沿岸小屋 +灵井六巷灵潭池旁农家院 +觅鲜六巷干货摊群深处院落 +榆枝五巷榆货工坊后方 +淳安五里夹缝深巷老宅 +渡客六街码头内侧民居 +茉莉五巷花剪铺后方院落 +新疆杨苗后街林木旁宅院 +怡善四巷石坎内侧小院 +辽仓五西巷综合仓储旁房屋 +蓑草丛六巷畦埂小平房 +苦泉巷苦泉溪流宅院 +飘香六巷皮带铺后方民房 +龙柳苗西巷柳林深处住宅 +祥和三巷砖坎内侧小院 +卓汽配五路汽配门店后侧房 +慈姑六巷滩浅洼沿岸小屋 +静井六巷静泉池旁农家院 +寻趣五巷土产摊群深处院落 +松枝五巷松货工坊后方 +睦安五里盘旋深巷老宅 +摇橹六街码头内侧民居 +紫薇五巷花壶铺后方院落 +红樟苗后街林木旁宅院 +泰和三巷土坎内侧小院 +旷仓五西巷快运货场旁房屋 +苎草丛六巷地头小平房 +乐泉巷乐泉溪流宅院 +浓味六巷鞋袜铺后方民房 +圆柏大苗西巷柏林深处住宅 +祥和四巷泥坎内侧小院 +隆灯饰五路灯饰加工后场 +荸荠六巷沟浅洼沿岸小屋 +清井五巷清泉池旁农家院 +探趣五巷宠物摊群深处院落 +柏枝五巷柏货工坊后方 +惠安五里绕墙深巷老宅 +撑船六街码头内侧民居 +海棠五巷果篮铺后方院落 +元宝枫苗后街林木旁宅院 +永和四巷石坎内侧小院 +迢仓五西巷快递仓储旁房屋 +蔺草丛六巷塘边小平房 +喜泉巷喜泉溪流宅院 +醇味六巷服饰铺后方民房 +胡杨苗西巷杨林深处住宅 +淳善五巷砖坎内侧小院 +宏化工七路化工门店后侧房 +水芹六巷湿浅地沿岸小屋 +甘泉五巷甘泉池旁农家院 +撷鲜六巷熟食摊群深处院落 +椿枝五巷椿货工坊后方 +顺安五里穿墙深巷老宅 +放船六街码头内侧民居 +丁香五巷花肥铺后方院落 +真柏苗后街林木旁宅院 +安善六巷土坎内侧小院 +广仓八西巷大型货场旁房屋 +席草丛六巷场边小平房 +思泉巷思泉溪流宅院 +鲜味六巷内衣铺后方民房 +壶枣苗西巷枣林深处住宅 +清善六巷泥坎内侧小院 +锦门窗六路门窗加工后场 +水葱六巷洼浅地沿岸小屋 +温泉五巷温泉潭旁农家院 +访鲜六巷肉品摊群深处院落 +槐枝五巷槐货工坊后方 +广安五里暗巷深宅院落 +游舟六街码头内侧民居 +蔷薇五巷花架铺后方院落 +鸡桑苗后街林木旁宅院 +仁和六巷石坎内侧小院 +怀远六西巷零担仓储旁房屋 +灯草六巷沟边小平房 +忆泉巷忆泉溪流宅院 +淡味六巷玩具铺后方民房 +榔榆苗西巷榆林深处住宅 +德善六巷砖坎内侧小院 +鸿钢材七路钢材门店后侧房 +泽泻六巷渠浅洼沿岸小屋 +冷井六巷冷泉潭旁农家院 +觅趣五巷果蔬摊群深处院落 +柳枝五巷柳货工坊后方 +福安六里转角深巷老宅 +泊船六街中段旧码头旁联排房 +牡丹五巷花土铺后方院落 +簸箕柳苗后街林木旁宅院 +谦和五巷土坎内侧小院 +腾仓六西巷大件物流货场 +莎草丛六巷滩边小平房 +寻泉二巷寻泉溪流宅院 +微味六巷饰品铺后方民房 +寿星桃苗西巷桃林深处住宅"; } } diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs index 6b1c69c..a96eee5 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs @@ -108,6 +108,22 @@ namespace TemuKJD.WXForms.ProductForms this.label27 = new System.Windows.Forms.Label(); this.chkCommission = new TemuKJD.UserComponent.UcCheckBox(this.components); this.btnLoginAssistant = new DevComponents.DotNetBar.PanelEx(); + this.商品裂变 = new System.Windows.Forms.TabPage(); + this.txtDetailBorderImgCount = new System.Windows.Forms.TextBox(); + this.label35 = new System.Windows.Forms.Label(); + this.label36 = new System.Windows.Forms.Label(); + this.txtMainBorderImgCount = new System.Windows.Forms.TextBox(); + this.label34 = new System.Windows.Forms.Label(); + this.label33 = new System.Windows.Forms.Label(); + this.label32 = new System.Windows.Forms.Label(); + this.txtAiImgCount = new System.Windows.Forms.TextBox(); + this.chkAiImage = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chkRandomDetailImgOrder = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chkRandomMainImgOrder = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.lblFissionTitleCount = new System.Windows.Forms.Label(); + this.chkFissionGoodsName = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chkRandomImgBorder = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.txtFissionTitle = new System.Windows.Forms.TextBox(); this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.cmbHot = new System.Windows.Forms.ComboBox(); this.btnProdDb = new DevComponents.DotNetBar.PanelEx(); @@ -221,6 +237,7 @@ namespace TemuKJD.WXForms.ProductForms this.ucTabControlMetro1.SuspendLayout(); this.上传参数.SuspendLayout(); this.佣金上货.SuspendLayout(); + this.商品裂变.SuspendLayout(); this.ucGroupBoxEx4.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbSelectProd)).BeginInit(); this.ucGroupBoxEx1.SuspendLayout(); @@ -688,6 +705,7 @@ namespace TemuKJD.WXForms.ProductForms this.ucTabControlMetro1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(174)))), ((int)(((byte)(157))))); this.ucTabControlMetro1.Controls.Add(this.上传参数); this.ucTabControlMetro1.Controls.Add(this.佣金上货); + this.ucTabControlMetro1.Controls.Add(this.商品裂变); this.ucTabControlMetro1.ItemSize = new System.Drawing.Size(72, 24); this.ucTabControlMetro1.Location = new System.Drawing.Point(421, 11); this.ucTabControlMetro1.Name = "ucTabControlMetro1"; @@ -1191,6 +1209,192 @@ namespace TemuKJD.WXForms.ProductForms this.btnLoginAssistant.Text = "佣金登录"; this.btnLoginAssistant.Click += new System.EventHandler(this.btnLoginAssistant_Click); // + // 商品裂变 + // + this.商品裂变.Controls.Add(this.txtDetailBorderImgCount); + this.商品裂变.Controls.Add(this.label35); + this.商品裂变.Controls.Add(this.label36); + this.商品裂变.Controls.Add(this.txtMainBorderImgCount); + this.商品裂变.Controls.Add(this.label34); + this.商品裂变.Controls.Add(this.label33); + this.商品裂变.Controls.Add(this.label32); + this.商品裂变.Controls.Add(this.txtAiImgCount); + this.商品裂变.Controls.Add(this.chkAiImage); + this.商品裂变.Controls.Add(this.chkRandomDetailImgOrder); + this.商品裂变.Controls.Add(this.chkRandomMainImgOrder); + this.商品裂变.Controls.Add(this.lblFissionTitleCount); + this.商品裂变.Controls.Add(this.chkFissionGoodsName); + this.商品裂变.Controls.Add(this.chkRandomImgBorder); + this.商品裂变.Controls.Add(this.txtFissionTitle); + this.商品裂变.Location = new System.Drawing.Point(4, 28); + this.商品裂变.Name = "商品裂变"; + this.商品裂变.Padding = new System.Windows.Forms.Padding(3); + this.商品裂变.Size = new System.Drawing.Size(531, 118); + this.商品裂变.TabIndex = 3; + this.商品裂变.Text = "商品裂变"; + this.商品裂变.UseVisualStyleBackColor = true; + // + // txtDetailBorderImgCount + // + this.txtDetailBorderImgCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.txtDetailBorderImgCount.Location = new System.Drawing.Point(228, 90); + this.txtDetailBorderImgCount.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtDetailBorderImgCount.Name = "txtDetailBorderImgCount"; + this.txtDetailBorderImgCount.Size = new System.Drawing.Size(24, 23); + this.txtDetailBorderImgCount.TabIndex = 902; + this.txtDetailBorderImgCount.Text = "0"; + // + // label35 + // + this.label35.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label35.AutoSize = true; + this.label35.Location = new System.Drawing.Point(186, 93); + this.label35.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label35.Name = "label35"; + this.label35.Size = new System.Drawing.Size(44, 17); + this.label35.TabIndex = 904; + this.label35.Text = "详情图"; + // + // label36 + // + this.label36.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label36.AutoSize = true; + this.label36.Location = new System.Drawing.Point(252, 93); + this.label36.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label36.Name = "label36"; + this.label36.Size = new System.Drawing.Size(20, 17); + this.label36.TabIndex = 903; + this.label36.Text = "张"; + // + // txtMainBorderImgCount + // + this.txtMainBorderImgCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.txtMainBorderImgCount.Location = new System.Drawing.Point(137, 90); + this.txtMainBorderImgCount.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtMainBorderImgCount.Name = "txtMainBorderImgCount"; + this.txtMainBorderImgCount.Size = new System.Drawing.Size(24, 23); + this.txtMainBorderImgCount.TabIndex = 899; + this.txtMainBorderImgCount.Text = "9"; + // + // label34 + // + this.label34.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label34.AutoSize = true; + this.label34.Location = new System.Drawing.Point(106, 93); + this.label34.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label34.Name = "label34"; + this.label34.Size = new System.Drawing.Size(32, 17); + this.label34.TabIndex = 901; + this.label34.Text = "主图"; + // + // label33 + // + this.label33.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label33.AutoSize = true; + this.label33.Location = new System.Drawing.Point(162, 93); + this.label33.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label33.Name = "label33"; + this.label33.Size = new System.Drawing.Size(20, 17); + this.label33.TabIndex = 900; + this.label33.Text = "张"; + // + // label32 + // + this.label32.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.label32.AutoSize = true; + this.label32.Location = new System.Drawing.Point(497, 57); + this.label32.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label32.Name = "label32"; + this.label32.Size = new System.Drawing.Size(20, 17); + this.label32.TabIndex = 898; + this.label32.Text = "张"; + this.label32.Visible = false; + // + // txtAiImgCount + // + this.txtAiImgCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.txtAiImgCount.Location = new System.Drawing.Point(472, 54); + this.txtAiImgCount.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtAiImgCount.Name = "txtAiImgCount"; + this.txtAiImgCount.Size = new System.Drawing.Size(24, 23); + this.txtAiImgCount.TabIndex = 897; + this.txtAiImgCount.Text = "1"; + this.txtAiImgCount.Visible = false; + // + // chkAiImage + // + this.chkAiImage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.chkAiImage.AutoSize = true; + this.chkAiImage.Location = new System.Drawing.Point(403, 55); + this.chkAiImage.Name = "chkAiImage"; + this.chkAiImage.Size = new System.Drawing.Size(74, 21); + this.chkAiImage.TabIndex = 892; + this.chkAiImage.Text = "Ai生主图"; + this.chkAiImage.UseVisualStyleBackColor = true; + this.chkAiImage.Visible = false; + // + // chkRandomDetailImgOrder + // + this.chkRandomDetailImgOrder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.chkRandomDetailImgOrder.Location = new System.Drawing.Point(385, 91); + this.chkRandomDetailImgOrder.Name = "chkRandomDetailImgOrder"; + this.chkRandomDetailImgOrder.Size = new System.Drawing.Size(107, 21); + this.chkRandomDetailImgOrder.TabIndex = 896; + this.chkRandomDetailImgOrder.Text = "随机详情图顺序"; + this.chkRandomDetailImgOrder.UseVisualStyleBackColor = true; + // + // chkRandomMainImgOrder + // + this.chkRandomMainImgOrder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.chkRandomMainImgOrder.Location = new System.Drawing.Point(283, 91); + this.chkRandomMainImgOrder.Name = "chkRandomMainImgOrder"; + this.chkRandomMainImgOrder.Size = new System.Drawing.Size(94, 21); + this.chkRandomMainImgOrder.TabIndex = 895; + this.chkRandomMainImgOrder.Text = "随机主图顺序"; + this.chkRandomMainImgOrder.UseVisualStyleBackColor = true; + // + // lblFissionTitleCount + // + this.lblFissionTitleCount.ForeColor = System.Drawing.Color.Gray; + this.lblFissionTitleCount.Location = new System.Drawing.Point(-10, 32); + this.lblFissionTitleCount.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.lblFissionTitleCount.Name = "lblFissionTitleCount"; + this.lblFissionTitleCount.Size = new System.Drawing.Size(88, 17); + this.lblFissionTitleCount.TabIndex = 894; + this.lblFissionTitleCount.Text = "标题数:0"; + this.lblFissionTitleCount.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // chkFissionGoodsName + // + this.chkFissionGoodsName.Location = new System.Drawing.Point(10, 7); + this.chkFissionGoodsName.Name = "chkFissionGoodsName"; + this.chkFissionGoodsName.Size = new System.Drawing.Size(68, 21); + this.chkFissionGoodsName.TabIndex = 893; + this.chkFissionGoodsName.Text = "裂变标题"; + this.chkFissionGoodsName.UseVisualStyleBackColor = true; + // + // chkRandomImgBorder + // + this.chkRandomImgBorder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.chkRandomImgBorder.Location = new System.Drawing.Point(10, 91); + this.chkRandomImgBorder.Name = "chkRandomImgBorder"; + this.chkRandomImgBorder.Size = new System.Drawing.Size(94, 21); + this.chkRandomImgBorder.TabIndex = 890; + this.chkRandomImgBorder.Text = "随机图片边框"; + this.chkRandomImgBorder.UseVisualStyleBackColor = true; + // + // txtFissionTitle + // + this.txtFissionTitle.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtFissionTitle.Location = new System.Drawing.Point(81, 7); + this.txtFissionTitle.Multiline = true; + this.txtFissionTitle.Name = "txtFissionTitle"; + this.txtFissionTitle.Size = new System.Drawing.Size(444, 79); + this.txtFissionTitle.TabIndex = 0; + this.txtFissionTitle.TextChanged += new System.EventHandler(this.txtFissionTitle_TextChanged); + // // ucGroupBoxEx4 // this.ucGroupBoxEx4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -2663,6 +2867,8 @@ namespace TemuKJD.WXForms.ProductForms this.上传参数.PerformLayout(); this.佣金上货.ResumeLayout(false); this.佣金上货.PerformLayout(); + this.商品裂变.ResumeLayout(false); + this.商品裂变.PerformLayout(); this.ucGroupBoxEx4.ResumeLayout(false); this.ucGroupBoxEx4.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbSelectProd)).EndInit(); @@ -2862,5 +3068,21 @@ namespace TemuKJD.WXForms.ProductForms private System.Windows.Forms.ComboBox cmbCommissionAddOrReduce; private System.Windows.Forms.Label label29; private System.Windows.Forms.Label label31; + private System.Windows.Forms.TabPage 商品裂变; + private System.Windows.Forms.TextBox txtFissionTitle; + private UserComponent.UcCheckBox chkRandomImgBorder; + private UserComponent.UcCheckBox chkAiImage; + private UserComponent.UcCheckBox chkFissionGoodsName; + private System.Windows.Forms.Label lblFissionTitleCount; + private UserComponent.UcCheckBox chkRandomDetailImgOrder; + private UserComponent.UcCheckBox chkRandomMainImgOrder; + private System.Windows.Forms.Label label32; + private System.Windows.Forms.TextBox txtAiImgCount; + private System.Windows.Forms.TextBox txtDetailBorderImgCount; + private System.Windows.Forms.Label label35; + private System.Windows.Forms.Label label36; + private System.Windows.Forms.TextBox txtMainBorderImgCount; + private System.Windows.Forms.Label label34; + private System.Windows.Forms.Label label33; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs index c907b95..0935bb2 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs @@ -36,25 +36,34 @@ namespace TemuKJD.WXForms.ProductForms { public partial class WXDBProdUploadForm : BaseForm { + public static WXDBProdUploadForm Instance { get; set; } = null; + public CancellationTokenSource cancellationTokenSource { get; set; } = null; public bool IsWxNotUseSoftwareDefaultAddressOnce { get; set; } = false; public bool IsLoadComplate { get; set; } = false; + public ConcurrentList lstTemuDBProductSelect = new ConcurrentList(); + ConcurrentList lstWXShopTokenInfo = new ConcurrentList(); + ConcurrentList lstAddPriceRule = new ConcurrentList(); + bool isInit = false; CheckBox chkSelectAll = null; - ConcurrentList lstWXShopTokenInfo = new ConcurrentList(); - ConcurrentList lstTemuDBProductSelect = new ConcurrentList(); - ConcurrentList lstAddPriceRule = new ConcurrentList(); + AddPriceRule defaultAddPriceRule = null; WXUploadRule wxUploadRule = null; + public Dictionary dicCheckedShopId = new Dictionary(); + public string pdd_product_cates = ""; + public List forceFilteKeyWords = new List() { "顶级", "之王", "二手", "亏本", "冲量", "白菜价", "跳楼价", "xxx", "xx", "最大", "最小", "低价", "降价", "成本", "赔钱", "甩卖", "真丝", "蚕丝", "香云纱", "羊绒", "羊毛", "羊羔绒", "羊羔毛", "羽绒", "皮草" }; + string DefaultAdultBrandId = ""; + // 微信带货助手cookie List lstWxSaleAssistantCookie = new List(); @@ -65,6 +74,8 @@ namespace TemuKJD.WXForms.ProductForms private void UserSelectDbProductForm_Load(object sender, EventArgs e) { + Instance = this; + if (!BaseClass.UserAuthority.Contains("佣金上货")) this.ucTabControlMetro1.TabPages.Remove(佣金上货); else @@ -131,6 +142,15 @@ namespace TemuKJD.WXForms.ProductForms { defaultAddPriceRule = new AddPriceRule() { AddPriceTimes = 1.3m, AddMorePrice = 1, SinglePriceAdd = 1 }; } + + //this.txtFissionTitle.Text = NaiBa.Util.Helper.ConfigHelper.LoadConfig("wx_prod_fission_title").ParseToString(); + try + { + if (File.Exists("data\\config\\wx_prod_fission_title")) + this.txtFissionTitle.Text = File.ReadAllText("data\\config\\wx_prod_fission_title"); + } + catch { } + txtAddTimes.TextChanged -= txtAddPrice_TextChanged; txtAddMorePrice.TextChanged -= txtAddPrice_TextChanged; txtSinglePriceAdd.TextChanged -= txtAddPrice_TextChanged; @@ -155,6 +175,7 @@ namespace TemuKJD.WXForms.ProductForms chkAddMorePriceFirst.CheckedChanged += chkAddMorePriceFirst_CheckedChanged; chkStepAddPrice.CheckedChanged += chkStepAddPrice_CheckedChanged; + wxUploadRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig("wx_upload_rule"); if (wxUploadRule == null) wxUploadRule = new WXUploadRule(); @@ -335,6 +356,10 @@ namespace TemuKJD.WXForms.ProductForms cmbSourceType.Items.Insert(1, "1688商品"); cmbSourceType.Items.Insert(1, "多多商品"); } + if (!BaseClass.UserAuthority.Contains("商品裂变")) + { + ucTabControlMetro1.TabPages.Remove(商品裂变); + } //#endif if (BaseClass.SaLevel == 1) { @@ -1935,8 +1960,33 @@ namespace TemuKJD.WXForms.ProductForms if (token == null || token.isExpire || string.IsNullOrEmpty(token.accessToken)) token = new WxApiBLL().GetRandomWxToken(); - #region 设置标题 + #region 设置标题 string prodTitle = dbProd.product_name.IsNullOrEmpty() ? prodInfo.detail.goods_name : dbProd.product_name; + + // 裂变标题 + if (BaseClass.UserAuthority.Contains("商品裂变") && chkFissionGoodsName.Checked) + { + bool isFinish = false; + Invoke(new Action(() => { + var titles = txtFissionTitle.Text.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList(); + if (titles.Count == 0) + { + cancellationTokenSource.Cancel(); + if (cell != null) + cell.Value = "裂变标题数量不足,将暂停上传"; + BaseMsgForm.ShowError("裂变标题数量不足,将暂停上传"); + isFinish = true; + } + prodTitle = titles[0]; + titles.RemoveAt(0); + txtFissionTitle.Text = string.Join("\r\n", titles); + })); + if (isFinish) + { + return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"裂变标题数量不足,将暂停上传\"}"; + } + } + upProdInitParam.product.info.title = prodTitle; upProdParam.product.info.title = prodTitle; upProdParam.sessionInfo.sessionId = upProdInitParam.product.sessionId; @@ -2422,7 +2472,7 @@ namespace TemuKJD.WXForms.ProductForms #endregion #region ai短标题 // ai获取短标题 - if (wxUploadRule.IsAiShortTitle) + if (wxUploadRule.IsAiShortTitle || chkAiImage.Checked) { if (cell != null) { @@ -4129,6 +4179,249 @@ namespace TemuKJD.WXForms.ProductForms } #endregion + #region AI生成图片,用于商品裂变 + if (chkAiImage.Checked) + { + int imgCount = 1; + Invoke(new Action(() => + { + if (cell != null) + cell.Value = "正在Ai生图"; + imgCount = txtAiImgCount.Text.Trim().ParseToInt(); + if (imgCount == 0) + imgCount = 1; + })); + + List tList = new List(); + List errStrLst = new List(); + for (int n = 0; n < upProdParam.product.info.headImg.Count && n < imgCount; n++) + { + while (tList.Count >= 10) + { + Thread.Sleep(500); + tList.RemoveAll(t => t.IsCanceled || t.IsFaulted || t.IsCompleted); + } + var tt = Task.Run(() => + { + var imgUrl = GetAiImg(upProdParam.product.info.headImg[n], upProdParam.product.info.shortTitle); + if (imgUrl.StartsWith("生成Ai图片错误")) + { + errStrLst.Add(imgUrl); + return; + //return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"" + imgUrl + "\"}"; + } + + // api上传图片文件 Ai主图 + if (1 == 1) + { + try + { + string errMsg = ""; + //var imgBase64 = GetImgBase64ForApi(out errMsg, imgUrl, needAddRandomBlock, wantAddRandomBlock, 800, 800); + var imgBase64 = GetImgBase64ForApi(out errMsg, imgUrl, false, false, 800, 800); + if (!string.IsNullOrEmpty(errMsg)) + { + errStrLst.Add(errMsg); + return; + //return errMsg; + } + + var urlImg = BaseClass.BuildPDDObjString("product/wx_api_upload_image"); + var upDate = UserLogin.GetSignaturex(); + upDate += "&token=" + token.accessToken; + //upDate += "&is_file=true"; + //if (needAddRandomBlock || wantAddRandomBlock) + // upDate += "&random_code=true"; + upDate += "&img_url=" + imgUrl; + upDate += "&img_base64=" + imgBase64; + + var sTime = DateTime.Now; + var apiUpImgFileRst = GetHtml.PostUtf8(urlImg, upDate); + if (cell != null) + { + Invoke(new Action(() => + { + cell.Value = "正在上传Ai主图文件 " + (DateTime.Now - sTime).TotalMilliseconds.ParseToInt(); + })); + } + + for (int i = 0; i < 5 && apiUpImgFileRst.Contains("access_token expired"); i++) + { + token.mdyTime = DateTime.Now.AddDays(-100); + token = new WxApiBLL().GetRandomWxToken(); + apiUpImgFileRst = GetHtml.PostUtf8(urlImg, upDate); + } + var upImgUrl = BaseRegex.GetStringJson(ref apiUpImgFileRst, "img_url"); + if (apiUpImgFileRst.Contains("\"errcode\":0") && !string.IsNullOrEmpty(upImgUrl)) + { + upProdParam.product.info.headImg[n] = upImgUrl; + //if (n == 0) + // upProdParam.product.info.detail.detailImg.Insert(0, upImgUrl); + } + else + { + string upImgErrMsg = BaseRegex.GetStringJsonByRegs(ref apiUpImgFileRst, apiUpImgFileRst, "msg", "errMsg", "errorMsg", "err_msg", "error_msg"); + errStrLst.Add("上传Ai图失败 " + upImgErrMsg); + return; + //return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"上传Ai图失败 " + upImgErrMsg + "\"}"; + } + } + catch (Exception ex) + { + errStrLst.Add("上传Ai图失败 " + ex.Message); + return; + //return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"上传Ai图失败 " + ex.Message + "\"}"; + } + } + }); + tList.Add(tt); + } + while (tList.Count > 0) + { + Thread.Sleep(500); + tList.RemoveAll(t => t.IsCanceled || t.IsFaulted || t.IsCompleted); + } + // 错误超过一定数量直接报错返回 + if (errStrLst.Count > 0 && errStrLst.Count >= imgCount / 3) + { + return string.Join(",", errStrLst); + } + } + #endregion + + #region 添加图片随机外框,用于商品裂变 + if (BaseClass.UserAuthority.Contains("商品裂变") && chkRandomImgBorder.Checked) + { + int mainCount = 9; + int detailCount = 1; + Invoke(new Action(() => + { + mainCount = txtMainBorderImgCount.Text.Trim().ParseToInt(); + detailCount = txtDetailBorderImgCount.Text.Trim().ParseToInt(); + })); + // api上传图片文件 边框主图 + if (1 == 1) + { + if (chkRandomMainImgOrder.Checked) + upProdParam.product.info.headImg = upProdParam.product.info.headImg.OrderBy(x => Guid.NewGuid()).Take(100).ToList(); + for (int n = 0; n < upProdParam.product.info.headImg.Count && n < mainCount; n++) + { + var imgUrl = upProdParam.product.info.headImg[n]; + try + { + string errMsg = ""; + //var imgBase64 = GetImgBase64ForApi(out errMsg, imgUrl, needAddRandomBlock, wantAddRandomBlock, 800, 800); + var imgBase64 = GetImgBase64ForApi(out errMsg, imgUrl, false, false, 800, 800, true); + if (!string.IsNullOrEmpty(errMsg)) + { + return errMsg; + } + + var urlImg = BaseClass.BuildPDDObjString("product/wx_api_upload_image"); + var upDate = UserLogin.GetSignaturex(); + upDate += "&token=" + token.accessToken; + //upDate += "&is_file=true"; + //if (needAddRandomBlock || wantAddRandomBlock) + // upDate += "&random_code=true"; + upDate += "&img_url=" + imgUrl; + upDate += "&img_base64=" + imgBase64; + + var sTime = DateTime.Now; + var apiUpImgFileRst = GetHtml.PostUtf8(urlImg, upDate); + if (cell != null) + { + Invoke(new Action(() => + { + cell.Value = "正在优化主图文件 " + (DateTime.Now - sTime).TotalMilliseconds.ParseToInt(); + })); + } + + for (int i = 0; i < 5 && apiUpImgFileRst.Contains("access_token expired"); i++) + { + token.mdyTime = DateTime.Now.AddDays(-100); + token = new WxApiBLL().GetRandomWxToken(); + apiUpImgFileRst = GetHtml.PostUtf8(urlImg, upDate); + } + var upImgUrl = BaseRegex.GetStringJson(ref apiUpImgFileRst, "img_url"); + if (apiUpImgFileRst.Contains("\"errcode\":0") && !string.IsNullOrEmpty(upImgUrl)) + { + upProdParam.product.info.headImg[n] = upImgUrl; + } + else + { + string upImgErrMsg = BaseRegex.GetStringJsonByRegs(ref apiUpImgFileRst, apiUpImgFileRst, "msg", "errMsg", "errorMsg", "err_msg", "error_msg"); + return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"优化主图失败 " + upImgErrMsg + "\"}"; + } + } + catch (Exception ex) + { + return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"优化主图失败 " + ex.Message + "\"}"; + } + } + } + // api上传图片文件 边框详情图 + if (1 == 1) + { + if (chkRandomDetailImgOrder.Checked) + upProdParam.product.info.detail.detailImg = upProdParam.product.info.detail.detailImg.OrderBy(x => Guid.NewGuid()).Take(100).ToList(); + for (int n = 0; n < upProdParam.product.info.detail.detailImg.Count && n < detailCount; n++) + { + var imgUrl = upProdParam.product.info.detail.detailImg[n]; + try + { + string errMsg = ""; + //var imgBase64 = GetImgBase64ForApi(out errMsg, imgUrl, needAddRandomBlock, wantAddRandomBlock, 800, 800); + var imgBase64 = GetImgBase64ForApi(out errMsg, imgUrl, false, false, 800, 800, true); + if (!string.IsNullOrEmpty(errMsg)) + { + return errMsg; + } + + var urlImg = BaseClass.BuildPDDObjString("product/wx_api_upload_image"); + var upDate = UserLogin.GetSignaturex(); + upDate += "&token=" + token.accessToken; + //upDate += "&is_file=true"; + //if (needAddRandomBlock || wantAddRandomBlock) + // upDate += "&random_code=true"; + upDate += "&img_url=" + imgUrl; + upDate += "&img_base64=" + imgBase64; + + var sTime = DateTime.Now; + var apiUpImgFileRst = GetHtml.PostUtf8(urlImg, upDate); + if (cell != null) + { + Invoke(new Action(() => + { + cell.Value = "正在优化详情图文件 " + (DateTime.Now - sTime).TotalMilliseconds.ParseToInt(); + })); + } + + for (int i = 0; i < 5 && apiUpImgFileRst.Contains("access_token expired"); i++) + { + token.mdyTime = DateTime.Now.AddDays(-100); + token = new WxApiBLL().GetRandomWxToken(); + apiUpImgFileRst = GetHtml.PostUtf8(urlImg, upDate); + } + var upImgUrl = BaseRegex.GetStringJson(ref apiUpImgFileRst, "img_url"); + if (apiUpImgFileRst.Contains("\"errcode\":0") && !string.IsNullOrEmpty(upImgUrl)) + { + upProdParam.product.info.detail.detailImg[n] = upImgUrl; + } + else + { + string upImgErrMsg = BaseRegex.GetStringJsonByRegs(ref apiUpImgFileRst, apiUpImgFileRst, "msg", "errMsg", "errorMsg", "err_msg", "error_msg"); + return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"优化详情图失败 " + upImgErrMsg + "\"}"; + } + } + catch (Exception ex) + { + return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"优化详情图失败 " + ex.Message + "\"}"; + } + } + } + } + #endregion + // 直接使用微信回采情趣商品品牌 if (BaseClass.UserAuthority.ParseToString().Contains("微信回采") && chkUseWXComplateProd.Checked && upProdParam.product.info.category.FirstOrDefault()?.name == "成人用品" && upProdParam.product.info.category[1].name != "情趣内衣") @@ -4426,14 +4719,14 @@ namespace TemuKJD.WXForms.ProductForms } - public static string GetImgBase64ForApi(out string errorMsg, string img_url, bool needAddRandomBlock, bool wantAddRandomBlock, int imgWidth = 0, int imgHeight = 0) + public static string GetImgBase64ForApi(out string errorMsg, string img_url, bool needAddRandomBlock, bool wantAddRandomBlock, int imgWidth = 0, int imgHeight = 0, bool wantAddRandomBorder = false) { errorMsg = ""; string imgBase64 = ""; //------------------------------------------------------------------------------------------------------------------------------------- //生成主图base64字符串 string getImgError; - if (!img_url.Contains("wst.wxapp.tc.qq.com")) + if (!img_url.Contains("wst.wxapp.tc.qq.com") && !img_url.Contains("mmecimage.cn")) img_url = img_url.Replace("https://", "http://"); var image = GetHtml.GetUrlImg(img_url, out getImgError); if (image == null) @@ -4459,6 +4752,14 @@ namespace TemuKJD.WXForms.ProductForms g.FillRectangle(new SolidBrush(Color.FromArgb(Randomx.GetId(256), Randomx.GetId(256), Randomx.GetId(256))), new Rectangle(Randomx.GetId(imageBg.Width - 30), Randomx.GetId(imageBg.Height - 30), 30, 30)); } + if (wantAddRandomBorder) + { + var borderColor = Color.FromArgb(Randomx.GetId(256), Randomx.GetId(256), Randomx.GetId(256)); + g.FillRectangle(new SolidBrush(borderColor), new Rectangle(0, 0, imageBg.Width, 20)); + g.FillRectangle(new SolidBrush(borderColor), new Rectangle(0, imageBg.Height - 20, imageBg.Width, 20)); + g.FillRectangle(new SolidBrush(borderColor), new Rectangle(0, 0, 20, imageBg.Height)); + g.FillRectangle(new SolidBrush(borderColor), new Rectangle(imageBg.Width - 20, 0, 20, imageBg.Height)); + } } using (MemoryStream memoryStream = new MemoryStream()) { @@ -4504,7 +4805,6 @@ namespace TemuKJD.WXForms.ProductForms } - public string UploadImg(ShopLoginInfo shop, Bitmap img, DataGridViewCell cell = null) { var upImgAuthRst = WXUpload.getUploadTempImgAuth(shop); @@ -4586,6 +4886,24 @@ namespace TemuKJD.WXForms.ProductForms })); }); + if (BaseClass.UserAuthority.Contains("商品裂变") && chkFissionGoodsName.Checked) + { + Invoke(new Action(() => + { + var titles = txtFissionTitle.Text.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList(); + txtAddCount.Text = "" + titles.Count; + if (titles.Count == 0) + { + BaseMsgForm.ShowError("裂变标题数量不足"); + return; + } + + this.lstTemuDBProductSelect.Clear(); + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_db_prod_upload_list", this.lstTemuDBProductSelect); + lblWaitToUp.Text = "待上传 " + lstTemuDBProductSelect.Count + " 件"; + })); + } + pbSelectProd.Visible = true; int addCount = txtAddCount.Text.Trim().ParseToInt(); if (getProdTokenSource != null) @@ -4866,6 +5184,36 @@ namespace TemuKJD.WXForms.ProductForms } } + public string GetAiImg(string imgUrl, string imgWord) + { + string image_url = imgUrl; + string word = imgWord; + string secret = "sadhjufhe15c4fbvFBvcvds+5sdfds@#%$xsc"; + string time = BaseClass.DateTimeToTimestampSeconds(DateTime.Now).ToString(); + string code = BaseClass.GetMd5(secret + time).ToLower(); + + try + { + //string url = "http://ai-bs.jiaotian.vip:" + Randomx.GetId(20010, 20021) + "/index.php?obj=public/image"; + //http://svn.jiaotian.vip:20010-20020/index.php?obj=public/image + string url = "http://svn.jiaotian.vip:" + Randomx.GetId(20010, 20021) + "/index.php?obj=public/image"; + string data = "time=" + time + "&code=" + code + "&image_url=" + image_url + "&word=" + word; + string html = GetHtml.PostUtf8(url, data, "", 120); + if (!string.IsNullOrEmpty(html) && !html.Contains("error")) + { + return html; + } + else + { + return "生成Ai图片错误 " + html; + } + } + catch (Exception ex) + { + return "生成Ai图片错误 " + ex.Message; + } + } + private void btnClearUpload_Click(object sender, EventArgs e) { if (BaseMsgForm.ShowConfirm("确定清空待上传商品吗?清空后不可恢复!").DialogResult == DialogResult.Cancel) @@ -5532,7 +5880,7 @@ namespace TemuKJD.WXForms.ProductForms WXUserProdListForm.Instance.BringToFront(); } - private void dbProdList_SaveComplete(object obj) + public void dbProdList_SaveComplete(object obj) { NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_db_prod_upload_list", this.lstTemuDBProductSelect); Invoke(new Action(() => @@ -5565,6 +5913,13 @@ namespace TemuKJD.WXForms.ProductForms if (lstWxSaleAssistantCookie == null) lstWxSaleAssistantCookie = new List(); } + + private void txtFissionTitle_TextChanged(object sender, EventArgs e) + { + if (this.IsLoadComplate) + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_prod_fission_title", txtFissionTitle.Text); + lblFissionTitleCount.Text = "标题数:" + txtFissionTitle.Text.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList().Count(); + } } public class WXUpload diff --git a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.Designer.cs index ebe678a..003d727 100644 --- a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.Designer.cs @@ -49,14 +49,15 @@ namespace TemuKJD.WXForms.ProductForms System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WXUserCollectAuthProdListForm)); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.btnSelect = new DevComponents.DotNetBar.PanelEx(); + this.btnSearch = new DevComponents.DotNetBar.PanelEx(); this.btnStopStop = new DevComponents.DotNetBar.PanelEx(); + this.btnEmpty = new DevComponents.DotNetBar.PanelEx(); this.btnGetProdWxCate = new DevComponents.DotNetBar.PanelEx(); this.btnDel = new DevComponents.DotNetBar.PanelEx(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.txtCatBoundLessThan = new System.Windows.Forms.TextBox(); this.chkCatBoundLessThan = new TemuKJD.UserComponent.UcCheckBox(this.components); - this.btnSearch = new DevComponents.DotNetBar.PanelEx(); - this.btnEmpty = new DevComponents.DotNetBar.PanelEx(); this.txtSPU = new System.Windows.Forms.TextBox(); this.label5 = new System.Windows.Forms.Label(); this.cmbWxCat = new System.Windows.Forms.ComboBox(); @@ -158,7 +159,10 @@ namespace TemuKJD.WXForms.ProductForms // // splitContainer1.Panel1 // + this.splitContainer1.Panel1.Controls.Add(this.btnSelect); + this.splitContainer1.Panel1.Controls.Add(this.btnSearch); this.splitContainer1.Panel1.Controls.Add(this.btnStopStop); + this.splitContainer1.Panel1.Controls.Add(this.btnEmpty); this.splitContainer1.Panel1.Controls.Add(this.btnGetProdWxCate); this.splitContainer1.Panel1.Controls.Add(this.btnDel); this.splitContainer1.Panel1.Controls.Add(this.tableLayoutPanel1); @@ -170,15 +174,65 @@ namespace TemuKJD.WXForms.ProductForms this.splitContainer1.SplitterDistance = 74; this.splitContainer1.TabIndex = 1; // + // btnSelect + // + this.btnSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSelect.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSelect.Location = new System.Drawing.Point(1060, 44); + this.btnSelect.Name = "btnSelect"; + this.btnSelect.Size = new System.Drawing.Size(95, 25); + this.btnSelect.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSelect.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSelect.Style.GradientAngle = 90; + this.btnSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelect.TabIndex = 894; + this.btnSelect.Text = "批量添加上传"; + this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click); + // + // btnSearch + // + this.btnSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSearch.Location = new System.Drawing.Point(1060, 9); + this.btnSearch.Name = "btnSearch"; + this.btnSearch.Size = new System.Drawing.Size(46, 25); + this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSearch.Style.GradientAngle = 90; + this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearch.TabIndex = 643; + this.btnSearch.Text = "搜索"; + this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); + // // btnStopStop // this.btnStopStop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.btnStopStop.CanvasColor = System.Drawing.SystemColors.Control; this.btnStopStop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnStopStop.DisabledBackColor = System.Drawing.Color.Empty; - this.btnStopStop.Location = new System.Drawing.Point(1209, 42); + this.btnStopStop.Location = new System.Drawing.Point(1263, 9); this.btnStopStop.Name = "btnStopStop"; - this.btnStopStop.Size = new System.Drawing.Size(84, 25); + this.btnStopStop.Size = new System.Drawing.Size(63, 25); this.btnStopStop.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnStopStop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); this.btnStopStop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); @@ -195,6 +249,31 @@ namespace TemuKJD.WXForms.ProductForms this.btnStopStop.Text = "停止操作"; this.btnStopStop.Click += new System.EventHandler(this.btnStopStop_Click); // + // btnEmpty + // + this.btnEmpty.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnEmpty.CanvasColor = System.Drawing.SystemColors.Control; + this.btnEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnEmpty.DisabledBackColor = System.Drawing.Color.Empty; + this.btnEmpty.Location = new System.Drawing.Point(1109, 9); + this.btnEmpty.Name = "btnEmpty"; + this.btnEmpty.Size = new System.Drawing.Size(46, 25); + this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnEmpty.Style.GradientAngle = 90; + this.btnEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnEmpty.TabIndex = 431; + this.btnEmpty.Text = "清空"; + this.btnEmpty.Click += new System.EventHandler(this.pnlEmpty_Click); + // // btnGetProdWxCate // this.btnGetProdWxCate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -202,7 +281,7 @@ namespace TemuKJD.WXForms.ProductForms this.btnGetProdWxCate.Cursor = System.Windows.Forms.Cursors.Hand; this.btnGetProdWxCate.DisabledBackColor = System.Drawing.Color.Empty; this.btnGetProdWxCate.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnGetProdWxCate.Location = new System.Drawing.Point(1209, 9); + this.btnGetProdWxCate.Location = new System.Drawing.Point(1176, 9); this.btnGetProdWxCate.Name = "btnGetProdWxCate"; this.btnGetProdWxCate.Size = new System.Drawing.Size(84, 25); this.btnGetProdWxCate.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -251,13 +330,13 @@ namespace TemuKJD.WXForms.ProductForms | System.Windows.Forms.AnchorStyles.Right))); this.tableLayoutPanel1.ColumnCount = 14; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66817F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66817F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66318F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66716F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); @@ -266,8 +345,6 @@ namespace TemuKJD.WXForms.ProductForms this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel1.Controls.Add(this.txtCatBoundLessThan, 9, 1); this.tableLayoutPanel1.Controls.Add(this.chkCatBoundLessThan, 8, 1); - this.tableLayoutPanel1.Controls.Add(this.btnSearch, 12, 0); - this.tableLayoutPanel1.Controls.Add(this.btnEmpty, 13, 0); this.tableLayoutPanel1.Controls.Add(this.txtSPU, 1, 0); this.tableLayoutPanel1.Controls.Add(this.label5, 0, 0); this.tableLayoutPanel1.Controls.Add(this.cmbWxCat, 11, 0); @@ -294,23 +371,23 @@ namespace TemuKJD.WXForms.ProductForms this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33444F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33445F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33112F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(1199, 105); + this.tableLayoutPanel1.Size = new System.Drawing.Size(1050, 105); this.tableLayoutPanel1.TabIndex = 679; // // txtCatBoundLessThan // this.txtCatBoundLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtCatBoundLessThan.Location = new System.Drawing.Point(791, 41); + this.txtCatBoundLessThan.Location = new System.Drawing.Point(763, 41); this.txtCatBoundLessThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtCatBoundLessThan.Name = "txtCatBoundLessThan"; - this.txtCatBoundLessThan.Size = new System.Drawing.Size(116, 23); + this.txtCatBoundLessThan.Size = new System.Drawing.Size(109, 23); this.txtCatBoundLessThan.TabIndex = 883; this.txtCatBoundLessThan.Text = "100000"; // // chkCatBoundLessThan // this.chkCatBoundLessThan.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.chkCatBoundLessThan.Location = new System.Drawing.Point(724, 42); + this.chkCatBoundLessThan.Location = new System.Drawing.Point(696, 42); this.chkCatBoundLessThan.Margin = new System.Windows.Forms.Padding(10, 3, 3, 3); this.chkCatBoundLessThan.Name = "chkCatBoundLessThan"; this.chkCatBoundLessThan.Size = new System.Drawing.Size(64, 21); @@ -319,63 +396,13 @@ namespace TemuKJD.WXForms.ProductForms this.chkCatBoundLessThan.UseVisualStyleBackColor = true; this.chkCatBoundLessThan.CheckedChanged += new System.EventHandler(this.chkCatBoundLessThan_CheckedChanged); // - // btnSearch - // - this.btnSearch.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty; - this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSearch.Location = new System.Drawing.Point(1095, 5); - this.btnSearch.Name = "btnSearch"; - this.btnSearch.Size = new System.Drawing.Size(46, 25); - this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnSearch.Style.GradientAngle = 90; - this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnSearch.TabIndex = 643; - this.btnSearch.Text = "搜索"; - this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); - // - // btnEmpty - // - this.btnEmpty.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.btnEmpty.CanvasColor = System.Drawing.SystemColors.Control; - this.btnEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnEmpty.DisabledBackColor = System.Drawing.Color.Empty; - this.btnEmpty.Location = new System.Drawing.Point(1147, 5); - this.btnEmpty.Name = "btnEmpty"; - this.btnEmpty.Size = new System.Drawing.Size(46, 25); - this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.btnEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.btnEmpty.Style.GradientAngle = 90; - this.btnEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; - this.btnEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; - this.btnEmpty.TabIndex = 431; - this.btnEmpty.Text = "清空"; - this.btnEmpty.Click += new System.EventHandler(this.pnlEmpty_Click); - // // txtSPU // this.txtSPU.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.txtSPU.Location = new System.Drawing.Point(52, 6); this.txtSPU.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtSPU.Name = "txtSPU"; - this.txtSPU.Size = new System.Drawing.Size(116, 23); + this.txtSPU.Size = new System.Drawing.Size(109, 23); this.txtSPU.TabIndex = 434; // // label5 @@ -397,27 +424,27 @@ namespace TemuKJD.WXForms.ProductForms "", "是", "否"}); - this.cmbWxCat.Location = new System.Drawing.Point(973, 7); + this.cmbWxCat.Location = new System.Drawing.Point(938, 5); this.cmbWxCat.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbWxCat.Name = "cmbWxCat"; - this.cmbWxCat.Size = new System.Drawing.Size(116, 25); + this.cmbWxCat.Size = new System.Drawing.Size(109, 25); this.cmbWxCat.TabIndex = 802; // // txtProdName // this.txtProdName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.tableLayoutPanel1.SetColumnSpan(this.txtProdName, 3); - this.txtProdName.Location = new System.Drawing.Point(234, 6); + this.txtProdName.Location = new System.Drawing.Point(227, 6); this.txtProdName.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtProdName.Name = "txtProdName"; - this.txtProdName.Size = new System.Drawing.Size(281, 23); + this.txtProdName.Size = new System.Drawing.Size(267, 23); this.txtProdName.TabIndex = 427; // // label12 // this.label12.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label12.AutoSize = true; - this.label12.Location = new System.Drawing.Point(913, 9); + this.label12.Location = new System.Drawing.Point(878, 9); this.label12.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(60, 17); @@ -428,7 +455,7 @@ namespace TemuKJD.WXForms.ProductForms // this.label3.Anchor = System.Windows.Forms.AnchorStyles.Left; this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(174, 9); + this.label3.Location = new System.Drawing.Point(167, 9); this.label3.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(60, 17); @@ -454,10 +481,10 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCat1.DropDownWidth = 1; this.cmbCat1.FormattingEnabled = true; this.cmbCat1.IntegralHeight = false; - this.cmbCat1.Location = new System.Drawing.Point(52, 42); + this.cmbCat1.Location = new System.Drawing.Point(52, 40); this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat1.Name = "cmbCat1"; - this.cmbCat1.Size = new System.Drawing.Size(116, 25); + this.cmbCat1.Size = new System.Drawing.Size(109, 25); this.cmbCat1.TabIndex = 805; this.cmbCat1.Text = "全部"; this.cmbCat1.SelectedIndexChanged += new System.EventHandler(this.cmbCat1_SelectedIndexChanged); @@ -466,17 +493,17 @@ namespace TemuKJD.WXForms.ProductForms // txtCatBoundMoreThan // this.txtCatBoundMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtCatBoundMoreThan.Location = new System.Drawing.Point(595, 41); + this.txtCatBoundMoreThan.Location = new System.Drawing.Point(574, 41); this.txtCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtCatBoundMoreThan.Name = "txtCatBoundMoreThan"; - this.txtCatBoundMoreThan.Size = new System.Drawing.Size(116, 23); + this.txtCatBoundMoreThan.Size = new System.Drawing.Size(109, 23); this.txtCatBoundMoreThan.TabIndex = 882; this.txtCatBoundMoreThan.Text = "1000"; // // chkCatBoundMoreThan // this.chkCatBoundMoreThan.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.chkCatBoundMoreThan.Location = new System.Drawing.Point(528, 42); + this.chkCatBoundMoreThan.Location = new System.Drawing.Point(507, 42); this.chkCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(10, 3, 3, 3); this.chkCatBoundMoreThan.Name = "chkCatBoundMoreThan"; this.chkCatBoundMoreThan.Size = new System.Drawing.Size(64, 21); @@ -489,7 +516,7 @@ namespace TemuKJD.WXForms.ProductForms // this.label14.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(191, 44); + this.label14.Location = new System.Drawing.Point(184, 44); this.label14.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(43, 17); @@ -504,10 +531,10 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCat2.DropDownWidth = 1; this.cmbCat2.FormattingEnabled = true; this.cmbCat2.IntegralHeight = false; - this.cmbCat2.Location = new System.Drawing.Point(234, 42); + this.cmbCat2.Location = new System.Drawing.Point(227, 40); this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat2.Name = "cmbCat2"; - this.cmbCat2.Size = new System.Drawing.Size(116, 25); + this.cmbCat2.Size = new System.Drawing.Size(109, 25); this.cmbCat2.TabIndex = 804; this.cmbCat2.Text = "全部"; this.cmbCat2.SelectedIndexChanged += new System.EventHandler(this.cmbCat2_SelectedIndexChanged); @@ -517,7 +544,7 @@ namespace TemuKJD.WXForms.ProductForms // this.label17.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label17.AutoSize = true; - this.label17.Location = new System.Drawing.Point(356, 44); + this.label17.Location = new System.Drawing.Point(342, 44); this.label17.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label17.Name = "label17"; this.label17.Size = new System.Drawing.Size(43, 17); @@ -532,10 +559,10 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCat3.DropDownWidth = 1; this.cmbCat3.FormattingEnabled = true; this.cmbCat3.IntegralHeight = false; - this.cmbCat3.Location = new System.Drawing.Point(399, 42); + this.cmbCat3.Location = new System.Drawing.Point(385, 40); this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat3.Name = "cmbCat3"; - this.cmbCat3.Size = new System.Drawing.Size(116, 25); + this.cmbCat3.Size = new System.Drawing.Size(109, 25); this.cmbCat3.TabIndex = 811; this.cmbCat3.Text = "全部"; this.cmbCat3.SelectedIndexChanged += new System.EventHandler(this.cmbCat3_SelectedIndexChanged); @@ -545,7 +572,7 @@ namespace TemuKJD.WXForms.ProductForms // this.lblWxSafe.Anchor = System.Windows.Forms.AnchorStyles.Left; this.lblWxSafe.AutoSize = true; - this.lblWxSafe.Location = new System.Drawing.Point(913, 44); + this.lblWxSafe.Location = new System.Drawing.Point(878, 44); this.lblWxSafe.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblWxSafe.Name = "lblWxSafe"; this.lblWxSafe.Size = new System.Drawing.Size(60, 17); @@ -561,27 +588,27 @@ namespace TemuKJD.WXForms.ProductForms "安全+未校验", "安全商品", "未校验"}); - this.cmbWxSafe.Location = new System.Drawing.Point(973, 42); + this.cmbWxSafe.Location = new System.Drawing.Point(938, 40); this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbWxSafe.Name = "cmbWxSafe"; - this.cmbWxSafe.Size = new System.Drawing.Size(116, 25); + this.cmbWxSafe.Size = new System.Drawing.Size(109, 25); this.cmbWxSafe.TabIndex = 676; this.cmbWxSafe.Text = "安全+未校验"; // // txtNotes // this.txtNotes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtNotes.Location = new System.Drawing.Point(791, 6); + this.txtNotes.Location = new System.Drawing.Point(763, 6); this.txtNotes.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtNotes.Name = "txtNotes"; - this.txtNotes.Size = new System.Drawing.Size(116, 23); + this.txtNotes.Size = new System.Drawing.Size(109, 23); this.txtNotes.TabIndex = 439; // // lblNotes // this.lblNotes.Anchor = System.Windows.Forms.AnchorStyles.Right; this.lblNotes.AutoSize = true; - this.lblNotes.Location = new System.Drawing.Point(755, 9); + this.lblNotes.Location = new System.Drawing.Point(727, 9); this.lblNotes.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblNotes.Name = "lblNotes"; this.lblNotes.Size = new System.Drawing.Size(36, 17); @@ -596,10 +623,10 @@ namespace TemuKJD.WXForms.ProductForms "", "多多商品", "1688商品"}); - this.cmbSourceType.Location = new System.Drawing.Point(595, 7); + this.cmbSourceType.Location = new System.Drawing.Point(574, 5); this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbSourceType.Name = "cmbSourceType"; - this.cmbSourceType.Size = new System.Drawing.Size(116, 25); + this.cmbSourceType.Size = new System.Drawing.Size(109, 25); this.cmbSourceType.TabIndex = 654; this.cmbSourceType.SelectedIndexChanged += new System.EventHandler(this.cmbSourceType_SelectedIndexChanged); this.cmbSourceType.TextChanged += new System.EventHandler(this.cmbSourceType_SelectedIndexChanged); @@ -608,7 +635,7 @@ namespace TemuKJD.WXForms.ProductForms // this.lblSourceType.Anchor = System.Windows.Forms.AnchorStyles.Right; this.lblSourceType.AutoSize = true; - this.lblSourceType.Location = new System.Drawing.Point(551, 9); + this.lblSourceType.Location = new System.Drawing.Point(530, 9); this.lblSourceType.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblSourceType.Name = "lblSourceType"; this.lblSourceType.Size = new System.Drawing.Size(44, 17); @@ -1381,5 +1408,6 @@ namespace TemuKJD.WXForms.ProductForms private System.Windows.Forms.DataGridViewLinkColumn col_edit; private System.Windows.Forms.DataGridViewLinkColumn col_delete; private System.Windows.Forms.DataGridViewLinkColumn col_select_product; + private DevComponents.DotNetBar.PanelEx btnSelect; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs index 3a85f65..80dc437 100644 --- a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs @@ -744,10 +744,6 @@ namespace TemuKJD.WXForms.ProductForms }, cancellationTokenSource.Token); } - void SelectProduct(KJDDBProduct[] prodList) - { - } - private void dgvDbProduct_Scroll(object sender, ScrollEventArgs e) { ShowDgvImg(); @@ -982,5 +978,49 @@ namespace TemuKJD.WXForms.ProductForms Thread.Sleep(1000); } } + + private void btnSelect_Click(object sender, EventArgs e) + { + var lstProdId = dgvDbProduct.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["col_spu_id"]?.Value.ToString()).ToList(); + var prodList = this.lstTemuDbProduct.Where(p => lstProdId.Contains(p.spu_id)).ToArray(); + + if (prodList.Count() > 0) + { + this.btnSelect.Enabled = false; + Task.Run(() => + { + SelectProduct(prodList); + Invoke(new Action(() => + { + this.btnSelect.Enabled = true; + BaseMsgForm.ShowInfo("添加成功"); + })); + }); + } + else + { + BaseMsgForm.ShowError("请选择商品!"); + } + } + + void SelectProduct(KJDDBProduct[] prodList) + { + if (WXDBProdUploadForm.Instance != null) + { + foreach (var prod in prodList) + { + var selectProd = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(prod)); + selectProd.out_product_Id = prod.id.ToString(); + selectProd.id = 1; + if (WXDBProdUploadForm.Instance.lstTemuDBProductSelect.Count > 0) + selectProd.id = WXDBProdUploadForm.Instance.lstTemuDBProductSelect.Max(p => p.id) + 1; + //if (!string.IsNullOrEmpty(lblSetShop.Tag.ParseToString())) + // selectProd.shop_id = lblSetShop.Tag.ParseToString(); + WXDBProdUploadForm.Instance.lstTemuDBProductSelect.Add(selectProd); + } + WXDBProdUploadForm.Instance.dbProdList_SaveComplete(WXDBProdUploadForm.Instance.lstTemuDBProductSelect); + } + } } } diff --git a/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.Designer.cs index 2adbc1a..a0219aa 100644 --- a/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.Designer.cs @@ -330,16 +330,16 @@ namespace TemuKJD.WXForms.ProductForms // txtViewUvMin // this.txtViewUvMin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtViewUvMin.Location = new System.Drawing.Point(1133, 41); + this.txtViewUvMin.Location = new System.Drawing.Point(1132, 41); this.txtViewUvMin.Name = "txtViewUvMin"; - this.txtViewUvMin.Size = new System.Drawing.Size(57, 23); + this.txtViewUvMin.Size = new System.Drawing.Size(58, 23); this.txtViewUvMin.TabIndex = 882; this.txtViewUvMin.Visible = false; // // chkViewUvMin // this.chkViewUvMin.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.chkViewUvMin.Location = new System.Drawing.Point(1079, 42); + this.chkViewUvMin.Location = new System.Drawing.Point(1078, 42); this.chkViewUvMin.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); this.chkViewUvMin.Name = "chkViewUvMin"; this.chkViewUvMin.Size = new System.Drawing.Size(48, 21); @@ -356,7 +356,7 @@ namespace TemuKJD.WXForms.ProductForms "", "爆款数据", "普通商品"}); - this.cmbHot.Location = new System.Drawing.Point(922, 7); + this.cmbHot.Location = new System.Drawing.Point(921, 7); this.cmbHot.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbHot.Name = "cmbHot"; this.cmbHot.Size = new System.Drawing.Size(148, 25); @@ -369,7 +369,7 @@ namespace TemuKJD.WXForms.ProductForms // this.lblHot.Anchor = System.Windows.Forms.AnchorStyles.Right; this.lblHot.AutoSize = true; - this.lblHot.Location = new System.Drawing.Point(878, 9); + this.lblHot.Location = new System.Drawing.Point(877, 9); this.lblHot.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblHot.Name = "lblHot"; this.lblHot.Size = new System.Drawing.Size(44, 17); @@ -384,7 +384,7 @@ namespace TemuKJD.WXForms.ProductForms this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand; this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty; this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSearch.Location = new System.Drawing.Point(1076, 5); + this.btnSearch.Location = new System.Drawing.Point(1075, 5); this.btnSearch.Name = "btnSearch"; this.btnSearch.Size = new System.Drawing.Size(51, 25); this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -408,9 +408,9 @@ namespace TemuKJD.WXForms.ProductForms this.btnEmpty.CanvasColor = System.Drawing.SystemColors.Control; this.btnEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnEmpty.DisabledBackColor = System.Drawing.Color.Empty; - this.btnEmpty.Location = new System.Drawing.Point(1133, 5); + this.btnEmpty.Location = new System.Drawing.Point(1132, 5); this.btnEmpty.Name = "btnEmpty"; - this.btnEmpty.Size = new System.Drawing.Size(57, 25); + this.btnEmpty.Size = new System.Drawing.Size(58, 25); this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); this.btnEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); @@ -435,7 +435,7 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCat3.DropDownWidth = 1; this.cmbCat3.FormattingEnabled = true; this.cmbCat3.IntegralHeight = false; - this.cmbCat3.Location = new System.Drawing.Point(724, 7); + this.cmbCat3.Location = new System.Drawing.Point(723, 7); this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat3.Name = "cmbCat3"; this.cmbCat3.Size = new System.Drawing.Size(148, 25); @@ -448,7 +448,7 @@ namespace TemuKJD.WXForms.ProductForms // this.label17.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label17.AutoSize = true; - this.label17.Location = new System.Drawing.Point(673, 9); + this.label17.Location = new System.Drawing.Point(672, 9); this.label17.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label17.Name = "label17"; this.label17.Size = new System.Drawing.Size(51, 17); @@ -466,7 +466,7 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCat2.Location = new System.Drawing.Point(519, 7); this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat2.Name = "cmbCat2"; - this.cmbCat2.Size = new System.Drawing.Size(148, 25); + this.cmbCat2.Size = new System.Drawing.Size(147, 25); this.cmbCat2.TabIndex = 804; this.cmbCat2.Text = "全部"; this.cmbCat2.SelectedIndexChanged += new System.EventHandler(this.cmbCat2_SelectedIndexChanged); @@ -491,7 +491,7 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCat1.DropDownWidth = 1; this.cmbCat1.FormattingEnabled = true; this.cmbCat1.IntegralHeight = false; - this.cmbCat1.Location = new System.Drawing.Point(295, 7); + this.cmbCat1.Location = new System.Drawing.Point(295, 5); this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat1.Name = "cmbCat1"; this.cmbCat1.Size = new System.Drawing.Size(148, 25); @@ -551,7 +551,7 @@ namespace TemuKJD.WXForms.ProductForms "安全+未校验", "安全商品", "未校验"}); - this.cmbWxSafe.Location = new System.Drawing.Point(71, 42); + this.cmbWxSafe.Location = new System.Drawing.Point(71, 40); this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbWxSafe.Name = "cmbWxSafe"; this.cmbWxSafe.Size = new System.Drawing.Size(148, 25); @@ -599,7 +599,7 @@ namespace TemuKJD.WXForms.ProductForms this.txtCatBoundLessThan.Location = new System.Drawing.Point(519, 41); this.txtCatBoundLessThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtCatBoundLessThan.Name = "txtCatBoundLessThan"; - this.txtCatBoundLessThan.Size = new System.Drawing.Size(148, 23); + this.txtCatBoundLessThan.Size = new System.Drawing.Size(147, 23); this.txtCatBoundLessThan.TabIndex = 883; this.txtCatBoundLessThan.Text = "100000"; this.txtCatBoundLessThan.Visible = false; @@ -608,7 +608,7 @@ namespace TemuKJD.WXForms.ProductForms // this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.cmbGroupFilter.FormattingEnabled = true; - this.cmbGroupFilter.Location = new System.Drawing.Point(922, 42); + this.cmbGroupFilter.Location = new System.Drawing.Point(921, 42); this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbGroupFilter.Name = "cmbGroupFilter"; this.cmbGroupFilter.Size = new System.Drawing.Size(148, 25); @@ -620,7 +620,7 @@ namespace TemuKJD.WXForms.ProductForms // this.lblSourceType.Anchor = System.Windows.Forms.AnchorStyles.Right; this.lblSourceType.AutoSize = true; - this.lblSourceType.Location = new System.Drawing.Point(680, 44); + this.lblSourceType.Location = new System.Drawing.Point(679, 44); this.lblSourceType.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblSourceType.Name = "lblSourceType"; this.lblSourceType.Size = new System.Drawing.Size(44, 17); @@ -632,7 +632,7 @@ namespace TemuKJD.WXForms.ProductForms // this.lblGroupFilter.Anchor = System.Windows.Forms.AnchorStyles.Right; this.lblGroupFilter.AutoSize = true; - this.lblGroupFilter.Location = new System.Drawing.Point(878, 44); + this.lblGroupFilter.Location = new System.Drawing.Point(877, 44); this.lblGroupFilter.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblGroupFilter.Name = "lblGroupFilter"; this.lblGroupFilter.Size = new System.Drawing.Size(44, 17); @@ -655,7 +655,7 @@ namespace TemuKJD.WXForms.ProductForms "机会商品", "以图搜品", "外部数据"}); - this.cmbSourceType.Location = new System.Drawing.Point(724, 42); + this.cmbSourceType.Location = new System.Drawing.Point(723, 42); this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbSourceType.Name = "cmbSourceType"; this.cmbSourceType.Size = new System.Drawing.Size(148, 25);