From 06be1c7ccc7533612e4cc7b0e730080d0dd3d2a1 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Fri, 16 Jan 2026 11:43:36 +0800
Subject: [PATCH] 商品可以赠送优惠券 商品属性增加团购 入驻商家增加实物和团购选项 团购和实物商户分类分开 增加团购商家页面 后台添加页面增加团购组件

---
 mobile/pages/shop/register.vue |   86 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 74 insertions(+), 12 deletions(-)

diff --git a/mobile/pages/shop/register.vue b/mobile/pages/shop/register.vue
index 1e39119..cba7a2d 100644
--- a/mobile/pages/shop/register.vue
+++ b/mobile/pages/shop/register.vue
@@ -28,6 +28,14 @@
 							<view class="icon iconfont icon-yanzhengma"></view>
 							<input type="text" name="code" v-model="form.code" placeholder='请输入验证码' />
 						</view>
+						<picker class="" value="" @change="changeSupplierType($event)"
+							:range="supplier_type_list">
+							<view class="certification_head_body_item d-b-c">
+								<view class="make-item input-box flex-1" v-if="supplier_type_name_active">{{supplier_type_name_active}}</view>
+								<view class="make-item input-box flex-1" style="color: #777777;" v-else>请选择供应商类型</view>
+								<view class="icon iconfont icon-jiantou" style="font-size: 24rpx;"></view>
+							</view>
+						</picker>
 						<picker class="" value="" @change="changeSelect($event)"
 							:range="classify_data_name">
 							<view class="certification_head_body_item d-b-c">
@@ -104,6 +112,11 @@
 				area_data_id: '', //列表id
 				area_data_name_active: '', //当前选中的列表名字
 				area_data_id_active: '', //当前选中的列表id
+				supplier_type_list: [], //供应商类型列表
+				supplier_type_ids: [], //供应商类型ID列表
+				supplier_type_name_active: '', //当前选中的供应商类型名称
+				supplier_type_id_active: '', //当前选中的供应商类型ID
+				classify_all_data: [], //保存所有分类数据
 				/*当前秒数*/
 				second: 60,
 				send_btn_txt: '获取验证码',
@@ -166,20 +179,51 @@
 				self._post('supplier.apply/category', {
 
 				}, function(res) {
-					let list_name = [];
-					let list_id = [];
-					//合成select列表
-					for (var i = 0; i < res.data.list.length; i++) {
-						list_name.push(res.data.list[i].name);
-					}
-					//合成上传所需id数组
-					for (var i2 = 0; i2 < res.data.list.length; i2++) {
-						list_id.push(res.data.list[i2].category_id);
-					}
-					self.classify_data_name = list_name;
-					self.classify_data_id = list_id;
+					// 保存所有分类数据(新的数据结构:list是对象,key是类型ID)
+					self.classify_all_data = res.data.list || {};
 					self.sms_open = res.data.sms_open;
+
+					// 处理供应商类型列表
+					let typeList = res.data.typeList || {};
+					self.supplier_type_list = [];
+					self.supplier_type_ids = [];
+					for (let key in typeList) {
+						self.supplier_type_list.push(typeList[key]);
+						self.supplier_type_ids.push(parseInt(key));
+					}
+
+					// 如果已经选择了供应商类型,则过滤对应的分类
+					if (self.supplier_type_id_active) {
+						self.filterClassifyByType(self.supplier_type_id_active);
+					}
 				});
+			},
+			//根据供应商类型过滤分类
+			filterClassifyByType(type) {
+				let self = this;
+				let list_name = [];
+				let list_id = [];
+				let targetList = [];
+
+				// 根据新的数据结构:classify_all_data是对象,key是类型ID
+				// 需要处理type可能是字符串的情况
+				let typeKey = String(type);
+				if (self.classify_all_data && self.classify_all_data[typeKey]) {
+					targetList = self.classify_all_data[typeKey] || [];
+				}
+
+				//合成select列表
+				for (var i = 0; i < targetList.length; i++) {
+					list_name.push(targetList[i].name);
+					list_id.push(targetList[i].category_id);
+				}
+
+				self.classify_data_name = list_name;
+				self.classify_data_id = list_id;
+
+				// 清空当前选择的分类
+				self.classify_data_name_active = '';
+				self.classify_data_id_active = '';
 			},
 			//选择分类
 			select() {
@@ -222,6 +266,7 @@
 				formdata.business_id = self.form.business_id;
 				formdata.category_id = self.classify_data_id_active;
 				formdata.area_id = self.area_data_id_active;
+				formdata.supplier_type = self.supplier_type_id_active;
 				if (self.classify_data_name_active == '') {
 					uni.showToast({
 						title: '请填主营类别',
@@ -233,6 +278,14 @@
 				if (self.area_data_id.length > 0 && self.area_data_id_active == '') {
 					uni.showToast({
 						title: '请选择所在区域',
+						duration: 1000,
+						icon: 'none'
+					});
+					return false;
+				}
+				if (self.supplier_type_id_active == '') {
+					uni.showToast({
+						title: '请选择供应商类型',
 						duration: 1000,
 						icon: 'none'
 					});
@@ -342,6 +395,15 @@
 				this.area_data_id_active = this.area_data_id[e.detail.value];
 				this.area_data_name_active = this.area_data_name[e.detail.value];
 			},
+			/* 供应商类型选择 */
+			changeSupplierType(e) {
+				let index = parseInt(e.detail.value);
+				let typeId = this.supplier_type_ids[index];
+				this.supplier_type_id_active = typeId.toString();
+				this.supplier_type_name_active = this.supplier_type_list[index];
+				// 根据选择的供应商类型过滤分类
+				this.filterClassifyByType(this.supplier_type_id_active);
+			},
 		}
 	}
 </script>

--
Gitblit v1.9.2