main
Lirui 8 months ago
parent 387071f202
commit 743dba1045
  1. 9
      pages.json
  2. 7
      pages/activity/groupon/order.vue
  3. 2
      pages/announcement/detail.vue
  4. 1
      pages/commission/teamNew.vue
  5. 12
      pages/coupon/list.vue
  6. 2
      pages/goods/index.vue
  7. 2
      pages/index/category.vue
  8. 17
      pages/order/confirm.vue
  9. 48
      pages/order/detail.vue
  10. 49
      pages/order/list.vue
  11. 4
      pages/user/info.vue
  12. 9
      sheep/api/order.js
  13. 6
      sheep/components/s-businessSchool/s-businessSchool.vue
  14. 26
      sheep/components/s-coupon-choose/s-coupon-choose.vue
  15. 3
      sheep/components/s-goods-column/s-goods-column.vue
  16. 6
      sheep/components/s-image-banner/s-image-banner.vue
  17. 20
      sheep/components/s-menu-tools/s-menu-tools.vue
  18. 5
      sheep/components/s-platform-announcement-item/s-platform-announcement-item.vue
  19. 39
      sheep/components/s-ztaddress-info/s-ztaddress-info.vue
  20. 16
      sheep/ui/su-swiper/su-swiper.vue

@ -157,15 +157,6 @@
"group": "商品" "group": "商品"
} }
}, },
{
"path": "comment/add",
"style": {
"navigationBarTitleText": "评价商品"
},
"meta": {
"auth": true
}
},
{ {
"path": "comment/list", "path": "comment/list",
"style": { "style": {

@ -140,13 +140,6 @@
}); });
} }
//
function onComment(orderSN) {
sheep.$router.go('/pages/order/comment/add', {
orderSN,
});
}
// //
async function onConfirm(orderId) { async function onConfirm(orderId) {
const { code, data } = await sheep.$api.order.confirm(orderId); const { code, data } = await sheep.$api.order.confirm(orderId);

@ -4,7 +4,7 @@
<view class="detail"> <view class="detail">
<view v-if="state.type === '公告详情'" class="detail-header"> <view v-if="state.type === '公告详情'" class="detail-header">
<view class="detail-header-title">{{ state.title }}</view> <view class="detail-header-title">{{ state.title }}</view>
<view class="detail-header-time">{{ dayjs(state.time).format('YYYY.MM.DD') }}</view> <view class="detail-header-time">{{ dayjs(state.time).format('YYYY/MM/DD') }}</view>
</view> </view>
<view class="detail-content" v-html="state.detailContent"></view> <view class="detail-content" v-html="state.detailContent"></view>
</view> </view>

@ -81,6 +81,7 @@
background: #fff; background: #fff;
border-radius: 15rpx 15rpx 15rpx 15rpx; border-radius: 15rpx 15rpx 15rpx 15rpx;
padding: 38rpx 40rpx 34rpx; padding: 38rpx 40rpx 34rpx;
margin-bottom: 15rpx;
&-top { &-top {
padding-bottom: 38rpx; padding-bottom: 38rpx;
border-bottom: 1rpx solid #eee; border-bottom: 1rpx solid #eee;

@ -168,13 +168,14 @@
} }
} }
async function commissionCouponList() { async function commissionCouponList() {
const { code, data ,msg } = await sheep.$api.coupon.commissionCouponList(); const { code, data, msg } = await sheep.$api.coupon.commissionCouponList();
if (code === 1 && data && `${data.is_get}` === '0') { if (code === 1 && data && `${data.is_get}` === '0') {
state.dataList.forEach((item) => { state.dataList.forEach((item) => {
item.typeList = data[item.key].map(val => ({ name: val.name, time: `${val.get_start_time}~${val.get_end_time}`, id: val.id })) item.typeList = data[item.key].map(val => ({ name: val.name, time: `${val.get_start_time}~${val.get_end_time}`, id: val.id }))
}); });
state.show = true; state.show = true;
state.level = data.level_name; state.level = data.level_name;
console.log(111111111);
} else { } else {
getCoupon(); getCoupon();
} }
@ -191,9 +192,14 @@
} }
async function getProgramIds(key) { async function getProgramIds(key) {
const { typeList } = state.dataList.find((val) => val.key === key); const { typeList } = state.dataList.find((val) => val.key === key);
const { code, data } = await sheep.$api.coupon.getIds(typeList.map(val => (val.id)).join()); const { code, data, msg } = await sheep.$api.coupon.getIds(typeList.map(val => (val.id)).join());
state.show = false; state.show = false;
getCoupon(); if (code !== 1) {
sheep.$helper.toast(msg);
}
setTimeout(() => {
getCoupon();
}, 500)
} }
onLoad((Option) => { onLoad((Option) => {
state.type = Option.type; state.type = Option.type;

@ -31,7 +31,7 @@
<view class="price-box ss-flex ss-col-top"> <view class="price-box ss-flex ss-col-top">
<view class="price-text ss-m-r-16"> <view class="price-text ss-m-r-16">
<view>{{ state.selectedSkuPrice.price || (state.goodsInfo && formatPrice(state.goodsInfo.price)) }}</view> <view>{{ state.selectedSkuPrice.price || (state.goodsInfo && formatPrice(state.goodsInfo.price)) }}</view>
<view class="price-text-score">{{ state.selectedSkuPrice.back_score || 0 }}积分</view> <view class="price-text-score">{{ state.goodsInfo.back_score || 0 }}积分</view>
</view> </view>
<view class="origin-price-text" v-if="state.goodsInfo.original_price > 0"> <view class="origin-price-text" v-if="state.goodsInfo.original_price > 0">
{{ state.selectedSkuPrice.original_price || state.goodsInfo.original_price }} {{ state.selectedSkuPrice.original_price || state.goodsInfo.original_price }}

@ -11,7 +11,7 @@
<view class="s-category-item-content-item-msg"> <view class="s-category-item-content-item-msg">
<view class="s-category-item-content-item-msg-title">{{ unit.title }}</view> <view class="s-category-item-content-item-msg-title">{{ unit.title }}</view>
<view class="s-category-item-content-item-msg-price">{{ unit.price[0] }}</view> <view class="s-category-item-content-item-msg-price">{{ unit.price[0] }}</view>
<view class="s-category-item-content-item-msg-score">{{ unit.title.back_score || 0 }}积分</view> <view class="s-category-item-content-item-msg-score">{{ unit.back_score || 0 }}积分</view>
</view> </view>
</view> </view>
</view> </view>

@ -20,6 +20,7 @@
<s-ztaddress-item :item="state.addressInfo" :hasBorderBottom="false" @tap="zitionSelectAddress"> <s-ztaddress-item :item="state.addressInfo" :hasBorderBottom="false" @tap="zitionSelectAddress">
<view class="ss-rest-button"><text class="_icon-forward"></text></view> <view class="ss-rest-button"><text class="_icon-forward"></text></view>
</s-ztaddress-item> </s-ztaddress-item>
<s-ztaddress-info :hasBorderBottom="false" @tap="zitionInfotap"></s-ztaddress-info>
</view> </view>
<view class="order-card-box ss-m-b-14"> <view class="order-card-box ss-m-b-14">
<s-goods-item <s-goods-item
@ -230,6 +231,14 @@
sheep.$router.go('/pages/user/address/zitilist'); sheep.$router.go('/pages/user/address/zitilist');
} }
function zitionInfotap() {
uni.$once('zitiinfo', (e) => {
state.orderPayload = {...state.orderPayload, ...e };
console.log(e, state.orderPayload, 2222)
});
}
// & // &
async function changeConsignee(addressInfo = {}) { async function changeConsignee(addressInfo = {}) {
if (isEmpty(addressInfo)) { if (isEmpty(addressInfo)) {
@ -363,9 +372,8 @@
} }
.uni-easyinput__content-input { .uni-easyinput__content-input {
font-size: 28rpx; font-size: 26rpx !important;
height: 72rpx; height: 60rpx !important;
text-align: right !important;
padding-right: 0 !important; padding-right: 0 !important;
.uni-input-input { .uni-input-input {
@ -387,6 +395,9 @@
font-size: 30rpx !important; font-size: 30rpx !important;
color: var(--ui-BG-Main) !important; color: var(--ui-BG-Main) !important;
} }
.uni-calendar--fixed {
bottom: 130rpx;
}
} }
.score-img { .score-img {
width: 36rpx; width: 36rpx;

@ -101,17 +101,6 @@
</template> </template>
<template #tool> <template #tool>
<view class="ss-flex"> <view class="ss-flex">
<button
class="ss-reset-button apply-btn"
v-if="item.btns.includes('aftersale')"
@tap.stop="
sheep.$router.go('/pages/order/aftersale/apply', {
item: JSON.stringify(item),
})
"
>
申请售后
</button>
<button <button
class="ss-reset-button apply-btn" class="ss-reset-button apply-btn"
v-if="item.btns.includes('re_aftersale')" v-if="item.btns.includes('re_aftersale')"
@ -278,12 +267,6 @@
@tap="onConfirm(state.orderInfo.id)" @tap="onConfirm(state.orderInfo.id)"
>确认收货</button >确认收货</button
> >
<button
class="ss-reset-button cancel-btn"
v-if="state.orderInfo.btns?.includes('comment')"
@tap="onComment(state.orderInfo.order_sn)"
>评价晒单</button
>
<button <button
v-if="state.orderInfo.btns?.includes('invoice')" v-if="state.orderInfo.btns?.includes('invoice')"
class="ss-reset-button cancel-btn" class="ss-reset-button cancel-btn"
@ -291,13 +274,6 @@
> >
查看发票 查看发票
</button> </button>
<!-- <button
v-if="state.orderInfo.btns?.includes('re_apply_refund')"
class="ss-reset-button cancel-btn"
@tap.stop="onRefund(state.orderInfo.id)"
>
重新退款
</button> -->
</view> </view>
</su-fixed> </su-fixed>
</s-layout> </s-layout>
@ -367,21 +343,6 @@
}); });
} }
// 退
async function onRefund(orderId) {
uni.showModal({
title: '提示',
content: '确定要申请退款吗?',
success: async function (res) {
if (res.confirm) {
const { code, data } = await sheep.$api.order.applyRefund(orderId);
if (code === 1) {
getOrderDetail(data.order_sn);
}
}
},
});
}
// //
async function onExpress(orderId) { async function onExpress(orderId) {
@ -460,15 +421,6 @@
}); });
} }
//
function onComment(orderSN) {
uni.$once('SELECT_INVOICE', (e) => {
state.invoiceInfo = e.invoiceInfo;
});
sheep.$router.go('/pages/goods/comment/add', {
orderSN,
});
}
async function getOrderDetail(id) { async function getOrderDetail(id) {
let res = {}; let res = {};

@ -38,17 +38,6 @@
> >
<template #tool> <template #tool>
<view class="ss-flex"> <view class="ss-flex">
<button
class="ss-reset-button apply-btn"
v-if="item.btns.includes('aftersale')"
@tap.stop="
sheep.$router.go('/pages/order/aftersale/apply', {
item: JSON.stringify(item),
})
"
>
申请售后
</button>
<button <button
class="ss-reset-button apply-btn" class="ss-reset-button apply-btn"
v-if="item.btns.includes('re_aftersale')" v-if="item.btns.includes('re_aftersale')"
@ -123,9 +112,6 @@
<view class="more-item ss-flex ss-col-center ss-reset-button"> <view class="more-item ss-flex ss-col-center ss-reset-button">
<view class="item-title">查看发票</view> <view class="item-title">查看发票</view>
</view> </view>
<view class="more-item ss-flex ss-col-center ss-reset-button">
<view class="item-title">评价晒单</view>
</view>
</view> </view>
</template> </template>
</su-popover> --> </su-popover> -->
@ -176,14 +162,6 @@
取消订单 取消订单
</button> </button>
<button
v-if="order.btns.includes('comment')"
class="tool-btn ss-reset-button"
@tap.stop="onComment(order.order_sn)"
>
评价晒单
</button>
<button <button
v-if="order.btns.includes('delete')" v-if="order.btns.includes('delete')"
class="delete-btn ss-reset-button" class="delete-btn ss-reset-button"
@ -310,13 +288,6 @@
}); });
} }
//
function onComment(orderSN) {
sheep.$router.go('/pages/goods/comment/add', {
orderSN,
});
}
// //
async function onConfirm(order, ignore = false) { async function onConfirm(order, ignore = false) {
// //
@ -415,26 +386,6 @@
}); });
} }
// 退
async function onRefund(orderId) {
uni.showModal({
title: '提示',
content: '确定要申请退款吗?',
success: async function (res) {
if (res.confirm) {
// #ifdef MP
sheep.$platform.useProvider('wechat').subscribeMessage('order_refund');
// #endif
const { code, data } = await sheep.$api.order.applyRefund(orderId);
if (code === 1) {
let index = state.pagination.data.findIndex((order) => order.id === orderId);
state.pagination.data[index] = data;
}
}
},
});
}
// //
async function getOrderList(page = 1, list_rows = 5) { async function getOrderList(page = 1, list_rows = 5) {
state.loadStatus = 'loading'; state.loadStatus = 'loading';

@ -104,7 +104,7 @@
</uni-easyinput> </uni-easyinput>
</uni-forms-item> </uni-forms-item>
<uni-forms-item name="password" label="登录密码" @tap="onSetPassword"> <!-- <uni-forms-item name="password" label="登录密码" @tap="onSetPassword">
<uni-easyinput <uni-easyinput
v-model="userInfo.password" v-model="userInfo.password"
:placeholder="userInfo.verification?.password ? '修改登录密码' : '点击设置登录密码'" :placeholder="userInfo.verification?.password ? '修改登录密码' : '点击设置登录密码'"
@ -128,7 +128,7 @@
</view> </view>
</template> </template>
</uni-easyinput> </uni-easyinput>
</uni-forms-item> </uni-forms-item> -->
<uni-forms-item name="user_code" label="邀请码" class="label-box"> <uni-forms-item name="user_code" label="邀请码" class="label-box">
<uni-easyinput <uni-easyinput
v-model="userInfo.user_code" v-model="userInfo.user_code"

@ -95,15 +95,6 @@ export default {
}, },
data, data,
}), }),
// 申请退款
applyRefund: (id) =>
request({
url: 'order.order/applyRefund',
method: 'POST',
params: {
id: id,
},
}),
// 取消订单 // 取消订单
cancel: (id) => cancel: (id) =>
request({ request({

@ -21,8 +21,7 @@
<view class="business-school-content-item-right"> <view class="business-school-content-item-right">
<view class="business-school-content-item-right-title" v-html="item.title"></view> <view class="business-school-content-item-right-title" v-html="item.title"></view>
<view class="business-school-content-item-right-time"> <view class="business-school-content-item-right-time">
<view>上传时间{{ dayjs(item.createtime).format('YYYY.MM.DD') }}</view> <view>上传时间{{ dayjs(item.createtime).format('YYYY/MM/DD').replaceAll('/', '.') }}</view>
<view>更新时间{{ dayjs(item.updatetime).format('YYYY.MM.DD') }}</view>
</view> </view>
</view> </view>
</view> </view>
@ -41,8 +40,7 @@
<view class="business-school-content-item-right"> <view class="business-school-content-item-right">
<view class="business-school-content-item-right-title" v-html="item.title"></view> <view class="business-school-content-item-right-title" v-html="item.title"></view>
<view class="business-school-content-item-right-time"> <view class="business-school-content-item-right-time">
<view>上传时间{{ dayjs(item.createtime).format('YYYY.MM.DD') }}</view> <view>上传时间{{ dayjs(item.createtime).format('YYYY/MM/DD').replaceAll('/', '.') }}</view>
<view>更新时间{{ dayjs(item.updatetime).format('YYYY.MM.DD') }}</view>
</view> </view>
</view> </view>
</view> </view>

@ -10,7 +10,7 @@
<view class="model-box-header"> <view class="model-box-header">
<image class="model-box-header-image" src="/static/counpon-header.png" /> <image class="model-box-header-image" src="/static/counpon-header.png" />
<view class="model-box-header-title">恭喜升级</view> <view class="model-box-header-title">恭喜升级</view>
<view class="model-box-header-des">恭喜您升级为<text>初级代理</text></view> <view class="model-box-header-des">恭喜您升级为<text>{{ level }} </text></view>
<view class="model-box-header-des">平台赠送商品券<text>请选择</text></view> <view class="model-box-header-des">平台赠送商品券<text>请选择</text></view>
</view> </view>
<view class="model-box-content"> <view class="model-box-content">
@ -30,6 +30,14 @@
</view> </view>
</view> </view>
</view> </view>
<view class="modal-footer ss-flex ss-row-center ss-col-center ss-m-t-80 ss-m-b-40">
<button
class="ss-reset-button save-btn"
@tap="onConfirm"
>
确定
</button>
</view>
</view> </view>
</su-popup> </su-popup>
</template> </template>
@ -52,6 +60,10 @@
typeList: [] typeList: []
}], }],
}, },
level: {
type: String,
default: '',
},
}); });
const emits = defineEmits(['get', 'close']); const emits = defineEmits(['get', 'close']);
const state = reactive({ const state = reactive({
@ -59,7 +71,9 @@
}); });
function onChange(key) { function onChange(key) {
state.current_type = key; state.current_type = key;
emits('get', key); }
function onConfirm() {
emits('get', state.current_type);
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@ -131,4 +145,12 @@
} }
} }
} }
.save-btn {
width: 513rpx;
height: 80rpx;
border-radius: 40rpx;
background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main));
color: $white;
}
</style> </style>

@ -216,7 +216,8 @@
:dotStyle="'long'" :dotStyle="'long'"
imageMode="widthFix" imageMode="widthFix"
dotCur="bg-mask-40" dotCur="bg-mask-40"
:seizeHeight="200" :seizeHeight="350"
:imgHeight="350"
:autoplay="false" :autoplay="false"
:interval="3000" :interval="3000"
/> />

@ -5,8 +5,9 @@
:dotStyle="dotMap[data.indicator]" :dotStyle="dotMap[data.indicator]"
imageMode="widthFix" imageMode="widthFix"
dotCur="bg-mask-40" dotCur="bg-mask-40"
:seizeHeight="300" :seizeHeight="350"
:autoplay="data.autoplay" :autoplay="data.autoplay"
:imgHeight="350"
:interval="Number(data.interval)" :interval="Number(data.interval)"
/> />
</view> </view>
@ -41,4 +42,5 @@
); );
</script> </script>
<style></style> <style lang="scss" scoped>
</style>

@ -48,26 +48,6 @@
icon: '/assets/addons/shopro/uniapp/tools/user.png', icon: '/assets/addons/shopro/uniapp/tools/user.png',
title: '个人中心', title: '个人中心',
}, },
{
url: '/pages/index/cart',
icon: '/assets/addons/shopro/uniapp/tools/cart.png',
title: '购物车',
},
{
url: '/pages/user/goods-log',
icon: '/assets/addons/shopro/uniapp/tools/browse.png',
title: '浏览记录',
},
{
url: '/pages/user/goods-collect',
icon: '/assets/addons/shopro/uniapp/tools/collect.png',
title: '我的收藏',
},
{
url: '/pages/public/feedback',
icon: '/assets/addons/shopro/uniapp/tools/feedback.png',
title: '意见反馈',
},
{ {
url: '/pages/chat/index', url: '/pages/chat/index',
icon: '/assets/addons/shopro/uniapp/tools/service.png', icon: '/assets/addons/shopro/uniapp/tools/service.png',

@ -6,10 +6,9 @@
</view> </view>
<view class="platform-announcement-content-item-right"> <view class="platform-announcement-content-item-right">
<view class="platform-announcement-content-item-right-title" v-html="item.title"></view> <view class="platform-announcement-content-item-right-title" v-html="item.title"></view>
<view class="platform-announcement-content-item-right-time" v-if="state.type === '公告列表'">上传时间{{ dayjs(item.createtime).format('YYYY.MM.DD') }}</view> <view class="platform-announcement-content-item-right-time" v-if="state.type === '公告列表'">{{ dayjs(item.createtime).format('YYYY/MM/DD').replaceAll('/', '.') }}</view>
<view class="platform-announcement-content-item-right-time" v-if="state.type !== '公告列表'"> <view class="platform-announcement-content-item-right-time" v-if="state.type !== '公告列表'">
<view>上传时间{{ dayjs(item.createtime).format('YYYY.MM.DD') }}</view> <view>上传时间{{ dayjs(item.createtime).format('YYYY/MM/DD').replaceAll('/', '.') }}</view>
<view>更新时间{{ dayjs(item.updatetime).format('YYYY.MM.DD') }}</view>
</view> </view>
</view> </view>
</view> </view>

@ -8,7 +8,7 @@
<view class="item-left"> <view class="item-left">
<view class="person-text">自取时间</view> <view class="person-text">自取时间</view>
<view class="area-text ss-flex ss-col-center"> <view class="area-text ss-flex ss-col-center">
<uni-datetime-picker v-model="state.zititime" type="daterange" @change="onChangeTime" :end="state.today"> <uni-datetime-picker v-model="state.selffetch_time" type="datetime" @change="onChangeTime" :end="state.today" style="z-index: 201;">
<button class="ss-reset-button date-btn"> <button class="ss-reset-button date-btn">
<text>{{ !dateFilterText || dateFilterText.length === 0 ? '请选择自取时间' : dateFilterText }}</text> <text>{{ !dateFilterText || dateFilterText.length === 0 ? '请选择自取时间' : dateFilterText }}</text>
<text class="cicon-drop-down ss-seldate-icon"></text> <text class="cicon-drop-down ss-seldate-icon"></text>
@ -21,8 +21,10 @@
<view class="item-right-value"> <view class="item-right-value">
<uni-easyinput <uni-easyinput
placeholder="请输入预留电话" placeholder="请输入预留电话"
v-model="state.mobile" v-model="state.phone"
:inputBorder="false" :inputBorder="false"
placeholderStyle="font-size:26rpx !important;line-height:normal;"
@blur="onInput($event)"
type="text"> type="text">
</uni-easyinput> </uni-easyinput>
</view> </view>
@ -39,11 +41,7 @@
import { isEmpty } from 'lodash'; import { isEmpty } from 'lodash';
const userInfo = computed(() => sheep.$store('user').userInfo); const userInfo = computed(() => sheep.$store('user').userInfo);
const dateFilterText = computed(() => { const dateFilterText = computed(() => {
if (state.zititime[0] === state.zititime[1]) { return state.selffetch_time;
return state.zititime[0];
} else {
return state.zititime.join('~');
}
}); });
const props = defineProps({ const props = defineProps({
@ -54,21 +52,28 @@
}); });
const state = reactive({ const state = reactive({
zititime: [], selffetch_time: '',
today: '', today: '',
mobile: '', phone: '',
}); });
function onChangeTime(e) { function onChangeTime(e) {
console.log(e, 'onChangeTime'); state.selffetch_time = e;
state.zititime[0] = e[0]; uni.$emit('zitiinfo', {
state.zititime[1] = e[e.length - 1]; selffetch_time: e,
phone: state.phone,
});
}
function onInput(e) {
uni.$emit('zitiinfo', {
selffetch_time: state.selffetch_time,
phone: e.target.value,
});
} }
onLoad(async (options) => { onLoad(async (options) => {
state.today = dayjs().format('YYYY-MM-DD'); state.phone = userInfo.mobile;
state.zititime = [state.today, state.today];
state.mobile = userInfo.mobile;
}); });
</script> </script>
@ -148,8 +153,8 @@
background-color: $white; background-color: $white;
line-height: 54rpx; line-height: 54rpx;
border-radius: 27rpx; border-radius: 27rpx;
font-size: 24rpx; font-size: 26rpx;
font-weight: 500; font-weight: 400;
color: $dark-6; color: $dark-6;
.ss-seldate-icon { .ss-seldate-icon {

@ -247,7 +247,6 @@
// //
const customStyle = computed(() => { const customStyle = computed(() => {
let height; let height;
// //
if (props.height !== 0) { if (props.height !== 0) {
height = props.height; height = props.height;
@ -270,12 +269,13 @@
// //
function onImgLoad(e) { function onImgLoad(e) {
if (props.height === 0) { //if (props.height === 0) {
let newHeight = (e.detail.height / e.detail.width) * 750; //let newHeight = (e.detail.height / e.detail.width) * 750;
if (state.imgHeight < newHeight) { //if (state.imgHeight < newHeight) {
state.imgHeight = newHeight; //state.imgHeight = newHeight;
} //}
} //}
state.imgHeight = props.seizeHeight || '300';
} }
</script> </script>
@ -291,6 +291,8 @@
.ui-swiper-main .swiper-image { .ui-swiper-main .swiper-image {
width: 100%; width: 100%;
height: 100%; height: 100%;
background-size: 100% 100%;
background-repeat: no-repeat;
} }
.ui-swiper-dot { .ui-swiper-dot {

Loading…
Cancel
Save