商城测试版v8
This commit is contained in:
parent
3009b65e00
commit
84bc43fbb9
@ -4,7 +4,7 @@
|
|||||||
// export const BASE_URL = `http://10.0.0.5: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.0.89:40001/lymarket`
|
||||||
// export const BASE_URL = `http://192.168.1.165: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://test.zzfzyc.com/lymarket` // 测试环境
|
||||||
// export const BASE_URL = `http://192.168.1.9:40001/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.9:50005/lymarket` // 发
|
||||||
// export const BASE_URL = `http://192.168.1.30:50001/lymarket` // 发
|
// export const BASE_URL = `http://192.168.1.30:50001/lymarket` // 发
|
||||||
@ -12,7 +12,7 @@ export const BASE_URL = `https://test.zzfzyc.com/lymarket` // 测试环境
|
|||||||
// export const BASE_URL = `https://www.zzfzyc.com/lymarket` // 正式环境
|
// export const BASE_URL = `https://www.zzfzyc.com/lymarket` // 正式环境
|
||||||
// export const BASE_URL = `http://192.168.1.5:40001/lymarket` // 王霞
|
// export const BASE_URL = `http://192.168.1.5:40001/lymarket` // 王霞
|
||||||
// export const BASE_URL = `http://192.168.1.7:50002/lymarket` // 添
|
// export const BASE_URL = `http://192.168.1.7:50002/lymarket` // 添
|
||||||
// export const BASE_URL = `http://192.168.1.42:50001/lymarket` // 杰
|
export const BASE_URL = `http://192.168.1.42:50001/lymarket` // 杰
|
||||||
|
|
||||||
// CDN
|
// CDN
|
||||||
// 生成密钥
|
// 生成密钥
|
||||||
|
@ -3,6 +3,7 @@ import { goLink } from "@/common/common"
|
|||||||
import {GetBannerList} from "@/api/banner"
|
import {GetBannerList} from "@/api/banner"
|
||||||
import styles from './index.module.scss'
|
import styles from './index.module.scss'
|
||||||
import { useEffect, useState } from "react"
|
import { useEffect, useState } from "react"
|
||||||
|
import { formatImgUrl } from "@/common/fotmat"
|
||||||
|
|
||||||
type item = {title:string, img:string, url:string, id:number}
|
type item = {title:string, img:string, url:string, id:number}
|
||||||
|
|
||||||
@ -47,7 +48,7 @@ export default (props:params) => {
|
|||||||
list?.map(item => {
|
list?.map(item => {
|
||||||
return <SwiperItem key={item.id}>
|
return <SwiperItem key={item.id}>
|
||||||
<View className={styles.image_item} onClick={() => skipTo(item)}>
|
<View className={styles.image_item} onClick={() => skipTo(item)}>
|
||||||
<Image mode="aspectFill" src={item.prev_view_url}></Image>
|
<Image mode="aspectFill" src={formatImgUrl(item.prev_view_url, '!w800')}></Image>
|
||||||
</View>
|
</View>
|
||||||
</SwiperItem>
|
</SwiperItem>
|
||||||
})
|
})
|
||||||
|
@ -20,6 +20,7 @@ type Param = {
|
|||||||
sale_mode: number, //订单类型
|
sale_mode: number, //订单类型
|
||||||
av_return_roll?: number, //可退数量
|
av_return_roll?: number, //可退数量
|
||||||
is_return?: true|false, //是否申请了售后
|
is_return?: true|false, //是否申请了售后
|
||||||
|
is_should_collect_audit?: true|false, //应收单是否审核
|
||||||
|
|
||||||
},
|
},
|
||||||
showStatus?: 'detail'|'list', //订单详情,订单列表
|
showStatus?: 'detail'|'list', //订单详情,订单列表
|
||||||
@ -157,7 +158,7 @@ export default memo(({orderInfo, showStatus = 'detail', onClick}:Param) => {
|
|||||||
label: '销售码单',
|
label: '销售码单',
|
||||||
sort: 9,
|
sort: 9,
|
||||||
validatarFunc: (orderInfo) => {
|
validatarFunc: (orderInfo) => {
|
||||||
return orderInfo.actual_amount > 0 && orderInfo.wait_pay_amount == 0 && showStatus == 'detail'
|
return orderInfo.is_should_collect_audit && showStatus == 'detail'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
@ -30,9 +30,9 @@ export default () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//获取搜索数据
|
//获取搜索数据
|
||||||
const [searchData, setSearchData] = useState({id:0, key: ''})
|
const [searchData, setSearchData] = useState({id:0, code_or_name: ''})
|
||||||
const onSearch = useCallback((e) => {
|
const onSearch = useCallback((e) => {
|
||||||
setSearchData(() => e)
|
setSearchData((val) => ({...val, code_or_name: e}))
|
||||||
}, [])
|
}, [])
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
let id = router.params.id || 0
|
let id = router.params.id || 0
|
||||||
@ -89,11 +89,12 @@ export default () => {
|
|||||||
|
|
||||||
//移动面料
|
//移动面料
|
||||||
const {fetchData: fetchDataMoveFavoriteProduct} = MoveFavoriteProductApi()
|
const {fetchData: fetchDataMoveFavoriteProduct} = MoveFavoriteProductApi()
|
||||||
const onAdd = async () => {
|
const onAdd = async (val) => {
|
||||||
if(ids.length == 0) return alert.none('请选择要移动面料')
|
if(ids.length == 0) return alert.none('请选择要移动面料')
|
||||||
let res = await fetchDataMoveFavoriteProduct({favorite_id: searchData.id, product_id:ids})
|
let res = await fetchDataMoveFavoriteProduct({source_favorite_id: searchData.id ,target_favorite_id: val.id, product_id:ids})
|
||||||
if(res.success) {
|
if(res.success) {
|
||||||
getFavoriteInfo()
|
getFavoriteInfo()
|
||||||
|
setCollectionShow(false)
|
||||||
alert.success('修改成功')
|
alert.success('修改成功')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -102,11 +103,19 @@ export default () => {
|
|||||||
const {fetchData: delFavoriteProductFetchData} = DelFavoriteProductApi()
|
const {fetchData: delFavoriteProductFetchData} = DelFavoriteProductApi()
|
||||||
const delCollectioin = async () => {
|
const delCollectioin = async () => {
|
||||||
if(ids.length == 0) return alert.none('请选择要取消面料')
|
if(ids.length == 0) return alert.none('请选择要取消面料')
|
||||||
let res = await delFavoriteProductFetchData({favorite_id: searchData.id, product_id:ids})
|
let showModalRes = await Taro.showModal({
|
||||||
if(res.success) {
|
title: '是否要取消收藏',
|
||||||
getFavoriteInfo()
|
confirmText: '是',
|
||||||
alert.none('已取消收藏')
|
cancelText: '否',
|
||||||
|
})
|
||||||
|
if(showModalRes.confirm) {
|
||||||
|
let res = await delFavoriteProductFetchData({favorite_id: searchData.id, product_id:ids})
|
||||||
|
if(res.success) {
|
||||||
|
getFavoriteInfo()
|
||||||
|
alert.none('已取消收藏')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -45,7 +45,7 @@ export default memo(({show = false, onClose, onSuccess, defaultValue}: ReasonInf
|
|||||||
<View className={styles.title_item}>
|
<View className={styles.title_item}>
|
||||||
<View className={styles.title}>名称</View>
|
<View className={styles.title}>名称</View>
|
||||||
<View className={styles.select}>
|
<View className={styles.select}>
|
||||||
<Input placeholder="请输入文件夹名称" className={styles.input} onInput={changeInput} value={defaultValue?.name}/>
|
<Input placeholder="请输入文件夹名称" className={styles.input} cursorSpacing={150} onInput={changeInput} value={defaultValue?.name} />
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.desc_item}>
|
<View className={styles.desc_item}>
|
||||||
|
@ -88,8 +88,8 @@ import { throttle } from "@/common/util";
|
|||||||
district_name: address?.district_name,
|
district_name: address?.district_name,
|
||||||
address_detail: address?.address_detail,
|
address_detail: address?.address_detail,
|
||||||
id: address?.id,
|
id: address?.id,
|
||||||
name: address?.name,
|
target_user_name: address?.name,
|
||||||
phone: address?.phone,
|
target_user_phone: address?.phone,
|
||||||
shipment_mode: address?.shipment_mode,
|
shipment_mode: address?.shipment_mode,
|
||||||
take_goods_address: preViewOrder?.take_goods_address,
|
take_goods_address: preViewOrder?.take_goods_address,
|
||||||
take_goods_phone: preViewOrder?.take_goods_phone,
|
take_goods_phone: preViewOrder?.take_goods_phone,
|
||||||
|
@ -28,7 +28,9 @@ type Param = {
|
|||||||
district_name: string,
|
district_name: string,
|
||||||
address_detail: string,
|
address_detail: string,
|
||||||
take_goods_address: string,
|
take_goods_address: string,
|
||||||
take_goods_phone: string
|
take_goods_phone: string,
|
||||||
|
target_user_name: string,
|
||||||
|
target_user_phone: string
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,10 +176,8 @@ export default memo(forwardRef(({onSelect, onChangeShipmentMode, orderInfo, stat
|
|||||||
//地址格式
|
//地址格式
|
||||||
const formatAddress = useMemo(() => {
|
const formatAddress = useMemo(() => {
|
||||||
if(receivingStatus == 2) {
|
if(receivingStatus == 2) {
|
||||||
console.log('take_goods_addressbb::', addressInfo)
|
return addressInfo?.address_detail?addressInfo.province_name + addressInfo.city_name + addressInfo.district_name + addressInfo.address_detail:''
|
||||||
return addressInfo?.province_name?addressInfo.province_name + addressInfo.city_name + addressInfo.district_name + addressInfo.address_detail:''
|
|
||||||
} else {
|
} else {
|
||||||
console.log('take_goods_address::', addressInfo)
|
|
||||||
return addressInfo?.take_goods_address
|
return addressInfo?.take_goods_address
|
||||||
}
|
}
|
||||||
}, [receivingStatus, addressInfo])
|
}, [receivingStatus, addressInfo])
|
||||||
|
@ -85,7 +85,8 @@ export default memo(({show = true, onClose, company, orderInfo}:Param) => {
|
|||||||
actual_amount: formatPriceDiv(orderInfo.actual_amount).toString(),
|
actual_amount: formatPriceDiv(orderInfo.actual_amount).toString(),
|
||||||
show_actual_amount: orderInfo.actual_amount > 0,
|
show_actual_amount: orderInfo.actual_amount > 0,
|
||||||
wait_pay_amount: formatPriceDiv(orderInfo.wait_pay_amount).toString(),
|
wait_pay_amount: formatPriceDiv(orderInfo.wait_pay_amount).toString(),
|
||||||
show_wait_pay_amount: orderInfo.wait_pay_amount > 0
|
show_wait_pay_amount: orderInfo.wait_pay_amount > 0,
|
||||||
|
show_barcode: true
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
}, [orderInfo])
|
}, [orderInfo])
|
||||||
|
@ -89,7 +89,8 @@ export default memo(({show = true, onClose, company, orderInfo}:Param) => {
|
|||||||
actual_amount: formatPriceDiv(orderInfo.actual_amount).toString(),
|
actual_amount: formatPriceDiv(orderInfo.actual_amount).toString(),
|
||||||
show_actual_amount: orderInfo.actual_amount > 0,
|
show_actual_amount: orderInfo.actual_amount > 0,
|
||||||
wait_pay_amount: formatPriceDiv(orderInfo.wait_pay_amount).toString(),
|
wait_pay_amount: formatPriceDiv(orderInfo.wait_pay_amount).toString(),
|
||||||
show_wait_pay_amount: orderInfo.wait_pay_amount > 0
|
show_wait_pay_amount: orderInfo.wait_pay_amount > 0,
|
||||||
|
show_barcode: true
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
}, [orderInfo])
|
}, [orderInfo])
|
||||||
|
@ -108,16 +108,16 @@ export default memo(({value, onClickBtn}: Param) => {
|
|||||||
<View className={styles.product_con} onClick={() => goLink('/pages/order/index', {id: value?.id})}>
|
<View className={styles.product_con} onClick={() => goLink('/pages/order/index', {id: value?.id})}>
|
||||||
<View className={styles.product_title}>
|
<View className={styles.product_title}>
|
||||||
<View className={styles.product_tag}>{value?.sale_mode_name}</View>
|
<View className={styles.product_tag}>{value?.sale_mode_name}</View>
|
||||||
<View className={styles.product_name}>{formatHashTag(value?.product_list[0].code, value?.product_list[0].name)}</View>
|
<View className={styles.product_name}>{formatHashTag(value?.product_list?.[0].code, value?.product_list?.[0].name)}</View>
|
||||||
<View className={styles.tag}>{value?.shipment_mode_name}</View>
|
<View className={styles.tag}>{value?.shipment_mode_name}</View>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.product_list}>
|
<View className={styles.product_list}>
|
||||||
<View className={styles.image}>
|
<View className={styles.image}>
|
||||||
<LabAndImg value={{lab:value.lab,rgb:value.rgb,texture_url:value.texture_url}}/>
|
<LabAndImg value={{lab:value.lab,rgb:value.rgb,texture_url:value.texture_url}}/>
|
||||||
<View className={styles.color_num}>{value?.product_list[0].product_colors[0].code}</View>
|
<View className={styles.color_num}>{value?.product_list?.[0].product_colors?.[0].code}</View>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.color_list}>
|
<View className={styles.color_list}>
|
||||||
{value?.product_list[0].product_colors.map((itemColor, index) => {
|
{value?.product_list?.[0].product_colors.map((itemColor, index) => {
|
||||||
return (
|
return (
|
||||||
(index <= 1)&&<View className={styles.color_item}>
|
(index <= 1)&&<View className={styles.color_item}>
|
||||||
<View className={styles.color_title}>{formatHashTag(itemColor.code, itemColor.name)}</View>
|
<View className={styles.color_title}>{formatHashTag(itemColor.code, itemColor.name)}</View>
|
||||||
@ -127,7 +127,7 @@ export default memo(({value, onClickBtn}: Param) => {
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
{value?.product_list[0].length > 2 && <View className={styles.color_item}>
|
{value?.product_list?.[0].length > 2 && <View className={styles.color_item}>
|
||||||
<View className={styles.color_more}>……</View>
|
<View className={styles.color_more}>……</View>
|
||||||
<View className={styles.color_more}>……</View>
|
<View className={styles.color_more}>……</View>
|
||||||
<View className={styles.color_more}>……</View>
|
<View className={styles.color_more}>……</View>
|
||||||
|
@ -1,224 +0,0 @@
|
|||||||
import { AFTER_ORDER_STATUS, ORDER_STATUS, REFUND_STATUS } from "@/common/enum"
|
|
||||||
import { formatHashTag, formatPriceDiv, formatWeightDiv } from "@/common/fotmat"
|
|
||||||
import EstimatedAmount from "@/components/estimatedAmount"
|
|
||||||
import LabAndImg from "@/components/LabAndImg"
|
|
||||||
import { Text, View } from "@tarojs/components"
|
|
||||||
import { memo, useCallback, useMemo } from "react"
|
|
||||||
import styles from './index.module.scss'
|
|
||||||
|
|
||||||
type OrderParam = {
|
|
||||||
estimate_amount: number, //预估金额
|
|
||||||
list: any[],
|
|
||||||
product_list: any[],
|
|
||||||
quality_check_pass_product: any[],
|
|
||||||
sale_mode: number,
|
|
||||||
sale_mode_name: string,
|
|
||||||
unit: string,
|
|
||||||
total_colors: number,
|
|
||||||
total_fabrics: number,
|
|
||||||
total_number: number,
|
|
||||||
stage: number, //订单状态
|
|
||||||
type: 1|2, //1退货, 2退款
|
|
||||||
refund_type: number, //退款状态
|
|
||||||
total_sale_price: number, //销售金额
|
|
||||||
total_should_collect_money: number, //应收金额
|
|
||||||
total_weight_error_discount: number, //空差优惠
|
|
||||||
the_previous_status: number, //取消订单时的订单状态
|
|
||||||
actual_amount: number //实付金额
|
|
||||||
quality_check_pass_colors: number, //验布后的颜色总数
|
|
||||||
quality_check_pass_fabrics: number, //验布后的面料数量
|
|
||||||
quality_check_pass_number: number, //验布后的总数量
|
|
||||||
}
|
|
||||||
|
|
||||||
type Param = {
|
|
||||||
order: OrderParam,
|
|
||||||
comfirm?: boolean //是否是确认订单页面使用
|
|
||||||
}
|
|
||||||
|
|
||||||
export default memo(({order, comfirm = false}:Param) => {
|
|
||||||
//对应数量
|
|
||||||
const formatCount = useCallback((item) => {
|
|
||||||
return order?.sale_mode == 0? item.roll : Number(item.length / 100)
|
|
||||||
}, [order])
|
|
||||||
//对应单价
|
|
||||||
const standardPrice = useCallback(price => {
|
|
||||||
return formatPriceDiv(price).toLocaleString() + '/' + (order?.sale_mode == 1?'m':'kg')
|
|
||||||
}, [order])
|
|
||||||
//数量格式
|
|
||||||
const numText = useMemo(() => {
|
|
||||||
if(order) {
|
|
||||||
if(!order?.quality_check_pass_fabrics&&!order?.quality_check_pass_number&&!order?.quality_check_pass_colors) {
|
|
||||||
let total_number = order?.sale_mode == 0?order?.total_number:(order?.total_number/100)
|
|
||||||
return `${order?.total_fabrics}种面料,${order?.total_colors}种颜色,共${total_number}${order?.unit}`
|
|
||||||
} else {
|
|
||||||
let total_number = order?.sale_mode == 0?order?.quality_check_pass_number:(order?.quality_check_pass_number/100)
|
|
||||||
return `${order?.quality_check_pass_fabrics}种面料,${order?.quality_check_pass_colors}种颜色,共${total_number}${order?.unit}`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}, [order])
|
|
||||||
|
|
||||||
//获取面料数组
|
|
||||||
const list = useMemo(() => {
|
|
||||||
return order?.quality_check_pass_product?.length > 0?order?.quality_check_pass_product:order?.product_list
|
|
||||||
}, [order])
|
|
||||||
|
|
||||||
//售后单状态枚举
|
|
||||||
const {
|
|
||||||
ReturnStageApplying, // 申请中
|
|
||||||
ReturnStageWaitCheck, // 退货中
|
|
||||||
ReturnStageChecked, // 待验布
|
|
||||||
ReturnStageReturned, // 已退款
|
|
||||||
ReturnStageCancel, // 已取消
|
|
||||||
ReturnStageQualityCheckPendingRefund, // 已验布
|
|
||||||
ReturnStageServiceOrderPendingRefund, // 待退款
|
|
||||||
ReturnStageRejected, // 已拒绝
|
|
||||||
} = AFTER_ORDER_STATUS
|
|
||||||
|
|
||||||
//退款状态枚举
|
|
||||||
const {
|
|
||||||
ShouldCollectOrderRefundTypeUnknown,
|
|
||||||
ShouldCollectOrderRefundTypeAdvanceReceiptRefund,
|
|
||||||
ShouldCollectOrderRefundTypeReturnForRefund,
|
|
||||||
ShouldCollectOrderRefundTypeSalesRefund,
|
|
||||||
} = REFUND_STATUS
|
|
||||||
|
|
||||||
//金额列表枚举
|
|
||||||
const priceList = [
|
|
||||||
{
|
|
||||||
id:5,
|
|
||||||
big_value:[
|
|
||||||
ReturnStageQualityCheckPendingRefund.value,
|
|
||||||
ReturnStageServiceOrderPendingRefund.value,
|
|
||||||
ReturnStageReturned.value,
|
|
||||||
],
|
|
||||||
cut_value: [
|
|
||||||
ReturnStageRejected.value,
|
|
||||||
ReturnStageApplying.value,
|
|
||||||
ReturnStageWaitCheck.value,
|
|
||||||
ReturnStageChecked.value,
|
|
||||||
ReturnStageQualityCheckPendingRefund.value,
|
|
||||||
ReturnStageServiceOrderPendingRefund.value,
|
|
||||||
ReturnStageReturned.value,
|
|
||||||
ReturnStageCancel.value
|
|
||||||
],
|
|
||||||
model_value: [
|
|
||||||
ReturnStageApplying.value,
|
|
||||||
ReturnStageWaitCheck.value,
|
|
||||||
ReturnStageChecked.value,
|
|
||||||
ReturnStageQualityCheckPendingRefund.value,
|
|
||||||
ReturnStageServiceOrderPendingRefund.value,
|
|
||||||
ReturnStageReturned.value,
|
|
||||||
ReturnStageCancel.value
|
|
||||||
],
|
|
||||||
label:'合计金额',
|
|
||||||
field: 'total_refund_amount',
|
|
||||||
message: '按原单价*退货重量的金额',
|
|
||||||
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id:1,
|
|
||||||
big_value:[ReturnStageReturned.value],
|
|
||||||
cut_value: [ReturnStageServiceOrderPendingRefund.value, ReturnStageReturned.value],
|
|
||||||
model_value: [],
|
|
||||||
label:'扣款金额',
|
|
||||||
field: 'other_deduction_amount',
|
|
||||||
message: '本次售后扣款金额'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id:3,
|
|
||||||
big_value:[ReturnStageReturned.value],
|
|
||||||
cut_value: [ReturnStageReturned.value],
|
|
||||||
model_value: [ReturnStageReturned.value],
|
|
||||||
label:'退款金额',
|
|
||||||
field: 'refund_amount',
|
|
||||||
message: '本次售后应退款金额'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id:4,
|
|
||||||
big_value:[ReturnStageReturned.value],
|
|
||||||
cut_value: [ReturnStageReturned.value],
|
|
||||||
model_value: [ReturnStageReturned.value],
|
|
||||||
label:'退款去向',
|
|
||||||
field: 'refund_flow_name',
|
|
||||||
message: '本次售后应退款金额'
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
//是否显示价格
|
|
||||||
const showPrice = useCallback((priceInfo) => {
|
|
||||||
let key = ['big_value', 'model_value', 'cut_value']
|
|
||||||
if(priceInfo.id == 5) {
|
|
||||||
return priceInfo[key[order?.sale_mode]].includes(order?.stage)||(order.refund_type == ShouldCollectOrderRefundTypeSalesRefund.value)
|
|
||||||
} else {
|
|
||||||
return priceInfo[key[order?.sale_mode]].includes(order?.stage)
|
|
||||||
}
|
|
||||||
}, [order])
|
|
||||||
|
|
||||||
const priceConDom = useMemo(() => {
|
|
||||||
if(!order) return
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
{
|
|
||||||
priceList.map(item => {
|
|
||||||
return <>{showPrice(item)&&<EstimatedAmount messageTitle={item.message} key={item.id} number={order[item.field]} numberFormat={item.id == 4?'text': 'number'} title={item.label} />}</>
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}, [order])
|
|
||||||
|
|
||||||
//整理颜色
|
|
||||||
const labAndRgbAndUrl = useCallback((item) => {
|
|
||||||
return {lab:{...item?.lab}, rgb:{...item?.rgb}, texturl_url: item?.texturl_url}
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
//单价显示判断
|
|
||||||
const sale_price_show = useMemo(() => {
|
|
||||||
return order?.stage != ReturnStageServiceOrderPendingRefund.value && order?.stage != ReturnStageQualityCheckPendingRefund.value
|
|
||||||
}, [order])
|
|
||||||
|
|
||||||
return (
|
|
||||||
<View className={styles.kindsList_main}>
|
|
||||||
<View className={styles.orders_list_con}>
|
|
||||||
<View className={styles.orders_return_title}>{order?.type == 1?'退货信息':'退款信息'}</View>
|
|
||||||
{
|
|
||||||
list?.map(item => {
|
|
||||||
return <View key={item.product_code} className={styles.order_list}>
|
|
||||||
<View className={styles.order_list_title}>
|
|
||||||
<View className={styles.tag}>{order.sale_mode_name}</View>
|
|
||||||
<View className={styles.title}>{formatHashTag(item.code, item.name)}</View>
|
|
||||||
<View className={styles.num}>共{item?.product_colors?.length}种</View>
|
|
||||||
</View>
|
|
||||||
<View className={styles.order_list_scroll}>
|
|
||||||
{item?.product_colors?.map(colorItem => {
|
|
||||||
return <View key={colorItem.id} className={styles.order_list_item}>
|
|
||||||
<View className={styles.order_list_item_img}>
|
|
||||||
<LabAndImg value={labAndRgbAndUrl(colorItem)}/>
|
|
||||||
</View>
|
|
||||||
<View className={styles.order_list_item_con}>
|
|
||||||
<View className={styles.order_list_item_des}>
|
|
||||||
<View className={styles.order_list_item_title}>{colorItem.code + ' ' + colorItem.name}</View>
|
|
||||||
<View className={styles.order_list_item_price}>
|
|
||||||
{sale_price_show&&<Text>¥{standardPrice(colorItem.sale_price)}</Text>}
|
|
||||||
{(order?.stage == ReturnStageReturned.value)&&<Text>总重{formatWeightDiv(colorItem.estimate_weight)}kg</Text>}
|
|
||||||
</View>
|
|
||||||
</View>
|
|
||||||
<View className={styles.order_list_item_count}>
|
|
||||||
<View className={styles.count_num}>×{formatCount(colorItem)}<text>{order.unit}</text></View>
|
|
||||||
<View className={styles.count_price}><text>¥</text>{formatPriceDiv(colorItem.estimate_amount).toLocaleString()}</View>
|
|
||||||
</View>
|
|
||||||
</View>
|
|
||||||
</View>
|
|
||||||
})}
|
|
||||||
</View>
|
|
||||||
</View>
|
|
||||||
})
|
|
||||||
}
|
|
||||||
<View className={styles.order_total}><Text>合计</Text><Text>{numText}</Text></View>
|
|
||||||
<View className={styles.order_estimated_amount}>
|
|
||||||
{priceConDom}
|
|
||||||
</View>
|
|
||||||
</View>
|
|
||||||
</View>
|
|
||||||
)
|
|
||||||
})
|
|
@ -127,3 +127,24 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.inspection{
|
||||||
|
background: linear-gradient(38deg,#007aff, #4fa6ff 100%, #68b4ff 100%);
|
||||||
|
border-radius: 20px;
|
||||||
|
color: #fff;
|
||||||
|
height: 176px;
|
||||||
|
padding: 30px ;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-size: 28px;
|
||||||
|
.inspection_title{
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.inspection_con{
|
||||||
|
margin-top: 20px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.miconfont{
|
||||||
|
font-size: 50px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -4,6 +4,7 @@ import EstimatedAmount from "@/components/estimatedAmount"
|
|||||||
import LabAndImg from "@/components/LabAndImg"
|
import LabAndImg from "@/components/LabAndImg"
|
||||||
import { Text, View } from "@tarojs/components"
|
import { Text, View } from "@tarojs/components"
|
||||||
import { memo, useCallback, useMemo } from "react"
|
import { memo, useCallback, useMemo } from "react"
|
||||||
|
import classnames from "classnames";
|
||||||
import styles from './index.module.scss'
|
import styles from './index.module.scss'
|
||||||
|
|
||||||
type OrderParam = {
|
type OrderParam = {
|
||||||
@ -146,7 +147,7 @@ export default memo(({order, comfirm = false}:Param) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<View className={styles.kindsList_main}>
|
<View className={styles.kindsList_main}>
|
||||||
<View className={styles.orders_list_con}>
|
{list?.length > 0 && <View className={styles.orders_list_con}>
|
||||||
<View className={styles.orders_return_title}>{order?.type == 1?'退货信息':'退款信息'}</View>
|
<View className={styles.orders_return_title}>{order?.type == 1?'退货信息':'退款信息'}</View>
|
||||||
{
|
{
|
||||||
list?.map(item => {
|
list?.map(item => {
|
||||||
@ -186,6 +187,16 @@ export default memo(({order, comfirm = false}:Param) => {
|
|||||||
{priceConDom}
|
{priceConDom}
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
}
|
||||||
|
{
|
||||||
|
(list?.length <=0 && order?.is_quality_check) && <View className={styles.inspection}>
|
||||||
|
<View className={styles.inspection_title}>质检情况</View>
|
||||||
|
<View className={styles.inspection_con}>
|
||||||
|
<Text className={classnames('iconfont icon-zhuyi', styles.miconfont)}></Text>
|
||||||
|
没有质检通过的商品,无法退款
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
}
|
||||||
</View>
|
</View>
|
||||||
)
|
)
|
||||||
})
|
})
|
@ -165,4 +165,20 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.inspection{
|
||||||
|
height: 82px;
|
||||||
|
background-color: #F6F6F6;
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 0 20px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
color: #007AFF;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin: 20px 0;
|
||||||
|
font-size: 28px;
|
||||||
|
.miconfont{
|
||||||
|
font-size: 50px;
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -33,6 +33,7 @@ type Param = {
|
|||||||
is_quality_check: true|false,
|
is_quality_check: true|false,
|
||||||
accessory_url: string[], //物流图片
|
accessory_url: string[], //物流图片
|
||||||
take_goods_remark: string, //物流备注
|
take_goods_remark: string, //物流备注
|
||||||
|
quality_check_pass_product: any[]
|
||||||
|
|
||||||
},
|
},
|
||||||
onClickBtn?: (val:{status:number, orderInfo:Param['value']}) => void
|
onClickBtn?: (val:{status:number, orderInfo:Param['value']}) => void
|
||||||
@ -78,6 +79,11 @@ export default memo(({value, onClickBtn}: Param) => {
|
|||||||
return [ReturnStageQualityCheckPendingRefund.value, ReturnStageServiceOrderPendingRefund.value].includes(value?.stage)?'待退款':value?.stage_name
|
return [ReturnStageQualityCheckPendingRefund.value, ReturnStageServiceOrderPendingRefund.value].includes(value?.stage)?'待退款':value?.stage_name
|
||||||
}, [value])
|
}, [value])
|
||||||
|
|
||||||
|
//获取面料数组
|
||||||
|
const list = useMemo(() => {
|
||||||
|
return value?.is_quality_check?value?.quality_check_pass_product:value?.product_list
|
||||||
|
}, [value])
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View className={styles.order_item}>
|
<View className={styles.order_item}>
|
||||||
@ -96,19 +102,19 @@ export default memo(({value, onClickBtn}: Param) => {
|
|||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.product_con} onClick={() => goLink('/pages/salesAfter/index', {id: value?.id})}>
|
{list?.length > 0 && <View className={styles.product_con} onClick={() => goLink('/pages/salesAfter/index', {id: value?.id})}>
|
||||||
<View className={styles.product_title}>
|
<View className={styles.product_title}>
|
||||||
<View className={styles.product_tag}>{value?.sale_mode_name}</View>
|
<View className={styles.product_tag}>{value?.sale_mode_name}</View>
|
||||||
<View className={styles.product_name}>{formatHashTag(value?.product_list?.[0].code, value?.product_list?.[0].name)}</View>
|
<View className={styles.product_name}>{formatHashTag(list?.[0].code, list?.[0].name)}</View>
|
||||||
<View className={styles.product_status}>{stage_name}</View>
|
<View className={styles.product_status}>{stage_name}</View>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.product_list}>
|
<View className={styles.product_list}>
|
||||||
<View className={styles.image}>
|
<View className={styles.image}>
|
||||||
<LabAndImg value={labAndRgbAndUrl}/>
|
<LabAndImg value={labAndRgbAndUrl}/>
|
||||||
<View className={styles.color_num}>{value?.product_list?.[0].product_colors?.[0].code}</View>
|
<View className={styles.color_num}>{list?.[0].product_colors?.[0].code}</View>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.color_list}>
|
<View className={styles.color_list}>
|
||||||
{value?.product_list?.[0].product_colors?.map((itemColor, index) => {
|
{list?.[0].product_colors?.map((itemColor, index) => {
|
||||||
return (
|
return (
|
||||||
(index <= 1)&&<View className={styles.color_item}>
|
(index <= 1)&&<View className={styles.color_item}>
|
||||||
<View className={styles.color_title}>{formatHashTag(itemColor.code, itemColor.name)}</View>
|
<View className={styles.color_title}>{formatHashTag(itemColor.code, itemColor.name)}</View>
|
||||||
@ -118,7 +124,7 @@ export default memo(({value, onClickBtn}: Param) => {
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
{value?.product_list?.[0].product_colors.length > 2 && <View className={styles.color_item}>
|
{list?.[0].product_colors?.length > 2 && <View className={styles.color_item}>
|
||||||
<View className={styles.color_more}>……</View>
|
<View className={styles.color_more}>……</View>
|
||||||
<View className={styles.color_more}>……</View>
|
<View className={styles.color_more}>……</View>
|
||||||
<View className={styles.color_more}>……</View>
|
<View className={styles.color_more}>……</View>
|
||||||
@ -133,7 +139,11 @@ export default memo(({value, onClickBtn}: Param) => {
|
|||||||
<Text>{value?.type == ReturnApplyOrderTypeReturnForRefund.value?'已申请退货':'已申请退款'}</Text>
|
<Text>{value?.type == ReturnApplyOrderTypeReturnForRefund.value?'已申请退货':'已申请退款'}</Text>
|
||||||
<Text>订单号:{value?.order_no}</Text>
|
<Text>订单号:{value?.order_no}</Text>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>}
|
||||||
|
{(list?.length <= 0 && value?.is_quality_check) && <View className={styles.inspection}>
|
||||||
|
<Text className={classnames('iconfont icon-zhuyi', styles.miconfont)}></Text>
|
||||||
|
没有质检通过的商品,无法退款
|
||||||
|
</View>}
|
||||||
<AfterOrderBtns orderInfo={orderInfo} onClick={orderBtnsClick} fixedBottom={false}/>
|
<AfterOrderBtns orderInfo={orderInfo} onClick={orderBtnsClick} fixedBottom={false}/>
|
||||||
|
|
||||||
</View>
|
</View>
|
||||||
|
@ -210,7 +210,7 @@
|
|||||||
|
|
||||||
.assets-content {
|
.assets-content {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(3, 1fr);
|
grid-template-columns: repeat(2, 1fr);
|
||||||
}
|
}
|
||||||
|
|
||||||
.assets-content>view,
|
.assets-content>view,
|
||||||
|
@ -292,7 +292,7 @@ const Assets = (props: any) => {
|
|||||||
<Navigator hoverClass="none" url="/pages/depositBeforehand/index">
|
<Navigator hoverClass="none" url="/pages/depositBeforehand/index">
|
||||||
<View className={`${styles['assets-content-item-top']}`}>
|
<View className={`${styles['assets-content-item-top']}`}>
|
||||||
<Text className={`${styles['assets-content-item-top-before']}`}>¥</Text>
|
<Text className={`${styles['assets-content-item-top-before']}`}>¥</Text>
|
||||||
<Text className={`${styles['assets-content-item-top-content']}`}>{formatPriceDiv(props.data.data.wallet_money || 0)}</Text>
|
<Text className={`${styles['assets-content-item-top-content']}`}>{formatPriceDiv(props.data.data.wallet_money || 0, 100, true)}</Text>
|
||||||
{/* <Text className={`${styles['assets-content-item-top-after']}`}>{props.wallet_money || 0}</Text> */}
|
{/* <Text className={`${styles['assets-content-item-top-after']}`}>{props.wallet_money || 0}</Text> */}
|
||||||
</View>
|
</View>
|
||||||
<Text className={`${styles['assets-content-item-tips']}`}>预存款</Text>
|
<Text className={`${styles['assets-content-item-tips']}`}>预存款</Text>
|
||||||
@ -307,7 +307,7 @@ const Assets = (props: any) => {
|
|||||||
<Navigator hoverClass="none" onClick={() => props.checkShow()}>
|
<Navigator hoverClass="none" onClick={() => props.checkShow()}>
|
||||||
<View className={`${styles['assets-content-item-top']}`} >
|
<View className={`${styles['assets-content-item-top']}`} >
|
||||||
<Text className={`${styles['assets-content-item-top-before']}`}>¥</Text>
|
<Text className={`${styles['assets-content-item-top-before']}`}>¥</Text>
|
||||||
<Text className={`${styles['assets-content-item-top-content']}`}>{formatPriceDiv(props.data.data.credit_line || 0)}</Text>
|
<Text className={`${styles['assets-content-item-top-content']}`}>{formatPriceDiv(props.data.data.credit_line || 0, 100, true)}</Text>
|
||||||
{/* <Text className={`${styles['assets-content-item-top-after']}`}>.-00</Text> */}
|
{/* <Text className={`${styles['assets-content-item-top-after']}`}>.-00</Text> */}
|
||||||
</View>
|
</View>
|
||||||
<Text className={`${styles['assets-content-item-tips']}`}>授信额度</Text>
|
<Text className={`${styles['assets-content-item-tips']}`}>授信额度</Text>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user