From df60073f4fb06ea2d16984635e0714bae8a1f8e9 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Mon, 22 Dec 2025 18:03:35 +0800
Subject: [PATCH] 1.在总后台首页装修增加了活动专区和智能匹配 模块 2.目前活动专区获取的是发布需求最新的数据,智能匹配是用户没登录前也是获取发布需求最新数据,登录后会根据用户发布的需求,通过分类匹配到对应的数据 3.修复缴纳保证金报错 4.修复发布需求报错

---
 mobile/pages/user/my_shop/product_add.vue |   39 +++++++++++++++++++++++----------------
 1 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/mobile/pages/user/my_shop/product_add.vue b/mobile/pages/user/my_shop/product_add.vue
index 77f0505..ee7670d 100644
--- a/mobile/pages/user/my_shop/product_add.vue
+++ b/mobile/pages/user/my_shop/product_add.vue
@@ -132,6 +132,8 @@
 							@click="form.model.is_virtual = 1">虚拟商品</view>
 						<view class="radio-item" :class="{ active: form.model.is_virtual === 2 }"
 							@click="form.model.is_virtual = 2">券商品</view>
+						<view class="radio-item" :class="{ active: form.model.is_virtual === 3 }"
+							@click="form.model.is_virtual = 3">服务商品</view>
 					</view>
 				</view>
 
@@ -164,7 +166,7 @@
 				</view>
 
 				<!-- 虚拟商品设置 -->
-				<view class="form-item" v-if="form.model.is_virtual === 1">
+				<view class="form-item" v-if="form.model.is_virtual === 1 || form.model.is_virtual === 3">
 					<view class="item-label">发货类型</view>
 					<view class="radio-group">
 						<view class="radio-item" :class="{ active: form.model.virtual_auto === 1 }"
@@ -179,7 +181,12 @@
 					<input class="item-input" v-model="form.model.virtual_content" placeholder="请输入虚拟物品内容" />
 				</view>
 
-				<view class="form-item" v-if="form.model.is_virtual === 1 && form.model.virtual_auto === 0">
+				<view class="form-item" v-if=" form.model.is_virtual === 3">
+					<view class="item-label">服务商品内容</view>
+					<input class="item-input" v-model="form.model.service_content" placeholder="请输入服务商品内容" />
+				</view>
+				
+				<view class="form-item" v-if="(form.model.is_virtual === 1 || form.model.is_virtual === 3)&& form.model.virtual_auto === 0">
 					<view class="item-label">支持线下核销</view>
 					<view class="radio-group">
 						<view class="radio-item" :class="{ active: form.model.is_verify === 1 }"
@@ -190,7 +197,7 @@
 				</view>
 
 				<view class="form-item"
-					v-if="form.model.is_virtual === 1 && form.model.virtual_auto === 0 && form.model.is_verify === 1">
+					v-if="(form.model.is_virtual === 1 || form.model.is_virtual === 3) && form.model.virtual_auto === 0 && form.model.is_verify === 1">
 					<view class="item-label">核销到期类型</view>
 					<view class="radio-group">
 						<view class="radio-item" :class="{ active: form.model.verify_type === 10 }"
@@ -201,14 +208,14 @@
 				</view>
 
 				<view class="form-item"
-					v-if="form.model.is_virtual === 1 && form.model.virtual_auto === 0 && form.model.is_verify === 1 && form.model.verify_type === 10">
+					v-if="(form.model.is_virtual === 1 || form.model.is_virtual === 3) && form.model.virtual_auto === 0 && form.model.is_verify === 1 && form.model.verify_type === 10">
 					<view class="item-label">核销有效天数</view>
 					<input class="item-input" v-model="form.model.verify_day" placeholder="请输入有效天数,0或留空表示永久有效"
 						type="number" />
 				</view>
 
 				<view class="form-item"
-					v-if="form.model.is_virtual === 1 && form.model.virtual_auto === 0 && form.model.is_verify === 1 && form.model.verify_type === 20">
+					v-if="(form.model.is_virtual === 1 || form.model.is_virtual === 3) && form.model.virtual_auto === 0 && form.model.is_verify === 1 && form.model.verify_type === 20">
 					<view class="item-label">核销有效时间</view>
 					<picker mode="daterange" class="item-picker" @change="verifyTimeChange" :value="verifyTimeArray">
 						<view class="picker-text">{{ verifyTimeText || '请选择核销有效时间' }}</view>
@@ -340,15 +347,15 @@
 				<view class="form-item">
 					<view class="item-label">详情类型</view>
 					<view class="radio-group">
-						<view class="radio-item" :class="{ active: form.model.content_type === 10 }"
-							@click="form.model.content_type = 10">图文</view>
-						<view class="radio-item" :class="{ active: form.model.content_type === 20 }"
-							@click="form.model.content_type = 20">纯图</view>
+						<view class="radio-item" :class="{ active: form.model.is_picture == 0 }"
+							@click="form.model.is_picture = 0">图文</view>
+						<view class="radio-item" :class="{ active: form.model.is_picture === 1 }"
+							@click="form.model.is_picture = 1">纯图</view>
 					</view>
 				</view>
 
 				<!-- 图文类型 -->
-				<view v-if="form.model.content_type === 10" class="form-item">
+				<view v-if="form.model.is_picture === 0" class="form-item">
 					<view class="item-label">商品详情</view>
 					<view class="editor">
 						<!-- 富文本编辑器 -->
@@ -439,7 +446,7 @@
 				</view>
 
 				<!-- 纯图类型 -->
-				<view v-else-if="form.model.content_type === 20" class="form-item">
+				<view v-else-if="form.model.is_picture == 1" class="form-item">
 					<view class="item-label">商品详情图片</view>
 					<view class="uploader">
 						<view class="uploader-item" v-for="(item, index) in form.model.contentImage" :key="index">
@@ -535,7 +542,8 @@
 						selling_point: '',
 						spec_type: 10,
 						deduct_stock_type: 20,
-						content_type: 10,
+						is_picture: 0,
+						service_content: '',
 						sku: {
 							product_no: '',
 							product_price: '',
@@ -851,7 +859,7 @@
 			save() {
 				let self = this;
 				// 先获取富文本编辑器内容
-				if (self.form.model.content_type === 10 && self.editorCtx) {
+				if (self.form.model.is_picture == 0 && self.editorCtx) {
 					// 图文类型,获取编辑器内容
 					self.editorCtx.getContents({ 
 						success: (res) => {
@@ -949,7 +957,7 @@
 				}
 
 				// 根据详情类型验证内容
-				if (self.form.model.content_type === 10) {
+				if (self.form.model.is_picture === 0) {
 					// 图文类型,验证富文本内容
 					if (!self.form.model.content || self.form.model.content.trim() === '') {
 						uni.showToast({
@@ -958,7 +966,7 @@
 						});
 						return;
 					}
-				} else if (self.form.model.content_type === 20) {
+				} else if (self.form.model.is_picture == 1) {
 					// 纯图类型,验证详情图片
 					if (self.form.model.contentImage.length === 0) {
 						uni.showToast({
@@ -968,7 +976,6 @@
 						return;
 					}
 				}
-
 				self.loading = true;
 				self._post('supplier.product/add', {
 					params: JSON.stringify(self.form.model)

--
Gitblit v1.9.2