This commit is contained in:
yanran200730
2022-07-02 18:09:24 +08:00
parent 16c7433361
commit bba9c06808
3 changed files with 129 additions and 23 deletions

View File

@@ -112,9 +112,9 @@
this.$http.post(`/app/appgirdmembercompany/add`, { companyList: checkUserList}).then((res) => {
if (res.code == 0) {
this.$u.toast('提交成功')
uni.$emit('updateList')
setTimeout(() => {
uni.navigateBack()
uni.$emit('updateList')
}, 600)
}
}).catch((err) => {
@@ -159,6 +159,9 @@
box-sizing: border-box;
margin-bottom: 30px;
.item-title{
display: flex;
align-items: center;
margin-bottom: 32px;
margin-bottom: 32px;
img{
width: 72px;
@@ -167,13 +170,11 @@
vertical-align: middle;
}
p{
display: inline-block;
width: 400px;
flex: 1;
font-size: 32px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #000;
line-height: 32px;
line-height: 1.3;
}
span{
display: inline-block;

View File

@@ -2,7 +2,6 @@
<div class="merchanList">
<AiTopFixed>
<u-search placeholder="请输入店名、店主、电话" :show-action="false" v-model="businessName" @search="current = 1, getList()"/>
</AiTopFixed>
<div class="title">
<div>商户列表({{ pages }})</div>
<div v-if="list.length">
@@ -10,13 +9,14 @@
<span style="font-size: 14px; color: #2979ff;" @click="edit = true" v-else>取消</span>
</div>
</div>
</AiTopFixed>
<div class="main" v-if="list.length">
<ul v-for="(item,index) in list" :key="index">
<ul v-for="(item,index) in list" :key="index" @click="linkTo('../AppMerchantManage/detail?id=' + item.id)">
<li>
<div class="user">
<div v-if="!edit">
<img src="./components/img/xz.png" alt="" class="checkbox" v-if="!item.checked" @click="userClick(index)">
<img src="./components/img/xzh.png" alt="" class="checkbox" v-else @click="userClick(index)">
<img src="./components/img/xz.png" alt="" class="checkbox" v-if="!item.checked" @click.stop="userClick(index)">
<img src="./components/img/xzh.png" alt="" class="checkbox" v-else @click.stop="userClick(index)">
</div>
<div class="item-info">
<div class="item-title">
@@ -113,6 +113,11 @@
})
})
},
linkTo (url) {
uni.navigateTo({
url
})
},
changeType() {
this.edit = false
this.list.map((item) => {
@@ -169,6 +174,8 @@
box-sizing: border-box;
margin-bottom: 30px;
.item-title{
display: flex;
align-items: center;
margin-bottom: 32px;
img{
width: 72px;
@@ -177,13 +184,11 @@
vertical-align: middle;
}
p{
display: inline-block;
width: 400px;
flex: 1;
font-size: 32px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #000;
line-height: 32px;
line-height: 1.3;
}
span{
display: inline-block;

View File

@@ -2,9 +2,17 @@
<div class="AppMerchantMap">
<div class="search">
<image :src="$cdn + 'xincheng/search.png'" />
<input placeholder="请输入姓名、店名、电话" v-model="businessName" @confirm="getList">
<input placeholder="请输入姓名、店名、电话" v-model="businessName" @input="getList(true)">
</div>
<div class="map-content">
<div class="search-list" v-if="isShow">
<div class="item border" v-for="(item, index) in list" :key="index" @click="toDetail(item)">
<div class="item-content">
<h3>{{ item.businessName }} - {{ item.bossName }}</h3>
<p>{{ item.businessAddress }}</p>
</div>
</div>
</div>
<div class="map-content" @click.stop="isShow = false">
<AiTMap :map.sync="map" :lib.sync="lib" :ops="ops" :libraries="['service', 'tools']"/>
</div>
</div>
@@ -24,10 +32,11 @@
polygons: [],
labels: [],
businessName: '',
markers: [],
ops: {},
markers: [],
MarkerCluster: null
isShow: false,
MarkerCluster: null,
list: []
}
},
computed: {...mapState(['user', 'config'])},
@@ -42,10 +51,25 @@
},
methods: {
getList () {
toDetail (item) {
if (!item.lat) {
return this.$u.toast('该商户尚未标记')
}
this.businessName = ''
this.isShow = false
this.map.easeTo({
center: new this.lib.LatLng(item.lat, item.lng),
zoom: 17
}, {
duration: 2000
})
},
getList (isSearch) {
this.$http.post('/app/appcompany/list', null, {
params: {
size: 100000,
size: isSearch ? 20 : 100000,
current: 1,
businessName: this.businessName
}
@@ -53,16 +77,22 @@
if (res.code == 0) {
const markers = res.data.records.filter(item => item.lat).map(item => {
return {
title: item.businessName,
...item,
title: item.businessName + '-' + item.bossName,
lnglat: [item.lng, item.lat],
lat: item.lat,
lng: item.lng,
id: item.id,
name: item.businessName
name: item.businessName + '-' + item.bossName
}
})
this.getMarkerCluster(markers)
if (isSearch) {
this.list = res.data.records
this.isShow = true
} else {
this.getMarkerCluster(markers)
}
}
})
},
@@ -203,7 +233,77 @@
<style lang="scss" scoped>
.AppMerchantMap {
height: 100%;
height: 100vh;
overflow: hidden;
.search-list {
position: fixed;
left: 50%;
top: 128px;
width: 718px;
height: 70%;
overflow-y: scroll;
box-sizing: border-box;
z-index: 2222;
transform: translateX(-50%);
.search-icon {
width: 36px;
height: 36px;
margin-right: 16px;
vertical-align: sub;
}
.title {
height: 82px;
line-height: 82px;
font-size: 26px;
font-family: MicrosoftYaHeiSemibold;
color: #1365DD;
padding-left: 44px;
background-color: #fff;
}
.item {
padding: 20px 30px;
background-color: #fff;
&:last-child {
border: none;
}
}
.item-content {
display: inline-block;
width: 610px;
color: #333;
h3 {
font-size: 28px;
font-family: MicrosoftYaHeiSemibold;
line-height: 32px;
margin-bottom: 8px;
}
p {
width: 100%;
font-size: 24px;
font-family: MicrosoftYaHei;
line-height: 32px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
.user-icon {
vertical-align: top;
}
.border {
border-bottom: 1px solid #DEDFE1;
}
}
::v-deep.cluster {
color: #fff;