diff --git a/.eslintrc b/.eslintrc index 757fd8f..9820f34 100644 --- a/.eslintrc +++ b/.eslintrc @@ -18,4 +18,4 @@ "array-callback-return": 0, "react/prop-types": 0 } -} \ No newline at end of file +} diff --git a/src/common/constant.ts b/src/common/constant.ts index 15c3ac3..e59daa3 100644 --- a/src/common/constant.ts +++ b/src/common/constant.ts @@ -1,19 +1,13 @@ -export const BASE_URL = CURRENT_BASE_URL +// export const BASE_URL = CURRENT_BASE_URL // export const BASE_URL = `http://192.168.0.75:50001/lymarket` // export const BASE_URL = `http://192.168.0.89:50001/lymarket` // export const BASE_URL = `http://10.0.0.5:50001/lymarket` // export const BASE_URL = `http://192.168.0.89:40001/lymarket` -// export const BASE_URL = `http://192.168.1.165:40001/lymarket` // 王霞 // export const BASE_URL = 'https://test.zzfzyc.com/lymarket' // 测试环境 -// export const BASE_URL = 'https://pre.zzfzyc.com/lymarket' // 预发布 -// export const BASE_URL = `http://192.168.1.9:40001/lymarket` // 发 -// export const BASE_URL = `http://192.168.1.9:50005/lymarket` // 发 -// export const BASE_URL = `http://192.168.1.30:50001/lymarket` // 发 +export const BASE_URL = 'https://pre.zzfzyc.com/lymarket' // 预发布 // export const BASE_URL = 'https://dev.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.7: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 diff --git a/src/common/fotmat.js b/src/common/format.ts similarity index 87% rename from src/common/fotmat.js rename to src/common/format.ts index ccd0a7b..f2dc8ea 100644 --- a/src/common/fotmat.js +++ b/src/common/format.ts @@ -1,185 +1,208 @@ -import { IMG_CND_Prefix } from './constant' - -/** - * 移除井号 - * @param {String} val code 编码 - * @returns - */ -export const formatRemoveHashTag = (val = '') => { - // console.log('移除标签',val,val.endsWith("#")); - return val.endsWith('#') ? val.replace('#', '') : val -} - -/** - * 格式化编码+名称显示方式 - * @param {String} code 编码 - * @param {String} name 名称 - * @param {*} mode 模式 both:code + 名称 name: 仅显示名称 - * @returns - */ -export const formatHashTag = (code = '', name = '', mode = 'both') => { - if (mode == 'both') { - return `${formatRemoveHashTag(code)}# ${name}` - } - else if (mode == 'name') { - return `${name}` - } -} - -const Digit = 10 * 10 -/** - * 精度 - * @param {*} num - * @param {*} precision - * @returns - */ -export const strip = (num, precision = 12) => { - return +parseFloat(num.toPrecision(precision)) -} -/** - * - * @param {千位分割付} number - * @returns - */ -export const numberWithCommas = ({ number = 0, digit = 2 }) => { - if (!Number.isNaN(Number(number))) { - // return parseFloat(number).toFixed(digit).replace(/^\B(? { - const res = strip(Number(val / digit)) || 0 - return priceStatus ? numberWithCommas({ number: res }) : res -} -/** - * 乘以 - * @param {*} val - * @param {*} digit - * @returns - */ -export const formatPriceMul = (val, digit = Digit) => { - return strip(Number(val * digit)) || 0 -} - -/** - * 格式化重量单位 (乘以) - * @param {Number} val - * @returns - */ -export const formatWeightMul = (val, digit = weightDigit) => { - return strip(Number(val * digit)) || 0 -} - -/** - * 格式化重量单位 (除以) - * @param {*} val - */ -export const formatWeightDiv = (val, digit = weightDigit) => { - return strip(Number(val / digit)) || 0 -} - -export const formatDateTime = (val, fmt = 'YYYY-MM-DD HH:mm:ss') => { - if (val) { - const time = new Date(val) - const Y = time.getFullYear() - const M = time.getMonth() + 1 - const d = time.getDate() - const h = time.getHours() - const m = time.getMinutes() - const s = time.getSeconds() - - fmt = fmt - .replace('YYYY', Y) - .replace('MM', M.toString().padStart(2, '0')) - .replace('DD', d.toString().padStart(2, '0')) - .replace('HH', h.toString().padStart(2, '0')) - .replace('mm', m.toString().padStart(2, '0')) - .replace('ss', s.toString().padStart(2, '0')) - - return fmt - } - else { - return val - } -} - -/** - * 数值保留两位小数 - * @param {*} x - * @returns - */ -export const toDecimal2 = (x) => { - let f = parseFloat(x) - if (Number.isNaN(f)) { - return 0 - } - f = `${f}` - const index = f.lastIndexOf('.') - if (index >= 0) { - const decimal = f.substring(index + 1) - if (decimal.length == 1) { - f = `${f.substring(0, index + 1) + decimal}0` - } - else { - f = f.substring(0, index + 1) + decimal.substring(0, 2) - } - } - return f -} -/** - * 转换金额单位 - * @param {*} num 金额 / 数值 - * @param {*} digit 转换单位 - * @returns - */ -export const formatMillionYuan = (num, digit = 10000) => { - return num / digit > 1 ? { num: toDecimal2(num / digit), million: true } : { num, million: false } -} -/** - * 格式化图片路径 - * @param {*} url - * @status true|false - * @returns - */ -export const formatImgUrl = (url, suffix = '!w200') => { - if (url) { - return url.includes('http') ? url + suffix : IMG_CND_Prefix + url + suffix - } - else { - return `${IMG_CND_Prefix}/mall/no_img.png` - } -} - -/** - * - * @param {纹理图} imgurl - * @param {rgb} rgb - * @param {} suffix - * @returns 1 有纹理图,2 有rgb 3默认图 - */ -export const isLabImage = (imgurl, rgb, suffix = '!w200') => { - if (imgurl) { - return { status: 1, value: `${IMG_CND_Prefix}/${imgurl}${suffix}` } - } - else if (rgb.r != 0 || rgb.g != 0 || rgb.b != 0) { - return { status: 2, value: rgb } - } - else { - return { status: 3, value: `${IMG_CND_Prefix}/mall/no_img.png` } - } -} +import { IMG_CND_Prefix } from './constant' + +/** + * 移除井号 + * @param {String} val code 编码 + * @returns + */ +export const formatRemoveHashTag = (val = '') => { + // console.log('移除标签',val,val.endsWith("#")); + return val.endsWith('#') ? val.replace('#', '') : val +} + +/** + * 格式化编码+名称显示方式 + * @param {String} code 编码 + * @param {String} name 名称 + * @param {*} mode 模式 both:code + 名称 name: 仅显示名称 + * @returns + */ +export const formatHashTag = (code = '', name = '', mode = 'both') => { + if (mode == 'both') { + return `${formatRemoveHashTag(code)}# ${name}` + } + else if (mode == 'name') { + return `${name}` + } +} + +const Digit = 10 * 10 + +/** + * 精度 + * @param {*} num + * @param {*} precision + * @returns + */ +export const strip = (num, precision = 12) => { + return +parseFloat(num.toPrecision(precision)) +} +/** + * + * @param {千位分割付} number + * @returns + */ +export const numberWithCommas = ({ number = 0, digit = 2 }) => { + if (!Number.isNaN(Number(number))) { + // return parseFloat(number).toFixed(digit).replace(/^\B(? { + const res = strip(Number(val / digit)) || 0 + return priceStatus ? numberWithCommas({ number: res }) : res +} +/** + * 乘以 + * @param {*} val + * @param {*} digit + * @returns + */ +export const formatPriceMul = (val, digit = Digit) => { + return strip(Number(val * digit)) || 0 +} + +/** + * 格式化长度 (乘以) + * @param {Number} val + * @returns + */ +export const formatMeterMul = (val, digit = meterDigit) => { + return strip(Number(val * digit)) || 0 +} + +/** + * 格式化长度 (除以) + * @param {*} val + */ +export const formatMeterDiv = (val, digit = meterDigit) => { + return strip(Number(val / digit)) || 0 +} + +/** + * 格式化重量单位 (乘以) + * @param {Number} val + * @returns + */ +export const formatWeightMul = (val, digit = weightDigit) => { + return strip(Number(val * digit)) || 0 +} + +/** + * 格式化重量单位 (除以) + * @param {*} val + */ +export const formatWeightDiv = (val, digit = weightDigit) => { + return strip(Number(val / digit)) || 0 +} + +export const formatDateTime = (val, fmt = 'YYYY-MM-DD HH:mm:ss') => { + if (val) { + const time = new Date(val) + const Y = time.getFullYear() + const M = time.getMonth() + 1 + const d = time.getDate() + const h = time.getHours() + const m = time.getMinutes() + const s = time.getSeconds() + + fmt = fmt + .replace('YYYY', String(Y)) + .replace('MM', M.toString().padStart(2, '0')) + .replace('DD', d.toString().padStart(2, '0')) + .replace('HH', h.toString().padStart(2, '0')) + .replace('mm', m.toString().padStart(2, '0')) + .replace('ss', s.toString().padStart(2, '0')) + + return fmt + } + else { + return val + } +} + +/** + * 数值保留两位小数 + * @param {*} x + * @returns + */ +export const toDecimal2 = (x) => { + let f = String(parseFloat(x)) + if (Number.isNaN(f)) { + return 0 + } + f = `${f}` + const index = f.lastIndexOf('.') + if (index >= 0) { + const decimal = f.substring(index + 1) + if (decimal.length == 1) { + f = `${f.substring(0, index + 1) + decimal}0` + } + else { + f = f.substring(0, index + 1) + decimal.substring(0, 2) + } + } + return f +} +/** + * 转换金额单位 + * @param {*} num 金额 / 数值 + * @param {*} digit 转换单位 + * @returns + */ +export const formatMillionYuan = (num, digit = 10000) => { + return num / digit > 1 ? { num: toDecimal2(num / digit), million: true } : { num, million: false } +} +/** + * 格式化图片路径 + * @param {*} url + * @status true|false + * @returns + */ +export const formatImgUrl = (url, suffix = '!w200') => { + if (url) { + return url.includes('http') ? url + suffix : IMG_CND_Prefix + url + suffix + } + else { + return `${IMG_CND_Prefix}/mall/no_img.png` + } +} + +/** + * + * @param {纹理图} imgurl + * @param {rgb} rgb + * @param {} suffix + * @returns 1 有纹理图,2 有rgb 3默认图 + */ +export const isLabImage = (imgurl, rgb, suffix = '!w200') => { + if (imgurl) { + return { status: 1, value: `${IMG_CND_Prefix}/${imgurl}${suffix}` } + } + else if (rgb.r != 0 || rgb.g != 0 || rgb.b != 0) { + return { status: 2, value: rgb } + } + else { + return { status: 3, value: `${IMG_CND_Prefix}/mall/no_img.png` } + } +} diff --git a/src/common/util.ts b/src/common/util.ts index 1357f39..6dcc89e 100644 --- a/src/common/util.ts +++ b/src/common/util.ts @@ -1,6 +1,6 @@ import type { SelectorQuery } from '@tarojs/taro' import Taro, { useDidShow, useLaunch, useLoad, useRouter, useShareAppMessage } from '@tarojs/taro' -import { formatImgUrl } from './fotmat' +import { formatImgUrl } from './format' import { analysisShortCodeApi, bindInvitationUser, getUserInfo } from './shortCode/index' import { InvitationWay, invitationWay } from './enum' import { isEmptyObject } from './common' @@ -231,7 +231,3 @@ function analysisScene(scene: string, split = ';') { }) return sceneObj } - -function handleBindInvitationUser() { - -} diff --git a/src/components/LabAndImg/index.tsx b/src/components/LabAndImg/index.tsx index 6e13f1b..8fcdee0 100644 --- a/src/components/LabAndImg/index.tsx +++ b/src/components/LabAndImg/index.tsx @@ -1,9 +1,9 @@ import { Image, View } from '@tarojs/components' -import { memo, useCallback, useEffect, useMemo, useState } from 'react' +import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react' import LabAndImgShow from '../LabAndImgShow' import styles from './index.module.scss' import Preview from '@/pages/details/components/preview' -import { formatImgUrl, formatRemoveHashTag } from '@/common/fotmat' +import { formatImgUrl, formatRemoveHashTag } from '@/common/format' // 该组件宽高为100%需调整外层元素宽高 interface Param { @@ -14,22 +14,25 @@ interface Param { title?: string } customImageStyle?: React.CSSProperties - showStatus?: true | false + showStatus?: boolean onClick?: (val: Param['value']) => void round?: boolean name?: string suffix?: string } const LabAndImg = ({ value, onClick, showStatus = false, round = false, name = '', customImageStyle = {}, suffix = '!w200' }: Param) => { + const _value = useRef(value) + const _first = useRef(true) // lab是否都是0 const rgbStyle = useMemo(() => { + const value = _value.current if (value?.lab && (value?.lab.l || value?.lab.a || value?.lab.b)) { return { backgroundColor: `rgb(${value.rgb?.r} ${value.rgb?.g} ${value.rgb?.b})` } } else { return null } - }, [value]) + }, [_value.current]) // useEffect(() => { // if (value?.texture_url) { @@ -41,6 +44,8 @@ const LabAndImg = ({ value, onClick, showStatus = false, round = false, name = ' // }, [value]) const img = useMemo(() => { + console.log('useMemo', _value.current) + const value = _value.current if (value?.texture_url) { const imgs = value.texture_url.split(',').map((item) => { return formatImgUrl(item, suffix) @@ -50,7 +55,7 @@ const LabAndImg = ({ value, onClick, showStatus = false, round = false, name = ' else { return '' } - }, [value]) + }, [_value.current, suffix]) const [labAndImgShow, setLabAndImgShow] = useState(false) const closeLabAndImgShow = useCallback(() => { @@ -58,35 +63,38 @@ const LabAndImg = ({ value, onClick, showStatus = false, round = false, name = ' }, []) const onShowLabAndImg = () => { - onClick?.(value) + onClick?.(_value.current) if (!showStatus) { return false } setLabAndImgShow(true) } - const checkLoad = (val) => { - // setImgs(() => formatImgUrl('')) + const [_, setForceUpdate] = useState({}) + + const checkLoad = () => { + _value.current = { ..._value.current, texture_url: '' } + setForceUpdate({}) } return ( <> - {value.texture_url && ( + {_value.current.texture_url && ( checkLoad(e)} + onError={checkLoad} className={styles.labAndImg_image} style={{ borderRadius: round ? '50%' : '', ...customImageStyle }} > )} - {!value.texture_url && rgbStyle && } - {!value.texture_url && !rgbStyle && ( + {!_value.current.texture_url && rgbStyle && } + {!_value.current.texture_url && !rgbStyle && ( )} {name && {name}} - + ) } diff --git a/src/components/LabAndImgShow/index.module.scss b/src/components/LabAndImgShow/index.module.scss index 267aa4c..e65fe24 100644 --- a/src/components/LabAndImgShow/index.module.scss +++ b/src/components/LabAndImgShow/index.module.scss @@ -8,7 +8,7 @@ display: flex; justify-content: center; align-items: flex-start; - z-index: 9999; + z-index: 99999; .con{ display: flex; justify-content: center; @@ -42,4 +42,4 @@ @include common_ellipsis(1); } } -} \ No newline at end of file +} diff --git a/src/components/LabAndImgShow/index.tsx b/src/components/LabAndImgShow/index.tsx index c1944a8..2d04162 100644 --- a/src/components/LabAndImgShow/index.tsx +++ b/src/components/LabAndImgShow/index.tsx @@ -1,8 +1,8 @@ -import { View } from '@tarojs/components' +import { Image, View } from '@tarojs/components' import Taro from '@tarojs/taro' import { useEffect, useMemo, useState } from 'react' import styles from './index.module.scss' -import { formatImgUrl } from '@/common/fotmat' +import { formatImgUrl } from '@/common/format' export interface colorParams { value?: { @@ -11,11 +11,13 @@ export interface colorParams { rgb?: { r: number; g: number; b: number } // rgb title?: string // 标题 } - show?: false | true + show?: boolean onClose?: () => void showNumber?: number // 图片显示张数,0不限制 + suffix?: string } -const LabAndImgShow = ({ value, show = false, onClose, showNumber = 1 }: colorParams) => { +const LabAndImgShow = (props: colorParams) => { + const { value, show = false, onClose, showNumber = 1, suffix = '!w200' } = props // 显示颜色 const [labShow, setLabShow] = useState(false) // lab是否都是0 @@ -33,23 +35,46 @@ const LabAndImgShow = ({ value, show = false, onClose, showNumber = 1 }: colorPa onClose?.() let res: string[] = [] if (value?.texture_url) { - res = value?.texture_url?.split(',').map((item) => { - return formatImgUrl(item) - }) + res = value?.texture_url?.split(',').map(item => formatImgUrl(item, suffix)) } + console.log('res==>', res) const n_res = showNumber == 0 ? res : res?.splice(0, showNumber) + console.log('第一张图片', n_res[0]) Taro.previewImage({ current: n_res[0], urls: n_res, }) } + const [reload, setReload] = useState(false) + // 检测图片是否加载成功 + const checkLoad = () => { + console.log('图片加载失败') + setReload(true) + } + + const onLoad = () => { + setReload(false) + } useEffect(() => { - if (show && rgbStyle) { setLabShow(() => true) } - if (show && value?.texture_url) { onShowImage() } - if (!show) { setLabShow(() => false) } + if (reload) { + if (show && rgbStyle) { + setLabShow(true) + return + } + } + if (show && value?.texture_url) { + onShowImage() + } + else if (show && rgbStyle) { + setLabShow(true) + } + }, [show, reload]) + + useEffect(() => { + if (!show) { setLabShow(false) } }, [show]) return ( - <> + {labShow && ( onClose?.()}> @@ -58,7 +83,16 @@ const LabAndImgShow = ({ value, show = false, onClose, showNumber = 1 }: colorPa )} - + { + value?.texture_url && + } + + ) } diff --git a/src/components/amountShow/index.tsx b/src/components/amountShow/index.tsx index fbd508a..0f9594f 100644 --- a/src/components/amountShow/index.tsx +++ b/src/components/amountShow/index.tsx @@ -2,7 +2,7 @@ import { Text, View } from '@tarojs/components' import { memo, useCallback } from 'react' import classnames from 'classnames' import styles from './index.module.scss' -import { numberWithCommas } from '@/common/fotmat' +import { numberWithCommas } from '@/common/format' interface Param { number: number // 数字 diff --git a/src/components/banner/index.tsx b/src/components/banner/index.tsx index 7eca285..8804ced 100644 --- a/src/components/banner/index.tsx +++ b/src/components/banner/index.tsx @@ -3,7 +3,7 @@ import { useEffect, useMemo, useState } from 'react' import styles from './index.module.scss' import { goLink } from '@/common/common' import { GetBannerList } from '@/api/banner' -import { formatImgUrl } from '@/common/fotmat' +import { formatImgUrl } from '@/common/format' interface item { title: string; img: string; url: string; id: number } diff --git a/src/components/bindSalesmanPopup/index.tsx b/src/components/bindSalesmanPopup/index.tsx index 15b1705..61e646c 100644 --- a/src/components/bindSalesmanPopup/index.tsx +++ b/src/components/bindSalesmanPopup/index.tsx @@ -1,7 +1,7 @@ import { Image, Swiper, SwiperItem, Text, View } from '@tarojs/components' import Taro from '@tarojs/taro' import styles from './index.module.scss' -import { formatImgUrl } from '@/common/fotmat' +import { formatImgUrl } from '@/common/format' import { goLink } from '@/common/common' interface params { diff --git a/src/components/moveBtn copy/index.tsx b/src/components/moveBtn copy/index.tsx index 8215048..bc8a2e2 100644 --- a/src/components/moveBtn copy/index.tsx +++ b/src/components/moveBtn copy/index.tsx @@ -9,7 +9,7 @@ import { GetShoppingCartApi } from '@/api/shopCart' import useCommonData from '@/use/useCommonData' import { useSelector } from '@/reducers/hooks' import { alert } from '@/common/common' -import { formatImgUrl } from '@/common/fotmat' +import { formatImgUrl } from '@/common/format' type ShowStatus = 'shop'|'customer'|'order' interface param { diff --git a/src/components/moveBtn/index.tsx b/src/components/moveBtn/index.tsx index d8875eb..03772a1 100644 --- a/src/components/moveBtn/index.tsx +++ b/src/components/moveBtn/index.tsx @@ -10,7 +10,7 @@ import { GetShoppingCartApi } from '@/api/shopCart' import useCommonData from '@/use/useCommonData' import { useSelector } from '@/reducers/hooks' import { alert } from '@/common/common' -import { formatImgUrl } from '@/common/fotmat' +import { formatImgUrl } from '@/common/format' import { ORDER_STATUS } from '@/common/enum' import IconFont from '@/components/iconfont/iconfont' import { IMG_CND_Prefix } from '@/common/constant' diff --git a/src/components/popupSelectColor/index.tsx b/src/components/popupSelectColor/index.tsx index 3ab8923..db6316e 100644 --- a/src/components/popupSelectColor/index.tsx +++ b/src/components/popupSelectColor/index.tsx @@ -7,7 +7,7 @@ import Popup from '@/components/popup' import LabAndImg from '@/components/LabAndImg' import IconFont from '@/components/iconfont/iconfont' import { GetProductDetailApi } from '@/api/material' -import { formatHashTag } from '@/common/fotmat' +import { formatHashTag } from '@/common/format' import colorItem from '@/pages/codeList/components/colorItem' import { alert, goLink } from '@/common/common' diff --git a/src/components/product/index.tsx b/src/components/product/index.tsx index 1b38278..a6ee650 100644 --- a/src/components/product/index.tsx +++ b/src/components/product/index.tsx @@ -7,7 +7,7 @@ import IconFont from '../iconfont/iconfont' import Tag from '../tag' import styles from './index.module.scss' import { goLink } from '@/common/common' -import { formatHashTag, formatImgUrl, formatPriceDiv } from '@/common/fotmat' +import { formatHashTag, formatImgUrl, formatPriceDiv } from '@/common/format' interface Params { desStatus?: true | false diff --git a/src/components/shopCart/components/productItem/index.tsx b/src/components/shopCart/components/productItem/index.tsx index 9c7b1c3..4b8c87e 100644 --- a/src/components/shopCart/components/productItem/index.tsx +++ b/src/components/shopCart/components/productItem/index.tsx @@ -1,4 +1,4 @@ -import { CustomWrapper, View } from '@tarojs/components' +import { CustomWrapper, Text, View } from '@tarojs/components' import { memo, useCallback, useMemo } from 'react' import classnames from 'classnames' import Big from 'big.js' @@ -6,7 +6,7 @@ import styles from './index.module.scss' import MCheckbox from '@/components/checkbox' import Counter from '@/components/counter' import LabAndImg from '@/components/LabAndImg' -import { formatHashTag, formatImgUrl, formatPriceDiv } from '@/common/fotmat' +import { formatHashTag, formatImgUrl, formatPriceDiv } from '@/common/format' import type { saleModeType } from '@/common/enum' interface param { @@ -71,9 +71,9 @@ const ProductItem = (props: param) => { {formatHashTag(item.product_code, item.product_name)} - + {formatPirce(item.sale_price)} - /{item.eunit} + /{item.eunit} diff --git a/src/components/shopCart/index copy.tsx b/src/components/shopCart/index copy.tsx index 4a5a2f7..38f4425 100644 --- a/src/components/shopCart/index copy.tsx +++ b/src/components/shopCart/index copy.tsx @@ -13,7 +13,7 @@ import LoadingCard from '@/components/loadingCard' import InfiniteScroll from '@/components/infiniteScroll' import { alert, goLink } from '@/common/common' import { DelShoppingCartApi, GetShoppingCartApi, UpdateShoppingCartApi } from '@/api/shopCart' -import { formatHashTag, formatImgUrl, formatPriceDiv } from '@/common/fotmat' +import { formatHashTag, formatImgUrl, formatPriceDiv } from '@/common/format' import { setParam } from '@/common/system' import { debounce, throttle } from '@/common/util' import { ApplyOrderAccessApi, GetAdminUserInfoApi, SubscriptionMessageApi } from '@/api/user' diff --git a/src/components/shopCart/index.tsx b/src/components/shopCart/index.tsx index 0a4b86d..894c226 100644 --- a/src/components/shopCart/index.tsx +++ b/src/components/shopCart/index.tsx @@ -1,4 +1,4 @@ -import { Image, ScrollView, View } from '@tarojs/components' +import { Image, ScrollView, Text, View } from '@tarojs/components' import Taro from '@tarojs/taro' import classnames from 'classnames' import { Ref, useCallback, useEffect, useMemo, useRef, useState, useTransition } from 'react' @@ -16,7 +16,7 @@ import LoadingCard from '@/components/loadingCard' import InfiniteScroll from '@/components/infiniteScroll' import { alert, goLink, retrieval } from '@/common/common' import { DelShoppingCartApi, GetShoppingCartApi, UpdateShoppingCartApi } from '@/api/shopCart' -import { formatHashTag, formatImgUrl, formatPriceDiv } from '@/common/fotmat' +import { formatHashTag, formatImgUrl, formatPriceDiv } from '@/common/format' import { setParam } from '@/common/system' import { debounce, throttle } from '@/common/util' import { ApplyOrderAccessApi, GetAdminUserInfoApi, SubscriptionMessageApi } from '@/api/user' @@ -404,7 +404,7 @@ const ShopCart = ({ show = false, onClose, intoStatus = 'shop', default_sale_mod - + {estimatePrice.price} 预估金额 diff --git a/src/components/uploadImage/index.tsx b/src/components/uploadImage/index.tsx index fd33669..0a9472a 100644 --- a/src/components/uploadImage/index.tsx +++ b/src/components/uploadImage/index.tsx @@ -5,7 +5,7 @@ import { memo, useEffect, useState } from 'react' import classnames from 'classnames' import styles from './index.module.scss' import useUploadCDNImg from '@/use/useUploadImage' -import { formatImgUrl } from '@/common/fotmat' +import { formatImgUrl } from '@/common/format' // 图片列表 interface ImageParam { diff --git a/src/components/viewCodeList/index.tsx b/src/components/viewCodeList/index.tsx index b8c47a9..b6285be 100644 --- a/src/components/viewCodeList/index.tsx +++ b/src/components/viewCodeList/index.tsx @@ -3,7 +3,7 @@ import Taro, { useDidShow, usePullDownRefresh, useRouter } from '@tarojs/taro' import { useEffect, useRef, useState } from 'react' import classnames from 'classnames' import styles from './index.module.scss' -import { formatDateTime, formatPriceDiv, formatRemoveHashTag, formatWeightDiv } from '@/common/fotmat' +import { formatDateTime, formatPriceDiv, formatRemoveHashTag, formatWeightDiv } from '@/common/format' import { PAY_H5_CODE_URL } from '@/common/constant' import { GetCodePic } from '@/api/onlinePay' diff --git a/src/pages/activityIncome/index.tsx b/src/pages/activityIncome/index.tsx index a928603..b1b1cc6 100644 --- a/src/pages/activityIncome/index.tsx +++ b/src/pages/activityIncome/index.tsx @@ -7,7 +7,7 @@ import styles from './index.module.scss' import IconFont from '@/components/iconfont/iconfont' import { alert } from '@/common/common' import { GetRebateDetail } from '@/api/user' -import { formatPriceDiv } from '@/common/fotmat' +import { formatPriceDiv } from '@/common/format' import Divider from '@/components/divider' export default () => { diff --git a/src/pages/applyAfterSales/components/cutKindList/index.tsx b/src/pages/applyAfterSales/components/cutKindList/index.tsx index 556c2fa..4a33823 100644 --- a/src/pages/applyAfterSales/components/cutKindList/index.tsx +++ b/src/pages/applyAfterSales/components/cutKindList/index.tsx @@ -2,7 +2,7 @@ import { Image, Text, View } from '@tarojs/components' import type { FC } from 'react' import { memo, useCallback } from 'react' import styles from './index.module.scss' -import { formatHashTag, formatImgUrl } from '@/common/fotmat' +import { formatHashTag, formatImgUrl } from '@/common/format' import Counter from '@/components/counter' import MCheckbox from '@/components/checkbox' diff --git a/src/pages/applyAfterSales/components/kindList/index.tsx b/src/pages/applyAfterSales/components/kindList/index.tsx index ab3d25a..b41bea3 100644 --- a/src/pages/applyAfterSales/components/kindList/index.tsx +++ b/src/pages/applyAfterSales/components/kindList/index.tsx @@ -2,7 +2,7 @@ import { Image, Text, View } from '@tarojs/components' import type { FC } from 'react' import { memo, useCallback } from 'react' import styles from './index.module.scss' -import { formatHashTag, formatImgUrl } from '@/common/fotmat' +import { formatHashTag, formatImgUrl } from '@/common/format' import Counter from '@/components/counter' import MCheckbox from '@/components/checkbox' diff --git a/src/pages/codeList/components/colorItem/index.tsx b/src/pages/codeList/components/colorItem/index.tsx index d5ed36e..15df718 100644 --- a/src/pages/codeList/components/colorItem/index.tsx +++ b/src/pages/codeList/components/colorItem/index.tsx @@ -2,7 +2,7 @@ import { Text, View } from '@tarojs/components' import { useMemo } from 'react' import styles from './index.module.scss' import LabAndImg from '@/components/LabAndImg' -import { formatPriceDiv, formatWeightDiv } from '@/common/fotmat' +import { formatPriceDiv, formatWeightDiv } from '@/common/format' import { goLink } from '@/common/common' interface Param { diff --git a/src/pages/codeSetting/components/main/index.tsx b/src/pages/codeSetting/components/main/index.tsx index c39c954..edbf9ac 100644 --- a/src/pages/codeSetting/components/main/index.tsx +++ b/src/pages/codeSetting/components/main/index.tsx @@ -11,7 +11,7 @@ import ColorSetting from '../colorSetting' import styles from './index.module.scss' import SelectList from '@/components/selectList' import { CreateCustomCodeApi, CustomPrintCalculationApi, DeleteCustomCodeApi, GetCustomCodeDetailApi, GetCustomCodeInitApi, UpdateCustomCodeApi } from '@/api/codeManage' -import { formatPriceDiv, formatWeightDiv } from '@/common/fotmat' +import { formatPriceDiv, formatWeightDiv } from '@/common/format' import { useCurrenCode } from '@/context/ContextCodeSetting' import { alert } from '@/common/common' import LoadingCard from '@/components/loadingCard' diff --git a/src/pages/codeSetting/components/productItem/index.tsx b/src/pages/codeSetting/components/productItem/index.tsx index 89799ca..cc8b6cb 100644 --- a/src/pages/codeSetting/components/productItem/index.tsx +++ b/src/pages/codeSetting/components/productItem/index.tsx @@ -4,7 +4,7 @@ import classNames from 'classnames' import styles from './index.module.scss' import LabAndImg from '@/components/LabAndImg' import IconFont from '@/components/iconfont/iconfont' -import { formatPriceDiv, formatWeightDiv } from '@/common/fotmat' +import { formatPriceDiv, formatWeightDiv } from '@/common/format' import PopupModal from '@/components/popupModal' import { useCurrenCode } from '@/context/ContextCodeSetting' import type { adjustType } from '@/common/enum' diff --git a/src/pages/collection/components/productItem/index.tsx b/src/pages/collection/components/productItem/index.tsx index 2eb23e3..d79bd37 100644 --- a/src/pages/collection/components/productItem/index.tsx +++ b/src/pages/collection/components/productItem/index.tsx @@ -5,7 +5,7 @@ import { useCallback, useEffect, useRef, useState } from 'react' import classnames from 'classnames' import styles from './index.module.scss' import { goLink } from '@/common/common' -import { formatHashTag, formatImgUrl } from '@/common/fotmat' +import { formatHashTag, formatImgUrl } from '@/common/format' import LabAndImg from '@/components/LabAndImg' import MCheckbox from '@/components/checkbox' import Divider from '@/components/divider' diff --git a/src/pages/colorCardClipping/components/cutProductItem/index.tsx b/src/pages/colorCardClipping/components/cutProductItem/index.tsx index 200712b..003ff10 100644 --- a/src/pages/colorCardClipping/components/cutProductItem/index.tsx +++ b/src/pages/colorCardClipping/components/cutProductItem/index.tsx @@ -3,7 +3,7 @@ import { useMemo } from 'react' import styles from './index.module.scss' import LabAndImg from '@/components/LabAndImg' import { goLink } from '@/common/common' -import { formatHashTag } from '@/common/fotmat' +import { formatHashTag } from '@/common/format' interface order_product_item { code: string diff --git a/src/pages/colorCardClipping/components/productItem/index.tsx b/src/pages/colorCardClipping/components/productItem/index.tsx index ad1669d..fbd2e8b 100644 --- a/src/pages/colorCardClipping/components/productItem/index.tsx +++ b/src/pages/colorCardClipping/components/productItem/index.tsx @@ -3,7 +3,7 @@ import { useMemo } from 'react' import styles from './index.module.scss' import LabAndImg from '@/components/LabAndImg' import { goLink } from '@/common/common' -import { formatRemoveHashTag } from '@/common/fotmat' +import { formatRemoveHashTag } from '@/common/format' interface color_card_info { count: number diff --git a/src/pages/colorCardOrderDetail/components/orderInfo/index.tsx b/src/pages/colorCardOrderDetail/components/orderInfo/index.tsx index cd4d018..78eba24 100644 --- a/src/pages/colorCardOrderDetail/components/orderInfo/index.tsx +++ b/src/pages/colorCardOrderDetail/components/orderInfo/index.tsx @@ -2,7 +2,7 @@ import { Text, View } from '@tarojs/components' import Taro, { setClipboardData } from '@tarojs/taro' import { memo } from 'react' import styles from './index.module.scss' -import { formatDateTime } from '@/common/fotmat' +import { formatDateTime } from '@/common/format' export interface OrderInfoParam { order_no?: string diff --git a/src/pages/colorCardOrderDetail/components/orderState/index.tsx b/src/pages/colorCardOrderDetail/components/orderState/index.tsx index 6f13a28..b27f14d 100644 --- a/src/pages/colorCardOrderDetail/components/orderState/index.tsx +++ b/src/pages/colorCardOrderDetail/components/orderState/index.tsx @@ -3,7 +3,7 @@ import Taro from '@tarojs/taro' import { memo } from 'react' import classnames from 'classnames' import styles from './index.module.scss' -import { formatDateTime, formatImgUrl } from '@/common/fotmat' +import { formatDateTime, formatImgUrl } from '@/common/format' export interface orderStateItem { audit_remark: string diff --git a/src/pages/creditLine/index.tsx b/src/pages/creditLine/index.tsx index 80eabe1..f824d7f 100644 --- a/src/pages/creditLine/index.tsx +++ b/src/pages/creditLine/index.tsx @@ -6,7 +6,7 @@ import AddressList from '@/components/AddressList' import { creditInfoApi } from '@/api/creditLine' import './index.scss' import { useSelector } from '@/reducers/hooks' -import { formatDateTime, formatPriceDiv } from '@/common/fotmat' +import { formatDateTime, formatPriceDiv } from '@/common/format' import Message from '@/components/Message' import useLogin from '@/use/useLogin' diff --git a/src/pages/creditUsed/index.tsx b/src/pages/creditUsed/index.tsx index 8080927..9a66e12 100644 --- a/src/pages/creditUsed/index.tsx +++ b/src/pages/creditUsed/index.tsx @@ -5,7 +5,7 @@ import './index.scss' import classnames from 'classnames' import { creditListApi } from '@/api/creditLine' import InfiniteScrollPaging from '@/components/InfiniteScrollPaging' -import { formatDateTime, formatPriceDiv, toDecimal2 } from '@/common/fotmat' +import { formatDateTime, formatPriceDiv, toDecimal2 } from '@/common/format' import { dataLoadingStatus, getFilterData } from '@/common/util' import useLogin from '@/use/useLogin' diff --git a/src/pages/cutSampleList/components/productItem/index.tsx b/src/pages/cutSampleList/components/productItem/index.tsx index 7cf5191..a96f752 100644 --- a/src/pages/cutSampleList/components/productItem/index.tsx +++ b/src/pages/cutSampleList/components/productItem/index.tsx @@ -4,7 +4,7 @@ import PopupSelectColor from '../popupSelectColor' import styles from './index.module.scss' import LabAndImg from '@/components/LabAndImg' import Checkbox from '@/components/checkbox' -import { formatHashTag } from '@/common/fotmat' +import { formatHashTag } from '@/common/format' interface ProductItemParamType { code: string diff --git a/src/pages/cutSampleListOrder/components/productCard/index.tsx b/src/pages/cutSampleListOrder/components/productCard/index.tsx index 41f0c1d..434317d 100644 --- a/src/pages/cutSampleListOrder/components/productCard/index.tsx +++ b/src/pages/cutSampleListOrder/components/productCard/index.tsx @@ -5,7 +5,7 @@ import classNames from 'classnames' import styles from './index.module.scss' import Counter from '@/components/counter' import LabAndImg from '@/components/LabAndImg' -import { formatHashTag } from '@/common/fotmat' +import { formatHashTag } from '@/common/format' import { alert } from '@/common/common' interface ProductItemParamType { diff --git a/src/pages/cutSampleListOrder/index.tsx b/src/pages/cutSampleListOrder/index.tsx index c270ded..e22ec20 100644 --- a/src/pages/cutSampleListOrder/index.tsx +++ b/src/pages/cutSampleListOrder/index.tsx @@ -12,7 +12,7 @@ import { SubmitColorCardApi } from '@/api/colorCard' import { getFilterData } from '@/common/util' import { UseSubscriptionMessage } from '@/use/useCommon' import { SUBSCRIPTION_MESSAGE_SCENE } from '@/common/enum' -import { formatHashTag } from '@/common/fotmat' +import { formatHashTag } from '@/common/format' import { submitCutSampleOrderApi } from '@/api/cutSample' import { addressListApi } from '@/api/addressManager' import NavBar from '@/components/navBar' diff --git a/src/pages/cutSampleListOrderDetail/components/orderInfo/index.tsx b/src/pages/cutSampleListOrderDetail/components/orderInfo/index.tsx index cd4d018..78eba24 100644 --- a/src/pages/cutSampleListOrderDetail/components/orderInfo/index.tsx +++ b/src/pages/cutSampleListOrderDetail/components/orderInfo/index.tsx @@ -2,7 +2,7 @@ import { Text, View } from '@tarojs/components' import Taro, { setClipboardData } from '@tarojs/taro' import { memo } from 'react' import styles from './index.module.scss' -import { formatDateTime } from '@/common/fotmat' +import { formatDateTime } from '@/common/format' export interface OrderInfoParam { order_no?: string diff --git a/src/pages/cutSampleListOrderDetail/components/orderState/index.tsx b/src/pages/cutSampleListOrderDetail/components/orderState/index.tsx index 61afa4a..372c59d 100644 --- a/src/pages/cutSampleListOrderDetail/components/orderState/index.tsx +++ b/src/pages/cutSampleListOrderDetail/components/orderState/index.tsx @@ -3,7 +3,7 @@ import Taro from '@tarojs/taro' import { memo } from 'react' import classnames from 'classnames' import styles from './index.module.scss' -import { formatDateTime, formatImgUrl } from '@/common/fotmat' +import { formatDateTime, formatImgUrl } from '@/common/format' export interface orderStateItem { audit_remark: string diff --git a/src/pages/cutSampleListOrderDetail/components/productCard/index.tsx b/src/pages/cutSampleListOrderDetail/components/productCard/index.tsx index 3b65948..ab73e14 100644 --- a/src/pages/cutSampleListOrderDetail/components/productCard/index.tsx +++ b/src/pages/cutSampleListOrderDetail/components/productCard/index.tsx @@ -3,7 +3,7 @@ import { useCallback } from 'react' import styles from './index.module.scss' import Counter from '@/components/counter' import LabAndImg from '@/components/LabAndImg' -import { formatHashTag } from '@/common/fotmat' +import { formatHashTag } from '@/common/format' export interface ProductParam { code: string diff --git a/src/pages/depositBeforehand/index.tsx b/src/pages/depositBeforehand/index.tsx index 0b9fd3d..63b7f6f 100644 --- a/src/pages/depositBeforehand/index.tsx +++ b/src/pages/depositBeforehand/index.tsx @@ -5,7 +5,7 @@ import { useEffect, useState } from 'react' import classNames from 'classnames' import styles from './index.module.scss' import { depositInfoApi } from '@/api/deposit' -import { formatPriceDiv, toDecimal2 } from '@/common/fotmat' +import { formatPriceDiv, toDecimal2 } from '@/common/format' import Message from '@/components/Message' import useLogin from '@/use/useLogin' import Dialog from '@/components/Dialog' diff --git a/src/pages/depositList/index.tsx b/src/pages/depositList/index.tsx index 1bf61ec..4e9b9a8 100644 --- a/src/pages/depositList/index.tsx +++ b/src/pages/depositList/index.tsx @@ -5,7 +5,7 @@ import InfiniteScrollPaging from '@/components/InfiniteScrollPaging' import AddressList from '@/components/AddressList' import { depositListApi } from '@/api/deposit' import './index.scss' -import { formatDateTime, formatPriceDiv } from '@/common/fotmat' +import { formatDateTime, formatPriceDiv } from '@/common/format' import useLogin from '@/use/useLogin' const DepositList = () => { diff --git a/src/pages/details/components/orderCount/context.tsx b/src/pages/details/components/orderCount/context.tsx new file mode 100644 index 0000000..5e077ab --- /dev/null +++ b/src/pages/details/components/orderCount/context.tsx @@ -0,0 +1,21 @@ +import React, { useContext } from 'react' + +type shopCart = Record +const defaultValue = { + shopCart: {} as shopCart, +} +const ShopCartContext = React.createContext(defaultValue) + +export const useShopCartContext = () => { + const ctx = useContext(ShopCartContext) + if (!ctx) { + throw new Error('没有获取到shop cart context') + } + return ctx +} + +export default ShopCartContext diff --git a/src/pages/details/components/orderCount/index.module.scss b/src/pages/details/components/orderCount/index.module.scss index 9c89fb0..8aafd24 100644 --- a/src/pages/details/components/orderCount/index.module.scss +++ b/src/pages/details/components/orderCount/index.module.scss @@ -2,7 +2,7 @@ .popup_con { height: 80vh; display: flex; - flex-direction: column; + flex-flow: column nowrap; } .header { color: $color_font_one; @@ -121,13 +121,15 @@ } } .product_color_con { - flex: 1; - height: 0; - margin-bottom: calc(150px - env(safe-area-inset-bottom)); + flex: 1 1 auto; + overflow: scroll; + height: 100%; } .color_con { + overflow: hidden; + height: 100%; .virtual_list { - padding-bottom: 300px; + height: 100%; } .item { display: flex; @@ -213,24 +215,34 @@ } .buy_btn { width: 100%; - height: 150px; - padding: 0 40px; + padding: 0 20px; + position: relative; + z-index: 99; padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom); box-sizing: border-box; - position: fixed; - bottom: 0; font-size: $font_size_medium; color: $color_font_two; background-color: #fff; box-shadow: 6px 0px 12px 0px rgba(0, 0, 0, 0.16); + display: flex; + flex-flow: row nowrap; + justify-content: space-between; + .count { + flex: 1 1 auto; + } + .button { + display: flex; + } .buy_btn_con { + width: 100%; + padding-top: 20px; display: flex; justify-content: space-between; align-items: center; - height: 151px; } .add_cart { + margin-left: 10px; width: 200px; height: 90px; font-size: $font_size_big; @@ -240,7 +252,15 @@ border-radius: 50px; color: #fff; border: 0; - // background: linear-gradient(38deg, #5cabff, #7cbcfc 100%, #99ccff 100%); } } } +.noList { + margin: 100px 0; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + color: #707070; + font-size: 26px; +} diff --git a/src/pages/details/components/orderCount/index.tsx b/src/pages/details/components/orderCount/index.tsx index 38db442..ce4fe01 100644 --- a/src/pages/details/components/orderCount/index.tsx +++ b/src/pages/details/components/orderCount/index.tsx @@ -1,8 +1,8 @@ -import { Text, View } from '@tarojs/components' +import { CustomWrapper, ScrollView, Text, View } from '@tarojs/components' import Taro, { useRouter } from '@tarojs/taro' import Big from 'big.js' import classnames from 'classnames' -import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react' +import { memo, useCallback, useEffect, useMemo, useRef, useState, useTransition } from 'react' import VirtualList from '@tarojs/components/virtual-list' import GuidePopup from '../guidePopup/index' import styles from './index.module.scss' @@ -14,7 +14,7 @@ import { useSelector } from '@/reducers/hooks' import { GetColorList } from '@/api/materialColor' import { AddShoppingCartApi, MallsaleOrderadd } from '@/api/shopCart' import UseLogin from '@/use/useLogin' -import { formatHashTag, formatPriceDiv, formatWeightDiv } from '@/common/fotmat' +import { formatHashTag, formatMeterMul, formatPriceDiv, formatWeightDiv } from '@/common/format' import { getFilterData } from '@/common/util' import LabAndImg from '@/components/LabAndImg' import useCommonData from '@/use/useCommonData' @@ -25,9 +25,165 @@ import OrganizationNameModal from '@/components/organizationNameModal' import useLogin from '@/use/useLogin' import { companyDetailApi, companyUpdateApi } from '@/api/company' import NormalButton from '@/components/normalButton' +import InfiniteScroll from '@/components/infiniteScroll' +import { ENUM_SALE_MODE } from '@/common/enum' + +const selectList = [ + { id: 0, step: 1, digits: 0, maxNum: 100000, defaultNum: 1, title: '大货', unit: '条', eunit: 'kg', priceField: 'bulk_price', originalPrice: 'last_bulk_price' }, + { id: 1, step: 1, digits: 2, maxNum: 9.99, defaultNum: 1, title: '剪板', unit: '米', eunit: 'm', priceField: 'length_cut_price', originalPrice: 'last_length_cut_price' }, + { + id: 2, + step: 1, + digits: 2, + minNum: 3, + maxNum: 100000, + defaultNum: 3, + returnZero: true, + title: '散剪', + unit: '米', + eunit: 'kg', + priceField: 'weight_cut_price', + originalPrice: 'last_weight_cut_price', + }, +] + +interface ScrollListProps { + list: any[] + getLabAndImg: (item: any) => void + formatPrice: (item: any) => React.ReactNode + onAdd: (item: any) => void + getInputValue: (num: number, item: any) => void + selectIndex: number +} +const ScrollList = (props: ScrollListProps) => { + const { list, getLabAndImg, formatPrice, onAdd, getInputValue, selectIndex } = props + return + + { + list.map((item, key) => { + return + }) + } + + +} + +interface RowsProps { + item: any + getLabAndImg: (item: any) => void + formatPrice: (item: any) => React.ReactNode + onAdd: (item: any) => void + getInputValue: (num: number, item: any) => void + selectIndex: number +} +const Rows = (props: RowsProps) => { + const { + item, + getLabAndImg, + formatPrice, + onAdd, + getInputValue, + selectIndex, + } = props + console.log('row Rerender', item) + return ( + <> + {item + ? + : 没有显示出来} + + ) +} +// 虚拟滚动 +const RowsWithMemo = memo(Rows) + +interface ColorItemProps { + formatPrice: (item: any) => React.ReactNode + onAdd: (item: any) => void + getInputValue: (num: number, item: any) => void + getLabAndImg: (item: any) => void + selectIndex: number + item: any +} +const ColorItem = memo((props: ColorItemProps) => { + console.log('ColorItem Rerender') + const { formatPrice, onAdd, getInputValue, selectIndex, item, getLabAndImg } = props + const selectIndexRef = useRef(selectIndex) + const baseInfo = selectList[selectIndex] + + const onAddClick = () => { + setShowCounter(true) + onAdd(item) + } + + useEffect(() => { + if (selectIndexRef.current !== selectIndex) { + setShowCounter(false) + selectIndexRef.current = selectIndex + } + }, [selectIndex]) + + const onGetInputValue = (num) => { + getInputValue(num, item) + if (num == 0) { + setShowCounter(false) + } + } + + const [showCounter, setShowCounter] = useState(false) + + return + + + + + {formatHashTag(item.code, item.name)} + {/* {selectIndex == 0 && 空差:{formatWeightDiv(item.weight_error)}kg} */} + + {/* {(selectIndex === 0 && item.bulk_price !== item.last_bulk_price) && {formatOriginalPrice(item)}} */} + {formatPrice(item)} + + + + + {!showCounter + ? ( + + 添加 + + ) + : ( + + + + )} + + +}) interface param { - show?: true | false + show?: boolean onClose?: () => void title?: string productId?: number @@ -36,26 +192,9 @@ interface param { recom_title?: string } const OrderCount = ({ show = false, onClose, title = '', productId = 0, is_first_login = true, recommendStatus = false, recom_title = '' }: param) => { + console.log('OrderCount Rerender') const { adminUserInfo } = useSelector(state => state.userInfo) - const [selectList, _] = useState([ - { id: 0, step: 1, digits: 0, maxNum: 100000, defaultNum: 1, title: '大货', unit: '条', eunit: 'kg', priceField: 'bulk_price', originalPrice: 'last_bulk_price' }, - { id: 1, step: 1, digits: 2, maxNum: 9.99, defaultNum: 1, title: '剪板', unit: '米', eunit: 'm', priceField: 'length_cut_price', originalPrice: 'last_length_cut_price' }, - { - id: 2, - step: 1, - digits: 2, - minNum: 3, - maxNum: 100000, - defaultNum: 3, - returnZero: true, - title: '散剪', - unit: '米', - eunit: 'kg', - priceField: 'weight_cut_price', - originalPrice: 'last_weight_cut_price', - }, - ]) const [selectIndex, setSelectIndex] = useState(0) // 获取面料颜色列表 @@ -67,22 +206,25 @@ const OrderCount = ({ show = false, onClose, title = '', productId = 0, is_first const initList = useCallback((list) => { const newList = list.map((item) => { item.count = 0 - item.show = false + // item.show = false return item }) return newList }, []) const getColorList = async() => { const { data } = await colorFetchData(getFilterData(condition.current)) - const lists = initList(data.list) - setList(() => [...lists]) + + startTransition(() => { + setList(data.list) + }) + setTempList(initList(data.list)) } const [showPopup, setShowPopup] = useState(false) const selectProduct = (index: number) => { condition.current.code_or_name = null getColorList() - setSelectIndex(() => index) + setSelectIndex(index) } // 卸载数据 @@ -105,37 +247,66 @@ const OrderCount = ({ show = false, onClose, title = '', productId = 0, is_first kindCount: 0, color_list: [], }) + + const [tempList, setTempList] = useState(list) + useEffect(() => { + console.log('tempList.current') let sumCount = 0 let kindCount = 0 const color_list: any[] = [] let color_list_info = {} - list.forEach((item) => { + tempList.forEach((item) => { if (item.count > 0) { sumCount = Big(sumCount).add(item.count).toNumber() kindCount++ - color_list_info = selectIndex == 0 ? { product_color_id: item.id, roll: item.count, sale_price: formatPriceDiv(item.bulk_price) } : { product_color_id: item.id, length: item.count * 100, sale_price: selectIndex == 1 ? formatPriceDiv(item.length_cut_price) : formatPriceDiv(item.weight_cut_price) } + color_list_info = selectIndex === ENUM_SALE_MODE.SALE_MODE_BULK + ? { + product_color_id: item.id, + roll: item.count, + sale_price: formatPriceDiv(item.bulk_price), + } + : { + product_color_id: item.id, + length: formatMeterMul(item.count), + sale_price: selectIndex == 1 ? formatPriceDiv(item.length_cut_price) : formatPriceDiv(item.weight_cut_price), + } color_list.push(color_list_info) } }) - setSelectCount({ ...selectCount, sumCount, kindCount, color_list }) - }, [list]) + console.log(sumCount, kindCount, color_list) + setSelectCount({ sumCount, kindCount, color_list }) + }, [tempList]) // 计数组件 const getInputValue = useCallback( (num, item) => { - item.count = parseFloat(num) - if (num == 0) { item.show = false } - setList(() => [...list]) + console.log('getInputValue', item) + setTempList(prev => + prev.map((listItem) => { + if (item.id === listItem.id) { + listItem.count = parseFloat(num) + } + return listItem + })) + // item.count = parseFloat(num) + // if (num == 0) { item.show = false } + // setList([...list]) }, - [list], + [], ) - const onAdd = (item) => { - item.show = true - item.count = selectList[selectIndex].defaultNum - setList(list => [...list]) - } + const onAdd = useCallback((item) => { + // item.show = true + setTempList(prev => prev.map((listItem) => { + if (item.id === listItem.id) { + listItem.count = selectList[selectIndex].defaultNum + } + return listItem + })) + console.log('onAdd', item) + // setList(list => [...list]) + }, []) // 搜索显示与隐藏 const [searchShow, setSearchShow] = useState(false) @@ -287,99 +458,54 @@ const OrderCount = ({ show = false, onClose, title = '', productId = 0, is_first [selectIndex], ) - const formatOriginalPrice = useCallback( - (item) => { - if (selectIndex === 1 || selectIndex === 2) { return } - const price = Number(formatPriceDiv(item[selectList[selectIndex].originalPrice])) - return ( - - ¥ - {price} - /{selectList[selectIndex].eunit} - - ) - }, - [selectIndex], - ) + // const formatOriginalPrice = useCallback( + // (item) => { + // if (selectIndex === 1 || selectIndex === 2) { return } + // const price = Number(formatPriceDiv(item[selectList[selectIndex].originalPrice])) + // return ( + // + // ¥ + // {price} + // /{selectList[selectIndex].eunit} + // + // ) + // }, + // [selectIndex], + // ) // 显示图片弹窗 const [showLabImage, setShowLabImage] = useState(false) const [labImageValue, setLabImageValue] = useState() const getLabAndImg = useCallback((val) => { - setShowLabImage(() => true) + setShowLabImage(true) setLabImageValue(val) }, []) const closeLabImgShow = useCallback(() => { - setShowLabImage(() => false) + setShowLabImage(false) }, []) - const Rows = ({ id, index, style, data }: any) => { - const item = data[index] - console.log(item, 6666) - return ( - <> - {(item && ( - - - - - - {formatHashTag(item.code, item.name)} - {/* {selectIndex == 0 && 空差:{formatWeightDiv(item.weight_error)}kg} */} - - {/* {(selectIndex === 0 && item.bulk_price !== item.last_bulk_price) && {formatOriginalPrice(item)}} */} - {formatPrice(item)} - - - - {(!item.show && ( - onAdd(item)}> - 添加 - - )) || ( - - getInputValue(num, item)} - defaultNum={item.count} - step={selectList[selectIndex].step} - digits={selectList[selectIndex].digits} - onClickBtn={num => getInputValue(num, item)} - unit={selectList[selectIndex].unit} - minNum={selectList[selectIndex].minNum} - maxNum={selectList[selectIndex].maxNum} - returnZero={selectList[selectIndex].returnZero} - /> - - )} - - - )) || } - - ) - } - // 虚拟滚动 - const RowsWithMemo = memo(Rows) + const [isPending, startTransition] = useTransition() - const [virtualHeight, setVirtualheight] = useState(400) - const getHeight = () => { - const query = Taro.createSelectorQuery() - query - .select('#product_color_con') - .boundingClientRect((rect) => { - console.log('rect::', rect) - const clientHeight = rect.height - setVirtualheight(() => clientHeight) - }) - .exec() - } - useEffect(() => { - if (!show) { return } - setTimeout(() => { - Taro.nextTick(() => { - getHeight() - }) - }, 100) - }, [show]) + // const [virtualHeight, setVirtualheight] = useState(400) + // const getHeight = () => { + // const query = Taro.createSelectorQuery() + // query + // .select('#product_color_con') + // .boundingClientRect((rect) => { + // console.log('rect::', rect) + // const clientHeight = rect.height + // setVirtualheight(clientHeight) + // }) + // .exec() + // } + // useEffect(() => { + // if (!show) { return } + // setTimeout(() => { + // Taro.nextTick(() => { + // getHeight() + // }) + // }, 100) + // }, [show]) const [showGuidePopup, setshowGuidePopup] = useState(true) @@ -411,7 +537,7 @@ const OrderCount = ({ show = false, onClose, title = '', productId = 0, is_first return ( - closePopup()}> + closePopup()}> @@ -456,26 +582,36 @@ const OrderCount = ({ show = false, onClose, title = '', productId = 0, is_first {!searchShow && changeSearchShow()}>} - - {list.length <= 0 && colorState.loading && } - {list.length > 0 && !colorState.loading && ( - - - {RowsWithMemo} - - - - )} - {list.length <= 0 && !colorState.loading && 暂无此商品} + {/* */} + { + isPending + ? + + + : + } + + {/* {list.length <= 0 && colorState.loading && } + {list.length > 0 && !colorState.loading && ( + + + {RowsWithMemo} + + + + )} + {list.length <= 0 && !colorState.loading && 暂无此商品} */} + + {/* */} @@ -483,12 +619,14 @@ const OrderCount = ({ show = false, onClose, title = '', productId = 0, is_first 当前已选{selectCount.kindCount}种,共{selectCount.sumCount} {selectList[selectIndex].unit} - addShopCart()}>加入购物车 - handShopBuy()}>立即购买 + + addShopCart()}>加入购物车 + handShopBuy()}>立即购买 + + - {/* */} { showGuidePopup && showPopup && setshowGuidePopup(false)}> diff --git a/src/pages/details/components/recommend/index.module.scss b/src/pages/details/components/recommend/index.module.scss index 1f63600..1c7ad1b 100644 --- a/src/pages/details/components/recommend/index.module.scss +++ b/src/pages/details/components/recommend/index.module.scss @@ -1,6 +1,5 @@ .recommend { background-color: #fff; - margin-top: 16px; border-radius: 16px; padding: 24px; box-sizing: border-box; diff --git a/src/pages/details/components/recommend/index.tsx b/src/pages/details/components/recommend/index.tsx index 769579e..580f16c 100644 --- a/src/pages/details/components/recommend/index.tsx +++ b/src/pages/details/components/recommend/index.tsx @@ -5,7 +5,7 @@ import { memo, useCallback, useMemo } from 'react' import styles from './index.module.scss' import LabAndImg from '@/components/LabAndImg' import IconFont from '@/components/iconfont/iconfont' -import { formatHashTag } from '@/common/fotmat' +import { formatHashTag } from '@/common/format' import useLogin from '@/use/useLogin' import { alert } from '@/common/common' diff --git a/src/pages/details/components/swiper/index.tsx b/src/pages/details/components/swiper/index.tsx index a59ccee..824f3a9 100644 --- a/src/pages/details/components/swiper/index.tsx +++ b/src/pages/details/components/swiper/index.tsx @@ -2,7 +2,7 @@ import { Image, Swiper, SwiperItem, View } from '@tarojs/components' import Taro from '@tarojs/taro' import { useMemo, useRef, useState } from 'react' import styles from './index.module.scss' -import { formatImgUrl } from '@/common/fotmat' +import { formatImgUrl } from '@/common/format' interface item { title: string; img: string; url: string; id: number } interface params { diff --git a/src/pages/details/index.module.scss b/src/pages/details/index.module.scss index 1f687cb..b5e0f19 100644 --- a/src/pages/details/index.module.scss +++ b/src/pages/details/index.module.scss @@ -123,7 +123,7 @@ page { } .product_color { - margin: 20px; + margin: 0 20px; background-color: #fff; padding: 30px 20px 0; color: $color_font_one; @@ -280,11 +280,9 @@ page { padding-top: 30px; // padding-bottom: 30px; // width: 100%; - margin: 20px; + margin: 0 20px; border-radius: 16px; background-color: #fff; - margin-top: 25px; - margin-bottom: 25px; .title { margin-left: 25px; color: rgba(0, 0, 0, 0.8); @@ -330,7 +328,6 @@ page { } .product_buy { position: relative; - z-index: 9999; display: flex; justify-content: space-between; align-items: center; @@ -340,7 +337,7 @@ page { background-color: #fff; padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom); - z-index: 9999; + z-index: 999; .icon_btn { display: flex; flex: 1; diff --git a/src/pages/details/index.tsx b/src/pages/details/index.tsx index 622d490..e64b3d6 100644 --- a/src/pages/details/index.tsx +++ b/src/pages/details/index.tsx @@ -9,7 +9,7 @@ import FeaturePopup from './components/feature' import Recommend from './components/recommend' import ScrollViewX from './components/scrollViewX' import ShopCart from '@/components/shopCart' -import { formatDateTime, formatHashTag, formatImgUrl, formatPriceDiv, formatRemoveHashTag } from '@/common/fotmat' +import { formatDateTime, formatHashTag, formatImgUrl, formatPriceDiv, formatRemoveHashTag } from '@/common/format' import { GetProductDetailApi, MallCherryestimate_catevideolist, MallCherryestimate_catevideoview } from '@/api/material' import useLogin from '@/use/useLogin' import { AnalysisShortCodeApi, GetShortCodeApi } from '@/api/share' @@ -344,11 +344,26 @@ const Details = (props: Params) => { } } + const labAndImgValue = useMemo(() => { + return { lab: currentDialogDetail.current!.lab, rgb: currentDialogDetail.current!.rgb, texture_url: currentDialogDetail.current!.texture_url, title: currentDialogDetail.current!.code } + }, [currentDialogDetail.current]) + // 控制浮窗的视频是否被其他的视频影响 const [showVideoPlay, setshowVideoPlay] = useState(true) const [showFloatVideo, setshowFloatVideo] = useState(false) + const [showLabImage, setShowLabImage] = useState(false) + + const closeLabImgShow = () => { + setShowLabImage(false) + } + + const handleShowLabAndImg = () => { + console.log('handleShowLabAndImg') + setShowLabImage(true) + } + return ( @@ -467,7 +482,7 @@ const Details = (props: Params) => { } {!!productInfo?.product_screw_id - && + && } @@ -550,8 +565,10 @@ const Details = (props: Params) => { @@ -582,6 +599,7 @@ const Details = (props: Params) => { setShowColorSelect(false)} /> + ) diff --git a/src/pages/index/components/guessULikeList/index.tsx b/src/pages/index/components/guessULikeList/index.tsx index 8066ee7..8c22012 100644 --- a/src/pages/index/components/guessULikeList/index.tsx +++ b/src/pages/index/components/guessULikeList/index.tsx @@ -2,7 +2,7 @@ import { Text, View } from '@tarojs/components' import { useCallback } from 'react' import styles from './index.module.scss' import LabAndImg from '@/components/LabAndImg' -import { formatHashTag, formatPriceDiv, formatRemoveHashTag } from '@/common/fotmat' +import { formatHashTag, formatPriceDiv, formatRemoveHashTag } from '@/common/format' import { goLink } from '@/common/common' import Tag from '@/components/tag' import IconFont from '@/components/iconfont/iconfont' diff --git a/src/pages/inviteCode/index.tsx b/src/pages/inviteCode/index.tsx index fe3dd8c..2d86909 100644 --- a/src/pages/inviteCode/index.tsx +++ b/src/pages/inviteCode/index.tsx @@ -12,7 +12,7 @@ import Table from '@/components/table' import type { InviteCodePopupRef } from '@/components/inviteCodePopup' import InviteCodePopup from '@/components/inviteCodePopup' import { GetInvitationRecordList } from '@/api/share' -import { formatDateTime } from '@/common/fotmat' +import { formatDateTime } from '@/common/format' // 获取业务员信息 interface Param { inviter_id: number; inviter_name: string; phone: string } diff --git a/src/pages/inviteCode/inviteFriends/index.tsx b/src/pages/inviteCode/inviteFriends/index.tsx index 35b7bf3..e11c5b5 100644 --- a/src/pages/inviteCode/inviteFriends/index.tsx +++ b/src/pages/inviteCode/inviteFriends/index.tsx @@ -17,7 +17,7 @@ import InviteCodePopup from '@/components/inviteCodePopup' import { GetInvitationRecordList } from '@/api/share' import InfiniteScroll from '@/components/infiniteScroll' import { dataLoadingStatus, debounce, getFilterData } from '@/common/util' -import { formatDateTime } from '@/common/fotmat' +import { formatDateTime } from '@/common/format' import IconFont from '@/components/iconfont/iconfont' const InviteCord = () => { diff --git a/src/pages/order/comfirm.tsx b/src/pages/order/comfirm.tsx index 516fe9e..605342d 100644 --- a/src/pages/order/comfirm.tsx +++ b/src/pages/order/comfirm.tsx @@ -10,7 +10,7 @@ import AddressInfoDetail from './components/addressInfoDetail' import { getParam } from '@/common/system' import { alert, goLink } from '@/common/common' import Popup from '@/components/popup' -import { formatPriceDiv } from '@/common/fotmat' +import { formatPriceDiv } from '@/common/format' import { SaleOrderApi, SaleOrderPreViewApi } from '@/api/order' import { SubscriptionMessageApi } from '@/api/user' import { SUBSCRIPTION_MESSAGE_SCENE } from '@/common/enum' diff --git a/src/pages/order/components/advanceOrderState/index.tsx b/src/pages/order/components/advanceOrderState/index.tsx index 3e62826..b9fd58c 100644 --- a/src/pages/order/components/advanceOrderState/index.tsx +++ b/src/pages/order/components/advanceOrderState/index.tsx @@ -3,7 +3,7 @@ import { memo, useEffect, useMemo, useRef, useState } from 'react' import classnames from 'classnames' import dayjs from 'dayjs' import styles from './index.module.scss' -import { formatImgUrl } from '@/common/fotmat' +import { formatImgUrl } from '@/common/format' import { useTimeCountDown } from '@/use/useCommon' import { ORDER_STATUS, PAYMENT_METHOD } from '@/common/enum' diff --git a/src/pages/order/components/kindList/index copy.tsx b/src/pages/order/components/kindList/index copy.tsx index e786d74..e3ea442 100644 --- a/src/pages/order/components/kindList/index copy.tsx +++ b/src/pages/order/components/kindList/index copy.tsx @@ -2,7 +2,7 @@ import { Text, View } from '@tarojs/components' import { memo, useCallback, useMemo, useState } from 'react' import styles from './index.module.scss' import { ORDER_STATUS } from '@/common/enum' -import { formatHashTag, formatPriceDiv, formatWeightDiv } from '@/common/fotmat' +import { formatHashTag, formatPriceDiv, formatWeightDiv } from '@/common/format' import EstimatedAmount from '@/components/estimatedAmount' import LabAndImg from '@/components/LabAndImg' @@ -28,7 +28,7 @@ interface Param { comfirm?: boolean // 是否是确认订单页面使用 } -export default memo(({ order, comfirm = false }: Param) => { +export default memo(({ order, comfirm = false }: Param) => { const { SaleOrderStatusBooking, // 待接单 SaleOrderStatusArranging, // 配布中 @@ -203,4 +203,4 @@ export default memo(({ order, comfirm = false }: Param) => { ) -}) +}) diff --git a/src/pages/order/components/kindList/index.tsx b/src/pages/order/components/kindList/index.tsx index e5e64f0..2e7c19e 100644 --- a/src/pages/order/components/kindList/index.tsx +++ b/src/pages/order/components/kindList/index.tsx @@ -2,7 +2,7 @@ import { Text, View } from '@tarojs/components' import { memo, useCallback, useMemo, useState } from 'react' import styles from './index.module.scss' import { ENUM_SALE_MODE, ORDER_STATUS } from '@/common/enum' -import { formatHashTag, formatPriceDiv, formatWeightDiv } from '@/common/fotmat' +import { formatHashTag, formatPriceDiv, formatWeightDiv } from '@/common/format' import EstimatedAmount from '@/components/estimatedAmount' import LabAndImg from '@/components/LabAndImg' import IconFont from '@/components/iconfont/iconfont' diff --git a/src/pages/order/components/orderState/index.tsx b/src/pages/order/components/orderState/index.tsx index 46f3b4e..06ee1be 100644 --- a/src/pages/order/components/orderState/index.tsx +++ b/src/pages/order/components/orderState/index.tsx @@ -4,7 +4,7 @@ import { memo, useEffect, useMemo, useRef, useState } from 'react' import classnames from 'classnames' import * as dayjs from 'dayjs' import styles from './index.module.scss' -import { formatDateTime, formatImgUrl } from '@/common/fotmat' +import { formatDateTime, formatImgUrl } from '@/common/format' import { ORDER_STATUS, PAYMENT_METHOD } from '@/common/enum' interface List { diff --git a/src/pages/order/components/payment/index.tsx b/src/pages/order/components/payment/index.tsx index 3435922..a462039 100644 --- a/src/pages/order/components/payment/index.tsx +++ b/src/pages/order/components/payment/index.tsx @@ -8,7 +8,7 @@ import styles from './index.module.scss' import MCheckbox from '@/components/checkbox' import Popup from '@/components/popup' import { GetOrderPayApi, GetPrepayOrderPayApi, SubmitOrderPayApi, SubmitPrepayOrderPayApi, SubmitTradeOrderPayApi } from '@/api/orderPay' -import { formatPriceDiv } from '@/common/fotmat' +import { formatPriceDiv } from '@/common/format' import { alert } from '@/common/common' import { ORDER_STATUS, PAYMENT_METHOD, SUBSCRIPTION_MESSAGE_SCENE } from '@/common/enum' import { UseSubscriptionMessage } from '@/use/useCommon' diff --git a/src/pages/order/components/returnRecord/index.tsx b/src/pages/order/components/returnRecord/index.tsx index 8572c45..5bd04d1 100644 --- a/src/pages/order/components/returnRecord/index.tsx +++ b/src/pages/order/components/returnRecord/index.tsx @@ -5,7 +5,7 @@ import OrderStatusTag from '../orderStatusTag' import styles from './index.module.scss' import { GetSaleOrderListApi, ReturnRecordApi } from '@/api/salesAfterOrder' import { goLink } from '@/common/common' -import { formatHashTag, formatPriceDiv } from '@/common/fotmat' +import { formatHashTag, formatPriceDiv } from '@/common/format' import { dataLoadingStatus, getFilterData } from '@/common/util' import InfiniteScroll from '@/components/infiniteScroll' import LabAndImg from '@/components/LabAndImg' diff --git a/src/pages/order/components/scanPay/index.tsx b/src/pages/order/components/scanPay/index.tsx index e966958..36904a3 100644 --- a/src/pages/order/components/scanPay/index.tsx +++ b/src/pages/order/components/scanPay/index.tsx @@ -5,7 +5,7 @@ import classnames from 'classnames' import styles from './index.module.scss' import Popup from '@/components/popup' import { alert } from '@/common/common' -import { formatDateTime, formatHashTag, formatImgUrl, formatPriceDiv, formatRemoveHashTag, formatWeightDiv } from '@/common/fotmat' +import { formatDateTime, formatHashTag, formatImgUrl, formatPriceDiv, formatRemoveHashTag, formatWeightDiv } from '@/common/format' import useCheckAuthorize from '@/use/useCheckAuthorize' import { GetPayCode } from '@/api/onlinePay' import LoadingCard from '@/components/loadingCard' diff --git a/src/pages/order/components/scanPayCheck/index.module.scss b/src/pages/order/components/scanPayCheck/index.module.scss index 6653e4c..69ced6f 100644 --- a/src/pages/order/components/scanPayCheck/index.module.scss +++ b/src/pages/order/components/scanPayCheck/index.module.scss @@ -9,7 +9,6 @@ $top: 170px; position: absolute; left: 20px; top: 27px; - font-size: 37px; color: $color_font_three; z-index: 99; } diff --git a/src/pages/order/components/scanPayCheck/index.tsx b/src/pages/order/components/scanPayCheck/index.tsx index c0bdd37..eee52dd 100644 --- a/src/pages/order/components/scanPayCheck/index.tsx +++ b/src/pages/order/components/scanPayCheck/index.tsx @@ -5,13 +5,14 @@ import classnames from 'classnames' import styles from './index.module.scss' import Popup from '@/components/popup' import { alert } from '@/common/common' -import { formatDateTime, formatPriceDiv, formatRemoveHashTag, formatWeightDiv } from '@/common/fotmat' +import { formatDateTime, formatPriceDiv, formatRemoveHashTag, formatWeightDiv } from '@/common/format' import useCheckAuthorize from '@/use/useCheckAuthorize' import { GetPayCode } from '@/api/onlinePay' import LoadingCard from '@/components/loadingCard' import CodeSelect from '@/components/codeSelect' import ViewCodeList from '@/components/viewCodeList' import { ENUM_SALE_MODE } from '@/common/enum' +import IconFont from '@/components/iconfont/iconfont' interface Param { show?: true | false @@ -196,7 +197,9 @@ const ScanPayCheck = ({ show = true, onClose, company, orderInfo }: Param) => { - + + + 查看销售码单 {(state.loading && ) || ( diff --git a/src/pages/order/index.module.scss b/src/pages/order/index.module.scss index fac28a5..dbcc108 100644 --- a/src/pages/order/index.module.scss +++ b/src/pages/order/index.module.scss @@ -80,7 +80,7 @@ page { } .submit_order_con { position: relative; - z-index: 9999; + z-index: 999; width: 100%; background-color: #fff; box-shadow: 6px 0px 12px 0px rgba(0, 0, 0, 0.16); diff --git a/src/pages/order/index.tsx b/src/pages/order/index.tsx index ebe3950..2616425 100644 --- a/src/pages/order/index.tsx +++ b/src/pages/order/index.tsx @@ -18,7 +18,7 @@ import ShopCart from '@/components/shopCart' import SearchInput from '@/components/searchInput' import Popup from '@/components/popup' import OrderBtns from '@/components/orderBtns' -import { formatDateTime, formatImgUrl } from '@/common/fotmat' +import { formatDateTime, formatImgUrl } from '@/common/format' import { ORDER_STATUS } from '@/common/enum' import { alert, goLink } from '@/common/common' import { SubscriptionMessageApi } from '@/api/user' diff --git a/src/pages/order/orderList/components/order/index.tsx b/src/pages/order/orderList/components/order/index.tsx index a75a579..2f99d27 100644 --- a/src/pages/order/orderList/components/order/index.tsx +++ b/src/pages/order/orderList/components/order/index.tsx @@ -5,7 +5,7 @@ import { memo, useCallback, useMemo, useRef, useState } from 'react' import styles from './index.module.scss' import { goLink } from '@/common/common' import { ORDER_STATUS } from '@/common/enum' -import { formatHashTag, formatImgUrl, formatPriceDiv } from '@/common/fotmat' +import { formatHashTag, formatImgUrl, formatPriceDiv } from '@/common/format' import LabAndImg from '@/components/LabAndImg' import OrderBtns from '@/components/orderBtns' import Payment from '@/pages/order/components/payment' diff --git a/src/pages/order/speedComfirm.tsx b/src/pages/order/speedComfirm.tsx index 18a7659..bb5ac32 100644 --- a/src/pages/order/speedComfirm.tsx +++ b/src/pages/order/speedComfirm.tsx @@ -10,7 +10,7 @@ import AddressInfoDetail from './components/addressInfoDetail' import { getParam } from '@/common/system' import { alert, goLink } from '@/common/common' import Popup from '@/components/popup' -import { formatPriceDiv } from '@/common/fotmat' +import { formatPriceDiv } from '@/common/format' import { SaleOrderApi, SaleOrderPreViewApi } from '@/api/order' import { SubscriptionMessageApi } from '@/api/user' import { SUBSCRIPTION_MESSAGE_SCENE } from '@/common/enum' diff --git a/src/pages/salesAfter/components/applyRecord/index.tsx b/src/pages/salesAfter/components/applyRecord/index.tsx index 8d1035c..a74c4f3 100644 --- a/src/pages/salesAfter/components/applyRecord/index.tsx +++ b/src/pages/salesAfter/components/applyRecord/index.tsx @@ -3,7 +3,7 @@ import Taro from '@tarojs/taro' import { memo, useCallback, useEffect, useMemo, useState } from 'react' import styles from './index.module.scss' import { SaleOrderOrderDetailApi } from '@/api/salesAfterOrder' -import { formatHashTag, formatPriceDiv, formatWeightDiv } from '@/common/fotmat' +import { formatHashTag, formatPriceDiv, formatWeightDiv } from '@/common/format' import LabAndImg from '@/components/LabAndImg' import Popup from '@/components/popup' diff --git a/src/pages/salesAfter/components/kindList/index.tsx b/src/pages/salesAfter/components/kindList/index.tsx index 1c74ff1..f70030c 100644 --- a/src/pages/salesAfter/components/kindList/index.tsx +++ b/src/pages/salesAfter/components/kindList/index.tsx @@ -3,7 +3,7 @@ import { memo, useCallback, useMemo } from 'react' import classnames from 'classnames' import styles from './index.module.scss' import { AFTER_ORDER_STATUS, ORDER_STATUS, REFUND_STATUS } from '@/common/enum' -import { formatHashTag, formatPriceDiv, formatWeightDiv } from '@/common/fotmat' +import { formatHashTag, formatPriceDiv, formatWeightDiv } from '@/common/format' import EstimatedAmount from '@/components/estimatedAmount' import LabAndImg from '@/components/LabAndImg' diff --git a/src/pages/salesAfter/components/orderState/index.tsx b/src/pages/salesAfter/components/orderState/index.tsx index a7613bc..d25b255 100644 --- a/src/pages/salesAfter/components/orderState/index.tsx +++ b/src/pages/salesAfter/components/orderState/index.tsx @@ -2,7 +2,7 @@ import { Text, View } from '@tarojs/components' import { memo, useMemo, useState } from 'react' import classnames from 'classnames' import styles from './index.module.scss' -import { formatDateTime } from '@/common/fotmat' +import { formatDateTime } from '@/common/format' import { ORDER_STATUS } from '@/common/enum' interface List { @@ -22,7 +22,7 @@ interface Param { } } -export default memo(({ orderInfo = { logistics_details: [], payment_method: 0, status: 0 }, onRefresh }: Param) => { +export default memo(({ orderInfo = { logistics_details: [], payment_method: 0, status: 0 }, onRefresh }: Param) => { const [showMore, setShowMore] = useState(false) const changeMore = () => { setShowMore(() => !showMore) diff --git a/src/pages/salesAfter/components/payment/index.tsx b/src/pages/salesAfter/components/payment/index.tsx index 4efb938..acc662d 100644 --- a/src/pages/salesAfter/components/payment/index.tsx +++ b/src/pages/salesAfter/components/payment/index.tsx @@ -8,9 +8,9 @@ import styles from './index.module.scss' import MCheckbox from '@/components/checkbox' import Popup from '@/components/popup' import { GetOrderPayApi, SubmitOrderPayApi } from '@/api/orderPay' -import { formatPriceDiv } from '@/common/fotmat' +import { formatPriceDiv } from '@/common/format' import { alert } from '@/common/common' -import type { PAYMENT_METHOD_PARAM } from '@/common/enum' +import type { PAYMENT_METHOD_PARAM } from '@/common/enum' import { PAYMENT_METHOD } from '@/common/enum' interface Param { @@ -26,7 +26,7 @@ interface OrderInfo { } type PayStatus = 1|2|3|4|5|null // 1:预存款, 2:账期,3:线下汇款, 4:扫码支付, 5:货到付款 -export default memo(({ show = false, onClose, orderInfo, onSubmitSuccess }: Param) => { +export default memo(({ show = false, onClose, orderInfo, onSubmitSuccess }: Param) => { // 提交参数 const [submitData, setSubmitData] = useState<{ id: number; payment_method: PayStatus }>({ id: 0, @@ -83,7 +83,7 @@ export default memo(({ show = false, onClose, orderInfo, onSubmitSuccess }: Para if (res.success) { alert.success('支付成功') onSubmitSuccess?.() - } + } else { alert.none(res.msg) } @@ -182,4 +182,4 @@ export default memo(({ show = false, onClose, orderInfo, onSubmitSuccess }: Para ) -}) +}) diff --git a/src/pages/salesAfter/components/returnPayCheck/index.tsx b/src/pages/salesAfter/components/returnPayCheck/index.tsx index ef8106b..89eb302 100644 --- a/src/pages/salesAfter/components/returnPayCheck/index.tsx +++ b/src/pages/salesAfter/components/returnPayCheck/index.tsx @@ -5,7 +5,7 @@ import classnames from 'classnames' import styles from './index.module.scss' import Popup from '@/components/popup' import { alert } from '@/common/common' -import { formatDateTime, formatPriceDiv, formatRemoveHashTag, formatWeightDiv } from '@/common/fotmat' +import { formatDateTime, formatPriceDiv, formatRemoveHashTag, formatWeightDiv } from '@/common/format' import useCheckAuthorize from '@/use/useCheckAuthorize' import { GetReturnPayCode } from '@/api/onlinePay' import LoadingCard from '@/components/loadingCard' diff --git a/src/pages/salesAfter/components/scanPay/index.tsx b/src/pages/salesAfter/components/scanPay/index.tsx index 4625be5..3ce0ab3 100644 --- a/src/pages/salesAfter/components/scanPay/index.tsx +++ b/src/pages/salesAfter/components/scanPay/index.tsx @@ -5,7 +5,7 @@ import classnames from 'classnames' import styles from './index.module.scss' import Popup from '@/components/popup' import { alert } from '@/common/common' -import { formatImgUrl } from '@/common/fotmat' +import { formatImgUrl } from '@/common/format' import useCheckAuthorize from '@/use/useCheckAuthorize' import { GetPayCode } from '@/api/onlinePay' import LoadingCard from '@/components/loadingCard' diff --git a/src/pages/salesAfter/index.tsx b/src/pages/salesAfter/index.tsx index a0b1738..c41703f 100644 --- a/src/pages/salesAfter/index.tsx +++ b/src/pages/salesAfter/index.tsx @@ -13,7 +13,7 @@ import styles from './index.module.scss' import useLogin from '@/use/useLogin' import SearchInput from '@/components/searchInput' import AfterOrderBtns from '@/components/afterOrderBtns' -import { formatDateTime, formatImgUrl } from '@/common/fotmat' +import { formatDateTime, formatImgUrl } from '@/common/format' import { AFTER_ORDER_STATUS } from '@/common/enum' import { SaleOrderOrderDetailApi } from '@/api/salesAfterOrder' import MoveBtn from '@/components/moveBtn' diff --git a/src/pages/salesAfter/salesAfterList/components/order/index.tsx b/src/pages/salesAfter/salesAfterList/components/order/index.tsx index 7d0b1dc..a5a6bf3 100644 --- a/src/pages/salesAfter/salesAfterList/components/order/index.tsx +++ b/src/pages/salesAfter/salesAfterList/components/order/index.tsx @@ -5,7 +5,7 @@ import OrderStatusTag from '../orderStatusTag' import styles from './index.module.scss' import { goLink } from '@/common/common' import { AFTER_ORDER_STATUS, REFUND_STATUS_ORDER } from '@/common/enum' -import { formatHashTag, formatImgUrl, formatPriceDiv } from '@/common/fotmat' +import { formatHashTag, formatImgUrl, formatPriceDiv } from '@/common/format' import AfterOrderBtns from '@/components/afterOrderBtns' import LabAndImg from '@/components/LabAndImg' import { useSelector } from '@/reducers/hooks' diff --git a/src/pages/searchList/hightSearchList.tsx b/src/pages/searchList/hightSearchList.tsx index 7af91e0..1254600 100644 --- a/src/pages/searchList/hightSearchList.tsx +++ b/src/pages/searchList/hightSearchList.tsx @@ -15,7 +15,7 @@ import { useBluetooth } from '@/use/contextBlueTooth' import { toRgb } from '@/common/bluetooth/color/colorSpace' import { GetLabProductApi } from '@/api/material' import { dataLoadingStatus, getFilterData } from '@/common/util' -import { formatHashTag, formatImgUrl } from '@/common/fotmat' +import { formatHashTag, formatImgUrl } from '@/common/format' import useLogin from '@/use/useLogin' import { goLink } from '@/common/common' import LabAndImg from '@/components/LabAndImg' diff --git a/src/pages/searchList/searchList.tsx b/src/pages/searchList/searchList.tsx index 8ce66f1..acbb01f 100644 --- a/src/pages/searchList/searchList.tsx +++ b/src/pages/searchList/searchList.tsx @@ -10,7 +10,7 @@ import InfiniteScroll from '@/components/infiniteScroll' import type { SortBtnRef, SortParam } from '@/components/sortBtn' import SortBtn from '@/components/sortBtn' import { goLink } from '@/common/common' -import { formatHashTag, formatPriceDiv } from '@/common/fotmat' +import { formatHashTag, formatPriceDiv } from '@/common/format' import { dataLoadingStatus, getFilterData } from '@/common/util' import useLogin from '@/use/useLogin' import LabAndImg from '@/components/LabAndImg' diff --git a/src/pages/shopCar/components/bottomBtn/index.tsx b/src/pages/shopCar/components/bottomBtn/index.tsx index 7a98934..dfb4976 100644 --- a/src/pages/shopCar/components/bottomBtn/index.tsx +++ b/src/pages/shopCar/components/bottomBtn/index.tsx @@ -5,7 +5,7 @@ import styles from './index.module.scss' import MCheckbox from '@/components/checkbox' import type { StateType } from '@/context/ContextShop' import { useCurrenShop } from '@/context/ContextShop' -import { formatPriceDiv } from '@/common/fotmat' +import { formatPriceDiv } from '@/common/format' import type { saleModeType } from '@/common/enum' interface ParamType { diff --git a/src/pages/shopCar/components/productBlock/index.tsx b/src/pages/shopCar/components/productBlock/index.tsx index ccc394b..f45f7ab 100644 --- a/src/pages/shopCar/components/productBlock/index.tsx +++ b/src/pages/shopCar/components/productBlock/index.tsx @@ -7,7 +7,7 @@ import styles from './index.module.scss' import MCheckbox from '@/components/checkbox' import type { ProductType } from '@/context/ContextShop' import { useCurrenShop } from '@/context/ContextShop' -import { formatHashTag } from '@/common/fotmat' +import { formatHashTag } from '@/common/format' import type { saleModeType } from '@/common/enum' interface ParamType { diff --git a/src/pages/shopCar/components/productItem/index.tsx b/src/pages/shopCar/components/productItem/index.tsx index 6379d1e..3fd79de 100644 --- a/src/pages/shopCar/components/productItem/index.tsx +++ b/src/pages/shopCar/components/productItem/index.tsx @@ -9,7 +9,7 @@ import LabAndImg from '@/components/LabAndImg' import Counter from '@/components/counter' import type { ColorType } from '@/context/ContextShop' import { useCurrenShop } from '@/context/ContextShop' -import { formatPriceDiv } from '@/common/fotmat' +import { formatPriceDiv } from '@/common/format' import { DelShoppingCartApi, GetShoppingCartApi, UpdateShoppingCartApi } from '@/api/shopCart' import { debounce } from '@/common/util' import { SALE_MODE_SETTING } from '@/common/enum' diff --git a/src/pages/shopCar/components/recommendProductItem/index.tsx b/src/pages/shopCar/components/recommendProductItem/index.tsx index e0cd9ca..e0af8d8 100644 --- a/src/pages/shopCar/components/recommendProductItem/index.tsx +++ b/src/pages/shopCar/components/recommendProductItem/index.tsx @@ -5,7 +5,7 @@ import RecommendProduct from '../recommendProduct' import styles from './index.module.scss' import LabAndImg from '@/components/LabAndImg' import Counter from '@/components/counter' -import { formatHashTag, formatPriceDiv } from '@/common/fotmat' +import { formatHashTag, formatPriceDiv } from '@/common/format' import { debounce } from '@/common/util' import type { listType } from '@/common/enum' import { SALE_MODE_SETTING, saleModeType } from '@/common/enum' diff --git a/src/pages/user/index.tsx b/src/pages/user/index.tsx index afc8d7c..422c313 100644 --- a/src/pages/user/index.tsx +++ b/src/pages/user/index.tsx @@ -6,7 +6,7 @@ import styles from './index.module.scss' import Customer from './components/customer' import { useSelector } from '@/reducers/hooks' import { alert, goLink } from '@/common/common' -import { formatImgUrl, formatPriceDiv } from '@/common/fotmat' +import { formatImgUrl, formatPriceDiv } from '@/common/format' import { userassets, userorderStatistics } from '@/api/mine' import useLogin from '@/use/useLogin' import IconFont from '@/components/iconfont/iconfont' diff --git a/src/pages/userEdit/index.tsx b/src/pages/userEdit/index.tsx index d373f3f..eb7d8ec 100644 --- a/src/pages/userEdit/index.tsx +++ b/src/pages/userEdit/index.tsx @@ -14,7 +14,7 @@ import useUploadCDNImg from '@/use/useUploadImage' import { IMG_CND_Prefix } from '@/common/constant' import useUserInfo from '@/use/useUserInfo' import IconFont from '@/components/iconfont/iconfont' -import { formatImgUrl } from '@/common/fotmat' +import { formatImgUrl } from '@/common/format' // 列表 const UserEditList = memo((props: any) => { diff --git a/src/use/useLogin.ts b/src/use/useLogin.ts index ed0a87b..8febd11 100644 --- a/src/use/useLogin.ts +++ b/src/use/useLogin.ts @@ -6,7 +6,7 @@ import type { InvitationWay } from '@/common/enum' import { SHARE_SCENE } from '@/common/enum' import { GetShortCodeApi, PrepareCreateInvitationInfoApi } from '@/api/share' import { IMG_CND_Prefix } from '@/common/constant' -import { formatImgUrl } from '@/common/fotmat' +import { formatImgUrl } from '@/common/format' import { bindInvitationUser } from '@/common/shortCode' import { isEmptyObject } from '@/common/common'