🎈 perf(优化):

This commit is contained in:
czm 2022-12-01 20:53:38 +08:00
parent d973905bbe
commit 461744054e
11 changed files with 120 additions and 79 deletions

View File

@ -22,7 +22,7 @@ module.exports = {
terserOptions: {
// compress: true, // 默认使用terser压缩
compress: {
drop_console: true, // 去掉打印
// drop_console: true, // 去掉打印
}, // 默认使用terser压缩
// mangle: false,
keep_classnames: true, // 不改变class名称

View File

@ -13,7 +13,7 @@ export const BASE_URL = CURRENT_BASE_URL
// 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.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` // 杰
// CDN

View File

@ -1,73 +1,72 @@
//订单状态枚举
export const ORDER_STATUS = {
SaleorderstatusWaitingPrePayment : {value:10, label:'预付款'}, // 预付款
SaleOrderStatusBooking : {value:0, label:'待接单'}, // 待接单
SaleOrderStatusArranging : {value:1, label:'配布中'}, // 配布中
SaleOrderStatusArranged : {value:2, label:'已配布'}, // 已配布
SaleOrderStatusWaitingPayment : {value:7, label:'待付款'}, // 待付款
SaleOrderStatusTaking: {value: 11, label:'提货中'}, //提货中
SaleOrderStatusWaitingDelivery : {value:3, label:'待发货'}, // 待发货
SaleOrderStatusWaitingReceipt : {value:8, label:'待收货'}, // 待收货
SaleOrderStatusAlreadyReceipt : {value:9, label:'已收货'}, // 已收货
SaleOrderStatusComplete : {value:4, label:'已完成'}, // 已完成
SaleOrderStatusRefund : {value:6, label:'已退款'}, // 已退款
SaleOrderStatusCancel : {value:5, label:'已取消'}, // 已取消
SaleorderstatusWaitingPrePayment: { value: 10, label: '预付款' }, // 预付款
SaleOrderStatusBooking: { value: 0, label: '待接单' }, // 待接单
SaleOrderStatusArranging: { value: 1, label: '配布中' }, // 配布中
SaleOrderStatusArranged: { value: 2, label: '已配布' }, // 已配布
SaleOrderStatusWaitingPayment: { value: 7, label: '待付款' }, // 待付款
SaleOrderStatusTaking: { value: 11, label: '提货中' }, //提货中
SaleOrderStatusWaitingDelivery: { value: 3, label: '待发货' }, // 待发货
SaleOrderStatusWaitingReceipt: { value: 8, label: '待收货' }, // 待收货
SaleOrderStatusAlreadyReceipt: { value: 9, label: '已收货' }, // 已收货
SaleOrderStatusComplete: { value: 4, label: '已完成' }, // 已完成
SaleOrderStatusRefund: { value: 6, label: '已退款' }, // 已退款
SaleOrderStatusCancel: { value: 5, label: '已取消' }, // 已取消
}
//售后单状态枚举
export const AFTER_ORDER_STATUS = {
ReturnStageApplying : {value:0, label:'申请中'}, // 申请中
ReturnStageWaitCheck : {value:1, label:'退货中'}, // 退货中
ReturnStageChecked : {value:2, label:'待验布'}, // 待验布
ReturnStageReturned : {value:3, label:'已退款'}, // 已退款
ReturnStageCancel : {value:4, label:'已取消'}, // 已取消
ReturnStageQualityCheckPendingRefund : {value:5, label:'待退款'}, // 已验布
ReturnStageServiceOrderPendingRefund : {value:6, label:'待退款'}, // 待退款
ReturnStageRejected : {value:7, label:'已拒绝'}, // 已拒绝
ReturnStageApplying: { value: 0, label: '申请中' }, // 申请中
ReturnStageWaitCheck: { value: 1, label: '退货中' }, // 退货中
ReturnStageChecked: { value: 2, label: '待验布' }, // 待验布
ReturnStageReturned: { value: 3, label: '已退款' }, // 已退款
ReturnStageCancel: { value: 4, label: '已取消' }, // 已取消
ReturnStageQualityCheckPendingRefund: { value: 5, label: '待退款' }, // 已验布
ReturnStageServiceOrderPendingRefund: { value: 6, label: '待退款' }, // 待退款
ReturnStageRejected: { value: 7, label: '已拒绝' }, // 已拒绝
}
//支付方式
export const PAYMENT_METHOD = {
PaymentMethodPreDeposit: {value:2, label:'预存款'},
PaymentMethodAccountPeriod : {value:3, label:'账期'},
PaymentMethodofflineRemittance: {value:1, label:'线下汇款'},
PaymentMethodScanCodeToPay: {value:4, label:'扫码支付'},
PaymentMethodCashOnDelivery: {value:5, label:'货到付款'},
PaymentMethodPreDeposit: { value: 2, label: '预存款' },
PaymentMethodAccountPeriod: { value: 3, label: '账期' },
PaymentMethodofflineRemittance: { value: 1, label: '线下汇款' },
PaymentMethodScanCodeToPay: { value: 4, label: '扫码支付' },
PaymentMethodCashOnDelivery: { value: 5, label: '货到付款' },
}
//订单类型
export const SALE_MODE = {
SaLeModeBulk: {value:0, label:'大货'},
SaleModeLengthCut: {value:1, label:'剪版'},
SaLeModeWeightCut: {value:2, label:'散剪'},
}
SaLeModeBulk: { value: 0, label: '大货' },
SaleModeLengthCut: { value: 1, label: '剪版' },
SaLeModeWeightCut: { value: 2, label: '散剪' },
}
export type saleModeType = 0 | 1 | 2
//分享场景枚举
export const SHARE_SCENE = {
ShareDetail: {value:1, label:'详情分享'},
SharePage : {value:2, label:'页面分享'},
ShareDetail: { value: 1, label: '详情分享' },
SharePage: { value: 2, label: '页面分享' },
}
//订阅消息
export const SUBSCRIPTION_MESSAGE_SCENE = {
SubmitOrder: {value:1, label:'确认下单'},
ToPay : {value:2, label:'去付款'},
ApplyGoods: {value:3, label: '申请退款'}
export const SUBSCRIPTION_MESSAGE_SCENE = {
SubmitOrder: { value: 1, label: '确认下单' },
ToPay: { value: 2, label: '去付款' },
ApplyGoods: { value: 3, label: '申请退款' },
}
//应收单退款状态枚举
export const REFUND_STATUS = {
ShouldCollectOrderRefundTypeUnknown: {value:0, label:'未知退款'},
ShouldCollectOrderRefundTypeAdvanceReceiptRefund: {value:1, label:'预收退款'},
ShouldCollectOrderRefundTypeReturnForRefund: {value:2, label:'退货退款'},
ShouldCollectOrderRefundTypeSalesRefund: {value:3, label:'销售退款'},
ShouldCollectOrderRefundTypeUnknown: { value: 0, label: '未知退款' },
ShouldCollectOrderRefundTypeAdvanceReceiptRefund: { value: 1, label: '预收退款' },
ShouldCollectOrderRefundTypeReturnForRefund: { value: 2, label: '退货退款' },
ShouldCollectOrderRefundTypeSalesRefund: { value: 3, label: '销售退款' },
}
//申请单退款状态枚举
export const REFUND_STATUS_ORDER = {
ReturnApplyOrderTypeAdvanceReceiptRefund: {value:2, label:'预收退款'}, // 预收退款
ReturnApplyOrderTypeReturnForRefund: {value:1, label:'退货退款'}, // 退货退款
ReturnApplyOrderTypeSalesRefund: {value:3, label:'销售退款'}, // 销售退款
}
ReturnApplyOrderTypeAdvanceReceiptRefund: { value: 2, label: '预收退款' }, // 预收退款
ReturnApplyOrderTypeReturnForRefund: { value: 1, label: '退货退款' }, // 退货退款
ReturnApplyOrderTypeSalesRefund: { value: 3, label: '销售退款' }, // 销售退款
}

View File

@ -13,13 +13,26 @@ type params = {
onClickBtn?: (val: number) => void
unit?: string
disabled?: true | false //是否禁用
returnZero?: true | false //少于最小值时是否归0
}
export default memo((props: params) => {
return <Counter {...props}></Counter>
})
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 })
useEffect(() => {
setValue({ count: defaultNum })
@ -38,7 +51,11 @@ const Counter = memo((props: params) => {
if (disabled) return false
let count = value.count
let num_res = Big(count).minus(step).toNumber()
num_res = num_res < minNum ? minNum : num_res
if (returnZero) {
num_res = num_res < minNum ? 0 : num_res
} else {
num_res = num_res < minNum ? minNum : num_res
}
setValue({ ...value, count: num_res })
onChange?.(parseFloat(num_res))
onClickBtn?.(parseFloat(num_res))

View File

@ -303,6 +303,11 @@ export default ({ show = false, onClose, intoStatus = 'shop', default_sale_mode
setShowLabImage(() => false)
}, [])
const goShop = useCallback(() => {
onClose?.()
goLink('/pages/index/index', null, 'switchTab')
}, [])
return (
<View className={styles.shop_cart_main}>
<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 && (
<View className={styles.empty}>
<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 File

@ -55,7 +55,8 @@ export default () => {
const onScanCode = () => {
Taro.scanCode({
success: (res) => {
setSubmitData(() => ({ invitation_code: res.result }))
let val = res.result.match(/InviteCode:([a-zA-Z0-9]{4})/)
setSubmitData(() => ({ invitation_code: val ? val![1] : '' }))
},
})
}

View File

@ -31,7 +31,19 @@ export default memo(({ show = false, onClose, title = '', productId = 0 }: param
const [selectList, _] = useState([
{ 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: 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 selectProduct = (index: number) => {
@ -246,6 +258,7 @@ export default memo(({ show = false, onClose, title = '', productId = 0 }: param
unit={selectList[selectIndex].unit}
minNum={selectList[selectIndex].minNum}
maxNum={selectList[selectIndex].maxNum}
returnZero={selectList[selectIndex].returnZero}
/>
</View>
)}

View File

@ -5,26 +5,23 @@ import classnames from 'classnames'
type Param = {
list: { id: number; name: string }[]
defaultId?: number | null
defaultId?: number
onSelect?: (val: number) => void
}
export default memo(({ list = [], defaultId = null, onSelect }: Param) => {
export default memo(({ list = [], defaultId = -1, onSelect }: Param) => {
const [selectInfo, setSelectInfo] = useState({
selected: -1, //当前选中的id
tabId: '', //需要滚动到的id
})
useEffect(() => {
if (defaultId) {
console.log('defaultId:::', defaultId)
const index = list?.findIndex((item) => {
return item.id == defaultId
})
if (index !== -1) {
const num = index > 0 ? index - 1 : 0
setSelectInfo((e) => ({ ...e, tabId: list[num].id.toString() }))
}
const index = list?.findIndex((item) => {
return item.id == defaultId
})
if (index !== -1) {
const num = index > 0 ? index - 1 : 0
setSelectInfo((e) => ({ ...e, tabId: list[num].id.toString() }))
}
setSelectInfo((e) => ({ ...e, selected: defaultId || -1 }))
setSelectInfo((e) => ({ ...e, selected: defaultId }))
}, [defaultId])
const clickEvent = ({ item, index }: { item: any; index: number }) => {
const num = index > 0 ? index - 1 : 0

View File

@ -1,7 +1,7 @@
import Search from '@/components/search'
import useLogin from '@/use/useLogin'
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 styles from './index.module.scss'
import Order from './components/order'
@ -30,7 +30,12 @@ export default () => {
} else {
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 }>({
@ -42,14 +47,11 @@ export default () => {
//获取订单状态
const { fetchData: orderStatusListFetchData } = OrderStatusListApi()
const [statusList, setStatusList] = useState<any[]>([{ id: -1, name: '全部' }])
const [statusList, setStatusList] = useState<any[]>([])
const getOrderStatusList = async () => {
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()
@ -139,10 +141,10 @@ export default () => {
setPayMentShow(() => false)
}, [])
//支付成功
const onPaySuccess = useCallback(() => {
const onPaySuccess = () => {
getOrderList()
closePayShow()
}, [])
}
//添加购物车
const [showCart, setShowCart] = useState(false)
@ -200,7 +202,7 @@ export default () => {
<View className={styles.order_list_main}>
<View className={styles.title}>
<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 className={styles.order_list}>
<InfiniteScroll

View File

@ -34,14 +34,11 @@ type ListParam = {
}
export default memo(({ show = true, onClose, orderInfo }: Param) => {
const [detail, setDetail] = useState<any>()
useEffect(() => {
console.log('detail:::', detail)
if (show && detail) {
getCore()
}
}, [show, detail])
const product_list = useMemo(() => {
return orderInfo?.is_quality_check ? orderInfo?.quality_check_pass_product : orderInfo?.product_list
}, [orderInfo])

View File

@ -34,6 +34,9 @@ type Param = {
accessory_url: string[] //物流图片
take_goods_remark: string //物流备注
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
}
@ -77,8 +80,15 @@ export default memo(({ value, onClickBtn }: Param) => {
} = REFUND_STATUS_ORDER
const numText = useMemo(() => {
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 ? ' 条' : ' 米'}`
if (!value?.is_quality_check) {
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 ? ' 条' : ' 米'}`
} 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])
//售后单状态