fix bug
parent
820b1ea5cf
commit
b7d4ac0428
|
|
@ -38,7 +38,8 @@
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border: 1px solid#d0d0d0;
|
/* prettier-ignore */
|
||||||
|
border: 1PX solid#d0d0d0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&__bd {
|
&__bd {
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ class AtInputNumber extends AtComponent {
|
||||||
style={inputStyle}
|
style={inputStyle}
|
||||||
type={type}
|
type={type}
|
||||||
value={inputValue}
|
value={inputValue}
|
||||||
disabled={disabled}
|
disabled={true}
|
||||||
onInput={this.handleInput}
|
onInput={this.handleInput}
|
||||||
onBlur={this.handleBlur}
|
onBlur={this.handleBlur}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -133,7 +133,8 @@
|
||||||
// }
|
// }
|
||||||
|
|
||||||
.at-input-number {
|
.at-input-number {
|
||||||
border: 1px solid #999;
|
/* prettier-ignore */
|
||||||
|
border: 1PX solid #999;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
&__input {
|
&__input {
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ export default class MemberCode extends Component {
|
||||||
return (
|
return (
|
||||||
<SpPage>
|
<SpPage>
|
||||||
<View className='member-code-wrap' style={
|
<View className='member-code-wrap' style={
|
||||||
styleNames({
|
styleNames({ //member-bg
|
||||||
background: `url(${process.env.APP_IMAGE_CDN_NEW}/member/member-bg.png) no-repeat`,
|
background: `url(${process.env.APP_IMAGE_CDN_NEW}/member/member-bg.png) no-repeat`,
|
||||||
"backgroundSize": "100% 100%"
|
"backgroundSize": "100% 100%"
|
||||||
})
|
})
|
||||||
|
|
@ -67,7 +67,7 @@ export default class MemberCode extends Component {
|
||||||
<View className='grade_name'>{gradeInfo.grade_name}</View>
|
<View className='grade_name'>{gradeInfo.grade_name}</View>
|
||||||
<View className='member-code-box'>
|
<View className='member-code-box'>
|
||||||
{/* <Image className='member-code-bar' mode='aspectFill' src={info.barcode_url} /> */}
|
{/* <Image className='member-code-bar' mode='aspectFill' src={info.barcode_url} /> */}
|
||||||
<SpImage className='member-code-box-logo' width={214} mode='aspectFill' src="member/logo-lan.png" isNew />
|
<SpImage className='member-code-box-logo' height={40} mode='aspectFit' src="member/logo-black.png" isNew />
|
||||||
<Image className='member-code-box-qr' mode='aspectFit' src={info.qrcode_url} />
|
<Image className='member-code-box-qr' mode='aspectFit' src={info.qrcode_url} />
|
||||||
{/* <View>{info.userCardCode}</View> */}
|
{/* <View>{info.userCardCode}</View> */}
|
||||||
<View className='member-code-box-txt'>向门店出示二维码</View>
|
<View className='member-code-box-txt'>向门店出示二维码</View>
|
||||||
|
|
|
||||||
|
|
@ -293,7 +293,7 @@ function CartIndex () {
|
||||||
</SpLogin>
|
</SpLogin>
|
||||||
</View>
|
</View>
|
||||||
)} */}
|
)} */}
|
||||||
{isLogin && (
|
{!loading && isLogin && groupsList?.length > 0 && (
|
||||||
<View>
|
<View>
|
||||||
{/* <SpTabs current={current} tablist={tablist} onChange={onChangeSpTab} /> */}
|
{/* <SpTabs current={current} tablist={tablist} onChange={onChangeSpTab} /> */}
|
||||||
<View className='valid-cart-block'>
|
<View className='valid-cart-block'>
|
||||||
|
|
@ -471,14 +471,16 @@ function CartIndex () {
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* && invalidCart.length == 0 */}
|
{/* && invalidCart.length == 0 */}
|
||||||
{validCart.length == 0 && (
|
{!loading && validCart.length == 0 && (
|
||||||
<View className='empty-box'>
|
<View className='empty-box'>
|
||||||
{/* <SpDefault type='cart' message='购物车内暂无商品~'>
|
{/* <SpDefault type='cart' message='购物车内暂无商品~'>
|
||||||
<AtButton type='primary' circle onClick={navigateTo.bind(this, '/pages/index', true)}>
|
<AtButton type='primary' circle onClick={navigateTo.bind(this, '/pages/index', true)}>
|
||||||
去选购
|
去选购
|
||||||
</AtButton>
|
</AtButton>
|
||||||
</SpDefault> */}
|
</SpDefault> */}
|
||||||
<SpImage className='default-img' src='cart/logo-hui.png' width={160} isNew />
|
<View className='default-img' style={{ height: '80px', width: '100%', display: 'flex', justifyContent: 'center' }} >
|
||||||
|
<SpImage src='cart/logo-hui.png' width={160} isNew />
|
||||||
|
</View>
|
||||||
<View className="empty-box-tit">购物车还是空的</View>
|
<View className="empty-box-tit">购物车还是空的</View>
|
||||||
<View className="empty-box-sub-tit">快去挑选自己喜欢的宝贝吧~</View>
|
<View className="empty-box-sub-tit">快去挑选自己喜欢的宝贝吧~</View>
|
||||||
<SpLogin onChange={() => { }}>
|
<SpLogin onChange={() => { }}>
|
||||||
|
|
@ -532,9 +534,9 @@ function CartIndex () {
|
||||||
</sView>}
|
</sView>}
|
||||||
|
|
||||||
{/* 猜你喜欢 */}
|
{/* 猜你喜欢 */}
|
||||||
<SpRecommend className='recommend-block' info={recommendList} />
|
{/* <SpRecommend className='recommend-block' info={recommendList} /> */}
|
||||||
|
|
||||||
<SpPrivacyModal open={policyModal} onCancel={onPolicyChange} onConfirm={onPolicyChange} />
|
{/* <SpPrivacyModal open={policyModal} onCancel={onPolicyChange} onConfirm={onPolicyChange} /> */}
|
||||||
</SpPage>
|
</SpPage>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -299,7 +299,7 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.sp-image {
|
.default-img {
|
||||||
margin-bottom: 50px;
|
margin-bottom: 50px;
|
||||||
}
|
}
|
||||||
.at-button {
|
.at-button {
|
||||||
|
|
|
||||||
|
|
@ -324,6 +324,7 @@ page {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 10%;
|
bottom: 10%;
|
||||||
|
opacity: 0;
|
||||||
&-title {
|
&-title {
|
||||||
font-size: 40px;
|
font-size: 40px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
|
||||||
|
|
@ -213,6 +213,43 @@ function Home () {
|
||||||
const { list: BOSTON_List = [] } = await api.item.search({ ...req, tag_id: 5 })
|
const { list: BOSTON_List = [] } = await api.item.search({ ...req, tag_id: 5 })
|
||||||
const { list: ARIZONA_List = [] } = await api.item.search({ ...req, tag_id: 6 })
|
const { list: ARIZONA_List = [] } = await api.item.search({ ...req, tag_id: 6 })
|
||||||
const { list: LONDON_List = [] } = await api.item.search({ ...req, tag_id: 7 })
|
const { list: LONDON_List = [] } = await api.item.search({ ...req, tag_id: 7 })
|
||||||
|
const newSort = {
|
||||||
|
"BK023": 1,
|
||||||
|
"BK066": 2,
|
||||||
|
"BK053": 3,
|
||||||
|
"BK038": 4,
|
||||||
|
"BK064": 5,
|
||||||
|
"BK014": 6
|
||||||
|
}
|
||||||
|
const hotSort = {
|
||||||
|
"BK014": 1,
|
||||||
|
"BK031": 2,
|
||||||
|
"BK018": 3,
|
||||||
|
"BK020": 4,
|
||||||
|
"BK052": 5,
|
||||||
|
"BK064": 6,
|
||||||
|
}
|
||||||
|
const BOSTON_sort = {
|
||||||
|
"BK020": 1,
|
||||||
|
"BK023": 2,
|
||||||
|
"BK025": 3,
|
||||||
|
"BK029": 4,
|
||||||
|
"BK030": 5,
|
||||||
|
"BK031": 6,
|
||||||
|
}
|
||||||
|
const ARIZONA_sort = {
|
||||||
|
"BK001": 1,
|
||||||
|
"BK017": 2,
|
||||||
|
"BK007": 3,
|
||||||
|
"BK010": 4,
|
||||||
|
"BK011": 5,
|
||||||
|
"BK014": 6,
|
||||||
|
}
|
||||||
|
const LONDON_sort = {
|
||||||
|
"BK052": 1,
|
||||||
|
"BK053": 2,
|
||||||
|
"BK051": 3,
|
||||||
|
}
|
||||||
setState((draft) => {
|
setState((draft) => {
|
||||||
draft.recommend = [{
|
draft.recommend = [{
|
||||||
type: 'new',
|
type: 'new',
|
||||||
|
|
@ -220,32 +257,55 @@ function Home () {
|
||||||
btnTxt: '查看更多',
|
btnTxt: '查看更多',
|
||||||
postions: 'left',
|
postions: 'left',
|
||||||
url: '',
|
url: '',
|
||||||
|
tag_id: 4,
|
||||||
img: 'index/rec/new.png?v=1',
|
img: 'index/rec/new.png?v=1',
|
||||||
list: newList.map(item => ({ ...item, price: (item.price / 100) }))
|
list: newList.map(item => ({ ...item, price: (item.price / 100) })).sort((a, b) => {
|
||||||
|
return newSort[a.item_name_3] - newSort[b.item_name_3]
|
||||||
|
})
|
||||||
}, {
|
}, {
|
||||||
type: 'hot',
|
type: 'hot',
|
||||||
text: "热销单品",
|
text: "热销单品",
|
||||||
btnTxt: '查看更多',
|
btnTxt: '查看更多',
|
||||||
postions: 'left',
|
postions: 'left',
|
||||||
url: '',
|
url: '',
|
||||||
|
tag_id: 3,
|
||||||
img: 'index/rec/hot.png?v=1',
|
img: 'index/rec/hot.png?v=1',
|
||||||
list: hotList.map(item => ({ ...item, price: (item.price / 100) }))
|
list: hotList.map(item => ({ ...item, price: (item.price / 100) })).sort((a, b) => {
|
||||||
|
return hotSort[a.item_name_3] - hotSort[b.item_name_3]
|
||||||
|
})
|
||||||
}, {
|
}, {
|
||||||
type: 'BOSTON',
|
type: 'BOSTON',
|
||||||
text: "BOSTON",
|
text: "BOSTON",
|
||||||
btnTxt: 'BOSTON',
|
btnTxt: 'BOSTON',
|
||||||
postions: 'right',
|
postions: 'left',
|
||||||
url: '',
|
url: '',
|
||||||
|
tag_id: 5,
|
||||||
img: 'index/rec/Boston.png',
|
img: 'index/rec/Boston.png',
|
||||||
list: BOSTON_List.map(item => ({ ...item, price: (item.price / 100) }))
|
list: BOSTON_List.map(item => ({ ...item, price: (item.price / 100) })).sort((a, b) => {
|
||||||
|
return BOSTON_sort[a.item_name_3] - BOSTON_sort[b.item_name_3]
|
||||||
|
})
|
||||||
}, {
|
}, {
|
||||||
type: 'ARIZONA',
|
type: 'ARIZONA',
|
||||||
|
text: "ARIZONA",
|
||||||
|
btnTxt: 'ARIZONA',
|
||||||
|
url: '',
|
||||||
|
postions: 'left',
|
||||||
|
tag_id: 6,
|
||||||
img: 'index/rec/Arizona.png',
|
img: 'index/rec/Arizona.png',
|
||||||
list: ARIZONA_List.map(item => ({ ...item, price: (item.price / 100) }))
|
list: ARIZONA_List.map(item => ({ ...item, price: (item.price / 100) })).sort((a, b) => {
|
||||||
|
return ARIZONA_sort[a.item_name_3] - ARIZONA_sort[b.item_name_3]
|
||||||
|
})
|
||||||
}, {
|
}, {
|
||||||
type: 'LONDON',
|
type: 'LONDON',
|
||||||
|
text: "LONDON",
|
||||||
|
btnTxt: 'LONDON',
|
||||||
|
url: '',
|
||||||
|
postions: 'left',
|
||||||
|
tag_id: 7,
|
||||||
img: 'index/rec/London.png',
|
img: 'index/rec/London.png',
|
||||||
list: LONDON_List.map(item => ({ ...item, price: (item.price / 100) }))
|
list: LONDON_List.map(item => ({ ...item, price: (item.price / 100) })).sort((a, b) => {
|
||||||
|
return LONDON_sort[a.item_name_3] - LONDON_sort[b.item_name_3]
|
||||||
|
})
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
// bak
|
// bak
|
||||||
|
|
@ -286,10 +346,11 @@ function Home () {
|
||||||
goods: []
|
goods: []
|
||||||
}))
|
}))
|
||||||
const res = await api.shop.homeSwiperList({ page: 1, pageSize: 999 })
|
const res = await api.shop.homeSwiperList({ page: 1, pageSize: 999 })
|
||||||
const list = res?.list?.map((item) => {
|
const list = (res?.list?.map((item) => {
|
||||||
return {
|
return {
|
||||||
type: item.type || 'image',
|
type: item.type || 'image',
|
||||||
src: item.pic,
|
src: item.pic,
|
||||||
|
sort: item.sort,
|
||||||
goods: (item.goods_info_detail || []).map((ite) => {
|
goods: (item.goods_info_detail || []).map((ite) => {
|
||||||
return {
|
return {
|
||||||
itemName: ite.item_name,
|
itemName: ite.item_name,
|
||||||
|
|
@ -303,7 +364,7 @@ function Home () {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}) || []
|
}) || []).sort((a, b) => a.sort - b.sort)
|
||||||
setState((draft) => {
|
setState((draft) => {
|
||||||
draft.swiperList = [...activeSwiper, ...list]
|
draft.swiperList = [...activeSwiper, ...list]
|
||||||
draft.goodList = list[0].goods || []
|
draft.goodList = list[0].goods || []
|
||||||
|
|
@ -493,6 +554,13 @@ function Home () {
|
||||||
url: url + activeInfo.activity_id
|
url: url + activeInfo.activity_id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleGoRecommendGoods = (item) => {
|
||||||
|
const url = `/pages/item/list?tag_id=${item.tag_id || ''}`
|
||||||
|
Taro.navigateTo({
|
||||||
|
url: url
|
||||||
|
})
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<SpPage
|
<SpPage
|
||||||
className='page-index'
|
className='page-index'
|
||||||
|
|
@ -645,10 +713,10 @@ function Home () {
|
||||||
{isUpOperation && showRecommend && <>
|
{isUpOperation && showRecommend && <>
|
||||||
{recommend.length > 0 && recommend.map((_item, id) => <View key={id + '__item'} className="fadeIn" >
|
{recommend.length > 0 && recommend.map((_item, id) => <View key={id + '__item'} className="fadeIn" >
|
||||||
<SpImage width={windowWidth * 2} height={windowWidth >= 400 ? 920 : 800} mode='scaleToFill' src={_item.img} isShowMenuByLongpress={false} lazyLoad isNew >
|
<SpImage width={windowWidth * 2} height={windowWidth >= 400 ? 920 : 800} mode='scaleToFill' src={_item.img} isShowMenuByLongpress={false} lazyLoad isNew >
|
||||||
{/* <View className="recommend_btn" style={{ [_item.postions]: '70rpx' }}>
|
<View onClick={() => handleGoRecommendGoods(_item)} className="recommend_btn" style={{ [_item.postions]: '70rpx', opacity: 0 }}>
|
||||||
<View className="recommend_btn-title">{_item.text}</View>
|
<View className="recommend_btn-title">{_item.text}</View>
|
||||||
<View className="recommend_btn-btn">{_item.btnTxt}</View>
|
<View className="recommend_btn-btn">{_item.btnTxt}</View>
|
||||||
</View> */}
|
</View>
|
||||||
</SpImage>
|
</SpImage>
|
||||||
<ScrollView scrollX scrollWithAnimation showScrollbar={true} scrollLeft={0} className="shop-box fadeIn" >
|
<ScrollView scrollX scrollWithAnimation showScrollbar={true} scrollLeft={0} className="shop-box fadeIn" >
|
||||||
{_item.list?.map((item, idx) => (
|
{_item.list?.map((item, idx) => (
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,15 @@ const initialState = {
|
||||||
routerParams: null,
|
routerParams: null,
|
||||||
card_id: null, // 兑换券
|
card_id: null, // 兑换券
|
||||||
total: undefined,
|
total: undefined,
|
||||||
historyList: []
|
historyList: [],
|
||||||
|
loading: true,
|
||||||
|
tagItem: {
|
||||||
|
4: 'SS24新品推荐',
|
||||||
|
3: '热销单品',
|
||||||
|
5: 'Boston系列',
|
||||||
|
6: 'Arizona系列',
|
||||||
|
7: 'London系列',
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function ItemList () {
|
function ItemList () {
|
||||||
|
|
@ -70,7 +78,9 @@ function ItemList () {
|
||||||
fixTop,
|
fixTop,
|
||||||
routerParams,
|
routerParams,
|
||||||
total,
|
total,
|
||||||
historyList
|
historyList,
|
||||||
|
loading,
|
||||||
|
tagItem
|
||||||
} = state
|
} = state
|
||||||
const [isShowSearch, setIsShowSearch] = useState(false)
|
const [isShowSearch, setIsShowSearch] = useState(false)
|
||||||
const { cat_id, main_cat_id, tag_id, card_id, user_card_id } = routerParams || {}
|
const { cat_id, main_cat_id, tag_id, card_id, user_card_id } = routerParams || {}
|
||||||
|
|
@ -229,6 +239,7 @@ function ItemList () {
|
||||||
v.rightList[pageIndex - 1] = resRightList
|
v.rightList[pageIndex - 1] = resRightList
|
||||||
v.brandList = pickBy(brand_list?.list, doc.goods.WGT_GOODS_BRAND)
|
v.brandList = pickBy(brand_list?.list, doc.goods.WGT_GOODS_BRAND)
|
||||||
v.historyList = _historyList?.list || []
|
v.historyList = _historyList?.list || []
|
||||||
|
v.loading = false
|
||||||
if (v.tagList.length < 1) {
|
if (v.tagList.length < 1) {
|
||||||
if (select_tags_list.length > 0) {
|
if (select_tags_list.length > 0) {
|
||||||
v.tagList = [
|
v.tagList = [
|
||||||
|
|
@ -344,6 +355,7 @@ function ItemList () {
|
||||||
<SpPage
|
<SpPage
|
||||||
scrollToTopBtn
|
scrollToTopBtn
|
||||||
showNavCartIcon
|
showNavCartIcon
|
||||||
|
title={tag_id ? tagItem[tag_id] : '搜索列表'}
|
||||||
className={classNames('page-item-list has-navbar', {
|
className={classNames('page-item-list has-navbar', {
|
||||||
'has-tagbar': tagList.length > 0
|
'has-tagbar': tagList.length > 0
|
||||||
})}
|
})}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,8 @@ const initState = {
|
||||||
formInfo: {},
|
formInfo: {},
|
||||||
status: '',
|
status: '',
|
||||||
isShare: false,
|
isShare: false,
|
||||||
alwaysBackUrl: "/pages/index"
|
alwaysBackUrl: "/pages/index",
|
||||||
|
isSub: false,
|
||||||
}
|
}
|
||||||
export default function detail () {
|
export default function detail () {
|
||||||
const $instance = getCurrentInstance()
|
const $instance = getCurrentInstance()
|
||||||
|
|
@ -79,7 +80,7 @@ export default function detail () {
|
||||||
}, [userInfo, isLogin])
|
}, [userInfo, isLogin])
|
||||||
|
|
||||||
|
|
||||||
const { isLoading, activeInfo = {}, visible, formInfo, checked, status, isShare, alwaysBackUrl } = state
|
const { isLoading, activeInfo = {}, visible, formInfo, checked, status, isShare, alwaysBackUrl, isSub } = state
|
||||||
|
|
||||||
const handleConfirm = async () => {
|
const handleConfirm = async () => {
|
||||||
if (!isLogin || !userInfo) return
|
if (!isLogin || !userInfo) return
|
||||||
|
|
@ -141,6 +142,12 @@ export default function detail () {
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
|
if (isSub) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
setState((draft) => {
|
||||||
|
draft.isSub = true
|
||||||
|
})
|
||||||
if (isShare) {
|
if (isShare) {
|
||||||
handeleShare()
|
handeleShare()
|
||||||
return
|
return
|
||||||
|
|
@ -194,6 +201,9 @@ export default function detail () {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
setState((draft) => {
|
||||||
|
draft.isSub = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
const onClickShare = () => {
|
const onClickShare = () => {
|
||||||
setState((draft) => {
|
setState((draft) => {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import React, { useEffect } from 'react'
|
import React, { useEffect } from 'react'
|
||||||
import { View, Text, Input, Image } from '@tarojs/components'
|
import { View, Text, Input, Image, Button } from '@tarojs/components'
|
||||||
import Taro, { getCurrentInstance, useDidShow } from '@tarojs/taro'
|
import Taro, { getCurrentInstance, useDidShow, useShareAppMessage } from '@tarojs/taro'
|
||||||
import { SpPage, SpHtml, SpCheckbox, SpImage } from '@/components'
|
import { SpPage, SpHtml, SpCheckbox, SpImage } from '@/components'
|
||||||
import { useSelector } from 'react-redux'
|
import { useSelector } from 'react-redux'
|
||||||
import { getActiveDetail } from '@/api/community'
|
import { getActiveDetail } from '@/api/community'
|
||||||
|
|
@ -17,12 +17,13 @@ const initState = {
|
||||||
cur_activity_info: [],
|
cur_activity_info: [],
|
||||||
loading: true,
|
loading: true,
|
||||||
activeInfo: {},
|
activeInfo: {},
|
||||||
qrUrl: ''
|
qrUrl: '',
|
||||||
|
visible: false
|
||||||
}
|
}
|
||||||
export default function status () {
|
export default function status () {
|
||||||
const $instance = getCurrentInstance()
|
const $instance = getCurrentInstance()
|
||||||
const [state, setState] = useImmer(initState)
|
const [state, setState] = useImmer(initState)
|
||||||
const { cur_activity_info, loading, activeInfo, qrUrl } = state
|
const { cur_activity_info, loading, activeInfo, qrUrl, visible } = state
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getActiveDetail()
|
getActiveDetail()
|
||||||
|
|
@ -127,12 +128,35 @@ export default function status () {
|
||||||
})
|
})
|
||||||
navigateTo('/pages/index')
|
navigateTo('/pages/index')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const onClickShare = () => {
|
||||||
|
setState((draft) => {
|
||||||
|
draft.visible = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const handleClose = () => {
|
||||||
|
setState((draft) => {
|
||||||
|
draft.visible = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
useShareAppMessage(() => {
|
||||||
|
return {
|
||||||
|
title: activeInfo.activity_name,
|
||||||
|
path: `/pages/recommend/detail?id=${activeInfo.activity_id}`,
|
||||||
|
// imageUrl: activeInfo.pics[0]
|
||||||
|
imageUrl: `${process.env.APP_IMAGE_CDN_NEW}/share-logo.jpg`
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SpPage loading={loading} title={activeInfo.status === 'pending' ? '待审核' : '预约成功'} className='page-recommend-status' alwaysBackUrl="/pages/index" isBlack>
|
<SpPage loading={loading} title={activeInfo.status === 'pending' ? '待审核' : '预约成功'} className='page-recommend-status' alwaysBackUrl="/pages/index" isBlack>
|
||||||
<View className="">
|
<View className="">
|
||||||
<SpCheckbox checked={true} colors="#000" label={activeInfo.status === 'pending' ? '待审核' : activeInfo.status === 'done' ? '已签到' : "已预约"}></SpCheckbox>
|
<SpCheckbox checked={true} colors="#000" label={activeInfo.status === 'pending' ? '待审核' : activeInfo.status === 'done' ? '已签到' : "已预约"}></SpCheckbox>
|
||||||
</View>
|
</View>
|
||||||
<View className="activity_name">{activeInfo?.activity_name || ''}</View>
|
<View className="name-box">
|
||||||
|
<View className="activity_name">{activeInfo.activity_name}</View>
|
||||||
|
<Image onClick={onClickShare} className="share_icon" src={require('../../assets/share.jpg')} mode='widthFix' ></Image>
|
||||||
|
</View>
|
||||||
<View className="activity_info">
|
<View className="activity_info">
|
||||||
<View className="activity_info-item flex-col">
|
<View className="activity_info-item flex-col">
|
||||||
<Text className="title">姓名</Text>
|
<Text className="title">姓名</Text>
|
||||||
|
|
@ -162,6 +186,28 @@ export default function status () {
|
||||||
<View className="code-box-txt">入场请出示预约凭证</View>
|
<View className="code-box-txt">入场请出示预约凭证</View>
|
||||||
</View> : <View style={'height:315px;'}></View>}
|
</View> : <View style={'height:315px;'}></View>}
|
||||||
{activeInfo.status !== 'done' && <View className="cancel-txt" onClick={handleCancel}>取消预约</View>}
|
{activeInfo.status !== 'done' && <View className="cancel-txt" onClick={handleCancel}>取消预约</View>}
|
||||||
|
<View className="sp-picker">
|
||||||
|
<View
|
||||||
|
className={classNames('mask', {
|
||||||
|
visible: visible
|
||||||
|
})}
|
||||||
|
onTap={handleClose}
|
||||||
|
catchtouchmove
|
||||||
|
></View>
|
||||||
|
<View
|
||||||
|
className={classNames('sp-picker-cnt', {
|
||||||
|
visible: visible
|
||||||
|
})}
|
||||||
|
>
|
||||||
|
<View className={classNames('sp-picker-hd')} catchtouchmove>
|
||||||
|
<Text className='center'>{'分享'}</Text>
|
||||||
|
<AtIcon onClick={handleClose} value='close' size={14} color='#000' ></AtIcon>
|
||||||
|
</View>
|
||||||
|
<View className='sp-picker-bd'>
|
||||||
|
<Button openType="share" className={"btn share"} onClick={handleClose} plain>发送给朋友</Button>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
</SpPage>
|
</SpPage>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -96,4 +96,156 @@
|
||||||
margin-top: 30px;
|
margin-top: 30px;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
.name-box {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
justify-content: space-between;
|
||||||
|
.share_icon {
|
||||||
|
height: 40px;
|
||||||
|
width: 60px;
|
||||||
|
padding: 10px 0 10px 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.sp-picker {
|
||||||
|
.mask {
|
||||||
|
position: fixed;
|
||||||
|
z-index: 302;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background: rgba(0, 0, 0, 0.6);
|
||||||
|
visibility: hidden;
|
||||||
|
opacity: 0;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
// color: #fff;
|
||||||
|
&.visible {
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-cnt {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
transition: all 0.3s ease-in-out;
|
||||||
|
transform: translateY(100%);
|
||||||
|
z-index: 503;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 30rpx 30rpx 0 0;
|
||||||
|
&.visible {
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-hd {
|
||||||
|
padding: 30px 50px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
border-bottom: none;
|
||||||
|
position: relative;
|
||||||
|
font-size: 26px;
|
||||||
|
.center {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
.at-icon-close {
|
||||||
|
padding: 20px 30px;
|
||||||
|
position: absolute;
|
||||||
|
right: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-bd {
|
||||||
|
padding: 0 50px 50px;
|
||||||
|
&-item {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
border-bottom: none;
|
||||||
|
padding: 0 90px;
|
||||||
|
view {
|
||||||
|
color: #000;
|
||||||
|
font-size: 26px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
.tit {
|
||||||
|
padding: 28px 50px 28px 30px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
.content {
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
color: #000;
|
||||||
|
.icon-qianwang-01 {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn {
|
||||||
|
margin-top: 130px;
|
||||||
|
display: flex;
|
||||||
|
height: 80px;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 32px;
|
||||||
|
line-height: 1;
|
||||||
|
background: #000;
|
||||||
|
color: #fff;
|
||||||
|
border-radius: 6px;
|
||||||
|
&.notop {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
&-disabled {
|
||||||
|
background: #666;
|
||||||
|
}
|
||||||
|
&.share {
|
||||||
|
margin: 80px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.user-form {
|
||||||
|
margin-top: 30px;
|
||||||
|
&-item {
|
||||||
|
margin-bottom: 50px;
|
||||||
|
&-title {
|
||||||
|
font-size: 24px;
|
||||||
|
color: #000;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
&-input {
|
||||||
|
background: #e5e5e5;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 20px 40px;
|
||||||
|
color: #000;
|
||||||
|
position: relative;
|
||||||
|
.icon-arrowRight {
|
||||||
|
font-size: 34px;
|
||||||
|
position: absolute;
|
||||||
|
right: 30px;
|
||||||
|
top: 30%;
|
||||||
|
// transform: translateY(-50%);
|
||||||
|
color: #000;
|
||||||
|
rotate: 90deg;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-phone {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.picker {
|
||||||
|
height: 40px;
|
||||||
|
width: 100%;
|
||||||
|
color: #a5a5a5;
|
||||||
|
&-value {
|
||||||
|
color: #000;
|
||||||
|
&.placeholder {
|
||||||
|
color: #a5a5a5 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,10 +44,17 @@ const data = [{
|
||||||
{ subTit: `可以补开发票吗?`, subCon: `可以,您可以通过联系我们的在线客服申请开具已完成订单的发票。` },
|
{ subTit: `可以补开发票吗?`, subCon: `可以,您可以通过联系我们的在线客服申请开具已完成订单的发票。` },
|
||||||
{ subTit: `发票抬头如何修改?`, subCon: `如您购买的商品还未付款,建议您在有库存的情况下,重新下单填并写正确的开票信息。如您购买的商品全部发货未满7天,客服查询到您的订单处于未完成状态,目前还不能为您更改发票相关信息。待您的订单发货时长达到7天后可联系客服办理。如您购买的商品发货时间达到7天,请您提供正确的相关信息给到客服,客服会在1-5个工作日为您修改正确的发票抬头,并更新在您的订单信息内。` }]
|
{ subTit: `发票抬头如何修改?`, subCon: `如您购买的商品还未付款,建议您在有库存的情况下,重新下单填并写正确的开票信息。如您购买的商品全部发货未满7天,客服查询到您的订单处于未完成状态,目前还不能为您更改发票相关信息。待您的订单发货时长达到7天后可联系客服办理。如您购买的商品发货时间达到7天,请您提供正确的相关信息给到客服,客服会在1-5个工作日为您修改正确的发票抬头,并更新在您的订单信息内。` }]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
title: '意见反馈', isOpen: false, content: [{ subTit: `如何反馈其他问题?`, subCon: '如果您对本平台显示的材料或者购物过程中又任何疑虑或异议,或希望提供建议和意见,您可以联系我们的客服:021-62716091,或者写信给我们:bscn_mp_store@birkenstock.com。' }]
|
title: '意见反馈', isOpen: false, content: [{ subTit: `如何反馈其他问题?`, subCon: '如果您对本平台显示的材料或者购物过程中又任何疑虑或异议,或希望提供建议和意见,您可以联系我们的客服:021-62716091,或者写信给我们:bscn_mp_store@birkenstock.com。' }]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '退换货政策', isOpen: false, content: [
|
||||||
|
{ subTit: `一、政策适用范围`, subCon: `诚挚欢迎您光临BIRKENSTOCK微信小程序官方店,以下是我们的退换货政策。` },
|
||||||
|
{ subTit: `二、退换货条件`, subCon: `为了确保您的购物体验顺利愉快,我们需要您注意以下退换货条件:`, subContents: ['1.商品应保持完好,包括商品本身及其鞋盒、配件、吊牌等完整无损。', '2.请提供原始收银凭证或购物凭证以办理退换货。', '3.申请退换货应在签收之日起7天内进行。'] },
|
||||||
|
// { subTit: ``, subCon: `1.商品应保持完好,包括商品本身及其鞋盒、配件、吊牌等完整无损。` },
|
||||||
|
// { subTit: ``, subCon: `1.商品应保持完好,包括商品本身及其鞋盒、配件、吊牌等完整无损。` },
|
||||||
|
// { subTit: ``, subCon: `1.商品应保持完好,包括商品本身及其鞋盒、配件、吊牌等完整无损。` },
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,10 @@ export default function qaPage () {
|
||||||
{v.subTit}
|
{v.subTit}
|
||||||
{/* <Text className="title"></Text> */}
|
{/* <Text className="title"></Text> */}
|
||||||
</View>
|
</View>
|
||||||
<View className="title-desc">{v.subCon}</View>
|
<View className="title-desc">
|
||||||
|
<View>{v.subCon}</View>
|
||||||
|
{v.subContents ? v.subContents.map(s => <View> {s}</View >) : null}
|
||||||
|
</View>
|
||||||
</View>
|
</View>
|
||||||
))}
|
))}
|
||||||
</View>
|
</View>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue