🐞 fix(ID1000935): 申请退货,选择退货原因时,其他说明文本输入框层级太高,UI出现混乱(安卓系统)
【申请退货,选择退货原因时,其他说明文本输入框层级太高,UI出现混乱(安卓系统)】 https://www.tapd.cn/53459131/bugtrace/bugs/view/1153459131001000935
This commit is contained in:
parent
4a2f5ac521
commit
8ecb3be06b
@ -239,6 +239,13 @@
|
|||||||
"query": "",
|
"query": "",
|
||||||
"launchMode": "default",
|
"launchMode": "default",
|
||||||
"scene": null
|
"scene": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"pathName": "pages/applyGoods/index",
|
||||||
|
"query": "orderId=31742",
|
||||||
|
"launchMode": "default",
|
||||||
|
"scene": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,25 +7,26 @@ interface SaleModeProps {
|
|||||||
saleMode: number
|
saleMode: number
|
||||||
size?: TagSize
|
size?: TagSize
|
||||||
customClassName?: string
|
customClassName?: string
|
||||||
|
customStyle?: React.CSSProperties
|
||||||
children?: React.ReactNode
|
children?: React.ReactNode
|
||||||
}
|
}
|
||||||
|
|
||||||
const SaleModeTag: FC<SaleModeProps> = (props) => {
|
const SaleModeTag: FC<SaleModeProps> = (props) => {
|
||||||
const { saleMode, size = 'small', customClassName } = props
|
const { saleMode, size = 'small', customClassName, customStyle } = props
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{saleMode === EnumSaleMode.Bulk && (
|
{saleMode === EnumSaleMode.Bulk && (
|
||||||
<Tag circle type="bulk" size={size} customClassName={customClassName}>
|
<Tag circle type="bulk" size={size} customClassName={customClassName} customStyle={customStyle}>
|
||||||
大货
|
大货
|
||||||
</Tag>
|
</Tag>
|
||||||
)}
|
)}
|
||||||
{saleMode === EnumSaleMode.Plate && (
|
{saleMode === EnumSaleMode.Plate && (
|
||||||
<Tag circle type="plate" size={size} customClassName={customClassName}>
|
<Tag circle type="plate" size={size} customClassName={customClassName} customStyle={customStyle}>
|
||||||
剪板
|
剪板
|
||||||
</Tag>
|
</Tag>
|
||||||
)}
|
)}
|
||||||
{saleMode === EnumSaleMode.BulkCut && (
|
{saleMode === EnumSaleMode.BulkCut && (
|
||||||
<Tag circle type="bulkCut" size={size} customClassName={customClassName}>
|
<Tag circle type="bulkCut" size={size} customClassName={customClassName} customStyle={customStyle}>
|
||||||
散剪
|
散剪
|
||||||
</Tag>
|
</Tag>
|
||||||
)}
|
)}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
|||||||
import { Button, Image, Input, ScrollView, Text, Textarea, View } from '@tarojs/components'
|
import { Button, CoverView, Image, Input, ScrollView, Text, Textarea, View } from '@tarojs/components'
|
||||||
import Taro, { faceVerifyForPay, useDidShow, useRouter } from '@tarojs/taro'
|
import Taro, { faceVerifyForPay, useDidShow, useRouter } from '@tarojs/taro'
|
||||||
import { ReactNode, memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
import { ReactNode, memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
||||||
import classnames from 'classnames'
|
import classnames from 'classnames'
|
||||||
@ -13,6 +13,10 @@ import {
|
|||||||
} from '@/api/order'
|
} from '@/api/order'
|
||||||
import Popup from '@/components/popup'
|
import Popup from '@/components/popup'
|
||||||
import UploadImage from '@/components/uploadImage'
|
import UploadImage from '@/components/uploadImage'
|
||||||
|
import IconFont from '@/components/iconfont/iconfont'
|
||||||
|
import Divider from '@/components/divider'
|
||||||
|
import SaleModeTag from '@/components/saleModeTag'
|
||||||
|
import LabAndImg from '@/components/LabAndImg'
|
||||||
|
|
||||||
// 产品商品元素
|
// 产品商品元素
|
||||||
interface PropGoods {
|
interface PropGoods {
|
||||||
@ -38,20 +42,34 @@ const GoodsItem = (porps: PropGoods) => {
|
|||||||
// setValue({ count: res })
|
// setValue({ count: res })
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
const labAndImgObj = useCallback(
|
||||||
|
(item) => {
|
||||||
|
return { lab: item.lab, rgb: item.rgb, texture_url: item.texture_url }
|
||||||
|
},
|
||||||
|
[list],
|
||||||
|
)
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{
|
{
|
||||||
list.map((item, index) => {
|
list.map((item, index) => {
|
||||||
return (
|
return (
|
||||||
<View className={styles.goodsBox} key={index}>
|
<View className={styles.goodsBox} key={index}>
|
||||||
<View className={styles.goodsProduct}>{item.product_code}# {item.product_name}</View>
|
<View className={styles.goodsProduct}>
|
||||||
<View className={styles.goodsLine}></View>
|
<Text>
|
||||||
|
|
||||||
|
{item.product_code}# {item.product_name}
|
||||||
|
</Text>
|
||||||
|
<SaleModeTag saleMode={item.sale_mode} size="small" customStyle={{ marginLeft: '5px', padding: '0 5px' }} />
|
||||||
|
</View>
|
||||||
|
<Divider direction="horizontal" customStyles={{ margin: '12px 10px' }}></Divider>
|
||||||
{
|
{
|
||||||
item.av_product_color.map((it, inx) => {
|
item.av_product_color.map((it, inx) => {
|
||||||
return (
|
return (
|
||||||
<View className={styles.itemGoods} key={inx}>
|
<View className={styles.itemGoods} key={inx}>
|
||||||
<Image className={styles.itemPic} mode="aspectFill" src="https://test.cdn.zzfzyc.com/mall/no_img.png"></Image>
|
<View className={styles.itemPic}>
|
||||||
|
<LabAndImg value={labAndImgObj(item)} />
|
||||||
|
</View>
|
||||||
|
{/* <Image className={styles.itemPic} mode="aspectFill" src="https://test.cdn.zzfzyc.com/mall/no_img.png"></Image> */}
|
||||||
{/* <View className={styles.itemPic} style={{ backgroundColor: `rgb(${it?.rgb?.r} ${it?.rgb?.g} ${it?.rgb?.b})` }}></View> */}
|
{/* <View className={styles.itemPic} style={{ backgroundColor: `rgb(${it?.rgb?.r} ${it?.rgb?.g} ${it?.rgb?.b})` }}></View> */}
|
||||||
<View className={styles.itemRight}>
|
<View className={styles.itemRight}>
|
||||||
<View className={styles.item_right_top}>
|
<View className={styles.item_right_top}>
|
||||||
@ -564,7 +582,8 @@ const ApplyGoods = () => {
|
|||||||
queryRef.current.reasonName !== '请选择' && <View className={styles.selectFont}>{Query.reasonName}/{Query.reasonNameTwo}</View>
|
queryRef.current.reasonName !== '请选择' && <View className={styles.selectFont}>{Query.reasonName}/{Query.reasonNameTwo}</View>
|
||||||
}
|
}
|
||||||
</View>
|
</View>
|
||||||
<View className={classnames('iconfont', 'icon-chakanquanbukehu', styles.chakanquanbukehu)}></View>
|
<IconFont name="icon-chakanquanbukehu" size={50} color="#3b3b3b"></IconFont>
|
||||||
|
{/* <View className={classnames('iconfont', 'icon-chakanquanbukehu', styles.chakanquanbukehu)}></View> */}
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.reasonItem} onClick={() => { setDescPopup?.(true) }}>
|
<View className={styles.reasonItem} onClick={() => { setDescPopup?.(true) }}>
|
||||||
<View className={styles.reasonLeft}>
|
<View className={styles.reasonLeft}>
|
||||||
@ -577,7 +596,8 @@ const ApplyGoods = () => {
|
|||||||
queryRef.current.GoodStatusName !== '请选择' && <View className={styles.selectFont}>{Query.GoodStatusName}</View>
|
queryRef.current.GoodStatusName !== '请选择' && <View className={styles.selectFont}>{Query.GoodStatusName}</View>
|
||||||
}
|
}
|
||||||
</View>
|
</View>
|
||||||
<View className={classnames('iconfont', 'icon-chakanquanbukehu', styles.chakanquanbukehu)}></View>
|
<IconFont name="icon-chakanquanbukehu" size={50} color="#3b3b3b"></IconFont>
|
||||||
|
{/* <View className={classnames('iconfont', 'icon-chakanquanbukehu', styles.chakanquanbukehu)}></View> */}
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.picBig}>
|
<View className={styles.picBig}>
|
||||||
<View className={styles.picFont}>拍照上传</View>
|
<View className={styles.picFont}>拍照上传</View>
|
||||||
@ -587,12 +607,14 @@ const ApplyGoods = () => {
|
|||||||
<View className={styles.descBox}>
|
<View className={styles.descBox}>
|
||||||
<View className={styles.title}>其他说明</View>
|
<View className={styles.title}>其他说明</View>
|
||||||
<View className={styles.textBox}>
|
<View className={styles.textBox}>
|
||||||
|
{/* 解决textarea的placeholder层级穿透的问题(偶现问题) */}
|
||||||
|
{/* https://developers.weixin.qq.com/community/develop/article/doc/0004eea3024e7075653a30bb05ac13?highline=Textarea%20 */}
|
||||||
<Textarea
|
<Textarea
|
||||||
onInput={e => getDesc(e.detail.value)}
|
onInput={e => getDesc(e.detail.value)}
|
||||||
value={TextareaValue}
|
value={TextareaValue}
|
||||||
// style='background:#f6f6f6;height:210px;padding:15rpx 24rpx 24rpx 24rpx;border-radius: 8rpx;'
|
// style='background:#f6f6f6;height:210px;padding:15rpx 24rpx 24rpx 24rpx;border-radius: 8rpx;'
|
||||||
placeholderStyle="font-size: 28rpx;font-weight: 400;"
|
placeholderStyle="font-size: 28rpx;font-weight: 400;"
|
||||||
placeholder="选填/退货原因中选择时(其他问题)必填"
|
placeholder={(!showPopup || !DescPopup) ? '选填/退货原因中选择时(其他问题)必填' : ''}
|
||||||
></Textarea>
|
></Textarea>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user