Compare commits

...

6 Commits

Author SHA1 Message Date
赵毅
17018a4e07 11 2025-08-12 16:34:57 +08:00
赵毅
0cab3dd853 修改主页的搜索框和热词的逻辑 2025-08-12 16:15:42 +08:00
赵毅
9d5b9a86bc 修复商家分类下拉部分的显示问题 2025-08-12 15:42:42 +08:00
赵毅
bc782b6227 修改接单 派单的显示逻辑
优化页面广告的显示问题
优化页面各部分的跳转逻辑
添加中部广告和底部分类tab的联动
2025-08-12 15:16:22 +08:00
赵毅
bdc1079f5a 优化商家详情的页面显示问题 2025-08-12 11:19:31 +08:00
赵毅
bfc285ff57 修复添加房产选择房产是的bug 2025-08-12 11:19:18 +08:00
10 changed files with 112 additions and 124 deletions

View File

@ -259,12 +259,13 @@ export default {
this.fName =
this.step == 4 ? this.fName : this.facilityName ? item.label : "";
await request(apiArr.commRoomSelect, "POST", {
community_ids: item.community_id ? item.community_id : this.communityId,
facility_names: this.facilityName,
community_ids: [item.community_id ? item.community_id : this.communityId],
facility_names: this.facilityName ? [this.facilityName] : [],
floors: this.facilityName
? this.facilityName == this.fName
? ""
: item.label
: [item.label]
: "",
}).then((res) => {
//
@ -339,7 +340,7 @@ export default {
//
getRoomSelect() {
request(apiArr.commRoomSelect, "POST", {
community_ids: this.currentCommunity.community_id,
community_ids: [this.currentCommunity.community_id],
}).then((res) => {
console.log(res);
this.step = 2;

View File

@ -1,5 +1,5 @@
page {
background-color: #f6f7fb;
background-color: #fff;
}
.container {

View File

@ -3,7 +3,7 @@ page {
}
.container{
padding-top: 100rpx;
/* padding-top: 100rpx; */
}
.local {

View File

@ -141,9 +141,17 @@ page {
display: flex;
justify-content: center;
}
.btn_view > .btn {
.btn_view_btn {
margin: 40rpx 20rpx;
width: 300rpx;
height: 90rpx;
line-height: 90rpx;
text-align: center;
background: linear-gradient( 91deg, #FF7658 0%, #FF370B 100%);
border-radius: 100rpx 100rpx 100rpx 100rpx;
font-size: 36rpx;
color: #FFFFFF;
font-weight: 600;
}
.btn {
margin: 40rpx auto 60rpx;

View File

@ -183,15 +183,16 @@
</view>
</view>
<view class="btn_view" v-if="info.status == 1 && order_dispatch_permission">
<view class="btn" @click="headerSelectMasterClick">派单</view>
</view>
<view class="btn_view" v-if="info.status == 1 && work_order_permission && allow_grab_order">
<view class="btn" @click="headerTakeClick">接单</view>
<view class="btn_view">
<view v-if="info.status == 1 && order_dispatch_permission">
<view class="btn_view_btn" @click="headerSelectMasterClick">派单</view>
</view>
<view v-if="info.status == 1 && work_order_permission && allow_grab_order">
<view class="btn_view_btn" @click="headerTakeClick">接单</view>
</view>
</view>
<!-- 待派单状态 无派单权限按钮 -->
<view class="btn" v-else-if="info.status == 1" @click="headerTakeClick">接单</view>
<!-- <view class="btn" v-else-if="info.status == 1" @click="headerTakeClick">接单</view> -->
<!-- 进行中状态编辑维修信息 -->
<view class="btn" v-if="info.status == 2" @click="headerEditClick">
{{ type === "edit" ? "确定" : "编辑" }}

View File

@ -1,7 +1,7 @@
.container {
display: flex;
flex-direction: column;
min-height: 100vh;
/* min-height: 100vh; */
background-color: #ffffff;
}

View File

@ -10,6 +10,8 @@
<!-- 背景图片区域 -->
<view class="bg-image-container">
<image class="bg-image" src="http://localhost:8080/test.png" mode="aspectFill"></image>
<!-- <input class="search-box" placeholder='输入工单号进入工单' confirm-type='search' @input="searchInput"
@confirm="searchInput" :value="selectKeyWord" /> -->
<view class="search-box">
<text class="search-placeholder">输入工单号进入工单</text>
</view>

View File

@ -484,11 +484,8 @@
{
"path": "index/index",
"style": {
"navigationBarBackgroundColor": "#fff",
"navigationStyle": "custom",
"usingComponents": {
"nav-footer": "/components/nav/nav"
}
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#fff"
}
},
{

View File

@ -3,10 +3,13 @@
}
.hot-word-container {
height: 40px;
width: auto;
height: 50rpx;
overflow: hidden;
position: relative;
flex: 1;
/* flex: 1; */
border-radius: 50rpx;
margin: 0 20rpx;
}
.hot-word-scroll {
@ -14,9 +17,9 @@
}
.hot-word-item {
height: 40px;
line-height: 40px;
padding: 0 10px;
height: 50rpx;
line-height: 50rpx;
padding: 0 15rpx;
color: #666;
}
@ -118,7 +121,6 @@ page {
display: flex;
box-sizing: border-box;
align-items: center;
padding-left: 30rpx;
padding-right: 30rpx;
font-size: 26rpx;
}
@ -280,6 +282,7 @@ page {
font-weight: normal;
font-size: 26rpx;
color: #FFFFFF;
margin-left: 15rpx;
}
.serverList {
@ -518,11 +521,11 @@ page {
border-radius: 0 0 10rpx 10rpx;
box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.1);
padding: 20rpx;
position: absolute;
position: relative;
z-index: 99;
width: 95%;
left: 0;
top: 88rpx;
/* top: 88rpx; */
}
.dropdown-title {
@ -698,6 +701,8 @@ page {
box-sizing: border-box;
}
.merchantList2 {}
.merchantItem {
display: flex;
padding-top: 30px;

View File

@ -11,44 +11,46 @@
</view>
</view>
<!-- 功能导航区 -->
<view class="function-nav">
<view class="function-nav" v-if="showNav">
<view class="function-item" @click="goToShop">
<div class="icon-box">
<view class="icon-box">
<image class="iconImg" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/index_shop.png"
mode="widthFix" />
</div>
</view>
<text>店铺管理</text>
</view>
<view class="function-item" @click="goToOrder">
<div class="icon-box">
<view class="icon-box">
<image class="iconImg" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/index_order.png"
mode="widthFix" />
</div>
</view>
<text>供应商订单</text>
</view>
<view class="function-item" @click="goToWuye">
<div class="icon-box">
<view class="icon-box">
<image class="iconImg" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/index_wuye.png"
mode="widthFix" />
</div>
</view>
<text>物业管理</text>
</view>
</view>
<!-- 搜索框 -->
<div class="search2" v-if="isShowSearch">
<div class="searchBox2">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
mode="aspectFill"></image>
<div class="hot-word-container">
<div class="hot-word-scroll" :style="{ transform: 'translateY(' + scrollPosition + 'px)' }">
<div v-for="(word, index) in hotWord" :key="index" class="hot-word-item"
<view class="search2" v-if="isShowSearch">
<view class="searchBox2">
<view class="hot-word-container">
<view class="hot-word-scroll" :style="{ transform: 'translateY(' + scrollPosition + 'rpx)' }">
<view v-for="(word, index) in hotWord" :key="index" class="hot-word-item"
@click="handleHotWordClick(word)">
{{ word }}
</div>
</div>
</div>
</div>
</div>
</view>
</view>
</view>
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
mode="aspectFill"></image>
<input class="search_input" placeholder='输入搜索的社区名称' confirm-type='search' @input="searchInput"
@confirm="searchInput" :value="selectKeyWord" />
</view>
</view>
<!-- 轮播图 -->
<view class="swiper">
<swiper @animationfinish="swipers" autoplay circular>
@ -98,7 +100,7 @@
<view class="serverList">
<view class="serverList_left">
<swiper>
<swiper-item v-for="(item, index) in homeLeftList" :key="index">
<swiper-item v-for="(item, index) in homeLeftList" :key="index" @click="headerServerClick(item)">
<image :src="item.pic_src" alt="" mode="aspectFit" />
<!-- <view>{{ item.ad_position }}</view> -->
</swiper-item>
@ -107,7 +109,7 @@
<view class="serverList_right">
<view class="serverList_right1">
<view :class="['serverItem', `serverItem${index + 1}`]" @tap="headerServerClick(item)"
<view :class="['serverItem', `serverItem${index + 1}`]" @click="headerServerClick2(item)"
v-for="(item, index) in homeRightList1" :key="index">
<view class="serverTit">{{ item.title }}</view>
<image v-if="item.pic_src" :src="item.pic_src" mode="" />
@ -115,8 +117,8 @@
</view>
</view>
<view class="serverList_right2">
<view :class="['serverItem', `serverItem${index + 4}`]" @tap="headerServerClick(item)"
v-for="(item, index) in homeRightList2" :key="index">
<view :class="['serverItem', `serverItem${index + 4}`]" @click="headerServerClick2(item)"
v-for="(item, index) in homeRightList2" :key="index">
<view class="serverTit">{{ item.title }}</view>
<image :src="item.pic_src" mode="" />
<!-- <view>{{ item.ad_position }}</view> -->
@ -158,89 +160,48 @@
</view>
<!-- 商家列表展示 -->
<!-- <view class="store-list-container">
<view class="merchantList" :class="{ merchantList2: merchatList.length < 3 }">
<view class="overlay" v-if="showDropdown"></view>
<view class="store-item" v-for="(store, index) in merchantList" :key="index">
<view class="store-image">
<image :src="store.cate_image" mode="aspectFill"></image>
</view>
<view class="store-info">
<view class="store-name">{{ store.merchant_name }}</view>
<view class="startList">
<image
v-for="index in 5"
:key="index"
:src="
index < item.rating
? 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png'
: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start2.png'
"
mode="aspectFill"
></image>
</view>
<view class="store-tags">
<text class="tag" v-for="(tag, idx) in store.tags" :key="idx">{{ tag }}</text>
</view>
<view class="store-address">
<image class="address-icon"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/address.png"
mode="aspectFit">
</image>
<text>{{ store.address }}</text>
</view>
<view class="store-distance">
<image class="distance-icon"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/distance.png"
mode="aspectFit">
</image>
<text>{{ store.distance }}km</text>
</view>
</view>
<view class="review-btn" @click="gotoReview(store.id)">点评</view>
</view>
</view> -->
<div class="merchantList">
<view class="overlay" v-if="showDropdown"></view>
<div class="merchantItem" v-for="item in merchatList" :key="item.id" @click="Info(item)">
<div class="merchantItem_left">
<view class="merchantItem" v-for="item in merchatList" :key="item.id" @click="Info(item)">
<view class="merchantItem_left">
<image :src="item.showImg" mode="aspectFill"></image>
</div>
<div class="merchantItem_right">
<div class="merchantItem_right_tit">
<div class="merchantItem_right_tit_left">
</view>
<view class="merchantItem_right">
<view class="merchantItem_right_tit">
<view class="merchantItem_right_tit_left">
{{ item.merchant_name }}
</div>
<div class="merchantItem_right_tit_right">
</view>
<view class="merchantItem_right_tit_right">
{{ item.distances }}
</div>
</div>
<div class="merchantItem_right_con">
<div class="merchantItem_right_con_left">
<div class="startList">
</view>
</view>
<view class="merchantItem_right_con">
<view class="merchantItem_right_con_left">
<view class="startList">
<image v-for="index in 5" :key="index" :src="index < item.rating
? 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png'
: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start2.png'
" mode="aspectFill"></image>
</div>
<div class="merchangtItem_tag" v-if="item.refund_property_fee_ratio">
</view>
<view class="merchangtItem_tag" v-if="item.refund_property_fee_ratio">
买单返物业费
</div>
<div class="merchangtItem_tag" v-if="item.refund_user_points_ratio">
</view>
<view class="merchangtItem_tag" v-if="item.refund_user_points_ratio">
买单返积分
</div>
</div>
<div class="merchantItem_right_con_right" @click="toJump(item)">
</view>
</view>
<view class="merchantItem_right_con_right" @click="toJump(item)">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_review.png"
mode="aspectFill"></image>
点评
</div>
</div>
<div class="merchantItem_right_add">
</view>
</view>
<view class="merchantItem_right_add">
{{ item.comAddress }}
</div>
</div>
</div>
</div>
</view>
</view>
</view>
</view>
</view>
<view class="more" v-if="flag">下拉加载后续10条共计{{ bottomTotal }}</view>
@ -283,6 +244,7 @@ export default {
}, //2.
data() {
return {
showNav: true,
isShowSearch: false,
loading: false,
@ -319,7 +281,7 @@ export default {
hotWord: [], //
scrollPosition: 0, //
scrollInterval: null, //
itemHeight: 40, //
itemHeight: 50, //
// 1广
serverLeft: '',
@ -520,8 +482,17 @@ export default {
});
},
headerServerClick2(e) {
const cate_id = this.categoryList.find(item => item.cate_name == e.title)?.id;
if (cate_id) { this.switchCategory(cate_id) }
return
},
headerServerClick(e) {
console.log('当前点击内容', e);
// const cate_id = this.categoryList.find(item => item.cate_name == e.title).id;
// this.switchCategory(cate_id)
// return
if (!e.link_url) {
this.NotOpen();
return
@ -700,17 +671,20 @@ export default {
page_size: 10
}, { silent: false });
if (res.rows.length) {
// let firstItem = res.rows[0];
// firstItem.pic_src = picUrl + firstItem.pic_src;
// rightList.push(firstItem);
let filterRes = this.filterShowList(res?.rows, 1);
filterRes.forEach(item => {
item.pic_src = picUrl + item.pic_src
})
rightList.push(...filterRes)
}else{
} else {
rightList.push({
ad_position: i,
pic_src: ''
})
}
}
}
return rightList
},