Merge branch 'dev' into test

This commit is contained in:
lifizer
2024-07-25 08:55:23 +08:00
18 changed files with 259 additions and 166 deletions
+8
View File
@@ -228,3 +228,11 @@ export function setTopHotelNew(data) {
export function getHotelShareBackgroundImage(id) { export function getHotelShareBackgroundImage(id) {
return request.get("/api/hotelMain/shareImage/" + id, {}, {login: true}) return request.get("/api/hotelMain/shareImage/" + id, {}, {login: true})
} }
/**
* 店铺资讯
* @param id 店铺资讯ID int
* */
export function hotelNewsView(data) {
return request.post("/api/hotelNews/view", data, {login: true})
}
+3
View File
@@ -59,6 +59,9 @@
font-size: 24rpx; font-size: 24rpx;
text-align: right; text-align: right;
} }
.value2 {
width: auto;
}
.red { .red {
color: #FF564A; color: #FF564A;
+6
View File
@@ -67,6 +67,12 @@ export default {
computed: { computed: {
list() { list() {
const temp = this.current === 0 ? this.twoList['usable'] : this.twoList['unusable'] const temp = this.current === 0 ? this.twoList['usable'] : this.twoList['unusable']
if (this.current === 0) {
const localCouponId = uni.getStorageSync('couponId') || 0
temp.map(item => {
item.checked = localCouponId === item.id
})
}
return this.$global.deepClone(temp) return this.$global.deepClone(temp)
}, },
canUse() { canUse() {
+1
View File
@@ -75,6 +75,7 @@
current: cind, current: cind,
indicator: 'default' indicator: 'default'
}); });
this.$emit('click')
}, },
getheight() { getheight() {
let that = this; let that = this;
+13 -6
View File
@@ -207,12 +207,19 @@ export default {
goRefund(order) { goRefund(order) {
// fix bug#1631 // fix bug#1631
if (this.type === 4 || parseInt(order._status._type) === 3) { if (this.type === 4 || parseInt(order._status._type) === 3) {
uni.showToast({ // 打开售后的目的就是开启已完成/待评价订单的退款功能,确认打开售后之后,小程序用户再点击申请退款,就可以进入退款申请填写页面,正常走退款流程,提交退款申请以后,订单状态变为退款中
title: '订单已收货,如需退款请联系客服', if (order.refundSystemStatus === 0) {
mask: false, uni.showToast({
icon: 'none', title: '订单已收货,如需退款请联系客服',
duration: 3000 mask: false,
}) icon: 'none',
duration: 3000
})
} else {
uni.navigateTo({
url: `/pkg_orders/views/refund?id=${order.orderId}`
})
}
} else { } else {
uni.navigateTo({ uni.navigateTo({
url: `/pkg_orders/views/refund?id=${order.orderId}` url: `/pkg_orders/views/refund?id=${order.orderId}`
-1
View File
@@ -432,7 +432,6 @@ export default {
item.checked = false item.checked = false
} }
}) })
uni.removeStorageSync('couponId')
} else { } else {
uni.removeStorageSync('couponId') uni.removeStorageSync('couponId')
} }
+35 -15
View File
@@ -154,19 +154,20 @@
<!-- v6服务项目开始 --> <!-- v6服务项目开始 -->
<view class="service-section goods-section" v-if="storeInfo && storeInfo.isTickets!=1"> <view class="service-section goods-section" v-if="storeInfo && storeInfo.isTickets!=1">
<view class="cell flex jc-between ai-center" @click="changeCoupons()" v-if="couponList['usable'].length>0"> <view
<view> v-if="couponListLimit2ToShow.length > 0"
<template v-for="(item, index) in couponList.usable"> class="cell flex jc-between ai-center"
<text @click="changeCoupons()"
v-if="index < 2" >
:key="index" <view
class="coupon-label tc" v-for="(item, index) in couponListLimit2ToShow"
> :key="index"
{{ item.couponTitle }} class="coupon-label tc"
</text> >
</template> {{ item.couponTitle }}
</view> </view>
<view class="value">优惠详情 <view class="value value2">
优惠详情
<uni-icons type="right" size="13" color="#707070"></uni-icons> <uni-icons type="right" size="13" color="#707070"></uni-icons>
</view> </view>
</view> </view>
@@ -188,7 +189,9 @@
<view class="sub-title flex ai-end"> <view class="sub-title flex ai-end">
<image class="icon-time" :src="webUrl+'/20230106150523489905.png'" mode="scaleToFill"/> <image class="icon-time" :src="webUrl+'/20230106150523489905.png'" mode="scaleToFill"/>
<view class="text"> <view class="text">
{{ storeInfo.isFastPost == 1 ? "预计48小时内发货" : "预计发货时间:" + storeInfo.postTime }} <text v-if="storeInfo.isFastPost == 1">预计48小时内发货</text>
<text v-if="storeInfo.isFastPost == 2">预计72小时内发货</text>
<text v-if="storeInfo.isFastPost == 0">{{ "预计发货时间:" + storeInfo.postTime }}</text>
</view> </view>
</view> </view>
</view> </view>
@@ -507,8 +510,9 @@ export default {
show: false, show: false,
uniqueId: null, uniqueId: null,
isFavorite: false, isFavorite: false,
pageKeyId: '' pageKeyId: '',
}; couponListLimit2ToShow: []
}
}, },
computed: mapGetters(["isLogin", "location", "userInfo"]), computed: mapGetters(["isLogin", "location", "userInfo"]),
onShareAppMessage() { onShareAppMessage() {
@@ -917,6 +921,22 @@ export default {
// data.couponList['unusable']?.map(item => item.status = 2) // data.couponList['unusable']?.map(item => item.status = 2)
this.$set(this, 'couponList', data.couponList) this.$set(this, 'couponList', data.couponList)
const usableList = data.couponList.usable
if (usableList.length > 0) {
const tempType = {}
const tempTypeArr = []
usableList.map(usableItem => {
if (!tempType[usableItem.type + '']) {
tempType[usableItem.type + ''] = 1
tempTypeArr.push(usableItem)
}
})
if (tempTypeArr.length >= 2) {
this.couponListLimit2ToShow = [tempTypeArr[0], tempTypeArr[1]]
} else {
this.couponListLimit2ToShow = [tempTypeArr[0]]
}
}
this.$set(this, 'replyCount', data.replyCount) this.$set(this, 'replyCount', data.replyCount)
this.$set(this, 'replyChance', data.replyChance) this.$set(this, 'replyChance', data.replyChance)
this.reply = data.reply ? [data.reply] : [] this.reply = data.reply ? [data.reply] : []
+34 -15
View File
@@ -232,6 +232,7 @@
controls controls
play-btn-position="center" play-btn-position="center"
class="video-item" class="video-item"
@play="infoItemViewClick(item)"
/> />
</view> </view>
<view v-else> <view v-else>
@@ -240,6 +241,7 @@
:num="item.resources.length" :num="item.resources.length"
:img-radius="10" :img-radius="10"
style="width: 100%;" style="width: 100%;"
@click="infoItemViewClick(item)"
/> />
</view> </view>
</view> </view>
@@ -258,21 +260,21 @@
<view class="flex"> <view class="flex">
<image <image
v-if="!item.zanVo" v-if="!item.zanVo"
:src="webUrl + '/page/hotel/zan-off.png'" :src="webUrl + '/page/hotel/zan-off-2.png'"
class="zan-off-icon" class="zan-off-icon"
@click="likeInfoItemHandle(item, index, 1)" @click="likeInfoItemHandle(item, index, item.zan + 1, 1)"
/> />
<image <image
v-else v-else
:src="webUrl + '/page/hotel/zan-on.png'" :src="webUrl + '/page/hotel/zan-on-2.png'"
class="zan-on-icon" class="zan-on-icon"
@click="likeInfoItemHandle(item, index, 0)" @click="likeInfoItemHandle(item, index, item.zan -1, 0)"
/> />
<!-- <image <text
:src="webUrl + '/20230803151302213857.png'" v-show="item.zan > 0"
class="icon" :class="item.zanVo ? 'on' : ''"
/> class="seeNum-txt"
<text class="seeNum-txt">{{ item.zan }}</text> --> >{{ item.zan }}</text>
</view> </view>
<view v-if="isMyInn" class="flex more-btn" @click="toggleMoreHandle(index)"> <view v-if="isMyInn" class="flex more-btn" @click="toggleMoreHandle(index)">
<image <image
@@ -422,7 +424,8 @@ import {
postHotelNewsDel, postHotelNewsDel,
setTopHotelNew, setTopHotelNew,
getHotelNewsZan, getHotelNewsZan,
getHotelShareBackgroundImage getHotelShareBackgroundImage,
hotelNewsView
} from "@/api/inn.js" } from "@/api/inn.js"
import {formatDateTime} from "@/utils" import {formatDateTime} from "@/utils"
import {getUrlParam} from "@/utils/common.js" import {getUrlParam} from "@/utils/common.js"
@@ -657,6 +660,17 @@ export default {
infoClick: function (info) { infoClick: function (info) {
// this.$yrouter.push('/pagesInn/inn/innInfoDetail?id=' + info.id) // this.$yrouter.push('/pagesInn/inn/innInfoDetail?id=' + info.id)
}, },
infoItemViewClick(item) {
uni.$u.debounce(() => {
hotelNewsView({ id: item.id }).finally(() => {
this.infoArray.map(info => {
if (info.id === item.id) {
info.pv += 1
}
})
})
}, 500)
},
publishBtnClick: function () { publishBtnClick: function () {
this.$yrouter.push('/pagesInn/inn/innInfoPublish?hotelId=' + this.inn.id) this.$yrouter.push('/pagesInn/inn/innInfoPublish?hotelId=' + this.inn.id)
}, },
@@ -916,15 +930,15 @@ export default {
}, 3000) }, 3000)
}) })
}, },
likeInfoItemHandle(item, index, value) { likeInfoItemHandle(item, index, value, voValue) {
getHotelNewsZan(item.id).then(res => { getHotelNewsZan(item.id).then(res => {
const { success } = res const { success } = res
if (success) { if (success) {
this.$dialog.toast({ this.$dialog.toast({
mes: '操作成功!' mes: '操作成功!'
}) })
this.$set(this.infoArray[index], 'zanVo', value) this.$set(this.infoArray[index], 'zan', value)
// this.fetchInnInfoList() this.$set(this.infoArray[index], 'zanVo', voValue)
} }
}) })
} }
@@ -1374,13 +1388,18 @@ export default {
margin: 0 8rpx 0 0; margin: 0 8rpx 0 0;
} }
.zan-off-icon { .zan-off-icon {
width: 138rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
} }
.zan-on-icon { .zan-on-icon {
width: 80rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
} }
.seeNum-txt {
&.on {
color: #D81E06;
}
}
.more-btn { .more-btn {
position: relative; position: relative;
.more-wrapper { .more-wrapper {
+12 -12
View File
@@ -330,36 +330,36 @@ export default {
}) })
}, },
submit() { submit() {
if (this.innApplyInfo.logo.length === 0) { if (!this.innApplyInfo.logo) {
this.$dialog.error('请上传店铺LOGO图片') this.$dialog.error('请上传店铺LOGO')
return return
} }
if (this.innApplyInfo.cover.length === 0 && this.innApplyInfo.coverType === 1) { if (!this.innApplyInfo.cover && this.innApplyInfo.coverType === 1) {
this.$dialog.error('请上传店铺封面图片') this.$dialog.error('请上传店铺封面图片')
return return
} }
if (this.innApplyInfo.coverVideo.length === 0 && this.innApplyInfo.coverType === 2) { if (!this.innApplyInfo.coverVideo && this.innApplyInfo.coverType === 2) {
this.$dialog.error('请上传店铺封面视频') this.$dialog.error('请上传店铺封面视频')
return return
} }
if (this.innApplyInfo.ownerName.length === 0) { if (!this.innApplyInfo.ownerName) {
this.$dialog.error('请输入店主名字') this.$dialog.error('请输入店主名字')
return return
} }
if (this.innApplyInfo.content.length === 0) { if (!this.innApplyInfo.content) {
this.$dialog.error('请输入一句话介绍') this.$dialog.error('请输入一句话介绍')
return return
} }
if (this.innApplyInfo.desc.length === 0) { // if (!this.innApplyInfo.desc) {
this.$dialog.error('请输入店铺简介') // this.$dialog.error('请输入店铺简介')
return // return
} // }
if (this.uploadedFilesArray.length === 0) { if (this.uploadedFilesArray.length === 0) {
this.$dialog.error('请上传至少一张店铺图片') this.$dialog.error('请上传店铺图片')
return return
} }
if (this.uploadedQualificationFilesArray.length === 0) { if (this.uploadedQualificationFilesArray.length === 0) {
this.$dialog.error('请上传至少一张店铺资质图片') this.$dialog.error('请上传资质图片')
return return
} }
// 深拷贝 // 深拷贝
+6 -16
View File
@@ -49,15 +49,13 @@
</template> </template>
<script> <script>
import {userUnionId} from "@/api/public";
export default { export default {
name: "room", name: "room",
data() { data() {
return { return {
webUrl: this.$VUE_APP_RESOURCES_URL, webUrl: this.$VUE_APP_RESOURCES_URL,
token: null, token: null,
unionId: null, uid: null,
userInfo: null, userInfo: null,
storeId: null, storeId: null,
merName: null, merName: null,
@@ -82,7 +80,8 @@ export default {
} }
this.token = uni.getStorageSync("login_status"); this.token = uni.getStorageSync("login_status");
this.userInfo = uni.getStorageSync("userInfo"); this.userInfo = uni.getStorageSync("userInfo");
this.getUnionId(); this.uid = this.userInfo.uid
this.connectSocketInit()
}, },
onUnload() { onUnload() {
if (this.socketOpen) { if (this.socketOpen) {
@@ -90,15 +89,6 @@ export default {
} }
}, },
methods: { methods: {
getUnionId() {
userUnionId().then(res => {
if (res.success) {
this.unionId = res.data;
this.connectSocketInit();
}
});
},
getUploadToken() { getUploadToken() {
let that = this; let that = this;
@@ -136,7 +126,7 @@ export default {
let param = { let param = {
type: "msg", type: "msg",
user_type: 0, user_type: 0,
unionid: that.unionId, uid: that.uid,
username: that.userInfo.nickname, username: that.userInfo.nickname,
header: that.userInfo.avatar, header: that.userInfo.avatar,
room_id: that.roomId, room_id: that.roomId,
@@ -201,7 +191,7 @@ export default {
let param = { let param = {
type: "msg", type: "msg",
user_type: 0, user_type: 0,
unionid: this.unionId, uid: this.uid,
username: this.userInfo.nickname, username: this.userInfo.nickname,
header: this.userInfo.avatar, header: this.userInfo.avatar,
room_id: this.roomId, room_id: this.roomId,
@@ -217,7 +207,7 @@ export default {
let param = { let param = {
type: "join", type: "join",
user_type: 0, user_type: 0,
unionid: this.unionId, uid: this.uid,
username: this.userInfo.nickname, username: this.userInfo.nickname,
header: this.userInfo.avatar, header: this.userInfo.avatar,
store_id: this.storeId store_id: this.storeId
+24 -27
View File
@@ -1,17 +1,21 @@
<template> <template>
<view class="common-roomLogs"> <view class="common-roomLogs">
<view class="item flex" v-for="(item,index) in list" :key="index" @click="goRoom(item)" <view v-if="list.length > 0">
v-if="list.length>0"> <view
<image class="cover flex-0" :src="item.store_avatar || webUrl+'/20221114155314348118.png'"/> v-for="(item,index) in list"
<view> :key="index" @click="goRoom(item)"
<view class="flex jc-between ai-center"> class="item flex"
<view class="name">{{ item.store_name }}</view> >
<view class="datetime" v-if="item.last_msg">{{ item.last_msg.created_at }}</view> <image class="cover flex-0" :src="item.store_avatar || webUrl+'/20221114155314348118.png'"/>
<view>
<view class="flex jc-between ai-center">
<view class="name">{{ item.store_name }}</view>
<view class="datetime" v-if="item.last_msg">{{ item.last_msg.created_at }}</view>
</view>
<view class="sub one-t" v-if="item.last_msg">{{ item.last_msg.msg_type===0?item.last_msg.msg_content:'[图片]' }}</view>
</view> </view>
<view class="sub one-t" v-if="item.last_msg">{{ item.last_msg.msg_type===0?item.last_msg.msg_content:'[图片]' }}</view>
</view> </view>
</view> </view>
<view class="v4-nodata" v-if="list.length===0"> <view class="v4-nodata" v-if="list.length===0">
<image src="@/static/images/img_nodata.png" mode="scaleToFill"/> <image src="@/static/images/img_nodata.png" mode="scaleToFill"/>
<view class="text">暂无数据</view> <view class="text">暂无数据</view>
@@ -20,42 +24,35 @@
</template> </template>
<script> <script>
import {userUnionId} from "@/api/public"; import { mapGetters } from 'vuex'
export default { export default {
name: "roomLogs", name: 'RoomLogs',
data() { data() {
return { return {
webUrl:this.$VUE_APP_RESOURCES_URL, webUrl:this.$VUE_APP_RESOURCES_URL,
unionId: null, uid: null,
list: [] list: []
} }
}, },
computed: mapGetters(['userInfo']),
onShow() { onShow() {
this.getUnionId(); this.uid = this.userInfo.uid
this.fetchList()
}, },
methods: { methods: {
goRoom(item) { goRoom(item) {
uni.navigateTo({url: `/pkg_common/views/room?id=${item.store_id}&name=${item.store_name}`}) uni.navigateTo({url: `/pkg_common/views/room?id=${item.store_id}&name=${item.store_name}`})
}, },
getUnionId() {
userUnionId().then(res => {
if (res.success) {
this.unionId = res.data;
this.fetchList();
}
});
},
fetchList() { fetchList() {
const _this = this
uni.request({ uni.request({
url: this.$SERVICE_API_URL + "/customer-chat-list", url: _this.$SERVICE_API_URL + '/customer-chat-list',
method: "POST", method: 'POST',
data: {unionid: this.unionId}, data: {uid: _this.uid},
success: res => { success: res => {
if (res.data.status_code === 200) { if (res.data.status_code === 200) {
this.list = res.data.content; _this.list = res.data.content
} }
} }
}) })
+19 -16
View File
@@ -218,6 +218,7 @@
<u-input <u-input
v-model="form.phone" v-model="form.phone"
:disabled="reviewing" :disabled="reviewing"
maxlength="11"
type="number" type="number"
border="none" border="none"
placeholder="请填写联系方式" placeholder="请填写联系方式"
@@ -537,8 +538,8 @@ export default {
}, },
getCode() { getCode() {
if (this.reviewing) return if (this.reviewing) return
if (this.form.phone.length === 0) { if (!this.form.phone) {
uni.$u.toast('请输入手机号') uni.$u.toast('请输入手机号')
return return
} }
if (this.form.phone.length !== 11) { if (this.form.phone.length !== 11) {
@@ -584,20 +585,22 @@ export default {
} }
this.isDraft = data.isDraft this.isDraft = data.isDraft
this.reviewStatus = data.reviewStatus this.reviewStatus = data.reviewStatus
switch (data.reviewStatus) { if (data.isDraft !== 1) {
case 0: switch (data.reviewStatus) {
this.stateTitle = '审核中' case 0:
this.stateType = 'primary' this.stateTitle = '审核中'
this.reviewing = true this.stateType = 'primary'
break this.reviewing = true
case 1: break
this.reviewing = false case 1:
break this.reviewing = false
case 2: break
this.stateTitle = '审核驳回:' + data.reviewMsg case 2:
this.stateType = 'error' this.stateTitle = '审核驳回:' + data.reviewMsg
this.reviewing = false this.stateType = 'error'
break this.reviewing = false
break
}
} }
if (data.hotelInfo) { if (data.hotelInfo) {
// 店铺图片 // 店铺图片
+20 -17
View File
@@ -76,6 +76,7 @@
<template #value> <template #value>
<u-input <u-input
v-model="formSupplier.phone" v-model="formSupplier.phone"
maxlength="11"
:disabled="reviewing" :disabled="reviewing"
type="number" type="number"
border="none" border="none"
@@ -718,11 +719,11 @@ export default {
}, },
getCode() { getCode() {
if (this.reviewing) return if (this.reviewing) return
if (this.form.phone.length === 0) { if (!this.formSupplier.phone) {
uni.$u.toast('请输入手机号') uni.$u.toast('请输入手机号')
return return
} }
if (this.form.phone.length !== 11) { if (this.formSupplier.phone.length !== 11) {
uni.$u.toast('请输入11位手机号') uni.$u.toast('请输入11位手机号')
return return
} }
@@ -765,20 +766,22 @@ export default {
} }
this.isDraft = data.isDraft this.isDraft = data.isDraft
this.reviewStatus = data.reviewStatus this.reviewStatus = data.reviewStatus
switch (data.reviewStatus) { if (data.isDraft !== 1) {
case 0: switch (data.reviewStatus) {
this.stateTitle = '审核中' case 0:
this.stateType = 'primary' this.stateTitle = '审核中'
this.reviewing = true this.stateType = 'primary'
break this.reviewing = true
case 1: break
this.reviewing = false case 1:
break this.reviewing = false
case 2: break
this.stateTitle = '审核驳回:' + data.reviewMsg case 2:
this.stateType = 'error' this.stateTitle = '审核驳回:' + data.reviewMsg
this.reviewing = false this.stateType = 'error'
break this.reviewing = false
break
}
} }
if (data.hotelInfo) { if (data.hotelInfo) {
// 店铺图片 // 店铺图片
+34 -21
View File
@@ -77,6 +77,7 @@
<u-input <u-input
v-model="form.phone" v-model="form.phone"
:disabled="reviewing" :disabled="reviewing"
maxlength="11"
type="number" type="number"
border="none" border="none"
placeholder="请填写联系方式" placeholder="请填写联系方式"
@@ -136,11 +137,16 @@
v-if="!form.qualification" v-if="!form.qualification"
class="btn-upload" class="btn-upload"
>上传图片</view> >上传图片</view>
<image <view v-else>
v-else <view v-if="qualificationArr.length > 0" class="flex">
:src="form.qualification" <image
class="img-preview" v-for="(item, index) in qualificationArr"
/> :key="index"
:src="item"
class="img-preview"
/>
</view>
</view>
</view> </view>
</template> </template>
</u-cell> </u-cell>
@@ -298,6 +304,7 @@ export default {
}, },
district: [], district: [],
address: {}, address: {},
qualificationArr: [],
isAgree: false, isAgree: false,
show: false, show: false,
notice: '', notice: '',
@@ -327,8 +334,8 @@ export default {
}, },
getCode() { getCode() {
if (this.reviewing) return if (this.reviewing) return
if (this.form.phone.length === 0) { if (!this.form.phone) {
uni.$u.toast('请输入手机号') uni.$u.toast('请输入手机号')
return return
} }
if (this.form.phone.length !== 11) { if (this.form.phone.length !== 11) {
@@ -372,23 +379,28 @@ export default {
this.isDraft = data.isDraft this.isDraft = data.isDraft
this.reviewStatus = data.reviewStatus this.reviewStatus = data.reviewStatus
} }
switch (data.reviewStatus) { if (data.isDraft !== 1) {
case 0: switch (data.reviewStatus) {
this.stateTitle = '审核中' case 0:
this.stateType = 'primary' this.stateTitle = '审核中'
this.reviewing = true this.stateType = 'primary'
break; this.reviewing = true
case 1: break;
this.reviewing = false case 1:
break; this.reviewing = false
case 2: break;
this.stateTitle = '审核驳回:' + data.reviewMsg case 2:
this.stateType = 'error' this.stateTitle = '审核驳回:' + data.reviewMsg
this.reviewing = false this.stateType = 'error'
break; this.reviewing = false
break;
}
} }
if (data.wholesalerInfo) { if (data.wholesalerInfo) {
this.form = data.wholesalerInfo this.form = data.wholesalerInfo
if (this.form.qualification) {
this.qualificationArr = this.form.qualification.split(',')
}
this.form.position = this.$forceToDecimal(this.form.longitude, 6) + ',' + this.$forceToDecimal(this.form.latitude, 6) this.form.position = this.$forceToDecimal(this.form.longitude, 6) + ',' + this.$forceToDecimal(this.form.latitude, 6)
this.form.area = `${this.form.provinceName} ${this.form.cityName} ${this.form.areaName}` this.form.area = `${this.form.provinceName} ${this.form.cityName} ${this.form.areaName}`
} }
@@ -403,6 +415,7 @@ export default {
break break
case 'licence': case 'licence':
this.form.qualification = img this.form.qualification = img
this.qualificationArr = [img]
break break
} }
}) })
+2 -2
View File
@@ -258,8 +258,8 @@ export default {
font-size: 12px; font-size: 12px;
color: #fff; color: #fff;
.good-img { .good-img {
width: 96px; width: 90px;
height: 96px; height: 90px;
.img { .img {
width: 100%; width: 100%;
height: 100%; height: 100%;
+17 -9
View File
@@ -7,13 +7,13 @@
type="text" type="text"
placeholder="搜索内容" placeholder="搜索内容"
placeholder-style="color:#949494" placeholder-style="color:#949494"
@confirm="search" @confirm="searchClick"
> >
<image <image
:src="webUrl+'/20220903142935869059.png'" :src="webUrl+'/20220903142935869059.png'"
class="icon" class="icon"
mode="scaleToFill" mode="scaleToFill"
@click="search" @click="searchClick"
/> />
</view> </view>
<swiper <swiper
@@ -101,7 +101,7 @@
@click="goStore(item.id)" @click="goStore(item.id)"
> >
<image <image
:src="item.cover" :src="item.cover + (item.coverType === 2 ? '?vframe/jpg/offset/1' : '')"
class="cover" class="cover"
mode="scaleToFill" mode="scaleToFill"
/> />
@@ -115,7 +115,11 @@
<view class="one-t">{{ item.name }}</view> <view class="one-t">{{ item.name }}</view>
</view> </view>
</view> </view>
<view class="item" @click="goGoods(item.id)" v-else> <view
v-else
class="item"
@click="goGoods(item.id)"
>
<image <image
:src="item.image" :src="item.image"
class="cover" class="cover"
@@ -178,7 +182,7 @@ export default {
}) })
fetchCity(4).then(({data}) => { fetchCity(4).then(({data}) => {
this.asideList = data.group this.asideList = data.group
this.search() this.searchReq()
}) })
}, },
changeTab(index) { changeTab(index) {
@@ -187,13 +191,17 @@ export default {
this.page = 1 this.page = 1
this.dataList = [] this.dataList = []
this.tabIndex = index this.tabIndex = index
this.search() this.searchReq()
}, },
onLower() { onLower() {
this.page++ this.page++
this.search() this.searchReq()
}, },
search() { searchClick() {
this.page = 1
this.searchReq()
},
searchReq() {
let param = { let param = {
page: this.page, page: this.page,
limit: 10, limit: 10,
@@ -235,7 +243,7 @@ export default {
this.asideIndex = index this.asideIndex = index
this.page = 1 this.page = 1
this.dataList = [] this.dataList = []
this.search() this.searchReq()
}, },
goStore(id) { goStore(id) {
uni.navigateTo({ uni.navigateTo({
+24 -8
View File
@@ -1,15 +1,33 @@
<template> <template>
<view class="container"> <view class="container">
<mescroll-body ref="mescrollRef" top="0" bottom="0" class='cotent-scroll' :up="upOption" :down="downOption" <mescroll-body
@up="upCallback" @down="downCallback" @init="mescrollInit" @emptyclick="emptyClick"> ref="mescrollRef"
:up="upOption"
:down="downOption"
top="0"
bottom="0"
class='cotent-scroll'
@up="upCallback"
@down="downCallback"
@init="mescrollInit"
@emptyclick="emptyClick"
>
<view id="dataList" class="data-list acea-row row-column"> <view id="dataList" class="data-list acea-row row-column">
<view class="item acea-row row-column" :style="{'background':card.bgColor}" :key="index" <view
v-for="(card, index) in list" @click="cardClick(card)"> v-for="(card, index) in list"
:key="index"
:style="{'background':card.bgColor}"
class="item acea-row row-column"
@click="cardClick(card)"
>
<view class="acea-row row-column"> <view class="acea-row row-column">
<view class="acea-row row-between"> <view class="acea-row row-between">
<view class="txt-bankname">{{ card.bankName }}</view> <view class="txt-bankname">{{ card.bankName }}</view>
<view class="unbind-btn" @click="unbindCard(index)">解除绑定</view> <view
v-if="!isSelectMode"
class="unbind-btn"
@click.stop="unbindCard(index)"
>解除绑定</view>
</view> </view>
<view class="acea-row row-middle" style="margin-top: 58rpx;flex-wrap: nowrap;"> <view class="acea-row row-middle" style="margin-top: 58rpx;flex-wrap: nowrap;">
<view class="acea-row row-left" style="flex: 1;margin-right: 18rpx;"> <view class="acea-row row-left" style="flex: 1;margin-right: 18rpx;">
@@ -151,8 +169,6 @@ export default {
// }); // });
uni.setStorageSync("selectedBankCard", JSON.stringify(card)); uni.setStorageSync("selectedBankCard", JSON.stringify(card));
this.$yrouter.back(); this.$yrouter.back();
} else {
} }
}, },
addBtnClick: function () { addBtnClick: function () {
+1 -1
View File
@@ -20,7 +20,7 @@
<view class="list flex flex-wrap" v-if="list.length"> <view class="list flex flex-wrap" v-if="list.length">
<view class="item" v-for="item in list" :key="item.id" @click="goStore(item)"> <view class="item" v-for="item in list" :key="item.id" @click="goStore(item)">
<image class="image" :src="item.cover" mode="scaleToFill"></image> <image class="image" :src="item.cover + (item.coverType === 2 ? '?vframe/jpg/offset/1' : '')" mode="scaleToFill"></image>
<view class="title more-t">{{ item.content }}</view> <view class="title more-t">{{ item.content }}</view>