中团餐饮(进度24%):
1、首页的食堂招租跳转页面的静态页面已完成,列表数据已对接,剩余搜索功能的实现; 2、个人中心的签到页面:静态页面已完成,剩余底部四行任务按钮的跳转和实现; 3、个人中心的采用原商城的页面能正常跳转,剩余部分需要与UI设计图对比进行调整
This commit is contained in:
		
							parent
							
								
									4fe9dfa923
								
							
						
					
					
						commit
						414da254b2
					
				
							
								
								
									
										59
									
								
								pages.json
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								pages.json
									
									
									
									
									
								
							@ -23,7 +23,8 @@
 | 
			
		||||
		{
 | 
			
		||||
			"path": "pages/index/fabu",
 | 
			
		||||
			"style": {
 | 
			
		||||
				"navigationBarTitleText": "发布"
 | 
			
		||||
				"navigationBarTitleText": "发布",
 | 
			
		||||
				"enablePullDownRefresh": true
 | 
			
		||||
			},
 | 
			
		||||
			"meta": {
 | 
			
		||||
				"sync": true,
 | 
			
		||||
@ -95,7 +96,49 @@
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	],
 | 
			
		||||
	"subPackages": [{
 | 
			
		||||
	"subPackages": [
 | 
			
		||||
		{
 | 
			
		||||
			"root": "pages/canteenRent",
 | 
			
		||||
			"pages": [{
 | 
			
		||||
					"path": "rentList",
 | 
			
		||||
					"style": {
 | 
			
		||||
						"navigationBarTitleText": "食堂招租"
 | 
			
		||||
					},
 | 
			
		||||
					"meta": {
 | 
			
		||||
						"auth": true,
 | 
			
		||||
						"title": "食堂招租"
 | 
			
		||||
					}
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
						"path": "rentDetail",
 | 
			
		||||
						"style": {
 | 
			
		||||
							"navigationBarTitleText": "招租详情"
 | 
			
		||||
						},
 | 
			
		||||
						"meta": {
 | 
			
		||||
							"sync": true,
 | 
			
		||||
							"title": "招租详情",
 | 
			
		||||
							"group": "食堂招租"
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				
 | 
			
		||||
			]
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"root": "pages/school",
 | 
			
		||||
			"pages": [{
 | 
			
		||||
					"path": "schoolIndex",
 | 
			
		||||
					"style": {
 | 
			
		||||
						"navigationBarTitleText": "平台学院"
 | 
			
		||||
					},
 | 
			
		||||
					"meta": {
 | 
			
		||||
						"auth": true,
 | 
			
		||||
						"title": "平台学院"
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				
 | 
			
		||||
			]
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"root": "pages/goods",
 | 
			
		||||
			"pages": [{
 | 
			
		||||
					"path": "index",
 | 
			
		||||
@ -304,6 +347,18 @@
 | 
			
		||||
						"group": "用户中心"
 | 
			
		||||
					}
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					"path": "myRelease/list",
 | 
			
		||||
					"style": {
 | 
			
		||||
						"navigationBarTitleText": "我的发布"
 | 
			
		||||
					},
 | 
			
		||||
					"meta": {
 | 
			
		||||
						"auth": true,
 | 
			
		||||
						"sync": true,
 | 
			
		||||
						"title": "我的发布",
 | 
			
		||||
						"group": "用户中心"
 | 
			
		||||
					}
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					"path": "goods-collect",
 | 
			
		||||
					"style": {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1097
									
								
								pages/app/sign.vue
									
									
									
									
									
								
							
							
						
						
									
										1097
									
								
								pages/app/sign.vue
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										9
									
								
								pages/canteenRent/rentDetail.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								pages/canteenRent/rentDetail.vue
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<s-layout title="招租详情"></s-layout>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup>
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										398
									
								
								pages/canteenRent/rentList.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										398
									
								
								pages/canteenRent/rentList.vue
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,398 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<s-layout title="食堂招租">
 | 
			
		||||
		<view class="container">
 | 
			
		||||
			<!-- 顶部 -->
 | 
			
		||||
			<view class="top">
 | 
			
		||||
				<!-- 顶部-地址&搜索 -->
 | 
			
		||||
				<view class="locTop">
 | 
			
		||||
					<view class="locTop-right">
 | 
			
		||||
						<uni-section style="border-radius: 192rpx;padding: 0;" type="line">
 | 
			
		||||
							<uni-search-bar :value="listQuery.keywords" style="border-radius: 192rpx;" radius="23" placeholder="搜索您需要的信息"
 | 
			
		||||
								bgColor="#EEEEEE" clearButton="none" cancelButton="none" @confirm="searchRent"
 | 
			
		||||
								@blur="searchRent1" />
 | 
			
		||||
						</uni-section>
 | 
			
		||||
						<!-- <uni-search-bar></uni-search-bar> @confirm="search"-->
 | 
			
		||||
					</view>
 | 
			
		||||
					<view class="locTop-left">
 | 
			
		||||
						<view class="locTop-left-left" @click="state.showRegion = true">
 | 
			
		||||
							<view
 | 
			
		||||
								style="font-size: 28rpx;font-weight: 400;line-height: 32rpx;color: #999999;width: auto;">
 | 
			
		||||
								{{state.model.city_name ? proCity:'地区' }}
 | 
			
		||||
							</view>
 | 
			
		||||
							<image style="width: 27rpx;height: 27rpx;margin-left: 10rpx;"
 | 
			
		||||
								src="https://jiangxiaoxian.0rui.cn/rentMore.png" mode=""></image>
 | 
			
		||||
						</view>
 | 
			
		||||
						<picker mode="selector" :value="tagList" :range="tagList" range-key="dictLabel"
 | 
			
		||||
							@change="onChangeTag">
 | 
			
		||||
							<view class="picker"
 | 
			
		||||
								style="width: auto; position: relative;font-size: 28rpx;font-weight: 400;color: #999999;line-height: 32rpx;">
 | 
			
		||||
 | 
			
		||||
								{{dictLabel || '标签'}}
 | 
			
		||||
								<image style="width: 27rpx;height: 27rpx;margin-left: 6rpx;"
 | 
			
		||||
									src="https://jiangxiaoxian.0rui.cn/rentMore.png" mode=""></image>
 | 
			
		||||
							</view>
 | 
			
		||||
						</picker>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
					</view>
 | 
			
		||||
 | 
			
		||||
				</view>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
			</view>
 | 
			
		||||
 | 
			
		||||
			<!-- 推荐列表 -->
 | 
			
		||||
			<view class="recommend-box">
 | 
			
		||||
				<view class="rrecommList" v-for="(item,index) in rentList" :key="index">
 | 
			
		||||
					<view class="reListItem">
 | 
			
		||||
						<!-- 左侧图片 -->
 | 
			
		||||
						<view class="listItem-images">
 | 
			
		||||
							<image v-if="item.recommend == 1"
 | 
			
		||||
								style="width: 77rpx;height: 36rpx;z-index: 100;position: relative;top: 34rpx;left: 0rpx;"
 | 
			
		||||
								src="https://jiangxiaoxian.0rui.cn/hot.png"></image>
 | 
			
		||||
							<image class="iamges-mainImg" :src="item.images[0]"></image>
 | 
			
		||||
						</view>
 | 
			
		||||
						<!-- 右侧内容 -->
 | 
			
		||||
						<view class="listItem-contents">
 | 
			
		||||
							<view class="title2" style="margin-bottom: 20rpx;">{{item.platform_title}}</view>
 | 
			
		||||
							<scroll-view class="">标签</scroll-view>
 | 
			
		||||
							<view class="cons-third">
 | 
			
		||||
								<view style="display: flex;">
 | 
			
		||||
									<image style="width: 24rpx;height: 24rpx;"
 | 
			
		||||
										src="https://jiangxiaoxian.0rui.cn/locationList.png"></image>
 | 
			
		||||
									<view class="title3" style="margin-left: 10rpx;">{{item.address_city_text}}</view>
 | 
			
		||||
								</view>
 | 
			
		||||
								<view class="title3">{{item.release_time_text}}</view>
 | 
			
		||||
								<view style="display: flex;">
 | 
			
		||||
									<image style="width: 26rpx;height: 20rpx;"
 | 
			
		||||
										src="https://jiangxiaoxian.0rui.cn/eye.png"></image>
 | 
			
		||||
									<view class="title3" style="margin-left: 10rpx;">{{item.views}}</view>
 | 
			
		||||
								</view>
 | 
			
		||||
							</view>
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
				</view>
 | 
			
		||||
			</view>
 | 
			
		||||
 | 
			
		||||
		</view>
 | 
			
		||||
 | 
			
		||||
		<!-- 省市区弹窗 -->
 | 
			
		||||
		<su-regionCity-picker :show="state.showRegion" @cancel="state.showRegion = false" @confirm="onRegionConfirm">
 | 
			
		||||
		</su-regionCity-picker>
 | 
			
		||||
		
 | 
			
		||||
		<uni-load-more
 | 
			
		||||
		  v-if="state.pagination.total > 0"
 | 
			
		||||
		  :status="state.loadStatus"
 | 
			
		||||
		  :content-text="{
 | 
			
		||||
		    contentdown: '上拉加载更多',
 | 
			
		||||
		  }"
 | 
			
		||||
		  @tap="loadmore"
 | 
			
		||||
		/>
 | 
			
		||||
		
 | 
			
		||||
	</s-layout>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup>
 | 
			
		||||
	import {
 | 
			
		||||
		computed,
 | 
			
		||||
		ref,
 | 
			
		||||
		reactive,
 | 
			
		||||
	} from 'vue';
 | 
			
		||||
	import {
 | 
			
		||||
		onLoad,
 | 
			
		||||
		onShow,
 | 
			
		||||
		onPageScroll,
 | 
			
		||||
		onPullDownRefresh,
 | 
			
		||||
		onReachBottom
 | 
			
		||||
	} from '@dcloudio/uni-app';
 | 
			
		||||
	import {
 | 
			
		||||
		consignee,
 | 
			
		||||
		mobile,
 | 
			
		||||
		address,
 | 
			
		||||
		region
 | 
			
		||||
	} from '@/sheep/validate/form';
 | 
			
		||||
	import rent from '../../sheep/api/rent';
 | 
			
		||||
	import sheep from '@/sheep';
 | 
			
		||||
 | 
			
		||||
	const listQuery = ref({
 | 
			
		||||
		page: 1,
 | 
			
		||||
		limit: 10,
 | 
			
		||||
		addrLatitude: null,
 | 
			
		||||
		addrLongitude: null,
 | 
			
		||||
		address: null,
 | 
			
		||||
		address1: null,
 | 
			
		||||
		categoryId: null,
 | 
			
		||||
		tags: '',
 | 
			
		||||
		area: null,
 | 
			
		||||
		city: null,
 | 
			
		||||
		district: null,
 | 
			
		||||
		keywords:null,
 | 
			
		||||
 | 
			
		||||
		// district: '',
 | 
			
		||||
	})
 | 
			
		||||
	const dictLabel = ref(null)
 | 
			
		||||
	const tagList = ref([])
 | 
			
		||||
 | 
			
		||||
	onLoad(() => {
 | 
			
		||||
		getList();
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	onShow(() => {})
 | 
			
		||||
	
 | 
			
		||||
	// 数据
 | 
			
		||||
	const pagination = {
 | 
			
		||||
	  data: [],
 | 
			
		||||
	  current_page: 1,
 | 
			
		||||
	  total: 1,
 | 
			
		||||
	  last_page: 1,
 | 
			
		||||
	};
 | 
			
		||||
	
 | 
			
		||||
	const state = reactive({
 | 
			
		||||
		showRegion: false,
 | 
			
		||||
		model: {
 | 
			
		||||
			consignee: '',
 | 
			
		||||
			mobile: '',
 | 
			
		||||
			address: '',
 | 
			
		||||
			is_default: false,
 | 
			
		||||
			region: '',
 | 
			
		||||
		},
 | 
			
		||||
		rules: {
 | 
			
		||||
			consignee,
 | 
			
		||||
			mobile,
 | 
			
		||||
			address,
 | 
			
		||||
			region,
 | 
			
		||||
		},
 | 
			
		||||
		currentTab: 0,
 | 
			
		||||
		pagination: {
 | 
			
		||||
		  data: [],
 | 
			
		||||
		  current_page: 1,
 | 
			
		||||
		  total: 1,
 | 
			
		||||
		  last_page: 1,
 | 
			
		||||
		},
 | 
			
		||||
		loadStatus: '',
 | 
			
		||||
		type: '',
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	const proCity = ref(''); //省市页面显示
 | 
			
		||||
 | 
			
		||||
	function searchRent() {
 | 
			
		||||
		console.log('搜索');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	const onRegionConfirm = (e) => {
 | 
			
		||||
		console.log('onRegionConfirm', e);
 | 
			
		||||
 | 
			
		||||
		state.model = {
 | 
			
		||||
			...state.model,
 | 
			
		||||
			...e,
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		proCity.value = state.model.province_name + " " + state.model.city_name
 | 
			
		||||
 | 
			
		||||
		console.log('onRegionConfirm33', state.model, proCity.value);
 | 
			
		||||
		state.showRegion = false;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	/* 标签 */
 | 
			
		||||
	// const getTagList = () => {
 | 
			
		||||
	// 	const obj = [{
 | 
			
		||||
	// 		dictLabel:'全部',
 | 
			
		||||
	// 		dictCode:''
 | 
			
		||||
	// 	}]
 | 
			
		||||
	// 	getTag(listQuery.value).then(res => {
 | 
			
		||||
	// 		tagList.value = obj.concat(res.data)
 | 
			
		||||
	// 		total.value = res.total
 | 
			
		||||
	// 	})
 | 
			
		||||
	// }
 | 
			
		||||
 | 
			
		||||
	/**选择标签 */
 | 
			
		||||
	// function onChangeTag(e) {
 | 
			
		||||
	// 	const value = e.detail.value;
 | 
			
		||||
	// 	listQuery.value.tags = tagList.value[e.detail.value].dictLabel;
 | 
			
		||||
	// 	dictLabel.value = tagList.value[e.detail.value].dictLabel;
 | 
			
		||||
	// 	console.log('标签',listQuery.value);
 | 
			
		||||
	// 	getList(listQuery.value);
 | 
			
		||||
 | 
			
		||||
	// }
 | 
			
		||||
 | 
			
		||||
	const rentList = ref([])
 | 
			
		||||
	//招租列表
 | 
			
		||||
	async function getList() {
 | 
			
		||||
		// state.loadStatus = 'loading';
 | 
			
		||||
		let res = await sheep.$api.rent.rentlist({
 | 
			
		||||
			keywords: listQuery.keywords,
 | 
			
		||||
			page:listQuery.page,
 | 
			
		||||
			limit: listQuery.limit,
 | 
			
		||||
			my:1,
 | 
			
		||||
			order:'normal',
 | 
			
		||||
			status:1,
 | 
			
		||||
		});
 | 
			
		||||
		console.log('getList',res);
 | 
			
		||||
		if (res.code === 1) {
 | 
			
		||||
			rentList.value = res.data.list
 | 
			
		||||
			for(let i = 0;i<rentList.value.length;i++) {
 | 
			
		||||
				 rentList.value[i].release_time_text = rentList.value[i].release_time_text.split(' ')[0]
 | 
			
		||||
			}
 | 
			
		||||
			console.log('rentList', rentList.value);
 | 
			
		||||
		}
 | 
			
		||||
		// if (state.pagination.current_page < state.pagination.last_page) {
 | 
			
		||||
		//   state.loadStatus = 'more';
 | 
			
		||||
		// } else {
 | 
			
		||||
		//   state.loadStatus = 'noMore';
 | 
			
		||||
		// }
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	// 加载更多
 | 
			
		||||
	function loadmore() {
 | 
			
		||||
	  if (state.loadStatus !== 'noMore') {
 | 
			
		||||
	    if (state.currentTab == 0) {
 | 
			
		||||
	      getList(state.pagination.current_page + 1);
 | 
			
		||||
	    } else {
 | 
			
		||||
	      getList(state.pagination.current_page + 1);
 | 
			
		||||
	    }
 | 
			
		||||
	  }
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	onReachBottom(() => {
 | 
			
		||||
	  // loadmore();
 | 
			
		||||
	});
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
	.search-result {
 | 
			
		||||
		padding-top: 10px;
 | 
			
		||||
		padding-bottom: 20px;
 | 
			
		||||
		text-align: center;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	.search-result-text {
 | 
			
		||||
		text-align: center;
 | 
			
		||||
		font-size: 14px;
 | 
			
		||||
		color: #666;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	.example-body {
 | 
			
		||||
		/* #ifndef APP-NVUE */
 | 
			
		||||
		display: block;
 | 
			
		||||
		/* #endif */
 | 
			
		||||
		padding: 0px;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	.uni-mt-10 {
 | 
			
		||||
		margin-top: 10px;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	.title2 {
 | 
			
		||||
		color: #3d3d3d;
 | 
			
		||||
		font-size: 30rpx;
 | 
			
		||||
		font-weight: 800;
 | 
			
		||||
		line-height: 42rpx;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	.title3 {
 | 
			
		||||
		font-size: 20rpx;
 | 
			
		||||
		font-weight: 400;
 | 
			
		||||
		color: #999999;
 | 
			
		||||
		line-height: 22rpx;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	.container {
 | 
			
		||||
		width: 100%;
 | 
			
		||||
		height: 100%;
 | 
			
		||||
 | 
			
		||||
		.top {
 | 
			
		||||
			width: 100%;
 | 
			
		||||
			height: 80rpx;
 | 
			
		||||
			background-color: #ffffff;
 | 
			
		||||
			// background-image: url('https://jiangxiaoxian.0rui.cn/topBack.png');
 | 
			
		||||
			background-size: 100%;
 | 
			
		||||
			padding: 20rpx 30rpx;
 | 
			
		||||
			display: grid;
 | 
			
		||||
 | 
			
		||||
			.locTop {
 | 
			
		||||
				width: 96%;
 | 
			
		||||
				height: 70rpx;
 | 
			
		||||
				display: flex;
 | 
			
		||||
				// justify-content: space-between;
 | 
			
		||||
				align-items: center;
 | 
			
		||||
 | 
			
		||||
				.locTop-left {
 | 
			
		||||
					position: absolute;
 | 
			
		||||
					right: 5%;
 | 
			
		||||
					width: 176rpx auto;
 | 
			
		||||
					display: flex;
 | 
			
		||||
					align-items: center;
 | 
			
		||||
					justify-content: space-between;
 | 
			
		||||
					margin-right: 20rpx;
 | 
			
		||||
 | 
			
		||||
					.locTop-left-left {
 | 
			
		||||
						width: 176rpx auto;
 | 
			
		||||
						display: flex;
 | 
			
		||||
						align-items: center;
 | 
			
		||||
						justify-content: flex-start;
 | 
			
		||||
						margin-right: 20rpx;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				.locTop-right {
 | 
			
		||||
					width: 406rpx;
 | 
			
		||||
					height: 70rpx;
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		.recommend-box {
 | 
			
		||||
			margin-top: 30rpx;
 | 
			
		||||
			padding: 0rpx 30rpx;
 | 
			
		||||
 | 
			
		||||
			.rrecommList {
 | 
			
		||||
				// margin: 0 auto;
 | 
			
		||||
				// margin-top: 30rpx;
 | 
			
		||||
				// padding: 30rpx;
 | 
			
		||||
 | 
			
		||||
				.reListItem {
 | 
			
		||||
					background-color: #ffffff;
 | 
			
		||||
					width: 640rpx;
 | 
			
		||||
					height: 190rpx;
 | 
			
		||||
					padding: 30rpx;
 | 
			
		||||
					display: flex;
 | 
			
		||||
					justify-content: flex-start;
 | 
			
		||||
					align-items: center;
 | 
			
		||||
					border-radius: 18rpx;
 | 
			
		||||
 | 
			
		||||
					.listItem-images {
 | 
			
		||||
						display: grid;
 | 
			
		||||
						justify-content: flex-start;
 | 
			
		||||
 | 
			
		||||
						.iamges-mainImg {
 | 
			
		||||
							width: 190rpx;
 | 
			
		||||
							height: 190rpx;
 | 
			
		||||
							position: relative;
 | 
			
		||||
							right: 0rpx;
 | 
			
		||||
							bottom: 18rpx;
 | 
			
		||||
							z-index: 1;
 | 
			
		||||
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					.listItem-contents {
 | 
			
		||||
						margin-left: 20rpx;
 | 
			
		||||
 | 
			
		||||
						.cons-third {
 | 
			
		||||
							margin-top: 20rpx;
 | 
			
		||||
							display: flex;
 | 
			
		||||
							justify-content: space-between;
 | 
			
		||||
							align-items: center;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
</style>
 | 
			
		||||
@ -7,10 +7,10 @@
 | 
			
		||||
				<view class="top">
 | 
			
		||||
					<!-- 顶部-地址&搜索 -->
 | 
			
		||||
					<view class="locTop">
 | 
			
		||||
						<view class="locTop-left">
 | 
			
		||||
						<view class="locTop-left" @click="state.showRegion = true">
 | 
			
		||||
							<image style="width: 34rpx;height: 34rpx;"
 | 
			
		||||
								src="https://jiangxiaoxian.0rui.cn/locationTop.png" mode=""></image>
 | 
			
		||||
							<view style="margin-left: 10rpx;font-size: 30rpx;font-weight: 800;line-height: 26rpx;">全国
 | 
			
		||||
							<view style="margin-left: 10rpx;font-size: 30rpx;font-weight: 800;line-height: 26rpx;">{{state.model.city_name ? proCity:'全国' }}
 | 
			
		||||
							</view>
 | 
			
		||||
						</view>
 | 
			
		||||
						<view class="locTop-right">
 | 
			
		||||
@ -24,12 +24,12 @@
 | 
			
		||||
 | 
			
		||||
					<!-- 顶部-三个内容跳转 -->
 | 
			
		||||
					<view class="navTop">
 | 
			
		||||
						<view class="navTop-left">
 | 
			
		||||
						<view class="navTop-left" @click="toPage('/pages/canteenRent/rentList')">
 | 
			
		||||
							<view class="title" style="">食堂招租</view>
 | 
			
		||||
							<view class="intro" style="color: #f42b2b;margin-top: 20rpx;">味揽商机 食载未来</view>
 | 
			
		||||
						</view>
 | 
			
		||||
						<view class="navTop-right">
 | 
			
		||||
							<view class="navRight1">
 | 
			
		||||
							<view class="navRight1" @click="toPage('/pages/school/schoolIndex')">
 | 
			
		||||
								<view class="title" style="">平台学院</view>
 | 
			
		||||
								<view class="intro" style="color: #05b0b0;margin-top: 20rpx;">学知赋能成长</view>
 | 
			
		||||
							</view>
 | 
			
		||||
@ -110,7 +110,15 @@
 | 
			
		||||
				</view>
 | 
			
		||||
 | 
			
		||||
			</view>
 | 
			
		||||
 | 
			
		||||
			
 | 
			
		||||
			
 | 
			
		||||
			<!-- 省市区弹窗 -->
 | 
			
		||||
			<su-regionCity-picker
 | 
			
		||||
			  :show="state.showRegion"
 | 
			
		||||
			  @cancel="state.showRegion = false"
 | 
			
		||||
			  @confirm="onRegionConfirm"
 | 
			
		||||
			>
 | 
			
		||||
			</su-regionCity-picker>
 | 
			
		||||
 | 
			
		||||
		</s-layout>
 | 
			
		||||
	</view>
 | 
			
		||||
@ -119,7 +127,8 @@
 | 
			
		||||
<script setup>
 | 
			
		||||
	import {
 | 
			
		||||
		computed,
 | 
			
		||||
		ref
 | 
			
		||||
		ref,
 | 
			
		||||
		reactive,
 | 
			
		||||
	} from 'vue';
 | 
			
		||||
	import {
 | 
			
		||||
		onLoad,
 | 
			
		||||
@ -128,6 +137,7 @@
 | 
			
		||||
	} from '@dcloudio/uni-app';
 | 
			
		||||
	import sheep from '@/sheep';
 | 
			
		||||
	import $share from '@/sheep/platform/share';
 | 
			
		||||
	import { consignee, mobile, address, region } from '@/sheep/validate/form';
 | 
			
		||||
 | 
			
		||||
	// 隐藏原生tabBar
 | 
			
		||||
	uni.hideTabBar({
 | 
			
		||||
@ -137,6 +147,41 @@
 | 
			
		||||
	const template = computed(() => sheep.$store('app').template?.home);
 | 
			
		||||
	const isLogin = computed(() => sheep.$store('user').isLogin);
 | 
			
		||||
	const qualification = ref(false)
 | 
			
		||||
	
 | 
			
		||||
	const state = reactive({
 | 
			
		||||
	  showRegion: false,
 | 
			
		||||
	  model: {
 | 
			
		||||
	    consignee: '',
 | 
			
		||||
	    mobile: '',
 | 
			
		||||
	    address: '',
 | 
			
		||||
	    is_default: false,
 | 
			
		||||
	    region: '',
 | 
			
		||||
	  },
 | 
			
		||||
	  rules: {
 | 
			
		||||
	    consignee,
 | 
			
		||||
	    mobile,
 | 
			
		||||
	    address,
 | 
			
		||||
	    region,
 | 
			
		||||
	  },
 | 
			
		||||
	});
 | 
			
		||||
	
 | 
			
		||||
	const proCity = ref('')
 | 
			
		||||
	
 | 
			
		||||
	const onRegionConfirm = (e) => {
 | 
			
		||||
		console.log('onRegionConfirm',e);
 | 
			
		||||
		
 | 
			
		||||
	  state.model = {
 | 
			
		||||
	    ...state.model,
 | 
			
		||||
	    ...e,
 | 
			
		||||
	  };
 | 
			
		||||
	  
 | 
			
		||||
	  proCity.value = state.model.province_name + " " + state.model.city_name 
 | 
			
		||||
	  
 | 
			
		||||
	  console.log('onRegionConfirm33',state.model,proCity.value);
 | 
			
		||||
	  state.showRegion = false;
 | 
			
		||||
	};
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	onLoad((options) => {
 | 
			
		||||
		// #ifdef MP
 | 
			
		||||
@ -179,7 +224,6 @@
 | 
			
		||||
			uni.navigateTo({
 | 
			
		||||
				url: e
 | 
			
		||||
			})
 | 
			
		||||
			qualification.value = true;
 | 
			
		||||
		}else{
 | 
			
		||||
			
 | 
			
		||||
			uni.showToast({
 | 
			
		||||
@ -195,20 +239,8 @@
 | 
			
		||||
			}, 2000);
 | 
			
		||||
			
 | 
			
		||||
		}
 | 
			
		||||
		// uni.navigateTo({
 | 
			
		||||
		// 	url:'/packageA/search/index'
 | 
			
		||||
		// })
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	function haveQualification() {
 | 
			
		||||
		console.log('qualification',isLogin.value);
 | 
			
		||||
		if(isLogin.value == true) {
 | 
			
		||||
			qualification.value = true;
 | 
			
		||||
		}else{
 | 
			
		||||
			qualification.value = true;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
 | 
			
		||||
@ -28,7 +28,7 @@
 | 
			
		||||
							</view>
 | 
			
		||||
							<view class="fs-28 weight4" style="margin-top: 30rpx;">剩余拨打次数: {{ userInfo.mobile_num ? userInfo.mobile_num : 0 }}次</view>
 | 
			
		||||
						</view>
 | 
			
		||||
						<view class="head-signInBox">
 | 
			
		||||
						<view class="head-signInBox" @click="toPage('/pages/app/sign')">
 | 
			
		||||
							<image style="width: 46rpx;height: 44rpx;" src="https://jiangxiaoxian.0rui.cn/signIn.png"
 | 
			
		||||
								mode=""></image>
 | 
			
		||||
							<view class="signInText" style="margin-left: 10rpx;">签到</view>
 | 
			
		||||
@ -38,19 +38,19 @@
 | 
			
		||||
 | 
			
		||||
					<!-- 四个主内容 -->
 | 
			
		||||
					<view class="head-secondBox">
 | 
			
		||||
						<view class="collect">
 | 
			
		||||
						<view class="collect" @click="toPage('/pages/user/goods-collect')">
 | 
			
		||||
							<view class="collect-num">14</view>
 | 
			
		||||
							<view class="collect-text">收藏</view>
 | 
			
		||||
						</view>
 | 
			
		||||
						<view class="feetPrint">
 | 
			
		||||
						<view class="feetPrint" @click="toPage('/pages/user/goods-log')">
 | 
			
		||||
							<view class="feetPrint-num">14</view>
 | 
			
		||||
							<view class="feetPrint-text">足迹</view>
 | 
			
		||||
						</view>
 | 
			
		||||
						<view class="feetPrint">
 | 
			
		||||
						<view class="feetPrint" @click="toPage('/pages/user/wallet/score')">
 | 
			
		||||
							<view class="feetPrint-num">{{ userInfo.score ? userInfo.score : 0 }}</view>
 | 
			
		||||
							<view class="feetPrint-text">积分</view>
 | 
			
		||||
						</view>
 | 
			
		||||
						<view class="collect">
 | 
			
		||||
						<view class="collect" @click="toPage('/pages/coupon/list')">
 | 
			
		||||
							<view class="collect-num">14</view>
 | 
			
		||||
							<view class="collect-text">优惠券</view>
 | 
			
		||||
						</view>
 | 
			
		||||
@ -59,7 +59,7 @@
 | 
			
		||||
 | 
			
		||||
				<!-- 我的订单 -->
 | 
			
		||||
				<view class="myOrder">
 | 
			
		||||
					<view class="myOrder-first">
 | 
			
		||||
					<view class="myOrder-first" @click="toPage('/pages/order/list')">
 | 
			
		||||
						<view style="font-weight: 800;font-size: 34rpx;line-height: 28rpx;color: #3d3d3d;">我的订单</view>
 | 
			
		||||
						<view style="display: flex;align-items: center;justify-content: center;">
 | 
			
		||||
							<view style="font-size: 26rpx;line-height: 26rpx;font-weight: 400;color: #999999;">全部订单
 | 
			
		||||
@ -70,19 +70,19 @@
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
					<view class="myOrder-second">
 | 
			
		||||
						<view class="pendingBox">
 | 
			
		||||
						<view class="pendingBox" @click="toPage('/pages/order/list')">
 | 
			
		||||
							<image class="pendImg" src="https://jiangxiaoxian.0rui.cn/pendPay.png"></image>
 | 
			
		||||
							<view class="fs-28 weight4" style="margin-top: 20rpx;color: #3d3d3d;">待支付</view>
 | 
			
		||||
						</view>
 | 
			
		||||
						<view class="pendingBox">
 | 
			
		||||
						<view class="pendingBox" @click="toPage('/pages/order/list')">
 | 
			
		||||
							<image class="pendImg" src="https://jiangxiaoxian.0rui.cn/shipment.png"></image>
 | 
			
		||||
							<view class="fs-28 weight4" style="margin-top: 20rpx;color: #3d3d3d;">待发货</view>
 | 
			
		||||
						</view>
 | 
			
		||||
						<view class="pendingBox">
 | 
			
		||||
						<view class="pendingBox" @click="toPage('/pages/order/list')">
 | 
			
		||||
							<image class="pendImg" src="https://jiangxiaoxian.0rui.cn/pendingDoods.png"></image>
 | 
			
		||||
							<view class="fs-28 weight4" style="margin-top: 20rpx;color: #3d3d3d;">待收货</view>
 | 
			
		||||
						</view>
 | 
			
		||||
						<view class="pendingBox">
 | 
			
		||||
						<view class="pendingBox" @click="toPage('/pages/order/list')">
 | 
			
		||||
							<image class="pendImg" src="https://jiangxiaoxian.0rui.cn/completed.png"></image>
 | 
			
		||||
							<view class="fs-28 weight4" style="margin-top: 20rpx;color: #3d3d3d;">已完成</view>
 | 
			
		||||
						</view>
 | 
			
		||||
@ -91,8 +91,9 @@
 | 
			
		||||
 | 
			
		||||
				<!-- 发布分享等 -->
 | 
			
		||||
				<view class="sixBox">
 | 
			
		||||
					<view class="fabuBox">
 | 
			
		||||
						<view class="flex align-items">
 | 
			
		||||
					<!-- 我的发布 -->
 | 
			
		||||
					<view class="fabuBox" @click="toPage('/pages/user/myRelease/list')">
 | 
			
		||||
						<view class="flex align-items" >
 | 
			
		||||
							<image style="width: 36rpx;height: 36rpx;margin-right: 20rpx;"
 | 
			
		||||
								src="https://jiangxiaoxian.0rui.cn/myRelease.png"></image>
 | 
			
		||||
							<view style="font-size: 30rpx;font-weight: 800;line-height: 28rpx;color: #333333;">我的发布
 | 
			
		||||
@ -102,8 +103,8 @@
 | 
			
		||||
							src="https://jiangxiaoxian.0rui.cn/rightMore.png" mode=""></image>
 | 
			
		||||
					</view>
 | 
			
		||||
					<view class="line-row" style="margin: 30rpx 0;"></view>
 | 
			
		||||
 | 
			
		||||
					<view class="fabuBox">
 | 
			
		||||
					<!-- 积分商城 -->
 | 
			
		||||
					<view class="fabuBox" @click="toPage('/pages/app/score-shop')">
 | 
			
		||||
						<view class="flex align-items">
 | 
			
		||||
							<image style="width: 36rpx;height: 36rpx;margin-right: 20rpx;"
 | 
			
		||||
								src="https://jiangxiaoxian.0rui.cn/points.png"></image>
 | 
			
		||||
@ -114,7 +115,7 @@
 | 
			
		||||
							src="https://jiangxiaoxian.0rui.cn/rightMore.png" mode=""></image>
 | 
			
		||||
					</view>
 | 
			
		||||
					<view class="line-row" style="margin: 30rpx 0;"></view>
 | 
			
		||||
 | 
			
		||||
					<!-- 分享好友 -->
 | 
			
		||||
					<view class="fabuBox">
 | 
			
		||||
						<view class="flex align-items">
 | 
			
		||||
							<image style="width: 36rpx;height: 36rpx;margin-right: 20rpx;"
 | 
			
		||||
@ -126,8 +127,8 @@
 | 
			
		||||
							src="https://jiangxiaoxian.0rui.cn/rightMore.png" mode=""></image>
 | 
			
		||||
					</view>
 | 
			
		||||
					<view class="line-row" style="margin: 30rpx 0;"></view>
 | 
			
		||||
 | 
			
		||||
					<view class="fabuBox">
 | 
			
		||||
					<!-- 官方客服 -->
 | 
			
		||||
					<view class="fabuBox" @click="toPage('/pages/chat/index')">
 | 
			
		||||
						<view class="flex align-items">
 | 
			
		||||
							<image style="width: 36rpx;height: 36rpx;margin-right: 20rpx;"
 | 
			
		||||
								src="https://jiangxiaoxian.0rui.cn/service.png"></image>
 | 
			
		||||
@ -138,8 +139,8 @@
 | 
			
		||||
							src="https://jiangxiaoxian.0rui.cn/rightMore.png" mode=""></image>
 | 
			
		||||
					</view>
 | 
			
		||||
					<view class="line-row" style="margin: 30rpx 0;"></view>
 | 
			
		||||
 | 
			
		||||
					<view class="fabuBox">
 | 
			
		||||
					<!-- 意见反馈 -->
 | 
			
		||||
					<view class="fabuBox" @click="toPage('/pages/public/feedBack')">
 | 
			
		||||
						<view class="flex align-items">
 | 
			
		||||
							<image style="width: 36rpx;height: 36rpx;margin-right: 20rpx;"
 | 
			
		||||
								src="https://jiangxiaoxian.0rui.cn/feedBack.png"></image>
 | 
			
		||||
@ -150,7 +151,7 @@
 | 
			
		||||
							src="https://jiangxiaoxian.0rui.cn/rightMore.png" mode=""></image>
 | 
			
		||||
					</view>
 | 
			
		||||
					<view class="line-row" style="margin: 30rpx 0;"></view>
 | 
			
		||||
 | 
			
		||||
					<!-- 设置 -->
 | 
			
		||||
					<view class="fabuBox" @click="toSetting">
 | 
			
		||||
						<view class="flex align-items">
 | 
			
		||||
							<image style="width: 36rpx;height: 36rpx;margin-right: 20rpx;"
 | 
			
		||||
@ -327,6 +328,28 @@
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	//页面跳转
 | 
			
		||||
	const toPage = (e) => {
 | 
			
		||||
		if(isLogin.value == true) {
 | 
			
		||||
			uni.navigateTo({
 | 
			
		||||
				url: e
 | 
			
		||||
			})
 | 
			
		||||
		}else{
 | 
			
		||||
			uni.showToast({
 | 
			
		||||
				title: '请先登录',
 | 
			
		||||
				icon: 'none',
 | 
			
		||||
				duration: 2000
 | 
			
		||||
			})
 | 
			
		||||
			
 | 
			
		||||
			// setTimeout(function() {
 | 
			
		||||
			// 	uni.switchTab({
 | 
			
		||||
			// 		url: '/pages/index/user'
 | 
			
		||||
			// 	})
 | 
			
		||||
			// }, 2000);
 | 
			
		||||
			
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										178
									
								
								pages/school/schoolIndex.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										178
									
								
								pages/school/schoolIndex.vue
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,178 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<s-layout title="平台学院">
 | 
			
		||||
		<view class="container">
 | 
			
		||||
			<!-- 顶部 -->
 | 
			
		||||
			<view class="top">
 | 
			
		||||
				<!-- 顶部-地址&搜索 -->
 | 
			
		||||
				<view class="locTop">
 | 
			
		||||
					<view class="locTop-right">
 | 
			
		||||
						<uni-section style="border-radius: 192rpx;padding: 0;" type="line">
 | 
			
		||||
							<uni-search-bar style="border-radius: 192rpx;" radius="23" placeholder="搜索您需要的信息"
 | 
			
		||||
								bgColor="#EEEEEE" clearButton="none" cancelButton="none" @confirm="searchRent" @blur="searchRent1"/>
 | 
			
		||||
						</uni-section>
 | 
			
		||||
						<!-- <uni-search-bar></uni-search-bar> @confirm="search"-->
 | 
			
		||||
					</view>
 | 
			
		||||
					
 | 
			
		||||
				</view>
 | 
			
		||||
			
 | 
			
		||||
				
 | 
			
		||||
			</view>
 | 
			
		||||
			
 | 
			
		||||
			<!-- 推荐列表 -->
 | 
			
		||||
			<view class="recommend-box">
 | 
			
		||||
				<view class="rrecommList">
 | 
			
		||||
					<view class="reListItem">
 | 
			
		||||
						<!-- 左侧图片 -->
 | 
			
		||||
						<view class="listItem-images">
 | 
			
		||||
							<image style="width: 77rpx;height: 36rpx;z-index: 100;position: relative;top: 34rpx;left: 0rpx;"
 | 
			
		||||
								src="https://jiangxiaoxian.0rui.cn/hot.png"></image>
 | 
			
		||||
							<image class="iamges-mainImg" src="https://jiangxiaoxian.0rui.cn/model.png"></image>
 | 
			
		||||
						</view>
 | 
			
		||||
						<!-- 右侧内容 -->
 | 
			
		||||
						<view class="listItem-contents">
 | 
			
		||||
							<view class="title2" style="margin-bottom: 20rpx;">食堂餐厅外包]洛阳某本科食堂新装修</view>
 | 
			
		||||
							<view class="">标签</view>
 | 
			
		||||
							<view class="cons-third">
 | 
			
		||||
								<view style="display: flex;">
 | 
			
		||||
									<image style="width: 24rpx;height: 24rpx;"
 | 
			
		||||
										src="https://jiangxiaoxian.0rui.cn/locationList.png"></image>
 | 
			
		||||
									<view class="title3" style="margin-left: 10rpx;">河南省洛阳市</view>
 | 
			
		||||
								</view>
 | 
			
		||||
								<view class="title3">2025-07-24</view>
 | 
			
		||||
								<view style="display: flex;">
 | 
			
		||||
									<image style="width: 26rpx;height: 20rpx;"
 | 
			
		||||
										src="https://jiangxiaoxian.0rui.cn/eye.png"></image>
 | 
			
		||||
									<view class="title3" style="margin-left: 10rpx;">11400</view>
 | 
			
		||||
								</view>
 | 
			
		||||
							</view>
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
				</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			
 | 
			
		||||
		</view>
 | 
			
		||||
	</s-layout>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup>
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
	.search-result {
 | 
			
		||||
		padding-top: 10px;
 | 
			
		||||
		padding-bottom: 20px;
 | 
			
		||||
		text-align: center;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	.search-result-text {
 | 
			
		||||
		text-align: center;
 | 
			
		||||
		font-size: 14px;
 | 
			
		||||
		color: #666;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	.example-body {
 | 
			
		||||
		/* #ifndef APP-NVUE */
 | 
			
		||||
		display: block;
 | 
			
		||||
		/* #endif */
 | 
			
		||||
		padding: 0px;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	.uni-mt-10 {
 | 
			
		||||
		margin-top: 10px;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	.title2 {
 | 
			
		||||
		color: #3d3d3d;
 | 
			
		||||
		font-size: 30rpx;
 | 
			
		||||
		font-weight: 800;
 | 
			
		||||
		line-height: 42rpx;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	.title3 {
 | 
			
		||||
		font-size: 20rpx;
 | 
			
		||||
		font-weight: 400;
 | 
			
		||||
		color: #999999;
 | 
			
		||||
		line-height: 22rpx;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	.container {
 | 
			
		||||
		width: 100%;
 | 
			
		||||
		height: 100%;
 | 
			
		||||
		
 | 
			
		||||
		.top {
 | 
			
		||||
			width: 100%;
 | 
			
		||||
			height: 80rpx;
 | 
			
		||||
			background-color: #ffffff;
 | 
			
		||||
			// background-image: url('https://jiangxiaoxian.0rui.cn/topBack.png');
 | 
			
		||||
			background-size: 100%;
 | 
			
		||||
			padding: 30rpx ;
 | 
			
		||||
			display: grid;
 | 
			
		||||
		
 | 
			
		||||
			.locTop {
 | 
			
		||||
				width: 96%;
 | 
			
		||||
				height: 70rpx;
 | 
			
		||||
				display: flex;
 | 
			
		||||
				justify-content: space-between;
 | 
			
		||||
				// align-items: center;
 | 
			
		||||
				
 | 
			
		||||
				.locTop-right {
 | 
			
		||||
					width: 96%;
 | 
			
		||||
					height: 70rpx;
 | 
			
		||||
		
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		.recommend-box {
 | 
			
		||||
			margin-top: 30rpx;
 | 
			
		||||
			padding: 0rpx 30rpx;
 | 
			
		||||
		
 | 
			
		||||
			.rrecommList {
 | 
			
		||||
				// margin: 0 auto;
 | 
			
		||||
				// margin-top: 30rpx;
 | 
			
		||||
				// padding: 30rpx;
 | 
			
		||||
		
 | 
			
		||||
				.reListItem {
 | 
			
		||||
					background-color: #ffffff;
 | 
			
		||||
					width: 640rpx;
 | 
			
		||||
					height: 190rpx;
 | 
			
		||||
					padding: 30rpx;
 | 
			
		||||
					display: flex;
 | 
			
		||||
					justify-content: flex-start;
 | 
			
		||||
					align-items: center;
 | 
			
		||||
					border-radius: 18rpx;
 | 
			
		||||
		
 | 
			
		||||
					.listItem-images {
 | 
			
		||||
						display: grid;
 | 
			
		||||
						justify-content: flex-start;
 | 
			
		||||
		
 | 
			
		||||
						.iamges-mainImg {
 | 
			
		||||
							width: 190rpx;
 | 
			
		||||
							height: 190rpx;
 | 
			
		||||
							position: relative;
 | 
			
		||||
							right: 0rpx;
 | 
			
		||||
							bottom: 18rpx;
 | 
			
		||||
							z-index: 1;
 | 
			
		||||
		
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
					
 | 
			
		||||
					.listItem-contents {
 | 
			
		||||
						margin-left: 20rpx;
 | 
			
		||||
						
 | 
			
		||||
						.cons-third {
 | 
			
		||||
							margin-top: 20rpx;
 | 
			
		||||
							display: flex;
 | 
			
		||||
							justify-content: space-around;
 | 
			
		||||
							align-items: center;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
		
 | 
			
		||||
			}
 | 
			
		||||
		
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
	}
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										9
									
								
								pages/user/myRelease/list.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								pages/user/myRelease/list.vue
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<s-layout title="我的发布"></s-layout>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style>
 | 
			
		||||
</style>
 | 
			
		||||
@ -12,6 +12,7 @@ import pay from "./pay"
 | 
			
		||||
import third from "./third"
 | 
			
		||||
import trade from "./trade"
 | 
			
		||||
import user from "./user"
 | 
			
		||||
import rent from "./rent"
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  activity,
 | 
			
		||||
@ -28,5 +29,6 @@ export default {
 | 
			
		||||
  third,
 | 
			
		||||
  trade,
 | 
			
		||||
  user,
 | 
			
		||||
  rent,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										34
									
								
								sheep/api/rent.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								sheep/api/rent.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
			
		||||
import request from '@/sheep/request';
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
	// 招租列表
 | 
			
		||||
	rentlist: (params) =>
 | 
			
		||||
		request({
 | 
			
		||||
			url: 'meal.information/information_list',
 | 
			
		||||
			method: 'GET',
 | 
			
		||||
			params,
 | 
			
		||||
			custom: {
 | 
			
		||||
				showLoading: false,
 | 
			
		||||
			},
 | 
			
		||||
		}),
 | 
			
		||||
	// 标签列表
 | 
			
		||||
	tagsList: (params) =>
 | 
			
		||||
		request({
 | 
			
		||||
			url: 'meal.information/cate_list',
 | 
			
		||||
			method: 'GET',
 | 
			
		||||
			params,
 | 
			
		||||
			custom: {
 | 
			
		||||
				showLoading: false,
 | 
			
		||||
			},
 | 
			
		||||
		}),
 | 
			
		||||
	// detail: (id, user_coupon_id) =>
 | 
			
		||||
	//   request({
 | 
			
		||||
	//     url: 'coupon/detail',
 | 
			
		||||
	//     method: 'GET',
 | 
			
		||||
	//     params: {
 | 
			
		||||
	//       id: id,
 | 
			
		||||
	//       user_coupon_id,
 | 
			
		||||
	//     },
 | 
			
		||||
	//   }),
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										262
									
								
								sheep/ui/su-regionCity-picker/su-regionCity-picker.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										262
									
								
								sheep/ui/su-regionCity-picker/su-regionCity-picker.vue
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,262 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <su-popup :show="show" @close="onCancel" round="20">
 | 
			
		||||
    <view class="ui-regionCity-picker">
 | 
			
		||||
      <su-toolbar
 | 
			
		||||
        :cancelColor="cancelColor"
 | 
			
		||||
        :confirmColor="confirmColor"
 | 
			
		||||
        :cancelText="cancelText"
 | 
			
		||||
        :confirmText="confirmText"
 | 
			
		||||
        title="选择区域"
 | 
			
		||||
        @cancel="onCancel"
 | 
			
		||||
        @confirm="onConfirm('confirm')"
 | 
			
		||||
      ></su-toolbar>
 | 
			
		||||
      <view class="ui-picker-body">
 | 
			
		||||
        <picker-view
 | 
			
		||||
          :value="state.currentIndex"
 | 
			
		||||
          @change="change"
 | 
			
		||||
          class="ui-picker-view"
 | 
			
		||||
          @pickstart="pickstart"
 | 
			
		||||
          @pickend="pickend"
 | 
			
		||||
        >
 | 
			
		||||
          <picker-view-column>
 | 
			
		||||
            <view class="ui-column-item" v-for="province in provinceList" :key="province.id">
 | 
			
		||||
              <view :style="getSizeByNameLength(province.name)">{{ province.name }}</view>
 | 
			
		||||
            </view>
 | 
			
		||||
          </picker-view-column>
 | 
			
		||||
          <picker-view-column>
 | 
			
		||||
            <view class="ui-column-item" v-for="city in cityList" :key="city.id">
 | 
			
		||||
              <view :style="getSizeByNameLength(city.name)">{{ city.name }}</view>
 | 
			
		||||
            </view>
 | 
			
		||||
          </picker-view-column>
 | 
			
		||||
          <!-- <picker-view-column>
 | 
			
		||||
            <view class="ui-column-item" v-for="district in districtList" :key="district.id">
 | 
			
		||||
              <view :style="getSizeByNameLength(district.name)">{{ district.name }}</view>
 | 
			
		||||
            </view>
 | 
			
		||||
          </picker-view-column> -->
 | 
			
		||||
        </picker-view>
 | 
			
		||||
      </view>
 | 
			
		||||
    </view>
 | 
			
		||||
  </su-popup>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup>
 | 
			
		||||
  /**
 | 
			
		||||
   * picker picker弹出选择器
 | 
			
		||||
   * @property {Object} params 需要显示的参
 | 
			
		||||
   * @property {Boolean} safe-area-inset-bottom 是否开启底部安全区适配(默认false)
 | 
			
		||||
   * @property {Boolean} show-time-tag 时间模式时,是否显示后面的年月日中文提示
 | 
			
		||||
   * @property {String} cancel-color 取消按钮的颜色
 | 
			
		||||
   * @property {String} confirm-color 确认按钮的颜色
 | 
			
		||||
   * @property {String} confirm-text 确认按钮的文字
 | 
			
		||||
   * @property {String} cancel-text 取消按钮的文字
 | 
			
		||||
   * @property {String} default-region 默认选中的地区,
 | 
			
		||||
   * @property {String} default-code 默认选中的地区
 | 
			
		||||
   * @property {Boolean} mask-close-able 是否允许通过点击遮罩关闭Picker(默认true)
 | 
			
		||||
   * @property {String Number} z-index 弹出时的z-index值(默认1075)
 | 
			
		||||
   * @property {Array} default-selector 数组形式,其中每一项表示选择了range对应项中的第几个
 | 
			
		||||
   * @property {String} range-key 当range参数的元素为对象时,指定Object中的哪个key的值作为选择器显示内容
 | 
			
		||||
   * @event {Function} confirm 点击确定按钮,返回当前选择的值
 | 
			
		||||
   * @event {Function} cancel 点击取消按钮,返回当前选择的值
 | 
			
		||||
   */
 | 
			
		||||
  import { computed, reactive } from 'vue';
 | 
			
		||||
  const props = defineProps({
 | 
			
		||||
    show: {
 | 
			
		||||
      type: Boolean,
 | 
			
		||||
      default: false,
 | 
			
		||||
    },
 | 
			
		||||
    // "取消"按钮的颜色
 | 
			
		||||
    cancelColor: {
 | 
			
		||||
      type: String,
 | 
			
		||||
      default: '#6666',
 | 
			
		||||
    },
 | 
			
		||||
    // "确定"按钮的颜色
 | 
			
		||||
    confirmColor: {
 | 
			
		||||
      type: String,
 | 
			
		||||
      default: 'var(--ui-BG-Main)',
 | 
			
		||||
    },
 | 
			
		||||
    // 取消按钮的文字
 | 
			
		||||
    cancelText: {
 | 
			
		||||
      type: String,
 | 
			
		||||
      default: '取消',
 | 
			
		||||
    },
 | 
			
		||||
    // 确认按钮的文字
 | 
			
		||||
    confirmText: {
 | 
			
		||||
      type: String,
 | 
			
		||||
      default: '确认',
 | 
			
		||||
    },
 | 
			
		||||
  });
 | 
			
		||||
  // const areaData = uni.getStorageSync('areaData');
 | 
			
		||||
  const proFirst = [{
 | 
			
		||||
  	  children: [],
 | 
			
		||||
  	  id: '',
 | 
			
		||||
  	  level: "province",
 | 
			
		||||
  	  name: "全国",
 | 
			
		||||
  	  pid: 0
 | 
			
		||||
  }]
 | 
			
		||||
  const areaData = proFirst.concat(uni.getStorageSync('areaData'))
 | 
			
		||||
 | 
			
		||||
  const getSizeByNameLength = (name) => {
 | 
			
		||||
    let length = name.length;
 | 
			
		||||
    if (length <= 7) return '';
 | 
			
		||||
    if (length < 9) {
 | 
			
		||||
      return 'font-size:28rpx';
 | 
			
		||||
    } else {
 | 
			
		||||
      return 'font-size: 24rpx';
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
  const state = reactive({
 | 
			
		||||
    currentIndex: [0, 0, 0],
 | 
			
		||||
    moving: false, // 列是否还在滑动中,微信小程序如果在滑动中就点确定,结果可能不准确
 | 
			
		||||
  });
 | 
			
		||||
  const emits = defineEmits(['confirm', 'cancel', 'change']);
 | 
			
		||||
 | 
			
		||||
  const provinceList = areaData;
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  const cityList = computed(() => {
 | 
			
		||||
	  if(areaData[state.currentIndex[0]].name == '全部'){
 | 
			
		||||
		  return []
 | 
			
		||||
	  }else {
 | 
			
		||||
		return areaData[state.currentIndex[0]].children;
 | 
			
		||||
	  }
 | 
			
		||||
    
 | 
			
		||||
  });
 | 
			
		||||
  const districtList = computed(() => {
 | 
			
		||||
    return cityList.value[state.currentIndex[1]]?.children;
 | 
			
		||||
  });
 | 
			
		||||
  // 标识滑动开始,只有微信小程序才有这样的事件
 | 
			
		||||
  const pickstart = () => {
 | 
			
		||||
    // #ifdef MP-WEIXIN
 | 
			
		||||
    state.moving = true;
 | 
			
		||||
    // #endif
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  // 标识滑动结束
 | 
			
		||||
  const pickend = () => {
 | 
			
		||||
    // #ifdef MP-WEIXIN
 | 
			
		||||
    state.moving = false;
 | 
			
		||||
    // #endif
 | 
			
		||||
  };
 | 
			
		||||
  const init = () => {};
 | 
			
		||||
 | 
			
		||||
  const onCancel = () => {
 | 
			
		||||
    emits('cancel');
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  // 用户更改picker的列选项
 | 
			
		||||
  const change = (e) => {
 | 
			
		||||
    if (
 | 
			
		||||
      state.currentIndex[0] === e.detail.value[0] &&
 | 
			
		||||
      state.currentIndex[1] === e.detail.value[1]
 | 
			
		||||
    ) {
 | 
			
		||||
      // 不更改省市区列表
 | 
			
		||||
      state.currentIndex[2] = e.detail.value[2];
 | 
			
		||||
      return;
 | 
			
		||||
    } else {
 | 
			
		||||
      // 更改省市区列表
 | 
			
		||||
      if (state.currentIndex[0] !== e.detail.value[0]) {
 | 
			
		||||
        e.detail.value[1] = 0;
 | 
			
		||||
      }
 | 
			
		||||
      e.detail.value[2] = 0;
 | 
			
		||||
      state.currentIndex = e.detail.value;
 | 
			
		||||
    }
 | 
			
		||||
    emits('change', state.currentIndex);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  // 用户点击确定按钮
 | 
			
		||||
  const onConfirm = (event = null) => {
 | 
			
		||||
    // #ifdef MP-WEIXIN
 | 
			
		||||
    if (state.moving) return;
 | 
			
		||||
    // #endif
 | 
			
		||||
    let index = state.currentIndex;
 | 
			
		||||
    let province = provinceList[index[0]];
 | 
			
		||||
    let city = cityList.value[index[1]];
 | 
			
		||||
    // let district = districtList.value[index[2]];
 | 
			
		||||
    let result = {
 | 
			
		||||
      province_name: province.name,
 | 
			
		||||
      province_id: province.id,
 | 
			
		||||
      city_name: city.name,
 | 
			
		||||
      city_id: city.id,
 | 
			
		||||
      // district_name: district.name,
 | 
			
		||||
      // district_id: district.id,
 | 
			
		||||
    };
 | 
			
		||||
	
 | 
			
		||||
	console.log('su-regionCity-picker  result',result);
 | 
			
		||||
 | 
			
		||||
    if (event) emits(event, result);
 | 
			
		||||
  };
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
  .ui-regionCity-picker {
 | 
			
		||||
    position: relative;
 | 
			
		||||
    z-index: 999;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .ui-picker-view {
 | 
			
		||||
    height: 100%;
 | 
			
		||||
    box-sizing: border-box;
 | 
			
		||||
  }
 | 
			
		||||
  .ui-picker-header {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    height: 90rpx;
 | 
			
		||||
    padding: 0 40rpx;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    justify-content: space-between;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
    box-sizing: border-box;
 | 
			
		||||
    font-size: 30rpx;
 | 
			
		||||
    background: #fff;
 | 
			
		||||
    position: relative;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .ui-picker-header::after {
 | 
			
		||||
    content: '';
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    border-bottom: 1rpx solid #eaeef1;
 | 
			
		||||
    -webkit-transform: scaleY(0.5);
 | 
			
		||||
    transform: scaleY(0.5);
 | 
			
		||||
    bottom: 0;
 | 
			
		||||
    right: 0;
 | 
			
		||||
    left: 0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .ui-picker__title {
 | 
			
		||||
    color: #333;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .ui-picker-body {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    height: 500rpx;
 | 
			
		||||
    overflow: hidden;
 | 
			
		||||
    background-color: #fff;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .ui-column-item {
 | 
			
		||||
    display: flex;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
    justify-content: center;
 | 
			
		||||
    font-size: 32rpx;
 | 
			
		||||
    color: #333;
 | 
			
		||||
    padding: 0 8rpx;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .ui-btn-picker {
 | 
			
		||||
    padding: 16rpx;
 | 
			
		||||
    box-sizing: border-box;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    text-decoration: none;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .ui-opacity {
 | 
			
		||||
    opacity: 0.5;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .ui-btn-picker--primary {
 | 
			
		||||
    color: blue;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .ui-btn-picker--tips {
 | 
			
		||||
    color: red;
 | 
			
		||||
  }
 | 
			
		||||
</style>
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user