商城测试版v7

This commit is contained in:
czm 2022-07-25 18:29:18 +08:00
parent 7e12050a94
commit 1dfce28a75
12 changed files with 83 additions and 39 deletions

View File

@ -9,7 +9,8 @@ interface ListParams{
onClick?:()=>any, //点击列表
placeholder?:string, // 提示文本
children?: any, // 插槽
type?: string // 类型1.input,2.textarea,3.select
type?: string // 类型1.input,2.textarea,3.select,
primordialType?: 'text'|'number'|'idcard'|'digit'
value?: any,
style?: object, //整行样式
labelStyle?: object, // label样式
@ -31,7 +32,7 @@ const FromList = memo((props:ListParams)=>{
{
type=="input"?
<View className="form-list-input">
<Input value={value} placeholder-class="phcolor" onInput={props?.onInput} placeholder={props.placeholder} />
<Input value={value} placeholder-class="phcolor" type={props.primordialType||'text'} onInput={props?.onInput} placeholder={props.placeholder} />
{value&&
<View><Text onClick={()=>props.onInput&&props.onInput({detail: {value: ""}})} className="iconfont icon-qingkong"/></View>
}

View File

@ -63,13 +63,13 @@ export default memo(({orderInfo, onClick, fixedBottom = true}:Param) => {
return orderInfo?.is_quality_check
}
},
// {
// id: 5,
// label: '上传物流',
// validatarFunc: (orderInfo) => {
// return orderInfo?.stage == ReturnStageWaitCheck.value
// }
// },
{
id: 5,
label: '上传物流',
validatarFunc: (orderInfo) => {
return orderInfo?.stage == ReturnStageWaitCheck.value
}
},
{
id: 6,
label: '取消退款',
@ -133,14 +133,14 @@ export default memo(({orderInfo, onClick, fixedBottom = true}:Param) => {
{(orderBtnsShowList.length > 0)&&<View className={classnames(fixedBottom&&styles.submit_order)}>
<View className={styles.btns_list}>
{(orderBtnsShowList.length > 3)&&<View className={styles.more}>
<Text onClick={() => setShowMore(true)}></Text>
<Text onClick={() => setShowMore(!showMore)}>{!showMore?'更多':'关闭'}</Text>
{showMore&&<View className={styles.more_con}>
<View className={styles.more_list} style={styleTop}>
{orderBtnsShowList.map((item, index) => {
return ((index >= 3) &&<View className={styles.more_item} key={item.id} onClick={() => submitBtns(item.id, index)}>{item.label}</View>)
})}
</View>
<View className={styles.more_bg} catchMove onClick={() => setShowMore(false)}></View>
{/* <View className={styles.more_bg} catchMove onClick={() => setShowMore(false)}></View> */}
</View>}
</View>}

View File

@ -181,9 +181,7 @@ export default memo(({orderInfo, showStatus = 'detail', onClick}:Param) => {
} else if (val == 6) {
receiveOrder()
} else if(val == 5) {
if(!orderInfo?.av_return_roll) return alert.none('该订单没有可退条数')
await openSubscriptionMessage({orderId: orderInfo?.orderId, scenes: ApplyGoods.value})
goLink('/pages/applyAfterSales/index',{id:orderInfo?.orderId})
applyProduct()
} else if (val == 3) {
bigApplyRefurn()
} else if(val == 8) {
@ -191,7 +189,7 @@ export default memo(({orderInfo, showStatus = 'detail', onClick}:Param) => {
} else {
onClick?.(val)
}
}, 600)
}, 800)
//大货申请退款
const bigApplyRefurn = () => {
@ -273,6 +271,13 @@ export default memo(({orderInfo, showStatus = 'detail', onClick}:Param) => {
}
//申请退货
const applyProduct = async () => {
if(!orderInfo?.av_return_roll) return alert.none('该订单没有可退条数')
await openSubscriptionMessage({orderId: orderInfo?.orderId, scenes: ApplyGoods.value})
goLink('/pages/applyAfterSales/index',{id:orderInfo?.orderId})
}
//显示更多按钮
const [showMore, setShowMore] = useState(false)
@ -283,14 +288,14 @@ export default memo(({orderInfo, showStatus = 'detail', onClick}:Param) => {
return (
<View className={styles.btns_list}>
{(orderBtnsShowList.length > 3)&&<View className={styles.more}>
<Text onClick={() => setShowMore(true)}></Text>
<Text onClick={() => setShowMore(!showMore)}>{!showMore?'更多':'关闭'}</Text>
{showMore&&<View className={styles.more_con}>
<View className={styles.more_list} style={styleTop}>
{orderBtnsShowList.map((item, index) => {
return ((index < (orderBtnsShowList.length - 3)) &&<View className={styles.more_item} key={item.id} onClick={() => submitBtns(item.id, index)}>{item.label}</View>)
})}
</View>
<View className={styles.more_bg} catchMove onClick={() => setShowMore(false)}></View>
{/* <View className={styles.more_bg} catchMove onClick={() => setShowMore(false)}></View> */}
</View>}
</View>}

View File

@ -122,7 +122,7 @@ export default ()=>{
return (
<View className="add-address">
<FromList onInput={(ev:any)=>setFormData({...formData,name:ev.detail.value})} value={formData["name"]} label="联系人" placeholder="请输入收货人姓名"/>
<FromList onInput={(ev:any)=>setFormData({...formData,phone:ev.detail.value})} value={formData["phone"]} label="联系方式" placeholder="请输入联系方式"/>
<FromList primordialType="number" onInput={(ev:any)=>setFormData({...formData,phone:ev.detail.value})} value={formData["phone"]} label="联系方式" placeholder="请输入联系方式"/>
<FromList value={formData["site"]} onClick={()=>setShowSiteModal(true)} label="收货地址" type="select" placeholder="请选择/省/市/区"/>
<FromList onInput={(ev:any)=>setFormData({...formData,address_detail:ev.detail.value})} value={formData["address_detail"]} label="详细地址" type="textarea" placeholder="请输入详细地址(街道、门牌号等)"/>
<View className="add-address-default">

View File

@ -20,7 +20,8 @@ type OrderParam = {
total_weight_error_discount: number, //空差优惠
the_previous_status: number, //取消订单时的订单状态
actual_amount: number, //实付金额
wait_pay_amount: number //待付金额
wait_pay_amount: number, //待付金额
refund_amount: number //退款金额
}
type Param = {
@ -90,7 +91,7 @@ export default memo(({order, comfirm = false}:Param) => {
field: 'wait_pay_amount',
message: '扣除空差后的货款金额',
validatarFunc: (order) => {
return order['wait_pay_amount'] > 0 && order['refund_amount'] <= 0
return order['wait_pay_amount'] > 0
}
},
{

View File

@ -95,9 +95,13 @@ export default memo(({show = false, onClose, orderInfo, onSubmitSuccess}:Param)
}
//账期选择
const accountPeriodRef = useRef<any>(null)
const periodSelectData = (val) => {
setSubmitData((e) => ({...e, payment_method:val}))
}
const accountPeriodSelect = () => {
accountPeriodRef.current.onSelectEven()
}
//订阅消息
const {ToPay} = SUBSCRIPTION_MESSAGE_SCENE
@ -201,7 +205,7 @@ export default memo(({show = false, onClose, orderInfo, onSubmitSuccess}:Param)
</View>
<MCheckbox ref={advanceRef} status={submitData.payment_method == PaymentMethodPreDeposit.value} onSelect={() => advanceSelectData(PaymentMethodPreDeposit.value)} onClose={() => advanceSelectData(null)}/>
</View>
{show_account_payment&&<View className={styles.payment_list_item}>
{show_account_payment&&<View className={styles.payment_list_item} onClick={accountPeriodSelect}>
<View className={styles.payment_list_item_left}>
<View className={styles.payment_list_item_left_name}>
<View className={classnames('iconfont icon-xtianzhangqi', styles.miconfont, styles.account_period)}></View>
@ -209,7 +213,7 @@ export default memo(({show = false, onClose, orderInfo, onSubmitSuccess}:Param)
</View>
{account_peyment}
</View>
<MCheckbox status={submitData.payment_method == PaymentMethodAccountPeriod.value} onSelect={() => periodSelectData(PaymentMethodAccountPeriod.value)} onClose={() => periodSelectData(null)}/>
<MCheckbox ref={accountPeriodRef} status={submitData.payment_method == PaymentMethodAccountPeriod.value} onSelect={() => periodSelectData(PaymentMethodAccountPeriod.value)} onClose={() => periodSelectData(null)}/>
</View>}
<View className={styles.payment_list_item} onClick={onShowOfflinePay}>
<View className={styles.payment_list_item_left}>

View File

@ -64,7 +64,7 @@ import styles from './index.module.scss'
}
}
Taro.stopPullDownRefresh()
Taro.hideToast()
// Taro.hideToast()
}
//监听获取到的数据

View File

@ -203,7 +203,7 @@ export default () => {
<OrderStatusList list={statusList} onSelect={changeStatus} defaultId={router?.params.status as number}/>
</View>
<View className={styles.order_list}>
<InfiniteScroll statusMore={statusMore} selfonScrollToLower={getScrolltolower} refresherEnabled={false} refresherTriggered={refresherTriggeredStatus} selfOnRefresherRefresh={getRefresherRefresh}>
<InfiniteScroll statusMore={statusMore} selfonScrollToLower={getScrolltolower} refresherEnabled={true} refresherTriggered={refresherTriggeredStatus} selfOnRefresherRefresh={getRefresherRefresh}>
{orderData?.list?.map(item => {
return <View key={item.id} className={styles.order_item_con}> <Order value={item} onClickBtn={clickOrderBtn}/></View>
})}

View File

@ -3,7 +3,6 @@ import { AFTER_ORDER_STATUS, REFUND_STATUS_ORDER } from "@/common/enum";
import { formatHashTag, formatImgUrl, formatPriceDiv } from "@/common/fotmat";
import AfterOrderBtns from "@/components/afterOrderBtns";
import LabAndImg from "@/components/LabAndImg";
import ApplyRecord from "@/pages/salesAfter/components/applyRecord";
import { useSelector } from "@/reducers/hooks";
import { Image, Text, View } from "@tarojs/components"
import classnames from "classnames";
@ -31,7 +30,10 @@ type Param = {
type: number //2 退货 1 预收退款 3 销售
return_apply_order_id: number //退款申请单
refund_amount: number // 退款金额
is_quality_check: true|false
is_quality_check: true|false,
accessory_url: string[], //物流图片
take_goods_remark: string, //物流备注
},
onClickBtn?: (val:{status:number, orderInfo:Param['value']}) => void
}
@ -76,6 +78,7 @@ export default memo(({value, onClickBtn}: Param) => {
return [ReturnStageQualityCheckPendingRefund.value, ReturnStageServiceOrderPendingRefund.value].includes(value?.stage)?'待退款':value?.stage_name
}, [value])
return (
<View className={styles.order_item}>
<View className={styles.header} onClick={() => goLink('/pages/salesAfter/index', {id: value?.id})}>
@ -132,6 +135,7 @@ export default memo(({value, onClickBtn}: Param) => {
</View>
</View>
<AfterOrderBtns orderInfo={orderInfo} onClick={orderBtnsClick} fixedBottom={false}/>
</View>
)
})

View File

@ -10,8 +10,8 @@ import InfiniteScroll from "@/components/infiniteScroll"
import { dataLoadingStatus, getFilterData } from "@/common/util"
import OrderStatusList from "./components/orderStatusList"
import { GetSaleOrderListApi, RefundOrderSatausApi } from "@/api/salesAfterOrder"
import ReturnLogistics from "./components/returnLogistics"
import ApplyRecord from "../salesAfter/components/applyRecord"
import ReturnLogistics from "../salesAfter/components/returnLogistics"
export default () => {
useLogin()
@ -61,7 +61,7 @@ export default () => {
if(orderData.list.length < orderData.total) {
pageNum.current.page++
const size = pageNum.current.size * pageNum.current.page
setSearchField({...searchField, size })
setSearchField((e) => ({...e, size }))
}
}, [orderData])
@ -101,18 +101,28 @@ export default () => {
getOrderList()
} else if (status == 8) {
setApplyRecord(true)
} else if (status == 5) {
onShowLogistics(() => true)
}
setCallBackPayOrderInfo(orderInfo)
}, [orderData])
//物流显示
const [logisticsShow, setLogisticsShow] = useState(false)
const onCloseLogistics = useCallback(() => setLogisticsShow(false), [])
//显示记录
const [applyRecord, setApplyRecord] = useState(false)
//物流显示
const [logisticsShow, setLogisticsShow] = useState(false)
const onShowLogistics = useCallback((val) => {
setLogisticsShow(true)
}, [])
const onCloseLogistics = useCallback(() => {
setLogisticsShow(false)
}, [])
//物流成功上传
const logisticsSuccess = useCallback(() => {
setLogisticsShow(false)
getOrderList()
}, [orderData])
return (
<View className={styles.order_list_main}>
@ -126,9 +136,9 @@ export default () => {
return <View key={item.id} className={styles.order_item_con}> <Order value={item} onClickBtn={clickOrderBtn}/></View>
})}
</InfiniteScroll>
<ReturnLogistics show={logisticsShow} onClose={onCloseLogistics}/>
</View>
<ApplyRecord show={applyRecord} id={callBackOrderInfo?.id} onClose={() => setApplyRecord(false)}/>
<ReturnLogistics images={callBackOrderInfo?.accessory_url} descValue={callBackOrderInfo?.take_goods_remark} show={logisticsShow} id={callBackOrderInfo?.return_apply_order_id} onClose={onCloseLogistics} onSubmit={logisticsSuccess}/>
</View>
)
}

View File

@ -138,6 +138,20 @@
border-bottom: 2px solid #dddddd;
padding: 0 5px 15px;
box-sizing: border-box;
.card_main_title_order{
flex:1
}
.order_more{
display: flex;
justify-content: flex-end;
align-items: center;
font-size: 26px;
color: #707070;
text{
width: auto;
}
}
}
.card-main-title text {

View File

@ -225,8 +225,8 @@ const Header = memo((props: any) => {
</View>
<View className={styles['card-main']}>
<View className={styles['card-main-title']}>
<View></View>
<Text onClick={() => goLink('/pages/orderList/index')}></Text>
<View className={styles.card_main_title_order}></View>
<View className={styles.order_more} onClick={() => goLink('/pages/orderList/index')}><Text className="iconfont icon-a-moreback"></Text></View>
</View>
<View className={styles['card-main-title-content']}>
{
@ -314,9 +314,14 @@ const Assets = (props: any) => {
// 功能
const Main = memo(() => {
let menu = [{ text: "地址管理", icon: "icon-daohang", url: "/pages/addressManager/index" }, { text: "码单管理", icon: "icon-a-yuanmadanmadanguanli", url: "/pages/weightList/index" },
{ text: "我的收藏", icon: "icon-shoucang", url: "/pages/collection/index" }, { text: "颜色对比", icon: "icon-yanseduibi", url: "/pages/sampleComparison/index" },
{ text: "分享推广", icon: "icon-fenxiang" }, { text: "团队邀请", icon: "icon-yaoqingtuandui" }]
let menu = [
{ text: "地址管理", icon: "icon-daohang", url: "/pages/addressManager/index" },
{ text: "码单管理", icon: "icon-a-yuanmadanmadanguanli", url: "/pages/weightList/index" },
{ text: "我的收藏", icon: "icon-shoucang", url: "/pages/collection/index" },
{ text: "颜色对比", icon: "icon-yanseduibi", url: "/pages/sampleComparison/index" },
// { text: "分享推广", icon: "icon-fenxiang" },
// { text: "团队邀请", icon: "icon-yaoqingtuandui" }
]
return (
<View className={`${styles.crad} ${styles['card-main']} ${styles['card-feature']}`}>
<View className={styles['card-main-list-content']}>