🎈 perf(优化):
This commit is contained in:
parent
d973905bbe
commit
461744054e
@ -22,7 +22,7 @@ module.exports = {
|
|||||||
terserOptions: {
|
terserOptions: {
|
||||||
// compress: true, // 默认使用terser压缩
|
// compress: true, // 默认使用terser压缩
|
||||||
compress: {
|
compress: {
|
||||||
drop_console: true, // 去掉打印
|
// drop_console: true, // 去掉打印
|
||||||
}, // 默认使用terser压缩
|
}, // 默认使用terser压缩
|
||||||
// mangle: false,
|
// mangle: false,
|
||||||
keep_classnames: true, // 不改变class名称
|
keep_classnames: true, // 不改变class名称
|
||||||
|
|||||||
@ -13,7 +13,7 @@ export const BASE_URL = CURRENT_BASE_URL
|
|||||||
// export const BASE_URL = `https://www.zzfzyc.com/lymarket` // 正式环境
|
// export const BASE_URL = `https://www.zzfzyc.com/lymarket` // 正式环境
|
||||||
// export const BASE_URL = `http://192.168.1.5:40001/lymarket` // 王霞
|
// export const BASE_URL = `http://192.168.1.5:40001/lymarket` // 王霞
|
||||||
// export const BASE_URL = `http://192.168.1.7:50002/lymarket` // 添
|
// export const BASE_URL = `http://192.168.1.7:50002/lymarket` // 添
|
||||||
// export const BASE_URL = `http://192.168.1.22:50002/lymarket` // 婷
|
// export const BASE_URL = `http://192.168.1.28:50002/lymarket` // 婷
|
||||||
// export const BASE_URL = `http://192.168.1.42:50002/lymarket` // 杰
|
// export const BASE_URL = `http://192.168.1.42:50002/lymarket` // 杰
|
||||||
|
|
||||||
// CDN
|
// CDN
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
//订单状态枚举
|
//订单状态枚举
|
||||||
export const ORDER_STATUS = {
|
export const ORDER_STATUS = {
|
||||||
SaleorderstatusWaitingPrePayment: { value: 10, label: '预付款' }, // 预付款
|
SaleorderstatusWaitingPrePayment: { value: 10, label: '预付款' }, // 预付款
|
||||||
@ -36,13 +35,13 @@ export const PAYMENT_METHOD = {
|
|||||||
PaymentMethodCashOnDelivery: { value: 5, label: '货到付款' },
|
PaymentMethodCashOnDelivery: { value: 5, label: '货到付款' },
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//订单类型
|
//订单类型
|
||||||
export const SALE_MODE = {
|
export const SALE_MODE = {
|
||||||
SaLeModeBulk: { value: 0, label: '大货' },
|
SaLeModeBulk: { value: 0, label: '大货' },
|
||||||
SaleModeLengthCut: { value: 1, label: '剪版' },
|
SaleModeLengthCut: { value: 1, label: '剪版' },
|
||||||
SaLeModeWeightCut: { value: 2, label: '散剪' },
|
SaLeModeWeightCut: { value: 2, label: '散剪' },
|
||||||
}
|
}
|
||||||
|
export type saleModeType = 0 | 1 | 2
|
||||||
|
|
||||||
//分享场景枚举
|
//分享场景枚举
|
||||||
export const SHARE_SCENE = {
|
export const SHARE_SCENE = {
|
||||||
@ -54,7 +53,7 @@ export const SHARE_SCENE = {
|
|||||||
export const SUBSCRIPTION_MESSAGE_SCENE = {
|
export const SUBSCRIPTION_MESSAGE_SCENE = {
|
||||||
SubmitOrder: { value: 1, label: '确认下单' },
|
SubmitOrder: { value: 1, label: '确认下单' },
|
||||||
ToPay: { value: 2, label: '去付款' },
|
ToPay: { value: 2, label: '去付款' },
|
||||||
ApplyGoods: {value:3, label: '申请退款'}
|
ApplyGoods: { value: 3, label: '申请退款' },
|
||||||
}
|
}
|
||||||
|
|
||||||
//应收单退款状态枚举
|
//应收单退款状态枚举
|
||||||
|
|||||||
@ -13,13 +13,26 @@ type params = {
|
|||||||
onClickBtn?: (val: number) => void
|
onClickBtn?: (val: number) => void
|
||||||
unit?: string
|
unit?: string
|
||||||
disabled?: true | false //是否禁用
|
disabled?: true | false //是否禁用
|
||||||
|
returnZero?: true | false //少于最小值时是否归0
|
||||||
}
|
}
|
||||||
export default memo((props: params) => {
|
export default memo((props: params) => {
|
||||||
return <Counter {...props}></Counter>
|
return <Counter {...props}></Counter>
|
||||||
})
|
})
|
||||||
|
|
||||||
const Counter = memo((props: params) => {
|
const Counter = memo((props: params) => {
|
||||||
let { minNum = 0, maxNum = 10000, step = 1, digits = 0, defaultNum = 0, onChange, onBlue, onClickBtn, unit = '', disabled = false } = props
|
let {
|
||||||
|
minNum = 0,
|
||||||
|
maxNum = 10000,
|
||||||
|
step = 1,
|
||||||
|
digits = 0,
|
||||||
|
defaultNum = 0,
|
||||||
|
onChange,
|
||||||
|
onBlue,
|
||||||
|
onClickBtn,
|
||||||
|
returnZero = false,
|
||||||
|
unit = '',
|
||||||
|
disabled = false,
|
||||||
|
} = props
|
||||||
const [value, setValue] = useState<any>({ count: defaultNum })
|
const [value, setValue] = useState<any>({ count: defaultNum })
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setValue({ count: defaultNum })
|
setValue({ count: defaultNum })
|
||||||
@ -38,7 +51,11 @@ const Counter = memo((props: params) => {
|
|||||||
if (disabled) return false
|
if (disabled) return false
|
||||||
let count = value.count
|
let count = value.count
|
||||||
let num_res = Big(count).minus(step).toNumber()
|
let num_res = Big(count).minus(step).toNumber()
|
||||||
|
if (returnZero) {
|
||||||
|
num_res = num_res < minNum ? 0 : num_res
|
||||||
|
} else {
|
||||||
num_res = num_res < minNum ? minNum : num_res
|
num_res = num_res < minNum ? minNum : num_res
|
||||||
|
}
|
||||||
setValue({ ...value, count: num_res })
|
setValue({ ...value, count: num_res })
|
||||||
onChange?.(parseFloat(num_res))
|
onChange?.(parseFloat(num_res))
|
||||||
onClickBtn?.(parseFloat(num_res))
|
onClickBtn?.(parseFloat(num_res))
|
||||||
|
|||||||
@ -303,6 +303,11 @@ export default ({ show = false, onClose, intoStatus = 'shop', default_sale_mode
|
|||||||
setShowLabImage(() => false)
|
setShowLabImage(() => false)
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
|
const goShop = useCallback(() => {
|
||||||
|
onClose?.()
|
||||||
|
goLink('/pages/index/index', null, 'switchTab')
|
||||||
|
}, [])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View className={styles.shop_cart_main}>
|
<View className={styles.shop_cart_main}>
|
||||||
<Popup showTitle={false} show={showPopup} onClose={() => closePopup()}>
|
<Popup showTitle={false} show={showPopup} onClose={() => closePopup()}>
|
||||||
@ -341,7 +346,7 @@ export default ({ show = false, onClose, intoStatus = 'shop', default_sale_mode
|
|||||||
{!loading && listData?.length == 0 && (
|
{!loading && listData?.length == 0 && (
|
||||||
<View className={styles.empty}>
|
<View className={styles.empty}>
|
||||||
<View className={styles.title}>暂未选择商品</View>
|
<View className={styles.title}>暂未选择商品</View>
|
||||||
<View className={styles.btn} onClick={() => goLink('/pages/index/index', null, 'switchTab')}>
|
<View className={styles.btn} onClick={goShop}>
|
||||||
去选购
|
去选购
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
@ -55,7 +55,8 @@ export default () => {
|
|||||||
const onScanCode = () => {
|
const onScanCode = () => {
|
||||||
Taro.scanCode({
|
Taro.scanCode({
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
setSubmitData(() => ({ invitation_code: res.result }))
|
let val = res.result.match(/InviteCode:([a-zA-Z0-9]{4})/)
|
||||||
|
setSubmitData(() => ({ invitation_code: val ? val![1] : '' }))
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,7 +31,19 @@ export default memo(({ show = false, onClose, title = '', productId = 0 }: param
|
|||||||
const [selectList, _] = useState([
|
const [selectList, _] = useState([
|
||||||
{ id: 0, step: 1, digits: 0, maxNum: 100000, defaultNum: 1, title: '大货', unit: '条', eunit: 'kg', priceField: 'bulk_price' },
|
{ id: 0, step: 1, digits: 0, maxNum: 100000, defaultNum: 1, title: '大货', unit: '条', eunit: 'kg', priceField: 'bulk_price' },
|
||||||
{ id: 1, step: 1, digits: 2, maxNum: 9.99, defaultNum: 1, title: '剪板', unit: '米', eunit: 'm', priceField: 'length_cut_price' },
|
{ id: 1, step: 1, digits: 2, maxNum: 9.99, defaultNum: 1, title: '剪板', unit: '米', eunit: 'm', priceField: 'length_cut_price' },
|
||||||
{ id: 2, step: 1, digits: 2, minNum: 3, maxNum: 100000, defaultNum: 3, title: '散剪', unit: '米', eunit: 'kg', priceField: 'weight_cut_price' },
|
{
|
||||||
|
id: 2,
|
||||||
|
step: 1,
|
||||||
|
digits: 2,
|
||||||
|
minNum: 3,
|
||||||
|
maxNum: 100000,
|
||||||
|
defaultNum: 3,
|
||||||
|
returnZero: true,
|
||||||
|
title: '散剪',
|
||||||
|
unit: '米',
|
||||||
|
eunit: 'kg',
|
||||||
|
priceField: 'weight_cut_price',
|
||||||
|
},
|
||||||
])
|
])
|
||||||
const [selectIndex, setSelectIndex] = useState(0)
|
const [selectIndex, setSelectIndex] = useState(0)
|
||||||
const selectProduct = (index: number) => {
|
const selectProduct = (index: number) => {
|
||||||
@ -246,6 +258,7 @@ export default memo(({ show = false, onClose, title = '', productId = 0 }: param
|
|||||||
unit={selectList[selectIndex].unit}
|
unit={selectList[selectIndex].unit}
|
||||||
minNum={selectList[selectIndex].minNum}
|
minNum={selectList[selectIndex].minNum}
|
||||||
maxNum={selectList[selectIndex].maxNum}
|
maxNum={selectList[selectIndex].maxNum}
|
||||||
|
returnZero={selectList[selectIndex].returnZero}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -5,17 +5,15 @@ import classnames from 'classnames'
|
|||||||
|
|
||||||
type Param = {
|
type Param = {
|
||||||
list: { id: number; name: string }[]
|
list: { id: number; name: string }[]
|
||||||
defaultId?: number | null
|
defaultId?: number
|
||||||
onSelect?: (val: number) => void
|
onSelect?: (val: number) => void
|
||||||
}
|
}
|
||||||
export default memo(({ list = [], defaultId = null, onSelect }: Param) => {
|
export default memo(({ list = [], defaultId = -1, onSelect }: Param) => {
|
||||||
const [selectInfo, setSelectInfo] = useState({
|
const [selectInfo, setSelectInfo] = useState({
|
||||||
selected: -1, //当前选中的id
|
selected: -1, //当前选中的id
|
||||||
tabId: '', //需要滚动到的id
|
tabId: '', //需要滚动到的id
|
||||||
})
|
})
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (defaultId) {
|
|
||||||
console.log('defaultId:::', defaultId)
|
|
||||||
const index = list?.findIndex((item) => {
|
const index = list?.findIndex((item) => {
|
||||||
return item.id == defaultId
|
return item.id == defaultId
|
||||||
})
|
})
|
||||||
@ -23,8 +21,7 @@ export default memo(({ list = [], defaultId = null, onSelect }: Param) => {
|
|||||||
const num = index > 0 ? index - 1 : 0
|
const num = index > 0 ? index - 1 : 0
|
||||||
setSelectInfo((e) => ({ ...e, tabId: list[num].id.toString() }))
|
setSelectInfo((e) => ({ ...e, tabId: list[num].id.toString() }))
|
||||||
}
|
}
|
||||||
}
|
setSelectInfo((e) => ({ ...e, selected: defaultId }))
|
||||||
setSelectInfo((e) => ({ ...e, selected: defaultId || -1 }))
|
|
||||||
}, [defaultId])
|
}, [defaultId])
|
||||||
const clickEvent = ({ item, index }: { item: any; index: number }) => {
|
const clickEvent = ({ item, index }: { item: any; index: number }) => {
|
||||||
const num = index > 0 ? index - 1 : 0
|
const num = index > 0 ? index - 1 : 0
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import Search from '@/components/search'
|
import Search from '@/components/search'
|
||||||
import useLogin from '@/use/useLogin'
|
import useLogin from '@/use/useLogin'
|
||||||
import { View } from '@tarojs/components'
|
import { View } from '@tarojs/components'
|
||||||
import Taro, { useDidShow, useRouter } from '@tarojs/taro'
|
import Taro, { useDidHide, useDidShow, useRouter, useUnload } from '@tarojs/taro'
|
||||||
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
||||||
import styles from './index.module.scss'
|
import styles from './index.module.scss'
|
||||||
import Order from './components/order'
|
import Order from './components/order'
|
||||||
@ -30,7 +30,12 @@ export default () => {
|
|||||||
} else {
|
} else {
|
||||||
setSearchField((e) => ({ ...e, status: -1 }))
|
setSearchField((e) => ({ ...e, status: -1 }))
|
||||||
}
|
}
|
||||||
}, [router])
|
getOrderStatusList()
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
useDidHide(() => {
|
||||||
|
setSearchField((e) => ({ ...e, status: -1 }))
|
||||||
|
})
|
||||||
|
|
||||||
//搜索参数
|
//搜索参数
|
||||||
const [searchField, setSearchField] = useState<{ status: number | null; page: number; size: number; name: string }>({
|
const [searchField, setSearchField] = useState<{ status: number | null; page: number; size: number; name: string }>({
|
||||||
@ -42,14 +47,11 @@ export default () => {
|
|||||||
|
|
||||||
//获取订单状态
|
//获取订单状态
|
||||||
const { fetchData: orderStatusListFetchData } = OrderStatusListApi()
|
const { fetchData: orderStatusListFetchData } = OrderStatusListApi()
|
||||||
const [statusList, setStatusList] = useState<any[]>([{ id: -1, name: '全部' }])
|
const [statusList, setStatusList] = useState<any[]>([])
|
||||||
const getOrderStatusList = async () => {
|
const getOrderStatusList = async () => {
|
||||||
let res = await orderStatusListFetchData()
|
let res = await orderStatusListFetchData()
|
||||||
setStatusList((e) => [...e, ...res.data.list])
|
setStatusList(() => [{ id: -1, name: '全部' }, ...res.data.list])
|
||||||
}
|
}
|
||||||
useEffect(() => {
|
|
||||||
getOrderStatusList()
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
//获取订单列表
|
//获取订单列表
|
||||||
const { fetchData: listFetchData, state: orderState } = GetOrderListApi()
|
const { fetchData: listFetchData, state: orderState } = GetOrderListApi()
|
||||||
@ -139,10 +141,10 @@ export default () => {
|
|||||||
setPayMentShow(() => false)
|
setPayMentShow(() => false)
|
||||||
}, [])
|
}, [])
|
||||||
//支付成功
|
//支付成功
|
||||||
const onPaySuccess = useCallback(() => {
|
const onPaySuccess = () => {
|
||||||
getOrderList()
|
getOrderList()
|
||||||
closePayShow()
|
closePayShow()
|
||||||
}, [])
|
}
|
||||||
|
|
||||||
//添加购物车
|
//添加购物车
|
||||||
const [showCart, setShowCart] = useState(false)
|
const [showCart, setShowCart] = useState(false)
|
||||||
@ -200,7 +202,7 @@ export default () => {
|
|||||||
<View className={styles.order_list_main}>
|
<View className={styles.order_list_main}>
|
||||||
<View className={styles.title}>
|
<View className={styles.title}>
|
||||||
<Search placeIcon='out' placeholder='搜索商品/名称/颜色/订单号' showBtn={true} changeOnSearch={getSearchData} debounceTime={300} />
|
<Search placeIcon='out' placeholder='搜索商品/名称/颜色/订单号' showBtn={true} changeOnSearch={getSearchData} debounceTime={300} />
|
||||||
<OrderStatusList list={statusList} onSelect={changeStatus} defaultId={router?.params.status as unknown as number} />
|
<OrderStatusList list={statusList} onSelect={changeStatus} defaultId={searchField.status as unknown as number} />
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.order_list}>
|
<View className={styles.order_list}>
|
||||||
<InfiniteScroll
|
<InfiniteScroll
|
||||||
|
|||||||
@ -34,14 +34,11 @@ type ListParam = {
|
|||||||
}
|
}
|
||||||
export default memo(({ show = true, onClose, orderInfo }: Param) => {
|
export default memo(({ show = true, onClose, orderInfo }: Param) => {
|
||||||
const [detail, setDetail] = useState<any>()
|
const [detail, setDetail] = useState<any>()
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
console.log('detail:::', detail)
|
|
||||||
if (show && detail) {
|
if (show && detail) {
|
||||||
getCore()
|
getCore()
|
||||||
}
|
}
|
||||||
}, [show, detail])
|
}, [show, detail])
|
||||||
|
|
||||||
const product_list = useMemo(() => {
|
const product_list = useMemo(() => {
|
||||||
return orderInfo?.is_quality_check ? orderInfo?.quality_check_pass_product : orderInfo?.product_list
|
return orderInfo?.is_quality_check ? orderInfo?.quality_check_pass_product : orderInfo?.product_list
|
||||||
}, [orderInfo])
|
}, [orderInfo])
|
||||||
|
|||||||
@ -34,6 +34,9 @@ type Param = {
|
|||||||
accessory_url: string[] //物流图片
|
accessory_url: string[] //物流图片
|
||||||
take_goods_remark: string //物流备注
|
take_goods_remark: string //物流备注
|
||||||
quality_check_pass_product: any[]
|
quality_check_pass_product: any[]
|
||||||
|
quality_check_pass_number: number
|
||||||
|
quality_check_pass_fabrics: number
|
||||||
|
quality_check_pass_colors: number
|
||||||
}
|
}
|
||||||
onClickBtn?: (val: { status: number; orderInfo: Param['value'] }) => void
|
onClickBtn?: (val: { status: number; orderInfo: Param['value'] }) => void
|
||||||
}
|
}
|
||||||
@ -77,8 +80,15 @@ export default memo(({ value, onClickBtn }: Param) => {
|
|||||||
} = REFUND_STATUS_ORDER
|
} = REFUND_STATUS_ORDER
|
||||||
|
|
||||||
const numText = useMemo(() => {
|
const numText = useMemo(() => {
|
||||||
|
if (!value?.is_quality_check) {
|
||||||
let total_number_new = value?.sale_mode == 0 ? value?.total_number : value?.total_number / 100
|
let total_number_new = value?.sale_mode == 0 ? value?.total_number : value?.total_number / 100
|
||||||
return `${value?.total_fabrics} 种面料,${value?.total_colors} 种颜色,共 ${total_number_new}${value?.sale_mode == 0 ? ' 条' : ' 米'}`
|
return `${value?.total_fabrics} 种面料,${value?.total_colors} 种颜色,共 ${total_number_new}${value?.sale_mode == 0 ? ' 条' : ' 米'}`
|
||||||
|
} else {
|
||||||
|
let total_number_new = value?.sale_mode == 0 ? value?.quality_check_pass_number : value?.quality_check_pass_number / 100
|
||||||
|
return `${value?.quality_check_pass_fabrics} 种面料,${value?.quality_check_pass_colors} 种颜色,共 ${total_number_new}${
|
||||||
|
value?.sale_mode == 0 ? ' 条' : ' 米'
|
||||||
|
}`
|
||||||
|
}
|
||||||
}, [value])
|
}, [value])
|
||||||
|
|
||||||
//售后单状态
|
//售后单状态
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user