From a4b3ee325c7354579d495bc74a777e494e5ec38c Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Fri, 06 Feb 2026 18:18:44 +0800
Subject: [PATCH] 商品可以价格面议 选择走访时显示输入走访企业名 分会添加活动时要总会审核 分类添加人数限制,添加活动选择了填写人数限制的分类时活动名额下显示该分类人数限制为15 同一个企业30天内只能走访一次,在30天内走访同一个企业时提示该企业已被走访xx天后才可以从新走访

---
 mobile/components/shoptabbar/footTabbar.vue |  101 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 89 insertions(+), 12 deletions(-)

diff --git a/mobile/components/shoptabbar/footTabbar.vue b/mobile/components/shoptabbar/footTabbar.vue
index b4b3a59..f5a9608 100644
--- a/mobile/components/shoptabbar/footTabbar.vue
+++ b/mobile/components/shoptabbar/footTabbar.vue
@@ -3,27 +3,49 @@
 		<view class="foot-bottom"></view>
 		<view class="foot-tavbar-container d-a-c" :style="'background:'+detail.backgroundColor || '' + ';' "
 			v-if="detail.list!=''">
-			<view class="item d-c-c" :class="{'active':item.link_url == getRoute()}" v-for="(item, index) in detail.list"
-				:key="index" @click="tabBarFunc(item)">
+			<view class="item d-c-c" :class="{'active':getLinkUrl(item.link_url) == getRoute()}"
+				v-for="(item, index) in detail.list" :key="index" @click="tabBarFunc(item)">
 				<view style="height: 0;width: 0;opacity: 0;">{{getRoute()}}</view>
 				<view class="inner d-c-c d-c">
-					<image v-if="detail.type!=2" :src="item.link_url == getRoute()?item.selectedIconPath:item.iconPath"
+					<image v-if="detail.type!=2" :src="getLinkUrl(item.link_url)== getRoute()?item.selectedIconPath:item.iconPath"
 						mode="aspectFill">
 					</image>
 					<text v-if="detail.type!=1"
-						:style="item.link_url == getRoute()?'color:'+detail.textHoverColor+';':'color:'+detail.textColor+';'"
+						:style="getLinkUrl(item.link_url) == getRoute()?'color:'+detail.textHoverColor+';':'color:'+detail.textColor+';'"
 						class="text-name">{{ item.text}}</text>
 				</view>
 			</view>
 		</view>
+		<!--发布弹窗-->
+		<uniPopup :show="is_release" type='bottom' backgroundColor='#f2f2f2' width="700" msg=" "
+			@hidePopup="hideNotePopup">
+			<view class="release">
+				<view class="release-data d-c-c d-c" @click="gotoPage(release.demandindex_url)">
+					<image :src="release.iconPath"></image>
+					<text>{{release.demandindex_text}}</text>
+				</view>
+				<view class="release-data d-c-c d-c" @click="gotoPage(release.supplyindex_url)">
+					<image :src="release.selectedIconPath"></image>
+					<text>{{release.supplyindex_text}}</text>
+				</view>
+			</view>
+			<view class="guanbiannu" @click="hideNotePopup">
+				<text class="icon-guanbi icon iconfont guanbi"></text>
+			</view>
+		</uniPopup>
 	</view>
 </template>
 
 <script>
+	import uniPopup from '@/components/uni-popup.vue';
 	export default {
-		props:['vars'],
+		components: {
+			uniPopup
+		},
+		props: ['vars'],
 		data() {
 			return {
+				is_release: false,
 				/*当前选中*/
 				activeTabber: '首页',
 				/*打开直播菜单*/
@@ -32,7 +54,8 @@
 				detail: {},
 				/*是否微信小程序*/
 				platform: 'wx',
-				hasTab: false
+				hasTab: false,
+				release: {}
 			};
 		},
 		watch: {
@@ -62,14 +85,19 @@
 			this.detail = uni.getStorageSync('ShopTabBar');
 			// this.hasmenu();
 			this.getData();
-			
+
 		},
 		methods: {
 			hasmenu() {
 				let self = this;
 				let curRoute = self.getRoute();
+				let link_url = '';
 				let res = self.detail.list.some(item => {
-					if (item.link_url == curRoute) {
+					link_url = item.link_url;
+					if (link_url.indexOf('?') !== -1) {
+						link_url = link_url.split('?')[0];
+					}
+					if (link_url == curRoute) {
 						return true
 					}
 				})
@@ -77,6 +105,12 @@
 				if (uni.getStorageSync('ShopTabBar').is_auto && uni.getStorageSync('ShopTabBar').is_auto != 0) {
 					uni.hideTabBar()
 				}
+			},
+			getLinkUrl(link_url){
+				if (link_url.indexOf('?') !== -1) {
+					return link_url = link_url.split('?')[0];
+				}
+				return link_url;
 			},
 			getRoute() {
 				let self = this;
@@ -87,21 +121,32 @@
 						curRoute = routes[routes.length - 1]['$page'].fullPath
 					}
 				}
+				// 如果当前路由包含查询参数,则只取路径部分进行匹配
 				return curRoute
 			},
 			/*点击菜单*/
 			tabBarFunc(e) {
-				if (this.shopFootTabberData.active == e.text) {
+				if (e.link_url == '/pages3/release/chat/release') {
+					this.is_release = true;
+					this.release = e.release;
+					return
+				}
+				if (this.shopFootTabberData.active == e.text&&this.getLinkUrl(e.link_url) == this.getRoute()) {
 					return
 				}
 				this.shopFootTabberData.active = e.text
 				this.$store.commit('changefootTab', e.text);
 				this.gotoPage(e.link_url);
 			},
+			hideNotePopup() {
+				this.is_release = false
+			},
 			/*获取首页分类*/
 			getData() {
 				let self = this;
-				self._get('supplier.page/nav', {shop_supplier_id:uni.getStorageSync('shop_supplier_id')}, function(res) {
+				self._get('supplier.page/nav', {
+					shop_supplier_id: uni.getStorageSync('shop_supplier_id')
+				}, function(res) {
 					self.detail = res.data.vars.data;
 					uni.setStorageSync('ShopTabBar', res.data.vars.data);
 					self.hasmenu();
@@ -127,7 +172,7 @@
 		left: 0;
 		height: 98rpx;
 		background: #FFFFFF;
-		z-index: 90;
+		z-index: 999;
 		padding-bottom: env(safe-area-inset-bottom);
 	}
 
@@ -158,4 +203,36 @@
 	.foot-tavbar-container .item.active .text-name {
 		color: #f8c341;
 	}
-</style>
+
+	.release {
+		display: flex;
+		justify-content: space-between;
+		padding: 0 50rpx;
+	}
+
+	.release-data {
+		background-color: #FFFFFF;
+		padding: 20rpx;
+		font-size: 30rpx;
+	}
+
+	.release-data image {
+		width: 200rpx;
+		height: 200rpx;
+		margin-bottom: 20rpx;
+	}
+
+	.guanbiannu {
+		padding: 30rpx 40rpx;
+		margin: 20rpx auto;
+	}
+
+	.guanbi {
+		background-color: #dae5f9;
+		color: #a9adb8;
+		padding: 20rpx 40rpx;
+		font-size: 40rpx;
+		border-radius: 20rpx;
+		margin: 20rpx auto;
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.2