🐞 fix(ID1000935): 申请退货,选择退货原因时,其他说明文本输入框层级太高,UI出现混乱(安卓系统)

【申请退货,选择退货原因时,其他说明文本输入框层级太高,UI出现混乱(安卓系统)】 https://www.tapd.cn/53459131/bugtrace/bugs/view/1153459131001000935
This commit is contained in:
xuan 2022-12-08 16:04:41 +08:00
parent 4a2f5ac521
commit 8ecb3be06b
4 changed files with 527 additions and 532 deletions

View File

@ -239,6 +239,13 @@
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "",
"pathName": "pages/applyGoods/index",
"query": "orderId=31742",
"launchMode": "default",
"scene": null
}
]
}

View File

@ -7,25 +7,26 @@ interface SaleModeProps {
saleMode: number
size?: TagSize
customClassName?: string
customStyle?: React.CSSProperties
children?: React.ReactNode
}
const SaleModeTag: FC<SaleModeProps> = (props) => {
const { saleMode, size = 'small', customClassName } = props
const { saleMode, size = 'small', customClassName, customStyle } = props
return (
<>
{saleMode === EnumSaleMode.Bulk && (
<Tag circle type="bulk" size={size} customClassName={customClassName}>
<Tag circle type="bulk" size={size} customClassName={customClassName} customStyle={customStyle}>
</Tag>
)}
{saleMode === EnumSaleMode.Plate && (
<Tag circle type="plate" size={size} customClassName={customClassName}>
<Tag circle type="plate" size={size} customClassName={customClassName} customStyle={customStyle}>
</Tag>
)}
{saleMode === EnumSaleMode.BulkCut && (
<Tag circle type="bulkCut" size={size} customClassName={customClassName}>
<Tag circle type="bulkCut" size={size} customClassName={customClassName} customStyle={customStyle}>
</Tag>
)}

File diff suppressed because it is too large Load Diff

View File

@ -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 { ReactNode, memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'
import classnames from 'classnames'
@ -13,6 +13,10 @@ import {
} from '@/api/order'
import Popup from '@/components/popup'
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 {
@ -38,20 +42,34 @@ const GoodsItem = (porps: PropGoods) => {
// setValue({ count: res })
// }
// }
const labAndImgObj = useCallback(
(item) => {
return { lab: item.lab, rgb: item.rgb, texture_url: item.texture_url }
},
[list],
)
return (
<>
{
list.map((item, index) => {
return (
<View className={styles.goodsBox} key={index}>
<View className={styles.goodsProduct}>{item.product_code}# {item.product_name}</View>
<View className={styles.goodsLine}></View>
<View className={styles.goodsProduct}>
<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) => {
return (
<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.itemRight}>
<View className={styles.item_right_top}>
@ -564,7 +582,8 @@ const ApplyGoods = () => {
queryRef.current.reasonName !== '请选择' && <View className={styles.selectFont}>{Query.reasonName}/{Query.reasonNameTwo}</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 className={styles.reasonItem} onClick={() => { setDescPopup?.(true) }}>
<View className={styles.reasonLeft}>
@ -577,7 +596,8 @@ const ApplyGoods = () => {
queryRef.current.GoodStatusName !== '请选择' && <View className={styles.selectFont}>{Query.GoodStatusName}</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 className={styles.picBig}>
<View className={styles.picFont}></View>
@ -587,12 +607,14 @@ const ApplyGoods = () => {
<View className={styles.descBox}>
<View className={styles.title}></View>
<View className={styles.textBox}>
{/* 解决textarea的placeholder层级穿透的问题偶现问题 */}
{/* https://developers.weixin.qq.com/community/develop/article/doc/0004eea3024e7075653a30bb05ac13?highline=Textarea%20 */}
<Textarea
onInput={e => getDesc(e.detail.value)}
value={TextareaValue}
// style='background:#f6f6f6;height:210px;padding:15rpx 24rpx 24rpx 24rpx;border-radius: 8rpx;'
placeholderStyle="font-size: 28rpx;font-weight: 400;"
placeholder="选填/退货原因中选择时(其他问题)必填"
placeholder={(!showPopup || !DescPopup) ? '选填/退货原因中选择时(其他问题)必填' : ''}
></Textarea>
</View>
</View>