mirror of
https://gitee.com/ShopeX/ECShopX_mobile-frontend
synced 2026-08-12 14:25:38 +08:00
bug(custom): 阿拉伯翻转
This commit is contained in:
@@ -5,5 +5,26 @@ module.exports = {
|
||||
defineConstants: {
|
||||
},
|
||||
weapp: {},
|
||||
h5: {}
|
||||
h5: {},
|
||||
mini: {
|
||||
webpackChain: (chain, webpack) => {
|
||||
chain.merge({
|
||||
plugin: {
|
||||
install: {
|
||||
plugin: require('terser-webpack-plugin'),
|
||||
args: [
|
||||
{
|
||||
terserOptions: {
|
||||
compress: true, // 默认使用terser压缩
|
||||
// mangle: false,
|
||||
keep_classnames: true, // 不改变class名称
|
||||
keep_fnames: true, // 不改变函数名称
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -447,7 +447,7 @@ const SpPage = memo(
|
||||
return (
|
||||
<View
|
||||
className={classNames('sp-page', props.className, { 'rtl-layout': isRTL })}
|
||||
style={styleNames({ ...state.pageTheme, ...state.lockStyle, ...state.pageBackground })}
|
||||
style={styleNames({ ...state.pageTheme, ...state.pageBackground })}
|
||||
ref={wrapRef}
|
||||
key={lang}
|
||||
>
|
||||
@@ -464,39 +464,25 @@ const SpPage = memo(
|
||||
<View
|
||||
className='sp-page__body'
|
||||
style={styleNames({
|
||||
// 'height': state.lock ? `${state.bodyHeight}px` : '100%',
|
||||
...state.lockStyle,
|
||||
'height': `${state.bodyHeight}px`,
|
||||
'padding-top': `${state.customNavigation && !props.immersive ? state.gNavbarH : 0}px`,
|
||||
'padding-bottom': props.renderFooter
|
||||
? Taro.pxTransform(
|
||||
props.footerHeight + (isIphoneX() ? DEFAULT_SAFE_AREA_HEIGHT : 0)
|
||||
)
|
||||
: 0
|
||||
'padding-bottom': props.renderFooter ? Taro.pxTransform(props.footerHeight + (isIphoneX() ? DEFAULT_SAFE_AREA_HEIGHT : 0) + 80) : Taro.pxTransform(80)
|
||||
})}
|
||||
>
|
||||
<View className='sp-page__body-content' style={styleNames({
|
||||
'padding-bottom': Taro.pxTransform(80)
|
||||
})}
|
||||
>
|
||||
{props.loading && <View className='sp-page__loading'>
|
||||
{props.loading && (
|
||||
<View className='sp-page__loading'>
|
||||
<SpLoading />
|
||||
</View>}
|
||||
<context.Provider value={{}}>{props.children}</context.Provider>
|
||||
<View className='sp-page__powered-by w-full' style={styleNames({
|
||||
'position': 'absolute',
|
||||
'bottom': 0,
|
||||
'left': 0,
|
||||
'right': 0,
|
||||
'z-index': 1000
|
||||
})}
|
||||
>
|
||||
<Text>Powered by</Text>
|
||||
<Image
|
||||
src='/assets/imgs/powered-logo.png'
|
||||
className='powered-logo'
|
||||
mode='contain'
|
||||
/>
|
||||
</View>
|
||||
)}
|
||||
<context.Provider value={{}}>{props.children}</context.Provider>
|
||||
<View className='sp-page__powered-by w-full'>
|
||||
<Text>Powered by</Text>
|
||||
<Image
|
||||
src='/assets/imgs/powered-logo.png'
|
||||
className='powered-logo'
|
||||
mode='contain'
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
)}
|
||||
|
||||
@@ -42,14 +42,16 @@
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
height: 80px;
|
||||
background: rgba(255, 255, 255, 0);
|
||||
}
|
||||
|
||||
.powered-logo {
|
||||
width: 120px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.sp-page__body-content {
|
||||
height: fit-content;
|
||||
min-height: 100%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
}
|
||||
@@ -135,4 +137,4 @@
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,4 +2,6 @@
|
||||
* Copyright © ShopeX (http://www.shopex.cn). All rights reserved.
|
||||
* See LICENSE file for license details.
|
||||
*/
|
||||
export default {}
|
||||
export default {
|
||||
navigationBarTitleText: '分类'
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import React, { Component } from 'react'
|
||||
import Taro, { getCurrentInstance } from '@tarojs/taro'
|
||||
import { View, ScrollView, Image, Text, Button } from '@tarojs/components'
|
||||
import { Loading, SpNote } from '@/components'
|
||||
import { Loading, SpNote, SpPage } from '@/components'
|
||||
import { classNames, pickBy, getCurrentRoute, isAlipay } from '@/utils'
|
||||
import { AtTabBar } from 'taro-ui'
|
||||
import { withPager, withBackToTop } from '@/hocs'
|
||||
@@ -17,6 +17,7 @@ import './shop-category.scss'
|
||||
@withBackToTop
|
||||
export default class DistributionShopCategory extends Component {
|
||||
$instance = getCurrentInstance()
|
||||
spPageRef = React.createRef()
|
||||
constructor(props) {
|
||||
super(props)
|
||||
|
||||
@@ -57,6 +58,7 @@ export default class DistributionShopCategory extends Component {
|
||||
withShareTicket: true,
|
||||
menus: ['shareAppMessage', 'shareTimeline']
|
||||
})
|
||||
this.spPageRef.current?.pageLock()
|
||||
const { status } = this.$instance.router.params
|
||||
const { tabList } = this.state
|
||||
tabList[0].url += `?status=${status}`
|
||||
@@ -280,26 +282,12 @@ export default class DistributionShopCategory extends Component {
|
||||
goodIds
|
||||
} = this.state
|
||||
return (
|
||||
<View className='page-category-index good-category'>
|
||||
{/* <View className='category-banner'>
|
||||
<Image
|
||||
className='banner-img'
|
||||
src={shop_pic || null}
|
||||
mode='aspectFill'
|
||||
/>
|
||||
</View> */}
|
||||
<SpPage ref={this.spPageRef} className='page-category-index good-category' renderFooter={<AtTabBar fixed tabList={tabList} onClick={this.handleClick} current={localCurrent} />}>
|
||||
<View
|
||||
className={`${
|
||||
hasSeries && tabList.length !== 0 ? 'category-comps' : 'category-comps-not'
|
||||
}`}
|
||||
>
|
||||
{/* <SeriesItem
|
||||
isChanged={isChanged}
|
||||
info={list}
|
||||
content= {contentList}
|
||||
defaultId={defaultId}
|
||||
onClick = {this.handleClickCategory.bind(this)}
|
||||
/> */}
|
||||
<View className='category-list'>
|
||||
<ScrollView className='category-list__nav' scrollY>
|
||||
<View className='category-nav'>
|
||||
@@ -381,8 +369,7 @@ export default class DistributionShopCategory extends Component {
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
<AtTabBar fixed tabList={tabList} onClick={this.handleClick} current={localCurrent} />
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,4 +2,6 @@
|
||||
* Copyright © ShopeX (http://www.shopex.cn). All rights reserved.
|
||||
* See LICENSE file for license details.
|
||||
*/
|
||||
export default {}
|
||||
export default {
|
||||
navigationBarTitleText: '推广商品'
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import './goods.scss'
|
||||
@withBackToTop
|
||||
export default class DistributionGoods extends Component {
|
||||
$instance = getCurrentInstance()
|
||||
spPageRef = React.createRef()
|
||||
constructor(props) {
|
||||
super(props)
|
||||
|
||||
@@ -61,6 +62,7 @@ export default class DistributionGoods extends Component {
|
||||
menus: ['shareAppMessage', 'shareTimeline']
|
||||
})
|
||||
this.firstStatus = true
|
||||
this.spPageRef.current?.pageLock()
|
||||
const { status } = this.$instance.router.params
|
||||
const { tabList } = this.state
|
||||
tabList[1].url += `?status=${status}`
|
||||
@@ -376,13 +378,12 @@ export default class DistributionGoods extends Component {
|
||||
console.log(list)
|
||||
|
||||
return (
|
||||
<View className='page-distribution-shop'>
|
||||
<SpNavBar title='推广商品' leftIconType='chevron-left' fixed='true' />
|
||||
<SpPage ref={this.spPageRef} className='page-distribution-shop' renderFooter={<AtTabBar fixed tabList={tabList} onClick={this.handleClick} current={localCurrent} />}>
|
||||
<SpSearchBar
|
||||
showDailog={false}
|
||||
keyword={query ? query.keywords : ''}
|
||||
onFocus={() => false}
|
||||
onCancel={() => {}}
|
||||
onCancel={() => { }}
|
||||
onChange={this.handleSearchChange}
|
||||
onClear={this.handleConfirm.bind(this)}
|
||||
onConfirm={this.handleConfirm.bind(this)}
|
||||
@@ -424,8 +425,7 @@ export default class DistributionGoods extends Component {
|
||||
)}
|
||||
</ScrollView>
|
||||
<SpToast />
|
||||
<AtTabBar fixed tabList={tabList} onClick={this.handleClick} current={localCurrent} />
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
}
|
||||
}
|
||||
&__scroll {
|
||||
@include page-scroll($tabs-height + $navigate-height, $tabbar-height);
|
||||
height: calc(100% - 140px);
|
||||
/* #ifdef h5 */
|
||||
// @include page-scroll(
|
||||
// $tabs-height + $navigate-height-h5 + $searchbar-height,
|
||||
|
||||
@@ -150,7 +150,6 @@ export default class DistributionDashboard extends Component {
|
||||
}
|
||||
return (
|
||||
<SpPage className='page-distribution-index'>
|
||||
<SpNavBar title='推广管理' leftIconType='chevron-left' />
|
||||
<View className='header' style={'background: ' + colors.data[0].marketing}>
|
||||
<View className='view-flex view-flex-middle'>
|
||||
<Image
|
||||
|
||||
@@ -2,4 +2,6 @@
|
||||
* Copyright © ShopeX (http://www.shopex.cn). All rights reserved.
|
||||
* See LICENSE file for license details.
|
||||
*/
|
||||
export default {}
|
||||
export default {
|
||||
navigationStyle: 'custom',
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import React, { Component } from 'react'
|
||||
import { View, Text, Navigator } from '@tarojs/components'
|
||||
import api from '@/api'
|
||||
import { SpNavBar } from '@/components'
|
||||
import { SpNavBar, SpPage } from '@/components'
|
||||
|
||||
import './point-platform.scss'
|
||||
|
||||
@@ -32,8 +32,8 @@ export default class PointPlatform extends Component {
|
||||
const { info } = this.state
|
||||
console.log(info)
|
||||
return (
|
||||
<View className='page-distribution-statistics'>
|
||||
<SpNavBar title='推广费' leftIconType='chevron-left' />
|
||||
<SpPage className='page-distribution-statistics' title='推广费'>
|
||||
<View className='min-h-full'>
|
||||
<View className='header content-padded-b'>
|
||||
<View className='header-top'>
|
||||
<View className='view-flex view-flex-justify'>
|
||||
@@ -104,7 +104,8 @@ export default class PointPlatform extends Component {
|
||||
</View>
|
||||
</View> */}
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,4 +2,6 @@
|
||||
* Copyright © ShopeX (http://www.shopex.cn). All rights reserved.
|
||||
* See LICENSE file for license details.
|
||||
*/
|
||||
export default {}
|
||||
export default {
|
||||
navigationBarTitleText: '二维码'
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import React, { Component } from 'react'
|
||||
import Taro, { getCurrentInstance } from '@tarojs/taro'
|
||||
import { View, Image } from '@tarojs/components'
|
||||
import { connect } from 'react-redux'
|
||||
import { SpNavBar } from '@/components'
|
||||
import { SpPage } from '@/components'
|
||||
import api from '@/api'
|
||||
import userIcon from '@/assets/imgs/user-icon.png'
|
||||
|
||||
@@ -57,8 +57,8 @@ export default class DistributionQrcode extends Component {
|
||||
const { info } = this.state
|
||||
|
||||
return (
|
||||
<View className='page-distribution-qrcode' style={'background: ' + colors.data[0].marketing}>
|
||||
<SpNavBar title='二维码' leftIconType='chevron-left' />
|
||||
<SpPage className='page-distribution-qrcode' style={'background: ' + colors.data[0].marketing}>
|
||||
<View className='page-distribution-qrcode-content h-full w-full'>
|
||||
<View className='qrcode-bg'>
|
||||
<View className='title'>邀请卡</View>
|
||||
<Image className='avatar' src={info.avatar || userIcon} mode='aspectFit' />
|
||||
@@ -69,7 +69,8 @@ export default class DistributionQrcode extends Component {
|
||||
</View>
|
||||
<View className='tips'>微信扫一扫或长按识别</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,15 +5,15 @@
|
||||
@import '@/style/imports';
|
||||
|
||||
.page-distribution-qrcode {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
/* #ifdef h5 */
|
||||
box-sizing: border-box;
|
||||
padding-top: $navigate-height-h5;
|
||||
/* #endif */
|
||||
.page-distribution-qrcode-content {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
/* #ifdef h5 */
|
||||
box-sizing: border-box;
|
||||
padding-top: $navigate-height-h5;
|
||||
/* #endif */
|
||||
}
|
||||
.qrcode-bg {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
@@ -2,4 +2,6 @@
|
||||
* Copyright © ShopeX (http://www.shopex.cn). All rights reserved.
|
||||
* See LICENSE file for license details.
|
||||
*/
|
||||
export default {}
|
||||
export default {
|
||||
navigationBarTitleText: '会员资料'
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
import React, { Component } from 'react'
|
||||
import { View, Text } from '@tarojs/components'
|
||||
import { SpNavBar } from '@/components'
|
||||
import { SpPage } from '@/components'
|
||||
import api from '@/api'
|
||||
|
||||
import './setting.scss'
|
||||
@@ -58,8 +58,8 @@ export default class DistributionSetting extends Component {
|
||||
const { info, shop_name, isEdit } = this.state
|
||||
|
||||
return (
|
||||
<View className='page-distribution-setting'>
|
||||
<SpNavBar title='会员资料' leftIconType='chevron-left' />
|
||||
<SpPage className='page-distribution-setting'>
|
||||
<View className='min-h-full'>
|
||||
<View className='content-padded'>会员资料</View>
|
||||
<View className='section'>
|
||||
<View className='list'>
|
||||
@@ -88,7 +88,8 @@ export default class DistributionSetting extends Component {
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import React, { Component } from 'react'
|
||||
import Taro, { getCurrentInstance } from '@tarojs/taro'
|
||||
import { View, Text, ScrollView, Picker } from '@tarojs/components'
|
||||
import { SpToast, Loading, SpNote } from '@/components'
|
||||
import { SpToast, Loading, SpNote, SpPage } from '@/components'
|
||||
// import S from '@/spx'
|
||||
import api from '@/api'
|
||||
import { withPager, withBackToTop } from '@/hocs'
|
||||
@@ -92,7 +92,8 @@ export default class DistributionShopAchievement extends Component {
|
||||
const { list, page, date, scrollTop } = this.state
|
||||
|
||||
return (
|
||||
<View className='page-distribution-shop'>
|
||||
<SpPage className='page-distribution-shop'>
|
||||
<View className='h-full'>
|
||||
<View class='page-header'>
|
||||
<Picker mode='date' fields='month' onChange={this.handleDateChange}>
|
||||
{date ? (
|
||||
@@ -158,8 +159,9 @@ export default class DistributionShopAchievement extends Component {
|
||||
<SpNote img='trades_empty.png'>暂无数据~</SpNote>
|
||||
)}
|
||||
</ScrollView>
|
||||
</View>
|
||||
<SpToast />
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
* See LICENSE file for license details.
|
||||
*/
|
||||
export default {
|
||||
navigationBarTitleText: ''
|
||||
navigationBarTitleText: '分类'
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import React, { Component } from 'react'
|
||||
import Taro, { getCurrentInstance } from '@tarojs/taro'
|
||||
import { View, ScrollView, Text, Image } from '@tarojs/components'
|
||||
import { Loading, SpImg, SpNote, SpNavBar } from '@/components'
|
||||
import { Loading, SpImg, SpNote, SpNavBar, SpPage } from '@/components'
|
||||
import { classNames, pickBy, getCurrentRoute } from '@/utils'
|
||||
import { AtTabBar } from 'taro-ui'
|
||||
import S from '@/spx'
|
||||
@@ -221,8 +221,8 @@ export default class DistributionShopCategory extends Component {
|
||||
this.state
|
||||
const isHaveLeft = list.length > 0
|
||||
return (
|
||||
<View className='page-category-index'>
|
||||
<SpNavBar title='分类' leftIconType='chevron-left' fixed='true' />
|
||||
<SpPage className='page-category-index' renderFooter={<AtTabBar fixed tabList={tabList} onClick={this.handleClick} current={localCurrent} />}>
|
||||
<View className='h-full'>
|
||||
<View
|
||||
className={`${
|
||||
hasSeries && tabList.length !== 0 ? 'category-comps' : 'category-comps-not'
|
||||
@@ -294,8 +294,8 @@ export default class DistributionShopCategory extends Component {
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
<AtTabBar fixed tabList={tabList} onClick={this.handleClick} current={localCurrent} />
|
||||
</View>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
.category-comps-not {
|
||||
box-sizing: border-box;
|
||||
background: #ffffff;
|
||||
@include page-scroll(0, $tabbar-height);
|
||||
}
|
||||
}
|
||||
.search-input-fixed {
|
||||
@@ -43,13 +42,16 @@
|
||||
box-sizing: border-box;
|
||||
background: #ffffff;
|
||||
/* #ifdef weapp */
|
||||
@include page-scroll(0, $tabbar-height);
|
||||
height:100%;
|
||||
// @include page-scroll(0, $tabbar-height);
|
||||
/* #endif */
|
||||
/* #ifdef h5 */
|
||||
@include page-scroll($navigate-height-h5, $tabbar-height);
|
||||
height:100%;
|
||||
// @include page-scroll($navigate-height-h5, $tabbar-height);
|
||||
/* #endif */
|
||||
}
|
||||
.shop-category__wrap {
|
||||
height:100%;
|
||||
&.all {
|
||||
.category-list__scroll {
|
||||
width: 100%;
|
||||
@@ -57,12 +59,10 @@
|
||||
}
|
||||
}
|
||||
.category-list__scroll {
|
||||
@include page-scroll($tabs-height + $navigate-height, 0);
|
||||
height:100%;
|
||||
/* #ifdef h5 */
|
||||
@include page-scroll($tabs-height + $navigate-height-h5, 0);
|
||||
height:100%;
|
||||
/* #endif */
|
||||
top: 0;
|
||||
left: 25vw;
|
||||
width: 75vw;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ export default class DistributionShopForm extends Component {
|
||||
|
||||
return (
|
||||
<SpPage className='page-distribution-shop-form'>
|
||||
<View className='shop-form'>
|
||||
<View className='shop-form min-h-full box-border'>
|
||||
{info.key == 'shop_name' && (
|
||||
<AtInput
|
||||
type='text'
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import React, { Component } from 'react'
|
||||
import Taro, { getCurrentInstance } from '@tarojs/taro'
|
||||
import { View, Text, ScrollView, Image, Button } from '@tarojs/components'
|
||||
import { SpToast, Loading, SpNote, SpSearchBar } from '@/components'
|
||||
import { SpToast, Loading, SpNote, SpSearchBar, SpPage } from '@/components'
|
||||
import S from '@/spx'
|
||||
import api from '@/api'
|
||||
import { withPager, withBackToTop } from '@/hocs'
|
||||
@@ -224,139 +224,141 @@ export default class DistributionShopGoods extends Component {
|
||||
const { list, goodsIds, page, scrollTop, query } = this.state
|
||||
|
||||
return (
|
||||
<View className='page-distribution-shop'>
|
||||
<View className='searchBar'>
|
||||
<SpSearchBar
|
||||
showDailog={false}
|
||||
keyword={query ? query.keywords : ''}
|
||||
onFocus={() => false}
|
||||
onCancel={() => {}}
|
||||
onChange={this.handleSearchChange}
|
||||
onClear={this.handleConfirm.bind(this)}
|
||||
onConfirm={this.handleConfirm.bind(this)}
|
||||
/>
|
||||
</View>
|
||||
<ScrollView
|
||||
className='goods-list__scroll'
|
||||
scrollY
|
||||
scrollTop={scrollTop}
|
||||
scrollWithAnimation
|
||||
onScroll={this.handleScroll}
|
||||
onScrollToLower={this.nextPage}
|
||||
>
|
||||
<View className='goods-list'>
|
||||
{list.map((item, index) => {
|
||||
const isRelease = goodsIds.findIndex((n) => item.goods_id == n) !== -1
|
||||
return (
|
||||
<View className='shop-goods-item' key={item.goods_id}>
|
||||
<View className='shop-goods'>
|
||||
<View className='shop-goods__caption'>
|
||||
<Image className='shop-goods__thumbnail' src={item.img} mode='aspectFill' />
|
||||
<View className='view-flex-item'>
|
||||
<View className='shop-goods__title'>{item.title}</View>
|
||||
<View className='shop-goods__desc'>{item.desc}</View>
|
||||
<View className='shop-goods__price'>
|
||||
<Text className='cur'>¥</Text> {item.price}
|
||||
<SpPage className='page-distribution-shop'>
|
||||
<View className='h-full'>
|
||||
<View className='searchBar'>
|
||||
<SpSearchBar
|
||||
showDailog={false}
|
||||
keyword={query ? query.keywords : ''}
|
||||
onFocus={() => false}
|
||||
onCancel={() => { }}
|
||||
onChange={this.handleSearchChange}
|
||||
onClear={this.handleConfirm.bind(this)}
|
||||
onConfirm={this.handleConfirm.bind(this)}
|
||||
/>
|
||||
</View>
|
||||
<ScrollView
|
||||
className='goods-list__scroll'
|
||||
scrollY
|
||||
scrollTop={scrollTop}
|
||||
scrollWithAnimation
|
||||
onScroll={this.handleScroll}
|
||||
onScrollToLower={this.nextPage}
|
||||
>
|
||||
<View className='goods-list'>
|
||||
{list.map((item, index) => {
|
||||
const isRelease = goodsIds.findIndex((n) => item.goods_id == n) !== -1
|
||||
return (
|
||||
<View className='shop-goods-item' key={item.goods_id}>
|
||||
<View className='shop-goods'>
|
||||
<View className='shop-goods__caption'>
|
||||
<Image className='shop-goods__thumbnail' src={item.img} mode='aspectFill' />
|
||||
<View className='view-flex-item'>
|
||||
<View className='shop-goods__title'>{item.title}</View>
|
||||
<View className='shop-goods__desc'>{item.desc}</View>
|
||||
<View className='shop-goods__price'>
|
||||
<Text className='cur'>¥</Text> {item.price}
|
||||
</View>
|
||||
</View>
|
||||
<View className='shop-goods__task'>
|
||||
<View className='shop-goods__task-label'>任务模式</View>
|
||||
{item.rebate_type === 'total_num' && (
|
||||
<View className='shop-goods__task-type'>按售出总量</View>
|
||||
)}
|
||||
{item.rebate_type === 'total_money' && (
|
||||
<View className='shop-goods__task-type'>按总销售金额</View>
|
||||
)}
|
||||
</View>
|
||||
</View>
|
||||
<View className='shop-goods__task'>
|
||||
<View className='shop-goods__task-label'>任务模式</View>
|
||||
{item.rebate_type === 'total_num' && (
|
||||
<View className='shop-goods__task-type'>按售出总量</View>
|
||||
)}
|
||||
{item.rebate_type === 'total_money' && (
|
||||
<View className='shop-goods__task-type'>按总销售金额</View>
|
||||
)}
|
||||
</View>
|
||||
</View>
|
||||
{!item.view_detail ? (
|
||||
<View
|
||||
className='shop-goods__detail'
|
||||
onClick={this.handleViewDetail.bind(this, index, item.goods_id)}
|
||||
>
|
||||
<Text className='icon-search'></Text> 查看指标明细
|
||||
</View>
|
||||
) : (
|
||||
<View className='shop-goods__detail'>
|
||||
<View className='content-bottom-padded view-flex'>
|
||||
<View className='view-flex-item2'>规格</View>
|
||||
<View className='view-flex-item'>指标</View>
|
||||
<View className='view-flex-item'>奖金</View>
|
||||
{!item.view_detail ? (
|
||||
<View
|
||||
className='shop-goods__detail'
|
||||
onClick={this.handleViewDetail.bind(this, index, item.goods_id)}
|
||||
>
|
||||
<Text className='icon-search'></Text> 查看指标明细
|
||||
</View>
|
||||
{item.details &&
|
||||
item.details.map((detail, dindex) => (
|
||||
<View class='shop-goods__detail-item' key={`detail4${dindex}`}>
|
||||
<View className='shop-goods__detail-skus view-flex-item2'>
|
||||
{detail.item_spec ? (
|
||||
detail.item_spec &&
|
||||
detail.item_spec.map((sku, sindex) => (
|
||||
<View className='sku-item' key={`sku${sindex}`}>
|
||||
{sku.spec_image_url && (
|
||||
<Image
|
||||
className='sku-img'
|
||||
src={sku.spec_image_url}
|
||||
mode='aspectFill'
|
||||
/>
|
||||
)}
|
||||
{sku.spec_custom_value_name || sku.spec_value_name}
|
||||
</View>
|
||||
))
|
||||
) : (
|
||||
<Text>单规格</Text>
|
||||
) : (
|
||||
<View className='shop-goods__detail'>
|
||||
<View className='content-bottom-padded view-flex'>
|
||||
<View className='view-flex-item2'>规格</View>
|
||||
<View className='view-flex-item'>指标</View>
|
||||
<View className='view-flex-item'>奖金</View>
|
||||
</View>
|
||||
{item.details &&
|
||||
item.details.map((detail, dindex) => (
|
||||
<View class='shop-goods__detail-item' key={`detail4${dindex}`}>
|
||||
<View className='shop-goods__detail-skus view-flex-item2'>
|
||||
{detail.item_spec ? (
|
||||
detail.item_spec &&
|
||||
detail.item_spec.map((sku, sindex) => (
|
||||
<View className='sku-item' key={`sku${sindex}`}>
|
||||
{sku.spec_image_url && (
|
||||
<Image
|
||||
className='sku-img'
|
||||
src={sku.spec_image_url}
|
||||
mode='aspectFill'
|
||||
/>
|
||||
)}
|
||||
{sku.spec_custom_value_name || sku.spec_value_name}
|
||||
</View>
|
||||
))
|
||||
) : (
|
||||
<Text>单规格</Text>
|
||||
)}
|
||||
</View>
|
||||
{detail.task && (
|
||||
<View className='view-flex-item2'>
|
||||
{detail.task.map((task, tindex) => (
|
||||
<View className='view-flex' key={`task${tindex}`}>
|
||||
<View className='view-flex-item'>{task.filter}</View>
|
||||
<View className='view-flex-item'>
|
||||
{task.money && <Text>¥</Text>}
|
||||
{task.money}
|
||||
</View>
|
||||
</View>
|
||||
))}
|
||||
</View>
|
||||
)}
|
||||
</View>
|
||||
{detail.task && (
|
||||
<View className='view-flex-item2'>
|
||||
{detail.task.map((task, tindex) => (
|
||||
<View className='view-flex' key={`task${tindex}`}>
|
||||
<View className='view-flex-item'>{task.filter}</View>
|
||||
<View className='view-flex-item'>
|
||||
{task.money && <Text>¥</Text>}
|
||||
{task.money}
|
||||
</View>
|
||||
</View>
|
||||
))}
|
||||
</View>
|
||||
)}
|
||||
</View>
|
||||
))}
|
||||
</View>
|
||||
)}
|
||||
</View>
|
||||
<View className='shop-goods__footer'>
|
||||
<View
|
||||
className={classNames(
|
||||
'shop-goods__footer-item',
|
||||
!isRelease ? 'unreleased' : null
|
||||
)}
|
||||
onClick={this.handleItemRelease.bind(this, item.item_id)}
|
||||
>
|
||||
{isRelease ? (
|
||||
<Text className='icon-moveDown'> 从小店下架</Text>
|
||||
) : (
|
||||
<Text className='icon-moveUp'> 上架到小店</Text>
|
||||
))}
|
||||
</View>
|
||||
)}
|
||||
</View>
|
||||
<Button
|
||||
className='shop-goods__footer-item'
|
||||
dataInfo={item}
|
||||
openType='share'
|
||||
size='small'
|
||||
>
|
||||
<Text className='icon-share2'> 分享给好友</Text>
|
||||
</Button>
|
||||
<View className='shop-goods__footer'>
|
||||
<View
|
||||
className={classNames(
|
||||
'shop-goods__footer-item',
|
||||
!isRelease ? 'unreleased' : null
|
||||
)}
|
||||
onClick={this.handleItemRelease.bind(this, item.item_id)}
|
||||
>
|
||||
{isRelease ? (
|
||||
<Text className='icon-moveDown'> 从小店下架</Text>
|
||||
) : (
|
||||
<Text className='icon-moveUp'> 上架到小店</Text>
|
||||
)}
|
||||
</View>
|
||||
<Button
|
||||
className='shop-goods__footer-item'
|
||||
dataInfo={item}
|
||||
openType='share'
|
||||
size='small'
|
||||
>
|
||||
<Text className='icon-share2'> 分享给好友</Text>
|
||||
</Button>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
)
|
||||
})}
|
||||
</View>
|
||||
{page.isLoading ? <Loading>正在加载...</Loading> : null}
|
||||
{!page.isLoading && !page.hasNext && !list.length && (
|
||||
<SpNote img='trades_empty.png'>暂无数据~</SpNote>
|
||||
)}
|
||||
</ScrollView>
|
||||
)
|
||||
})}
|
||||
</View>
|
||||
{page.isLoading ? <Loading>正在加载...</Loading> : null}
|
||||
{!page.isLoading && !page.hasNext && !list.length && (
|
||||
<SpNote img='trades_empty.png'>暂无数据~</SpNote>
|
||||
)}
|
||||
</ScrollView>
|
||||
</View>
|
||||
<SpToast />
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,9 @@
|
||||
}
|
||||
.goods-list {
|
||||
padding: 10px 30px;
|
||||
box-sizing: border-box;
|
||||
&__scroll {
|
||||
@include page-scroll($searchbar-height + 10, 0);
|
||||
height: calc(100% - 30PX);
|
||||
}
|
||||
.shop-goods-item {
|
||||
margin-bottom: 30px;
|
||||
|
||||
@@ -6,7 +6,7 @@ import React, { Component } from 'react'
|
||||
import Taro, { getCurrentInstance } from '@tarojs/taro'
|
||||
import { View, Text, Button, Image, Input } from '@tarojs/components'
|
||||
import { AtTabBar } from 'taro-ui'
|
||||
import { BackToTop, Loading, SpNavBar, SpImg, SpNote } from '@/components'
|
||||
import { BackToTop, Loading, SpNavBar, SpImg, SpNote, SpPage } from '@/components'
|
||||
import S from '@/spx'
|
||||
import api from '@/api'
|
||||
import qs from 'qs'
|
||||
@@ -466,14 +466,12 @@ export default class DistributionShopHome extends Component {
|
||||
}
|
||||
]
|
||||
|
||||
if (!info.is_valid) {
|
||||
return <Loading />
|
||||
}
|
||||
// if (!info.is_valid) {
|
||||
// return <Loading />
|
||||
// }
|
||||
|
||||
return (
|
||||
<View className='page-distribution-shop'>
|
||||
<CustomHeader isWhite={paddindTop > 0} isHome={isHome} statusBarHeight={statusBarHeight} />
|
||||
<SpNavBar title='小店' leftIconType='chevron-left' fixed='true' />
|
||||
<SpPage className='page-distribution-shop' title='小店' showToTop renderFooter={<AtTabBar fixed tabList={tabList} onClick={this.handleClick} current={localCurrent} />}>
|
||||
<View className='shop-banner'>
|
||||
<View className='shop-def'>
|
||||
<Image
|
||||
@@ -590,10 +588,8 @@ export default class DistributionShopHome extends Component {
|
||||
</SpNote>
|
||||
)}
|
||||
</View>
|
||||
<BackToTop show={showBackToTop} onClick={this.scrollBackToTop.bind(this)} />
|
||||
|
||||
<AtTabBar fixed tabList={tabList} onClick={this.handleClick} current={localCurrent} />
|
||||
</View>
|
||||
{/* <BackToTop show={showBackToTop} onClick={this.scrollBackToTop.bind(this)} /> */}
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import React, { Component } from 'react'
|
||||
import Taro, { getCurrentInstance } from '@tarojs/taro'
|
||||
import { View, Image } from '@tarojs/components'
|
||||
import { SpCell } from '@/components'
|
||||
import { SpCell, SpPage } from '@/components'
|
||||
import api from '@/api'
|
||||
|
||||
import './shop-setting.scss'
|
||||
@@ -48,7 +48,8 @@ export default class DistributionShopSetting extends Component {
|
||||
const { info } = this.state
|
||||
|
||||
return (
|
||||
<View className='page-distribution-shop-setting'>
|
||||
<SpPage className='page-distribution-shop-setting'>
|
||||
<View className='min-h-full'>
|
||||
<SpCell
|
||||
title='小店名称'
|
||||
value={info.shop_name}
|
||||
@@ -70,7 +71,8 @@ export default class DistributionShopSetting extends Component {
|
||||
mode='widthFix'
|
||||
/>
|
||||
</SpCell>
|
||||
</View>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
import React, { Component } from 'react'
|
||||
import { View, Text, ScrollView, Image } from '@tarojs/components'
|
||||
import { SpToast, Loading, SpNote } from '@/components'
|
||||
import { SpToast, Loading, SpNote, SpPage } from '@/components'
|
||||
import api from '@/api'
|
||||
import { withPager, withBackToTop } from '@/hocs'
|
||||
import { pickBy, formatDateTime } from '@/utils'
|
||||
@@ -74,7 +74,7 @@ export default class DistributionShopTrade extends Component {
|
||||
const { list, page, scrollTop } = this.state
|
||||
|
||||
return (
|
||||
<View className='page-distribution-shop'>
|
||||
<SpPage className='page-distribution-shop'>
|
||||
<ScrollView
|
||||
className='trade-list__scroll'
|
||||
scrollY
|
||||
@@ -123,7 +123,7 @@ export default class DistributionShopTrade extends Component {
|
||||
)}
|
||||
</ScrollView>
|
||||
<SpToast />
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
.trade-list {
|
||||
padding: 24px $edge-margin;
|
||||
&__scroll {
|
||||
@include page-scroll(0, 0);
|
||||
height: 100%;
|
||||
}
|
||||
&__item {
|
||||
&-code {
|
||||
|
||||
@@ -107,6 +107,7 @@ export default class DistributionShop extends Component {
|
||||
|
||||
return (
|
||||
<SpPage className='page-distribution-shop'>
|
||||
<View className='min-h-full'>
|
||||
<View className='shop-banner' style={'background: ' + colors.data[0].marketing}>
|
||||
<View className='shop-info'>
|
||||
<View className='img-content'>
|
||||
@@ -173,6 +174,7 @@ export default class DistributionShop extends Component {
|
||||
</View>
|
||||
</View>
|
||||
)}
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -2,4 +2,6 @@
|
||||
* Copyright © ShopeX (http://www.shopex.cn). All rights reserved.
|
||||
* See LICENSE file for license details.
|
||||
*/
|
||||
export default {}
|
||||
export default {
|
||||
navigationBarTitleText: '推广费'
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import React, { Component } from 'react'
|
||||
import { View, Text, Navigator } from '@tarojs/components'
|
||||
import api from '@/api'
|
||||
import { SpNavBar } from '@/components'
|
||||
import { SpNavBar, SpPage } from '@/components'
|
||||
import { pickBy } from '@/utils'
|
||||
|
||||
import './statistics.scss'
|
||||
@@ -47,8 +47,8 @@ export default class DistributionStatistics extends Component {
|
||||
const { info } = this.state
|
||||
|
||||
return (
|
||||
<View className='page-distribution-statistics'>
|
||||
<SpNavBar title='推广费' leftIconType='chevron-left' />
|
||||
<SpPage className='page-distribution-statistics' >
|
||||
<View className='min-h-full'>
|
||||
<View className='header content-padded-b'>
|
||||
<View className='header-top'>
|
||||
<View className='view-flex view-flex-justify'>
|
||||
@@ -130,7 +130,8 @@ export default class DistributionStatistics extends Component {
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,4 +2,6 @@
|
||||
* Copyright © ShopeX (http://www.shopex.cn). All rights reserved.
|
||||
* See LICENSE file for license details.
|
||||
*/
|
||||
export default {}
|
||||
export default {
|
||||
navigationBarTitleText: '我的会员'
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import React, { Component } from 'react'
|
||||
import { View, Text, Image, ScrollView } from '@tarojs/components'
|
||||
import { AtTabs, AtTabsPane } from 'taro-ui'
|
||||
import { Loading, SpNote, SpNavBar } from '@/components'
|
||||
import { Loading, SpNote, SpNavBar, SpPage } from '@/components'
|
||||
import api from '@/api'
|
||||
import { withPager } from '@/hocs'
|
||||
import { classNames, pickBy } from '@/utils'
|
||||
@@ -89,8 +89,7 @@ export default class DistributionSubordinate extends Component {
|
||||
const { list, page, curTabIdx, tabList, scrollTop } = this.state
|
||||
|
||||
return (
|
||||
<View className='page-distribution-subordinate'>
|
||||
<SpNavBar title='我的会员' leftIconType='chevron-left' fixed='true' />
|
||||
<SpPage className='page-distribution-subordinate'>
|
||||
<AtTabs
|
||||
className='client-list__tabs'
|
||||
current={curTabIdx}
|
||||
@@ -150,7 +149,7 @@ export default class DistributionSubordinate extends Component {
|
||||
<SpNote img='trades_empty.png'>暂无数据~</SpNote>
|
||||
)}
|
||||
</ScrollView>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,25 +6,18 @@
|
||||
|
||||
.page-distribution-subordinate {
|
||||
height: 100%;
|
||||
.client-list__tabs {
|
||||
/* #ifdef h5 */
|
||||
top: $navigate-height-h5;
|
||||
/* #endif */
|
||||
.at-tabs {
|
||||
height: 84px;
|
||||
}
|
||||
// .client-list__tabs {
|
||||
// /* #ifdef h5 */
|
||||
// top: $navigate-height-h5;
|
||||
// /* #endif */
|
||||
// }
|
||||
.subordinate-list__scroll {
|
||||
@include page-scroll(94px, 0);
|
||||
height: calc(100vh - #{$tabs-height + $navigate-height});
|
||||
/* #ifdef h5 */
|
||||
@include page-scroll($tabs-height + $navigate-height-h5, 0);
|
||||
height: calc(100vh - #{$tabs-height + $navigate-height-h5});
|
||||
/* #endif */
|
||||
}
|
||||
.list {
|
||||
min-height: calc(100vh - #{$tabs-height + $navigate-height});
|
||||
/* #ifdef h5 */
|
||||
min-height: calc(100vh - #{$tabs-height + $navigate-height-h5});
|
||||
/* #endif */
|
||||
height: calc(100% - 84px);
|
||||
}
|
||||
|
||||
.avatar {
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
|
||||
@@ -6,7 +6,7 @@ import React, { Component } from 'react'
|
||||
import { getCurrentInstance } from '@tarojs/taro'
|
||||
import { View, Text, Image, ScrollView } from '@tarojs/components'
|
||||
import { AtTabs, AtTabsPane } from 'taro-ui'
|
||||
import { Loading, SpNote, SpNavBar } from '@/components'
|
||||
import { Loading, SpNote, SpNavBar, SpPage } from '@/components'
|
||||
import api from '@/api'
|
||||
import { hasNavbar, pickBy } from '@/utils'
|
||||
import { withPager, withBackToTop } from '@/hocs'
|
||||
@@ -93,10 +93,9 @@ export default class DistributionTrade extends Component {
|
||||
console.log(list)
|
||||
|
||||
return (
|
||||
<View className='page-distribution-trade'>
|
||||
<SpNavBar title='订单' leftIconType='chevron-left' />
|
||||
<SpPage className='page-distribution-trade'>
|
||||
<AtTabs
|
||||
className={`trade-list__tabs ${hasNavbar && 'trade-list__tabs_web'}`}
|
||||
className='trade-list__tabs'
|
||||
current={curTabIdx}
|
||||
tabList={tabList}
|
||||
onClick={this.handleClickTab}
|
||||
@@ -106,7 +105,7 @@ export default class DistributionTrade extends Component {
|
||||
))}
|
||||
</AtTabs>
|
||||
<ScrollView
|
||||
className={`trade-list__scroll ${hasNavbar && 'trade-list__scroll_web'}`}
|
||||
className='trade-list__scroll'
|
||||
scrollY
|
||||
scrollTop={scrollTop}
|
||||
onScrollToLower={this.nextPage}
|
||||
@@ -151,7 +150,7 @@ export default class DistributionTrade extends Component {
|
||||
<SpNote img='trades_empty.png'>暂无数据~</SpNote>
|
||||
)}
|
||||
</ScrollView>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,20 +5,11 @@
|
||||
@import '@/style/imports';
|
||||
|
||||
.page-distribution-trade {
|
||||
.trade-list__tabs_web {
|
||||
// 浏览器(不包含微信浏览器)
|
||||
margin-top: $navigate-height-h5;
|
||||
.at-tabs {
|
||||
height: 84px;
|
||||
}
|
||||
.trade-list__scroll {
|
||||
@include page-scroll($tabs-height + $navigate-height, 0);
|
||||
/* #ifdef h5 */
|
||||
@include page-scroll($tabs-height + $navigate-height-h5, 0);
|
||||
top: 110px;
|
||||
/* #endif */
|
||||
}
|
||||
.trade-list__scroll_web {
|
||||
// 浏览器(不包含微信浏览器)
|
||||
top: $tabs-height + $navigate-height-h5 + 30px;
|
||||
height: calc(100% - 84px);
|
||||
}
|
||||
.order-no {
|
||||
font-size: 30px;
|
||||
|
||||
@@ -169,7 +169,18 @@ export default class DistributionWithdraw extends Component {
|
||||
payText
|
||||
} = this.state
|
||||
return (
|
||||
<SpPage className='page-distribution-withdraw'>
|
||||
<SpPage className='page-distribution-withdraw' footerHeight={186} renderFooter={
|
||||
<View className='content-padded'>
|
||||
<Button
|
||||
className='g-button'
|
||||
onClick={this.goWithdraw}
|
||||
disabled={curIdx == 'wechat' && amount > 800}
|
||||
>
|
||||
提现
|
||||
</Button>
|
||||
</View>}
|
||||
>
|
||||
<View className='min-h-full'>
|
||||
<View className='withdraw'>
|
||||
<View className='withdraw-title'>
|
||||
<View className='title'>可提现金额(元)</View>
|
||||
@@ -232,14 +243,6 @@ export default class DistributionWithdraw extends Component {
|
||||
<View className='g-ul-li'>提现申请审核通过后1个工作日后到账,节假日顺延</View>
|
||||
<View className='g-ul-li'>修改银行卡信息请前往实名认证信息进行修改</View>
|
||||
</View>
|
||||
<View className='content-padded'>
|
||||
<Button
|
||||
className='g-button'
|
||||
onClick={this.goWithdraw}
|
||||
disabled={curIdx == 'wechat' && amount > 800}
|
||||
>
|
||||
提现
|
||||
</Button>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import React, { Component } from 'react'
|
||||
import Taro, { getCurrentInstance } from '@tarojs/taro'
|
||||
import { View, Text, Button } from '@tarojs/components'
|
||||
import { SpInput as AtInput } from '@/components'
|
||||
import { SpInput as AtInput, SpPage } from '@/components'
|
||||
import { showToast } from '@/utils'
|
||||
import api from '@/api'
|
||||
|
||||
@@ -78,8 +78,23 @@ export default class DistributionWithdrawalsAcount extends Component {
|
||||
console.log('00', hasBind)
|
||||
|
||||
return (
|
||||
<View className='page-distribution-acount'>
|
||||
<View className='section list message'>
|
||||
<SpPage className='page-distribution-acount' footerHeight={186} renderFooter={
|
||||
<>
|
||||
<View className='content-padded'>
|
||||
<Button type='primary' onClick={this.handleSubmit}>
|
||||
确认绑定
|
||||
</Button>
|
||||
{/* { !hasBind && <Button type="primary" onClick={this.handleSubmit}>确认绑定</Button> }
|
||||
{ hasBind && !isEdit && <Button type="primary" onClick={this.handleClick}>修改支付宝账号</Button> }
|
||||
{ hasBind && isEdit && <Button type="primary" onClick={this.handleSubmit}>确认修改并保存</Button> } */}
|
||||
</View>
|
||||
<View className='g-ul'>
|
||||
<View className='g-ul-li'>请务必准确填写开户人姓名和支付宝账号</View>
|
||||
{/* <View className="g-ul-li">支持支付宝账户的修改,但每天仅限1次</View> */}
|
||||
</View></>
|
||||
}
|
||||
>
|
||||
<View className='section list message min-h-full'>
|
||||
<AtInput
|
||||
className='message-input'
|
||||
title='开户人姓名'
|
||||
@@ -148,19 +163,7 @@ export default class DistributionWithdrawalsAcount extends Component {
|
||||
/>
|
||||
} */}
|
||||
</View>
|
||||
<View className='content-padded'>
|
||||
<Button type='primary' onClick={this.handleSubmit}>
|
||||
确认绑定
|
||||
</Button>
|
||||
{/* { !hasBind && <Button type="primary" onClick={this.handleSubmit}>确认绑定</Button> }
|
||||
{ hasBind && !isEdit && <Button type="primary" onClick={this.handleClick}>修改支付宝账号</Button> }
|
||||
{ hasBind && isEdit && <Button type="primary" onClick={this.handleSubmit}>确认修改并保存</Button> } */}
|
||||
</View>
|
||||
<View className='g-ul'>
|
||||
<View className='g-ul-li'>请务必准确填写开户人姓名和支付宝账号</View>
|
||||
{/* <View className="g-ul-li">支持支付宝账户的修改,但每天仅限1次</View> */}
|
||||
</View>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import React, { Component } from 'react'
|
||||
import { View, Text, Icon, ScrollView } from '@tarojs/components'
|
||||
import { AtTabs, AtTabsPane } from 'taro-ui'
|
||||
import { BackToTop, Loading, SpNote } from '@/components'
|
||||
import { BackToTop, Loading, SpNote, SpPage } from '@/components'
|
||||
import api from '@/api'
|
||||
import { withPager, withBackToTop } from '@/hocs'
|
||||
import { classNames, pickBy } from '@/utils'
|
||||
@@ -80,7 +80,7 @@ export default class DistributionWithdrawalsRecord extends Component {
|
||||
const { list, page, scrollTop } = this.state
|
||||
|
||||
return (
|
||||
<View className='page-distribution-record'>
|
||||
<SpPage className='page-distribution-record'>
|
||||
<ScrollView
|
||||
className='record-list__scroll'
|
||||
scrollY
|
||||
@@ -136,7 +136,7 @@ export default class DistributionWithdrawalsRecord extends Component {
|
||||
<SpNote img='trades_empty.png'>暂无数据~</SpNote>
|
||||
)}
|
||||
</ScrollView>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
.page-distribution-record {
|
||||
.record-list__scroll {
|
||||
@include page-scroll($tabs-height + $navigate-height, 0);
|
||||
height: 100%;
|
||||
}
|
||||
.status-icon {
|
||||
display: block;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import React, { Component } from 'react'
|
||||
import Taro, { getCurrentInstance } from '@tarojs/taro'
|
||||
import { View } from '@tarojs/components'
|
||||
import { Loading } from '@/components'
|
||||
import { Loading, SpPage } from '@/components'
|
||||
import api from '@/api'
|
||||
import S from '@/spx'
|
||||
import { normalizeQuerys, getAppId } from '@/utils'
|
||||
@@ -107,12 +107,13 @@ export default class AuthLogin extends Component {
|
||||
const { showAuth } = this.state
|
||||
const user = Taro.getStorageSync('userinfo')
|
||||
|
||||
if (!showAuth) {
|
||||
return <Loading />
|
||||
}
|
||||
// if (!showAuth) {
|
||||
// return <Loading />
|
||||
// }
|
||||
|
||||
return (
|
||||
<View className='authLogin'>
|
||||
<SpPage className='authLogin' loading={!showAuth}>
|
||||
<View className='min-h-full'>
|
||||
<View className='welcome'>尊敬的{user.username}</View>
|
||||
<View className='content'>您即将在门店大屏登录并在门店进行购物,请您确认是否登录</View>
|
||||
<View className='btnGroup'>
|
||||
@@ -123,7 +124,8 @@ export default class AuthLogin extends Component {
|
||||
取消
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,4 +2,6 @@
|
||||
* Copyright © ShopeX (http://www.shopex.cn). All rights reserved.
|
||||
* See LICENSE file for license details.
|
||||
*/
|
||||
export default {}
|
||||
export default {
|
||||
navigationBarTitleText: '线下订单关联'
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import { View, Input, Image } from '@tarojs/components'
|
||||
import { AtModal, AtModalContent, AtModalAction } from 'taro-ui'
|
||||
import { connect } from 'react-redux'
|
||||
import api from '@/api'
|
||||
import { SpNavBar } from '@/components'
|
||||
import { SpNavBar, SpPage } from '@/components'
|
||||
|
||||
import './index.scss'
|
||||
|
||||
@@ -83,7 +83,7 @@ export default class BindOrder extends Component {
|
||||
title: '关联成功,请至订单列表查看',
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {}
|
||||
} catch (e) { }
|
||||
}
|
||||
|
||||
render() {
|
||||
@@ -91,39 +91,7 @@ export default class BindOrder extends Component {
|
||||
const { colors } = this.props
|
||||
|
||||
return (
|
||||
<View className='bindOrder'>
|
||||
<SpNavBar title='线下订单关联' leftIconType='chevron-left' fixed='true' />
|
||||
<View className='barCode'>
|
||||
<View className='line'>
|
||||
请输入或者扫码录入订单号
|
||||
<View className='iconfont icon-info' onClick={this.showTips.bind(this, 1)}></View>
|
||||
</View>
|
||||
<View className='input'>
|
||||
<Input
|
||||
className='text'
|
||||
value={barCode}
|
||||
type='text'
|
||||
placeholder='订单号'
|
||||
onInput={this.inputChange.bind(this, 'barCode')}
|
||||
/>
|
||||
<View className='iconfont icon-scan' onClick={this.scanCode.bind(this)}></View>
|
||||
</View>
|
||||
</View>
|
||||
<View className='barCode'>
|
||||
<View className='line'>
|
||||
请输入订单随机码
|
||||
<View className='iconfont icon-info' onClick={this.showTips.bind(this, 0)}></View>
|
||||
</View>
|
||||
<View className='input'>
|
||||
<Input
|
||||
className='text'
|
||||
value={randomCode}
|
||||
type='text'
|
||||
placeholder='随机码'
|
||||
onInput={this.inputChange.bind(this, 'randomCode')}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<SpPage className='bindOrder' renderFooter={
|
||||
<View
|
||||
className='btn'
|
||||
style={`background: ${colors.data[0].primary}`}
|
||||
@@ -131,22 +99,57 @@ export default class BindOrder extends Component {
|
||||
>
|
||||
关联
|
||||
</View>
|
||||
<AtModal isOpened={showModal} className='tipsModal' onClose={this.hideModal.bind(this)}>
|
||||
<AtModalContent>
|
||||
{tips}
|
||||
<Image src={tipImg} className='img' mode='aspectFit' />
|
||||
</AtModalContent>
|
||||
<AtModalAction>
|
||||
<View
|
||||
className='confirm'
|
||||
onClick={this.hideModal.bind(this)}
|
||||
style={`background: ${colors.data[0].primary}`}
|
||||
>
|
||||
确认
|
||||
}
|
||||
>
|
||||
<View className='min-h-full bind-order-content'>
|
||||
<View className='barCode'>
|
||||
<View className='line'>
|
||||
请输入或者扫码录入订单号
|
||||
<View className='iconfont icon-info' onClick={this.showTips.bind(this, 1)}></View>
|
||||
</View>
|
||||
</AtModalAction>
|
||||
</AtModal>
|
||||
</View>
|
||||
<View className='input'>
|
||||
<Input
|
||||
className='text'
|
||||
value={barCode}
|
||||
type='text'
|
||||
placeholder='订单号'
|
||||
onInput={this.inputChange.bind(this, 'barCode')}
|
||||
/>
|
||||
<View className='iconfont icon-scan' onClick={this.scanCode.bind(this)}></View>
|
||||
</View>
|
||||
</View>
|
||||
<View className='barCode'>
|
||||
<View className='line'>
|
||||
请输入订单随机码
|
||||
<View className='iconfont icon-info' onClick={this.showTips.bind(this, 0)}></View>
|
||||
</View>
|
||||
<View className='input'>
|
||||
<Input
|
||||
className='text'
|
||||
value={randomCode}
|
||||
type='text'
|
||||
placeholder='随机码'
|
||||
onInput={this.inputChange.bind(this, 'randomCode')}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<AtModal isOpened={showModal} className='tipsModal' onClose={this.hideModal.bind(this)}>
|
||||
<AtModalContent>
|
||||
{tips}
|
||||
<Image src={tipImg} className='img' mode='aspectFit' />
|
||||
</AtModalContent>
|
||||
<AtModalAction>
|
||||
<View
|
||||
className='confirm'
|
||||
onClick={this.hideModal.bind(this)}
|
||||
style={`background: ${colors.data[0].primary}`}
|
||||
>
|
||||
确认
|
||||
</View>
|
||||
</AtModalAction>
|
||||
</AtModal>
|
||||
</View>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,48 +9,61 @@
|
||||
height: 100vh;
|
||||
background: #fff;
|
||||
box-sizing: border-box;
|
||||
padding-top: 20px;
|
||||
/* #ifdef h5 */
|
||||
padding-top: $navigate-height-h5;
|
||||
/* #endif */
|
||||
|
||||
.bind-order-content {
|
||||
box-sizing: border-box;
|
||||
padding-top: 20px;
|
||||
/* #ifdef h5 */
|
||||
padding-top: $navigate-height-h5;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
.barCode {
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
|
||||
.input,
|
||||
.line {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.text {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
font-size: 42px;
|
||||
color: #149bd5;
|
||||
}
|
||||
}
|
||||
|
||||
.line {
|
||||
padding: 20px 0;
|
||||
justify-content: space-between;
|
||||
|
||||
.iconfont {
|
||||
font-size: 38px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn {
|
||||
width: 50%;
|
||||
margin: 60px auto 0 auto;
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
height: 80px;
|
||||
line-height: 80px;
|
||||
color: #fff;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.tipsModal {
|
||||
.img {
|
||||
width: 80%;
|
||||
margin: 20px auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.confirm {
|
||||
width: 100%;
|
||||
height: 80px;
|
||||
@@ -59,4 +72,4 @@
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -53,11 +53,13 @@
|
||||
.category-comps {
|
||||
box-sizing: border-box;
|
||||
background: #ffffff;
|
||||
@include page-scroll($tabs-height + 16px, $tabbar-height);
|
||||
position: static!important;
|
||||
height: 100%;
|
||||
}
|
||||
.category-comps-not {
|
||||
box-sizing: border-box;
|
||||
background: #ffffff;
|
||||
@include page-scroll(0, $tabbar-height);
|
||||
position: static!important;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,10 +45,10 @@ function StoreItemList(props) {
|
||||
}
|
||||
|
||||
return (
|
||||
<SpPage>
|
||||
<>
|
||||
{state.layout === 1 && <CompsAddPurchase />}
|
||||
{state.layout === 2 && <CompsCategoryNew />}
|
||||
</SpPage>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -2,8 +2,4 @@
|
||||
* Copyright © ShopeX (http://www.shopex.cn). All rights reserved.
|
||||
* See LICENSE file for license details.
|
||||
*/
|
||||
.page-index {
|
||||
.home-body {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -289,8 +289,8 @@ function Home() {
|
||||
})
|
||||
}}
|
||||
>
|
||||
<ScrollView
|
||||
className={classNames('home-body', {
|
||||
<View
|
||||
className={classNames('home-body min-h-full', {
|
||||
'has-home-header': isShowHomeHeader && isWeixin
|
||||
})}
|
||||
scrollY
|
||||
@@ -316,7 +316,7 @@ function Home() {
|
||||
</HomeWgts>
|
||||
</WgtsContext.Provider>
|
||||
)}
|
||||
</ScrollView>
|
||||
</View>
|
||||
|
||||
{/* 小程序收藏提示 */}
|
||||
{isWeixin && <MCompAddTip />}
|
||||
|
||||
@@ -55,7 +55,9 @@ $search-wrap-height: 90px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.item-list-scroll{
|
||||
min-height: calc(100% - 322px);
|
||||
}
|
||||
.list-scroll-container {
|
||||
height: calc(100% - #{$search-wrap-height});
|
||||
}
|
||||
|
||||
@@ -2,13 +2,11 @@
|
||||
* Copyright © ShopeX (http://www.shopex.cn). All rights reserved.
|
||||
* See LICENSE file for license details.
|
||||
*/
|
||||
.comp-tabbar {
|
||||
.at-badge__num {
|
||||
background-color: var(--color-dianwu-primary);
|
||||
}
|
||||
.at-badge__num {
|
||||
background-color: var(--color-dianwu-primary);
|
||||
}
|
||||
|
||||
&.at-tab-bar {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
}
|
||||
.at-tab-bar {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
}
|
||||
@@ -148,3 +148,6 @@
|
||||
.opacity-0 {
|
||||
opacity: 0;
|
||||
}
|
||||
.min-h-full {
|
||||
min-height: 100%;
|
||||
}
|
||||
@@ -12,10 +12,6 @@ view.rtl-layout {
|
||||
direction: rtl;
|
||||
text-align: right;
|
||||
|
||||
// 确保所有子元素也应用 RTL
|
||||
> * {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
.text-left {
|
||||
text-align: right;
|
||||
@@ -34,7 +30,7 @@ view.rtl-layout {
|
||||
}
|
||||
|
||||
// Fix Taro UI icons if needed (example)
|
||||
.at-icon-chevron-right,.icon-arrowRight,.icon-arrowRight-img {
|
||||
.at-icon-chevron-right,.icon-arrowRight,.icon-arrowRight-img,.icon-qianwang-01 {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
|
||||
@@ -232,7 +232,7 @@ function UgcIndex() {
|
||||
onConfirm={handleConfirm}
|
||||
/>
|
||||
|
||||
<View>
|
||||
<>
|
||||
<SpTagBar
|
||||
className='ugc-tag'
|
||||
list={tagsList}
|
||||
@@ -274,7 +274,7 @@ function UgcIndex() {
|
||||
</View>
|
||||
</View>
|
||||
</SpScrollView>
|
||||
</View>
|
||||
</>
|
||||
</SpPage>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -22,6 +22,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.list-scroll{
|
||||
min-height: calc(100% - 402px);
|
||||
}
|
||||
|
||||
.ugc-tag {
|
||||
&.sp-tag-bar {
|
||||
|
||||
@@ -453,16 +453,10 @@ function MemberIndex(props) {
|
||||
className='pages-member-index'
|
||||
immersive={state.pageData?.base?.isImmersive}
|
||||
pageConfig={state.pageData?.base || {}}
|
||||
renderFooter={<SpTabbar height={state.footerHeight} />}
|
||||
renderFooter={<SpTabbar />}
|
||||
title='会员中心'
|
||||
onReady={({ footerHeight }) => {
|
||||
setState((draft) => {
|
||||
draft.footerHeight = footerHeight
|
||||
})
|
||||
console.log('onReady', footerHeight)
|
||||
}}
|
||||
>
|
||||
<View className='user-info-card-wrapper' style={{ paddingBottom: state.footerHeight }}>
|
||||
<View className='user-info-card-wrapper'>
|
||||
<View
|
||||
className='header-block'
|
||||
style={userInfo?.gradeInfo?.grade_background ? memberBckStyle : {}}
|
||||
|
||||
Reference in New Issue
Block a user