24 Commits
lh ... lj

Author SHA1 Message Date
LuoShijie
8d7cf8d8b2 罗世杰:支持分享到朋友、朋友圈 2023-11-30 20:10:13 +08:00
odjbin
19a699a968 Merge pull request 'dj' (#119) from dj into master
Reviewed-on: http://git.feashow.cn/odjbin/city-store-transfer/pulls/119
2023-11-28 05:54:00 +00:00
dengj
f21f82ba6e 邓洁: 完善搜索功能 2023-11-28 13:53:30 +08:00
邓洁
2a0144d1bd 邓洁 : 修改搜索细节 2023-11-28 12:14:56 +08:00
odjbin
97c1cbbded Merge pull request '邓洁 : 修改细节' (#118) from dj into master
Reviewed-on: http://git.feashow.cn/odjbin/city-store-transfer/pulls/118
2023-11-27 16:15:20 +00:00
邓洁
2000ce91af 邓洁 : 修改细节 2023-11-28 00:14:41 +08:00
odjbin
9f62244f16 Merge pull request 'dj' (#117) from dj into master
Reviewed-on: http://git.feashow.cn/odjbin/city-store-transfer/pulls/117
2023-11-27 15:49:12 +00:00
邓洁
93d2bb04c7 邓洁:搜索框吸顶 2023-11-27 23:47:51 +08:00
邓洁
096440bbfc Merge branch 'master' of http://git.feashow.cn/odjbin/city-store-transfer 2023-11-27 23:11:02 +08:00
luojie
6ebb1fc8d8 Merge pull request '罗世杰:下拉栏吸顶' (#115) from lj into master
Reviewed-on: http://git.feashow.cn/odjbin/city-store-transfer/pulls/115
2023-11-27 12:50:45 +00:00
LuoShijie
c99a58c97f 罗世杰:下拉栏吸顶 2023-11-27 20:50:12 +08:00
odjbin
0411b70025 Merge pull request '邓洁 : 优化小程序样式' (#114) from dj into master
Reviewed-on: http://git.feashow.cn/odjbin/city-store-transfer/pulls/114
2023-11-27 08:02:19 +00:00
邓洁
5e200924b9 邓洁 : 优化小程序样式 2023-11-27 16:02:06 +08:00
odjbin
d857a56aff Merge pull request '邓洁 :修改详情页细节' (#113) from dj into master
Reviewed-on: http://git.feashow.cn/odjbin/city-store-transfer/pulls/113
2023-11-27 06:28:06 +00:00
邓洁
d9f36c70f0 邓洁 :修改详情页细节 2023-11-27 14:27:38 +08:00
邓洁
53939da52e 邓洁 :修改详情页细节 2023-11-27 14:26:51 +08:00
odjbin
448b198f28 Merge pull request 'dj' (#112) from dj into master
Reviewed-on: http://git.feashow.cn/odjbin/city-store-transfer/pulls/112
2023-11-27 06:18:41 +00:00
邓洁
0bbe5b6be6 邓洁 : 修改地图店铺列表渲染细节 2023-11-27 14:18:18 +08:00
邓洁
e04e0a3859 邓洁 : 修改地图列表跳转详情问题 2023-11-27 14:09:47 +08:00
luojie
9e561ac223 Merge pull request '罗世杰:详情页微调' (#111) from lj into master
Reviewed-on: http://git.feashow.cn/odjbin/city-store-transfer/pulls/111
2023-11-27 05:47:27 +00:00
LuoShijie
eee06e9f1d 罗世杰:详情页微调 2023-11-27 13:46:36 +08:00
odjbin
f7699ae669 Merge pull request '邓洁 :修改列表图片渲染问题' (#110) from dj into master
Reviewed-on: http://git.feashow.cn/odjbin/city-store-transfer/pulls/110
2023-11-27 04:16:26 +00:00
邓洁
690a4a50c4 邓洁 :修改列表图片渲染问题 2023-11-27 12:15:59 +08:00
Hot7z
6b95233940 Merge pull request '梁航:表单二级联动' (#109) from lh into master
Reviewed-on: http://git.feashow.cn/odjbin/city-store-transfer/pulls/109
2023-11-27 02:29:13 +00:00
25 changed files with 494 additions and 331 deletions

View File

@@ -2,8 +2,9 @@
<view class="input-and-swiper-root"> <view class="input-and-swiper-root">
<view class="search-box" v-if="type!=='0'"> <view class="search-box" v-if="type!=='0'">
<view class="search-box-input"> <view class="search-box-input">
<u-input v-model="keyword" placeholder="请输入店铺名称进行搜索" placeholder-style="color: #969696" prefixIcon="search" <u-input v-model="keyword" placeholder="请输入标题进行搜索" placeholder-style="color: #969696" prefixIcon="search"
prefixIconStyle="font-size: 24px;color: #909399;" border="true" @clear="handleClear" clearable @change="changeInput"> prefixIconStyle="font-size: 24px;color: #909399;" border="true" @clear="handleClear" clearable
@change="changeInput">
<template slot="suffix"> <template slot="suffix">
<view style="display: flex;align-items: center;"> <view style="display: flex;align-items: center;">
<u-icon name="map-fill" color="#329866" size="22"></u-icon> <u-icon name="map-fill" color="#329866" size="22"></u-icon>
@@ -46,35 +47,38 @@
return { return {
position: uni.getStorageSync('city') + uni.getStorageSync('district').slice(0, 2), position: uni.getStorageSync('city') + uni.getStorageSync('district').slice(0, 2),
currentNum: '', currentNum: '',
keyword:'' keyword: ''
}; };
}, },
options: { options: {
styleIsolation: 'shared', // 解除样式隔离 styleIsolation: 'shared', // 解除样式隔离
}, },
watch: { // watch: {
refresh(newVal, oldVal) { // refresh(newVal, oldVal) {
console.log('newVal',newVal); // console.log('newVal', newVal);
if(newVal){ // // if (newVal) {
this.keyword='' // this.keyword = ''
} // // }
} // }
}, // },
onShow() { onShow() {
if (this.type !== '0') { if (this.type !== '0') {
this.open() this.open()
} }
}, },
created() { created() {
}, },
methods: { methods: {
changeInput(e){ resetInfo() {
this.$emit('getQueryInfo',e) this.keyword = ''
}, },
handleClear(e){ changeInput(e) {
this.$emit('getQueryInfo', e)
console.log('handleClear',e); },
handleClear(e) {
console.log('handleClear', e);
}, },
open() { open() {
if (!uni.getStorageSync('city') && !uni.getStorageSync('district')) { if (!uni.getStorageSync('city') && !uni.getStorageSync('district')) {

View File

@@ -1,6 +1,6 @@
<template> <template>
<view> <view>
<SearchShopListItem v-for="item in searchInfoList" :key="searchid" :shopInfo="item" :show-style="showStyle" <SearchShopListItem v-for="item in searchInfoList" :key="item.id" :shopInfo="item" :show-style="showStyle"
:isEdit="isEdit" @delItem="handleDel" @updateItem="handleUpdate"></SearchShopListItem> :isEdit="isEdit" @delItem="handleDel" @updateItem="handleUpdate"></SearchShopListItem>
</view> </view>
</template> </template>

View File

@@ -1,6 +1,6 @@
<template> <template>
<view> <view>
<ShowShopListItem v-for="item in shopInfoList" :shopInfo="item" :is-adshow="isADshow" <ShowShopListItem v-for="item in shopInfoList" :key="item.id" :shopInfo="item" :is-adshow="isADshow"
:adlinkPath="adlinkPath" :show-style="showStyle" :is-edit="isEdit" @delItem="handleDel" :adlinkPath="adlinkPath" :show-style="showStyle" :is-edit="isEdit" @delItem="handleDel"
@updateItem="hanldeUpdate"></ShowShopListItem> @updateItem="hanldeUpdate"></ShowShopListItem>
</view> </view>

View File

@@ -5,7 +5,7 @@
<u-image :src="leftImage" width="80px" height="80px" radius="8px"></u-image> <u-image :src="leftImage" width="80px" height="80px" radius="8px"></u-image>
</view> </view>
<view class="text-area"> <view class="text-area">
<u-text style="font-weight: 500;" :text="shopInfo.tt" :lines="2" ></u-text> <u-text style="font-weight: 500;" :text="shopInfo.tt" :lines="2"></u-text>
<view v-if="showStyle == 0" class="pos-and-sqr"> <view v-if="showStyle == 0" class="pos-and-sqr">
<view> <view>
<view> <view>
@@ -142,9 +142,22 @@
}, },
computed: { computed: {
},
watch: {
shopInfo(newVal, oldVal) {
if (newVal.pics.includes(",")) {
this.leftImage = this.$api.imgUrl + newVal.pics.split(',')[0]
} else {
this.leftImage = this.$api.imgUrl + newVal.pics
}
}
}, },
created() { created() {
this.leftImage = this.$api.imgUrl + this.shopInfo.pics.split(',')[0] if (this.shopInfo.pics.includes(",")) {
this.leftImage = this.$api.imgUrl + this.shopInfo.pics.split(',')[0]
} else {
this.leftImage = this.$api.imgUrl + this.shopInfo.pics
}
}, },
methods: { methods: {
handleEdit(shopid) { handleEdit(shopid) {
@@ -157,7 +170,7 @@
this.$emit('delItem', shopid) this.$emit('delItem', shopid)
}, },
enterDetail() { enterDetail() {
// console.log("进入详情页面"); console.log("进入详情页面", this.shopInfo.id, this.shopInfo.type);
const query = this.$u.queryParams({ const query = this.$u.queryParams({
id: this.shopInfo.id, id: this.shopInfo.id,
type: this.shopInfo.type type: this.shopInfo.type
@@ -205,7 +218,8 @@
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
>text, >u-text { >text,
>u-text {
font-size: 14px; font-size: 14px;
} }

View File

@@ -9,6 +9,8 @@ Vue.use(uView)
Vue.prototype.$api = apiService Vue.prototype.$api = apiService
Vue.prototype.$toast = toast Vue.prototype.$toast = toast
import share from './utils/share.js'
Vue.mixin(share)
// #ifndef VUE3 // #ifndef VUE3
import Vue from 'vue' import Vue from 'vue'
Vue.config.productionTip = false Vue.config.productionTip = false

View File

@@ -71,7 +71,7 @@
"navigationBarTitleText": "", "navigationBarTitleText": "",
"navigationBarTextStyle": "white", "navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#339967", "navigationBarBackgroundColor": "#339967",
"enablePullDownRefresh": false "enablePullDownRefresh": true
} }
}, { }, {
"path": "pages/publish/publishTransfer/publishTransfer", "path": "pages/publish/publishTransfer/publishTransfer",

View File

@@ -27,163 +27,163 @@
<rich-text :nodes="content"></rich-text> <rich-text :nodes="content"></rich-text>
</u-modal> </u-modal>
</view> </view>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
color: '#CC3333', color: '#CC3333',
btnText: '提交审核', btnText: '提交审核',
member: '', member: '',
show: false, show: false,
disabled: false, disabled: false,
btnDisabled: false, btnDisabled: false,
content: `申请已提交, 请等待后台审核`, content: `申请已提交, 请等待后台审核`,
submitForm: { submitForm: {
real_name: '', real_name: '',
idcard: '' idcard: ''
}
} }
}
},
onShow() {
this.getInfo()
},
methods: {
getInfo() {
this.$api.getUser().then(res => {
var data = res.data.data
if (data) {
this.member = data.member
if (data.member == 1) {
this.disabled = true
this.btnDisabled = true
this.color = "#C6C6C6"
this.btnText = "审核中…"
}
// else if (data.member == 2) {
// this.disabled = false
// this.btnDisabled = false
// this.color = "#CC3333"
// this.btnText = "联系客服"
// }
}
})
}, },
confirm() { onShow() {
uni.reLaunch({ this.getInfo()
url: '/pages/my/my'
})
// if (this.needAsk == 1) {
// uni.reLaunch({
// url: '/pages/index/index'
// })
// }
}, },
submit() { methods: {
if (this.member == 0) { getInfo() {
let reg = this.$api.getUser().then(res => {
/^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; //正则表达式定义身份证号正确格式 var data = res.data.data
if (!reg.test(this.submitForm.idcard)) { //判断身份证号格式时候正确 if (data) {
this.$toast.warn('请输入正确的身份证号格式') this.member = data.member
return false if (data.member == 1) {
} this.disabled = true
if (this.submitForm.real_name == "") { this.btnDisabled = true
this.$toast.warn('请完善数据') this.color = "#C6C6C6"
return false this.btnText = "审核中…"
}
if (this.submitForm.real_name && this.submitForm.idcard) {
let data = {
...this.submitForm,
uid: uni.getStorageSync('uid')
}
console.log('成', data);
this.$api.toBePartner(data).then(res => {
if (res.data.msg == "提交成功") {
this.show = true
} }
}) // else if (data.member == 2) {
// this.disabled = false
// this.btnDisabled = false
// this.color = "#CC3333"
// this.btnText = "联系客服"
// }
}
})
},
confirm() {
uni.reLaunch({
url: '/pages/my/my'
})
// if (this.needAsk == 1) {
// uni.reLaunch({
// url: '/pages/index/index'
// })
// }
},
submit() {
if (this.member == 0) {
let reg =
/^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; //正则表达式定义身份证号正确格式
if (!reg.test(this.submitForm.idcard)) { //判断身份证号格式时候正确
this.$toast.warn('请输入正确的身份证号格式')
return false
}
if (this.submitForm.real_name == "") {
this.$toast.warn('请完善数据')
return false
}
if (this.submitForm.real_name && this.submitForm.idcard) {
let data = {
...this.submitForm,
uid: uni.getStorageSync('uid')
}
console.log('成', data);
this.$api.toBePartner(data).then(res => {
if (res.data.msg == "提交成功") {
this.show = true
}
})
}
} else if (this.member == 2) {
console.log('联系客服');
} }
} else if (this.member == 2) {
console.log('联系客服');
} }
} }
} }
} </script>
</script>
<style lang="scss"> <style lang="scss">
.service-btn { .service-btn {
height: 40px; height: 40px;
background-color: #CC3333; background-color: #CC3333;
color: #fff; color: #fff;
border-radius: 25px; border-radius: 25px;
font-size: 32rpx; font-size: 32rpx;
}
.hhr {
margin-top: 50rpx;
margin-bottom: 50rpx;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.hhr-text {
margin-top: 28rpx;
width: 186rpx;
height: 50rpx;
font-size: 36rpx;
font-family: PingFang-SC, PingFang-SC;
font-weight: 800;
color: #F20C0C;
line-height: 50rpx;
letter-spacing: 1px;
} }
}
.u-modal__button-group__wrapper--hover { .hhr {
background: #0EBB5B !important; margin-top: 50rpx;
} margin-bottom: 50rpx;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.input-class { .hhr-text {
font-weight: 1rpx; margin-top: 28rpx;
color: #A0A0A0; // width: 186rpx;
} height: 50rpx;
font-size: 36rpx;
font-family: PingFang-SC, PingFang-SC;
font-weight: 800;
color: #F20C0C;
line-height: 50rpx;
letter-spacing: 1px;
}
}
.submit-btn { .u-modal__button-group__wrapper--hover {
width: 80%; background: #0EBB5B !important;
margin-top: 50rpx; }
translate: 10%;
}
.name, .input-class {
.id { font-weight: 1rpx;
padding: 10rpx; color: #A0A0A0;
} }
.text { .submit-btn {
margin-left: 20rpx; width: 80%;
} margin-top: 50rpx;
translate: 10%;
}
.payment { .name,
margin-top: 20rpx; .id {
display: flex; padding: 10rpx;
justify-content: space-between; }
} .text {
margin-left: 20rpx;
}
.left-payment { .payment {
display: flex; margin-top: 20rpx;
flex-direction: column; display: flex;
} justify-content: space-between;
.label { }
margin-top: 10rpx;
margin-left: 17rpx; .left-payment {
color: #c1c1c1; display: flex;
/* font-size: 27rpx; */ flex-direction: column;
} }
</style>
.label {
margin-top: 10rpx;
margin-left: 17rpx;
color: #c1c1c1;
/* font-size: 27rpx; */
}
</style>

View File

@@ -9,6 +9,10 @@
</view> </view>
<view> <view>
<u-grid :col="3"> <u-grid :col="3">
<u-grid-item>
<view class="grid-textup">{{shopInfo.mianji}}</view>
<view class="grid-text">面积</view>
</u-grid-item>
<u-grid-item> <u-grid-item>
<view class="grid-textup">{{shopInfo.zujin}}/</view> <view class="grid-textup">{{shopInfo.zujin}}/</view>
<view class="grid-text">租金</view> <view class="grid-text">租金</view>
@@ -18,10 +22,6 @@
<view v-if="search" class="grid-text">转让费</view> <view v-if="search" class="grid-text">转让费</view>
<view v-else class="grid-text">预计投资</view> <view v-else class="grid-text">预计投资</view>
</u-grid-item> </u-grid-item>
<u-grid-item>
<view class="grid-textup">{{shopInfo.mianji}}</view>
<view class="grid-text">面积</view>
</u-grid-item>
</u-grid> </u-grid>
</view> </view>
</view> </view>
@@ -32,6 +32,9 @@
<text>行业{{shopInfo.trade1+'-'}}{{shopInfo.trade2}}</text> <text>行业{{shopInfo.trade1+'-'}}{{shopInfo.trade2}}</text>
<text>区域{{shopInfo.area1}}</text> <text>区域{{shopInfo.area1}}</text>
<text v-if="search">地址{{shopInfo.adress}}</text> <text v-if="search">地址{{shopInfo.adress}}</text>
<view class="xq_rz" v-if="shopInfo.is_auth=='1'">
<image src="../../static/shoplist/xq_rz.png" style="width: 240rpx;height: 171rpx;"></image>
</view>
</view> </view>
<view class="bgc"> <view class="bgc">
@@ -42,7 +45,14 @@
<u-cell :title="shopInfo.lianxiren" :label="shopInfo.mobile" :border="false"></u-cell> <u-cell :title="shopInfo.lianxiren" :label="shopInfo.mobile" :border="false"></u-cell>
</view> </view>
<u-divider :height="5"></u-divider> <u-divider :height="5"></u-divider>
<u-cell title="店铺介绍" :label="shopInfo.content" label-style="color = #5D5D5D;font-size: 24rpx;"></u-cell> <u-cell title="店铺介绍" :label="shopInfo.content" label-style="color = #5D5D5D;font-size: 24rpx;">
<view slot="label" class="shop-content">
<view class="u-flex">
<view>{{ shopInfo.content }}</view>
<view style="color: #CC3333;">联系我时请说是在速配商铺上看到的谢谢!</view>
</view>
</view>
</u-cell>
</view> </view>
<view class="bottom"> <view class="bottom">
@@ -204,6 +214,7 @@
} }
.location-detail { .location-detail {
position: relative;
display: flex; display: flex;
// margin-top: 50rpx; // margin-top: 50rpx;
background-color: #fff; background-color: #fff;
@@ -211,6 +222,12 @@
padding-left: 16rpx; padding-left: 16rpx;
line-height: 33px; line-height: 33px;
font-size: 15px; font-size: 15px;
.xq_rz {
position: absolute;
top: 30rpx;
right: 15rpx;
}
} }
.seller-shop-detail { .seller-shop-detail {
@@ -231,6 +248,14 @@
} }
} }
.shop-content {
margin-top: 20rpx;
display: flex;
flex-wrap: wrap;
font-size: 24rpx;
color: #5D5D5D;
}
.bottom { .bottom {
position: fixed; position: fixed;
bottom: 0; bottom: 0;

View File

@@ -1,19 +1,22 @@
<template> <template>
<view> <view>
<view class="search-box-bg"> <view class="sticky">
<view class="bug-fix"></view> <view class="search-box-bg">
<view class="search-box"> <view class="bug-fix"></view>
<view class="search-box-input"> <view class="search-box">
<u-input v-model="keyword" placeholder="热门搜索" placeholder-style="color: #969696" prefixIcon="search" <view class="search-box-input">
prefixIconStyle="font-size: 24px;color: #909399;" border="true" @change="getInput"> <u-input v-model="keyword" placeholder="请输入标题进行搜索" placeholder-style="color: #969696" prefixIcon="search"
</u-input> prefixIconStyle="font-size: 24px;color: #909399;" border="true" @change="getInput">
</u-input>
</view>
</view> </view>
</view> </view>
<view>
<DropDown @getQueryInfo="getShopList" ref="dropdown" @cancelPageNum="cancelPageNum"></DropDown>
</view>
</view> </view>
<view>
<DropDown @getQueryInfo="getShopList" ref="dropdown" @cancelPageNum="cancelPageNum"></DropDown>
</view>
<view class="marginLR10"> <view class="marginLR10">
<ShowShopList :showStyle="2" :adlinkPath="adlinkPath" :listType="3" :shopInfoList="shopInfoList" /> <ShowShopList :showStyle="2" :adlinkPath="adlinkPath" :listType="3" :shopInfoList="shopInfoList" />
</view> </view>
@@ -56,12 +59,12 @@
// } // }
this.getShopList(q, "refresh") this.getShopList(q, "refresh")
this.$refs.dropdown.resetInfo() this.$refs.dropdown.resetInfo()
this.keyword = ''
// } // }
}, },
onReachBottom() { onReachBottom() {
if (this.shopListLength !== 0) { if (this.shopListLength !== 0) {
this.keyword='' this.keyword = ''
this.pageNum++ this.pageNum++
this.getShopList() this.getShopList()
console.log("触底加载"); console.log("触底加载");
@@ -73,20 +76,25 @@
this.getShopList() this.getShopList()
}, },
methods: { methods: {
getInput(val){ getInput(val) {
console.log('搜索值',val); console.log('搜索值', val);
if(this.pageNum!==1){ if (this.pageNum !== 1) {
this.pageNum=1 this.pageNum = 1
} }
const q = this.$u.queryParams({ const q = this.$u.queryParams({
type: 3, type: 3,
pageSize: this.pageSize, pageSize: this.pageSize,
pageNum: this.pageNum, pageNum: this.pageNum,
kw:val kw: val
}) })
this.$api.getShopList(q).then(res => { this.$api.getShopList(q).then(res => {
this.shopListLength = res.data.data.length this.shopListLength = res.data.data.length
this.shopInfoList = res.data.data this.shopInfoList = res.data.data
if (res.data.data.length == 0) {
this.showNull = true
} else {
this.showNull = false
}
}) })
}, },
getShopList(q, type) { getShopList(q, type) {

View File

@@ -1,19 +1,22 @@
<template> <template>
<view> <view>
<view class="search-box-bg"> <view class="sticky">
<view class="bug-fix"></view> <view class="search-box-bg">
<view class="search-box"> <view class="bug-fix"></view>
<view class="search-box-input"> <view class="search-box">
<u-input v-model="keyword" placeholder="热门搜索" placeholder-style="color: #969696" prefixIcon="search" <view class="search-box-input">
prefixIconStyle="font-size: 24px;color: #909399;" border="true" @change="getInput"> <u-input v-model="keyword" placeholder="请输入标题进行搜索" placeholder-style="color: #969696" prefixIcon="search"
</u-input> prefixIconStyle="font-size: 24px;color: #909399;" border="true" @change="getInput">
</u-input>
</view>
</view> </view>
</view> </view>
<view>
<DropDown @getQueryInfo="getShopList" ref="dropdown" @cancelPageNum="cancelPageNum"></DropDown>
</view>
</view> </view>
<view>
<DropDown @getQueryInfo="getShopList" ref="dropdown" @cancelPageNum="cancelPageNum"></DropDown>
</view>
<view class="marginLR10"> <view class="marginLR10">
<ShowShopList :showStyle="2" :adlinkPath="adlinkPath" :listType="4" :shopInfoList="shopInfoList" /> <ShowShopList :showStyle="2" :adlinkPath="adlinkPath" :listType="4" :shopInfoList="shopInfoList" />
</view> </view>
@@ -56,7 +59,7 @@
// } // }
this.getShopList(q, "refresh") this.getShopList(q, "refresh")
this.$refs.dropdown.resetInfo() this.$refs.dropdown.resetInfo()
this.keyword = ''
// } // }
}, },
onReachBottom() { onReachBottom() {
@@ -87,6 +90,11 @@
this.$api.getShopList(q).then(res => { this.$api.getShopList(q).then(res => {
this.shopListLength = res.data.data.length this.shopListLength = res.data.data.length
this.shopInfoList = res.data.data this.shopInfoList = res.data.data
if (res.data.data.length == 0) {
this.showNull = true
} else {
this.showNull = false
}
}) })
}, },
getShopList(q, type) { getShopList(q, type) {

View File

@@ -1,19 +1,22 @@
<template> <template>
<view> <view>
<view class="search-box-bg"> <view class="sticky">
<view class="bug-fix"></view> <view class="search-box-bg">
<view class="search-box"> <view class="bug-fix"></view>
<view class="search-box-input"> <view class="search-box">
<u-input v-model="keyword" placeholder="热门搜索" placeholder-style="color: #969696" prefixIcon="search" <view class="search-box-input">
prefixIconStyle="font-size: 24px;color: #909399;" border="true" @change="getInput"> <u-input v-model="keyword" placeholder="请输入标题进行搜索" placeholder-style="color: #969696" prefixIcon="search"
</u-input> prefixIconStyle="font-size: 24px;color: #909399;" border="true" @change="getInput">
</u-input>
</view>
</view> </view>
</view> </view>
<view>
<DropDown @getQueryInfo="getShopList" ref="dropdown" @cancelPageNum="cancelPageNum"></DropDown>
</view>
</view> </view>
<view>
<DropDown @getQueryInfo="getShopList" ref="dropdown" @cancelPageNum="cancelPageNum"></DropDown>
</view>
<view class="marginLR10"> <view class="marginLR10">
<SearchShopList :showStyle="1" :searchInfoList="searchInfoList" /> <SearchShopList :showStyle="1" :searchInfoList="searchInfoList" />
</view> </view>
@@ -55,11 +58,12 @@
// } // }
this.getShopList(q, "refresh") this.getShopList(q, "refresh")
this.$refs.dropdown.resetInfo() this.$refs.dropdown.resetInfo()
this.keyword = ''
// } // }
}, },
onReachBottom() { onReachBottom() {
if (!this.refresh && this.searchListLength !== 0) { if (!this.refresh && this.searchListLength !== 0) {
this.keyword='' this.keyword = ''
this.pageNum++ this.pageNum++
this.getShopList() this.getShopList()
console.log("触底加载"); console.log("触底加载");
@@ -71,20 +75,25 @@
this.getShopList() this.getShopList()
}, },
methods: { methods: {
getInput(val){ getInput(val) {
console.log('搜索值',val); console.log('搜索值', val);
if(this.pageNum!==1){ if (this.pageNum !== 1) {
this.pageNum=1 this.pageNum = 1
} }
const q = this.$u.queryParams({ const q = this.$u.queryParams({
type: 2, type: 2,
pageSize: this.pageSize, pageSize: this.pageSize,
pageNum: this.pageNum, pageNum: this.pageNum,
kw:val kw: val
}) })
this.$api.getShopList(q).then(res => { this.$api.getShopList(q).then(res => {
this.searchListLength = res.data.data.length this.searchListLength = res.data.data.length
this.searchInfoList = res.data.data this.searchInfoList = res.data.data
if (res.data.data.length == 0) {
this.showNull = true
} else {
this.showNull = false
}
}) })
}, },
getShopList(q, type) { getShopList(q, type) {

View File

@@ -1,19 +1,22 @@
<template> <template>
<view> <view>
<view class="search-box-bg"> <view class="sticky">
<view class="bug-fix"></view> <view class="search-box-bg">
<view class="search-box"> <view class="bug-fix"></view>
<view class="search-box-input"> <view class="search-box">
<u-input v-model="keyword" placeholder="请输入店铺名称进行搜索" placeholder-style="color: #969696" prefixIcon="search" <view class="search-box-input">
prefixIconStyle="font-size: 24px;color: #909399;" border="true" @change="getInput"> <u-input v-model="keyword" placeholder="请输入标题进行搜索" placeholder-style="color: #969696" prefixIcon="search"
</u-input> prefixIconStyle="font-size: 24px;color: #909399;" border="true" @change="getInput">
</u-input>
</view>
</view> </view>
</view> </view>
<view>
<DropDown @getQueryInfo="getShopList" ref="dropdown" @cancelPageNum="cancelPageNum"></DropDown>
</view>
</view> </view>
<view>
<DropDown @getQueryInfo="getShopList" ref="dropdown" @cancelPageNum="cancelPageNum"></DropDown>
</view>
<view class="marginLR10"> <view class="marginLR10">
<ShowShopList :showStyle="1" :shopInfoList="shopInfoList" /> <ShowShopList :showStyle="1" :shopInfoList="shopInfoList" />
</view> </view>
@@ -55,12 +58,12 @@
// } // }
this.getShopList(q, "refresh") this.getShopList(q, "refresh")
this.$refs.dropdown.resetInfo() this.$refs.dropdown.resetInfo()
this.keyword = ''
// } // }
}, },
onReachBottom() { onReachBottom() {
if (!this.refresh && this.shopListLength !== 0) { if (!this.refresh && this.shopListLength !== 0) {
this.keyword='' this.keyword = ''
this.pageNum++ this.pageNum++
this.getShopList() this.getShopList()
console.log("触底加载"); console.log("触底加载");
@@ -86,6 +89,11 @@
this.$api.getShopList(q).then(res => { this.$api.getShopList(q).then(res => {
this.shopListLength = res.data.data.length this.shopListLength = res.data.data.length
this.shopInfoList = res.data.data this.shopInfoList = res.data.data
if (res.data.data.length == 0) {
this.showNull = true
} else {
this.showNull = false
}
}) })
}, },
getShopList(q, type) { getShopList(q, type) {
@@ -155,8 +163,6 @@
.search-box-bg { .search-box-bg {
width: 100%; width: 100%;
position: relative;
z-index: 3;
background-color: #F8F8F8; background-color: #F8F8F8;
.bug-fix { .bug-fix {

View File

@@ -118,21 +118,7 @@
// alpha: 1 // alpha: 1
// } // }
], ],
shopList: { shopList: {}
shopid: 1,
imageUrl: 'https://alifei01.cfp.cn/creative/vcg/800/new/VCG41175510742.jpg',
title: '琴行铺面转让',
promotionNum: 23,
price: 6000,
date: '2023-11-02',
pos: '锦江区',
exactPos: '锦江区-汇源南路366号',
sqr: 100,
zrfText: "转让费20万",
category: '餐饮美食',
uname: "张先生",
phoneNum: 13348946108,
}
} }
}, },
onShow() { onShow() {
@@ -189,24 +175,10 @@
console.log('详情', res); console.log('详情', res);
const data = res.data.data const data = res.data.data
if (res.data.code == 1) { if (res.data.code == 1) {
this.shopList = data this.shopList = {
// { ...data,
// shopid: 1, id: id
// pics: this.$api.imgUrl + data.pics, }
// tt: data.tt,
// num: data.num,
// zujin: data.zujin,
// date: data.update_time,
// area1: data.area1,
// address: data.address,
// mianji: data.mianji,
// zhuanrangfei: "转让费:" + data.zhuanrangfei,
// trade: data.trade,
// lianxiren: data.lianxiren,
// mobile: data.mobile,
// }
// data.pics = [this.$api.imgUrl + data.pics]
// this.shopInfo = data
} }
}) })
}, },

View File

@@ -109,6 +109,9 @@
uni.setStorageSync("uid", data.user_id) uni.setStorageSync("uid", data.user_id)
uni.setStorageSync("member", data.member) uni.setStorageSync("member", data.member)
} }
if (res.data.msg == "登录超时,请重新登录") {
this.isLoad = false
}
}) })
} }
} }

View File

@@ -1,12 +1,15 @@
<template> <template>
<view> <view>
<view class="search-box"> <view class="search-bg sticky">
<view class="search-box-input"> <view class="search-box">
<u-input placeholder="热门搜索" placeholder-style="color: #969696" prefixIcon="search" <view class="search-box-input">
prefixIconStyle="font-size: 24px;color: #909399;" border="true"> <u-input v-model="keyword" placeholder="请输入标题进行搜索" placeholder-style="color: #969696" prefixIcon="search"
</u-input> prefixIconStyle="font-size: 24px;color: #909399;" border="true" @change="getInput">
</u-input>
</view>
</view> </view>
</view> </view>
<view class="content"> <view class="content">
<ShowShopList v-if="listId == 0" :isEdit="true" :showStyle="1" :shopInfoList="searchInfoList" @delItem="handleDel" <ShowShopList v-if="listId == 0" :isEdit="true" :showStyle="1" :shopInfoList="searchInfoList" @delItem="handleDel"
@updateItem="handleUpdate1"></ShowShopList> @updateItem="handleUpdate1"></ShowShopList>
@@ -19,6 +22,10 @@
@delItem="handleDel" @updateItem="handleUpdate4"></ShowShopList> @delItem="handleDel" @updateItem="handleUpdate4"></ShowShopList>
<ShowShopList v-if="listId == 4" :showStyle="0" :shopInfoList="matchList"></ShowShopList> <ShowShopList v-if="listId == 4" :showStyle="0" :shopInfoList="matchList"></ShowShopList>
</view> </view>
<view v-if="showNull" class="showNull">
<text>没有符合条件的数据, 请下拉刷新重置数据~
</text>
</view>
</view> </view>
</template> </template>
@@ -37,18 +44,84 @@
pageNum: 1, pageNum: 1,
matchPageSize: 5, matchPageSize: 5,
matchPageNum: 1, matchPageNum: 1,
keyword: '',
refresh: false,
showNull: false,
} }
}, },
onPullDownRefresh() {
this.refresh = true
if (this.listId !== 4) {
this.getMyPublished(this.listId + 1, this.pageSize, 1)
} else {
this.getMatch(this.matchPageSize, 1)
}
this.keyword = ''
},
onReachBottom() { onReachBottom() {
if (this.listId !== 4 && this.searchListLength !== 0) { if (this.listId !== 4 && !this.refresh && this.searchListLength !== 0) {
this.pageNum++ this.pageNum++
this.getMyPublished(this.listId + 1, this.pageSize, this.pageNum) this.getMyPublished(this.listId + 1, this.pageSize, this.pageNum)
} else if (this.listId == 4 && this.matchListLength !== 0) { } else if (this.listId == 4 && !this.refresh &&this.matchListLength !== 0) {
this.matchPageNum++ this.matchPageNum++
this.getMatch() this.getMatch(this.matchPageSize, this.matchPageNum)
} else if (this.searchListLength == 0) {
this.pageNum = 1
} else if (this.matchListLength == 0) {
this.matchPageNum = 1
} }
this.keyword = ''
}, },
methods: { methods: {
getInput(val) {
console.log('搜索值', val);
if (this.listId !== 4) {
if (this.pageNum !== 1) {
this.pageNum = 1
}
this.$api.getMyPublished({
type: this.listId + 1,
pageSize: this.pageSize,
pageNum: this.pageNum,
title: val
}).then(res => {
console.log('发布信息', res);
if (res.data.code == 1) {
this.searchListLength = res.data.data.length
this.searchInfoList = res.data.data
if (res.data.data.length == 0) {
this.showNull = true
} else {
this.showNull = false
}
} else {
uni.$u.toast(res.data.msg)
}
})
} else {
if (this.matchPageNum !== 1) {
this.matchPageNum = 1
}
this.$api.getMyMatch({
pageSize: this.matchPageSize,
pageNum: this.matchPageNum,
title: val
}).then(res => {
if (res.data.code == 1) {
this.matchListLength = res.data.data.length
this.matchList = res.data.data[0]
if (res.data.data.length == 0) {
this.showNull = true
} else {
this.showNull = false
}
} else {
uni.$u.toast(res.data.msg)
}
})
}
},
handleUpdate1(searchid) { handleUpdate1(searchid) {
console.log('页面更新'); console.log('页面更新');
uni.navigateTo({ uni.navigateTo({
@@ -103,14 +176,25 @@
}) })
}, },
getMatch() { getMatch(pageSize,pageNum) {
this.$api.getMyMatch({ this.$api.getMyMatch({
pageSize: this.matchPageSize, pageSize: pageSize,
pageNum: this.matchPageNum pageNum: pageNum
}).then(res => { }).then(res => {
if (res.data.code == 1) { if (res.data.code == 1) {
this.matchListLength = res.data.data.length this.matchListLength = res.data.data.length
this.matchList = [...this.matchList, ...res.data.data[0]] if(this.refresh){
this.refresh = false
if (res.data.data.length == 0) {
this.showNull = true
} else {
this.showNull = false
}
this.matchList = res.data.data[0]
}else{
this.matchList = [...this.matchList, ...res.data.data[0]]
}
uni.stopPullDownRefresh()
} else { } else {
uni.$u.toast(res.data.msg) uni.$u.toast(res.data.msg)
} }
@@ -122,14 +206,21 @@
pageSize: pageSize, pageSize: pageSize,
pageNum: pageNum pageNum: pageNum
}).then(res => { }).then(res => {
console.log('发布信息', res); console.log('发布信息l', res, res.data.data.length);
if (res.data.code == 1) { if (res.data.code == 1) {
this.searchListLength = res.data.data.length this.searchListLength = res.data.data.length
if (isDelete == 1) { if (isDelete == 1|| this.refresh) {
this.searchInfoList = res.data.data this.searchInfoList = res.data.data
this.refresh = false
if (res.data.data.length == 0) {
this.showNull = true
} else {
this.showNull = false
}
} else { } else {
this.searchInfoList = [...this.searchInfoList, ...res.data.data] this.searchInfoList = [...this.searchInfoList, ...res.data.data]
} }
uni.stopPullDownRefresh()
} else { } else {
uni.$u.toast(res.data.msg) uni.$u.toast(res.data.msg)
} }
@@ -162,9 +253,8 @@
if (this.titletext == '我的匹配') { if (this.titletext == '我的匹配') {
this.listId = 4 this.listId = 4
this.getMatch() this.getMatch(this.matchPageSize, this.matchPageNum)
} }
}, },
computed: { computed: {
@@ -173,6 +263,20 @@
</script> </script>
<style lang="scss"> <style lang="scss">
.showNull {
display: flex;
align-items: center;
justify-content: center;
height: 100rpx;
color: darkgray;
}
.search-bg {
height: 28px;
padding-top: 20rpx;
padding-bottom: 20rpx;
}
.search-box { .search-box {
position: relative; position: relative;
z-index: 1; z-index: 1;
@@ -182,7 +286,6 @@
.search-box-input { .search-box-input {
border-radius: 12rpx; border-radius: 12rpx;
margin-top: 20rpx;
background-color: #fff; background-color: #fff;
opacity: 0.85; opacity: 0.85;

View File

@@ -1,17 +1,13 @@
<template> <template>
<view class="root"> <view class="root">
<InputAndSwiper @getQueryInfo="getInput" :bannerURL="swiperList" :refresh="isRefresh"></InputAndSwiper> <view class="sticky">
<InputAndSwiper @getQueryInfo="getInput" :bannerURL="swiperList" ref="input"></InputAndSwiper>
<view>
<view class="dropdown-bug">
</view>
<view class="marginLR10"> <view class="marginLR10">
<DropDown @getQueryInfo="getShopList" ref="dropdown" @cancelPageNum="cancelPageNum"></DropDown> <DropDown @getQueryInfo="getShopList" ref="dropdown" @cancelPageNum="cancelPageNum"></DropDown>
</view> </view>
<view class="marginLR10"> </view>
<SearchShopList :showStyle="1" :searchInfoList="searchInfoList" /> <view class="marginLR10">
</view> <SearchShopList :showStyle="1" :searchInfoList="searchInfoList" />
</view> </view>
<view v-if="showNull" class="showNull"> <view v-if="showNull" class="showNull">
<text>没有符合条件的数据, 请下拉刷新重置数据~ <text>没有符合条件的数据, 请下拉刷新重置数据~
@@ -36,12 +32,12 @@
customQuery: {}, customQuery: {},
searchListLength: '', searchListLength: '',
showNull: false, showNull: false,
refresh: false, refresh: false
isRefresh: false
} }
}, },
onPullDownRefresh() { onPullDownRefresh() {
this.refresh = true this.refresh = true
this.$refs.input.resetInfo()
// if (this.showNull = true) { // if (this.showNull = true) {
const q = this.$u.queryParams({ const q = this.$u.queryParams({
type: 2, type: 2,
@@ -58,7 +54,7 @@
}, },
onReachBottom() { onReachBottom() {
if (!this.refresh && this.searchListLength !== 0) { if (!this.refresh && this.searchListLength !== 0) {
this.isRefresh = true this.$refs.input.resetInfo()
this.pageNum++ this.pageNum++
this.getShopList() this.getShopList()
console.log("触底加载"); console.log("触底加载");
@@ -94,6 +90,11 @@
this.$api.getShopList(q).then(res => { this.$api.getShopList(q).then(res => {
this.searchListLength = res.data.data.length this.searchListLength = res.data.data.length
this.searchInfoList = res.data.data this.searchInfoList = res.data.data
if (res.data.data.length == 0) {
this.showNull = true
} else {
this.showNull = false
}
}) })
}, },
getShopList(q, type) { getShopList(q, type) {
@@ -143,7 +144,11 @@
} }
</script> </script>
<style>
page {
background-color: #f8f8f8;
}
</style>
<style lang="scss" scoped> <style lang="scss" scoped>
.showNull { .showNull {
display: flex; display: flex;
@@ -153,22 +158,10 @@
color: darkgray; color: darkgray;
} }
page {
background-color: $uni-bg-color-grey;
}
.root { .root {
position: relative; position: relative;
} }
.dropdown-bug {
position: absolute;
background-color: $uni-bg-color-grey;
height: 120rpx;
width: 100%;
transform: translateY(-20rpx);
z-index: 2;
}
.marginLR10 { .marginLR10 {
margin: 0 10px; margin: 0 10px;

View File

@@ -1,22 +1,18 @@
<template> <template>
<view class="root"> <view class="root">
<InputAndSwiper @getQueryInfo="getInput" :bannerURL="swiperList" :refresh="isRefresh"> <view class="sticky">
</InputAndSwiper> <InputAndSwiper @getQueryInfo="getInput" ref="input" :bannerURL="swiperList">
</InputAndSwiper>
<view> <view class="marginLR10 ">
<view class="dropdown-bug">
</view>
<view class="marginLR10">
<DropDown @getQueryInfo="getShopList" ref="dropdown" @cancelPageNum="cancelPageNum"></DropDown> <DropDown @getQueryInfo="getShopList" ref="dropdown" @cancelPageNum="cancelPageNum"></DropDown>
</view> </view>
<view class="marginLR10">
<ShowShopList :showStyle="1" :shopInfoList="shopInfoList"></ShowShopList>
</view>
</view> </view>
<view v-if="showNull" class="showNull"> <view class="marginLR10">
<text>没有符合条件的数据, 请下拉刷新重置数据~ <ShowShopList :showStyle="1" :shopInfoList="shopInfoList"></ShowShopList>
</text> <view v-if="showNull" class="showNull">
<text>没有符合条件的数据, 请下拉刷新重置数据~
</text>
</view>
</view> </view>
<TabBar :current-page="1"></TabBar> <TabBar :current-page="1"></TabBar>
</view> </view>
@@ -24,6 +20,9 @@
<script> <script>
import DropDownItem from "@/components/DropDown/DropDownItem.vue" import DropDownItem from "@/components/DropDown/DropDownItem.vue"
import {
nextTick
} from "vue"
export default { export default {
components: { components: {
DropDownItem DropDownItem
@@ -37,8 +36,7 @@
swiperList: [], swiperList: [],
shopListLength: '', shopListLength: '',
showNull: false, showNull: false,
refresh: false, refresh: false
isRefresh: false
} }
}, },
onPullDownRefresh() { onPullDownRefresh() {
@@ -54,11 +52,12 @@
// } // }
this.getShopList(q, "refresh") this.getShopList(q, "refresh")
this.$refs.dropdown.resetInfo() this.$refs.dropdown.resetInfo()
this.$refs.input.resetInfo()
// } // }
}, },
onReachBottom() { onReachBottom() {
if (!this.refresh && this.shopListLength !== 0) { if (!this.refresh && this.shopListLength !== 0) {
this.isRefresh = true this.$refs.input.resetInfo()
this.pageNum++ this.pageNum++
this.getShopList() this.getShopList()
console.log("触底加载"); console.log("触底加载");
@@ -94,6 +93,11 @@
this.$api.getShopList(q).then(res => { this.$api.getShopList(q).then(res => {
this.shopListLength = res.data.data.length this.shopListLength = res.data.data.length
this.shopInfoList = res.data.data this.shopInfoList = res.data.data
if (res.data.data.length == 0) {
this.showNull = true
} else {
this.showNull = false
}
}) })
}, },
getShopList(q, type) { getShopList(q, type) {
@@ -121,6 +125,7 @@
console.log('查询'); console.log('查询');
this.shopInfoList = [...this.shopInfoList, ...res.data.data] this.shopInfoList = [...this.shopInfoList, ...res.data.data]
} }
uni.stopPullDownRefresh() uni.stopPullDownRefresh()
console.log(this.shopInfoList); console.log(this.shopInfoList);
}) })
@@ -141,32 +146,27 @@
} }
} }
</script> </script>
<style>
<style lang="scss" scoped>
page { page {
background-color: $uni-bg-color-grey; background-color: #f8f8f8;
} }
</style>
<style lang="scss" scoped>
.showNull { .showNull {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
height: 100rpx; height: 100rpx;
color: darkgray; color: darkgray;
// position: absolute;
// top: 0;
// background-color: red;
} }
.root { .root {
position: relative; position: relative;
} }
.dropdown-bug {
position: absolute;
background-color: $uni-bg-color-grey;
height: 120rpx;
width: 100%;
transform: translateY(-20rpx);
z-index: 2;
}
.marginLR10 { .marginLR10 {
margin: 0 10px; margin: 0 10px;

View File

@@ -1,7 +1,7 @@
const serverHost = 'https://spsp.feashow.com/api' //http://xx.xxx.xx const serverHost = 'https://spsp.feashow.com/api' //http://xx.xxx.xx
function isOutTime(res) { function isOutTime(res) {
if (res.data.msg == '登录超时,请重新登录') { if (res.data.msg == '登录超时,请重新登录') {
uni.showToast('登录信息已过期,请重新登录') // uni.showToast('登录信息已过期,请重新登录')
// setTimeout(() => { // setTimeout(() => {
uni.redirectTo({ uni.redirectTo({
url: '/pages/login/login' url: '/pages/login/login'

BIN
static/shoplist/xq_rz.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 987 B

After

Width:  |  Height:  |  Size: 1008 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 987 B

After

Width:  |  Height:  |  Size: 1017 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -74,3 +74,11 @@ $uni-color-subtitle: #555555; // 二级标题颜色
$uni-font-size-subtitle:26px; $uni-font-size-subtitle:26px;
$uni-color-paragraph: #3F536E; // 文章段落颜色 $uni-color-paragraph: #3F536E; // 文章段落颜色
$uni-font-size-paragraph:15px; $uni-font-size-paragraph:15px;
.sticky {
position: sticky;
top: 0;
z-index: 9;
background-color: #F8F8F8;
}

8
utils/share.js Normal file
View File

@@ -0,0 +1,8 @@
export default{
onShareAppMessage() {
return {}
},
onShareTimeline() {
return {}
}
}